#6772 - Reload data section when change Id #192

Merged
jsegarra merged 34 commits from 6772_reload_sections into dev 2024-08-27 15:17:45 +00:00
2 changed files with 22 additions and 19 deletions
Showing only changes of commit 5d2df03223 - Show all commits

View File

@ -94,25 +94,7 @@ watch(
);
watch(
Outdated
Review

Esta part entonces deuria estar igual pero en FormModel per exemple??
Si es així igual valdria la pena ficar-ho en ArrayData y en una prop poder habilitar-ho o deshabilitar-ho?

Esta part entonces deuria estar igual pero en FormModel per exemple?? Si es així igual valdria la pena ficar-ho en ArrayData y en una prop poder habilitar-ho o deshabilitar-ho?

Mmm...el fallo no está en los formularios, ya que en FormModel no se han reportado errores.
Por otra parte, en que casos querrías deshabitar la funcionalidad de que al cambiar la URL cambie la ventana?

Mmm...el fallo no está en los formularios, ya que en FormModel no se han reportado errores. Por otra parte, en que casos querrías deshabitar la funcionalidad de que al cambiar la URL cambie la ventana?

Mover la funcionalidad a ArrayData
la funcion fecth cambiar a fetch({append:false});
Añadir condición para decidir que casos no se quiere. Por defecto si se quiere
Probar en formModel

Mover la funcionalidad a ArrayData la funcion fecth cambiar a fetch({append:false}); Añadir condición para decidir que casos no se quiere. Por defecto si se quiere Probar en formModel
() => route.params.id,
() => {
if (route.path === props.url) return;
//Así fuerzo al reinicio
store.data = null;
if (!arrayData.store?.filter?.where) {
//Cuando el cambio viene por VnSearchbar
if (route.params.id) store.url = store.url.replace(/(\d+)/, route.params.id);
} else {
// Cuando el usuario cambia en la URL
const keyFk = Object.keys(arrayData.store.filter.where).find((key) =>
key.endsWith('Fk')
);
if (keyFk) {
arrayData.store.filter.where[keyFk] = route.params.id;
}
}
fetch();
}
() => arrayData.reloadRoute()
);
async function fetch() {
await arrayData.fetch({ append: false });

View File

@ -34,6 +34,26 @@ export function useArrayData(key, userOptions) {
setOptions();
}
function reloadRoute() {
if (route.path === store.url) return;
//Así fuerzo al reinicio
store.data = null;
if (!store?.filter?.where) {
//Cuando el cambio viene por VnSearchbar
Outdated
Review

Haciendo return store.url = store.url.replace(/(\d+)/, route.params.id); te evitas el else y queda un poco mas legible

Haciendo `return store.url = store.url.replace(/(\d+)/, route.params.id);` te evitas el else y queda un poco mas legible

Resuelto: 3359d5b6ae

Resuelto: 3359d5b6aefe593d73e2226f662cee620fad5c6a
if (route.params.id) store.url = store.url.replace(/(\d+)/, route.params.id);
} else {
// Cuando el usuario cambia en la URL
const keyFk = Object.keys(store.filter.where).find((key) =>
key.endsWith('Fk')
);
if (keyFk) {
store.filter.where[keyFk] = route.params.id;
}
}
fetch({ append: false });
}
function setOptions() {
const allowedOptions = [
'url',
@ -210,5 +230,6 @@ export function useArrayData(key, userOptions) {
totalRows,
updateStateParams,
isLoading,
reloadRoute,
};
}