// https://vitejs.dev/config/#build-polyfillmodulepreload import "vite/modulepreload-polyfill"; // 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, }; 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++; } $("#vueGamutable").on("click", ".url_action", function (e) { console.log("coucou"); 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"); // 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"); console.time("Chargement de VueJs APRES Ajax"); $.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) { app.rechargerJson(id); } else { app.rechargerJson("maj"); } if (nomBlocAjaxReload !== undefined) { console.log("depart reload: " + nomBlocAjaxReload); ajaxReload(nomBlocAjaxReload, { args: { id }, callback: function () {}, }); } } }); });