diff --git a/resources/js/next/config/i18n.js b/resources/js/next/config/i18n.js index 99028b0391..55c7eadd36 100644 --- a/resources/js/next/config/i18n.js +++ b/resources/js/next/config/i18n.js @@ -3,8 +3,11 @@ import Backend from "i18next-chained-backend"; import LocalStorageBackend from "i18next-localstorage-backend"; import XHR from "i18next-xhr-backend"; import VueI18Next from "@panter/vue-i18next"; +import { setGlobalPMVariables, setUses, getGlobalVariable } from "../globalVariables"; + +export default () => { + const Vue = getGlobalVariable("Vue"); -export default (globalInput) => { const isProd = document.head.querySelector("meta[name=\"is-prod\"]")?.content === "true"; let translationsLoaded = false; @@ -48,15 +51,12 @@ export default (globalInput) => { i18nPromise.then(() => { translationsLoaded = true; }); - return { - pm: { - i18n: i18next, - i18nPromise, - missingTranslations, - missingTranslation, - }, - use: { - VueI18Next, - }, - }; + setUses(Vue, { VueI18Next }); + Vue.mixin({ i18n: new VueI18Next(i18next) }); + setGlobalPMVariables({ + i18n: i18next, + i18nPromise, + missingTranslations, + missingTranslation, + }); }; diff --git a/resources/js/next/config/notifications.js b/resources/js/next/config/notifications.js index 77e7921727..50627949db 100644 --- a/resources/js/next/config/notifications.js +++ b/resources/js/next/config/notifications.js @@ -1,5 +1,7 @@ -export default (globalInput) => { - const { apiClient } = globalInput; +import { setGlobalPMVariables, getGlobalPMVariable } from "../globalVariables"; + +export default () => { + const apiClient = getGlobalPMVariable("apiClient"); const notifications = []; @@ -28,13 +30,11 @@ export default (globalInput) => { icons: {}, }; - return { - pm: { - notifications, - pushNotification, - removeNotifications, - unreadNotifications, - $notifications, - }, - }; + setGlobalPMVariables({ + notifications, + pushNotification, + removeNotifications, + unreadNotifications, + $notifications, + }); }; diff --git a/resources/js/next/config/openAI.js b/resources/js/next/config/openAI.js index 1b7d5ae8bd..617e58a88f 100644 --- a/resources/js/next/config/openAI.js +++ b/resources/js/next/config/openAI.js @@ -1,15 +1,13 @@ -// import { setGlobalPMVariable } from "../globalVariables"; +import { setGlobalPMVariables } from "../globalVariables"; export default () => { const openAi = document.head.querySelector("meta[name=\"open-ai-nlq-to-pmql\"]"); - return { - pm: { - openAi: openAi ? { - enabled: openAi.content, - } : { - enabled: false, - }, + setGlobalPMVariables({ + openAi: openAi ? { + enabled: openAi.content, + } : { + enabled: false, }, - }; + }); }; diff --git a/resources/js/next/config/processmaker.js b/resources/js/next/config/processmaker.js index 4cf5e34a8e..348227533a 100644 --- a/resources/js/next/config/processmaker.js +++ b/resources/js/next/config/processmaker.js @@ -1,8 +1,9 @@ import axios from "axios"; +import { setGlobalPMVariables, getGlobalPMVariable } from "../globalVariables"; -export default (globalInput) => { +export default () => { const token = document.head.querySelector("meta[name=\"csrf-token\"]"); - const { EventBus } = globalInput; + const EventBus = getGlobalPMVariable("EventBus"); // Setup api versions const apiVersionConfig = [ @@ -134,9 +135,7 @@ export default (globalInput) => { } }); - return { - pm: { - apiClient, - }, - }; + setGlobalPMVariables({ + apiClient, + }); }; diff --git a/resources/js/next/config/session.js b/resources/js/next/config/session.js index 460ec2ed69..6390c538e8 100644 --- a/resources/js/next/config/session.js +++ b/resources/js/next/config/session.js @@ -1,13 +1,16 @@ -// import { getGlobalPMVariable, setGlobalPMVariable, getGlobalVariable } from "../globalVariables"; +import { getGlobalPMVariable, setGlobalPMVariables, getGlobalVariable } from "../globalVariables"; -export default ({ global, processmaker }) => { +export default () => { const timeoutScript = document.head.querySelector("meta[name=\"timeout-worker\"]")?.content; - const { Vue, Echo } = global; + const Vue = getGlobalVariable("Vue"); + const Echo = getGlobalVariable("Echo"); - const { - pushNotification, closeSessionModal, alert, user, sessionModal, - } = processmaker; + const pushNotification = getGlobalPMVariable("pushNotification"); + const closeSessionModal = getGlobalPMVariable("closeSessionModal"); + const alert = getGlobalPMVariable("alert"); + const user = getGlobalPMVariable("user"); + const sessionModal = getGlobalPMVariable("sessionModal"); const isSameDevice = (e) => { const localDeviceId = Vue.$cookies.get(e.device_variable); @@ -88,17 +91,11 @@ export default ({ global, processmaker }) => { } }); - return { - pm: { - AccountTimeoutLength, - AccountTimeoutWarnSeconds, - AccountTimeoutEnabled, - AccountTimeoutWorker, - }, - }; + setGlobalPMVariables({ + AccountTimeoutLength, + AccountTimeoutWarnSeconds, + AccountTimeoutEnabled, + AccountTimeoutWorker, + }); } - - return { - pm: {}, - }; }; diff --git a/resources/js/next/config/user.js b/resources/js/next/config/user.js index 758a8063ac..85e26880c2 100644 --- a/resources/js/next/config/user.js +++ b/resources/js/next/config/user.js @@ -1,7 +1,8 @@ +import { getGlobalVariable, setGlobalPMVariables } from "../globalVariables"; import datetime_format from "../../data/datetime_formats.json"; -export default ({ global }) => { - const { moment } = global; +export default () => { + const moment = getGlobalVariable("moment"); const userID = document.head.querySelector("meta[name=\"user-id\"]"); const userFullName = document.head.querySelector("meta[name=\"user-full-name\"]"); const userAvatar = document.head.querySelector("meta[name=\"user-avatar\"]"); @@ -43,10 +44,8 @@ export default ({ global }) => { } } - return { - pm: { - user, - app, - }, - }; + setGlobalPMVariables({ + user, + app, + }); }; diff --git a/resources/js/next/libraries/broadcast.js b/resources/js/next/libraries/broadcast.js index 2ec4f0f185..0cb4ace0c2 100644 --- a/resources/js/next/libraries/broadcast.js +++ b/resources/js/next/libraries/broadcast.js @@ -1,6 +1,7 @@ import Echo from "laravel-echo"; +import { setGlobalVariables } from "../globalVariables"; -export default (globalInput) => { +export default () => { // Verify if the broadcasting is enabled if (Processmaker && Processmaker.broadcasting) { const config = Processmaker.broadcasting; @@ -11,15 +12,9 @@ export default (globalInput) => { Pusher.logToConsole = config.debug; } - return { - global: { - Echo: new Echo(config), - Pusher, - }, - }; + setGlobalVariables({ + Echo: new Echo(config), + Pusher, + }); } - - return { - global: {}, - }; }; diff --git a/resources/js/next/modeler.js b/resources/js/next/modeler.js index 5d65c72c82..d16da21b52 100644 --- a/resources/js/next/modeler.js +++ b/resources/js/next/modeler.js @@ -1,10 +1,12 @@ -const nodeTypes = []; -nodeTypes.get = function (id) { - return this.find((node) => node.id === id); -}; +import { setGlobalPMVariables } from "./globalVariables"; + +export default () => { + const nodeTypes = []; + nodeTypes.get = function (id) { + return this.find((node) => node.id === id); + }; -export default { - pm: { + setGlobalPMVariables({ nodeTypes, - }, + }); }; diff --git a/resources/js/next/monaco.js b/resources/js/next/monaco.js index d8ab8a1377..bf37bc0e09 100644 --- a/resources/js/next/monaco.js +++ b/resources/js/next/monaco.js @@ -1,18 +1,9 @@ import MonacoEditor from "vue-monaco"; -// import { getGlobalVariable, setGlobalVariable } from "./globalVariables"; +import { getGlobalVariable, setGlobalVariable } from "./globalVariables"; -// const Vue = getGlobalVariable("Vue"); - -// Vue.component("MonacoEditor", MonacoEditor); -// setGlobalVariable("VueMonaco", MonacoEditor); -// setGlobalVariable("monaco", MonacoEditor); - -export default { - global: { - monaco: MonacoEditor, - VueMonaco: MonacoEditor, - }, - components: { - MonacoEditor, - }, +export default () => { + const Vue = getGlobalVariable("Vue"); + Vue.component("MonacoEditor", MonacoEditor); + setGlobalVariable("VueMonaco", MonacoEditor); + setGlobalVariable("monaco", MonacoEditor); }; diff --git a/resources/js/next/screenBuilder.js b/resources/js/next/screenBuilder.js index 898702cf90..5ad5b1c470 100644 --- a/resources/js/next/screenBuilder.js +++ b/resources/js/next/screenBuilder.js @@ -15,8 +15,8 @@ const addScriptsToDOM = async function (scripts) { } }; -export default ({ global }) => { - const { Vue } = global; +export default () => { + const Vue = getGlobalVariable("Vue"); const componentsScreenBuilder = ["VueFormRenderer", "Task"]; diff --git a/resources/js/next/setupMain.js b/resources/js/next/setupMain.js new file mode 100644 index 0000000000..d9192ecac8 --- /dev/null +++ b/resources/js/next/setupMain.js @@ -0,0 +1,74 @@ +import Vue from "vue"; +import * as vue from "vue"; +import { BootstrapVue, BootstrapVueIcons } from "bootstrap-vue"; +import moment from "moment-timezone"; +import { + setUses, setGlobalVariables, setGlobalPMVariables, +} from "./globalVariables"; + +import vuex from "./libraries/vuex"; +import bootstrap from "./libraries/bootstrap"; +import jquery from "./libraries/jquery"; +import lodash from "./libraries/lodash"; +import sharedComponents from "./libraries/sharedComponents"; + +import vueRouter from "./libraries/vueRouter"; +import vueCookies from "./libraries/vueCookies"; +import processmaker from "./config/processmaker"; +import broadcast from "./libraries/broadcast"; +import i18n from "./config/i18n"; +import notifications from "./config/notifications"; +import user from "./config/user"; +import session from "./config/session"; +import openAI from "./config/openAI"; + +export const setupMain = () => { + window.Vue = Vue; + window.vue = vue; + window.moment = moment; + + window.Vue.prototype.moment = moment; + window.Vue.use(BootstrapVue); + window.Vue.use(BootstrapVueIcons); + + window.ProcessMaker = { + EventBus: new Vue(), + events: new Vue(), + packages: window.packages, + }; + + // Vuex + setUses(Vue, vuex.use); + + // Bootstrap + setGlobalVariables(bootstrap.global); + + // Jquery + setGlobalVariables(jquery.global); + + // VueRouter + setGlobalVariables(vueRouter.global); + setGlobalPMVariables(vueRouter.pm); + setUses(Vue, vueRouter.use); + + // VueCookies + setUses(Vue, vueCookies.use); + + // INIT CONFIGURATION + processmaker(); + broadcast(); + i18n(); + notifications(); + user(); + session(); + openAI(); + + // Initialize components asyncronously + import("./components/index"); + import("./config/accesibility"); + + import("./layout/sidebar"); + import("./layout/navbar"); +}; + +export default { }; diff --git a/resources/js/tasks/loaderEdit.js b/resources/js/tasks/loaderEdit.js index cea95e61a1..f2d54301c1 100644 --- a/resources/js/tasks/loaderEdit.js +++ b/resources/js/tasks/loaderEdit.js @@ -1,96 +1,8 @@ -import Vue from "vue"; -import * as vue from "vue"; -import { BootstrapVue, BootstrapVueIcons } from "bootstrap-vue"; -import moment from "moment-timezone"; -import { - setUses, setGlobalVariables, setGlobalPMVariables, setGlobalComponents, -} from "../next/globalVariables"; - -import vuex from "../next/libraries/vuex"; -import lodash from "../next/libraries/lodash"; -import bootstrap from "../next/libraries/bootstrap"; -import jquery from "../next/libraries/jquery"; -import vueRouter from "../next/libraries/vueRouter"; -import vueCookies from "../next/libraries/vueCookies"; - -import processmaker from "../next/config/processmaker"; -import broadcast from "../next/libraries/broadcast"; -import i18n from "../next/config/i18n"; -import notifications from "../next/config/notifications"; -import user from "../next/config/user"; -import session from "../next/config/session"; -import openAI from "../next/config/openAI"; - -// Load syncronously shared components in window, for some packages -import sharedComponents from "../next/libraries/sharedComponents"; import vueFormElements from "../next/libraries/vueFormElements"; - import screenBuilder from "../next/screenBuilder"; import monaco from "../next/monaco"; +import { setupMain } from "../next/setupMain"; -window.Vue = Vue; -window.vue = vue; -window.moment = moment; - -window.Vue.prototype.moment = moment; -window.Vue.use(BootstrapVue); -window.Vue.use(BootstrapVueIcons); - -window.ProcessMaker = { - EventBus: new Vue(), - events: new Vue(), - packages: window.packages, -}; - -import("../next/components/index"); -import("../next/config/accesibility"); - -// Initialize screenBuilder -screenBuilder({ global: window }); - -setGlobalVariables(monaco.global); -setGlobalComponents(Vue, monaco.components); - -// Vuex -setUses(Vue, vuex.use); - -// Bootstrap -setGlobalVariables(bootstrap.global); - -// Jquery -setGlobalVariables(jquery.global); - -// VueRouter -setGlobalVariables(vueRouter.global); -setGlobalPMVariables(vueRouter.pm); -setUses(Vue, vueRouter.use); - -// VueCookies -setUses(Vue, vueCookies.use); - -const processmakerConfig = processmaker(window.ProcessMaker); -setGlobalPMVariables(processmakerConfig.pm); - -const broadcastConfig = broadcast(window.ProcessMaker); -setGlobalVariables(broadcastConfig.global); - -const i18nConfig = i18n(window.ProcessMaker); -setUses(Vue, i18nConfig.use); -Vue.mixin({ i18n: new i18nConfig.use.VueI18Next(i18nConfig.pm.i18n) }); -setGlobalPMVariables(i18nConfig.pm); - -const notificationsConfig = notifications(window.ProcessMaker); -setGlobalPMVariables(notificationsConfig.pm); - -const userConfig = user({ global: window }); -setGlobalPMVariables(userConfig.pm); - -const sessionConfig = session({ global: window, processmaker: window.ProcessMaker }); -setGlobalPMVariables(sessionConfig.pm); - -const openAIConfig = openAI(); -setGlobalPMVariables(openAIConfig.pm); - -// Layout modules -import("../next/layout/sidebar"); -import("../next/layout/navbar"); +setupMain(); +screenBuilder(); +monaco(); diff --git a/resources/js/tasks/loaderMain.js b/resources/js/tasks/loaderMain.js index 7c3d0073c0..a323034095 100644 --- a/resources/js/tasks/loaderMain.js +++ b/resources/js/tasks/loaderMain.js @@ -1,87 +1,4 @@ -import Vue from "vue"; -import * as vue from "vue"; -import { BootstrapVue, BootstrapVueIcons } from "bootstrap-vue"; -import moment from "moment-timezone"; -import { - setUses, setGlobalVariables, setGlobalPMVariables, -} from "../next/globalVariables"; - -import vuex from "../next/libraries/vuex"; -import lodash from "../next/libraries/lodash"; -import bootstrap from "../next/libraries/bootstrap"; -import jquery from "../next/libraries/jquery"; -import vueRouter from "../next/libraries/vueRouter"; -import vueCookies from "../next/libraries/vueCookies"; - -import processmaker from "../next/config/processmaker"; -import broadcast from "../next/libraries/broadcast"; -import i18n from "../next/config/i18n"; -import notifications from "../next/config/notifications"; -import user from "../next/config/user"; -import session from "../next/config/session"; -import openAI from "../next/config/openAI"; - -// Load syncronously shared components in window, for some packages -import sharedComponents from "../next/libraries/sharedComponents"; import vueFormElements from "../next/libraries/vueFormElements"; +import { setupMain } from "../next/setupMain"; -window.Vue = Vue; -window.vue = vue; -window.moment = moment; - -window.Vue.prototype.moment = moment; -window.Vue.use(BootstrapVue); -window.Vue.use(BootstrapVueIcons); - -window.ProcessMaker = { - EventBus: new Vue(), - events: new Vue(), - packages: window.packages, -}; - -import("../next/components/index"); -import("../next/config/accesibility"); - -// Vuex -setUses(Vue, vuex.use); - -// Bootstrap -setGlobalVariables(bootstrap.global); - -// Jquery -setGlobalVariables(jquery.global); - -// VueRouter -setGlobalVariables(vueRouter.global); -setGlobalPMVariables(vueRouter.pm); -setUses(Vue, vueRouter.use); - -// VueCookies -setUses(Vue, vueCookies.use); - -const processmakerConfig = processmaker(window.ProcessMaker); -setGlobalPMVariables(processmakerConfig.pm); - -const broadcastConfig = broadcast(window.ProcessMaker); -setGlobalVariables(broadcastConfig.global); - -const i18nConfig = i18n(window.ProcessMaker); -setUses(Vue, i18nConfig.use); -Vue.mixin({ i18n: new i18nConfig.use.VueI18Next(i18nConfig.pm.i18n) }); -setGlobalPMVariables(i18nConfig.pm); - -const notificationsConfig = notifications(window.ProcessMaker); -setGlobalPMVariables(notificationsConfig.pm); - -const userConfig = user({ global: window }); -setGlobalPMVariables(userConfig.pm); - -const sessionConfig = session({ global: window, processmaker: window.ProcessMaker }); -setGlobalPMVariables(sessionConfig.pm); - -const openAIConfig = openAI(); -setGlobalPMVariables(openAIConfig.pm); - -// Layout modules -import("../next/layout/sidebar"); -import("../next/layout/navbar"); +setupMain(); diff --git a/resources/js/tasks/loaderPreview.js b/resources/js/tasks/loaderPreview.js index 113c2c94be..f5f23df34d 100644 --- a/resources/js/tasks/loaderPreview.js +++ b/resources/js/tasks/loaderPreview.js @@ -1,91 +1,6 @@ -import Vue from "vue"; -import * as vue from "vue"; -import { BootstrapVue, BootstrapVueIcons } from "bootstrap-vue"; -import moment from "moment-timezone"; -import { - setUses, setGlobalVariables, setGlobalPMVariables, -} from "../next/globalVariables"; - -import vuex from "../next/libraries/vuex"; -import lodash from "../next/libraries/lodash"; -import bootstrap from "../next/libraries/bootstrap"; -import jquery from "../next/libraries/jquery"; -import vueRouter from "../next/libraries/vueRouter"; -import vueCookies from "../next/libraries/vueCookies"; - -import processmaker from "../next/config/processmaker"; -import broadcast from "../next/libraries/broadcast"; -import i18n from "../next/config/i18n"; -import notifications from "../next/config/notifications"; -import user from "../next/config/user"; -import session from "../next/config/session"; -import openAI from "../next/config/openAI"; - -// Load syncronously shared components in window, for some packages -import sharedComponents from "../next/libraries/sharedComponents"; import vueFormElements from "../next/libraries/vueFormElements"; import screenBuilder from "../next/screenBuilder"; +import { setupMain } from "../next/setupMain"; -window.Vue = Vue; -window.vue = vue; -window.moment = moment; - -window.Vue.prototype.moment = moment; -window.Vue.use(BootstrapVue); -window.Vue.use(BootstrapVueIcons); - -window.ProcessMaker = { - EventBus: new Vue(), - events: new Vue(), - packages: window.packages, -}; - -// Vuex -setUses(Vue, vuex.use); - -// Bootstrap -setGlobalVariables(bootstrap.global); - -// Jquery -setGlobalVariables(jquery.global); - -// VueRouter -setGlobalVariables(vueRouter.global); -setGlobalPMVariables(vueRouter.pm); -setUses(Vue, vueRouter.use); - -// VueCookies -setUses(Vue, vueCookies.use); - -// Initialize screenBuilder -screenBuilder({ global: window }); - -import("../next/components/index"); -import("../next/config/accesibility"); - -const processmakerConfig = processmaker(window.ProcessMaker); -setGlobalPMVariables(processmakerConfig.pm); - -const broadcastConfig = broadcast(window.ProcessMaker); -setGlobalVariables(broadcastConfig.global); - -const i18nConfig = i18n(window.ProcessMaker); -setUses(Vue, i18nConfig.use); -Vue.mixin({ i18n: new i18nConfig.use.VueI18Next(i18nConfig.pm.i18n) }); -setGlobalPMVariables(i18nConfig.pm); - -const notificationsConfig = notifications(window.ProcessMaker); -setGlobalPMVariables(notificationsConfig.pm); - -const userConfig = user({ global: window }); -setGlobalPMVariables(userConfig.pm); - -const sessionConfig = session({ global: window, processmaker: window.ProcessMaker }); -setGlobalPMVariables(sessionConfig.pm); - -const openAIConfig = openAI(); -setGlobalPMVariables(openAIConfig.pm); - -// Layout modules -import("../next/layout/sidebar"); -import("../next/layout/navbar"); +setupMain(); +screenBuilder(); diff --git a/resources/jscomposition/cases/casesDetail/loader.js b/resources/jscomposition/cases/casesDetail/loader.js index e0d895d881..464fb60a49 100644 --- a/resources/jscomposition/cases/casesDetail/loader.js +++ b/resources/jscomposition/cases/casesDetail/loader.js @@ -1,99 +1,9 @@ -import Vue from "vue"; -import * as vue from "vue"; -import { BootstrapVue, BootstrapVueIcons } from "bootstrap-vue"; -import moment from "moment-timezone"; -import ScreenBuilder from "@processmaker/screen-builder"; -import { - setUses, setGlobalVariables, setGlobalPMVariables, -} from "../../../js/next/globalVariables"; - -import vuex from "../../../js/next/libraries/vuex"; -// import lodash from "../../../js/next/libraries/lodash"; -import bootstrap from "../../../js/next/libraries/bootstrap"; -import jquery from "../../../js/next/libraries/jquery"; -import vueRouter from "../../../js/next/libraries/vueRouter"; -import vueCookies from "../../../js/next/libraries/vueCookies"; - -import processmaker from "../../../js/next/config/processmaker"; -import broadcast from "../../../js/next/libraries/broadcast"; -import i18n from "../../../js/next/config/i18n"; -import notifications from "../../../js/next/config/notifications"; -import user from "../../../js/next/config/user"; -import session from "../../../js/next/config/session"; -import openAI from "../../../js/next/config/openAI"; - -// Load syncronously shared components in window, for some packages -import sharedComponents from "../../../js/next/libraries/sharedComponents"; +import { setupMain } from "../../../js/next/setupMain"; import vueFormElements from "../../../js/next/libraries/vueFormElements"; import modelerInspector from "../../../js/next/libraries/modelerInspector"; import modeler from "../../../js/next/modeler"; import screenBuilderNext from "../../../js/next/screenBuilder"; -window.Vue = Vue; -window.vue = vue; -window.moment = moment; -window.ScreenBuilder = ScreenBuilder; - -window.Vue.prototype.moment = moment; -window.Vue.use(BootstrapVue); -window.Vue.use(BootstrapVueIcons); - -window.ProcessMaker = { - EventBus: new Vue(), - events: new Vue(), - packages: window.packages, -}; - -// Vuex -setUses(Vue, vuex.use); - -// Bootstrap -setGlobalVariables(bootstrap.global); - -// Jquery -setGlobalVariables(jquery.global); - -// VueRouter -setGlobalVariables(vueRouter.global); -setGlobalPMVariables(vueRouter.pm); -setUses(Vue, vueRouter.use); - -// VueCookies -setUses(Vue, vueCookies.use); - -// Initialize components asyncronously with Vue.component -import("../../../js/next/components/index"); -import("../../../js/next/config/accesibility"); - -// Initialize screenBuilder -screenBuilderNext({ global: window }); - -const modelerConfig = modeler; -setGlobalPMVariables(modelerConfig.pm); - -const processmakerConfig = processmaker(window.ProcessMaker); -setGlobalPMVariables(processmakerConfig.pm); - -const broadcastConfig = broadcast(window.ProcessMaker); -setGlobalVariables(broadcastConfig.global); - -const i18nConfig = i18n(window.ProcessMaker); -setUses(Vue, i18nConfig.use); -Vue.mixin({ i18n: new i18nConfig.use.VueI18Next(i18nConfig.pm.i18n) }); -setGlobalPMVariables(i18nConfig.pm); - -const notificationsConfig = notifications(window.ProcessMaker); -setGlobalPMVariables(notificationsConfig.pm); - -const userConfig = user({ global: window }); -setGlobalPMVariables(userConfig.pm); - -const sessionConfig = session({ global: window, processmaker: window.ProcessMaker }); -setGlobalPMVariables(sessionConfig.pm); - -const openAIConfig = openAI(); -setGlobalPMVariables(openAIConfig.pm); - -// Layout modules asyncronously -import("../../../js/next/layout/sidebar"); -import("../../../js/next/layout/navbar"); +setupMain(); +screenBuilderNext(); +modeler(); diff --git a/resources/jscomposition/cases/casesMain/loader.js b/resources/jscomposition/cases/casesMain/loader.js index 4d6aedd08a..8f233e5e43 100644 --- a/resources/jscomposition/cases/casesMain/loader.js +++ b/resources/jscomposition/cases/casesMain/loader.js @@ -1,86 +1,3 @@ -import Vue from "vue"; -import * as vue from "vue"; -import { BootstrapVue, BootstrapVueIcons } from "bootstrap-vue"; -import moment from "moment-timezone"; -import { - setUses, setGlobalVariables, setGlobalPMVariables, -} from "../../../js/next/globalVariables"; +import { setupMain } from "../../../js/next/setupMain"; -import vuex from "../../../js/next/libraries/vuex"; -import lodash from "../../../js/next/libraries/lodash"; -import bootstrap from "../../../js/next/libraries/bootstrap"; -import jquery from "../../../js/next/libraries/jquery"; -import vueRouter from "../../../js/next/libraries/vueRouter"; -import vueCookies from "../../../js/next/libraries/vueCookies"; - -import processmaker from "../../../js/next/config/processmaker"; -import broadcast from "../../../js/next/libraries/broadcast"; -import i18n from "../../../js/next/config/i18n"; -import notifications from "../../../js/next/config/notifications"; -import user from "../../../js/next/config/user"; -import session from "../../../js/next/config/session"; -import openAI from "../../../js/next/config/openAI"; - -// Load syncronously shared components in window, for some packages -import sharedComponents from "../../../js/next/libraries/sharedComponents"; - -window.Vue = Vue; -window.vue = vue; -window.moment = moment; - -window.Vue.prototype.moment = moment; -window.Vue.use(BootstrapVue); -window.Vue.use(BootstrapVueIcons); - -window.ProcessMaker = { - EventBus: new Vue(), - events: new Vue(), - packages: window.packages, -}; - -// Vuex -setUses(Vue, vuex.use); - -// Bootstrap -setGlobalVariables(bootstrap.global); - -// Jquery -setGlobalVariables(jquery.global); - -// VueRouter -setGlobalVariables(vueRouter.global); -setGlobalPMVariables(vueRouter.pm); -setUses(Vue, vueRouter.use); - -// VueCookies -setUses(Vue, vueCookies.use); - -import("../../../js/next/components/index"); -import("../../../js/next/config/accesibility"); - -const processmakerConfig = processmaker(window.ProcessMaker); -setGlobalPMVariables(processmakerConfig.pm); - -const broadcastConfig = broadcast(window.ProcessMaker); -setGlobalVariables(broadcastConfig.global); - -const i18nConfig = i18n(window.ProcessMaker); -setUses(Vue, i18nConfig.use); -Vue.mixin({ i18n: new i18nConfig.use.VueI18Next(i18nConfig.pm.i18n) }); -setGlobalPMVariables(i18nConfig.pm); - -const notificationsConfig = notifications(window.ProcessMaker); -setGlobalPMVariables(notificationsConfig.pm); - -const userConfig = user({ global: window }); -setGlobalPMVariables(userConfig.pm); - -const sessionConfig = session({ global: window, processmaker: window.ProcessMaker }); -setGlobalPMVariables(sessionConfig.pm); - -const openAIConfig = openAI(); -setGlobalPMVariables(openAIConfig.pm); - -// Layout modules -import("../../../js/next/layout/sidebar"); -import("../../../js/next/layout/navbar"); +setupMain();