From e1c682e138a1a9303eaa1d69fbc72e2e6c184116 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Tue, 29 Apr 2025 13:13:31 +0000 Subject: [PATCH 1/2] Merge pull request 'WARMFIX: VnSelect cannot scroll' (!1732) from warmifx_select_scroll into test Reviewed-on: https://gitea.verdnatura.es/verdnatura/salix-front/pulls/1732 Reviewed-by: Alex Moreno --- src/components/common/VnSelect.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/common/VnSelect.vue b/src/components/common/VnSelect.vue index 8d598e7ec..3423ec633 100644 --- a/src/components/common/VnSelect.vue +++ b/src/components/common/VnSelect.vue @@ -368,7 +368,7 @@ function getCaption(opt) { hide-bottom-space :input-debounce="useURL ? '300' : '0'" :loading="someIsLoading" - :disable="someIsLoading" + :readonly="someIsLoading" @virtual-scroll="onScroll" @keydown="handleKeyDown" :data-cy="$attrs.dataCy ?? $attrs.label + '_select'" From 07db153302ad424981bc5b957109e04fd35123d8 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Tue, 29 Apr 2025 15:16:56 +0200 Subject: [PATCH 2/2] fix: scroll issue --- src/components/common/VnSelect.vue | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/common/VnSelect.vue b/src/components/common/VnSelect.vue index 3423ec633..b28a09019 100644 --- a/src/components/common/VnSelect.vue +++ b/src/components/common/VnSelect.vue @@ -161,7 +161,7 @@ const arrayData = useArrayData(arrayDataKey, { searchUrl: false, mapKey: $attrs['map-key'], }); - +const isMenuOpened = ref(false); const computedSortBy = computed(() => { return $props.sortBy || $props.optionLabel + ' ASC'; }); @@ -184,7 +184,9 @@ onMounted(() => { if ($props.focusOnMount) setTimeout(() => vnSelectRef.value.showPopup(), 300); }); -const someIsLoading = computed(() => isLoading.value || arrayData.isLoading); +const someIsLoading = computed( + () => (isLoading.value || !!arrayData?.isLoading?.value) && !isMenuOpened.value, +); function findKeyInOptions() { if (!$props.options) return; return filter($props.modelValue, $props.options)?.length; @@ -368,8 +370,9 @@ function getCaption(opt) { hide-bottom-space :input-debounce="useURL ? '300' : '0'" :loading="someIsLoading" - :readonly="someIsLoading" @virtual-scroll="onScroll" + @popup-hide="isMenuOpened = false" + @popup-show="isMenuOpened = true" @keydown="handleKeyDown" :data-cy="$attrs.dataCy ?? $attrs.label + '_select'" :data-url="url"