@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,371 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDatasourceExpr = exports.getDirectParentList = exports.getParentNode = exports.extractDatasetInfo = exports.inferTypeAndParseProperty = exports.getOnChangeExprforFormWidget = exports.getRenderItemPartial = exports.transformItemsPerRow = exports.transformFormat = exports.transformListChildWidgets = exports.transformRepeatChildAttr = exports.transformRepeatChildData = exports.findElement = exports.replaceAll = exports.removeOptionChaining = exports.fromUnicode = void 0;
|
|
4
|
+
const node_html_parser_1 = require("node-html-parser");
|
|
5
|
+
const fromUnicode = (str) => JSON.parse('"' + str.replace(/\"/g, '\\"') + '"');
|
|
6
|
+
exports.fromUnicode = fromUnicode;
|
|
7
|
+
/**
|
|
8
|
+
* Strips all optional chaining (`?.`) from an expression, converting it to regular access.
|
|
9
|
+
*
|
|
10
|
+
* Handles two forms:
|
|
11
|
+
* 1. Property access: `?.identifier` → `.identifier`
|
|
12
|
+
* e.g. `fragment?.Variables?.dataSet` → `fragment.Variables.dataSet`
|
|
13
|
+
*
|
|
14
|
+
* 2. Bracket access: `?.[` → `[`
|
|
15
|
+
* e.g. `dataSet?.[0]?.name` → `dataSet[0].name`
|
|
16
|
+
*/
|
|
17
|
+
const removeOptionChaining = (str) => {
|
|
18
|
+
return str.replace(/\?\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g, ".$1").replace(/\?\.\[/g, "[");
|
|
19
|
+
};
|
|
20
|
+
exports.removeOptionChaining = removeOptionChaining;
|
|
21
|
+
function isListAndField(element) {
|
|
22
|
+
const isList = element.getAttribute("type") === "list";
|
|
23
|
+
const isFormField = element.tagName.toLowerCase() === "wm-form-field";
|
|
24
|
+
return isList && isFormField;
|
|
25
|
+
}
|
|
26
|
+
const replaceAll = (str, find, replaceWith) => {
|
|
27
|
+
const splits = str.split(find);
|
|
28
|
+
if (splits.length > 1) {
|
|
29
|
+
return splits.join(replaceWith);
|
|
30
|
+
}
|
|
31
|
+
return str;
|
|
32
|
+
};
|
|
33
|
+
exports.replaceAll = replaceAll;
|
|
34
|
+
const findElement = (e, tagName, callback, options = { recursive: true }) => {
|
|
35
|
+
let index = 0;
|
|
36
|
+
e.childNodes.forEach(n => {
|
|
37
|
+
if (n && n instanceof node_html_parser_1.HTMLElement) {
|
|
38
|
+
if (n.tagName === tagName) {
|
|
39
|
+
callback && callback(n, index++);
|
|
40
|
+
}
|
|
41
|
+
if (options.recursive) {
|
|
42
|
+
(0, exports.findElement)(n, tagName, callback, options);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
exports.findElement = findElement;
|
|
48
|
+
const transformRepeatChildData = (element, dataSetEx, prefix = "repeat_item", list = false, widgetName = "") => {
|
|
49
|
+
Object.keys(element.attributes).forEach(name => {
|
|
50
|
+
const isList = isListAndField(element);
|
|
51
|
+
if (isList) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
let value = element.attributes[name];
|
|
55
|
+
value = (0, exports.removeOptionChaining)(value);
|
|
56
|
+
element.setAttribute(name, (0, exports.replaceAll)(value, dataSetEx, "$item"));
|
|
57
|
+
if (list) {
|
|
58
|
+
function genrateRandomString() {
|
|
59
|
+
return Math.random().toString(36).substring(2, 5);
|
|
60
|
+
}
|
|
61
|
+
element.setAttribute("item-id", `bind:'${widgetName}_' + $index + '_${element.getAttribute("name")}_${genrateRandomString()}'`);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
element.childNodes.forEach(c => {
|
|
65
|
+
if (c instanceof node_html_parser_1.HTMLElement) {
|
|
66
|
+
(0, exports.transformRepeatChildData)(c, dataSetEx, prefix, list, widgetName);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
exports.transformRepeatChildData = transformRepeatChildData;
|
|
71
|
+
const transformRepeatChildAttr = (element, replace, replaceWith) => {
|
|
72
|
+
Object.keys(element.attributes).forEach(name => {
|
|
73
|
+
const isList = isListAndField(element);
|
|
74
|
+
if (isList) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
let value = element.attributes[name];
|
|
78
|
+
value = (0, exports.removeOptionChaining)(value);
|
|
79
|
+
// Use regex with word boundaries to ensure we only replace complete matches
|
|
80
|
+
const regex = new RegExp(replace.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") + "(?![a-zA-Z_$0-9])", "g");
|
|
81
|
+
value = value.replace(regex, replaceWith);
|
|
82
|
+
element.setAttribute(name, value);
|
|
83
|
+
});
|
|
84
|
+
element.childNodes.forEach(c => {
|
|
85
|
+
if (c instanceof node_html_parser_1.HTMLElement) {
|
|
86
|
+
(0, exports.transformRepeatChildAttr)(c, replace, replaceWith);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
exports.transformRepeatChildAttr = transformRepeatChildAttr;
|
|
91
|
+
const processWidgetNode = (element) => {
|
|
92
|
+
// Add data-internal-widget="true" to the widget
|
|
93
|
+
element.setAttribute("data-internal-widget", "true");
|
|
94
|
+
// Transform the name attribute to append $index
|
|
95
|
+
const name = element.getAttribute("name");
|
|
96
|
+
if (name) {
|
|
97
|
+
// Check if name already has $index pattern or is already a bind expression with $index
|
|
98
|
+
if (!name.includes("$index")) {
|
|
99
|
+
// If it's already a bind expression, extract the value
|
|
100
|
+
if (name.startsWith("bind:")) {
|
|
101
|
+
const bindValue = name.substring(5);
|
|
102
|
+
element.setAttribute("name", `bind:${bindValue} + "_" + $index`);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
element.setAttribute("name", `bind:${JSON.stringify(name)} + "_" + $index`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
const transformListChildWidgets = (element) => {
|
|
111
|
+
// Process all child nodes
|
|
112
|
+
element.childNodes.forEach(c => {
|
|
113
|
+
if (c instanceof node_html_parser_1.HTMLElement) {
|
|
114
|
+
// Check if this is the listtemplate element
|
|
115
|
+
const isListTemplate = c.tagName === "WM-LISTTEMPLATE";
|
|
116
|
+
if (isListTemplate) {
|
|
117
|
+
// For listtemplate, skip it but process all its children
|
|
118
|
+
(0, exports.transformListChildWidgets)(c);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
// For all other widgets, process them and their children
|
|
122
|
+
processWidgetNode(c);
|
|
123
|
+
(0, exports.transformListChildWidgets)(c);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
exports.transformListChildWidgets = transformListChildWidgets;
|
|
129
|
+
const transformFormat = (element, attrName, replaceFnName, addDefault = true) => {
|
|
130
|
+
let attrValue = element.getAttribute(attrName);
|
|
131
|
+
if (!attrValue) {
|
|
132
|
+
if (addDefault) {
|
|
133
|
+
attrValue = `bind:fragment.${replaceFnName}()`;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else if (attrValue.startsWith("bind:")) {
|
|
137
|
+
attrValue = `bind:fragment.${replaceFnName}(${attrValue.substring(5)})`;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
attrValue = `bind:fragment.${replaceFnName}("${attrValue}")`;
|
|
141
|
+
}
|
|
142
|
+
if (attrValue) {
|
|
143
|
+
element.setAttribute(attrName, attrValue);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
exports.transformFormat = transformFormat;
|
|
147
|
+
const transformItemsPerRow = (element) => {
|
|
148
|
+
let itemsPerRow = {};
|
|
149
|
+
let itemsPerRowStr = element.getAttribute("itemsperrow");
|
|
150
|
+
if (itemsPerRowStr) {
|
|
151
|
+
itemsPerRowStr === null || itemsPerRowStr === void 0 ? void 0 : itemsPerRowStr.split(" ").forEach(s => {
|
|
152
|
+
const [k, v] = s.split("-");
|
|
153
|
+
itemsPerRow[k] = parseInt(v);
|
|
154
|
+
});
|
|
155
|
+
element.setAttribute("itemsperrow", "bind:" + JSON.stringify(itemsPerRow));
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
exports.transformItemsPerRow = transformItemsPerRow;
|
|
159
|
+
const getRenderItemPartial = (context) => {
|
|
160
|
+
let paramStr = "";
|
|
161
|
+
if (context === null || context === void 0 ? void 0 : context.isPartOfPrefab) {
|
|
162
|
+
paramStr = paramStr + " prefab={fragment.prefab || fragment}";
|
|
163
|
+
}
|
|
164
|
+
return `
|
|
165
|
+
renderitempartial={ (item, index, partialName)=>{
|
|
166
|
+
return (<WmPartialContainer parentWatcher={fragment.watcher}
|
|
167
|
+
${paramStr} themeToUse={fragment.theme} content={partialName} item={item} listener={fragment} />)
|
|
168
|
+
}}
|
|
169
|
+
`;
|
|
170
|
+
};
|
|
171
|
+
exports.getRenderItemPartial = getRenderItemPartial;
|
|
172
|
+
const getOnChangeExprforFormWidget = (element, eventName, context) => {
|
|
173
|
+
var _a, _b, _c;
|
|
174
|
+
let formWidgetDatavalue = null;
|
|
175
|
+
const datavalue = element.getAttribute("datavalue") || "";
|
|
176
|
+
if (datavalue.endsWith(")")) {
|
|
177
|
+
formWidgetDatavalue = ((_a = element.getAttribute("dataset")) === null || _a === void 0 ? void 0 : _a.split(":")) || [];
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
formWidgetDatavalue = ((_b = element.getAttribute("datavalue")) === null || _b === void 0 ? void 0 : _b.split(":")) || [];
|
|
181
|
+
}
|
|
182
|
+
let bindExpr = (formWidgetDatavalue === null || formWidgetDatavalue === void 0 ? void 0 : formWidgetDatavalue.length) > 1 ? formWidgetDatavalue[1] : null;
|
|
183
|
+
if (!bindExpr ||
|
|
184
|
+
(bindExpr === null || bindExpr === void 0 ? void 0 : bindExpr.includes("?")) ||
|
|
185
|
+
(bindExpr === null || bindExpr === void 0 ? void 0 : bindExpr.includes("Widgets")) ||
|
|
186
|
+
(bindExpr === null || bindExpr === void 0 ? void 0 : bindExpr.includes("$formField"))) {
|
|
187
|
+
return "";
|
|
188
|
+
}
|
|
189
|
+
const value = eventName === "on-change" ? "newVal" : "selectedValue";
|
|
190
|
+
const oldValue = eventName === "on-change" ? "oldVal" : "";
|
|
191
|
+
let variableName = null;
|
|
192
|
+
let updateExpr = "";
|
|
193
|
+
// Check if bindExpr contains $item - this indicates we're inside a repeating component
|
|
194
|
+
// (list, carousel, tabs, wizard, accordion, etc.)
|
|
195
|
+
if (bindExpr === null || bindExpr === void 0 ? void 0 : bindExpr.includes("$item")) {
|
|
196
|
+
// Find the parent repeating component (list, carousel, tabs, wizard, accordion)
|
|
197
|
+
// These components all use $item and have a dataset attribute
|
|
198
|
+
const repeatingComponentTags = [
|
|
199
|
+
"wm-list",
|
|
200
|
+
"wm-carousel",
|
|
201
|
+
"wm-tabs",
|
|
202
|
+
"wm-wizard",
|
|
203
|
+
"wm-accordion",
|
|
204
|
+
];
|
|
205
|
+
let currentNode = element.parentNode;
|
|
206
|
+
let parentDataset = null;
|
|
207
|
+
// Traverse up the DOM tree to find the parent repeating component
|
|
208
|
+
while (currentNode) {
|
|
209
|
+
const tagName = (_c = currentNode.tagName) === null || _c === void 0 ? void 0 : _c.toLowerCase();
|
|
210
|
+
if (tagName && repeatingComponentTags.includes(tagName)) {
|
|
211
|
+
parentDataset = currentNode.getAttribute("dataset");
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
currentNode = currentNode.parentNode;
|
|
215
|
+
}
|
|
216
|
+
if (parentDataset && parentDataset.startsWith("bind:")) {
|
|
217
|
+
// Extract variable name from parent dataset
|
|
218
|
+
// Examples:
|
|
219
|
+
// "bind:fragment.Variables.TwoWayBindingData.dataSet" -> "TwoWayBindingData"
|
|
220
|
+
// "bind:Variables.TwoWayBindingData.dataSet" -> "TwoWayBindingData"
|
|
221
|
+
const parentDatasetExpr = parentDataset.substring(5); // Remove "bind:"
|
|
222
|
+
// Try matching with fragment.Variables pattern first, then without fragment
|
|
223
|
+
let variableMatch = parentDatasetExpr.match(/fragment\.Variables\.([^.]+)\.dataSet/);
|
|
224
|
+
if (!variableMatch) {
|
|
225
|
+
variableMatch = parentDatasetExpr.match(/Variables\.([^.]+)\.dataSet/);
|
|
226
|
+
}
|
|
227
|
+
if (variableMatch && variableMatch.length > 0) {
|
|
228
|
+
variableName = variableMatch[1];
|
|
229
|
+
// Extract property name from datavalue (e.g., "$item?.name" -> "name" or "$item.name" -> "name")
|
|
230
|
+
// Handle both optional chaining ($item?.name) and regular ($item.name)
|
|
231
|
+
const propertyMatch = bindExpr.match(/\$item\??\.([a-zA-Z_$][a-zA-Z0-9_$]*)/);
|
|
232
|
+
const propertyName = propertyMatch ? propertyMatch[1] : null;
|
|
233
|
+
if (propertyName) {
|
|
234
|
+
// Check if variable has twoWayBinding enabled at transpilation time
|
|
235
|
+
const twoWayBindingVariables = context === null || context === void 0 ? void 0 : context.get("twoWayBindingVariables");
|
|
236
|
+
const hasTwoWayBinding = (twoWayBindingVariables === null || twoWayBindingVariables === void 0 ? void 0 : twoWayBindingVariables.has(variableName)) === true;
|
|
237
|
+
if (hasTwoWayBinding) {
|
|
238
|
+
// Only generate update expression if variable has twoWayBinding: true
|
|
239
|
+
updateExpr = `fragment.Variables.${variableName}.dataSet[$index].${propertyName} = ${value};`;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// If we still don't have updateExpr, return empty to avoid incorrect binding
|
|
245
|
+
if (!updateExpr) {
|
|
246
|
+
return "";
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
// Not inside a repeating component - use original logic
|
|
251
|
+
const isVariable = bindExpr === null || bindExpr === void 0 ? void 0 : bindExpr.includes("Variables");
|
|
252
|
+
const variableExpr = bindExpr === null || bindExpr === void 0 ? void 0 : bindExpr.split(".");
|
|
253
|
+
variableName =
|
|
254
|
+
isVariable && variableExpr ? variableExpr[2] : variableExpr ? variableExpr[1] : null;
|
|
255
|
+
if (variableName) {
|
|
256
|
+
// Check if variable has twoWayBinding enabled at transpilation time
|
|
257
|
+
const twoWayBindingVariables = context === null || context === void 0 ? void 0 : context.get("twoWayBindingVariables");
|
|
258
|
+
const hasTwoWayBinding = (twoWayBindingVariables === null || twoWayBindingVariables === void 0 ? void 0 : twoWayBindingVariables.has(variableName)) === true;
|
|
259
|
+
if (hasTwoWayBinding) {
|
|
260
|
+
// Only generate update expression if variable has twoWayBinding: true
|
|
261
|
+
updateExpr = bindExpr != null ? `${bindExpr} = ${value};` : "";
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
if (!variableName) {
|
|
266
|
+
return "";
|
|
267
|
+
}
|
|
268
|
+
// If no update expression was generated (variable doesn't have twoWayBinding),
|
|
269
|
+
// return early with just the callback
|
|
270
|
+
if (!updateExpr) {
|
|
271
|
+
return "";
|
|
272
|
+
}
|
|
273
|
+
const callbackEvent = element.getAttribute(eventName);
|
|
274
|
+
if (callbackEvent) {
|
|
275
|
+
element.removeAttribute(eventName);
|
|
276
|
+
}
|
|
277
|
+
// Only include update expression if variable has twoWayBinding: true (checked at transpilation time)
|
|
278
|
+
return `
|
|
279
|
+
($event, widget, ${value}, ${oldValue}) => {
|
|
280
|
+
if(fragment?.Variables?.${variableName}?.twoWayBinding) {
|
|
281
|
+
${updateExpr}
|
|
282
|
+
}
|
|
283
|
+
${callbackEvent ? `${callbackEvent}` : ""};
|
|
284
|
+
}
|
|
285
|
+
`;
|
|
286
|
+
};
|
|
287
|
+
exports.getOnChangeExprforFormWidget = getOnChangeExprforFormWidget;
|
|
288
|
+
const inferTypeAndParseProperty = (name, valWithQuotes) => {
|
|
289
|
+
let val = valWithQuotes.startsWith('"') ? valWithQuotes.substring(1) : valWithQuotes;
|
|
290
|
+
val = val.endsWith('"') ? val.substring(0, val.length - 1) : val;
|
|
291
|
+
try {
|
|
292
|
+
if (val === "true") {
|
|
293
|
+
return "{true}";
|
|
294
|
+
}
|
|
295
|
+
else if (val === "false") {
|
|
296
|
+
return "{false}";
|
|
297
|
+
}
|
|
298
|
+
return /^-?[0-9]*(.[0-9]*)$/.test(val) ? `{${parseFloat(val)}}` : valWithQuotes;
|
|
299
|
+
}
|
|
300
|
+
catch (e) {
|
|
301
|
+
return valWithQuotes;
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
exports.inferTypeAndParseProperty = inferTypeAndParseProperty;
|
|
305
|
+
const extractDatasetInfo = (element) => {
|
|
306
|
+
let dataPath = "";
|
|
307
|
+
const dataSet = element.getAttribute("dataset") || "";
|
|
308
|
+
if (dataSet) {
|
|
309
|
+
const match = dataSet.match(/dataSet\[0\](.*)/);
|
|
310
|
+
if (!dataSet.includes("[0]") || !match || !match[1])
|
|
311
|
+
return "";
|
|
312
|
+
dataPath = match[1].replace(/\[\d+\]/g, "");
|
|
313
|
+
if (!dataPath)
|
|
314
|
+
return "";
|
|
315
|
+
const baseDataset = dataSet.split("[0]")[0];
|
|
316
|
+
if (!baseDataset || baseDataset === dataSet)
|
|
317
|
+
return "";
|
|
318
|
+
element.setAttribute("dataset", baseDataset);
|
|
319
|
+
element.setAttribute("dataPath", dataPath);
|
|
320
|
+
return "";
|
|
321
|
+
}
|
|
322
|
+
return "";
|
|
323
|
+
};
|
|
324
|
+
exports.extractDatasetInfo = extractDatasetInfo;
|
|
325
|
+
const getParentNode = (element, tagName) => {
|
|
326
|
+
var _a;
|
|
327
|
+
let current = element;
|
|
328
|
+
while (current) {
|
|
329
|
+
if (((_a = current.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === tagName.toLocaleLowerCase()) {
|
|
330
|
+
const name = current.getAttribute("name");
|
|
331
|
+
return name || undefined;
|
|
332
|
+
}
|
|
333
|
+
current = current.parentNode;
|
|
334
|
+
}
|
|
335
|
+
return undefined;
|
|
336
|
+
};
|
|
337
|
+
exports.getParentNode = getParentNode;
|
|
338
|
+
const getDirectParentList = (element) => {
|
|
339
|
+
let current = element.parentNode;
|
|
340
|
+
while (current) {
|
|
341
|
+
// If we hit another form first, this form is NOT a direct list child
|
|
342
|
+
if (current.rawTagName === "wm-form") {
|
|
343
|
+
return undefined;
|
|
344
|
+
}
|
|
345
|
+
// If we hit a list without hitting a form, this IS a direct list child
|
|
346
|
+
if (current.rawTagName === "wm-list") {
|
|
347
|
+
return current.getAttribute("name") || undefined;
|
|
348
|
+
}
|
|
349
|
+
current = current.parentNode;
|
|
350
|
+
}
|
|
351
|
+
return undefined;
|
|
352
|
+
};
|
|
353
|
+
exports.getDirectParentList = getDirectParentList;
|
|
354
|
+
const getDatasourceExpr = (element) => {
|
|
355
|
+
const datasetAttr = element.getAttribute("dataset");
|
|
356
|
+
const datasourceAttr = element.getAttribute("datasource");
|
|
357
|
+
if (!datasourceAttr &&
|
|
358
|
+
datasetAttr &&
|
|
359
|
+
datasetAttr.startsWith("bind:fragment.Variables.") &&
|
|
360
|
+
datasetAttr.endsWith(".dataSet")) {
|
|
361
|
+
const match = datasetAttr.match(/^bind:fragment\.Variables\.([^.]+)\.dataSet$/);
|
|
362
|
+
if (match) {
|
|
363
|
+
const variableName = match[1];
|
|
364
|
+
const datasourceValue = `{fragment?.Variables?.${variableName}}`;
|
|
365
|
+
element.setAttribute("datasource", datasourceValue);
|
|
366
|
+
return datasourceValue;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
};
|
|
370
|
+
exports.getDatasourceExpr = getDatasourceExpr;
|
|
371
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/transpile/components/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const transpile_1 = require("../../transpile");
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
const capitalize = (str) => {
|
|
6
|
+
return str
|
|
7
|
+
? str
|
|
8
|
+
.split("-")
|
|
9
|
+
.map(s => s.charAt(0).toUpperCase() + s.substring(1))
|
|
10
|
+
.join("")
|
|
11
|
+
: str;
|
|
12
|
+
};
|
|
13
|
+
exports.default = {
|
|
14
|
+
pre: (element, context) => {
|
|
15
|
+
const componentName = capitalize(element.getAttribute("componentname"));
|
|
16
|
+
return `<Wmx${componentName} ${(0, transpile_1.transformAttrs)(element, context, utils_1.inferTypeAndParseProperty)}>`;
|
|
17
|
+
},
|
|
18
|
+
post: (element, context) => {
|
|
19
|
+
const componentName = capitalize(element.getAttribute("componentname"));
|
|
20
|
+
return `</Wmx${componentName}>`;
|
|
21
|
+
},
|
|
22
|
+
imports: (element, context) => {
|
|
23
|
+
const componentName = capitalize(element.getAttribute("componentname"));
|
|
24
|
+
return [
|
|
25
|
+
{
|
|
26
|
+
name: `{Wmx${componentName}}`,
|
|
27
|
+
from: `@wavemaker-ai/wmx-components`,
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
},
|
|
31
|
+
wmxcomponents: (element, context) => [
|
|
32
|
+
element.getAttribute("componentname"),
|
|
33
|
+
],
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=wmx-component.transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wmx-component.transformer.js","sourceRoot":"","sources":["../../../../../src/transpile/components/wmx-component/wmx-component.transformer.ts"],"names":[],"mappings":";;AAEA,+CAAoF;AACpF,oCAAqD;AAErD,MAAM,UAAU,GAAG,CAAC,GAAuB,EAAE,EAAE;IAC7C,OAAO,GAAG;QACR,CAAC,CAAC,GAAG;aACA,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACpD,IAAI,CAAC,EAAE,CAAC;QACb,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC;AAEF,kBAAe;IACb,GAAG,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE;QAC3D,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;QACxE,OAAO,OAAO,aAAa,IAAI,IAAA,0BAAc,EAAC,OAAO,EAAE,OAAO,EAAE,iCAAyB,CAAC,GAAG,CAAC;IAChG,CAAC;IACD,IAAI,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE;QAC5D,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;QACxE,OAAO,QAAQ,aAAa,GAAG,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE;QAC/D,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;QACxE,OAAO;YACL;gBACE,IAAI,EAAE,OAAO,aAAa,GAAG;gBAC7B,IAAI,EAAE,8BAA8B;aACrC;SACF,CAAC;IACJ,CAAC;IACD,aAAa,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE,CAAC;QACtE,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;KACtC;CACa,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWidgetIdCount = exports.resetWidgetIdCounter = exports.generateWidgetId = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Global Widget ID Manager - Single source of truth for entire project
|
|
6
|
+
* Maintains continuous, unique IDs across all pages and components
|
|
7
|
+
* Never resets automatically - ensures no duplicate IDs project-wide
|
|
8
|
+
*/
|
|
9
|
+
class WidgetIDManager {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.widgetIdCounter = 1;
|
|
12
|
+
this.maxSafeInteger = 999999999; // Prevent overflow
|
|
13
|
+
// Private constructor for singleton pattern
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get singleton instance
|
|
17
|
+
*/
|
|
18
|
+
static getInstance() {
|
|
19
|
+
if (!WidgetIDManager.instance) {
|
|
20
|
+
WidgetIDManager.instance = new WidgetIDManager();
|
|
21
|
+
}
|
|
22
|
+
return WidgetIDManager.instance;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Generate next unique widget ID across entire project
|
|
26
|
+
* Format: widget-{number}
|
|
27
|
+
* NEVER resets automatically - maintains continuous sequence
|
|
28
|
+
*/
|
|
29
|
+
generateWidgetId() {
|
|
30
|
+
if (this.widgetIdCounter >= this.maxSafeInteger) {
|
|
31
|
+
console.warn("Widget ID counter approaching maximum safe value. Resetting to 1.");
|
|
32
|
+
this.widgetIdCounter = 1;
|
|
33
|
+
}
|
|
34
|
+
return `widget-id${this.widgetIdCounter++}`;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* MANUAL reset widget ID counter (use only for testing/development)
|
|
38
|
+
* WARNING: Only use this for special cases, not for normal operation
|
|
39
|
+
*/
|
|
40
|
+
resetCounter() {
|
|
41
|
+
this.widgetIdCounter = 1;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get current counter value (for debugging/monitoring)
|
|
45
|
+
*/
|
|
46
|
+
getCurrentCount() {
|
|
47
|
+
return this.widgetIdCounter;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Set counter to specific value (for advanced use cases)
|
|
51
|
+
*/
|
|
52
|
+
setCounter(value) {
|
|
53
|
+
if (value > 0 && value < this.maxSafeInteger) {
|
|
54
|
+
this.widgetIdCounter = value;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
throw new Error(`Invalid counter value: ${value}. Must be between 1 and ${this.maxSafeInteger}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Export singleton instance and utility functions
|
|
62
|
+
const widgetIDManager = WidgetIDManager.getInstance();
|
|
63
|
+
/**
|
|
64
|
+
* Generate unique widget ID - GLOBAL across entire project
|
|
65
|
+
* Returns: widget-1, widget-2, widget-3... continuously across all pages
|
|
66
|
+
*/
|
|
67
|
+
const generateWidgetId = () => {
|
|
68
|
+
return widgetIDManager.generateWidgetId();
|
|
69
|
+
};
|
|
70
|
+
exports.generateWidgetId = generateWidgetId;
|
|
71
|
+
/**
|
|
72
|
+
* Reset widget ID counter - USE ONLY FOR TESTING/DEVELOPMENT
|
|
73
|
+
* WARNING: This breaks the global uniqueness across pages
|
|
74
|
+
*/
|
|
75
|
+
const resetWidgetIdCounter = () => {
|
|
76
|
+
widgetIDManager.resetCounter();
|
|
77
|
+
};
|
|
78
|
+
exports.resetWidgetIdCounter = resetWidgetIdCounter;
|
|
79
|
+
/**
|
|
80
|
+
* Get current widget ID count - for monitoring/debugging
|
|
81
|
+
* Shows total widgets generated across entire project
|
|
82
|
+
*/
|
|
83
|
+
const getWidgetIdCount = () => {
|
|
84
|
+
return widgetIDManager.getCurrentCount();
|
|
85
|
+
};
|
|
86
|
+
exports.getWidgetIdCount = getWidgetIdCount;
|
|
87
|
+
//# sourceMappingURL=id-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-generator.js","sourceRoot":"","sources":["../../../src/transpile/id-generator.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAM,eAAe;IAKnB;QAHQ,oBAAe,GAAW,CAAC,CAAC;QACnB,mBAAc,GAAG,SAAS,CAAC,CAAC,mBAAmB;QAG9D,4CAA4C;IAC9C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC9B,eAAe,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,eAAe,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,gBAAgB;QACrB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;YAClF,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,YAAY,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,YAAY;QACjB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,eAAe;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,KAAa;QAC7B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,0BAA0B,KAAK,2BAA2B,IAAI,CAAC,cAAc,EAAE,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,kDAAkD;AAClD,MAAM,eAAe,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;AAEtD;;;GAGG;AACI,MAAM,gBAAgB,GAAG,GAAW,EAAE;IAC3C,OAAO,eAAe,CAAC,gBAAgB,EAAE,CAAC;AAC5C,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEF;;;GAGG;AACI,MAAM,oBAAoB,GAAG,GAAS,EAAE;IAC7C,eAAe,CAAC,YAAY,EAAE,CAAC;AACjC,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B;AAEF;;;GAGG;AACI,MAAM,gBAAgB,GAAG,GAAW,EAAE;IAC3C,OAAO,eAAe,CAAC,eAAe,EAAE,CAAC;AAC3C,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Parser = void 0;
|
|
4
|
+
class Parser {
|
|
5
|
+
parse(value) {
|
|
6
|
+
return `"${value}"`;
|
|
7
|
+
}
|
|
8
|
+
parseBind(value) {
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.Parser = Parser;
|
|
13
|
+
//# sourceMappingURL=base-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-parser.js","sourceRoot":"","sources":["../../../../src/transpile/property/base-parser.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;IACjB,KAAK,CAAC,KAAa;QACjB,OAAO,IAAI,KAAK,GAAG,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AARD,wBAQC"}
|