88 lines
2.1 KiB
JavaScript
88 lines
2.1 KiB
JavaScript
// 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('<i class="fa fa-refresh fa-spin"></i>');
|
|
}
|
|
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 () {},
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|