From dcd4c327a02c8eb0f24c3e1ad8331b8336ced76e Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Mon, 10 Mar 2025 13:02:14 +0100 Subject: [PATCH] fix: refs #8647 solve warning --- src/composables/useArrayData.js | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/composables/useArrayData.js b/src/composables/useArrayData.js index d1c1b01b8..ebe65d07e 100644 --- a/src/composables/useArrayData.js +++ b/src/composables/useArrayData.js @@ -8,24 +8,36 @@ import { isDialogOpened } from 'src/filters'; const arrayDataStore = useArrayDataStore(); export function useArrayData(key, userOptions) { - key ??= useRoute().meta.moduleName; + let route = null; + let router = null; + const initializeRouting = () => { + if (!route) route = useRoute(); + if (!router) router = useRouter(); + return { route, router }; + }; + // Si no hay key, intentamos obtenerla del route + if (!key) { + const { route: initialRoute, router: initialRouter } = initializeRouting(); + key = initialRoute?.meta?.moduleName; + route = initialRoute; + router = initialRouter; + } if (!key) throw new Error('ArrayData: A key is required to use this composable'); if (!arrayDataStore.get(key)) arrayDataStore.set(key); const store = arrayDataStore.get(key); - const route = useRoute(); - const router = useRouter(); let canceller = null; onMounted(() => { setOptions(); reset(['skip']); - - const query = route.query; + const { route: initialRoute, router: initialRouter } = initializeRouting(); + route = initialRoute; + router = initialRouter; const searchUrl = store.searchUrl; - if (query[searchUrl]) { + if (route.query[searchUrl]) { const params = JSON.parse(query[searchUrl]); const filter = params?.filter && typeof params?.filter == 'object'