@wavemaker-ai/react-codegen 1.0.0-rc.647469
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-react-web.js +149 -0
- package/build-react-web.js.map +1 -0
- package/command.js +101 -0
- package/command.js.map +1 -0
- package/index.js +122 -0
- package/index.js.map +1 -0
- package/package-lock.json +4353 -0
- package/package.json +86 -0
- package/src/app.generator.js +1272 -0
- package/src/app.generator.js.map +1 -0
- package/src/download-packages.js +193 -0
- package/src/download-packages.js.map +1 -0
- package/src/fomatter.js +20 -0
- package/src/fomatter.js.map +1 -0
- package/src/gen-app-override-css.js +379 -0
- package/src/gen-app-override-css.js.map +1 -0
- package/src/genappoverridecssold-file.js +311 -0
- package/src/genappoverridecssold-file.js.map +1 -0
- package/src/handlebar-helpers.js +399 -0
- package/src/handlebar-helpers.js.map +1 -0
- package/src/increment-builder.js +85 -0
- package/src/increment-builder.js.map +1 -0
- package/src/profiles/profile.js +24 -0
- package/src/profiles/profile.js.map +1 -0
- package/src/profiles/web-preview.profile.js +15 -0
- package/src/profiles/web-preview.profile.js.map +1 -0
- package/src/project.service.js +314 -0
- package/src/project.service.js.map +1 -0
- package/src/transpile/bind.ex.transformer.js +226 -0
- package/src/transpile/bind.ex.transformer.js.map +1 -0
- package/src/transpile/components/advanced/carousel-template.transformer.js +16 -0
- package/src/transpile/components/advanced/carousel-template.transformer.js.map +1 -0
- package/src/transpile/components/advanced/carousel.transformer.js +55 -0
- package/src/transpile/components/advanced/carousel.transformer.js.map +1 -0
- package/src/transpile/components/advanced/login.transformer.js +26 -0
- package/src/transpile/components/advanced/login.transformer.js.map +1 -0
- package/src/transpile/components/advanced/marquee.transformer.js +16 -0
- package/src/transpile/components/advanced/marquee.transformer.js.map +1 -0
- package/src/transpile/components/basic/anchor.transformer.js +13 -0
- package/src/transpile/components/basic/anchor.transformer.js.map +1 -0
- package/src/transpile/components/basic/audio.transformer.js +16 -0
- package/src/transpile/components/basic/audio.transformer.js.map +1 -0
- package/src/transpile/components/basic/html.transformer.js +15 -0
- package/src/transpile/components/basic/html.transformer.js.map +1 -0
- package/src/transpile/components/basic/icon.transformer.js +16 -0
- package/src/transpile/components/basic/icon.transformer.js.map +1 -0
- package/src/transpile/components/basic/iframe.transformer.js +16 -0
- package/src/transpile/components/basic/iframe.transformer.js.map +1 -0
- package/src/transpile/components/basic/label.transformer.js +16 -0
- package/src/transpile/components/basic/label.transformer.js.map +1 -0
- package/src/transpile/components/basic/message.transformer.js +16 -0
- package/src/transpile/components/basic/message.transformer.js.map +1 -0
- package/src/transpile/components/basic/picture.transformer.js +22 -0
- package/src/transpile/components/basic/picture.transformer.js.map +1 -0
- package/src/transpile/components/basic/progress-bar.transformer.js +18 -0
- package/src/transpile/components/basic/progress-bar.transformer.js.map +1 -0
- package/src/transpile/components/basic/progress-circle.transformer.js +16 -0
- package/src/transpile/components/basic/progress-circle.transformer.js.map +1 -0
- package/src/transpile/components/basic/richtexteditor.transformer.js +21 -0
- package/src/transpile/components/basic/richtexteditor.transformer.js.map +1 -0
- package/src/transpile/components/basic/search.transformer.js +68 -0
- package/src/transpile/components/basic/search.transformer.js.map +1 -0
- package/src/transpile/components/basic/spinner.transformer.js +16 -0
- package/src/transpile/components/basic/spinner.transformer.js.map +1 -0
- package/src/transpile/components/basic/tree.transformer.js +16 -0
- package/src/transpile/components/basic/tree.transformer.js.map +1 -0
- package/src/transpile/components/basic/video.transformer.js +16 -0
- package/src/transpile/components/basic/video.transformer.js.map +1 -0
- package/src/transpile/components/chart/chart.transformer.js +13 -0
- package/src/transpile/components/chart/chart.transformer.js.map +1 -0
- package/src/transpile/components/container/accordion-pane.transformer.js +34 -0
- package/src/transpile/components/container/accordion-pane.transformer.js.map +1 -0
- package/src/transpile/components/container/accordion.transformer.js +49 -0
- package/src/transpile/components/container/accordion.transformer.js.map +1 -0
- package/src/transpile/components/container/container.transformer.js +27 -0
- package/src/transpile/components/container/container.transformer.js.map +1 -0
- package/src/transpile/components/container/layout-grid/grid-column.transformer.js +16 -0
- package/src/transpile/components/container/layout-grid/grid-column.transformer.js.map +1 -0
- package/src/transpile/components/container/layout-grid/grid-row.transformer.js +16 -0
- package/src/transpile/components/container/layout-grid/grid-row.transformer.js.map +1 -0
- package/src/transpile/components/container/layout-grid/grid.transformer.js +16 -0
- package/src/transpile/components/container/layout-grid/grid.transformer.js.map +1 -0
- package/src/transpile/components/container/linear-layout/linear-layout-item.js +16 -0
- package/src/transpile/components/container/linear-layout/linear-layout-item.js.map +1 -0
- package/src/transpile/components/container/linear-layout/linear-layout.js +16 -0
- package/src/transpile/components/container/linear-layout/linear-layout.js.map +1 -0
- package/src/transpile/components/container/panel-content.transformer.js +16 -0
- package/src/transpile/components/container/panel-content.transformer.js.map +1 -0
- package/src/transpile/components/container/panel-footer.transformer.js +11 -0
- package/src/transpile/components/container/panel-footer.transformer.js.map +1 -0
- package/src/transpile/components/container/panel.transformer.js +26 -0
- package/src/transpile/components/container/panel.transformer.js.map +1 -0
- package/src/transpile/components/container/repeat-template.transformer.js +16 -0
- package/src/transpile/components/container/repeat-template.transformer.js.map +1 -0
- package/src/transpile/components/container/tabheader.transformer.js +13 -0
- package/src/transpile/components/container/tabheader.transformer.js.map +1 -0
- package/src/transpile/components/container/tabpane.transformer.js +38 -0
- package/src/transpile/components/container/tabpane.transformer.js.map +1 -0
- package/src/transpile/components/container/tabs.transformer.js +105 -0
- package/src/transpile/components/container/tabs.transformer.js.map +1 -0
- package/src/transpile/components/container/tile.transformer.js +16 -0
- package/src/transpile/components/container/tile.transformer.js.map +1 -0
- package/src/transpile/components/container/wizard.transformer.js +81 -0
- package/src/transpile/components/container/wizard.transformer.js.map +1 -0
- package/src/transpile/components/container/wizardaction.transformer.js +120 -0
- package/src/transpile/components/container/wizardaction.transformer.js.map +1 -0
- package/src/transpile/components/container/wizardstep.transformer.js +74 -0
- package/src/transpile/components/container/wizardstep.transformer.js.map +1 -0
- package/src/transpile/components/data/card/card-actions.transformer.js +13 -0
- package/src/transpile/components/data/card/card-actions.transformer.js.map +1 -0
- package/src/transpile/components/data/card/card-content.transformer.js +23 -0
- package/src/transpile/components/data/card/card-content.transformer.js.map +1 -0
- package/src/transpile/components/data/card/card-footer.transformer.js +13 -0
- package/src/transpile/components/data/card/card-footer.transformer.js.map +1 -0
- package/src/transpile/components/data/card/card.transformer.js +13 -0
- package/src/transpile/components/data/card/card.transformer.js.map +1 -0
- package/src/transpile/components/data/form/dynamic-fields.transformer.js +24 -0
- package/src/transpile/components/data/form/dynamic-fields.transformer.js.map +1 -0
- package/src/transpile/components/data/form/form-action.transformer.js +145 -0
- package/src/transpile/components/data/form/form-action.transformer.js.map +1 -0
- package/src/transpile/components/data/form/form-body.transformer.js +16 -0
- package/src/transpile/components/data/form/form-body.transformer.js.map +1 -0
- package/src/transpile/components/data/form/form-field.transformer.js +443 -0
- package/src/transpile/components/data/form/form-field.transformer.js.map +1 -0
- package/src/transpile/components/data/form/form-footer.transformer.js +16 -0
- package/src/transpile/components/data/form/form-footer.transformer.js.map +1 -0
- package/src/transpile/components/data/form/form.transformer.js +167 -0
- package/src/transpile/components/data/form/form.transformer.js.map +1 -0
- package/src/transpile/components/data/form/util.js +70 -0
- package/src/transpile/components/data/form/util.js.map +1 -0
- package/src/transpile/components/data/list/list-content.transformer.js +35 -0
- package/src/transpile/components/data/list/list-content.transformer.js.map +1 -0
- package/src/transpile/components/data/list/list-template-transformer.js +13 -0
- package/src/transpile/components/data/list/list-template-transformer.js.map +1 -0
- package/src/transpile/components/data/list/list-transformer.js +308 -0
- package/src/transpile/components/data/list/list-transformer.js.map +1 -0
- package/src/transpile/components/data/live-filter-field.transformer.js +437 -0
- package/src/transpile/components/data/live-filter-field.transformer.js.map +1 -0
- package/src/transpile/components/data/livefilter.transformer.js +141 -0
- package/src/transpile/components/data/livefilter.transformer.js.map +1 -0
- package/src/transpile/components/data/liveform.transformer.js +160 -0
- package/src/transpile/components/data/liveform.transformer.js.map +1 -0
- package/src/transpile/components/data/table/live-table.transformer.js +15 -0
- package/src/transpile/components/data/table/live-table.transformer.js.map +1 -0
- package/src/transpile/components/data/table/table-action.transformer.js +29 -0
- package/src/transpile/components/data/table/table-action.transformer.js.map +1 -0
- package/src/transpile/components/data/table/table-column.transformer.js +121 -0
- package/src/transpile/components/data/table/table-column.transformer.js.map +1 -0
- package/src/transpile/components/data/table/table-group.transformer.js +16 -0
- package/src/transpile/components/data/table/table-group.transformer.js.map +1 -0
- package/src/transpile/components/data/table/table-row-action.transformer.js +34 -0
- package/src/transpile/components/data/table/table-row-action.transformer.js.map +1 -0
- package/src/transpile/components/data/table/table-row.transformer.js +33 -0
- package/src/transpile/components/data/table/table-row.transformer.js.map +1 -0
- package/src/transpile/components/data/table/table.transformer.js +64 -0
- package/src/transpile/components/data/table/table.transformer.js.map +1 -0
- package/src/transpile/components/data/table/utils.js +89 -0
- package/src/transpile/components/data/table/utils.js.map +1 -0
- package/src/transpile/components/dialogs/alert-dialog.transformer.js +16 -0
- package/src/transpile/components/dialogs/alert-dialog.transformer.js.map +1 -0
- package/src/transpile/components/dialogs/confirm-dialog.transformer.js +16 -0
- package/src/transpile/components/dialogs/confirm-dialog.transformer.js.map +1 -0
- package/src/transpile/components/dialogs/dialog-actions.transformer.js +57 -0
- package/src/transpile/components/dialogs/dialog-actions.transformer.js.map +1 -0
- package/src/transpile/components/dialogs/dialog-body.transformer.js +13 -0
- package/src/transpile/components/dialogs/dialog-body.transformer.js.map +1 -0
- package/src/transpile/components/dialogs/dialog.transformer.js +26 -0
- package/src/transpile/components/dialogs/dialog.transformer.js.map +1 -0
- package/src/transpile/components/dialogs/iframe-dialog.transformer.js +16 -0
- package/src/transpile/components/dialogs/iframe-dialog.transformer.js.map +1 -0
- package/src/transpile/components/dialogs/login-dialog.transformer.js +45 -0
- package/src/transpile/components/dialogs/login-dialog.transformer.js.map +1 -0
- package/src/transpile/components/dialogs/page-dialog.transformer.js +16 -0
- package/src/transpile/components/dialogs/page-dialog.transformer.js.map +1 -0
- package/src/transpile/components/element/html-transformer.js +9 -0
- package/src/transpile/components/element/html-transformer.js.map +1 -0
- package/src/transpile/components/form/button-group.transformer.js +16 -0
- package/src/transpile/components/form/button-group.transformer.js.map +1 -0
- package/src/transpile/components/form/button.transformer.js +27 -0
- package/src/transpile/components/form/button.transformer.js.map +1 -0
- package/src/transpile/components/form/rating.transformer.js +19 -0
- package/src/transpile/components/form/rating.transformer.js.map +1 -0
- package/src/transpile/components/input/calendar.transformer.js +13 -0
- package/src/transpile/components/input/calendar.transformer.js.map +1 -0
- package/src/transpile/components/input/checkbox-set.transformer.js +29 -0
- package/src/transpile/components/input/checkbox-set.transformer.js.map +1 -0
- package/src/transpile/components/input/checkbox.transformer.js +47 -0
- package/src/transpile/components/input/checkbox.transformer.js.map +1 -0
- package/src/transpile/components/input/chips.transformer.js +22 -0
- package/src/transpile/components/input/chips.transformer.js.map +1 -0
- package/src/transpile/components/input/color-picker.transformer.js +19 -0
- package/src/transpile/components/input/color-picker.transformer.js.map +1 -0
- package/src/transpile/components/input/composite.transformer.js +16 -0
- package/src/transpile/components/input/composite.transformer.js.map +1 -0
- package/src/transpile/components/input/currency.transformer.js +21 -0
- package/src/transpile/components/input/currency.transformer.js.map +1 -0
- package/src/transpile/components/input/epoch/date.transformer.js +16 -0
- package/src/transpile/components/input/epoch/date.transformer.js.map +1 -0
- package/src/transpile/components/input/epoch/datetime.transformer.js +16 -0
- package/src/transpile/components/input/epoch/datetime.transformer.js.map +1 -0
- package/src/transpile/components/input/epoch/time.transformer.js +16 -0
- package/src/transpile/components/input/epoch/time.transformer.js.map +1 -0
- package/src/transpile/components/input/file-upload.transformer.js +32 -0
- package/src/transpile/components/input/file-upload.transformer.js.map +1 -0
- package/src/transpile/components/input/number.transformer.js +20 -0
- package/src/transpile/components/input/number.transformer.js.map +1 -0
- package/src/transpile/components/input/radio-set.transformer.js +25 -0
- package/src/transpile/components/input/radio-set.transformer.js.map +1 -0
- package/src/transpile/components/input/rating.transformer.js +20 -0
- package/src/transpile/components/input/rating.transformer.js.map +1 -0
- package/src/transpile/components/input/select.transformer.js +57 -0
- package/src/transpile/components/input/select.transformer.js.map +1 -0
- package/src/transpile/components/input/slider.transformer.js +28 -0
- package/src/transpile/components/input/slider.transformer.js.map +1 -0
- package/src/transpile/components/input/switch.transformer.js +21 -0
- package/src/transpile/components/input/switch.transformer.js.map +1 -0
- package/src/transpile/components/input/text.transformer.js +21 -0
- package/src/transpile/components/input/text.transformer.js.map +1 -0
- package/src/transpile/components/input/textarea.transformer.js +19 -0
- package/src/transpile/components/input/textarea.transformer.js.map +1 -0
- package/src/transpile/components/input/upload.transformer.js +19 -0
- package/src/transpile/components/input/upload.transformer.js.map +1 -0
- package/src/transpile/components/layout/footer.transformer.js +31 -0
- package/src/transpile/components/layout/footer.transformer.js.map +1 -0
- package/src/transpile/components/layout/header.transformer.js +31 -0
- package/src/transpile/components/layout/header.transformer.js.map +1 -0
- package/src/transpile/components/layout/leftnav.transformer.js +31 -0
- package/src/transpile/components/layout/leftnav.transformer.js.map +1 -0
- package/src/transpile/components/layout/rightnav.transformer.js +31 -0
- package/src/transpile/components/layout/rightnav.transformer.js.map +1 -0
- package/src/transpile/components/layout/topnav.transformer.js +35 -0
- package/src/transpile/components/layout/topnav.transformer.js.map +1 -0
- package/src/transpile/components/nav/nav-item.transformer.js +25 -0
- package/src/transpile/components/nav/nav-item.transformer.js.map +1 -0
- package/src/transpile/components/nav/nav.transformer.js +69 -0
- package/src/transpile/components/nav/nav.transformer.js.map +1 -0
- package/src/transpile/components/nav/navbar.transformer.js +121 -0
- package/src/transpile/components/nav/navbar.transformer.js.map +1 -0
- package/src/transpile/components/navigation/breadcrumb.transformer.js +16 -0
- package/src/transpile/components/navigation/breadcrumb.transformer.js.map +1 -0
- package/src/transpile/components/navigation/menu.transformer.js +36 -0
- package/src/transpile/components/navigation/menu.transformer.js.map +1 -0
- package/src/transpile/components/navigation/popover.transformer.js +29 -0
- package/src/transpile/components/navigation/popover.transformer.js.map +1 -0
- package/src/transpile/components/page/content.transformer.js +17 -0
- package/src/transpile/components/page/content.transformer.js.map +1 -0
- package/src/transpile/components/page/page-content.transformer.js +17 -0
- package/src/transpile/components/page/page-content.transformer.js.map +1 -0
- package/src/transpile/components/page/page.transformer.js +50 -0
- package/src/transpile/components/page/page.transformer.js.map +1 -0
- package/src/transpile/components/page/partial-container.transformer.js +95 -0
- package/src/transpile/components/page/partial-container.transformer.js.map +1 -0
- package/src/transpile/components/page/partial.transformer.js +19 -0
- package/src/transpile/components/page/partial.transformer.js.map +1 -0
- package/src/transpile/components/prefab/prefab-container.transformer.js +32 -0
- package/src/transpile/components/prefab/prefab-container.transformer.js.map +1 -0
- package/src/transpile/components/prefab/prefab.transformer.js +85 -0
- package/src/transpile/components/prefab/prefab.transformer.js.map +1 -0
- package/src/transpile/components/transform-register.js +247 -0
- package/src/transpile/components/transform-register.js.map +1 -0
- package/src/transpile/components/utils.js +371 -0
- package/src/transpile/components/utils.js.map +1 -0
- package/src/transpile/components/wmx-component/wmx-component.transformer.js +35 -0
- package/src/transpile/components/wmx-component/wmx-component.transformer.js.map +1 -0
- package/src/transpile/id-generator.js +87 -0
- package/src/transpile/id-generator.js.map +1 -0
- package/src/transpile/property/base-parser.js +13 -0
- package/src/transpile/property/base-parser.js.map +1 -0
- package/src/transpile/property/property-parser.js +276 -0
- package/src/transpile/property/property-parser.js.map +1 -0
- package/src/transpile/property/show-in-device.parser.js +17 -0
- package/src/transpile/property/show-in-device.parser.js.map +1 -0
- package/src/transpile/style/background-image.parser.js +20 -0
- package/src/transpile/style/background-image.parser.js.map +1 -0
- package/src/transpile/style/border-width.parser.js +20 -0
- package/src/transpile/style/border-width.parser.js.map +1 -0
- package/src/transpile/style/dimension-style.parser.js +70 -0
- package/src/transpile/style/dimension-style.parser.js.map +1 -0
- package/src/transpile/style/horizontal-align.parser.js +24 -0
- package/src/transpile/style/horizontal-align.parser.js.map +1 -0
- package/src/transpile/style/margin.parser.js +20 -0
- package/src/transpile/style/margin.parser.js.map +1 -0
- package/src/transpile/style/multi-dimension-style.parser.js +29 -0
- package/src/transpile/style/multi-dimension-style.parser.js.map +1 -0
- package/src/transpile/style/numeric-style.parser.js +18 -0
- package/src/transpile/style/numeric-style.parser.js.map +1 -0
- package/src/transpile/style/padding.parser.js +20 -0
- package/src/transpile/style/padding.parser.js.map +1 -0
- package/src/transpile/style/style.parser.js +15 -0
- package/src/transpile/style/style.parser.js.map +1 -0
- package/src/transpile/style.transformer.js +124 -0
- package/src/transpile/style.transformer.js.map +1 -0
- package/src/transpile/transpile.js +1057 -0
- package/src/transpile/transpile.js.map +1 -0
- package/src/transpile/widget-inline-style-constants.js +200 -0
- package/src/transpile/widget-inline-style-constants.js.map +1 -0
- package/src/transpile/widget-inline-style-processor.js +714 -0
- package/src/transpile/widget-inline-style-processor.js.map +1 -0
- package/src/types/index.js +6 -0
- package/src/types/index.js.map +1 -0
- package/src/utils/grouping-util.js +500 -0
- package/src/utils/grouping-util.js.map +1 -0
- package/src/utils.js +934 -0
- package/src/utils.js.map +1 -0
- package/src/variables/variable.transformer.js +675 -0
- package/src/variables/variable.transformer.js.map +1 -0
- package/src/wmx.generator.js +216 -0
- package/src/wmx.generator.js.map +1 -0
- package/templates/.DS_Store +0 -0
- package/templates/app.style.template +3 -0
- package/templates/app.variables.template +1 -0
- package/templates/component/app.libs.hbs +38 -0
- package/templates/component/app.script.hbs +8 -0
- package/templates/component/app.template.hbs +47 -0
- package/templates/component/component.hbs +92 -0
- package/templates/component/component.props.template +1 -0
- package/templates/component/formatter.hbs +8 -0
- package/templates/component/layout.hbs +32 -0
- package/templates/component/page.hbs +16 -0
- package/templates/component/partial.hbs +78 -0
- package/templates/component/script.template +6 -0
- package/templates/component/style-def.template +18 -0
- package/templates/component/style.template +1 -0
- package/templates/entity-provider.template +21 -0
- package/templates/foundation/layout.tsx +30 -0
- package/templates/pages-config.template +12 -0
- package/templates/partial-config.template +58 -0
- package/templates/project/.DS_Store +0 -0
- package/templates/project/.env +1 -0
- package/templates/project/.gitignore +2 -0
- package/templates/project/.prettierrc +8 -0
- package/templates/project/README.md +60 -0
- package/templates/project/app/autoLayout.css +133 -0
- package/templates/project/app/client.layout.tsx +193 -0
- package/templates/project/app/components.css +186 -0
- package/templates/project/app/error.tsx +27 -0
- package/templates/project/app/globals.css +157 -0
- package/templates/project/app/layout.tsx +40 -0
- package/templates/project/app/loading.tsx +6 -0
- package/templates/project/app/page.tsx +3 -0
- package/templates/project/app/widgetInlineStylesOverride.css +676 -0
- package/templates/project/hooks/usePageEvents.tsx +45 -0
- package/templates/project/libs/appConfig.ts +14 -0
- package/templates/project/next-env.d.ts +5 -0
- package/templates/project/next.config.ts +17 -0
- package/templates/project/package-lock.json +5397 -0
- package/templates/project/package.json +38 -0
- package/templates/project/public/error-fallback.svg +89 -0
- package/templates/project/public/file.svg +1 -0
- package/templates/project/public/globe.svg +1 -0
- package/templates/project/public/next.svg +1 -0
- package/templates/project/public/vercel.svg +1 -0
- package/templates/project/public/window.svg +1 -0
- package/templates/project/scripts/app-custom-server.js +44 -0
- package/templates/project/scripts/getlibs.js +53 -0
- package/templates/project/tsconfig.json +36 -0
- package/templates/project/types/runtime-config.d.ts +9 -0
- package/templates/resource.resolver.template +20 -0
- package/templates/service.defs.template +3 -0
- package/templates/variables.template +252 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable.transformer.js","sourceRoot":"","sources":["../../../src/variables/variable.transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.WmxGenerator = void 0;
|
|
7
|
+
exports.installWmxDependencies = installWmxDependencies;
|
|
8
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const utils_1 = require("./utils");
|
|
11
|
+
const WMX_DEST_DIR = "wmx-components";
|
|
12
|
+
const WMX_SOURCE_DIR = "extensions/components/src";
|
|
13
|
+
const WMX_MANIFEST = "wmx.json";
|
|
14
|
+
/**
|
|
15
|
+
* Converts a component name to PascalCase.
|
|
16
|
+
* Handles kebab-case ("hello-card" → "HelloCard"),
|
|
17
|
+
* already PascalCase ("HelloCard" → "HelloCard"),
|
|
18
|
+
* and camelCase ("helloCard" → "HelloCard").
|
|
19
|
+
*/
|
|
20
|
+
function toPascalCase(name) {
|
|
21
|
+
return name
|
|
22
|
+
.split("-")
|
|
23
|
+
.map(segment => segment.charAt(0).toUpperCase() + segment.slice(1))
|
|
24
|
+
.join("");
|
|
25
|
+
}
|
|
26
|
+
class WmxGenerator {
|
|
27
|
+
constructor(projectPath, projectService) {
|
|
28
|
+
this.projectPath = projectPath;
|
|
29
|
+
this.projectService = projectService;
|
|
30
|
+
this.transpiledComponents = {};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Returns component names that have a wmx.json manifest in the source tree.
|
|
34
|
+
*/
|
|
35
|
+
getComponentNames() {
|
|
36
|
+
return this.projectService.getWMXComponents();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Copies the source component tree into the generated project's
|
|
40
|
+
* wmx-components/ directory, ensures every component has the required
|
|
41
|
+
* scaffold files (package.json, vite.config.ts, index.html, main.tsx),
|
|
42
|
+
* and writes a barrel index.ts that re-exports all components wrapped
|
|
43
|
+
* with WmBaseComponent.
|
|
44
|
+
*
|
|
45
|
+
* @param name - WMX component name to generate.
|
|
46
|
+
* @param overwrite - When false, skips if already generated this session (deduplication).
|
|
47
|
+
* When true, forces regeneration (used by incremental builder on source change).
|
|
48
|
+
*/
|
|
49
|
+
async generate(name, overwrite) {
|
|
50
|
+
if (!overwrite && this.transpiledComponents[name]) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.transpiledComponents[name] = true;
|
|
54
|
+
const sourcePath = `${this.projectService.path}/${WMX_SOURCE_DIR}`;
|
|
55
|
+
if (!fs_extra_1.default.existsSync(sourcePath)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const wmxComponentNames = this.discoverComponents(sourcePath);
|
|
59
|
+
if (wmxComponentNames.length === 0) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const destDir = `${this.projectPath}/${WMX_DEST_DIR}`;
|
|
63
|
+
fs_extra_1.default.copySync(sourcePath, destDir);
|
|
64
|
+
const componentNames = this.discoverComponents(destDir);
|
|
65
|
+
componentNames.forEach(c => this.ensureScaffold(destDir, c));
|
|
66
|
+
this.writeBarrelIndex(destDir, componentNames);
|
|
67
|
+
}
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
// Private helpers
|
|
70
|
+
// ---------------------------------------------------------------------------
|
|
71
|
+
// filters the components from the source(extensions/components/src) directory that have a wmx.json manifest
|
|
72
|
+
discoverComponents(dir) {
|
|
73
|
+
return fs_extra_1.default
|
|
74
|
+
.readdirSync(dir)
|
|
75
|
+
.filter((entry) => fs_extra_1.default.existsSync(`${dir}/${entry}/${WMX_MANIFEST}`));
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Ensures a component directory contains the minimum files required for
|
|
79
|
+
* it to work as a standalone Vite + React workspace package.
|
|
80
|
+
*
|
|
81
|
+
* If the source project already ships any of these files they will have
|
|
82
|
+
* been copied over by fs.copySync and the existsSync guard will skip them.
|
|
83
|
+
*/
|
|
84
|
+
ensureScaffold(destDir, componentName) {
|
|
85
|
+
const componentDir = `${destDir}/${componentName}`;
|
|
86
|
+
this.ensurePackageJson(componentDir, componentName);
|
|
87
|
+
this.ensureViteConfig(componentDir);
|
|
88
|
+
this.ensureIndexHtml(componentDir, componentName);
|
|
89
|
+
this.ensureMainTsx(componentDir, componentName);
|
|
90
|
+
}
|
|
91
|
+
ensurePackageJson(componentDir, componentName) {
|
|
92
|
+
const filePath = `${componentDir}/package.json`;
|
|
93
|
+
if (fs_extra_1.default.existsSync(filePath)) {
|
|
94
|
+
const pkg = JSON.parse(fs_extra_1.default.readFileSync(filePath, "utf-8"));
|
|
95
|
+
if (!pkg.scripts) {
|
|
96
|
+
pkg.scripts = {};
|
|
97
|
+
}
|
|
98
|
+
if (!pkg.scripts.dev) {
|
|
99
|
+
pkg.scripts.dev = "vite";
|
|
100
|
+
fs_extra_1.default.writeFileSync(filePath, JSON.stringify(pkg, null, 2));
|
|
101
|
+
}
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const packageJson = {
|
|
105
|
+
name: componentName,
|
|
106
|
+
version: "1.0.0",
|
|
107
|
+
private: true,
|
|
108
|
+
dependencies: {},
|
|
109
|
+
main: "index.tsx",
|
|
110
|
+
devDependencies: {},
|
|
111
|
+
scripts: {
|
|
112
|
+
test: 'echo "Error: no test specified" && exit 1',
|
|
113
|
+
dev: "vite",
|
|
114
|
+
},
|
|
115
|
+
author: "",
|
|
116
|
+
license: "ISC",
|
|
117
|
+
description: "",
|
|
118
|
+
};
|
|
119
|
+
fs_extra_1.default.writeFileSync(filePath, JSON.stringify(packageJson, null, 2));
|
|
120
|
+
}
|
|
121
|
+
ensureViteConfig(componentDir) {
|
|
122
|
+
const filePath = `${componentDir}/vite.config.ts`;
|
|
123
|
+
if (fs_extra_1.default.existsSync(filePath)) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const content = `import { defineConfig } from 'vite'
|
|
127
|
+
import react from '@vitejs/plugin-react'
|
|
128
|
+
|
|
129
|
+
export default defineConfig({
|
|
130
|
+
plugins: [react()],
|
|
131
|
+
});
|
|
132
|
+
`;
|
|
133
|
+
fs_extra_1.default.writeFileSync(filePath, content);
|
|
134
|
+
}
|
|
135
|
+
ensureIndexHtml(componentDir, componentName) {
|
|
136
|
+
const filePath = `${componentDir}/index.html`;
|
|
137
|
+
if (fs_extra_1.default.existsSync(filePath)) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const content = `<!doctype html>
|
|
141
|
+
<html lang="en">
|
|
142
|
+
<head>
|
|
143
|
+
<meta charset="UTF-8" />
|
|
144
|
+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
145
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
146
|
+
<title>${componentName}</title>
|
|
147
|
+
</head>
|
|
148
|
+
<body>
|
|
149
|
+
<div id="root"></div>
|
|
150
|
+
<script type="module" src="/main.tsx"></script>
|
|
151
|
+
</body>
|
|
152
|
+
</html>
|
|
153
|
+
`;
|
|
154
|
+
fs_extra_1.default.writeFileSync(filePath, content);
|
|
155
|
+
}
|
|
156
|
+
ensureMainTsx(componentDir, componentName) {
|
|
157
|
+
const filePath = `${componentDir}/main.tsx`;
|
|
158
|
+
if (fs_extra_1.default.existsSync(filePath)) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const content = `import { StrictMode } from 'react'
|
|
162
|
+
import { createRoot } from 'react-dom/client'
|
|
163
|
+
import App from './'
|
|
164
|
+
|
|
165
|
+
createRoot(document.getElementById('root')!).render(
|
|
166
|
+
<StrictMode>
|
|
167
|
+
<div id="wmx-${componentName}"><App /></div>
|
|
168
|
+
</StrictMode>,
|
|
169
|
+
)
|
|
170
|
+
`;
|
|
171
|
+
fs_extra_1.default.writeFileSync(filePath, content);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Writes wmx-components/index.ts — a barrel file that imports each
|
|
175
|
+
* component, wraps it with WmBaseComponent, and re-exports it.
|
|
176
|
+
*/
|
|
177
|
+
writeBarrelIndex(destDir, componentNames) {
|
|
178
|
+
const importLines = componentNames.map(c => `import ${toPascalCase(c)} from './${c}';`);
|
|
179
|
+
const wrapLines = componentNames.map(c => `const Wmx${toPascalCase(c)} = WmBaseComponent(${toPascalCase(c)});`);
|
|
180
|
+
const exportNames = componentNames.map(c => `Wmx${toPascalCase(c)}`);
|
|
181
|
+
const content = [
|
|
182
|
+
`import WmBaseComponent from '@wavemaker-ai/react-runtime/higherOrder/withBaseWrapper';`,
|
|
183
|
+
...importLines,
|
|
184
|
+
...wrapLines,
|
|
185
|
+
`export {`,
|
|
186
|
+
` ${exportNames.join(",\n ")}`,
|
|
187
|
+
`};`,
|
|
188
|
+
``,
|
|
189
|
+
].join("\n");
|
|
190
|
+
fs_extra_1.default.writeFileSync(`${destDir}/index.ts`, content);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
exports.WmxGenerator = WmxGenerator;
|
|
194
|
+
/**
|
|
195
|
+
* Installs npm dependencies for each wmx-component workspace package.
|
|
196
|
+
* Called after code generation to ensure every component has its
|
|
197
|
+
* node_modules populated.
|
|
198
|
+
*/
|
|
199
|
+
function installWmxDependencies(appTarget) {
|
|
200
|
+
const wmxDir = path_1.default.join(appTarget, WMX_DEST_DIR);
|
|
201
|
+
if (!fs_extra_1.default.existsSync(wmxDir)) {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
const entries = fs_extra_1.default.readdirSync(wmxDir, { withFileTypes: true });
|
|
205
|
+
for (const entry of entries) {
|
|
206
|
+
if (!entry.isDirectory()) {
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
const componentPath = path_1.default.join(wmxDir, entry.name);
|
|
210
|
+
if (fs_extra_1.default.existsSync(path_1.default.join(componentPath, "package.json"))) {
|
|
211
|
+
console.log(`Installing dependencies for workspace: ${WMX_DEST_DIR}/${entry.name}`);
|
|
212
|
+
(0, utils_1.executeSyncCmd)(`cd "${componentPath}" && npm install`);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=wmx.generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wmx.generator.js","sourceRoot":"","sources":["../../src/wmx.generator.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default {{{variables}}};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
const loadAppLibs = async () => {
|
|
4
|
+
try {
|
|
5
|
+
if (typeof window !== 'undefined') {
|
|
6
|
+
const { moment } = await import('@wavemaker-ai/react-runtime/libs');
|
|
7
|
+
window.moment = moment
|
|
8
|
+
console.log('loaded app libraries:');
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
console.error('Failed to load app libraries:', error);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
{{#if hasDefaultPrefabs}}
|
|
18
|
+
const loadPrefabsLibs = async () => {
|
|
19
|
+
try {
|
|
20
|
+
|
|
21
|
+
if (typeof window !== 'undefined') {
|
|
22
|
+
const { QRCode,Utils } = await import('@wavemaker-ai/react-runtime/libs/prefab');
|
|
23
|
+
window.QRCode = QRCode
|
|
24
|
+
window.Utils = Utils
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
console.log('loaded default prefabs libraries:');
|
|
28
|
+
|
|
29
|
+
} catch (error) {
|
|
30
|
+
console.error('Failed to load default prefabs libraries:', error);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
{{/if}}
|
|
34
|
+
|
|
35
|
+
loadAppLibs();
|
|
36
|
+
{{#if hasDefaultPrefabs}}
|
|
37
|
+
loadPrefabsLibs();
|
|
38
|
+
{{/if}}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import BaseApp from '@wavemaker-ai/react-runtime/higherOrder/BaseApp';
|
|
3
|
+
import appstore from '@wavemaker-ai/react-runtime/core/appstore';
|
|
4
|
+
import formatters from '@wavemaker-ai/react-runtime/core/formatters';
|
|
5
|
+
import { VALIDATOR , MATCH_MODES } from '@wavemaker-ai/react-runtime/core/util';
|
|
6
|
+
|
|
7
|
+
import partialConfigs from '@/app/components/partial-config';
|
|
8
|
+
import appVariables from '@/app/app.variables';
|
|
9
|
+
import WM_CUSTOM_FORMATTERS from '@/libs/extensions/formatters';
|
|
10
|
+
import AppScript from "@/app/app.script.js"
|
|
11
|
+
import Common from '@/app/components/Common/Common'
|
|
12
|
+
|
|
13
|
+
function App({children}: {children: React.ReactNode}) {
|
|
14
|
+
|
|
15
|
+
// _set default wavemaker app configs
|
|
16
|
+
const appConfig = {
|
|
17
|
+
partials: partialConfigs,
|
|
18
|
+
appVariables: appVariables,
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
appstore.set('AppConfig', appConfig);
|
|
22
|
+
appstore.set('CONSTANTS', { VALIDATOR ,MATCH_MODES});
|
|
23
|
+
appstore.set('formatters', formatters);
|
|
24
|
+
Object.keys(WM_CUSTOM_FORMATTERS).forEach(k => {
|
|
25
|
+
formatters.set(`custom.${k}`, WM_CUSTOM_FORMATTERS[k]);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
return children;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const WmApp = BaseApp(
|
|
32
|
+
App,
|
|
33
|
+
AppScript,
|
|
34
|
+
appVariables,
|
|
35
|
+
{
|
|
36
|
+
componentName: "App",
|
|
37
|
+
startUpVariables: [{{#each startUpVariables}}'{{this}}'{{#unless @last}},{{/unless}}{{/each}}],
|
|
38
|
+
startUpActions: [{{#each startUpActions}}'{{this}}'{{#unless @last}},{{/unless}}{{/each}}],
|
|
39
|
+
autoUpdateVariables: [{{#each autoUpdateVariables}}'{{this}}'{{#unless @last}},{{/unless}}{{/each}}],
|
|
40
|
+
type:'App',
|
|
41
|
+
common:Common,
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
export default React.memo((props: any) => {
|
|
46
|
+
return <WmApp {...props} />;
|
|
47
|
+
});
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import React,{useEffect} from "react";
|
|
3
|
+
import dynamic from 'next/dynamic';
|
|
4
|
+
import { useAppState } from "@wavemaker-ai/react-runtime/context/WidgetProvider";
|
|
5
|
+
{{#if (eq type "PREFAB")}}
|
|
6
|
+
import { useProxy } from "@wavemaker-ai/react-runtime/context/WidgetProvider";
|
|
7
|
+
{{/if}}
|
|
8
|
+
{{#if (or (eq typeLabel "Page") (eq typeLabel "Prefab"))}}
|
|
9
|
+
import { usePageReady } from '@wavemaker-ai/react-runtime/higherOrder/BasePage';
|
|
10
|
+
{{/if}}
|
|
11
|
+
import Base{{typeLabel}} from '@wavemaker-ai/react-runtime/higherOrder/Base{{typeLabel}}';
|
|
12
|
+
import { formatMessage ,_get,toNumber} from '@wavemaker-ai/react-runtime/core/util';
|
|
13
|
+
{{#if (and (eq typeLabel "Page") pageEvents)}}
|
|
14
|
+
import { usePageEvent } from '@/hooks/usePageEvents';
|
|
15
|
+
{{/if}}
|
|
16
|
+
{{#each eagerImports}}
|
|
17
|
+
import {{name}} from '{{from}}';
|
|
18
|
+
{{/each}}
|
|
19
|
+
{{#each lazyImports}}
|
|
20
|
+
const {{name}} = dynamic(() => import('{{from}}'), {
|
|
21
|
+
loading: () => <p>Loading...</p>,
|
|
22
|
+
})
|
|
23
|
+
{{/each}}
|
|
24
|
+
import add{{typeLabel}}Script from './{{name}}.script';
|
|
25
|
+
import "./{{name}}.css";
|
|
26
|
+
import getVariables from './{{name}}.variables';
|
|
27
|
+
{{#if (eq type "PREFAB")}}
|
|
28
|
+
import DefaultPrefabProps from './{{name}}.props';
|
|
29
|
+
import PartialConfig from '../components/partial-config';
|
|
30
|
+
import PageConfigs from '../pages-config';
|
|
31
|
+
import WmPrefab from '@wavemaker-ai/react-runtime/components/prefab';
|
|
32
|
+
{{/if}}
|
|
33
|
+
|
|
34
|
+
const {{componentName}}Component = (props: any) => {
|
|
35
|
+
const fragment = useAppState();
|
|
36
|
+
const Widgets = fragment?.Widgets;
|
|
37
|
+
const Variables = fragment?.Variables;
|
|
38
|
+
{{#if (eq typeLabel "Page")}}
|
|
39
|
+
usePageReady("{{componentName}}");
|
|
40
|
+
{{/if}}
|
|
41
|
+
{{#if (eq typeLabel "Prefab")}}
|
|
42
|
+
usePageReady("{{prefabName}}");
|
|
43
|
+
{{/if}}
|
|
44
|
+
{{#if (and (eq typeLabel "Page") pageEvents)}}
|
|
45
|
+
usePageEvent({
|
|
46
|
+
{{#each pageEvents}}
|
|
47
|
+
{{@key}}: {{{this}}},
|
|
48
|
+
{{/each}}
|
|
49
|
+
});
|
|
50
|
+
{{/if}}
|
|
51
|
+
{{#if (eq type "PREFAB")}}
|
|
52
|
+
const stateProxy = useProxy();
|
|
53
|
+
|
|
54
|
+
useEffect(()=>{
|
|
55
|
+
if(props?.onRender){
|
|
56
|
+
props?.onRender(stateProxy);
|
|
57
|
+
}
|
|
58
|
+
},[])
|
|
59
|
+
{{/if}}
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
return (
|
|
64
|
+
<React.Fragment>
|
|
65
|
+
{{#if (eq type "PREFAB")}}
|
|
66
|
+
<WmPrefab prefabname="{{prefabName}}" onRender={props?.onRender} {...props} animation={fragment?.animation} onLoad={fragment?.onLoad} onDestroy={fragment?.onDestroy}>
|
|
67
|
+
{{/if}}
|
|
68
|
+
{{{markup}}}
|
|
69
|
+
{{#if (eq type "PREFAB")}}
|
|
70
|
+
</WmPrefab>
|
|
71
|
+
{{/if}}
|
|
72
|
+
</React.Fragment>
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const ComponentWithPage = Base{{typeLabel}}(
|
|
77
|
+
{{componentName}}Component,
|
|
78
|
+
add{{typeLabel}}Script,
|
|
79
|
+
getVariables,
|
|
80
|
+
{
|
|
81
|
+
componentName: "{{componentName}}",
|
|
82
|
+
startUpVariables: [{{#each startUpVariables}}'{{this}}'{{#unless @last}},{{/unless}}{{/each}}],
|
|
83
|
+
startUpActions: [{{#each startUpActions}}'{{this}}'{{#unless @last}},{{/unless}}{{/each}}],
|
|
84
|
+
autoUpdateVariables: [{{#each autoUpdateVariables}}'{{this}}'{{#unless @last}},{{/unless}}{{/each}}],
|
|
85
|
+
componentType:{{#if (eq type "PREFAB")}}'PREFAB'{{else}}'PAGE'{{/if}},
|
|
86
|
+
{{#if (eq type "PREFAB")}}partials: PartialConfig, pages: PageConfigs {{/if}}
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
export default React.memo((props: any) => {
|
|
91
|
+
return <ComponentWithPage {{#if (not (eq typeLabel "Page"))}} inbound={props} outbound={DefaultPrefabProps} prefabname="{{prefabName}}" {{/if}} {...props} />;
|
|
92
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default {{{props}}};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import React from "react";
|
|
3
|
+
import dynamic from 'next/dynamic';
|
|
4
|
+
{{#each eagerImports}}
|
|
5
|
+
import {{name}} from '{{from}}';
|
|
6
|
+
{{/each}}
|
|
7
|
+
{{#each lazyImports}}
|
|
8
|
+
const {{name}} = dynamic(() => import('{{from}}'), { loading: () => <p>Loading...</p>, ssr: false });
|
|
9
|
+
{{/each}}
|
|
10
|
+
import WmContent from '@wavemaker-ai/react-runtime/components/page/content';
|
|
11
|
+
import WmFooter from '@wavemaker-ai/react-runtime/components/layout/footer';
|
|
12
|
+
import WmHeader from '@wavemaker-ai/react-runtime/components/layout/header';
|
|
13
|
+
import WmLeftPanel from '@wavemaker-ai/react-runtime/components/layout/leftnav';
|
|
14
|
+
import WmRightPanel from '@wavemaker-ai/react-runtime/components/layout/rightnav';
|
|
15
|
+
import WmTopNav from '@wavemaker-ai/react-runtime/components/layout/topnav';
|
|
16
|
+
import WmPage from '@wavemaker-ai/react-runtime/components/page';
|
|
17
|
+
|
|
18
|
+
const MockedFragment = {
|
|
19
|
+
Widgets: {},
|
|
20
|
+
Variables: {},
|
|
21
|
+
Actions: {},
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
function Layout({ children }: { children: React.ReactNode }) {
|
|
25
|
+
const fragment = MockedFragment;
|
|
26
|
+
return (
|
|
27
|
+
<>
|
|
28
|
+
{{{components}}}
|
|
29
|
+
</>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
export default Layout;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Metadata } from "next";
|
|
3
|
+
import Loader from "@/app/loading";
|
|
4
|
+
const {{componentName}}Component = React.lazy(() => import('./{{name}}.component'));
|
|
5
|
+
|
|
6
|
+
export const metadata: Metadata = {
|
|
7
|
+
title: "{{pageTitle}}",
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export default function Page() {
|
|
11
|
+
return (
|
|
12
|
+
<React.Suspense fallback={<Loader/>}>
|
|
13
|
+
<{{componentName}}Component />
|
|
14
|
+
</React.Suspense>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import React,{useEffect} from "react";
|
|
3
|
+
import dynamic from 'next/dynamic';
|
|
4
|
+
{{#if prefabName}}
|
|
5
|
+
import BasePartial from "@wavemaker-ai/react-runtime/higherOrder/BasePartial";
|
|
6
|
+
{{else}}
|
|
7
|
+
import BasePartial from "@wavemaker-ai/react-runtime/higherOrder/BasePage";
|
|
8
|
+
{{/if}}
|
|
9
|
+
import { usePageReady } from '@wavemaker-ai/react-runtime/higherOrder/BasePage';
|
|
10
|
+
{{#if (eq componentName "Common")}}
|
|
11
|
+
import { useAppContext } from "@wavemaker-ai/react-runtime/context/AppContext";
|
|
12
|
+
{{/if}}
|
|
13
|
+
import { useAppState,useProxy } from "@wavemaker-ai/react-runtime/context/WidgetProvider";
|
|
14
|
+
import { formatMessage,_get,toNumber} from '@wavemaker-ai/react-runtime/core/util';
|
|
15
|
+
{{#each eagerImports}}
|
|
16
|
+
import {{name}} from '{{from}}';
|
|
17
|
+
{{/each}}
|
|
18
|
+
{{#each lazyImports}}
|
|
19
|
+
const {{name}} = dynamic(() => import('{{from}}'), {
|
|
20
|
+
loading: () => <p>Loading...</p>,
|
|
21
|
+
})
|
|
22
|
+
{{/each}}
|
|
23
|
+
import add{{typeLabel}}Script from './{{name}}.script';
|
|
24
|
+
import "./{{name}}.css";
|
|
25
|
+
import getVariables from './{{name}}.variables';
|
|
26
|
+
|
|
27
|
+
const {{componentName}}Component = (props:any) => {
|
|
28
|
+
{{#if (eq componentName "Common")}}
|
|
29
|
+
const pageContext = useAppState();
|
|
30
|
+
const notification= useAppContext()?.notification;
|
|
31
|
+
const fragment = { ...pageContext, notification: notification };
|
|
32
|
+
{{else}}
|
|
33
|
+
const fragment = useAppState();
|
|
34
|
+
{{/if}}
|
|
35
|
+
{{#if prefabName}}
|
|
36
|
+
usePageReady("{{prefabName}}");
|
|
37
|
+
{{else}}
|
|
38
|
+
usePageReady("{{componentName}}");
|
|
39
|
+
{{/if}}
|
|
40
|
+
const stateProxy = useProxy()
|
|
41
|
+
const Widgets = fragment?.Widgets;
|
|
42
|
+
const Variables = fragment?.Variables;
|
|
43
|
+
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
|
|
46
|
+
if (props?.onRender) {
|
|
47
|
+
props?.onRender(stateProxy);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
}, []);
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<React.Fragment>
|
|
55
|
+
{{{markup}}}
|
|
56
|
+
</React.Fragment>
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const ComponentWithPage = BasePartial(
|
|
61
|
+
{{componentName}}Component,
|
|
62
|
+
add{{typeLabel}}Script,
|
|
63
|
+
getVariables,
|
|
64
|
+
{
|
|
65
|
+
componentName: "{{componentName}}",
|
|
66
|
+
startUpVariables: [{{#each startUpVariables}}'{{this}}'{{#unless @last}},{{/unless}}{{/each}}],
|
|
67
|
+
startUpActions: [{{#each startUpActions}}'{{this}}'{{#unless @last}},{{/unless}}{{/each}}],
|
|
68
|
+
autoUpdateVariables: [{{#each autoUpdateVariables}}'{{this}}'{{#unless @last}},{{/unless}}{{/each}}],
|
|
69
|
+
componentType:"{{type}}",
|
|
70
|
+
{{#if prefabName}}
|
|
71
|
+
isPartOfPrefab: true,
|
|
72
|
+
{{/if}}
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
export default React.memo((props: any) => {
|
|
77
|
+
return <ComponentWithPage {...props} {{#if prefabName}} prefabName="{{prefabName}}" {{/if}} />;
|
|
78
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@import url('{{basePath}}variables.less');
|
|
2
|
+
{{#each styledefs}}
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
{{#ifNotEmpty this.document this}}
|
|
6
|
+
/**********************************************************************************
|
|
7
|
+
{{this.document}}
|
|
8
|
+
***********************************************************************************/
|
|
9
|
+
{{/ifNotEmpty}}
|
|
10
|
+
{{this.className}} {
|
|
11
|
+
{{#each style}}
|
|
12
|
+
{{@key}}: {{this}};
|
|
13
|
+
{{/each}}
|
|
14
|
+
}
|
|
15
|
+
{{/each}}
|
|
16
|
+
|
|
17
|
+
@import (optional) url('{{basePath}}../custom/{{path}}');
|
|
18
|
+
@import (optional) url('{{basePath}}../custom/os/{{path}}');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default {{{styles}}};
|