Skip to content

Commit 8bad701

Browse files
committed
fix: old value label is shown only when user hover it
1 parent b162945 commit 8bad701

File tree

2 files changed

+20
-18
lines changed

2 files changed

+20
-18
lines changed

custom/ImageCompare.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<!-- Popup Overlay -->
33
<div class="fixed inset-0 z-40 flex items-center justify-center bg-black/50" @click.self="closePopup">
4-
<div class="image-compare-container max-w-4xl max-h-[90vh] overflow-y-auto">
4+
<div class="image-compare-container max-w-4xl max-h-[90vh] overflow-y-auto rounded-lg">
55
<!-- Close Button -->
66
<div class="flex justify-end mb-4">
77
<button type="button"

custom/VisionTable.vue

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
</template>
5555
<!-- CUSTOM FIELD TEMPLATES -->
5656
<template v-for="n in customFieldNames" :key="n" #[`cell:${n}`]="{ item, column }">
57-
<div v-if="isAiResponseReceivedAnalize[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])] && !isInColumnImage(n)">
57+
<div v-if="isAiResponseReceivedAnalize[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])] && !isInColumnImage(n)" @mouseenter="(() => { hovers[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] = true})" @mouseleave="(() => { hovers[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] = false})">
5858
<div v-if="isInColumnEnum(n)" class="flex flex-col items-start justify-end min-h-[90px]">
5959
<Select
6060
class="min-w-[150px]"
@@ -65,9 +65,8 @@
6565
>
6666
</Select>
6767
<Tooltip>
68-
<div class="mt-2 flex items-center justify-start gap-1 hover:text-blue-500">
69-
<p class="text-sm ">original</p>
70-
<IconScaleBalancedOutline />
68+
<div class="mt-2 flex items-center justify-start gap-1 hover:text-blue-500" :class="{ 'opacity-0': !hovers[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] }">
69+
<p class="text-sm ">old value</p>
7170
</div>
7271
<template #tooltip>
7372
{{ oldData[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] }}
@@ -82,9 +81,8 @@
8281
>
8382
</Textarea>
8483
<Tooltip>
85-
<div class="mt-2 flex items-center justify-start gap-1 hover:text-blue-500">
86-
<p class="text-sm ">original</p>
87-
<IconScaleBalancedOutline />
84+
<div class="mt-2 flex items-center justify-start gap-1 hover:text-blue-500" :class="{ 'opacity-0': !hovers[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] }">
85+
<p class="text-sm ">old value</p>
8886
</div>
8987
<template #tooltip>
9088
<p class="max-w-[200px]">{{ oldData[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] }}</p>
@@ -98,9 +96,8 @@
9896
>
9997
</Toggle>
10098
<Tooltip>
101-
<div class="mt-2 flex items-center justify-start gap-1 hover:text-blue-500">
102-
<p class="text-sm ">original</p>
103-
<IconScaleBalancedOutline />
99+
<div class="mt-2 flex items-center justify-start gap-1 hover:text-blue-500" :class="{ 'opacity-0': !hovers[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] }">
100+
<p class="text-sm ">old value</p>
104101
</div>
105102
<template #tooltip>
106103
{{ oldData[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] }}
@@ -115,9 +112,8 @@
115112
:fullWidth="true"
116113
/>
117114
<Tooltip>
118-
<div class="mt-2 flex items-center justify-start gap-1 hover:text-blue-500">
119-
<p class="text-sm ">original</p>
120-
<IconScaleBalancedOutline />
115+
<div class="mt-2 flex items-center justify-start gap-1 hover:text-blue-500" :class="{ 'opacity-0': !hovers[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] }">
116+
<p class="text-sm ">old value</p>
121117
</div>
122118
<template #tooltip>
123119
{{ oldData[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] }}
@@ -126,7 +122,7 @@
126122
</div>
127123
</div>
128124

129-
<div v-if="isAiResponseReceivedImage[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])]">
125+
<div v-if="isAiResponseReceivedImage[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])]" @mouseenter="(() => { hovers[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] = true})" @mouseleave="(() => { hovers[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] = false})">
130126
<div v-if="isInColumnImage(n)">
131127
<div class="mt-2 flex items-center justify-start gap-2">
132128
<div v-if="isValidUrl(selected[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n])" class="flex flex-col items-center">
@@ -138,10 +134,10 @@
138134
<p
139135
v-if="isImageHasPreviewUrl[n]"
140136
class="mt-2 text-sm hover:text-blue-500 hover:underline hover:cursor-pointer flex items-center gap-1"
137+
:class="{ 'opacity-0': !hovers[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] }"
141138
@click="() => {openImageCompare[tableColumnsIndexes.findIndex(el => el[primaryKey] === item[primaryKey])][n] = true}"
142139
>
143140
old image
144-
<IconScaleBalancedOutline />
145141
</p>
146142
</div>
147143
<div v-else class="flex items-center justify-center text-center w-20 h-20">
@@ -206,11 +202,11 @@
206202
</template>
207203

208204
<script lang="ts" setup>
209-
import { ref } from 'vue'
205+
import { ref, watch } from 'vue'
210206
import { Select, Input, Textarea, Table, Checkbox, Skeleton, Toggle, Tooltip } from '@/afcl'
211207
import GenerationCarousel from './ImageGenerationCarousel.vue'
212208
import ImageCompare from './ImageCompare.vue';
213-
import { IconRefreshOutline, IconScaleBalancedOutline } from '@iconify-prerendered/vue-flowbite';
209+
import { IconRefreshOutline } from '@iconify-prerendered/vue-flowbite';
214210
215211
const props = defineProps<{
216212
meta: any,
@@ -240,7 +236,13 @@ const emit = defineEmits(['error', 'regenerateImages']);
240236
241237
242238
const zoomedImage = ref(null);
239+
const hovers = ref<{ [key: string]: boolean }[]>([]);
243240
241+
watch(() => props.tableColumnsIndexes, (newVal) => {
242+
if (newVal) {
243+
hovers.value = newVal.map(() => ({}));
244+
}
245+
}, { immediate: true });
244246
245247
function zoomImage(img) {
246248
zoomedImage.value = img

0 commit comments

Comments
 (0)