import Vue from "vue"; import VueRouter from "vue-router"; import VeeValidate from "vee-validate"; import { store, machineStatusActions } from "./store"; import "./_base/gestures"; import "./app.modules"; import VueDragDrop from 'vue-drag-drop'; Vue.use(VueDragDrop); const App = () => import ("./App.vue"); import { routes } from "./app.routes.js"; Vue.use(VueRouter); Vue.use(VeeValidate); // forms validation for vuejs // Vue.use(VueGesture); let router = new VueRouter({ linkActiveClass: "inpath", linkExactActiveClass: "active" }); router.addRoutes(routes); // ATTENZIONE : mettere a true durante lo sviluppo e riportare a false per la pubblicazione let developerMode = true; // manipulate the title page router.beforeEach((to, from, next) => { if (to.meta && to.meta.area) { // Check if area is enabled if (!developerMode && !machineStatusActions.isAreaEnabled(store, to.meta.area)) { next({ path: '/' }) return; } } if (to.meta && to.meta.title) { window.document.title = to.meta.title; } next(); }); // Initialize default language import { LocalizationService } from "src/services/localizationService"; new LocalizationService().init(); let v = new Vue({ router: router, store, el: "app", render: (h) => h(App), }); // Global filters import "./filters/searchFilter"; import "./filters/localizeFilter"; import "./filters/dateFilter"; import "./filters/securityFilter"; import "./filters/cnFilter"; import "./filters/isValidMixin"; // polyfills !! if (!String.prototype.format) { String.prototype.format = function() { var args = arguments; return this.replace(/{(\d+)}/g, function(match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); }; }