From e4690638f927755a3c37ffd63045f78327c2709d Mon Sep 17 00:00:00 2001 From: Allan Karlson Date: Wed, 30 Oct 2019 01:27:07 +0100 Subject: [PATCH] idea: load componets dynamic, working idea by https://stackoverflow.com/a/58611906/5885054 --- .../system/js/fields/pagebuilder/pagebuilder.js | 11 +++++++++-- .../js/fields/pagebuilder/plugin.components.json | 11 +++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 build/media_source/system/js/fields/pagebuilder/plugin.components.json diff --git a/build/media_source/system/js/fields/pagebuilder/pagebuilder.js b/build/media_source/system/js/fields/pagebuilder/pagebuilder.js index c918efd4a1..9ce059c0a0 100644 --- a/build/media_source/system/js/fields/pagebuilder/pagebuilder.js +++ b/build/media_source/system/js/fields/pagebuilder/pagebuilder.js @@ -4,7 +4,7 @@ import VueJsModal from 'vue-js-modal'; import App from './components/app.vue'; import Translate from './plugins/translate'; import editelement from './components/settings/editelement.vue'; -import Devices from './components/settings/devices.vue'; +//import Devices from './components/settings/devices.vue'; import AddElementModal from './components/modals/modal-add-element.vue'; import store from './store/store'; import Item from './components/elements/item.vue'; @@ -15,8 +15,15 @@ import VueGridLayout from 'vue-grid-layout'; Vue.use(Translate); Vue.use(VueJsModal); +import componentsJSON from './plugin.components.json'; + +Object.entries(componentsJSON).forEach( item => { + console.log(item[1].basename) + Vue.component( item[1].basename, require(`${item[1].path}`).default ); +}) + // Use the Components -Vue.component('devices', Devices); +//Vue.component('devices', Devices); Vue.component('item', Item); Vue.component('grid', Grid); Vue.component('grid-layout', VueGridLayout.GridLayout); diff --git a/build/media_source/system/js/fields/pagebuilder/plugin.components.json b/build/media_source/system/js/fields/pagebuilder/plugin.components.json new file mode 100644 index 0000000000..50bac570e9 --- /dev/null +++ b/build/media_source/system/js/fields/pagebuilder/plugin.components.json @@ -0,0 +1,11 @@ +{ + "Devices": { + "basename": "Devices", + "path": "./components/settings/devices.vue", + "props": { + + } + } +} + +