diff --git a/src/components/gamuTable.vue b/src/components/gamuTable.vue index 44e1931..a4c19a9 100644 --- a/src/components/gamuTable.vue +++ b/src/components/gamuTable.vue @@ -450,7 +450,6 @@ let triProps = ref([]); let selectTr = ref([]); let champ_search = ref("html"); let chargement = ref(true); -let nameLocalStorage = ref(calculer_nameLocalStorage()); let quelleVue = ref(props.vueblocdefaut); let vuebloc = ref(false); let model = ref([]); @@ -459,11 +458,13 @@ let searchInputHead = ref(""); let searchInputVal = ref(""); let loadingVueSelect = ref(true); let ajaxCrayons = ref(false); -let maj = ref(0); +let maj = ref(""); + +let nameLocalStorage = calculer_nameLocalStorage(); onMounted(() => { localforage.setDriver(localforage[props.stockage.toUpperCase()]); - chargerJson(); + chargerJson("maj"); if (props.urlvuebloc) { fetch(props.urlvuebloc) .then((response) => response.text()) @@ -577,9 +578,7 @@ watch(parPageSelect, (e) => { }); watch(table, () => { saveHeader(); - let $table = []; - $table = table.value; - localforage.setItem(nameLocalStorage.value, JSON.stringify($table)); + localforage.setItem(nameLocalStorage, JSON.stringify(table.value)); }); watch(tableau, () => { @@ -617,7 +616,7 @@ watch(filtreColSelected, () => { } if (!ajaxCrayons) { localStorage.setItem( - "filtreselect_" + nameLocalStorage.value, + "filtreselect_" + nameLocalStorage, JSON.stringify(ObfiltreSelect) ); } @@ -633,7 +632,7 @@ function gererConfig(config) { crayons.value = config.crayons; } if (config.maj !== undefined) { - maj.value = config.maj?.lastMAJ; + maj.value = config.maj; } if (config.classes !== undefined) { classes.value = config.classes; @@ -654,7 +653,7 @@ function gererConfig(config) { return filtreCol; } -function gererData(filtreColRecup, data, id = null) { +function gererData(data, id = null) { if (parseInt(id) > 0) { if (data.length > 0) { let i = trouver_index(table.value, id); @@ -663,31 +662,28 @@ function gererData(filtreColRecup, data, id = null) { let i = trouver_index(table.value, id); table.value.splice(i, 1); } - localforage.setItem( - nameLocalStorage.value, - JSON.stringify(table.value) - ); } else if (id === "maj") { - console.log("table.value = ", table.value); - if (data[0] && data[0].search) { - champ_search.value = "search"; + if (data.length) { + if (data[0] && data[0].search) { + champ_search.value = "search"; + } + if (data.length > 0) { + data.forEach((ligne, index) => { + let i = trouver_index(table.value, ligne.html.id); + table.value[i] = data[index]; + }); + } } - if (data.length > 0) { - data.forEach((ligne, index) => { - let i = trouver_index(table.value, ligne.html.id); - table.value[i] = data[index]; - }); - } - localforage.setItem( - nameLocalStorage.value, - JSON.stringify(table.value) - ); } else { table.value = data; if (data[0] && data[0].search) { champ_search.value = "search"; } } + localforage.setItem(nameLocalStorage, JSON.stringify(table.value)); +} + +function filtrerCol(filtreColRecup) { if (filtreColRecup !== undefined) { filtreColType.value = filtreColRecup; filtreCol.value = []; @@ -713,18 +709,17 @@ function chargerJson(id) { let url = props.apiuri; if (parseInt(id) > 0) { url += "&id=" + id; - } else if (id === "maj") { - url += "&maj=" + maj.value; } else { - let config = localStorage.getItem("header_" + nameLocalStorage.value); + let config = localStorage.getItem("header_" + nameLocalStorage); config = recupJson(config); if (config && config.header !== undefined) { - let filtreColRecup = gererConfig(config); localforage - .getItem(nameLocalStorage.value) + .getItem(nameLocalStorage) .then(function (data) { data = recupJson(data); - gererData(filtreColRecup, data, id); + let filtreColRecup = gererConfig(config); + table.value = data; + filtrerCol(filtreColRecup); if (props.nomblocajaxreload) { ajaxReload(props.nomblocajaxreload); } @@ -733,18 +728,27 @@ function chargerJson(id) { console.log(err); }); } + console.log("config = ", config); + if (id === "maj") { + if (maj.value) { + url += "&maj=" + maj.value; + } else if (config && config.maj) { + url += "&maj=" + config.maj; + } + } } fetch(url) .then((response) => response.json()) .then((data) => { let config = data.shift(); let filtreColRecup = gererConfig(config); - gererData(filtreColRecup, data, id); + gererData(data, id); + filtrerCol(filtreColRecup); nextTick(() => { chargement.value = false; let filtreselectLS = localStorage.getItem( - "filtreselect_" + nameLocalStorage.value + "filtreselect_" + nameLocalStorage ); let Tfiltres = []; if (props.filtreselect) { @@ -752,7 +756,7 @@ function chargerJson(id) { decodeURIComponent(props.filtreselect) ); localStorage.setItem( - "filtreselect_" + nameLocalStorage.value, + "filtreselect_" + nameLocalStorage, JSON.stringify(Tfiltres) ); } else if (filtreselectLS) { @@ -808,10 +812,7 @@ function saveHeader() { ordreCol: ordreCol.value, maj: maj.value, }; - localStorage.setItem( - "header_" + nameLocalStorage.value, - JSON.stringify($header) - ); + localStorage.setItem("header_" + nameLocalStorage, JSON.stringify($header)); } function deleteInputSearch(head) { loadingVueSelect.value = false; @@ -964,7 +965,7 @@ function checkboxValider(head, url) { data: { data: Tcheckbox.value[head] }, type: "POST", }).done(function () { - chargerJson(); + chargerJson("maj"); }); } else { const Tcheck = encodeURIComponent( @@ -974,7 +975,7 @@ function checkboxValider(head, url) { url += "&var_zajax=content"; const data = {}; data.onClose = () => { - chargerJson(); + chargerJson("maj"); }; $.modalbox(url, data); }