| 1234567891011121314151617181920212223242526272829303132 |
- import { boot } from 'quasar/wrappers'
- // import VuePlugin from 'quasar-ui-q-page-builder'
- import widgetList from '../components/Widgets/widget.json'
- import QPageBuilder from 'quasar-ui-q-page-builder/src/components/QPageBuilder.vue'
- import PageBuilderComponents from '../components/Widgets/PageBuilderComponents.js'
- import PageBuilderOptionPanels from '../components/Widgets/PageBuilderOptionPanels.js'
- import ImageUploader from 'src/components/ImageUploader.vue'
- const widgets = []
- function extractWidgets (json) {
- json.children.forEach(element => {
- if (element.type === 'widget') {
- widgets.push(element)
- } else {
- // eslint-disable-next-line no-prototype-builtins
- if (element.hasOwnProperty('children')) {
- extractWidgets(element)
- }
- }
- })
- }
- extractWidgets(widgetList)
- export const widgetExpanded = widgets
- export default boot(function ({ app }) {
- app.config.globalProperties.$q.$QPageBuilderWidgetList = widgetExpanded
- app.config.globalProperties.$q.$pageBuilderWidgetComponents = PageBuilderComponents
- app.config.globalProperties.$q.$pageBuilderWidgetOptionPanels = PageBuilderOptionPanels
- app.config.globalProperties.$q.$pageBuilderWidgetOptionPanelImageUploader = ImageUploader
- // app.component('q-page-builder', VuePlugin.QPageBuilder)
- app.component('q-page-builder', QPageBuilder)
- })
|