diff --git a/src/components/gamuTable.vue b/src/components/gamuTable.vue index be3ab01..4f8968b 100644 --- a/src/components/gamuTable.vue +++ b/src/components/gamuTable.vue @@ -302,6 +302,8 @@ let nameLocalStorage = calculer_nameLocalStorage(); let filtreColValeurs = []; + + onMounted(() => { localforage.setDriver(localforage[props.stockage.toUpperCase()]); chargerJson("maj"); @@ -443,6 +445,7 @@ const tableau = computed(() => { }); return pagination(ttt); }); + function saveTriCol() { } //~~~~~~~~~~~~~~~~~~~~~~~~~ // les watchers @@ -988,5 +991,16 @@ function rechargerJson(id, ajax_Crayons = true) { ajaxCrayons = ajax_Crayons; chargerJson(id); } -defineExpose({ rechargerJson }); + +function delLigne(id) { + if (id < 0) { + id = id * -1; + } + console.log("delLigne : ", id); + let i = trouver_index(table.value, id); + if (i !== -1) { + table.value.splice(i, 1); + } +} +defineExpose({ rechargerJson, delLigne }); diff --git a/src/gamutable.js b/src/gamutable.js index a1fe3f2..90e22c7 100644 --- a/src/gamutable.js +++ b/src/gamutable.js @@ -2,43 +2,45 @@ import 'vite/modulepreload-polyfill'; // Vue -import {createApp} from 'vue'; +import { createApp } from 'vue'; // if importing all is too much you can always do it manually import GamuTable from './components/gamuTable.vue'; import VuePapaParse from 'vue-papa-parse'; const components = { - GamuTable, + GamuTable, }; gamutable(); function gamutable() { - let i = 1; - for (const el of document.getElementsByClassName('vue-gamutable')) { - if (i === 1) { - window.app = createApp({ - components, - mounted() { - app.rechargerJson = this.$refs.montableau.rechargerJson; - }, - }); - app.use(VuePapaParse); - app.provide('$papa', app.config.globalProperties.$papa); - app.mount(el); - } else if (i === 2) { - window.app_deux = createApp({ - components, - mounted() { - app_deux.rechargerJson = this.$refs.montableau_deux.rechargerJson; - }, - }); - app_deux.use(VuePapaParse); - app_deux.provide('$papa', app_deux.config.globalProperties.$papa); - app_deux.mount(el); - } - i++; - } + let i = 1; + for (const el of document.getElementsByClassName('vue-gamutable')) { + if (i === 1) { + window.app = createApp({ + components, + mounted() { + app.rechargerJson = this.$refs.montableau.rechargerJson; + app.delLigne = this.$refs.montableau.delLigne; + }, + }); + app.use(VuePapaParse); + app.provide('$papa', app.config.globalProperties.$papa); + app.mount(el); + } else if (i === 2) { + window.app_deux = createApp({ + components, + mounted() { + app_deux.rechargerJson = this.$refs.montableau_deux.rechargerJson; + app_deux.delLigne = this.$refs.montableau_deux.delLigne; + }, + }); + app_deux.use(VuePapaParse); + app_deux.provide('$papa', app_deux.config.globalProperties.$papa); + app_deux.mount(el); + } + i++; + } } // le chargement de gamutable passe dans une variable globale // permettant de forcer son rechargement à l'ouverture du modalbox @@ -46,62 +48,69 @@ function gamutable() { window.gamutable = gamutable $('#vueGamutable').on('click', '.url_action, .url_action--ss_css', function (e) { - e.preventDefault(); - e.stopPropagation(); - let confirmation = $(this).data('confirm'); - if (confirmation !== undefined) { - if (!confirm(confirmation)) { - return; - } - } - let url = $(this).attr('href'); - let id = $(this).data('id'); + e.preventDefault(); + e.stopPropagation(); + let confirmation = $(this).data('confirm'); + if (confirmation !== undefined) { + if (!confirm(confirmation)) { + return; + } + } + let url = $(this).attr('href'); + let id = $(this).data('id'); - // gamutable(s) à mettre à jour ? 1 | 2 | 12 (par défaut 1) - let Treload = '1'; - if ($(this).parents('.gamutableDeux').length) { - Treload = '2'; - } - if ($(this).data("treload") !== undefined) { - Treload = $(this).data("treload").toString(); - } - let Treload1 = Treload.indexOf('1') !== -1; - let Treload2 = Treload.indexOf('2') !== -1; - - // passer en refresh animé une éventuelle icone - if ($(this).has('i.icon, i.fa')) { - $(this).find('i.icon, i.fa').eq(0).replaceWith(''); - } - let nomBlocAjaxReload = $(this).data('ajaxreload'); - $.ajax({ - url: url, - dataType: 'json', - async: true, - }).done(function (retour) { - if (!$.isEmptyObject(retour) && !$.isEmptyObject(retour.message_erreur)) { - alert(retour.message_erreur); - } else { - if (parseInt(id) > 0) { - if (Treload1) { - app.rechargerJson(id); - } - if (Treload2) { - app_deux.rechargerJson(id); - } - } else { - if (Treload1) { - app.rechargerJson('maj 1'); - } - if (Treload2) { - app_deux.rechargerJson('maj 2'); - } - } - if (nomBlocAjaxReload !== undefined) { - ajaxReload(nomBlocAjaxReload, { - args: {id}, - callback: function () {}, - }); - } - } - }); + // gamutable(s) à mettre à jour ? 1 | 2 | 12 (par défaut 1) + let Treload = '1'; + if ($(this).parents('.gamutableDeux').length) { + Treload = '2'; + } + if ($(this).data("treload") !== undefined) { + Treload = $(this).data("treload").toString(); + } + let Treload1 = Treload.indexOf('1') !== -1; + let Treload2 = Treload.indexOf('2') !== -1; + + // passer en refresh animé une éventuelle icone + if ($(this).has('i.icon, i.fa')) { + $(this).find('i.icon, i.fa').eq(0).replaceWith(''); + } + let nomBlocAjaxReload = $(this).data('ajaxreload'); + $.ajax({ + url: url, + dataType: 'json', + async: true, + }).done(function (retour) { + if (!$.isEmptyObject(retour) && !$.isEmptyObject(retour.message_erreur)) { + alert(retour.message_erreur); + } else { + if (parseInt(id) > 0) { + if (Treload1) { + app.rechargerJson(id); + } + if (Treload2) { + app_deux.rechargerJson(id); + } + } else if (parseInt(id) < 0) { + if (Treload1) { + app.delLigne(id); + } + if (Treload2) { + app_deux.delLigne(id); + } + } else { + if (Treload1) { + app.rechargerJson('maj 1'); + } + if (Treload2) { + app_deux.rechargerJson('maj 2'); + } + } + if (nomBlocAjaxReload !== undefined) { + ajaxReload(nomBlocAjaxReload, { + args: { id }, + callback: function () { }, + }); + } + } + }); });