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 () { },
+ });
+ }
+ }
+ });
});