@veloceapps/sdk 7.0.0-8 → 7.0.1-0
Sign up to get free protection for your applications and to get access to all the features.
- package/cms/README.md +45 -0
- package/cms/cms.actions.d.ts +10 -0
- package/cms/components/element-children/element-children.component.d.ts +1 -1
- package/cms/components/element-drop-handle/element-drop-handle.component.d.ts +1 -1
- package/cms/components/element-renderer/element-renderer.component.d.ts +1 -1
- package/cms/components/plugin.component.d.ts +2 -2
- package/cms/components/preview/preview.component.d.ts +4 -3
- package/cms/directives/custom-template.directive.d.ts +1 -1
- package/cms/modules/federated/federated-host.directive.d.ts +8 -0
- package/cms/modules/federated/federated.component.d.ts +5 -7
- package/cms/modules/federated/federated.module.d.ts +4 -3
- package/cms/modules/federated/federated.types.d.ts +1 -5
- package/cms/modules/migrations/types/migrations.types.d.ts +1 -1
- package/cms/plugins/configuration.plugin.d.ts +1 -1
- package/cms/plugins/io.plugin.d.ts +1 -1
- package/cms/plugins/region.plugin.d.ts +1 -1
- package/cms/plugins/script.plugin.d.ts +1 -1
- package/cms/services/templates.service.d.ts +1 -1
- package/cms/types/common.types.d.ts +2 -2
- package/cms/types/elements.types.d.ts +1 -1
- package/cms/types/integration.types.d.ts +1 -1
- package/cms/types/layouts.types.d.ts +1 -1
- package/cms/utils/element.utils.d.ts +2 -2
- package/cms/vendor-map.d.ts +2 -1
- package/core/README.md +5 -0
- package/core/modules/flow-configuration/types/update.types.d.ts +2 -2
- package/core/services/metric-calculation/metric-calculation.types.d.ts +1 -1
- package/core/types/ui-definition.types.d.ts +2 -2
- package/esm2020/cms/cms.actions.mjs +56 -0
- package/esm2020/cms/components/element-children/element-children.component.mjs +35 -0
- package/esm2020/cms/components/element-children/element-children.module.mjs +20 -0
- package/esm2020/cms/components/element-drop-handle/element-drop-handle.component.mjs +28 -0
- package/esm2020/cms/components/element-drop-handle/element-drop-handle.module.mjs +19 -0
- package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +160 -0
- package/{esm2015/cms/components/element-renderer/element-renderer.module.js → esm2020/cms/components/element-renderer/element-renderer.module.mjs} +5 -5
- package/esm2020/cms/components/element.component.mjs +45 -0
- package/esm2020/cms/components/plugin.component.mjs +17 -0
- package/esm2020/cms/components/preview/preview.component.mjs +103 -0
- package/esm2020/cms/components/preview/preview.module.mjs +24 -0
- package/esm2020/cms/directives/custom-template.directive.mjs +26 -0
- package/esm2020/cms/engine/models/entity.mjs +17 -0
- package/esm2020/cms/launcher.module.mjs +24 -0
- package/esm2020/cms/modules/federated/federated-host.directive.mjs +16 -0
- package/esm2020/cms/modules/federated/federated.component.mjs +64 -0
- package/esm2020/cms/modules/federated/federated.module.mjs +20 -0
- package/esm2020/cms/modules/federated/federated.types.mjs +2 -0
- package/esm2020/cms/modules/migrations/migrations.mjs +15 -0
- package/{esm2015/cms/modules/migrations/migrations.module.js → esm2020/cms/modules/migrations/migrations.module.mjs} +5 -5
- package/esm2020/cms/modules/migrations/services/migrations.service.mjs +43 -0
- package/{esm2015/cms/modules/runtime/runtime.module.js → esm2020/cms/modules/runtime/runtime.module.mjs} +6 -6
- package/esm2020/cms/modules/runtime/services/compilation.service.mjs +83 -0
- package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +28 -0
- package/esm2020/cms/modules/runtime/services/runtime.service.mjs +74 -0
- package/esm2020/cms/plugins/configuration.plugin.mjs +105 -0
- package/esm2020/cms/plugins/io.plugin.mjs +36 -0
- package/esm2020/cms/plugins/region.plugin.mjs +58 -0
- package/esm2020/cms/plugins/script.plugin.mjs +65 -0
- package/{esm2015/cms/services/element-context.service.js → esm2020/cms/services/element-context.service.mjs} +4 -4
- package/esm2020/cms/services/integration.state.mjs +40 -0
- package/esm2020/cms/services/io-provider.service.mjs +50 -0
- package/esm2020/cms/services/resources.service.mjs +49 -0
- package/{esm2015/cms/services/templates.service.js → esm2020/cms/services/templates.service.mjs} +4 -4
- package/esm2020/cms/utils/element.utils.mjs +160 -0
- package/esm2020/cms/utils/elements-resolver.mjs +189 -0
- package/esm2020/cms/utils/path.utils.mjs +53 -0
- package/esm2020/cms/utils/ui-definition.utils.mjs +87 -0
- package/esm2020/cms/vendor-map.mjs +67 -0
- package/esm2020/core/core.module.mjs +18 -0
- package/{esm2015/core/modules/configuration/configuration.module.js → esm2020/core/modules/configuration/configuration.module.mjs} +6 -6
- package/esm2020/core/modules/configuration/helpers.mjs +18 -0
- package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +106 -0
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +183 -0
- package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +50 -0
- package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +18 -0
- package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +150 -0
- package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +129 -0
- package/esm2020/core/services/context.service.mjs +64 -0
- package/esm2020/core/services/metric-calculation/metric-calculation.service.mjs +85 -0
- package/esm2020/core/services/product-images.service.mjs +31 -0
- package/esm2020/core/services/quote-draft.service.mjs +232 -0
- package/esm2020/core/utils/line-item.utils.mjs +161 -0
- package/esm2020/core/utils/line-item.worker.mjs +19 -0
- package/esm2020/runtime/components/component-preview/component-preview.component.mjs +125 -0
- package/esm2020/runtime/components/section-renderer/section-renderer.component.mjs +67 -0
- package/esm2020/runtime/components/ui-runtime/runtime.component.mjs +440 -0
- package/esm2020/runtime/components/ui-runtime-preview/runtime-preview.component.mjs +108 -0
- package/esm2020/runtime/execution/components/children-placeholder/children-placeholder.component.mjs +60 -0
- package/esm2020/runtime/execution/components/context-provider/context-provider.component.mjs +39 -0
- package/esm2020/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.mjs +67 -0
- package/esm2020/runtime/execution/components/federated/federated.component.mjs +74 -0
- package/esm2020/runtime/execution/components/velo-attribute/velo-attribute.component.mjs +60 -0
- package/esm2020/runtime/execution/components/velo-multiselect/velo-multiselect.component.mjs +130 -0
- package/esm2020/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.mjs +72 -0
- package/esm2020/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.mjs +97 -0
- package/esm2020/runtime/execution/components/velo-port-radio/velo-port-radio.component.mjs +142 -0
- package/esm2020/runtime/execution/components/velo-type/velo-type.component.mjs +119 -0
- package/esm2020/runtime/execution/directives/section-script.directive.mjs +247 -0
- package/esm2020/runtime/execution/directives/sf-query.directive.mjs +35 -0
- package/esm2020/runtime/execution/directives/velo-attribute.directive.mjs +88 -0
- package/esm2020/runtime/execution/directives/velo-port.directive.mjs +376 -0
- package/esm2020/runtime/execution/directives/vl-approval.directive.mjs +23 -0
- package/esm2020/runtime/execution/directives/vl-document-attachments.directive.mjs +36 -0
- package/esm2020/runtime/execution/directives/vl-document-templates.directive.mjs +60 -0
- package/esm2020/runtime/execution/directives/vl-quote.directive.mjs +42 -0
- package/esm2020/runtime/execution/directives/vl-ramp.directive.mjs +55 -0
- package/esm2020/runtime/execution/runtime-execution.module.mjs +133 -0
- package/esm2020/runtime/execution/utils/federated.util.mjs +32 -0
- package/esm2020/runtime/runtime.module.mjs +74 -0
- package/esm2020/runtime/services/cart.service.mjs +29 -0
- package/{esm2015/runtime/services/collapsible-state.service.js → esm2020/runtime/services/collapsible-state.service.mjs} +4 -4
- package/esm2020/runtime/services/configuration.service.mjs +119 -0
- package/{esm2015/runtime/services/current-state.service.js → esm2020/runtime/services/current-state.service.mjs} +4 -4
- package/{esm2015/runtime/services/form-scope.service.js → esm2020/runtime/services/form-scope.service.mjs} +4 -4
- package/esm2020/runtime/services/product-model-cache.service.mjs +31 -0
- package/esm2020/runtime/services/runtime-context.service.mjs +57 -0
- package/esm2020/runtime/services/runtime-form.service.mjs +219 -0
- package/esm2020/runtime/services/runtime.service.mjs +115 -0
- package/{esm2015/runtime/services/section-helper.service.js → esm2020/runtime/services/section-helper.service.mjs} +4 -4
- package/{esm2015/runtime/services/section-scope.service.js → esm2020/runtime/services/section-scope.service.mjs} +4 -4
- package/{esm2015/runtime/services/section-store.service.js → esm2020/runtime/services/section-store.service.mjs} +4 -4
- package/esm2020/runtime/services/section.service.mjs +117 -0
- package/esm2020/runtime/types/script-registry.types.mjs +51 -0
- package/esm2020/runtime/utils/line-item.util.mjs +270 -0
- package/esm2020/src/components/dialog/dialog.component.mjs +36 -0
- package/esm2020/src/components/dialog/dialog.module.mjs +19 -0
- package/esm2020/src/components/doc-gen/doc-gen.component.mjs +107 -0
- package/esm2020/src/components/doc-gen/doc-gen.module.mjs +19 -0
- package/esm2020/src/components/header/cart-overlay/cart-preview.component.mjs +120 -0
- package/{esm2015/src/components/header/cart-overlay/cart-preview.module.js → esm2020/src/components/header/cart-overlay/cart-preview.module.mjs} +11 -13
- package/esm2020/src/components/header/header.component.mjs +333 -0
- package/{esm2015/src/components/header/header.module.js → esm2020/src/components/header/header.module.mjs} +12 -14
- package/esm2020/src/components/header/metrics/metrics.component.mjs +227 -0
- package/{esm2015/src/components/header/metrics/metrics.module.js → esm2020/src/components/header/metrics/metrics.module.mjs} +17 -19
- package/{esm2015/src/flow-routing.module.js → esm2020/src/flow-routing.module.mjs} +12 -14
- package/esm2020/src/flow.component.mjs +45 -0
- package/esm2020/src/flow.module.mjs +58 -0
- package/esm2020/src/guards/context.guard.mjs +93 -0
- package/esm2020/src/guards/product-unload.guard.mjs +46 -0
- package/esm2020/src/guards/root.guard.mjs +42 -0
- package/esm2020/src/pages/assets/assets.component.mjs +111 -0
- package/esm2020/src/pages/assets/assets.module.mjs +20 -0
- package/esm2020/src/pages/catalog/catalog.component.mjs +111 -0
- package/esm2020/src/pages/catalog/catalog.module.mjs +20 -0
- package/esm2020/src/pages/debug/debug.component.mjs +62 -0
- package/{esm2015/src/pages/debug/debug.module.js → esm2020/src/pages/debug/debug.module.mjs} +12 -14
- package/esm2020/src/pages/empty-account/empty-account.component.mjs +12 -0
- package/esm2020/src/pages/empty-account/empty-account.module.mjs +20 -0
- package/esm2020/src/pages/legacy-product/legacy-product.component.mjs +137 -0
- package/esm2020/src/pages/legacy-product/legacy-product.module.mjs +19 -0
- package/esm2020/src/pages/product/product.component.mjs +94 -0
- package/esm2020/src/pages/product/product.module.mjs +20 -0
- package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +25 -0
- package/esm2020/src/pages/record-not-found/record-not-found.module.mjs +20 -0
- package/esm2020/src/pages/remote/remote.component.mjs +342 -0
- package/esm2020/src/pages/remote/remote.module.mjs +20 -0
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +111 -0
- package/esm2020/src/pages/shopping-cart/shopping-cart.module.mjs +20 -0
- package/esm2020/src/resolvers/flow.resolver.mjs +70 -0
- package/esm2020/src/resolvers/quote.resolver.mjs +90 -0
- package/esm2020/src/services/doc-gen.service.mjs +33 -0
- package/esm2020/src/services/flow-dialog.service.mjs +126 -0
- package/esm2020/src/services/flow-router.service.mjs +144 -0
- package/esm2020/src/services/flow.service.mjs +86 -0
- package/esm2020/src/utils/flow.utils.mjs +21 -0
- package/fesm2015/{veloceapps-sdk-cms.js → veloceapps-sdk-cms.mjs} +178 -207
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -0
- package/fesm2015/{veloceapps-sdk-core.js → veloceapps-sdk-core.mjs} +76 -76
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -0
- package/fesm2015/{veloceapps-sdk-runtime.js → veloceapps-sdk-runtime.mjs} +242 -370
- package/fesm2015/veloceapps-sdk-runtime.mjs.map +1 -0
- package/fesm2015/veloceapps-sdk.mjs +2877 -0
- package/fesm2015/veloceapps-sdk.mjs.map +1 -0
- package/fesm2020/veloceapps-sdk-cms.mjs +2036 -0
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -0
- package/fesm2020/veloceapps-sdk-core.mjs +1289 -0
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -0
- package/fesm2020/veloceapps-sdk-runtime.mjs +3764 -0
- package/fesm2020/veloceapps-sdk-runtime.mjs.map +1 -0
- package/fesm2020/veloceapps-sdk.mjs +2857 -0
- package/fesm2020/veloceapps-sdk.mjs.map +1 -0
- package/package.json +59 -33
- package/runtime/README.md +5 -0
- package/runtime/components/component-preview/component-preview.component.d.ts +2 -2
- package/runtime/components/section-renderer/section-renderer.component.d.ts +1 -1
- package/runtime/components/ui-runtime/runtime.component.d.ts +1 -1
- package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +1 -1
- package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +2 -2
- package/runtime/execution/components/context-provider/context-provider.component.d.ts +1 -1
- package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +1 -1
- package/runtime/execution/components/federated/federated.component.d.ts +1 -1
- package/runtime/execution/components/velo-attribute/velo-attribute.component.d.ts +1 -1
- package/runtime/execution/components/velo-multiselect/velo-multiselect.component.d.ts +1 -1
- package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +1 -1
- package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +1 -1
- package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +1 -1
- package/runtime/execution/components/velo-type/velo-type.component.d.ts +1 -1
- package/runtime/execution/directives/section-script.directive.d.ts +1 -1
- package/runtime/execution/directives/sf-query.directive.d.ts +1 -1
- package/runtime/execution/directives/velo-attribute.directive.d.ts +1 -1
- package/runtime/execution/directives/velo-port.directive.d.ts +6 -6
- package/runtime/execution/directives/vl-approval.directive.d.ts +1 -1
- package/runtime/execution/directives/vl-document-attachments.directive.d.ts +1 -1
- package/runtime/execution/directives/vl-document-templates.directive.d.ts +1 -1
- package/runtime/execution/directives/vl-quote.directive.d.ts +1 -1
- package/runtime/execution/directives/vl-ramp.directive.d.ts +1 -1
- package/runtime/execution/runtime-execution.module.d.ts +3 -5
- package/runtime/execution/utils/federated.util.d.ts +1 -1
- package/runtime/runtime.module.d.ts +3 -5
- package/runtime/services/section.service.d.ts +1 -1
- package/src/components/dialog/dialog.component.d.ts +1 -1
- package/src/components/doc-gen/doc-gen.component.d.ts +1 -1
- package/src/components/header/cart-overlay/cart-preview.component.d.ts +2 -2
- package/src/components/header/header.component.d.ts +1 -1
- package/src/components/header/metrics/metrics.component.d.ts +1 -1
- package/src/flow.component.d.ts +1 -1
- package/src/pages/assets/assets.component.d.ts +1 -1
- package/src/pages/catalog/catalog.component.d.ts +1 -1
- package/src/pages/debug/debug.component.d.ts +5 -3
- package/src/pages/empty-account/empty-account.component.d.ts +1 -1
- package/src/pages/legacy-product/legacy-product.component.d.ts +1 -1
- package/src/pages/legacy-product/legacy-product.module.d.ts +1 -2
- package/src/pages/product/product.component.d.ts +1 -1
- package/src/pages/record-not-found/record-not-found.component.d.ts +1 -1
- package/src/pages/remote/remote.component.d.ts +1 -1
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +1 -1
- package/bundles/veloceapps-sdk-cms.umd.js +0 -2531
- package/bundles/veloceapps-sdk-cms.umd.js.map +0 -1
- package/bundles/veloceapps-sdk-core.umd.js +0 -1916
- package/bundles/veloceapps-sdk-core.umd.js.map +0 -1
- package/bundles/veloceapps-sdk-runtime.umd.js +0 -4415
- package/bundles/veloceapps-sdk-runtime.umd.js.map +0 -1
- package/bundles/veloceapps-sdk.umd.js +0 -3583
- package/bundles/veloceapps-sdk.umd.js.map +0 -1
- package/cms/modules/federated/federated.utils.d.ts +0 -1
- package/cms/package.json +0 -10
- package/cms/veloceapps-sdk-cms.d.ts +0 -5
- package/core/package.json +0 -10
- package/core/veloceapps-sdk-core.d.ts +0 -5
- package/esm2015/cms/cms.actions.js +0 -42
- package/esm2015/cms/components/element-children/element-children.component.js +0 -39
- package/esm2015/cms/components/element-children/element-children.module.js +0 -20
- package/esm2015/cms/components/element-drop-handle/element-drop-handle.component.js +0 -32
- package/esm2015/cms/components/element-drop-handle/element-drop-handle.module.js +0 -19
- package/esm2015/cms/components/element-renderer/element-renderer.component.js +0 -169
- package/esm2015/cms/components/element.component.js +0 -44
- package/esm2015/cms/components/plugin.component.js +0 -16
- package/esm2015/cms/components/preview/preview.component.js +0 -93
- package/esm2015/cms/components/preview/preview.module.js +0 -24
- package/esm2015/cms/directives/custom-template.directive.js +0 -25
- package/esm2015/cms/engine/models/entity.js +0 -18
- package/esm2015/cms/launcher.module.js +0 -24
- package/esm2015/cms/modules/federated/federated.component.js +0 -82
- package/esm2015/cms/modules/federated/federated.module.js +0 -19
- package/esm2015/cms/modules/federated/federated.types.js +0 -2
- package/esm2015/cms/modules/federated/federated.utils.js +0 -37
- package/esm2015/cms/modules/migrations/migrations.js +0 -11
- package/esm2015/cms/modules/migrations/services/migrations.service.js +0 -43
- package/esm2015/cms/modules/runtime/services/compilation.service.js +0 -84
- package/esm2015/cms/modules/runtime/services/runtime-editor.service.js +0 -27
- package/esm2015/cms/modules/runtime/services/runtime.service.js +0 -74
- package/esm2015/cms/plugins/configuration.plugin.js +0 -106
- package/esm2015/cms/plugins/io.plugin.js +0 -37
- package/esm2015/cms/plugins/region.plugin.js +0 -58
- package/esm2015/cms/plugins/script.plugin.js +0 -66
- package/esm2015/cms/services/integration.state.js +0 -40
- package/esm2015/cms/services/io-provider.service.js +0 -51
- package/esm2015/cms/services/resources.service.js +0 -50
- package/esm2015/cms/utils/element.utils.js +0 -157
- package/esm2015/cms/utils/elements-resolver.js +0 -163
- package/esm2015/cms/utils/path.utils.js +0 -56
- package/esm2015/cms/utils/ui-definition.utils.js +0 -82
- package/esm2015/cms/vendor-map.js +0 -51
- package/esm2015/core/core.module.js +0 -18
- package/esm2015/core/modules/configuration/helpers.js +0 -10
- package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +0 -87
- package/esm2015/core/modules/configuration/services/configuration.service.js +0 -177
- package/esm2015/core/modules/configuration/services/runtime-context.service.js +0 -51
- package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +0 -18
- package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +0 -150
- package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +0 -129
- package/esm2015/core/services/context.service.js +0 -53
- package/esm2015/core/services/metric-calculation/metric-calculation.service.js +0 -83
- package/esm2015/core/services/product-images.service.js +0 -30
- package/esm2015/core/services/quote-draft.service.js +0 -217
- package/esm2015/core/utils/line-item.utils.js +0 -143
- package/esm2015/core/utils/line-item.worker.js +0 -19
- package/esm2015/runtime/components/component-preview/component-preview.component.js +0 -125
- package/esm2015/runtime/components/section-renderer/section-renderer.component.js +0 -71
- package/esm2015/runtime/components/ui-runtime/runtime.component.js +0 -429
- package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +0 -109
- package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +0 -68
- package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +0 -36
- package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +0 -72
- package/esm2015/runtime/execution/components/federated/federated.component.js +0 -81
- package/esm2015/runtime/execution/components/velo-attribute/velo-attribute.component.js +0 -65
- package/esm2015/runtime/execution/components/velo-multiselect/velo-multiselect.component.js +0 -136
- package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +0 -80
- package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +0 -101
- package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +0 -150
- package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +0 -121
- package/esm2015/runtime/execution/directives/section-script.directive.js +0 -242
- package/esm2015/runtime/execution/directives/sf-query.directive.js +0 -34
- package/esm2015/runtime/execution/directives/velo-attribute.directive.js +0 -86
- package/esm2015/runtime/execution/directives/velo-port.directive.js +0 -373
- package/esm2015/runtime/execution/directives/vl-approval.directive.js +0 -22
- package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +0 -35
- package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +0 -59
- package/esm2015/runtime/execution/directives/vl-quote.directive.js +0 -41
- package/esm2015/runtime/execution/directives/vl-ramp.directive.js +0 -51
- package/esm2015/runtime/execution/runtime-execution.module.js +0 -163
- package/esm2015/runtime/execution/utils/federated.util.js +0 -37
- package/esm2015/runtime/runtime.module.js +0 -104
- package/esm2015/runtime/services/cart.service.js +0 -27
- package/esm2015/runtime/services/configuration.service.js +0 -101
- package/esm2015/runtime/services/product-model-cache.service.js +0 -30
- package/esm2015/runtime/services/runtime-context.service.js +0 -56
- package/esm2015/runtime/services/runtime-form.service.js +0 -224
- package/esm2015/runtime/services/runtime.service.js +0 -108
- package/esm2015/runtime/services/section.service.js +0 -124
- package/esm2015/runtime/types/script-registry.types.js +0 -51
- package/esm2015/runtime/utils/line-item.util.js +0 -273
- package/esm2015/src/components/dialog/dialog.component.js +0 -40
- package/esm2015/src/components/dialog/dialog.module.js +0 -19
- package/esm2015/src/components/doc-gen/doc-gen.component.js +0 -109
- package/esm2015/src/components/doc-gen/doc-gen.module.js +0 -19
- package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +0 -122
- package/esm2015/src/components/header/header.component.js +0 -336
- package/esm2015/src/components/header/metrics/metrics.component.js +0 -232
- package/esm2015/src/flow.component.js +0 -45
- package/esm2015/src/flow.module.js +0 -60
- package/esm2015/src/guards/context.guard.js +0 -84
- package/esm2015/src/guards/product-unload.guard.js +0 -43
- package/esm2015/src/guards/root.guard.js +0 -41
- package/esm2015/src/pages/assets/assets.component.js +0 -117
- package/esm2015/src/pages/assets/assets.module.js +0 -20
- package/esm2015/src/pages/catalog/catalog.component.js +0 -117
- package/esm2015/src/pages/catalog/catalog.module.js +0 -20
- package/esm2015/src/pages/debug/debug.component.js +0 -61
- package/esm2015/src/pages/empty-account/empty-account.component.js +0 -17
- package/esm2015/src/pages/empty-account/empty-account.module.js +0 -20
- package/esm2015/src/pages/legacy-product/legacy-product.component.js +0 -132
- package/esm2015/src/pages/legacy-product/legacy-product.module.js +0 -21
- package/esm2015/src/pages/product/product.component.js +0 -101
- package/esm2015/src/pages/product/product.module.js +0 -20
- package/esm2015/src/pages/record-not-found/record-not-found.component.js +0 -29
- package/esm2015/src/pages/record-not-found/record-not-found.module.js +0 -20
- package/esm2015/src/pages/remote/remote.component.js +0 -350
- package/esm2015/src/pages/remote/remote.module.js +0 -20
- package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +0 -117
- package/esm2015/src/pages/shopping-cart/shopping-cart.module.js +0 -20
- package/esm2015/src/resolvers/flow.resolver.js +0 -62
- package/esm2015/src/resolvers/quote.resolver.js +0 -88
- package/esm2015/src/services/doc-gen.service.js +0 -33
- package/esm2015/src/services/flow-dialog.service.js +0 -124
- package/esm2015/src/services/flow-router.service.js +0 -144
- package/esm2015/src/services/flow.service.js +0 -84
- package/esm2015/src/utils/flow.utils.js +0 -22
- package/fesm2015/veloceapps-sdk-cms.js.map +0 -1
- package/fesm2015/veloceapps-sdk-core.js.map +0 -1
- package/fesm2015/veloceapps-sdk-runtime.js.map +0 -1
- package/fesm2015/veloceapps-sdk.js +0 -2953
- package/fesm2015/veloceapps-sdk.js.map +0 -1
- package/runtime/package.json +0 -10
- package/runtime/veloceapps-sdk-runtime.d.ts +0 -5
- package/veloceapps-sdk.d.ts +0 -5
- /package/{esm2015/cms/cms.default.js → esm2020/cms/cms.default.mjs} +0 -0
- /package/{esm2015/cms/cms.elements.js → esm2020/cms/cms.elements.mjs} +0 -0
- /package/{esm2015/cms/cms.layouts.js → esm2020/cms/cms.layouts.mjs} +0 -0
- /package/{esm2015/cms/components/index.js → esm2020/cms/components/index.mjs} +0 -0
- /package/{esm2015/cms/components/preview/index.js → esm2020/cms/components/preview/index.mjs} +0 -0
- /package/{esm2015/cms/components/preview/preview.types.js → esm2020/cms/components/preview/preview.types.mjs} +0 -0
- /package/{esm2015/cms/decorators/element.decorator.js → esm2020/cms/decorators/element.decorator.mjs} +0 -0
- /package/{esm2015/cms/decorators/index.js → esm2020/cms/decorators/index.mjs} +0 -0
- /package/{esm2015/cms/engine/models/plugin.js → esm2020/cms/engine/models/plugin.mjs} +0 -0
- /package/{esm2015/cms/index.js → esm2020/cms/index.mjs} +0 -0
- /package/{esm2015/cms/injection-tokens.js → esm2020/cms/injection-tokens.mjs} +0 -0
- /package/{esm2015/cms/modules/federated/default-options.js → esm2020/cms/modules/federated/default-options.mjs} +0 -0
- /package/{esm2015/cms/modules/federated/export.js → esm2020/cms/modules/federated/export.mjs} +0 -0
- /package/{esm2015/cms/modules/migrations/index.js → esm2020/cms/modules/migrations/index.mjs} +0 -0
- /package/{esm2015/cms/modules/migrations/types/migrations.types.js → esm2020/cms/modules/migrations/types/migrations.types.mjs} +0 -0
- /package/{esm2015/cms/modules/runtime/index.js → esm2020/cms/modules/runtime/index.mjs} +0 -0
- /package/{esm2015/cms/modules/runtime/tokens.js → esm2020/cms/modules/runtime/tokens.mjs} +0 -0
- /package/{esm2015/cms/modules/runtime/types/compilation.types.js → esm2020/cms/modules/runtime/types/compilation.types.mjs} +0 -0
- /package/{esm2015/cms/modules/runtime/types/runtime.actions.js → esm2020/cms/modules/runtime/types/runtime.actions.mjs} +0 -0
- /package/{esm2015/cms/services/index.js → esm2020/cms/services/index.mjs} +0 -0
- /package/{esm2015/cms/types/common.types.js → esm2020/cms/types/common.types.mjs} +0 -0
- /package/{esm2015/cms/types/configuration.types.js → esm2020/cms/types/configuration.types.mjs} +0 -0
- /package/{esm2015/cms/types/elements.types.js → esm2020/cms/types/elements.types.mjs} +0 -0
- /package/{esm2015/cms/types/index.js → esm2020/cms/types/index.mjs} +0 -0
- /package/{esm2015/cms/types/integration.types.js → esm2020/cms/types/integration.types.mjs} +0 -0
- /package/{esm2015/cms/types/layouts.types.js → esm2020/cms/types/layouts.types.mjs} +0 -0
- /package/{esm2015/cms/types/path.types.js → esm2020/cms/types/path.types.mjs} +0 -0
- /package/{esm2015/cms/utils/index.js → esm2020/cms/utils/index.mjs} +0 -0
- /package/{esm2015/cms/veloceapps-sdk-cms.js → esm2020/cms/veloceapps-sdk-cms.mjs} +0 -0
- /package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
- /package/{esm2015/core/modules/configuration/index.js → esm2020/core/modules/configuration/index.mjs} +0 -0
- /package/{esm2015/core/modules/configuration/types/configuration-runtime.types.js → esm2020/core/modules/configuration/types/configuration-runtime.types.mjs} +0 -0
- /package/{esm2015/core/modules/flow-configuration/index.js → esm2020/core/modules/flow-configuration/index.mjs} +0 -0
- /package/{esm2015/core/modules/flow-configuration/types/update.types.js → esm2020/core/modules/flow-configuration/types/update.types.mjs} +0 -0
- /package/{esm2015/core/modules/index.js → esm2020/core/modules/index.mjs} +0 -0
- /package/{esm2015/core/services/index.js → esm2020/core/services/index.mjs} +0 -0
- /package/{esm2015/core/services/metric-calculation/metric-calculation.types.js → esm2020/core/services/metric-calculation/metric-calculation.types.mjs} +0 -0
- /package/{esm2015/core/services/metric-calculation/metric-calculation.utils.js → esm2020/core/services/metric-calculation/metric-calculation.utils.mjs} +0 -0
- /package/{esm2015/core/types/index.js → esm2020/core/types/index.mjs} +0 -0
- /package/{esm2015/core/types/runtime.types.js → esm2020/core/types/runtime.types.mjs} +0 -0
- /package/{esm2015/core/types/ui-definition.types.js → esm2020/core/types/ui-definition.types.mjs} +0 -0
- /package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +0 -0
- /package/{esm2015/core/utils/ui-definition.utils.js → esm2020/core/utils/ui-definition.utils.mjs} +0 -0
- /package/{esm2015/core/veloceapps-sdk-core.js → esm2020/core/veloceapps-sdk-core.mjs} +0 -0
- /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/runtime/components/index.js → esm2020/runtime/components/index.mjs} +0 -0
- /package/{esm2015/runtime/index.js → esm2020/runtime/index.mjs} +0 -0
- /package/{esm2015/runtime/services/index.js → esm2020/runtime/services/index.mjs} +0 -0
- /package/{esm2015/runtime/types/bound-data.types.js → esm2020/runtime/types/bound-data.types.mjs} +0 -0
- /package/{esm2015/runtime/types/index.js → esm2020/runtime/types/index.mjs} +0 -0
- /package/{esm2015/runtime/types/quote-states.types.js → esm2020/runtime/types/quote-states.types.mjs} +0 -0
- /package/{esm2015/runtime/types/runtime.types.js → esm2020/runtime/types/runtime.types.mjs} +0 -0
- /package/{esm2015/runtime/utils/section.utils.js → esm2020/runtime/utils/section.utils.mjs} +0 -0
- /package/{esm2015/runtime/utils/sections-binder.helper.js → esm2020/runtime/utils/sections-binder.helper.mjs} +0 -0
- /package/{esm2015/runtime/veloceapps-sdk-runtime.js → esm2020/runtime/veloceapps-sdk-runtime.mjs} +0 -0
- /package/{esm2015/src/components/dialog/dialog.types.js → esm2020/src/components/dialog/dialog.types.mjs} +0 -0
- /package/{esm2015/src/components/header/header.types.js → esm2020/src/components/header/header.types.mjs} +0 -0
- /package/{esm2015/src/components/header/metrics/index.js → esm2020/src/components/header/metrics/index.mjs} +0 -0
- /package/{esm2015/src/components/header/metrics/metrics.definitions.js → esm2020/src/components/header/metrics/metrics.definitions.mjs} +0 -0
- /package/{esm2015/src/constants.js → esm2020/src/constants.mjs} +0 -0
- /package/{esm2015/src/guards/index.js → esm2020/src/guards/index.mjs} +0 -0
- /package/{esm2015/src/index.js → esm2020/src/index.mjs} +0 -0
- /package/{esm2015/src/pages/remote/remote.types.js → esm2020/src/pages/remote/remote.types.mjs} +0 -0
- /package/{esm2015/src/services/index.js → esm2020/src/services/index.mjs} +0 -0
- /package/{esm2015/src/types/context-route.types.js → esm2020/src/types/context-route.types.mjs} +0 -0
- /package/{esm2015/src/types/flow-customization.types.js → esm2020/src/types/flow-customization.types.mjs} +0 -0
- /package/{esm2015/src/types/index.js → esm2020/src/types/index.mjs} +0 -0
- /package/{esm2015/src/types/metrics.types.js → esm2020/src/types/metrics.types.mjs} +0 -0
- /package/{esm2015/src/types/route.types.js → esm2020/src/types/route.types.mjs} +0 -0
- /package/{esm2015/src/utils/index.js → esm2020/src/utils/index.mjs} +0 -0
- /package/{esm2015/veloceapps-sdk.js → esm2020/veloceapps-sdk.mjs} +0 -0
@@ -1,157 +0,0 @@
|
|
1
|
-
import { flatten, omit } from 'lodash';
|
2
|
-
import { CONFIG } from '../cms.elements';
|
3
|
-
import { IOPlugin } from '../plugins/io.plugin';
|
4
|
-
const EXPORTED_CLASS_REGEX = /export class (\S+)/;
|
5
|
-
const METADATA_DECORATOR_REGEX = /@ElementDefinition\(([\s\S]+)\)(\n|\r\n|.)*export class/g;
|
6
|
-
export class UiBuildError extends Error {
|
7
|
-
constructor(message, affectedMetadata) {
|
8
|
-
super(message);
|
9
|
-
this.name = this.constructor.name;
|
10
|
-
this.affectedMetadata = affectedMetadata;
|
11
|
-
}
|
12
|
-
}
|
13
|
-
export const elementToMetadata = (el, parentPath) => {
|
14
|
-
var _a;
|
15
|
-
const script = el.script && window.atob(el.script);
|
16
|
-
const template = el.template && window.atob(el.template);
|
17
|
-
const styles = el.styles && window.atob(el.styles);
|
18
|
-
const exportedClassName = script && ((_a = EXPORTED_CLASS_REGEX.exec(script)) !== null && _a !== void 0 ? _a : [])[1];
|
19
|
-
if (!exportedClassName) {
|
20
|
-
throw new Error("Script doesn't have exported class");
|
21
|
-
}
|
22
|
-
const elementMetadata = extractElementMetadata(script || '');
|
23
|
-
const path = (parentPath ? parentPath + '/' : '') + elementMetadata.name;
|
24
|
-
return Object.assign(Object.assign({}, elementMetadata), { path, script: script === null || script === void 0 ? void 0 : script.replace(METADATA_DECORATOR_REGEX, 'export class'), template,
|
25
|
-
styles, children: el.children.map(child => elementToMetadata(child, path)) });
|
26
|
-
};
|
27
|
-
export const metadataToElement = (metadata, recursive = true) => {
|
28
|
-
const cleanMetadata = omit(metadata, [
|
29
|
-
'path',
|
30
|
-
'template',
|
31
|
-
'styles',
|
32
|
-
'script',
|
33
|
-
'metadata',
|
34
|
-
]);
|
35
|
-
const elMetadata = Object.assign(Object.assign({}, cleanMetadata), { children: metadata.children.map(({ name }) => name) });
|
36
|
-
const normalizedElMetadata = normalizeElementMetadata(elMetadata);
|
37
|
-
if (!metadata.script || !EXPORTED_CLASS_REGEX.test(metadata.script)) {
|
38
|
-
throw new UiBuildError(`'${metadata.name}' component script is missing an exported class`, metadata);
|
39
|
-
}
|
40
|
-
const script = metadata.script &&
|
41
|
-
window.btoa(metadata.script.replace(EXPORTED_CLASS_REGEX, `@ElementDefinition(${stringifyElementMetadata(normalizedElMetadata)})\nexport class Script`));
|
42
|
-
const template = metadata.template && window.btoa(metadata.template);
|
43
|
-
const styles = metadata.styles && window.btoa(metadata.styles);
|
44
|
-
return {
|
45
|
-
script,
|
46
|
-
template,
|
47
|
-
styles,
|
48
|
-
children: recursive ? metadata.children.map(meta => metadataToElement(meta)) : [],
|
49
|
-
};
|
50
|
-
};
|
51
|
-
export const normalizeElementMetadata = (elementMetadata) => {
|
52
|
-
var _a, _b, _c, _d;
|
53
|
-
const metadata = Object.assign({}, elementMetadata);
|
54
|
-
// model
|
55
|
-
const { lineItem, path } = (_a = metadata.model) !== null && _a !== void 0 ? _a : {};
|
56
|
-
const model = lineItem ? { lineItem } : path ? { path } : undefined;
|
57
|
-
if (model) {
|
58
|
-
metadata.model = model;
|
59
|
-
}
|
60
|
-
else {
|
61
|
-
delete metadata.model;
|
62
|
-
}
|
63
|
-
// module
|
64
|
-
if (!metadata.module) {
|
65
|
-
delete metadata.module;
|
66
|
-
}
|
67
|
-
// reference
|
68
|
-
if (!metadata.reference) {
|
69
|
-
delete metadata.reference;
|
70
|
-
}
|
71
|
-
// inputs
|
72
|
-
const inputs = Object.entries((_b = metadata.inputs) !== null && _b !== void 0 ? _b : {}).reduce((acc, [key, value]) => {
|
73
|
-
return Object.assign(Object.assign({}, acc), { [key]: value || null });
|
74
|
-
}, {});
|
75
|
-
if (inputs && Object.keys(inputs).length > 0) {
|
76
|
-
metadata.inputs = inputs;
|
77
|
-
}
|
78
|
-
else {
|
79
|
-
delete metadata.inputs;
|
80
|
-
}
|
81
|
-
// outputs
|
82
|
-
const outputs = Object.entries((_c = metadata.outputs) !== null && _c !== void 0 ? _c : {}).reduce((acc, [key, value]) => {
|
83
|
-
return Object.assign(Object.assign({}, acc), { [key]: value || null });
|
84
|
-
}, {});
|
85
|
-
if (outputs && Object.keys(outputs).length > 0) {
|
86
|
-
metadata.outputs = outputs;
|
87
|
-
}
|
88
|
-
else {
|
89
|
-
delete metadata.outputs;
|
90
|
-
}
|
91
|
-
// children
|
92
|
-
if (!((_d = metadata.children) === null || _d === void 0 ? void 0 : _d.length)) {
|
93
|
-
delete metadata.children;
|
94
|
-
}
|
95
|
-
// isShared
|
96
|
-
if (!metadata.isShared) {
|
97
|
-
delete metadata.isShared;
|
98
|
-
}
|
99
|
-
// configuredStyles
|
100
|
-
if (!metadata.configuredStyles) {
|
101
|
-
delete metadata.configuredStyles;
|
102
|
-
}
|
103
|
-
return metadata;
|
104
|
-
};
|
105
|
-
export const extractElementMetadata = (script) => {
|
106
|
-
var _a;
|
107
|
-
const metadataString = ((_a = METADATA_DECORATOR_REGEX.exec(script)) !== null && _a !== void 0 ? _a : [])[1];
|
108
|
-
// need to reset regex last index to prevent null result for next execution
|
109
|
-
METADATA_DECORATOR_REGEX.lastIndex = 0;
|
110
|
-
return new Function(`return ${metadataString}`)();
|
111
|
-
};
|
112
|
-
export const extendElementMetadata = (script, extend) => {
|
113
|
-
var _a;
|
114
|
-
const metadataString = ((_a = METADATA_DECORATOR_REGEX.exec(script)) !== null && _a !== void 0 ? _a : [])[1];
|
115
|
-
// need to reset regex last index to prevent null result for next execution
|
116
|
-
METADATA_DECORATOR_REGEX.lastIndex = 0;
|
117
|
-
if (!metadataString) {
|
118
|
-
return script;
|
119
|
-
}
|
120
|
-
const updated = Object.assign(Object.assign({}, new Function(`return ${metadataString}`)()), extend);
|
121
|
-
return script.replace(metadataString, stringifyElementMetadata(updated));
|
122
|
-
};
|
123
|
-
export const getElementConfig = (type) => {
|
124
|
-
return CONFIG[type];
|
125
|
-
};
|
126
|
-
export const doesElementSupportIO = (type) => {
|
127
|
-
var _a, _b;
|
128
|
-
return (_b = (_a = getElementConfig(type).plugins) === null || _a === void 0 ? void 0 : _a.includes(IOPlugin)) !== null && _b !== void 0 ? _b : false;
|
129
|
-
};
|
130
|
-
export function stringifyElementMetadata(elementMetadata) {
|
131
|
-
const cleaned = JSON.stringify(elementMetadata, null, 2);
|
132
|
-
return cleaned.replace(/^[\t ]*"[^:\n\r]+(?<!\\)":/gm, function (match) {
|
133
|
-
return match.replace(/"/g, '');
|
134
|
-
});
|
135
|
-
}
|
136
|
-
export const isValidScript = (script) => {
|
137
|
-
var _a;
|
138
|
-
if (!script) {
|
139
|
-
return false;
|
140
|
-
}
|
141
|
-
const exportedClassName = script && ((_a = EXPORTED_CLASS_REGEX.exec(script)) !== null && _a !== void 0 ? _a : [])[1];
|
142
|
-
if (!exportedClassName) {
|
143
|
-
return false;
|
144
|
-
}
|
145
|
-
const meta = extractElementMetadata(script);
|
146
|
-
if (!meta.name || !meta.type) {
|
147
|
-
return false;
|
148
|
-
}
|
149
|
-
return true;
|
150
|
-
};
|
151
|
-
export function flattenElements(elements) {
|
152
|
-
return flatten(elements.map(el => [el, ...flattenElements(el.children)]));
|
153
|
-
}
|
154
|
-
export function isSharedElement(el) {
|
155
|
-
return Boolean(el.isShared) && el.type !== 'REFERENCE';
|
156
|
-
}
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHaEQsTUFBTSxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztBQUNsRCxNQUFNLHdCQUF3QixHQUFHLDBEQUEwRCxDQUFDO0FBRTVGLE1BQU0sT0FBTyxZQUFhLFNBQVEsS0FBSztJQUVyQyxZQUFZLE9BQWUsRUFBRSxnQkFBaUM7UUFDNUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUFhLEVBQUUsVUFBbUIsRUFBbUIsRUFBRTs7SUFDdkYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkQsTUFBTSxpQkFBaUIsR0FBRyxN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QUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxNQUFlLEVBQVcsRUFBRTs7SUFDeEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQUEsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixJQUFJLENBQUMsaUJBQWlCLEVBQUU7UUFDdEIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sSUFBSSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUM1QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsZUFBZSxDQUFDLFFBQTJCO0lBQ3pELE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLGVBQWUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsRUFBbUI7SUFDakQsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO0FBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSUVsZW1lbnQgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBmbGF0dGVuLCBvbWl0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4uL2Ntcy5lbGVtZW50cyc7XG5pbXBvcnQgeyBJT1BsdWdpbiB9IGZyb20gJy4uL3BsdWdpbnMvaW8ucGx1Z2luJztcbmltcG9ydCB7IEVMRU1FTlRfVFlQRSwgRWxlbWVudENvbmZpZywgRWxlbWVudERlZmF1bHRNZXRhZGF0YSwgRWxlbWVudE1ldGFkYXRhLCBFbGVtZW50TW9kZWwgfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IEVYUE9SVEVEX0NMQVNTX1JFR0VYID0gL2V4cG9ydCBjbGFzcyAoXFxTKykvO1xuY29uc3QgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYID0gL0BFbGVtZW50RGVmaW5pdGlvblxcKChbXFxzXFxTXSspXFwpKFxcbnxcXHJcXG58LikqZXhwb3J0IGNsYXNzL2c7XG5cbmV4cG9ydCBjbGFzcyBVaUJ1aWxkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGE7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgYWZmZWN0ZWRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHRoaXMuYWZmZWN0ZWRNZXRhZGF0YSA9IGFmZmVjdGVkTWV0YWRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGVsZW1lbnRUb01ldGFkYXRhID0gKGVsOiBVSUVsZW1lbnQsIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGEgPT4ge1xuICBjb25zdCBzY3JpcHQgPSBlbC5zY3JpcHQgJiYgd2luZG93LmF0b2IoZWwuc2NyaXB0KTtcbiAgY29uc3QgdGVtcGxhdGUgPSBlbC50ZW1wbGF0ZSAmJiB3aW5kb3cuYXRvYihlbC50ZW1wbGF0ZSk7XG4gIGNvbnN0IHN0eWxlcyA9IGVsLnN0eWxlcyAmJiB3aW5kb3cuYXRvYihlbC5zdHlsZXMpO1xuXG4gIGNvbnN0IGV4cG9ydGVkQ2xhc3NOYW1lID0gc2NyaXB0ICYmIChFWFBPUlRFRF9DTEFTU19SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIGlmICghZXhwb3J0ZWRDbGFzc05hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTY3JpcHQgZG9lc24ndCBoYXZlIGV4cG9ydGVkIGNsYXNzXCIpO1xuICB9XG5cbiAgY29uc3QgZWxlbWVudE1ldGFkYXRhID0gZXh0cmFjdEVsZW1lbnRNZXRhZGF0YShzY3JpcHQgfHwgJycpO1xuICBjb25zdCBwYXRoID0gKHBhcmVudFBhdGggPyBwYXJlbnRQYXRoICsgJy8nIDogJycpICsgZWxlbWVudE1ldGFkYXRhLm5hbWU7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5lbGVtZW50TWV0YWRhdGEsXG4gICAgcGF0aCxcbiAgICBzY3JpcHQ6IHNjcmlwdD8ucmVwbGFjZShNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgsICdleHBvcnQgY2xhc3MnKSxcbiAgICB0ZW1wbGF0ZSxcbiAgICBzdHlsZXMsXG4gICAgY2hpbGRyZW46IGVsLmNoaWxkcmVuLm1hcChjaGlsZCA9PiBlbGVtZW50VG9NZXRhZGF0YShjaGlsZCwgcGF0aCkpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhVG9FbGVtZW50ID0gKG1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEsIHJlY3Vyc2l2ZTogYm9vbGVhbiA9IHRydWUpOiBVSUVsZW1lbnQgPT4ge1xuICBjb25zdCBjbGVhbk1ldGFkYXRhID0gb21pdDxFbGVtZW50TWV0YWRhdGEsIGtleW9mIE9taXQ8RWxlbWVudE1ldGFkYXRhLCBrZXlvZiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhPj4obWV0YWRhdGEsIFtcbiAgICAncGF0aCcsXG4gICAgJ3RlbXBsYXRlJyxcbiAgICAnc3R5bGVzJyxcbiAgICAnc2NyaXB0JyxcbiAgICAnbWV0YWRhdGEnLFxuICBdKTtcbiAgY29uc3QgZWxNZXRhZGF0YTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9IHtcbiAgICAuLi5jbGVhbk1ldGFkYXRhLFxuICAgIGNoaWxkcmVuOiBtZXRhZGF0YS5jaGlsZHJlbi5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSxcbiAgfTtcbiAgY29uc3Qgbm9ybWFsaXplZEVsTWV0YWRhdGEgPSBub3JtYWxpemVFbGVtZW50TWV0YWRhdGEoZWxNZXRhZGF0YSk7XG5cbiAgaWYgKCFtZXRhZGF0YS5zY3JpcHQgfHwgIUVYUE9SVEVEX0NMQVNTX1JFR0VYLnRlc3QobWV0YWRhdGEuc2NyaXB0KSkge1xuICAgIHRocm93IG5ldyBVaUJ1aWxkRXJyb3IoYCcke21ldGFkYXRhLm5hbWV9JyBjb21wb25lbnQgc2NyaXB0IGlzIG1pc3NpbmcgYW4gZXhwb3J0ZWQgY2xhc3NgLCBtZXRhZGF0YSk7XG4gIH1cblxuICBjb25zdCBzY3JpcHQgPVxuICAgIG1ldGFkYXRhLnNjcmlwdCAmJlxuICAgIHdpbmRvdy5idG9hKFxuICAgICAgbWV0YWRhdGEuc2NyaXB0LnJlcGxhY2UoXG4gICAgICAgIEVYUE9SVEVEX0NMQVNTX1JFR0VYLFxuICAgICAgICBgQEVsZW1lbnREZWZpbml0aW9uKCR7c3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKG5vcm1hbGl6ZWRFbE1ldGFkYXRhKX0pXFxuZXhwb3J0IGNsYXNzIFNjcmlwdGAsXG4gICAgICApLFxuICAgICk7XG4gIGNvbnN0IHRlbXBsYXRlID0gbWV0YWRhdGEudGVtcGxhdGUgJiYgd2luZG93LmJ0b2EobWV0YWRhdGEudGVtcGxhdGUpO1xuICBjb25zdCBzdHlsZXMgPSBtZXRhZGF0YS5zdHlsZXMgJiYgd2luZG93LmJ0b2EobWV0YWRhdGEuc3R5bGVzKTtcblxuICByZXR1cm4ge1xuICAgIHNjcmlwdCxcbiAgICB0ZW1wbGF0ZSxcbiAgICBzdHlsZXMsXG4gICAgY2hpbGRyZW46IHJlY3Vyc2l2ZSA/IG1ldGFkYXRhLmNoaWxkcmVuLm1hcChtZXRhID0+IG1ldGFkYXRhVG9FbGVtZW50KG1ldGEpKSA6IFtdLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZUVsZW1lbnRNZXRhZGF0YSA9IChlbGVtZW50TWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEpOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhID0+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSB7IC4uLmVsZW1lbnRNZXRhZGF0YSB9O1xuXG4gIC8vIG1vZGVsXG4gIGNvbnN0IHsgbGluZUl0ZW0sIHBhdGggfSA9IG1ldGFkYXRhLm1vZGVsID8/IHt9O1xuICBjb25zdCBtb2RlbDogRWxlbWVudE1vZGVsIHwgdW5kZWZpbmVkID0gbGluZUl0ZW0gPyB7IGxpbmVJdGVtIH0gOiBwYXRoID8geyBwYXRoIH0gOiB1bmRlZmluZWQ7XG4gIGlmIChtb2RlbCkge1xuICAgIG1ldGFkYXRhLm1vZGVsID0gbW9kZWw7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm1vZGVsO1xuICB9XG5cbiAgLy8gbW9kdWxlXG4gIGlmICghbWV0YWRhdGEubW9kdWxlKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm1vZHVsZTtcbiAgfVxuXG4gIC8vIHJlZmVyZW5jZVxuICBpZiAoIW1ldGFkYXRhLnJlZmVyZW5jZSkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5yZWZlcmVuY2U7XG4gIH1cblxuICAvLyBpbnB1dHNcbiAgY29uc3QgaW5wdXRzID0gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEuaW5wdXRzID8/IHt9KS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdmFsdWUgfHwgbnVsbCB9O1xuICB9LCB7fSk7XG4gIGlmIChpbnB1dHMgJiYgT2JqZWN0LmtleXMoaW5wdXRzKS5sZW5ndGggPiAwKSB7XG4gICAgbWV0YWRhdGEuaW5wdXRzID0gaW5wdXRzO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5pbnB1dHM7XG4gIH1cblxuICAvLyBvdXRwdXRzXG4gIGNvbnN0IG91dHB1dHMgPSBPYmplY3QuZW50cmllcyhtZXRhZGF0YS5vdXRwdXRzID8/IHt9KS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogdmFsdWUgfHwgbnVsbCB9O1xuICB9LCB7fSk7XG4gIGlmIChvdXRwdXRzICYmIE9iamVjdC5rZXlzKG91dHB1dHMpLmxlbmd0aCA+IDApIHtcbiAgICBtZXRhZGF0YS5vdXRwdXRzID0gb3V0cHV0cztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEub3V0cHV0cztcbiAgfVxuXG4gIC8vIGNoaWxkcmVuXG4gIGlmICghbWV0YWRhdGEuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5jaGlsZHJlbjtcbiAgfVxuXG4gIC8vIGlzU2hhcmVkXG4gIGlmICghbWV0YWRhdGEuaXNTaGFyZWQpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuaXNTaGFyZWQ7XG4gIH1cblxuICAvLyBjb25maWd1cmVkU3R5bGVzXG4gIGlmICghbWV0YWRhdGEuY29uZmlndXJlZFN0eWxlcykge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5jb25maWd1cmVkU3R5bGVzO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEgPSAoc2NyaXB0OiBzdHJpbmcpOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhID0+IHtcbiAgY29uc3QgbWV0YWRhdGFTdHJpbmcgPSAoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgLy8gbmVlZCB0byByZXNldCByZWdleCBsYXN0IGluZGV4IHRvIHByZXZlbnQgbnVsbCByZXN1bHQgZm9yIG5leHQgZXhlY3V0aW9uXG4gIE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5sYXN0SW5kZXggPSAwO1xuXG4gIHJldHVybiBuZXcgRnVuY3Rpb24oYHJldHVybiAke21ldGFkYXRhU3RyaW5nfWApKCk7XG59O1xuXG5leHBvcnQgY29uc3QgZXh0ZW5kRWxlbWVudE1ldGFkYXRhID0gKHNjcmlwdDogc3RyaW5nLCBleHRlbmQ6IFBhcnRpYWw8RWxlbWVudERlZmF1bHRNZXRhZGF0YT4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBtZXRhZGF0YVN0cmluZyA9IChNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcblxuICAvLyBuZWVkIHRvIHJlc2V0IHJlZ2V4IGxhc3QgaW5kZXggdG8gcHJldmVudCBudWxsIHJlc3VsdCBmb3IgbmV4dCBleGVjdXRpb25cbiAgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmxhc3RJbmRleCA9IDA7XG5cbiAgaWYgKCFtZXRhZGF0YVN0cmluZykge1xuICAgIHJldHVybiBzY3JpcHQ7XG4gIH1cblxuICBjb25zdCB1cGRhdGVkID0geyAuLi5uZXcgRnVuY3Rpb24oYHJldHVybiAke21ldGFkYXRhU3RyaW5nfWApKCksIC4uLmV4dGVuZCB9O1xuICByZXR1cm4gc2NyaXB0LnJlcGxhY2UobWV0YWRhdGFTdHJpbmcsIHN0cmluZ2lmeUVsZW1lbnRNZXRhZGF0YSh1cGRhdGVkKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RWxlbWVudENvbmZpZyA9ICh0eXBlOiBFTEVNRU5UX1RZUEUpOiBFbGVtZW50Q29uZmlnID0+IHtcbiAgcmV0dXJuIENPTkZJR1t0eXBlXTtcbn07XG5cbmV4cG9ydCBjb25zdCBkb2VzRWxlbWVudFN1cHBvcnRJTyA9ICh0eXBlOiBFTEVNRU5UX1RZUEUpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIGdldEVsZW1lbnRDb25maWcodHlwZSkucGx1Z2lucz8uaW5jbHVkZXMoSU9QbHVnaW4pID8/IGZhbHNlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeUVsZW1lbnRNZXRhZGF0YShlbGVtZW50TWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEpOiBzdHJpbmcge1xuICBjb25zdCBjbGVhbmVkID0gSlNPTi5zdHJpbmdpZnkoZWxlbWVudE1ldGFkYXRhLCBudWxsLCAyKTtcblxuICByZXR1cm4gY2xlYW5lZC5yZXBsYWNlKC9eW1xcdCBdKlwiW146XFxuXFxyXSsoPzwhXFxcXClcIjovZ20sIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHJldHVybiBtYXRjaC5yZXBsYWNlKC9cIi9nLCAnJyk7XG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgaXNWYWxpZFNjcmlwdCA9IChzY3JpcHQ/OiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgaWYgKCFzY3JpcHQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBleHBvcnRlZENsYXNzTmFtZSA9IHNjcmlwdCAmJiAoRVhQT1JURURfQ0xBU1NfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcbiAgaWYgKCFleHBvcnRlZENsYXNzTmFtZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IG1ldGEgPSBleHRyYWN0RWxlbWVudE1ldGFkYXRhKHNjcmlwdCk7XG4gIGlmICghbWV0YS5uYW1lIHx8ICFtZXRhLnR5cGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuRWxlbWVudHMoZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICByZXR1cm4gZmxhdHRlbihlbGVtZW50cy5tYXAoZWwgPT4gW2VsLCAuLi5mbGF0dGVuRWxlbWVudHMoZWwuY2hpbGRyZW4pXSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTaGFyZWRFbGVtZW50KGVsOiBFbGVtZW50TWV0YWRhdGEpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW4oZWwuaXNTaGFyZWQpICYmIGVsLnR5cGUgIT09ICdSRUZFUkVOQ0UnO1xufVxuIl19
|
@@ -1,163 +0,0 @@
|
|
1
|
-
import { Component } from '@angular/core';
|
2
|
-
import { transform } from '@babel/standalone';
|
3
|
-
import { isDefined } from '@veloceapps/core';
|
4
|
-
import { flatten, kebabCase, set } from 'lodash';
|
5
|
-
import { DEFAULT_PLUGINS } from '../cms.default';
|
6
|
-
import { CONFIG } from '../cms.elements';
|
7
|
-
import { LAYOUT } from '../cms.layouts';
|
8
|
-
import { DEFAULT_PLUGINS_TOKEN, ELEMENT_CONFIG, ELEMENT_METADATA, SHARED_ELEMENT_METADATA, UI_DEFINITION_METADATA, VENDOR_MAP, } from '../injection-tokens';
|
9
|
-
import { vendorMap } from '../vendor-map';
|
10
|
-
export class ElementsResolver {
|
11
|
-
constructor(uiDef, elements, sharedElements = []) {
|
12
|
-
this.uiDef = uiDef;
|
13
|
-
this.renderableElements = [];
|
14
|
-
this.sharedElements = [];
|
15
|
-
const transpiledElements = this.transpileScripts(elements);
|
16
|
-
const transpiledSharedElements = this.transpileScripts(sharedElements);
|
17
|
-
this.sharedElements = this.flattenElements(transpiledElements)
|
18
|
-
.filter(el => this.isSharedElement(el))
|
19
|
-
.concat(transpiledSharedElements);
|
20
|
-
this.elements = transpiledElements.map(el => this.processElementMetadata(el)).filter(isDefined);
|
21
|
-
this.renderableElements = this.getRenderableElements(this.elements);
|
22
|
-
}
|
23
|
-
addElement(element) {
|
24
|
-
if (element.isShared) {
|
25
|
-
return;
|
26
|
-
}
|
27
|
-
const transpiledElements = this.transpileScripts([element]);
|
28
|
-
this.elements = transpiledElements.map(el => this.processElementMetadata(el)).filter(isDefined);
|
29
|
-
this.renderableElements = this.getRenderableElements(this.elements);
|
30
|
-
}
|
31
|
-
getNgComponents() {
|
32
|
-
return this.renderableElements.map(el => this.resolveElement(el)).filter(isDefined);
|
33
|
-
}
|
34
|
-
transpile(el) {
|
35
|
-
var _a;
|
36
|
-
if (!el.script) {
|
37
|
-
return;
|
38
|
-
}
|
39
|
-
const transformed = transform(el.script, {
|
40
|
-
filename: el.name + '.ts',
|
41
|
-
presets: ['typescript'],
|
42
|
-
sourceMaps: 'inline',
|
43
|
-
});
|
44
|
-
return (_a = transformed.code) !== null && _a !== void 0 ? _a : undefined;
|
45
|
-
}
|
46
|
-
transpileScripts(elements) {
|
47
|
-
return elements.map(el => (Object.assign(Object.assign({}, el), { script: this.transpile(el), children: this.transpileScripts(el.children) })));
|
48
|
-
}
|
49
|
-
flattenElements(elements) {
|
50
|
-
return flatten(elements.map(el => [el, ...this.flattenElements(el.children)]));
|
51
|
-
}
|
52
|
-
isSharedElement(el) {
|
53
|
-
return Boolean(el.isShared) && el.type !== 'REFERENCE';
|
54
|
-
}
|
55
|
-
getRenderableElements(elements) {
|
56
|
-
const renderable = [];
|
57
|
-
for (const el of elements) {
|
58
|
-
if (!this.isSharedElement(el)) {
|
59
|
-
const children = el.children.filter(child => !this.isSharedElement(child));
|
60
|
-
const renderableChildren = this.getRenderableElements(children);
|
61
|
-
renderable.push(Object.assign(Object.assign({}, el), { children }), ...renderableChildren);
|
62
|
-
}
|
63
|
-
}
|
64
|
-
return renderable;
|
65
|
-
}
|
66
|
-
getSharedElement(element) {
|
67
|
-
if (!element.reference) {
|
68
|
-
return;
|
69
|
-
}
|
70
|
-
return this.sharedElements.find(el => element.reference === el.name);
|
71
|
-
}
|
72
|
-
resolveElementTemplate(element) {
|
73
|
-
const config = CONFIG[element.type];
|
74
|
-
const template = !config.suppressTemplate ? element.template : '';
|
75
|
-
return template || config.defaultTemplate || '';
|
76
|
-
}
|
77
|
-
resolveElementStyles(element) {
|
78
|
-
var _a;
|
79
|
-
const config = CONFIG[element.type];
|
80
|
-
let styles = !config.suppressStyles ? (_a = element.styles) !== null && _a !== void 0 ? _a : '' : '';
|
81
|
-
const layout = element.layout && LAYOUT[element.layout];
|
82
|
-
if (layout === null || layout === void 0 ? void 0 : layout.styles) {
|
83
|
-
styles += layout.styles;
|
84
|
-
}
|
85
|
-
return styles;
|
86
|
-
}
|
87
|
-
processElementMetadata(sourceElement) {
|
88
|
-
var _a, _b;
|
89
|
-
let finalElement;
|
90
|
-
if (sourceElement.type === 'REFERENCE') {
|
91
|
-
const sharedElement = this.getSharedElement(sourceElement);
|
92
|
-
if (!sharedElement) {
|
93
|
-
console.warn(`Shared element "${sourceElement.reference}" not found`);
|
94
|
-
return;
|
95
|
-
}
|
96
|
-
finalElement = Object.assign(Object.assign({}, sourceElement), { children: this.getSharedChildren(sharedElement.children, sourceElement.path), type: sharedElement.type, template: sharedElement.template, styles: ((_a = sharedElement.styles) !== null && _a !== void 0 ? _a : '') + '\n' + ((_b = sourceElement.styles) !== null && _b !== void 0 ? _b : ''), inputs: Object.assign(Object.assign({}, sharedElement.inputs), sourceElement.inputs), outputs: Object.assign(Object.assign({}, sharedElement.outputs), sourceElement.outputs) });
|
97
|
-
}
|
98
|
-
else {
|
99
|
-
finalElement = sourceElement;
|
100
|
-
delete sourceElement.reference;
|
101
|
-
}
|
102
|
-
finalElement.template = this.resolveElementTemplate(finalElement);
|
103
|
-
finalElement.styles = this.resolveElementStyles(finalElement);
|
104
|
-
return Object.assign(Object.assign({}, finalElement), { children: finalElement.children.map(child => this.processElementMetadata(child)).filter(isDefined) });
|
105
|
-
}
|
106
|
-
getSharedChildren(children, parentPath) {
|
107
|
-
return children.map(c => {
|
108
|
-
if (!c.path) {
|
109
|
-
return c;
|
110
|
-
}
|
111
|
-
const [elName] = c.path.split('/').reverse();
|
112
|
-
const path = parentPath + '/' + elName;
|
113
|
-
return Object.assign(Object.assign({}, c), { path, children: this.getSharedChildren(c.children, path) });
|
114
|
-
});
|
115
|
-
}
|
116
|
-
resolveElement(element) {
|
117
|
-
var _a;
|
118
|
-
const config = CONFIG[element.type];
|
119
|
-
const defaultPlugins = (_a = DEFAULT_PLUGINS[this.uiDef.type]) !== null && _a !== void 0 ? _a : [];
|
120
|
-
if (!config) {
|
121
|
-
console.warn(`Unknown element type "${element.type}"`);
|
122
|
-
return;
|
123
|
-
}
|
124
|
-
const styles = this.getElementStyles(element);
|
125
|
-
const component = Object.assign(Object.assign({ selector: 'vl-element', template: element.template }, (styles ? { styles: [styles] } : {})), { providers: [
|
126
|
-
{ provide: DEFAULT_PLUGINS_TOKEN, useValue: defaultPlugins },
|
127
|
-
{ provide: UI_DEFINITION_METADATA, useValue: this.uiDef },
|
128
|
-
{ provide: ELEMENT_METADATA, useValue: element },
|
129
|
-
{ provide: SHARED_ELEMENT_METADATA, useValue: this.getSharedElement(element) },
|
130
|
-
{ provide: ELEMENT_CONFIG, useValue: config },
|
131
|
-
{ provide: VENDOR_MAP, useValue: vendorMap },
|
132
|
-
] });
|
133
|
-
const cmp = Component(component)(class C extends config.component {
|
134
|
-
});
|
135
|
-
set(cmp, 'path', element.path);
|
136
|
-
return cmp;
|
137
|
-
}
|
138
|
-
getElementStyles(element) {
|
139
|
-
let result = '';
|
140
|
-
const configuredStyles = this.convertInlineStylesToCSS(element.configuredStyles);
|
141
|
-
if (configuredStyles) {
|
142
|
-
// order is important: styles written by user in CSS code should has higher priority
|
143
|
-
result += configuredStyles;
|
144
|
-
}
|
145
|
-
if (element.styles) {
|
146
|
-
result += element.styles;
|
147
|
-
}
|
148
|
-
return result || undefined;
|
149
|
-
}
|
150
|
-
convertInlineStylesToCSS(styles) {
|
151
|
-
if (!styles) {
|
152
|
-
return '';
|
153
|
-
}
|
154
|
-
const entries = Object.entries(styles);
|
155
|
-
let result = ':host {\n';
|
156
|
-
entries.forEach(([style, value]) => {
|
157
|
-
result += ` ${kebabCase(style)}:${value};\n`;
|
158
|
-
});
|
159
|
-
result += '}\n';
|
160
|
-
return result;
|
161
|
-
}
|
162
|
-
}
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudHMtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixVQUFVLEdBQ1gsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0IsWUFDVSxLQUEyQixFQUNuQyxRQUEyQixFQUMzQixpQkFBb0MsRUFBRTtRQUY5QixVQUFLLEdBQUwsS0FBSyxDQUFzQjtRQUo3Qix1QkFBa0IsR0FBc0IsRUFBRSxDQUFDO1FBQzNDLG1CQUFjLEdBQXNCLEVBQUUsQ0FBQztRQU83QyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2RSxJQUFJ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T0FBd0I7UUFDL0MsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWhCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2pGLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsb0ZBQW9GO1lBQ3BGLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQztTQUM1QjtRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUMxQjtRQUVELE9BQU8sTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRU8sd0JBQXdCLENBQUMsTUFBZ0M7UUFDL0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUV6QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksS0FBSyxDQUFDO1FBRWhCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnQGJhYmVsL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBVSURlZmluaXRpb25NZXRhZGF0YSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4sIGtlYmFiQ2FzZSwgc2V0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERFRkFVTFRfUExVR0lOUyB9IGZyb20gJy4uL2Ntcy5kZWZhdWx0JztcbmltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4uL2Ntcy5lbGVtZW50cyc7XG5pbXBvcnQgeyBMQVlPVVQgfSBmcm9tICcuLi9jbXMubGF5b3V0cyc7XG5pbXBvcnQge1xuICBERUZBVUxUX1BMVUdJTlNfVE9LRU4sXG4gIEVMRU1FTlRfQ09ORklHLFxuICBFTEVNRU5UX01FVEFEQVRBLFxuICBTSEFSRURfRUxFTUVOVF9NRVRBREFUQSxcbiAgVUlfREVGSU5JVElPTl9NRVRBREFUQSxcbiAgVkVORE9SX01BUCxcbn0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgdmVuZG9yTWFwIH0gZnJvbSAnLi4vdmVuZG9yLW1hcCc7XG5cbmV4cG9ydCBjbGFzcyBFbGVtZW50c1Jlc29sdmVyIHtcbiAgcHVibGljIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXTtcblxuICBwcml2YXRlIHJlbmRlcmFibGVFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSBzaGFyZWRFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVpRGVmOiBVSURlZmluaXRpb25NZXRhZGF0YSxcbiAgICBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10sXG4gICAgc2hhcmVkRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW10sXG4gICkge1xuICAgIGNvbnN0IHRyYW5zcGlsZWRFbGVtZW50cyA9IHRoaXMudHJhbnNwaWxlU2NyaXB0cyhlbGVtZW50cyk7XG4gICAgY29uc3QgdHJhbnNwaWxlZFNoYXJlZEVsZW1lbnRzID0gdGhpcy50cmFuc3BpbGVTY3JpcHRzKHNoYXJlZEVsZW1lbnRzKTtcblxuICAgIHRoaXMuc2hhcmVkRWxlbWVudHMgPSB0aGlzLmZsYXR0ZW5FbGVtZW50cyh0cmFuc3BpbGVkRWxlbWVudHMpXG4gICAgICAuZmlsdGVyKGVsID0+IHRoaXMuaXNTaGFyZWRFbGVtZW50KGVsKSlcbiAgICAgIC5jb25jYXQodHJhbnNwaWxlZFNoYXJlZEVsZW1lbnRzKTtcblxuICAgIHRoaXMuZWxlbWVudHMgPSB0cmFuc3BpbGVkRWxlbWVudHMubWFwKGVsID0+IHRoaXMucHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShlbCkpLmZpbHRlcihpc0RlZmluZWQpO1xuXG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHZvaWQge1xuICAgIGlmIChlbGVtZW50LmlzU2hhcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdHJhbnNwaWxlZEVsZW1lbnRzID0gdGhpcy50cmFuc3BpbGVTY3JpcHRzKFtlbGVtZW50XSk7XG4gICAgdGhpcy5lbGVtZW50cyA9IHRyYW5zcGlsZWRFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCk7XG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZ0NvbXBvbmVudHMoKTogVHlwZTxhbnk+W10ge1xuICAgIHJldHVybiB0aGlzLnJlbmRlcmFibGVFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5yZXNvbHZlRWxlbWVudChlbCkpLmZpbHRlcihpc0RlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc3BpbGUoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFlbC5zY3JpcHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybShlbC5zY3JpcHQsIHtcbiAgICAgIGZpbGVuYW1lOiBlbC5uYW1lICsgJy50cycsXG4gICAgICBwcmVzZXRzOiBbJ3R5cGVzY3JpcHQnXSxcbiAgICAgIHNvdXJjZU1hcHM6ICdpbmxpbmUnLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkLmNvZGUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc3BpbGVTY3JpcHRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gZWxlbWVudHMubWFwKGVsID0+ICh7XG4gICAgICAuLi5lbCxcbiAgICAgIHNjcmlwdDogdGhpcy50cmFuc3BpbGUoZWwpLFxuICAgICAgY2hpbGRyZW46IHRoaXMudHJhbnNwaWxlU2NyaXB0cyhlbC5jaGlsZHJlbiksXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBmbGF0dGVuRWxlbWVudHMoZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICAgIHJldHVybiBmbGF0dGVuKGVsZW1lbnRzLm1hcChlbCA9PiBbZWwsIC4uLnRoaXMuZmxhdHRlbkVsZW1lbnRzKGVsLmNoaWxkcmVuKV0pKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTaGFyZWRFbGVtZW50KGVsOiBFbGVtZW50TWV0YWRhdGEpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbihlbC5pc1NoYXJlZCkgJiYgZWwudHlwZSAhPT0gJ1JFRkVSRU5DRSc7XG4gIH1cblxuICBwcml2YXRlIGdldFJlbmRlcmFibGVFbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgY29uc3QgcmVuZGVyYWJsZTogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcbiAgICAgIGlmICghdGhpcy5pc1NoYXJlZEVsZW1lbnQoZWwpKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZWwuY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+ICF0aGlzLmlzU2hhcmVkRWxlbWVudChjaGlsZCkpO1xuICAgICAgICBjb25zdCByZW5kZXJhYmxlQ2hpbGRyZW4gPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyhjaGlsZHJlbik7XG4gICAgICAgIHJlbmRlcmFibGUucHVzaCh7IC4uLmVsLCBjaGlsZHJlbiB9LCAuLi5yZW5kZXJhYmxlQ2hpbGRyZW4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZW5kZXJhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFlbGVtZW50LnJlZmVyZW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNoYXJlZEVsZW1lbnRzLmZpbmQoZWwgPT4gZWxlbWVudC5yZWZlcmVuY2UgPT09IGVsLm5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudFRlbXBsYXRlKGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0gQ09ORklHW2VsZW1lbnQudHlwZV07XG4gICAgY29uc3QgdGVtcGxhdGUgPSAhY29uZmlnLnN1cHByZXNzVGVtcGxhdGUgPyBlbGVtZW50LnRlbXBsYXRlIDogJyc7XG5cbiAgICByZXR1cm4gdGVtcGxhdGUgfHwgY29uZmlnLmRlZmF1bHRUZW1wbGF0ZSB8fCAnJztcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVsZW1lbnRTdHlsZXMoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBsZXQgc3R5bGVzID0gIWNvbmZpZy5zdXBwcmVzc1N0eWxlcyA/IGVsZW1lbnQuc3R5bGVzID8/ICcnIDogJyc7XG5cbiAgICBjb25zdCBsYXlvdXQgPSBlbGVtZW50LmxheW91dCAmJiBMQVlPVVRbZWxlbWVudC5sYXlvdXRdO1xuICAgIGlmIChsYXlvdXQ/LnN0eWxlcykge1xuICAgICAgc3R5bGVzICs9IGxheW91dC5zdHlsZXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0eWxlcztcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShzb3VyY2VFbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQge1xuICAgIGxldCBmaW5hbEVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YTtcblxuICAgIGlmIChzb3VyY2VFbGVtZW50LnR5cGUgPT09ICdSRUZFUkVOQ0UnKSB7XG4gICAgICBjb25zdCBzaGFyZWRFbGVtZW50ID0gdGhpcy5nZXRTaGFyZWRFbGVtZW50KHNvdXJjZUVsZW1lbnQpO1xuXG4gICAgICBpZiAoIXNoYXJlZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBTaGFyZWQgZWxlbWVudCBcIiR7c291cmNlRWxlbWVudC5yZWZlcmVuY2V9XCIgbm90IGZvdW5kYCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZmluYWxFbGVtZW50ID0ge1xuICAgICAgICAuLi5zb3VyY2VFbGVtZW50LFxuICAgICAgICBjaGlsZHJlbjogdGhpcy5nZXRTaGFyZWRDaGlsZHJlbihzaGFyZWRFbGVtZW50LmNoaWxkcmVuLCBzb3VyY2VFbGVtZW50LnBhdGgpLFxuICAgICAgICB0eXBlOiBzaGFyZWRFbGVtZW50LnR5cGUsXG4gICAgICAgIHRlbXBsYXRlOiBzaGFyZWRFbGVtZW50LnRlbXBsYXRlLFxuICAgICAgICBzdHlsZXM6IChzaGFyZWRFbGVtZW50LnN0eWxlcyA/PyAnJykgKyAnXFxuJyArIChzb3VyY2VFbGVtZW50LnN0eWxlcyA/PyAnJyksXG4gICAgICAgIGlucHV0czoge1xuICAgICAgICAgIC4uLnNoYXJlZEVsZW1lbnQuaW5wdXRzLFxuICAgICAgICAgIC4uLnNvdXJjZUVsZW1lbnQuaW5wdXRzLFxuICAgICAgICB9LFxuICAgICAgICBvdXRwdXRzOiB7XG4gICAgICAgICAgLi4uc2hhcmVkRWxlbWVudC5vdXRwdXRzLFxuICAgICAgICAgIC4uLnNvdXJjZUVsZW1lbnQub3V0cHV0cyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbmFsRWxlbWVudCA9IHNvdXJjZUVsZW1lbnQ7XG4gICAgICBkZWxldGUgc291cmNlRWxlbWVudC5yZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgZmluYWxFbGVtZW50LnRlbXBsYXRlID0gdGhpcy5yZXNvbHZlRWxlbWVudFRlbXBsYXRlKGZpbmFsRWxlbWVudCk7XG4gICAgZmluYWxFbGVtZW50LnN0eWxlcyA9IHRoaXMucmVzb2x2ZUVsZW1lbnRTdHlsZXMoZmluYWxFbGVtZW50KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5maW5hbEVsZW1lbnQsXG4gICAgICBjaGlsZHJlbjogZmluYWxFbGVtZW50LmNoaWxkcmVuLm1hcChjaGlsZCA9PiB0aGlzLnByb2Nlc3NFbGVtZW50TWV0YWRhdGEoY2hpbGQpKS5maWx0ZXIoaXNEZWZpbmVkKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaGFyZWRDaGlsZHJlbihjaGlsZHJlbjogRWxlbWVudE1ldGFkYXRhW10sIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIGNoaWxkcmVuLm1hcChjID0+IHtcbiAgICAgIGlmICghYy5wYXRoKSB7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBbZWxOYW1lXSA9IGMucGF0aC5zcGxpdCgnLycpLnJldmVyc2UoKTtcbiAgICAgIGNvbnN0IHBhdGggPSBwYXJlbnRQYXRoICsgJy8nICsgZWxOYW1lO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jLFxuICAgICAgICBwYXRoLFxuICAgICAgICBjaGlsZHJlbjogdGhpcy5nZXRTaGFyZWRDaGlsZHJlbihjLmNoaWxkcmVuLCBwYXRoKSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IFR5cGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY29uZmlnID0gQ09ORklHW2VsZW1lbnQudHlwZV07XG4gICAgY29uc3QgZGVmYXVsdFBsdWdpbnMgPSBERUZBVUxUX1BMVUdJTlNbdGhpcy51aURlZi50eXBlXSA/PyBbXTtcblxuICAgIGlmICghY29uZmlnKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFVua25vd24gZWxlbWVudCB0eXBlIFwiJHtlbGVtZW50LnR5cGV9XCJgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdHlsZXMgPSB0aGlzLmdldEVsZW1lbnRTdHlsZXMoZWxlbWVudCk7XG5cbiAgICBjb25zdCBjb21wb25lbnQ6IENvbXBvbmVudCA9IHtcbiAgICAgIHNlbGVjdG9yOiAndmwtZWxlbWVudCcsXG4gICAgICB0ZW1wbGF0ZTogZWxlbWVudC50ZW1wbGF0ZSxcbiAgICAgIC4uLihzdHlsZXMgPyB7IHN0eWxlczogW3N0eWxlc10gfSA6IHt9KSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IERFRkFVTFRfUExVR0lOU19UT0tFTiwgdXNlVmFsdWU6IGRlZmF1bHRQbHVnaW5zIH0sXG4gICAgICAgIHsgcHJvdmlkZTogVUlfREVGSU5JVElPTl9NRVRBREFUQSwgdXNlVmFsdWU6IHRoaXMudWlEZWYgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogZWxlbWVudCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFNIQVJFRF9FTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogdGhpcy5nZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQpIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRUxFTUVOVF9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgICAgeyBwcm92aWRlOiBWRU5ET1JfTUFQLCB1c2VWYWx1ZTogdmVuZG9yTWFwIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBjbXAgPSBDb21wb25lbnQoY29tcG9uZW50KShjbGFzcyBDIGV4dGVuZHMgY29uZmlnLmNvbXBvbmVudCB7fSk7XG5cbiAgICBzZXQoY21wLCAncGF0aCcsIGVsZW1lbnQucGF0aCk7XG5cbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbGVtZW50U3R5bGVzKGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuXG4gICAgY29uc3QgY29uZmlndXJlZFN0eWxlcyA9IHRoaXMuY29udmVydElubGluZVN0eWxlc1RvQ1NTKGVsZW1lbnQuY29uZmlndXJlZFN0eWxlcyk7XG4gICAgaWYgKGNvbmZpZ3VyZWRTdHlsZXMpIHtcbiAgICAgIC8vIG9yZGVyIGlzIGltcG9ydGFudDogc3R5bGVzIHdyaXR0ZW4gYnkgdXNlciBpbiBDU1MgY29kZSBzaG91bGQgaGFzIGhpZ2hlciBwcmlvcml0eVxuICAgICAgcmVzdWx0ICs9IGNvbmZpZ3VyZWRTdHlsZXM7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQuc3R5bGVzKSB7XG4gICAgICByZXN1bHQgKz0gZWxlbWVudC5zdHlsZXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhzdHlsZXM/OiBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKCFzdHlsZXMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoc3R5bGVzKTtcbiAgICBsZXQgcmVzdWx0ID0gJzpob3N0IHtcXG4nO1xuXG4gICAgZW50cmllcy5mb3JFYWNoKChbc3R5bGUsIHZhbHVlXSkgPT4ge1xuICAgICAgcmVzdWx0ICs9IGAgICR7a2ViYWJDYXNlKHN0eWxlKX06JHt2YWx1ZX07XFxuYDtcbiAgICB9KTtcblxuICAgIHJlc3VsdCArPSAnfVxcbic7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
@@ -1,56 +0,0 @@
|
|
1
|
-
import { compact } from 'lodash';
|
2
|
-
import { findElementByModule } from './ui-definition.utils';
|
3
|
-
export const parseBoundPath = (path) => {
|
4
|
-
var _a, _b;
|
5
|
-
const regexp = new RegExp(`(?:\\/)(?:\\w+)(?:\\/)(?:ports|attributes)(?:\\/)(?:\\w+)|(?:\\/)(?:\\w+)`, 'g');
|
6
|
-
const blocks = (_b = (_a = path.match(regexp)) === null || _a === void 0 ? void 0 : _a.map(match => {
|
7
|
-
const [type, property, name] = compact(match.split('/'));
|
8
|
-
return { type, property, name };
|
9
|
-
})) !== null && _b !== void 0 ? _b : [];
|
10
|
-
return blocks;
|
11
|
-
};
|
12
|
-
export const parsePath = (path) => {
|
13
|
-
var _a, _b, _c, _d;
|
14
|
-
const segments = path.split('/');
|
15
|
-
let module;
|
16
|
-
let variable;
|
17
|
-
if ((_a = segments[0]) === null || _a === void 0 ? void 0 : _a.startsWith('@')) {
|
18
|
-
module = (_b = segments.shift()) === null || _b === void 0 ? void 0 : _b.substring(1);
|
19
|
-
}
|
20
|
-
if (((_c = segments[segments.length - 1]) === null || _c === void 0 ? void 0 : _c[0]) === ':') {
|
21
|
-
variable = (_d = segments.pop()) === null || _d === void 0 ? void 0 : _d.substring(1);
|
22
|
-
}
|
23
|
-
const isAbsolute = !segments[0];
|
24
|
-
const nonEmptySegments = segments.filter(Boolean);
|
25
|
-
if (!isAbsolute && nonEmptySegments[0] === '.') {
|
26
|
-
nonEmptySegments.shift();
|
27
|
-
}
|
28
|
-
return {
|
29
|
-
isAbsolute,
|
30
|
-
segments: nonEmptySegments,
|
31
|
-
module,
|
32
|
-
variable,
|
33
|
-
};
|
34
|
-
};
|
35
|
-
export const getAbsolutePath = (elements, subject, path) => {
|
36
|
-
var _a, _b, _c;
|
37
|
-
if (path.module) {
|
38
|
-
return (_a = findElementByModule(elements, path.module, path.segments[0])) === null || _a === void 0 ? void 0 : _a.path;
|
39
|
-
}
|
40
|
-
const subjectSegments = (_c = (_b = subject.path) === null || _b === void 0 ? void 0 : _b.split('/')) !== null && _c !== void 0 ? _c : [];
|
41
|
-
const segments = [...path.segments];
|
42
|
-
if (path.isAbsolute) {
|
43
|
-
return segments.join('/');
|
44
|
-
}
|
45
|
-
while (segments.length) {
|
46
|
-
const segment = segments.shift();
|
47
|
-
if (segment === '..') {
|
48
|
-
subjectSegments.pop();
|
49
|
-
}
|
50
|
-
else if (segment) {
|
51
|
-
subjectSegments.push(segment);
|
52
|
-
}
|
53
|
-
}
|
54
|
-
return subjectSegments.join('/');
|
55
|
-
};
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9wYXRoLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBWSxFQUFlLEVBQUU7O0lBQzFELE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLDJFQUEyRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVHLE1BQU0sTUFBTSxHQUNWLE1BQUEsTUFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQywwQ0FBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDLENBQUMsbUNBQUksRUFBRSxDQUFDO0lBRVgsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFlLEVBQUU7O0lBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsSUFBSSxNQUEwQixDQUFDO0lBQy9CLElBQUksUUFBNEIsQ0FBQztJQUVqQyxJQUFJLE1BQUEsUUFBUSxDQUFDLENBQUMsQ0FBQywwQ0FBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxHQUFHLE1BQUEsUUFBUSxDQUFDLEtBQUssRUFBRSwwQ0FBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekM7SUFFRCxJQUFJLENBQUEsTUFBQSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsMENBQUcsQ0FBQyxDQUFDLE1BQUssR0FBRyxFQUFFO1FBQzlDLFFBQVEsR0FBRyxNQUFBLFFBQVEsQ0FBQyxHQUFHLEVBQUUsMENBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWxELElBQUksQ0FBQyxVQUFVLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO1FBQzlDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO0tBQzFCO0lBRUQsT0FBTztRQUNMLFVBQVU7UUFDVixRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLE1BQU07UUFDTixRQUFRO0tBQ1QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixRQUEyQixFQUMzQixPQUF3QixFQUN4QixJQUFpQixFQUNHLEVBQUU7O0lBQ3RCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNmLE9BQU8sTUFBQSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLDBDQUFFLElBQUksQ0FBQztLQUMzRTtJQUVELE1BQU0sZUFBZSxHQUFHLE1BQUEsTUFBQSxPQUFPLENBQUMsSUFBSSwwQ0FBRSxLQUFLLENBQUMsR0FBRyxDQUFDLG1DQUFJLEVBQUUsQ0FBQztJQUN2RCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXBDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNuQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDM0I7SUFFRCxPQUFPLFFBQVEsQ0FBQyxNQUFNLEVBQUU7UUFDdEIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWpDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTtZQUNwQixlQUFlLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDdkI7YUFBTSxJQUFJLE9BQU8sRUFBRTtZQUNsQixlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9CO0tBQ0Y7SUFFRCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcGFjdCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRQYXRoLCBQYXRoQmxvY2sgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBmaW5kRWxlbWVudEJ5TW9kdWxlIH0gZnJvbSAnLi91aS1kZWZpbml0aW9uLnV0aWxzJztcblxuZXhwb3J0IGNvbnN0IHBhcnNlQm91bmRQYXRoID0gKHBhdGg6IHN0cmluZyk6IFBhdGhCbG9ja1tdID0+IHtcbiAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cChgKD86XFxcXC8pKD86XFxcXHcrKSg/OlxcXFwvKSg/OnBvcnRzfGF0dHJpYnV0ZXMpKD86XFxcXC8pKD86XFxcXHcrKXwoPzpcXFxcLykoPzpcXFxcdyspYCwgJ2cnKTtcbiAgY29uc3QgYmxvY2tzOiBQYXRoQmxvY2tbXSA9XG4gICAgcGF0aC5tYXRjaChyZWdleHApPy5tYXAobWF0Y2ggPT4ge1xuICAgICAgY29uc3QgW3R5cGUsIHByb3BlcnR5LCBuYW1lXSA9IGNvbXBhY3QobWF0Y2guc3BsaXQoJy8nKSk7XG4gICAgICByZXR1cm4geyB0eXBlLCBwcm9wZXJ0eSwgbmFtZSB9O1xuICAgIH0pID8/IFtdO1xuXG4gIHJldHVybiBibG9ja3M7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VQYXRoID0gKHBhdGg6IHN0cmluZyk6IEVsZW1lbnRQYXRoID0+IHtcbiAgY29uc3Qgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gIGxldCBtb2R1bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgbGV0IHZhcmlhYmxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgaWYgKHNlZ21lbnRzWzBdPy5zdGFydHNXaXRoKCdAJykpIHtcbiAgICBtb2R1bGUgPSBzZWdtZW50cy5zaGlmdCgpPy5zdWJzdHJpbmcoMSk7XG4gIH1cblxuICBpZiAoc2VnbWVudHNbc2VnbWVudHMubGVuZ3RoIC0gMV0/LlswXSA9PT0gJzonKSB7XG4gICAgdmFyaWFibGUgPSBzZWdtZW50cy5wb3AoKT8uc3Vic3RyaW5nKDEpO1xuICB9XG5cbiAgY29uc3QgaXNBYnNvbHV0ZSA9ICFzZWdtZW50c1swXTtcbiAgY29uc3Qgbm9uRW1wdHlTZWdtZW50cyA9IHNlZ21lbnRzLmZpbHRlcihCb29sZWFuKTtcblxuICBpZiAoIWlzQWJzb2x1dGUgJiYgbm9uRW1wdHlTZWdtZW50c1swXSA9PT0gJy4nKSB7XG4gICAgbm9uRW1wdHlTZWdtZW50cy5zaGlmdCgpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBpc0Fic29sdXRlLFxuICAgIHNlZ21lbnRzOiBub25FbXB0eVNlZ21lbnRzLFxuICAgIG1vZHVsZSxcbiAgICB2YXJpYWJsZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBYnNvbHV0ZVBhdGggPSAoXG4gIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSxcbiAgc3ViamVjdDogRWxlbWVudE1ldGFkYXRhLFxuICBwYXRoOiBFbGVtZW50UGF0aCxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmIChwYXRoLm1vZHVsZSkge1xuICAgIHJldHVybiBmaW5kRWxlbWVudEJ5TW9kdWxlKGVsZW1lbnRzLCBwYXRoLm1vZHVsZSwgcGF0aC5zZWdtZW50c1swXSk/LnBhdGg7XG4gIH1cblxuICBjb25zdCBzdWJqZWN0U2VnbWVudHMgPSBzdWJqZWN0LnBhdGg/LnNwbGl0KCcvJykgPz8gW107XG4gIGNvbnN0IHNlZ21lbnRzID0gWy4uLnBhdGguc2VnbWVudHNdO1xuXG4gIGlmIChwYXRoLmlzQWJzb2x1dGUpIHtcbiAgICByZXR1cm4gc2VnbWVudHMuam9pbignLycpO1xuICB9XG5cbiAgd2hpbGUgKHNlZ21lbnRzLmxlbmd0aCkge1xuICAgIGNvbnN0IHNlZ21lbnQgPSBzZWdtZW50cy5zaGlmdCgpO1xuXG4gICAgaWYgKHNlZ21lbnQgPT09ICcuLicpIHtcbiAgICAgIHN1YmplY3RTZWdtZW50cy5wb3AoKTtcbiAgICB9IGVsc2UgaWYgKHNlZ21lbnQpIHtcbiAgICAgIHN1YmplY3RTZWdtZW50cy5wdXNoKHNlZ21lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJqZWN0U2VnbWVudHMuam9pbignLycpO1xufTtcbiJdfQ==
|
@@ -1,82 +0,0 @@
|
|
1
|
-
export function getElementUniqueName(collection, name, comparator) {
|
2
|
-
let result = '';
|
3
|
-
let index = 0;
|
4
|
-
while (!result) {
|
5
|
-
const candidate = name + (index ? ` (${index})` : '');
|
6
|
-
const exists = collection.some(comparator(candidate));
|
7
|
-
if (!exists) {
|
8
|
-
result = candidate;
|
9
|
-
}
|
10
|
-
else {
|
11
|
-
index++;
|
12
|
-
}
|
13
|
-
}
|
14
|
-
return result;
|
15
|
-
}
|
16
|
-
const insertElementAt = (source, target, parentPath, index) => {
|
17
|
-
const result = [...source];
|
18
|
-
const name = getElementUniqueName(result, target.name, (name) => (el) => el.name === name);
|
19
|
-
const path = parentPath ? `${parentPath}/${name}` : name;
|
20
|
-
result.splice(index, 0, Object.assign(Object.assign({}, target), { path, name }));
|
21
|
-
return result;
|
22
|
-
};
|
23
|
-
export const insertElement = (source, target, path, index) => {
|
24
|
-
if (!path) {
|
25
|
-
return insertElementAt(source, target, '', index);
|
26
|
-
}
|
27
|
-
return source.map(element => {
|
28
|
-
var _a;
|
29
|
-
if (element.path === path) {
|
30
|
-
return Object.assign(Object.assign({}, element), { children: insertElementAt(element.children, target, element.path, index) });
|
31
|
-
}
|
32
|
-
else if ((_a = element.path) === null || _a === void 0 ? void 0 : _a.startsWith(path)) {
|
33
|
-
return Object.assign(Object.assign({}, element), { children: insertElement(element.children, target, path, index) });
|
34
|
-
}
|
35
|
-
else {
|
36
|
-
return element;
|
37
|
-
}
|
38
|
-
});
|
39
|
-
};
|
40
|
-
export const removeElement = (source, path) => {
|
41
|
-
return source.reduce((trunk, element) => {
|
42
|
-
if (path === element.path) {
|
43
|
-
return trunk;
|
44
|
-
}
|
45
|
-
if (element.path) {
|
46
|
-
if (path.startsWith(element.path)) {
|
47
|
-
trunk.push(Object.assign(Object.assign({}, element), { children: removeElement(element.children, path) }));
|
48
|
-
}
|
49
|
-
else {
|
50
|
-
trunk.push(element);
|
51
|
-
}
|
52
|
-
}
|
53
|
-
return trunk;
|
54
|
-
}, []);
|
55
|
-
};
|
56
|
-
export const findElementByPath = (source, path) => {
|
57
|
-
for (const el of source) {
|
58
|
-
if (el.path === path) {
|
59
|
-
return el;
|
60
|
-
}
|
61
|
-
if (el.path && path.startsWith(el.path)) {
|
62
|
-
const found = findElementByPath(el.children, path);
|
63
|
-
if (found) {
|
64
|
-
return found;
|
65
|
-
}
|
66
|
-
}
|
67
|
-
}
|
68
|
-
return;
|
69
|
-
};
|
70
|
-
export const findElementByModule = (elements, module, elementName) => {
|
71
|
-
for (const el of elements) {
|
72
|
-
if (el.module === module && el.name === elementName) {
|
73
|
-
return el;
|
74
|
-
}
|
75
|
-
const child = findElementByModule(el.children, module, elementName);
|
76
|
-
if (child) {
|
77
|
-
return child;
|
78
|
-
}
|
79
|
-
}
|
80
|
-
return;
|
81
|
-
};
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbi51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy91aS1kZWZpbml0aW9uLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsVUFBZSxFQUNmLElBQVksRUFDWixVQUFnRjtJQUVoRixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDaEIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBRWQsT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUNkLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxHQUFHLFNBQVMsQ0FBQztTQUNwQjthQUFNO1lBQ0wsS0FBSyxFQUFFLENBQUM7U0FDVDtLQUNGO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sZUFBZSxHQUFHLENBQ3RCLE1BQXlCLEVBQ3pCLE1BQXVCLEVBQ3ZCLFVBQWtCLEVBQ2xCLEtBQWEsRUFDTSxFQUFFO0lBQ3JCLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUMzQixNQUFNLElBQUksR0FBRyxvQkFBb0IsQ0FDL0IsTUFBTSxFQUNOLE1BQU0sQ0FBQyxJQUFJLEVBQ1gsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNmLENBQUMsRUFBRSxFQUFXLEVBQUUsQ0FDZCxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FDckIsQ0FBQztJQUNGLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFD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LElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7WUFDbkQsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE1BQU0sS0FBSyxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3BFLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxLQUFLLENBQUM7U0FDZDtLQUNGO0lBRUQsT0FBTztBQUNULENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRNZXRhZGF0YSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRVbmlxdWVOYW1lPFQ+KFxuICBjb2xsZWN0aW9uOiBUW10sXG4gIG5hbWU6IHN0cmluZyxcbiAgY29tcGFyYXRvcjogKG5hbWU6IHN0cmluZykgPT4gKHZhbHVlOiBULCBpbmRleD86IG51bWJlciwgYXJyYXk/OiBUW10pID0+IGJvb2xlYW4sXG4pOiBzdHJpbmcge1xuICBsZXQgcmVzdWx0ID0gJyc7XG4gIGxldCBpbmRleCA9IDA7XG5cbiAgd2hpbGUgKCFyZXN1bHQpIHtcbiAgICBjb25zdCBjYW5kaWRhdGUgPSBuYW1lICsgKGluZGV4ID8gYCAoJHtpbmRleH0pYCA6ICcnKTtcbiAgICBjb25zdCBleGlzdHMgPSBjb2xsZWN0aW9uLnNvbWUoY29tcGFyYXRvcihjYW5kaWRhdGUpKTtcblxuICAgIGlmICghZXhpc3RzKSB7XG4gICAgICByZXN1bHQgPSBjYW5kaWRhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluZGV4Kys7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuY29uc3QgaW5zZXJ0RWxlbWVudEF0ID0gKFxuICBzb3VyY2U6IEVsZW1lbnRNZXRhZGF0YVtdLFxuICB0YXJnZXQ6IEVsZW1lbnRNZXRhZGF0YSxcbiAgcGFyZW50UGF0aDogc3RyaW5nLFxuICBpbmRleDogbnVtYmVyLFxuKTogRWxlbWVudE1ldGFkYXRhW10gPT4ge1xuICBjb25zdCByZXN1bHQgPSBbLi4uc291cmNlXTtcbiAgY29uc3QgbmFtZSA9IGdldEVsZW1lbnRVbmlxdWVOYW1lKFxuICAgIHJlc3VsdCxcbiAgICB0YXJnZXQubmFtZSxcbiAgICAobmFtZTogc3RyaW5nKSA9PlxuICAgICAgKGVsKTogYm9vbGVhbiA9PlxuICAgICAgICBlbC5uYW1lID09PSBuYW1lLFxuICApO1xuICBjb25zdCBwYXRoID0gcGFyZW50UGF0aCA/IGAke3BhcmVudFBhdGh9LyR7bmFtZX1gIDogbmFtZTtcbiAgcmVzdWx0LnNwbGljZShpbmRleCwgMCwgeyAuLi50YXJnZXQsIHBhdGgsIG5hbWUgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0RWxlbWVudCA9IChcbiAgc291cmNlOiBFbGVtZW50TWV0YWRhdGFbXSxcbiAgdGFyZ2V0OiBFbGVtZW50TWV0YWRhdGEsXG4gIHBhdGg6IHN0cmluZyxcbiAgaW5kZXg6IG51bWJlcixcbik6IEVsZW1lbnRNZXRhZGF0YVtdID0+IHtcbiAgaWYgKCFwYXRoKSB7XG4gICAgcmV0dXJuIGluc2VydEVsZW1lbnRBdChzb3VyY2UsIHRhcmdldCwgJycsIGluZGV4KTtcbiAgfVxuXG4gIHJldHVybiBzb3VyY2UubWFwKGVsZW1lbnQgPT4ge1xuICAgIGlmIChlbGVtZW50LnBhdGggPT09IHBhdGgpIHtcbiAgICAgIHJldHVybiB7IC4uLmVsZW1lbnQsIGNoaWxkcmVuOiBpbnNlcnRFbGVtZW50QXQoZWxlbWVudC5jaGlsZHJlbiwgdGFyZ2V0LCBlbGVtZW50LnBhdGgsIGluZGV4KSB9O1xuICAgIH0gZWxzZSBpZiAoZWxlbWVudC5wYXRoPy5zdGFydHNXaXRoKHBhdGgpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5lbGVtZW50LFxuICAgICAgICBjaGlsZHJlbjogaW5zZXJ0RWxlbWVudChlbGVtZW50LmNoaWxkcmVuLCB0YXJnZXQsIHBhdGgsIGluZGV4KSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlRWxlbWVudCA9IChzb3VyY2U6IEVsZW1lbnRNZXRhZGF0YVtdLCBwYXRoOiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGFbXSA9PiB7XG4gIHJldHVybiBzb3VyY2UucmVkdWNlKCh0cnVuazogRWxlbWVudE1ldGFkYXRhW10sIGVsZW1lbnQpID0+IHtcbiAgICBpZiAocGF0aCA9PT0gZWxlbWVudC5wYXRoKSB7XG4gICAgICByZXR1cm4gdHJ1bms7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQucGF0aCkge1xuICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChlbGVtZW50LnBhdGgpKSB7XG4gICAgICAgIHRydW5rLnB1c2goe1xuICAgICAgICAgIC4uLmVsZW1lbnQsXG4gICAgICAgICAgY2hpbGRyZW46IHJlbW92ZUVsZW1lbnQoZWxlbWVudC5jaGlsZHJlbiwgcGF0aCksXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJ1bmsucHVzaChlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1bms7XG4gIH0sIFtdKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRWxlbWVudEJ5UGF0aCA9IChzb3VyY2U6IEVsZW1lbnRNZXRhZGF0YVtdLCBwYXRoOiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICBmb3IgKGNvbnN0IGVsIG9mIHNvdXJjZSkge1xuICAgIGlmIChlbC5wYXRoID09PSBwYXRoKSB7XG4gICAgICByZXR1cm4gZWw7XG4gICAgfVxuXG4gICAgaWYgKGVsLnBhdGggJiYgcGF0aC5zdGFydHNXaXRoKGVsLnBhdGgpKSB7XG4gICAgICBjb25zdCBmb3VuZCA9IGZpbmRFbGVtZW50QnlQYXRoKGVsLmNoaWxkcmVuLCBwYXRoKTtcbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRFbGVtZW50QnlNb2R1bGUgPSAoXG4gIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSxcbiAgbW9kdWxlOiBzdHJpbmcsXG4gIGVsZW1lbnROYW1lOiBzdHJpbmcsXG4pOiBFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQgPT4ge1xuICBmb3IgKGNvbnN0IGVsIG9mIGVsZW1lbnRzKSB7XG4gICAgaWYgKGVsLm1vZHVsZSA9PT0gbW9kdWxlICYmIGVsLm5hbWUgPT09IGVsZW1lbnROYW1lKSB7XG4gICAgICByZXR1cm4gZWw7XG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGQgPSBmaW5kRWxlbWVudEJ5TW9kdWxlKGVsLmNoaWxkcmVuLCBtb2R1bGUsIGVsZW1lbnROYW1lKTtcbiAgICBpZiAoY2hpbGQpIHtcbiAgICAgIHJldHVybiBjaGlsZDtcbiAgICB9XG4gIH1cblxuICByZXR1cm47XG59O1xuIl19
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import * as angularCore from '@angular/core';
|
2
|
-
import * as angularForms from '@angular/forms';
|
3
|
-
import { CatalogApiService, ConfigurationSettingsApiService, DeltaApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, GuidedSellingApiService, PicklistsApiService, PriceApiService, QuoteApiService, RampApiService, SalesforceApiService, ShoppingCartSettingsApiService, } from '@veloceapps/api';
|
4
|
-
import { ToastService } from '@veloceapps/components';
|
5
|
-
import { Operator, Predicate, isDefined, parseJsonSafely } from '@veloceapps/core';
|
6
|
-
import { ConfigurationService, ContextService, FlowConfigurationService, LineItemWorker, ProductImagesService, QuoteDraftService, lineItemUtils, } from '@veloceapps/sdk/core';
|
7
|
-
import * as lodash from 'lodash';
|
8
|
-
import * as rxjs from 'rxjs';
|
9
|
-
import * as rxjsOperators from 'rxjs/operators';
|
10
|
-
import * as cmsActions from './cms.actions';
|
11
|
-
import * as cmsInjectionTokens from './injection-tokens';
|
12
|
-
import { IntegrationState } from './services/integration.state';
|
13
|
-
import { ResourcesService } from './services/resources.service';
|
14
|
-
import { TemplatesService } from './services/templates.service';
|
15
|
-
const VELOCE_LIBS = {
|
16
|
-
'@veloceapps/core': {
|
17
|
-
isDefined,
|
18
|
-
Operator,
|
19
|
-
Predicate,
|
20
|
-
parseJsonSafely,
|
21
|
-
},
|
22
|
-
'@veloceapps/components': {
|
23
|
-
ToastService,
|
24
|
-
},
|
25
|
-
'@veloceapps/api': {
|
26
|
-
SalesforceApiService,
|
27
|
-
QuoteApiService,
|
28
|
-
DocumentTemplatesApiService,
|
29
|
-
DocumentAttachmentApiService,
|
30
|
-
RampApiService,
|
31
|
-
CatalogApiService,
|
32
|
-
DeltaApiService,
|
33
|
-
PicklistsApiService,
|
34
|
-
PriceApiService,
|
35
|
-
ShoppingCartSettingsApiService,
|
36
|
-
ConfigurationSettingsApiService,
|
37
|
-
GuidedSellingApiService,
|
38
|
-
},
|
39
|
-
'@veloceapps/sdk/core': Object.assign({ ConfigurationService,
|
40
|
-
QuoteDraftService,
|
41
|
-
FlowConfigurationService,
|
42
|
-
LineItemWorker,
|
43
|
-
ProductImagesService,
|
44
|
-
ContextService }, lineItemUtils),
|
45
|
-
'@veloceapps/sdk/cms': Object.assign(Object.assign(Object.assign({}, cmsInjectionTokens), cmsActions), { TemplatesService,
|
46
|
-
IntegrationState,
|
47
|
-
ResourcesService }),
|
48
|
-
};
|
49
|
-
const VELOCE_LIBS_BACKWARDS_COMPATIBLE = Object.entries(VELOCE_LIBS).reduce((trunk, [key, value]) => (Object.assign(Object.assign({}, trunk), { [key.replace('@veloceapps/', '@veloce/')]: value })), {});
|
50
|
-
export const vendorMap = Object.assign(Object.assign(Object.assign({}, VELOCE_LIBS), VELOCE_LIBS_BACKWARDS_COMPATIBLE), { '@angular/core': angularCore, '@angular/forms': angularForms, rxjs: rxjs, 'rxjs/operators': rxjsOperators, lodash: lodash });
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy92ZW5kb3ItbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxXQUFXLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUNMLGlCQUFpQixFQUNqQiwrQkFBK0IsRUFDL0IsZUFBZSxFQUNmLDRCQUE0QixFQUM1QiwyQkFBMkIsRUFDM0IsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxFQUNmLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsOEJBQThCLEdBQy9CLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsYUFBYSxHQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLGFBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssa0JBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsTUFBTSxXQUFXLEdBQUc7SUFDbEIsa0JBQWtCLEVBQUU7UUFDbEIsU0FBUztRQUNULFFBQVE7UUFDUixTQUFTO1FBQ1QsZUFBZTtLQUNoQjtJQUNELHdCQUF3QixFQUFFO1FBQ3hCLFlBQVk7S0FDYjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLDhCQUE4QjtRQUM5QiwrQkFBK0I7UUFDL0IsdUJBQXVCO0tBQ3hCO0lBQ0Qsc0JBQXNCLGtCQUNwQixvQkFBb0I7UUFDcEIsaUJBQWlCO1FBQ2pCLHdCQUF3QjtRQUN4QixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGNBQWMsSUFDWCxhQUFhLENBQ2pCO0lBQ0QscUJBQXFCLGdEQUNoQixrQkFBa0IsR0FDbEIsVUFBVSxLQUNiLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCLEdBQ2pCO0NBQ0YsQ0FBQztBQUVGLE1BQU0sZ0NBQWdDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQ3pFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQ0FBTSxLQUFLLEtBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBRyxFQUN6RixFQUFFLENBQ0gsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsaURBQ2pCLFdBQVcsR0FHWCxnQ0FBZ0MsS0FFbkMsZUFBZSxFQUFFLFdBQVcsRUFDNUIsZ0JBQWdCLEVBQUUsWUFBWSxFQUM5QixJQUFJLEVBQUUsSUFBSSxFQUNWLGdCQUFnQixFQUFFLGFBQWEsRUFDL0IsTUFBTSxFQUFFLE1BQU0sR0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYW5ndWxhckNvcmUgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBhbmd1bGFyRm9ybXMgZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ0FwaVNlcnZpY2UsXG4gIENvbmZpZ3VyYXRpb25TZXR0aW5nc0FwaVNlcnZpY2UsXG4gIERlbHRhQXBpU2VydmljZSxcbiAgRG9jdW1lbnRBdHRhY2htZW50QXBpU2VydmljZSxcbiAgRG9jdW1lbnRUZW1wbGF0ZXNBcGlTZXJ2aWNlLFxuICBHdWlkZWRTZWxsaW5nQXBpU2VydmljZSxcbiAgUGlja2xpc3RzQXBpU2VydmljZSxcbiAgUHJpY2VBcGlTZXJ2aWNlLFxuICBRdW90ZUFwaVNlcnZpY2UsXG4gIFJhbXBBcGlTZXJ2aWNlLFxuICBTYWxlc2ZvcmNlQXBpU2VydmljZSxcbiAgU2hvcHBpbmdDYXJ0U2V0dGluZ3NBcGlTZXJ2aWNlLFxufSBmcm9tICdAdmVsb2NlYXBwcy9hcGknO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBPcGVyYXRvciwgUHJlZGljYXRlLCBpc0RlZmluZWQsIHBhcnNlSnNvblNhZmVseSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gIENvbnRleHRTZXJ2aWNlLFxuICBGbG93Q29uZmlndXJhdGlvblNlcnZpY2UsXG4gIExpbmVJdGVtV29ya2VyLFxuICBQcm9kdWN0SW1hZ2VzU2VydmljZSxcbiAgUXVvdGVEcmFmdFNlcnZpY2UsXG4gIGxpbmVJdGVtVXRpbHMsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCAqIGFzIGxvZGFzaCBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0ICogYXMgcnhqcyBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIHJ4anNPcGVyYXRvcnMgZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0ICogYXMgY21zQWN0aW9ucyBmcm9tICcuL2Ntcy5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGNtc0luamVjdGlvblRva2VucyBmcm9tICcuL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25TdGF0ZSB9IGZyb20gJy4vc2VydmljZXMvaW50ZWdyYXRpb24uc3RhdGUnO1xuaW1wb3J0IHsgUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcmVzb3VyY2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGVtcGxhdGVzLnNlcnZpY2UnO1xuXG5jb25zdCBWRUxPQ0VfTElCUyA9IHtcbiAgJ0B2ZWxvY2VhcHBzL2NvcmUnOiB7XG4gICAgaXNEZWZpbmVkLFxuICAgIE9wZXJhdG9yLFxuICAgIFByZWRpY2F0ZSxcbiAgICBwYXJzZUpzb25TYWZlbHksXG4gIH0sXG4gICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJzoge1xuICAgIFRvYXN0U2VydmljZSxcbiAgfSxcbiAgJ0B2ZWxvY2VhcHBzL2FwaSc6IHtcbiAgICBTYWxlc2ZvcmNlQXBpU2VydmljZSxcbiAgICBRdW90ZUFwaVNlcnZpY2UsXG4gICAgRG9jdW1lbnRUZW1wbGF0ZXNBcGlTZXJ2aWNlLFxuICAgIERvY3VtZW50QXR0YWNobWVudEFwaVNlcnZpY2UsXG4gICAgUmFtcEFwaVNlcnZpY2UsXG4gICAgQ2F0YWxvZ0FwaVNlcnZpY2UsXG4gICAgRGVsdGFBcGlTZXJ2aWNlLFxuICAgIFBpY2tsaXN0c0FwaVNlcnZpY2UsXG4gICAgUHJpY2VBcGlTZXJ2aWNlLFxuICAgIFNob3BwaW5nQ2FydFNldHRpbmdzQXBpU2VydmljZSxcbiAgICBDb25maWd1cmF0aW9uU2V0dGluZ3NBcGlTZXJ2aWNlLFxuICAgIEd1aWRlZFNlbGxpbmdBcGlTZXJ2aWNlLFxuICB9LFxuICAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnOiB7XG4gICAgQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgUXVvdGVEcmFmdFNlcnZpY2UsXG4gICAgRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIExpbmVJdGVtV29ya2VyLFxuICAgIFByb2R1Y3RJbWFnZXNTZXJ2aWNlLFxuICAgIENvbnRleHRTZXJ2aWNlLFxuICAgIC4uLmxpbmVJdGVtVXRpbHMsXG4gIH0sXG4gICdAdmVsb2NlYXBwcy9zZGsvY21zJzoge1xuICAgIC4uLmNtc0luamVjdGlvblRva2VucyxcbiAgICAuLi5jbXNBY3Rpb25zLFxuICAgIFRlbXBsYXRlc1NlcnZpY2UsXG4gICAgSW50ZWdyYXRpb25TdGF0ZSxcbiAgICBSZXNvdXJjZXNTZXJ2aWNlLFxuICB9LFxufTtcblxuY29uc3QgVkVMT0NFX0xJQlNfQkFDS1dBUkRTX0NPTVBBVElCTEUgPSBPYmplY3QuZW50cmllcyhWRUxPQ0VfTElCUykucmVkdWNlKFxuICAodHJ1bmssIFtrZXksIHZhbHVlXSkgPT4gKHsgLi4udHJ1bmssIFtrZXkucmVwbGFjZSgnQHZlbG9jZWFwcHMvJywgJ0B2ZWxvY2UvJyldOiB2YWx1ZSB9KSxcbiAge30sXG4pO1xuXG5leHBvcnQgY29uc3QgdmVuZG9yTWFwID0ge1xuICAuLi5WRUxPQ0VfTElCUyxcblxuICAvLyBUT0RPOiByZW1vdmUgd2hlbiBwcm9qZWN0cy9kZW1vcyBhcmUgbWlncmF0ZWQgdG8gQHZlbG9jZWFwcHMgb3JnYW5pemF0aW9uIGxpYnJhcmllc1xuICAuLi5WRUxPQ0VfTElCU19CQUNLV0FSRFNfQ09NUEFUSUJMRSxcblxuICAnQGFuZ3VsYXIvY29yZSc6IGFuZ3VsYXJDb3JlLFxuICAnQGFuZ3VsYXIvZm9ybXMnOiBhbmd1bGFyRm9ybXMsXG4gIHJ4anM6IHJ4anMsXG4gICdyeGpzL29wZXJhdG9ycyc6IHJ4anNPcGVyYXRvcnMsXG4gIGxvZGFzaDogbG9kYXNoLFxufTtcblxuZXhwb3J0IHR5cGUgVmVuZG9yTWFwID0gdHlwZW9mIHZlbmRvck1hcDtcbiJdfQ==
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import { NgModule } from '@angular/core';
|
2
|
-
import { FlowConfigurationModule } from './modules';
|
3
|
-
import { ConfigurationModule } from './modules/configuration/configuration.module';
|
4
|
-
import { ContextService, MetricsCalculationService, ProductImagesService, QuoteDraftService } from './services';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
export class SdkCoreModule {
|
7
|
-
}
|
8
|
-
SdkCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SdkCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
9
|
-
SdkCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SdkCoreModule, imports: [ConfigurationModule, FlowConfigurationModule] });
|
10
|
-
SdkCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SdkCoreModule, providers: [ContextService, QuoteDraftService, ProductImagesService, MetricsCalculationService], imports: [[ConfigurationModule, FlowConfigurationModule]] });
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SdkCoreModule, decorators: [{
|
12
|
-
type: NgModule,
|
13
|
-
args: [{
|
14
|
-
imports: [ConfigurationModule, FlowConfigurationModule],
|
15
|
-
providers: [ContextService, QuoteDraftService, ProductImagesService, MetricsCalculationService],
|
16
|
-
}]
|
17
|
-
}] });
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL2NvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUseUJBQXlCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBTWhILE1BQU0sT0FBTyxhQUFhOzsyR0FBYixhQUFhOzRHQUFiLGFBQWEsWUFIZCxtQkFBbUIsRUFBRSx1QkFBdUI7NEdBRzNDLGFBQWEsYUFGYixDQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSx5QkFBeUIsQ0FBQyxZQUR0RixDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDOzRGQUc1QyxhQUFhO2tCQUp6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDO29CQUN2RCxTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUseUJBQXlCLENBQUM7aUJBQ2hHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZsb3dDb25maWd1cmF0aW9uTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Nb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgTWV0cmljc0NhbGN1bGF0aW9uU2VydmljZSwgUHJvZHVjdEltYWdlc1NlcnZpY2UsIFF1b3RlRHJhZnRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb25maWd1cmF0aW9uTW9kdWxlLCBGbG93Q29uZmlndXJhdGlvbk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW0NvbnRleHRTZXJ2aWNlLCBRdW90ZURyYWZ0U2VydmljZSwgUHJvZHVjdEltYWdlc1NlcnZpY2UsIE1ldHJpY3NDYWxjdWxhdGlvblNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTZGtDb3JlTW9kdWxlIHt9XG4iXX0=
|