Skip to content

Commit e64eca0

Browse files
committed
Fix tooltip opens even when no badge is present
1 parent e263a8d commit e64eca0

2 files changed

Lines changed: 33 additions & 27 deletions

File tree

resources/js/entity-list/EntityList.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,13 +148,17 @@ export class EntityList implements EntityListData {
148148
);
149149
}
150150

151+
instanceHasBadge(instance: EntityListInstance, field: EntityListFieldData): boolean {
152+
return (
153+
instance[field.key] === true
154+
|| typeof instance[field.key] === 'number'
155+
|| typeof instance[field.key] === 'string' && instance[field.key].length > 0
156+
);
157+
}
158+
151159
fieldShouldBeVisible(field: EntityListFieldData, showEntityState: boolean): boolean {
152160
if(field.type === 'badge') {
153-
return this.data.some(item =>
154-
item[field.key] === true
155-
|| typeof item[field.key] === 'number'
156-
|| typeof item[field.key] === 'string' && item[field.key].length > 0
157-
);
161+
return this.data.some(item => this.instanceHasBadge(item, field));
158162
}
159163

160164
if(field.type === 'state') {

resources/js/entity-list/components/EntityList.vue

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -756,28 +756,30 @@
756756
</DropdownMenu>
757757
</template>
758758
<template v-else-if="field.type === 'badge'">
759-
<TooltipProvider>
760-
<Tooltip :disabled="!field.tooltip" :delay-duration="0">
761-
<TooltipTrigger as-child>
762-
<div :class="field.tooltip ? 'relative z-2' : ''">
763-
<template v-if="field.tooltip">
764-
<div class="absolute -inset-2"></div>
765-
</template>
766-
<template v-if="item[field.key] === true">
767-
<div class="size-2.5 bg-primary rounded-full"></div>
768-
</template>
769-
<template v-else-if="typeof item[field.key] === 'number' || (typeof item[field.key] === 'string' && item[field.key].length)">
770-
<Badge class="px-1.5 justify-center min-w-5.5">
771-
{{ item[field.key] }}
772-
</Badge>
773-
</template>
774-
</div>
775-
</TooltipTrigger>
776-
<TooltipContent :side-offset="10">
777-
<div v-html="field.tooltip"></div>
778-
</TooltipContent>
779-
</Tooltip>
780-
</TooltipProvider>
759+
<template v-if="entityList.instanceHasBadge(item, field)">
760+
<TooltipProvider>
761+
<Tooltip :disabled="!field.tooltip" :delay-duration="0">
762+
<TooltipTrigger as-child>
763+
<div :class="field.tooltip ? 'relative z-2' : ''">
764+
<template v-if="field.tooltip">
765+
<div class="absolute -inset-2"></div>
766+
</template>
767+
<template v-if="item[field.key] === true">
768+
<div class="size-2.5 bg-primary rounded-full"></div>
769+
</template>
770+
<template v-else>
771+
<Badge class="px-1.5 justify-center min-w-5.5">
772+
{{ item[field.key] }}
773+
</Badge>
774+
</template>
775+
</div>
776+
</TooltipTrigger>
777+
<TooltipContent :side-offset="10">
778+
<div v-html="field.tooltip"></div>
779+
</TooltipContent>
780+
</Tooltip>
781+
</TooltipProvider>
782+
</template>
781783
</template>
782784
<template v-else>
783785
<template v-if="field.html && typeof item[field.key] === 'string'">

0 commit comments

Comments
 (0)