forked from verdnatura/salix-front
refs #6772 perf: use ArrayData
This commit is contained in:
parent
ec964db175
commit
5d2df03223
|
@ -94,25 +94,7 @@ watch(
|
||||||
);
|
);
|
||||||
watch(
|
watch(
|
||||||
() => route.params.id,
|
() => route.params.id,
|
||||||
() => {
|
() => arrayData.reloadRoute()
|
||||||
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();
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
async function fetch() {
|
async function fetch() {
|
||||||
await arrayData.fetch({ append: false });
|
await arrayData.fetch({ append: false });
|
||||||
|
|
|
@ -34,6 +34,26 @@ export function useArrayData(key, userOptions) {
|
||||||
setOptions();
|
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
|
||||||
|
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() {
|
function setOptions() {
|
||||||
const allowedOptions = [
|
const allowedOptions = [
|
||||||
'url',
|
'url',
|
||||||
|
@ -210,5 +230,6 @@ export function useArrayData(key, userOptions) {
|
||||||
totalRows,
|
totalRows,
|
||||||
updateStateParams,
|
updateStateParams,
|
||||||
isLoading,
|
isLoading,
|
||||||
|
reloadRoute,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue