From 9a631a61f90711e281244ddcb7ae2b8d93c96a55 Mon Sep 17 00:00:00 2001 From: alexm Date: Fri, 3 Jan 2025 10:46:43 +0100 Subject: [PATCH 1/7] fix: refs #8197 redirection --- src/components/common/VnSection.vue | 14 ++++++++++++-- src/components/ui/VnSearchbar.vue | 1 + src/pages/Order/Card/OrderSummary.vue | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/components/common/VnSection.vue b/src/components/common/VnSection.vue index e69e586b5df..f55826a223b 100644 --- a/src/components/common/VnSection.vue +++ b/src/components/common/VnSection.vue @@ -4,6 +4,7 @@ import VnSearchbar from 'components/ui/VnSearchbar.vue'; import VnTableFilter from '../VnTable/VnTableFilter.vue'; import { onBeforeMount, computed } from 'vue'; import { useArrayData } from 'src/composables/useArrayData'; +import { useRoute } from 'vue-router'; const $props = defineProps({ section: { @@ -40,8 +41,17 @@ const $props = defineProps({ }, }); -const sectionValue = computed(() => $props.section ?? $props.dataKey); +const route = useRoute(); let arrayData; +const sectionValue = computed(() => $props.section ?? $props.dataKey); +const isMainSection = computed(() => { + const isSame = sectionValue.value == route.name; + if (!isSame && arrayData) { + arrayData.reset(['userParams', 'userFilter']); + } + return isSame; +}); + onBeforeMount(() => { if ($props.dataKey) arrayData = useArrayData($props.dataKey, { @@ -74,6 +84,6 @@ onBeforeMount(() => { - + diff --git a/src/components/ui/VnSearchbar.vue b/src/components/ui/VnSearchbar.vue index 4e284d8e45b..a2d3b9ee124 100644 --- a/src/components/ui/VnSearchbar.vue +++ b/src/components/ui/VnSearchbar.vue @@ -126,6 +126,7 @@ async function search() { delete filter.params.search; } await arrayData.applyFilter(filter); + searchText.value = undefined; } diff --git a/src/components/common/VnModule.vue b/src/components/common/VnModule.vue index 505b3a8b56e..038ee1d60b2 100644 --- a/src/components/common/VnModule.vue +++ b/src/components/common/VnModule.vue @@ -20,16 +20,15 @@ const hasContent = ref(); let observer; onMounted(() => { - if (teleportRef.value) { - const checkContent = () => { - hasContent.value = teleportRef.value.innerHTML.trim() !== ''; - }; + if (!teleportRef.value) return; + const checkContent = () => { + hasContent.value = teleportRef.value?.innerHTML?.trim() !== ''; + }; - observer = new MutationObserver(checkContent); - observer.observe(teleportRef.value, { childList: true, subtree: true }); + observer = new MutationObserver(checkContent); + observer.observe(teleportRef.value, { childList: true, subtree: true }); - checkContent(); - } + checkContent(); }); diff --git a/test/cypress/integration/ticket/ticketExpedition.spec.js b/test/cypress/integration/ticket/ticketExpedition.spec.js index d4afd401f9a..d74a122a1dc 100644 --- a/test/cypress/integration/ticket/ticketExpedition.spec.js +++ b/test/cypress/integration/ticket/ticketExpedition.spec.js @@ -16,7 +16,9 @@ describe('Ticket expedtion', () => { cy.wait('@show'); cy.selectRows([1, 2]); - cy.selectOption('[data-cy="change-state"]', 'Perdida'); + + cy.dataCy('change-state').click(); + cy.selectOption('[data-cy="vnBtnSelect_select"]', 'Perdida'); cy.wait('@add'); cy.get(`${tableContent} tr:nth-child(-n+2) ${stateTd}`).each(($el) => { diff --git a/test/cypress/integration/vnComponent/VnBreadcrumbs.spec.js b/test/cypress/integration/vnComponent/VnBreadcrumbs.spec.js index e996a65d5fa..9e6553ca6ef 100644 --- a/test/cypress/integration/vnComponent/VnBreadcrumbs.spec.js +++ b/test/cypress/integration/vnComponent/VnBreadcrumbs.spec.js @@ -16,6 +16,7 @@ describe('VnBreadcrumbs', () => { cy.visit('#/customer/list'); cy.get('.q-breadcrumbs__el').should('have.length', 2); + cy.writeSearchbar('{enter}'); cy.get(firstCard).click(); cy.get(`${lastBreadcrumb} > .q-icon`).should('have.text', 'launch'); }); From d23e077af080e60dbbc0937c00028be198a3ebe8 Mon Sep 17 00:00:00 2001 From: alexm Date: Tue, 7 Jan 2025 07:15:40 +0100 Subject: [PATCH 7/7] fix: refs #8197 mapKey --- src/components/common/VnDmsList.vue | 1 - src/composables/useArrayData.js | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/common/VnDmsList.vue b/src/components/common/VnDmsList.vue index 3a143cb524e..ed3cadc6bd7 100644 --- a/src/components/common/VnDmsList.vue +++ b/src/components/common/VnDmsList.vue @@ -297,7 +297,6 @@ defineExpose({ ref="dmsRef" :data-key="$props.model" :url="$props.model" - map-key="dmsFk" :user-filter="dmsFilter" :order="['dmsFk DESC']" :auto-load="true" diff --git a/src/composables/useArrayData.js b/src/composables/useArrayData.js index 720a1ec88f4..fd6e3a9b305 100644 --- a/src/composables/useArrayData.js +++ b/src/composables/useArrayData.js @@ -303,7 +303,7 @@ export function useArrayData(key = useRoute().meta.moduleName, userOptions) { for (const row of data) { const key = row[store.mapKey]; const val = { ...row, key }; - if (store.map.has(key)) { + if (key && store.map.has(key)) { const { position } = store.map.get(key); val.position = position; store.map.set(key, val);