From 77df2d40ecd32ff2ea6dc70b5cd2938b7e32d851 Mon Sep 17 00:00:00 2001 From: alexm <alexm@verdnatura.es> Date: Tue, 25 Mar 2025 12:51:21 +0100 Subject: [PATCH] fix(VnLog): refs #6994 simplify value binding and improve descriptor handling --- src/components/common/VnLog.vue | 12 +++++------- src/components/common/VnLogValue.vue | 24 +++++++++++++++--------- src/stores/useDescriptorStore.js | 2 +- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/components/common/VnLog.vue b/src/components/common/VnLog.vue index 804147539..7402ceb3e 100644 --- a/src/components/common/VnLog.vue +++ b/src/components/common/VnLog.vue @@ -561,9 +561,7 @@ watch( }}: </span> <VnLogValue - :value=" - value.val.val - " + :value="value.val" :name="value.name" /> </QItem> @@ -616,7 +614,7 @@ watch( {{ prop.nameI18n }}: </span> <VnLogValue - :value="prop.val.val" + :value="prop.val" :name="prop.name" /> <span @@ -647,7 +645,7 @@ watch( </span> <span v-if="log.action == 'update'"> <VnLogValue - :value="prop.old.val" + :value="prop.old" :name="prop.name" /> <span @@ -658,7 +656,7 @@ watch( </span> → <VnLogValue - :value="prop.val.val" + :value="prop.val" :name="prop.name" /> <span @@ -670,7 +668,7 @@ watch( </span> <span v-else="prop.old.val"> <VnLogValue - :value="prop.val.val" + :value="prop.val" :name="prop.name" /> <span diff --git a/src/components/common/VnLogValue.vue b/src/components/common/VnLogValue.vue index df0be4011..3f1617ce7 100644 --- a/src/components/common/VnLogValue.vue +++ b/src/components/common/VnLogValue.vue @@ -5,18 +5,24 @@ import { computed } from 'vue'; const descriptorStore = useDescriptorStore(); const $props = defineProps({ - name: { type: [String], default: undefined }, + value: { type: Object, default: () => {} }, + name: { type: String, default: undefined }, }); const descriptor = computed(() => descriptorStore.has($props.name)); </script> <template> - <VnJsonValue v-bind="$attrs" /> - <QIcon - name="launch" - class="link" - v-if="$attrs.value && descriptor" - :data-cy="'iconLaunch-' + $props.name" - /> - <component :is="descriptor" :id="$attrs.value" v-if="$attrs.value && descriptor" /> + <VnJsonValue :value="value.val" /> + <span + v-if="(value.id || typeof value.val == 'number') && descriptor" + style="margin-left: 2px" + > + <QIcon + name="launch" + class="link" + :data-cy="'iconLaunch-' + $props.name" + style="padding-bottom: 2px" + /> + <component :is="descriptor" :id="value.id ?? value.val" /> + </span> </template> diff --git a/src/stores/useDescriptorStore.js b/src/stores/useDescriptorStore.js index a5b83a42e..be342b016 100644 --- a/src/stores/useDescriptorStore.js +++ b/src/stores/useDescriptorStore.js @@ -11,7 +11,7 @@ export const useDescriptorStore = defineStore('descriptorStore', () => { const files = import.meta.glob(`/src/**/*DescriptorProxy.vue`); const moduleParser = { account: 'user', - client: 'customer', + customer: 'client', }; for (const file in files) { const name = file.split('/').at(-1).slice(0, -19).toLowerCase();