import { defineAsyncComponent } from "vue"; const mapModalState = (namespace, map) => { const modalState = {}; // console.log("MAP MODAL STATE", namespace); Object.entries(map).forEach(([mapKey, mapValue]) => { modalState[mapKey] = function func() { // console.log( // 321, // namespace // .replace( // "MODAL_MODULE_PATH", // namespace.indexOf("MODAL_MODULE_PATH") !== -1 // ? this.modalModulePath // : null // ) // .replace("MODAL_UUID", this.modalUuid) // .split("/") // ); // console.log(3211, mapKey); const state = namespace .replace( "MODAL_MODULE_PATH", namespace.indexOf("MODAL_MODULE_PATH") !== -1 ? this.modalModulePath : null ) .replace("MODAL_UUID", this.modalUuid) .split("/") .reduce((a, b) => a[b], this.$store.state); // console.log(32111, state); // if (state) console.log(321111, mapValue(state)); // else console.log(321111, "NADA"); if (state) return mapValue(state); return mapValue({}); }; }); return modalState; }; const mapModalActions = (namespace, map) => { const modalState = {}; map.forEach(mapValue => { modalState[mapValue] = function func(value) { return this.$store.dispatch( `${namespace .replace( "MODAL_MODULE_PATH", namespace.indexOf("MODAL_MODULE_PATH") !== -1 ? this.modalModulePath : null ) .replace("MODAL_UUID", this.modalUuid)}/${mapValue}`, value ); }; }); return modalState; }; const mapModalComponents = (baseDirectory, map) => { const modalComponents = {}; Object.entries(map).forEach(([mapKey, mapValue]) => { modalComponents[mapKey] = () => defineAsyncComponent(() => import(`./${baseDirectory}/${mapValue}`) ); }); return modalComponents; }; export { mapModalState, mapModalActions, mapModalComponents };