@veloceapps/sdk 0.0.0-watch
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/cms/cms.actions.d.ts +12 -0
- package/cms/cms.default.d.ts +5 -0
- package/cms/cms.elements.d.ts +4 -0
- package/cms/components/element-children/element-children.component.d.ts +10 -0
- package/cms/components/element-children/element-children.module.d.ts +8 -0
- package/cms/components/element-renderer/element-renderer.component.d.ts +35 -0
- package/cms/components/element-renderer/element-renderer.module.d.ts +7 -0
- package/cms/components/element.component.d.ts +13 -0
- package/cms/components/index.d.ts +1 -0
- package/cms/components/plugin.component.d.ts +15 -0
- package/cms/components/preview/index.d.ts +2 -0
- package/cms/components/preview/preview.component.d.ts +34 -0
- package/cms/components/preview/preview.module.d.ts +11 -0
- package/cms/decorators/element.decorator.d.ts +2 -0
- package/cms/decorators/index.d.ts +1 -0
- package/cms/directives/custom-template.directive.d.ts +12 -0
- package/cms/engine/models/entity.d.ts +11 -0
- package/cms/engine/models/plugin.d.ts +5 -0
- package/cms/index.d.ts +11 -0
- package/cms/injection-tokens.d.ts +11 -0
- package/cms/launcher.module.d.ts +10 -0
- package/cms/modules/federated/default-options.d.ts +4 -0
- package/cms/modules/federated/export.d.ts +1 -0
- package/cms/modules/federated/federated.component.d.ts +26 -0
- package/cms/modules/federated/federated.module.d.ts +9 -0
- package/cms/modules/federated/federated.types.d.ts +30 -0
- package/cms/modules/federated/federated.utils.d.ts +1 -0
- package/cms/package.json +10 -0
- package/cms/plugins/configuration.plugin.d.ts +23 -0
- package/cms/plugins/io.plugin.d.ts +9 -0
- package/cms/plugins/script.plugin.d.ts +13 -0
- package/cms/services/dynamic-module.service.d.ts +15 -0
- package/cms/services/element-context.service.d.ts +8 -0
- package/cms/services/index.d.ts +3 -0
- package/cms/services/integration.state.d.ts +17 -0
- package/cms/services/io-provider.service.d.ts +15 -0
- package/cms/services/launcher.service.d.ts +18 -0
- package/cms/services/templates.service.d.ts +9 -0
- package/cms/types/common.types.d.ts +103 -0
- package/cms/types/configuration.types.d.ts +17 -0
- package/cms/types/elements.types.d.ts +2 -0
- package/cms/types/index.d.ts +5 -0
- package/cms/types/integration.types.d.ts +4 -0
- package/cms/types/path.types.d.ts +11 -0
- package/cms/utils/element.utils.d.ts +15 -0
- package/cms/utils/elements-resolver.d.ts +20 -0
- package/cms/utils/index.d.ts +3 -0
- package/cms/utils/path.utils.d.ts +5 -0
- package/cms/veloce-sdk-cms.d.ts +5 -0
- package/cms/vendor-map.d.ts +689 -0
- package/core/core.module.d.ts +8 -0
- package/core/index.d.ts +6 -0
- package/core/modules/configuration/configuration.module.d.ts +7 -0
- package/core/modules/configuration/helpers.d.ts +3 -0
- package/core/modules/configuration/index.d.ts +4 -0
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +28 -0
- package/core/modules/configuration/services/configuration.service.d.ts +40 -0
- package/core/modules/configuration/services/runtime-context.service.d.ts +14 -0
- package/core/modules/configuration/types/configuration-runtime.types.d.ts +6 -0
- package/core/modules/flow-configuration/flow-configuration.module.d.ts +6 -0
- package/core/modules/flow-configuration/index.d.ts +4 -0
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +37 -0
- package/core/modules/flow-configuration/services/flow-update.service.d.ts +12 -0
- package/core/modules/flow-configuration/types/update.types.d.ts +12 -0
- package/core/modules/index.d.ts +2 -0
- package/core/package.json +10 -0
- package/core/services/context.service.d.ts +17 -0
- package/core/services/index.d.ts +3 -0
- package/core/services/product-images.service.d.ts +12 -0
- package/core/services/quote-draft.service.d.ts +31 -0
- package/core/types/index.d.ts +3 -0
- package/core/types/quote-states.types.d.ts +6 -0
- package/core/types/runtime.types.d.ts +31 -0
- package/core/types/ui-definition.types.d.ts +26 -0
- package/core/utils/index.d.ts +2 -0
- package/core/utils/line-item.utils.d.ts +26 -0
- package/core/utils/line-item.worker.d.ts +12 -0
- package/core/veloce-sdk-core.d.ts +5 -0
- package/esm2015/cms/cms.actions.js +17 -0
- package/esm2015/cms/cms.default.js +6 -0
- package/esm2015/cms/cms.elements.js +29 -0
- package/esm2015/cms/components/element-children/element-children.component.js +23 -0
- package/esm2015/cms/components/element-children/element-children.module.js +18 -0
- package/esm2015/cms/components/element-renderer/element-renderer.component.js +143 -0
- package/esm2015/cms/components/element-renderer/element-renderer.module.js +16 -0
- package/esm2015/cms/components/element.component.js +31 -0
- package/esm2015/cms/components/index.js +2 -0
- package/esm2015/cms/components/plugin.component.js +16 -0
- package/esm2015/cms/components/preview/index.js +3 -0
- package/esm2015/cms/components/preview/preview.component.js +105 -0
- package/esm2015/cms/components/preview/preview.module.js +23 -0
- package/esm2015/cms/decorators/element.decorator.js +6 -0
- package/esm2015/cms/decorators/index.js +2 -0
- package/esm2015/cms/directives/custom-template.directive.js +25 -0
- package/esm2015/cms/engine/models/entity.js +18 -0
- package/esm2015/cms/engine/models/plugin.js +6 -0
- package/esm2015/cms/index.js +11 -0
- package/esm2015/cms/injection-tokens.js +8 -0
- package/esm2015/cms/launcher.module.js +23 -0
- package/esm2015/cms/modules/federated/default-options.js +5 -0
- package/esm2015/cms/modules/federated/export.js +2 -0
- package/esm2015/cms/modules/federated/federated.component.js +82 -0
- package/esm2015/cms/modules/federated/federated.module.js +19 -0
- package/esm2015/cms/modules/federated/federated.types.js +2 -0
- package/esm2015/cms/modules/federated/federated.utils.js +37 -0
- package/esm2015/cms/plugins/configuration.plugin.js +94 -0
- package/esm2015/cms/plugins/io.plugin.js +37 -0
- package/esm2015/cms/plugins/script.plugin.js +66 -0
- package/esm2015/cms/services/dynamic-module.service.js +33 -0
- package/esm2015/cms/services/element-context.service.js +10 -0
- package/esm2015/cms/services/index.js +4 -0
- package/esm2015/cms/services/integration.state.js +40 -0
- package/esm2015/cms/services/io-provider.service.js +51 -0
- package/esm2015/cms/services/launcher.service.js +57 -0
- package/esm2015/cms/services/templates.service.js +19 -0
- package/esm2015/cms/types/common.types.js +2 -0
- package/esm2015/cms/types/configuration.types.js +2 -0
- package/esm2015/cms/types/elements.types.js +2 -0
- package/esm2015/cms/types/index.js +6 -0
- package/esm2015/cms/types/integration.types.js +2 -0
- package/esm2015/cms/types/path.types.js +2 -0
- package/esm2015/cms/utils/element.utils.js +149 -0
- package/esm2015/cms/utils/elements-resolver.js +108 -0
- package/esm2015/cms/utils/index.js +4 -0
- package/esm2015/cms/utils/path.utils.js +67 -0
- package/esm2015/cms/veloce-sdk-cms.js +5 -0
- package/esm2015/cms/vendor-map.js +35 -0
- package/esm2015/core/core.module.js +18 -0
- package/esm2015/core/index.js +7 -0
- package/esm2015/core/modules/configuration/configuration.module.js +34 -0
- package/esm2015/core/modules/configuration/helpers.js +10 -0
- package/esm2015/core/modules/configuration/index.js +5 -0
- package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +90 -0
- package/esm2015/core/modules/configuration/services/configuration.service.js +153 -0
- package/esm2015/core/modules/configuration/services/runtime-context.service.js +61 -0
- package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +2 -0
- package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +18 -0
- package/esm2015/core/modules/flow-configuration/index.js +5 -0
- package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +90 -0
- package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +114 -0
- package/esm2015/core/modules/flow-configuration/types/update.types.js +2 -0
- package/esm2015/core/modules/index.js +3 -0
- package/esm2015/core/services/context.service.js +44 -0
- package/esm2015/core/services/index.js +4 -0
- package/esm2015/core/services/product-images.service.js +30 -0
- package/esm2015/core/services/quote-draft.service.js +88 -0
- package/esm2015/core/types/index.js +4 -0
- package/esm2015/core/types/quote-states.types.js +2 -0
- package/esm2015/core/types/runtime.types.js +16 -0
- package/esm2015/core/types/ui-definition.types.js +2 -0
- package/esm2015/core/utils/index.js +3 -0
- package/esm2015/core/utils/line-item.utils.js +98 -0
- package/esm2015/core/utils/line-item.worker.js +19 -0
- package/esm2015/core/veloce-sdk-core.js +5 -0
- package/esm2015/index.js +2 -0
- package/esm2015/runtime/components/component-preview/component-preview.component.js +125 -0
- package/esm2015/runtime/components/index.js +5 -0
- package/esm2015/runtime/components/section-renderer/section-renderer.component.js +71 -0
- package/esm2015/runtime/components/ui-runtime/runtime.component.js +427 -0
- package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +109 -0
- package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +68 -0
- package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +36 -0
- package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +72 -0
- package/esm2015/runtime/execution/components/federated/federated.component.js +81 -0
- package/esm2015/runtime/execution/components/velo-attribute/velo-attribute.component.js +65 -0
- package/esm2015/runtime/execution/components/velo-multiselect/velo-multiselect.component.js +136 -0
- package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +80 -0
- package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +101 -0
- package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +150 -0
- package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +121 -0
- package/esm2015/runtime/execution/directives/section-script.directive.js +242 -0
- package/esm2015/runtime/execution/directives/sf-query.directive.js +34 -0
- package/esm2015/runtime/execution/directives/velo-attribute.directive.js +86 -0
- package/esm2015/runtime/execution/directives/velo-port.directive.js +373 -0
- package/esm2015/runtime/execution/directives/vl-approval.directive.js +22 -0
- package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +35 -0
- package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +59 -0
- package/esm2015/runtime/execution/directives/vl-quote.directive.js +41 -0
- package/esm2015/runtime/execution/directives/vl-ramp.directive.js +51 -0
- package/esm2015/runtime/execution/runtime-execution.module.js +163 -0
- package/esm2015/runtime/execution/utils/federated.util.js +37 -0
- package/esm2015/runtime/index.js +5 -0
- package/esm2015/runtime/runtime.module.js +104 -0
- package/esm2015/runtime/services/cart.service.js +28 -0
- package/esm2015/runtime/services/collapsible-state.service.js +34 -0
- package/esm2015/runtime/services/configuration.service.js +102 -0
- package/esm2015/runtime/services/current-state.service.js +17 -0
- package/esm2015/runtime/services/form-scope.service.js +30 -0
- package/esm2015/runtime/services/index.js +4 -0
- package/esm2015/runtime/services/product-model-cache.service.js +30 -0
- package/esm2015/runtime/services/runtime-context.service.js +56 -0
- package/esm2015/runtime/services/runtime-form.service.js +224 -0
- package/esm2015/runtime/services/runtime.service.js +108 -0
- package/esm2015/runtime/services/section-helper.service.js +27 -0
- package/esm2015/runtime/services/section-scope.service.js +36 -0
- package/esm2015/runtime/services/section-store.service.js +22 -0
- package/esm2015/runtime/services/section.service.js +124 -0
- package/esm2015/runtime/types/bound-data.types.js +7 -0
- package/esm2015/runtime/types/index.js +2 -0
- package/esm2015/runtime/types/runtime.types.js +2 -0
- package/esm2015/runtime/types/script-registry.types.js +51 -0
- package/esm2015/runtime/utils/line-item.util.js +273 -0
- package/esm2015/runtime/utils/section.utils.js +26 -0
- package/esm2015/runtime/utils/sections-binder.helper.js +105 -0
- package/esm2015/runtime/veloce-sdk-runtime.js +5 -0
- package/esm2015/src/components/dialog/dialog.component.js +30 -0
- package/esm2015/src/components/dialog/dialog.module.js +19 -0
- package/esm2015/src/components/dialog/dialog.types.js +2 -0
- package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +116 -0
- package/esm2015/src/components/header/cart-overlay/cart-preview.module.js +23 -0
- package/esm2015/src/components/header/header.component.js +196 -0
- package/esm2015/src/components/header/header.module.js +23 -0
- package/esm2015/src/components/header/header.types.js +2 -0
- package/esm2015/src/constants.js +2 -0
- package/esm2015/src/flow-routing.module.js +97 -0
- package/esm2015/src/flow.component.js +35 -0
- package/esm2015/src/flow.module.js +52 -0
- package/esm2015/src/guards/context.guard.js +75 -0
- package/esm2015/src/guards/index.js +2 -0
- package/esm2015/src/guards/product-unload.guard.js +43 -0
- package/esm2015/src/guards/root.guard.js +41 -0
- package/esm2015/src/index.js +7 -0
- package/esm2015/src/pages/catalog/catalog.component.js +117 -0
- package/esm2015/src/pages/catalog/catalog.module.js +20 -0
- package/esm2015/src/pages/debug/debug.component.js +65 -0
- package/esm2015/src/pages/debug/debug.module.js +48 -0
- package/esm2015/src/pages/legacy-product/legacy-product.component.js +132 -0
- package/esm2015/src/pages/legacy-product/legacy-product.module.js +21 -0
- package/esm2015/src/pages/product/product.component.js +95 -0
- package/esm2015/src/pages/product/product.module.js +20 -0
- package/esm2015/src/pages/record-not-found/record-not-found.component.js +29 -0
- package/esm2015/src/pages/record-not-found/record-not-found.module.js +20 -0
- package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +117 -0
- package/esm2015/src/pages/shopping-cart/shopping-cart.module.js +20 -0
- package/esm2015/src/resolvers/flow.resolver.js +58 -0
- package/esm2015/src/resolvers/quote.resolver.js +45 -0
- package/esm2015/src/services/flow-dialog.service.js +80 -0
- package/esm2015/src/services/flow-router.service.js +124 -0
- package/esm2015/src/services/flow.service.js +67 -0
- package/esm2015/src/services/index.js +2 -0
- package/esm2015/src/types/context-route.types.js +2 -0
- package/esm2015/src/types/flow-customization.types.js +3 -0
- package/esm2015/src/types/index.js +3 -0
- package/esm2015/src/types/route.types.js +2 -0
- package/esm2015/src/utils/flow.utils.js +12 -0
- package/esm2015/src/utils/index.js +2 -0
- package/esm2015/veloce-sdk.js +5 -0
- package/fesm2015/veloce-sdk-cms.js +1301 -0
- package/fesm2015/veloce-sdk-cms.js.map +1 -0
- package/fesm2015/veloce-sdk-core.js +837 -0
- package/fesm2015/veloce-sdk-core.js.map +1 -0
- package/fesm2015/veloce-sdk-runtime.js +3895 -0
- package/fesm2015/veloce-sdk-runtime.js.map +1 -0
- package/fesm2015/veloce-sdk.js +1635 -0
- package/fesm2015/veloce-sdk.js.map +1 -0
- package/index.d.ts +1 -0
- package/package.json +49 -0
- package/runtime/components/component-preview/component-preview.component.d.ts +27 -0
- package/runtime/components/index.d.ts +4 -0
- package/runtime/components/section-renderer/section-renderer.component.d.ts +25 -0
- package/runtime/components/ui-runtime/runtime.component.d.ts +53 -0
- package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +27 -0
- package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +30 -0
- package/runtime/execution/components/context-provider/context-provider.component.d.ts +14 -0
- package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +25 -0
- package/runtime/execution/components/federated/federated.component.d.ts +36 -0
- package/runtime/execution/components/velo-attribute/velo-attribute.component.d.ts +19 -0
- package/runtime/execution/components/velo-multiselect/velo-multiselect.component.d.ts +35 -0
- package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +22 -0
- package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +22 -0
- package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +28 -0
- package/runtime/execution/components/velo-type/velo-type.component.d.ts +31 -0
- package/runtime/execution/directives/section-script.directive.d.ts +59 -0
- package/runtime/execution/directives/sf-query.directive.d.ts +15 -0
- package/runtime/execution/directives/velo-attribute.directive.d.ts +26 -0
- package/runtime/execution/directives/velo-port.directive.d.ts +74 -0
- package/runtime/execution/directives/vl-approval.directive.d.ts +10 -0
- package/runtime/execution/directives/vl-document-attachments.directive.d.ts +15 -0
- package/runtime/execution/directives/vl-document-templates.directive.d.ts +33 -0
- package/runtime/execution/directives/vl-quote.directive.d.ts +14 -0
- package/runtime/execution/directives/vl-ramp.directive.d.ts +15 -0
- package/runtime/execution/runtime-execution.module.d.ts +27 -0
- package/runtime/execution/utils/federated.util.d.ts +6 -0
- package/runtime/index.d.ts +4 -0
- package/runtime/package.json +10 -0
- package/runtime/runtime.module.d.ts +18 -0
- package/runtime/services/cart.service.d.ts +15 -0
- package/runtime/services/collapsible-state.service.d.ts +15 -0
- package/runtime/services/configuration.service.d.ts +19 -0
- package/runtime/services/current-state.service.d.ts +8 -0
- package/runtime/services/form-scope.service.d.ts +20 -0
- package/runtime/services/index.d.ts +3 -0
- package/runtime/services/product-model-cache.service.d.ts +14 -0
- package/runtime/services/runtime-context.service.d.ts +16 -0
- package/runtime/services/runtime-form.service.d.ts +24 -0
- package/runtime/services/runtime.service.d.ts +43 -0
- package/runtime/services/section-helper.service.d.ts +8 -0
- package/runtime/services/section-scope.service.d.ts +14 -0
- package/runtime/services/section-store.service.d.ts +11 -0
- package/runtime/services/section.service.d.ts +30 -0
- package/runtime/types/bound-data.types.d.ts +13 -0
- package/runtime/types/index.d.ts +1 -0
- package/runtime/types/runtime.types.d.ts +19 -0
- package/runtime/types/script-registry.types.d.ts +13 -0
- package/runtime/utils/line-item.util.d.ts +34 -0
- package/runtime/utils/section.utils.d.ts +2 -0
- package/runtime/utils/sections-binder.helper.d.ts +16 -0
- package/runtime/veloce-sdk-runtime.d.ts +5 -0
- package/src/components/dialog/dialog.component.d.ts +13 -0
- package/src/components/dialog/dialog.module.d.ts +9 -0
- package/src/components/dialog/dialog.types.d.ts +6 -0
- package/src/components/header/cart-overlay/cart-preview.component.d.ts +31 -0
- package/src/components/header/cart-overlay/cart-preview.module.d.ts +13 -0
- package/src/components/header/header.component.d.ts +48 -0
- package/src/components/header/header.module.d.ts +13 -0
- package/src/components/header/header.types.d.ts +19 -0
- package/src/constants.d.ts +1 -0
- package/src/flow-routing.module.d.ts +11 -0
- package/src/flow.component.d.ts +17 -0
- package/src/flow.module.d.ts +15 -0
- package/src/guards/context.guard.d.ts +18 -0
- package/src/guards/index.d.ts +1 -0
- package/src/guards/product-unload.guard.d.ts +16 -0
- package/src/guards/root.guard.d.ts +15 -0
- package/src/index.d.ts +6 -0
- package/src/pages/catalog/catalog.component.d.ts +32 -0
- package/src/pages/catalog/catalog.module.d.ts +10 -0
- package/src/pages/debug/debug.component.d.ts +27 -0
- package/src/pages/debug/debug.module.d.ts +14 -0
- package/src/pages/legacy-product/legacy-product.component.d.ts +37 -0
- package/src/pages/legacy-product/legacy-product.module.d.ts +10 -0
- package/src/pages/product/product.component.d.ts +30 -0
- package/src/pages/product/product.module.d.ts +10 -0
- package/src/pages/record-not-found/record-not-found.component.d.ts +11 -0
- package/src/pages/record-not-found/record-not-found.module.d.ts +9 -0
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +32 -0
- package/src/pages/shopping-cart/shopping-cart.module.d.ts +10 -0
- package/src/resolvers/flow.resolver.d.ts +14 -0
- package/src/resolvers/quote.resolver.d.ts +18 -0
- package/src/services/flow-dialog.service.d.ts +20 -0
- package/src/services/flow-router.service.d.ts +35 -0
- package/src/services/flow.service.d.ts +17 -0
- package/src/services/index.d.ts +1 -0
- package/src/types/context-route.types.d.ts +5 -0
- package/src/types/flow-customization.types.d.ts +11 -0
- package/src/types/index.d.ts +2 -0
- package/src/types/route.types.d.ts +9 -0
- package/src/utils/flow.utils.d.ts +1 -0
- package/src/utils/index.d.ts +1 -0
- package/veloce-sdk.d.ts +5 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { EntityUtil, SectionPathUtil, UUID } from '@veloce/core';
|
|
2
|
+
import { BoundDataType } from '../types/bound-data.types';
|
|
3
|
+
import { LineItemUtil } from './line-item.util';
|
|
4
|
+
export class SectionsBinderHelper {
|
|
5
|
+
static setLineItemsPath(runtimeModel, rootLineItem, sections, sourceSections, filterFn, pricingEnabled) {
|
|
6
|
+
const filtered = sections.filter(filterFn);
|
|
7
|
+
filtered.forEach(section => {
|
|
8
|
+
const path = section.boundData.path;
|
|
9
|
+
let foundLineItems;
|
|
10
|
+
if (path.relative) {
|
|
11
|
+
foundLineItems = LineItemUtil.findLineItemsByType(runtimeModel, rootLineItem, path.types[0]);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
const remainder = rootLineItem.path ? SectionPathUtil.cut(runtimeModel, path, rootLineItem.path) : undefined;
|
|
15
|
+
if (!remainder) {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
foundLineItems = LineItemUtil.findLineItemsByPath(runtimeModel, rootLineItem, remainder);
|
|
19
|
+
}
|
|
20
|
+
if (section.boundData.entityType === BoundDataType[BoundDataType.TYPE]) {
|
|
21
|
+
SectionsBinderHelper.bindMatchingLineItems(runtimeModel, foundLineItems, section, sections, sourceSections, pricingEnabled);
|
|
22
|
+
}
|
|
23
|
+
else if (section.boundData.entityType === BoundDataType[BoundDataType.ATTRIBUTE]) {
|
|
24
|
+
foundLineItems = foundLineItems.filter(item => item.attributes &&
|
|
25
|
+
item.attributes.findIndex(a => a.name.toLowerCase() === section.boundData.name.toLowerCase()) !== -1);
|
|
26
|
+
foundLineItems.forEach(lineItem => {
|
|
27
|
+
SectionsBinderHelper.bindLineItem(section, sections, sourceSections, lineItem, pricingEnabled);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else if (section.boundData.entityType === BoundDataType[BoundDataType.PORT]) {
|
|
31
|
+
foundLineItems = foundLineItems.filter(item => item.portDomains && item.portDomains[section.boundData.name]);
|
|
32
|
+
SectionsBinderHelper.bindMatchingLineItems(runtimeModel, foundLineItems, section, sections, sourceSections, pricingEnabled);
|
|
33
|
+
}
|
|
34
|
+
return;
|
|
35
|
+
});
|
|
36
|
+
return sections;
|
|
37
|
+
}
|
|
38
|
+
static isAddAllowed(model, portName, quantityToAdd = 1) {
|
|
39
|
+
const quantity = this.getQuantity(model, portName);
|
|
40
|
+
return quantity + quantityToAdd <= +this.getPortMax(model, portName);
|
|
41
|
+
}
|
|
42
|
+
static isRemoveAllowed(model, portName, quantityToRemove = 1) {
|
|
43
|
+
const quantity = this.getQuantity(model, portName);
|
|
44
|
+
return quantity - quantityToRemove >= +this.getPortMin(model, portName);
|
|
45
|
+
}
|
|
46
|
+
static getMaxAllowed(lineItem, portName) {
|
|
47
|
+
return +this.getPortMax(lineItem, portName) - this.getQuantity(lineItem, portName);
|
|
48
|
+
}
|
|
49
|
+
static getQuantityGroupByValue(model, portName) {
|
|
50
|
+
const quantities = {};
|
|
51
|
+
if (model && portName) {
|
|
52
|
+
model.lineItems
|
|
53
|
+
.filter(li => li.port === portName)
|
|
54
|
+
.forEach(li => {
|
|
55
|
+
let quantity = (EntityUtil.isPresent(li.qty) && li.qty) || 1;
|
|
56
|
+
if (EntityUtil.isPresent(quantities[li.type])) {
|
|
57
|
+
quantity += quantities[li.type];
|
|
58
|
+
}
|
|
59
|
+
quantities[li.type] = quantity;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return quantities;
|
|
63
|
+
}
|
|
64
|
+
static bindMatchingLineItems(runtimeModel, foundLineItems, section, sections, sourceSections, pricingEnabled) {
|
|
65
|
+
foundLineItems.forEach(lineItem => {
|
|
66
|
+
const boundSection = SectionsBinderHelper.bindLineItem(section, sections, sourceSections, lineItem, pricingEnabled);
|
|
67
|
+
SectionsBinderHelper.setLineItemsPath(runtimeModel, lineItem, sections, sourceSections, (sec) => {
|
|
68
|
+
return sec.boundData && sec.parentId === boundSection.id;
|
|
69
|
+
}, pricingEnabled);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
static bindLineItem(section, sections, sourceSections, lineItem, pricingEnabled) {
|
|
73
|
+
const boundSection = section.model ? SectionsBinderHelper.doClone(section, sections, sourceSections) : section;
|
|
74
|
+
boundSection.model = lineItem;
|
|
75
|
+
boundSection.pricingEnabled = pricingEnabled;
|
|
76
|
+
return boundSection;
|
|
77
|
+
}
|
|
78
|
+
static doClone(source, sections, sourceSections, parent) {
|
|
79
|
+
const sourceClass = sourceSections.find(s => s.classId === source.classId);
|
|
80
|
+
const clone = EntityUtil.clone(sourceClass);
|
|
81
|
+
clone.id = UUID.UUID();
|
|
82
|
+
clone.parentId = parent ? parent.id : source.parentId;
|
|
83
|
+
sections.splice(sections.findIndex(s => s.id === source.id) + 1, 0, clone);
|
|
84
|
+
sourceSections
|
|
85
|
+
.filter(s => s.parentId === sourceClass.id)
|
|
86
|
+
.forEach(s => SectionsBinderHelper.doClone(s, sections, sourceSections, clone));
|
|
87
|
+
return clone;
|
|
88
|
+
}
|
|
89
|
+
static getQuantity(model, portName) {
|
|
90
|
+
let quantity = 0;
|
|
91
|
+
model.lineItems
|
|
92
|
+
.filter(li => li.port === portName)
|
|
93
|
+
.forEach(li => {
|
|
94
|
+
quantity += li.qty;
|
|
95
|
+
});
|
|
96
|
+
return quantity;
|
|
97
|
+
}
|
|
98
|
+
static getPortMax(model, portName) {
|
|
99
|
+
return model.portDomains[portName].maxCard;
|
|
100
|
+
}
|
|
101
|
+
static getPortMin(model, portName) {
|
|
102
|
+
return model.portDomains[portName].minCard;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbnMtYmluZGVyLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvdXRpbHMvc2VjdGlvbnMtYmluZGVyLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFnRCxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9HLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixNQUFNLENBQUMsZ0JBQWdCLENBQ3JCLFlBQTBCLEVBQzFCLFlBQXNCLEVBQ3RCLFFBQW1CLEVBQ25CLGNBQXlCLEVBQ3pCLFFBQWEsRUFDYixjQUF1QjtRQUV2QixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsTUFBTSxJQUFJLEdBQWdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2pELElBQUksY0FBMEIsQ0FBQztZQUMvQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLGNBQWMsR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDOUY7aUJBQU07Z0JBQ0wsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUM3RyxJQUFJLENBQUMsU0FB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QUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsRUFBRSxDQUFDO2FBQzFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRWxGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBZSxFQUFFLFFBQWdCO1FBQzFELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUVqQixLQUFLLENBQUMsU0FBUzthQUNaLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO2FBQ2xDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNaLFFBQVEsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZSxFQUFFLFFBQWdCO1FBQ3pELE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZSxFQUFFLFFBQWdCO1FBQ3pELE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5VXRpbCwgTGluZUl0ZW0sIFJ1bnRpbWVNb2RlbCwgU2VjdGlvbiwgU2VjdGlvblBhdGgsIFNlY3Rpb25QYXRoVXRpbCwgVVVJRCB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBCb3VuZERhdGFUeXBlIH0gZnJvbSAnLi4vdHlwZXMvYm91bmQtZGF0YS50eXBlcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVV0aWwgfSBmcm9tICcuL2xpbmUtaXRlbS51dGlsJztcblxuZXhwb3J0IGNsYXNzIFNlY3Rpb25zQmluZGVySGVscGVyIHtcbiAgc3RhdGljIHNldExpbmVJdGVtc1BhdGgoXG4gICAgcnVudGltZU1vZGVsOiBSdW50aW1lTW9kZWwsXG4gICAgcm9vdExpbmVJdGVtOiBMaW5lSXRlbSxcbiAgICBzZWN0aW9uczogU2VjdGlvbltdLFxuICAgIHNvdXJjZVNlY3Rpb25zOiBTZWN0aW9uW10sXG4gICAgZmlsdGVyRm46IGFueSxcbiAgICBwcmljaW5nRW5hYmxlZDogYm9vbGVhbixcbiAgKTogU2VjdGlvbltdIHtcbiAgICBjb25zdCBmaWx0ZXJlZCA9IHNlY3Rpb25zLmZpbHRlcihmaWx0ZXJGbik7XG5cbiAgICBmaWx0ZXJlZC5mb3JFYWNoKHNlY3Rpb24gPT4ge1xuICAgICAgY29uc3QgcGF0aDogU2VjdGlvblBhdGggPSBzZWN0aW9uLmJvdW5kRGF0YS5wYXRoO1xuICAgICAgbGV0IGZvdW5kTGluZUl0ZW1zOiBMaW5lSXRlbVtdO1xuICAgICAgaWYgKHBhdGgucmVsYXRpdmUpIHtcbiAgICAgICAgZm91bmRMaW5lSXRlbXMgPSBMaW5lSXRlbVV0aWwuZmluZExpbmVJdGVtc0J5VHlwZShydW50aW1lTW9kZWwsIHJvb3RMaW5lSXRlbSwgcGF0aC50eXBlc1swXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZW1haW5kZXIgPSByb290TGluZUl0ZW0ucGF0aCA/IFNlY3Rpb25QYXRoVXRpbC5jdXQocnVudGltZU1vZGVsLCBwYXRoLCByb290TGluZUl0ZW0ucGF0aCkgOiB1bmRlZmluZWQ7XG4gICAgICAgIGlmICghcmVtYWluZGVyKSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGZvdW5kTGluZUl0ZW1zID0gTGluZUl0ZW1VdGlsLmZpbmRMaW5lSXRlbXNCeVBhdGgocnVudGltZU1vZGVsLCByb290TGluZUl0ZW0sIHJlbWFpbmRlcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChzZWN0aW9uLmJvdW5kRGF0YS5lbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuVFlQRV0pIHtcbiAgICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuYmluZE1hdGNoaW5nTGluZUl0ZW1zKFxuICAgICAgICAgIHJ1bnRpbWVNb2RlbCxcbiAgICAgICAgICBmb3VuZExpbmVJdGVtcyxcbiAgICAgICAgICBzZWN0aW9uLFxuICAgICAgICAgIHNlY3Rpb25zLFxuICAgICAgICAgIHNvdXJjZVNlY3Rpb25zLFxuICAgICAgICAgIHByaWNpbmdFbmFibGVkLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChzZWN0aW9uLmJvdW5kRGF0YS5lbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuQVRUUklCVVRFXSkge1xuICAgICAgICBmb3VuZExpbmVJdGVtcyA9IGZvdW5kTGluZUl0ZW1zLmZpbHRlcihcbiAgICAgICAgICBpdGVtID0+XG4gICAgICAgICAgICBpdGVtLmF0dHJpYnV0ZXMgJiZcbiAgICAgICAgICAgIGl0ZW0uYXR0cmlidXRlcy5maW5kSW5kZXgoYSA9PiBhLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gc2VjdGlvbi5ib3VuZERhdGEubmFtZS50b0xvd2VyQ2FzZSgpKSAhPT0gLTEsXG4gICAgICAgICk7XG5cbiAgICAgICAgZm91bmRMaW5lSXRlbXMuZm9yRWFjaChsaW5lSXRlbSA9PiB7XG4gICAgICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuYmluZExpbmVJdGVtKHNlY3Rpb24sIHNlY3Rpb25zLCBzb3VyY2VTZWN0aW9ucywgbGluZUl0ZW0sIHByaWNpbmdFbmFibGVkKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHNlY3Rpb24uYm91bmREYXRhLmVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5QT1JUXSkge1xuICAgICAgICBmb3VuZExpbmVJdGVtcyA9IGZvdW5kTGluZUl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0ucG9ydERvbWFpbnMgJiYgaXRlbS5wb3J0RG9tYWluc1tzZWN0aW9uLmJvdW5kRGF0YS5uYW1lXSk7XG5cbiAgICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuYmluZE1hdGNoaW5nTGluZUl0ZW1zKFxuICAgICAgICAgIHJ1bnRpbWVNb2RlbCxcbiAgICAgICAgICBmb3VuZExpbmVJdGVtcyxcbiAgICAgICAgICBzZWN0aW9uLFxuICAgICAgICAgIHNlY3Rpb25zLFxuICAgICAgICAgIHNvdXJjZVNlY3Rpb25zLFxuICAgICAgICAgIHByaWNpbmdFbmFibGVkLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc2VjdGlvbnM7XG4gIH1cblxuICBzdGF0aWMgaXNBZGRBbGxvd2VkKG1vZGVsOiBMaW5lSXRlbSwgcG9ydE5hbWU6IHN0cmluZywgcXVhbnRpdHlUb0FkZDogbnVtYmVyID0gMSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHF1YW50aXR5ID0gdGhpcy5nZXRRdWFudGl0eShtb2RlbCwgcG9ydE5hbWUpO1xuXG4gICAgcmV0dXJuIHF1YW50aXR5ICsgcXVhbnRpdHlUb0FkZCA8PSArdGhpcy5nZXRQb3J0TWF4KG1vZGVsLCBwb3J0TmFtZSk7XG4gIH1cblxuICBzdGF0aWMgaXNSZW1vdmVBbGxvd2VkKG1vZGVsOiBMaW5lSXRlbSwgcG9ydE5hbWU6IHN0cmluZywgcXVhbnRpdHlUb1JlbW92ZTogbnVtYmVyID0gMSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHF1YW50aXR5ID0gdGhpcy5nZXRRdWFudGl0eShtb2RlbCwgcG9ydE5hbWUpO1xuXG4gICAgcmV0dXJuIHF1YW50aXR5IC0gcXVhbnRpdHlUb1JlbW92ZSA+PSArdGhpcy5nZXRQb3J0TWluKG1vZGVsLCBwb3J0TmFtZSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0TWF4QWxsb3dlZChsaW5lSXRlbTogTGluZUl0ZW0sIHBvcnROYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiArdGhpcy5nZXRQb3J0TWF4KGxpbmVJdGVtLCBwb3J0TmFtZSkgLSB0aGlzLmdldFF1YW50aXR5KGxpbmVJdGVtLCBwb3J0TmFtZSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0UXVhbnRpdHlHcm91cEJ5VmFsdWUobW9kZWw6IExpbmVJdGVtLCBwb3J0TmFtZTogc3RyaW5nKTogeyBbaW5kZXg6IHN0cmluZ106IG51bWJlciB9IHtcbiAgICBjb25zdCBxdWFudGl0aWVzOiB7IFtpbmRleDogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcblxuICAgIGlmIChtb2RlbCAmJiBwb3J0TmFtZSkge1xuICAgICAgbW9kZWwubGluZUl0ZW1zXG4gICAgICAgIC5maWx0ZXIobGkgPT4gbGkucG9ydCA9PT0gcG9ydE5hbWUpXG4gICAgICAgIC5mb3JFYWNoKGxpID0+IHtcbiAgICAgICAgICBsZXQgcXVhbnRpdHkgPSAoRW50aXR5VXRpbC5pc1ByZXNlbnQobGkucXR5KSAmJiBsaS5xdHkpIHx8IDE7XG5cbiAgICAgICAgICBpZiAoRW50aXR5VXRpbC5pc1ByZXNlbnQocXVhbnRpdGllc1tsaS50eXBlXSkpIHtcbiAgICAgICAgICAgIHF1YW50aXR5ICs9IHF1YW50aXRpZXNbbGkudHlwZV07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcXVhbnRpdGllc1tsaS50eXBlXSA9IHF1YW50aXR5O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVhbnRpdGllcztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGJpbmRNYXRjaGluZ0xpbmVJdGVtcyhcbiAgICBydW50aW1lTW9kZWw6IFJ1bnRpbWVNb2RlbCxcbiAgICBmb3VuZExpbmVJdGVtczogTGluZUl0ZW1bXSxcbiAgICBzZWN0aW9uOiBTZWN0aW9uLFxuICAgIHNlY3Rpb25zOiBTZWN0aW9uW10sXG4gICAgc291cmNlU2VjdGlvbnM6IFNlY3Rpb25bXSxcbiAgICBwcmljaW5nRW5hYmxlZDogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgZm91bmRMaW5lSXRlbXMuZm9yRWFjaChsaW5lSXRlbSA9PiB7XG4gICAgICBjb25zdCBib3VuZFNlY3Rpb24gPSBTZWN0aW9uc0JpbmRlckhlbHBlci5iaW5kTGluZUl0ZW0oXG4gICAgICAgIHNlY3Rpb24sXG4gICAgICAgIHNlY3Rpb25zLFxuICAgICAgICBzb3VyY2VTZWN0aW9ucyxcbiAgICAgICAgbGluZUl0ZW0sXG4gICAgICAgIHByaWNpbmdFbmFibGVkLFxuICAgICAgKTtcblxuICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuc2V0TGluZUl0ZW1zUGF0aChcbiAgICAgICAgcnVudGltZU1vZGVsLFxuICAgICAgICBsaW5lSXRlbSxcbiAgICAgICAgc2VjdGlvbnMsXG4gICAgICAgIHNvdXJjZVNlY3Rpb25zLFxuICAgICAgICAoc2VjOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gc2VjLmJvdW5kRGF0YSAmJiBzZWMucGFyZW50SWQgPT09IGJvdW5kU2VjdGlvbi5pZDtcbiAgICAgICAgfSxcbiAgICAgICAgcHJpY2luZ0VuYWJsZWQsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYmluZExpbmVJdGVtKFxuICAgIHNlY3Rpb246IFNlY3Rpb24sXG4gICAgc2VjdGlvbnM6IFNlY3Rpb25bXSxcbiAgICBzb3VyY2VTZWN0aW9uczogU2VjdGlvbltdLFxuICAgIGxpbmVJdGVtOiBMaW5lSXRlbSxcbiAgICBwcmljaW5nRW5hYmxlZDogYm9vbGVhbixcbiAgKTogU2VjdGlvbiB7XG4gICAgY29uc3QgYm91bmRTZWN0aW9uID0gc2VjdGlvbi5tb2RlbCA/IFNlY3Rpb25zQmluZGVySGVscGVyLmRvQ2xvbmUoc2VjdGlvbiwgc2VjdGlvbnMsIHNvdXJjZVNlY3Rpb25zKSA6IHNlY3Rpb247XG5cbiAgICBib3VuZFNlY3Rpb24ubW9kZWwgPSBsaW5lSXRlbTtcbiAgICBib3VuZFNlY3Rpb24ucHJpY2luZ0VuYWJsZWQgPSBwcmljaW5nRW5hYmxlZDtcblxuICAgIHJldHVybiBib3VuZFNlY3Rpb247XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBkb0Nsb25lKHNvdXJjZTogU2VjdGlvbiwgc2VjdGlvbnM6IFNlY3Rpb25bXSwgc291cmNlU2VjdGlvbnM6IFNlY3Rpb25bXSwgcGFyZW50PzogU2VjdGlvbik6IFNlY3Rpb24ge1xuICAgIGNvbnN0IHNvdXJjZUNsYXNzID0gc291cmNlU2VjdGlvbnMuZmluZChzID0+IHMuY2xhc3NJZCA9PT0gc291cmNlLmNsYXNzSWQpIGFzIFNlY3Rpb247XG5cbiAgICBjb25zdCBjbG9uZSA9IEVudGl0eVV0aWwuY2xvbmUoc291cmNlQ2xhc3MpO1xuXG4gICAgY2xvbmUuaWQgPSBVVUlELlVVSUQoKTtcbiAgICBjbG9uZS5wYXJlbnRJZCA9IHBhcmVudCA/IHBhcmVudC5pZCA6IHNvdXJjZS5wYXJlbnRJZDtcblxuICAgIHNlY3Rpb25zLnNwbGljZShzZWN0aW9ucy5maW5kSW5kZXgocyA9PiBzLmlkID09PSBzb3VyY2UuaWQpICsgMSwgMCwgY2xvbmUpO1xuICAgIHNvdXJjZVNlY3Rpb25zXG4gICAgICAuZmlsdGVyKHMgPT4gcy5wYXJlbnRJZCA9PT0gc291cmNlQ2xhc3MuaWQpXG4gICAgICAuZm9yRWFjaChzID0+IFNlY3Rpb25zQmluZGVySGVscGVyLmRvQ2xvbmUocywgc2VjdGlvbnMsIHNvdXJjZVNlY3Rpb25zLCBjbG9uZSkpO1xuXG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0UXVhbnRpdHkobW9kZWw6IExpbmVJdGVtLCBwb3J0TmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgcXVhbnRpdHkgPSAwO1xuXG4gICAgbW9kZWwubGluZUl0ZW1zXG4gICAgICAuZmlsdGVyKGxpID0+IGxpLnBvcnQgPT09IHBvcnROYW1lKVxuICAgICAgLmZvckVhY2gobGkgPT4ge1xuICAgICAgICBxdWFudGl0eSArPSBsaS5xdHk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBxdWFudGl0eTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFBvcnRNYXgobW9kZWw6IExpbmVJdGVtLCBwb3J0TmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbW9kZWwucG9ydERvbWFpbnNbcG9ydE5hbWVdLm1heENhcmQ7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRQb3J0TWluKG1vZGVsOiBMaW5lSXRlbSwgcG9ydE5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIG1vZGVsLnBvcnREb21haW5zW3BvcnROYW1lXS5taW5DYXJkO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsb2NlLXNkay1ydW50aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS92ZWxvY2Utc2RrLXJ1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
4
|
+
import * as i2 from "primeng/button";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
export class FlowDialogComponent {
|
|
7
|
+
constructor(dialogConfig, ref) {
|
|
8
|
+
this.dialogConfig = dialogConfig;
|
|
9
|
+
this.ref = ref;
|
|
10
|
+
this.config = this.dialogConfig.data.config;
|
|
11
|
+
}
|
|
12
|
+
cancelHandler() {
|
|
13
|
+
this.ref.close();
|
|
14
|
+
}
|
|
15
|
+
confirmHandler() {
|
|
16
|
+
this.ref.close(true);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
FlowDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowDialogComponent, deps: [{ token: i1.DynamicDialogConfig }, { token: i1.DynamicDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
FlowDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowDialogComponent, selector: "vl-flow-dialog", ngImport: i0, template: "<div *ngIf=\"config.description\" class=\"description\">\n {{ config.description }}\n</div>\n\n<div class=\"form-actions\">\n <p-button\n *ngIf=\"config.secondaryButton\"\n styleClass=\"p-button-outlined button-text-bold\"\n [label]=\"config.secondaryButton!\"\n (onClick)=\"cancelHandler()\"\n ></p-button>\n <p-button\n styleClass=\"p-button p-button-filled\"\n [label]=\"config.primaryButton\"\n (onClick)=\"confirmHandler()\"\n ></p-button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host .description{flex:1;padding:0 24px 24px;font-weight:400;font-size:12px;line-height:16px;color:var(--vl-text-color-deep-accent)}:host .form-actions{border-top:1px solid var(--vl-border-color);padding:1.5rem 2.2rem;display:flex;justify-content:flex-end;width:100%;grid-gap:10px;gap:10px}\n"], components: [{ type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowDialogComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
selector: 'vl-flow-dialog',
|
|
25
|
+
templateUrl: './dialog.component.html',
|
|
26
|
+
styleUrls: ['./dialog.component.scss'],
|
|
27
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
28
|
+
}]
|
|
29
|
+
}], ctorParameters: function () { return [{ type: i1.DynamicDialogConfig }, { type: i1.DynamicDialogRef }]; } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVVuRSxNQUFNLE9BQU8sbUJBQW1CO0lBRzlCLFlBQW9CLFlBQWlDLEVBQVUsR0FBcUI7UUFBaEUsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDbEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDOUMsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7aUhBYlUsbUJBQW1CO3FHQUFuQixtQkFBbUIsc0RDVmhDLGtlQWlCQTs0RkRQYSxtQkFBbUI7a0JBTi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgRmxvd0RpYWxvZ0NvbmZpZyB9IGZyb20gJy4vZGlhbG9nLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZmxvdy1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGbG93RGlhbG9nQ29tcG9uZW50IHtcbiAgcHVibGljIGNvbmZpZzogRmxvd0RpYWxvZ0NvbmZpZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZ0NvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZywgcHJpdmF0ZSByZWY6IER5bmFtaWNEaWFsb2dSZWYpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuY29uZmlnO1xuICB9XG5cbiAgY2FuY2VsSGFuZGxlcigpOiB2b2lkIHtcbiAgICB0aGlzLnJlZi5jbG9zZSgpO1xuICB9XG5cbiAgY29uZmlybUhhbmRsZXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZWYuY2xvc2UodHJ1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJjb25maWcuZGVzY3JpcHRpb25cIiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XG4gIHt7IGNvbmZpZy5kZXNjcmlwdGlvbiB9fVxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJmb3JtLWFjdGlvbnNcIj5cbiAgPHAtYnV0dG9uXG4gICAgKm5nSWY9XCJjb25maWcuc2Vjb25kYXJ5QnV0dG9uXCJcbiAgICBzdHlsZUNsYXNzPVwicC1idXR0b24tb3V0bGluZWQgYnV0dG9uLXRleHQtYm9sZFwiXG4gICAgW2xhYmVsXT1cImNvbmZpZy5zZWNvbmRhcnlCdXR0b24hXCJcbiAgICAob25DbGljayk9XCJjYW5jZWxIYW5kbGVyKClcIlxuICA+PC9wLWJ1dHRvbj5cbiAgPHAtYnV0dG9uXG4gICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uIHAtYnV0dG9uLWZpbGxlZFwiXG4gICAgW2xhYmVsXT1cImNvbmZpZy5wcmltYXJ5QnV0dG9uXCJcbiAgICAob25DbGljayk9XCJjb25maXJtSGFuZGxlcigpXCJcbiAgPjwvcC1idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { ButtonModule } from 'primeng/button';
|
|
4
|
+
import { FlowDialogComponent } from './dialog.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class FlowDialogModule {
|
|
7
|
+
}
|
|
8
|
+
FlowDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
FlowDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowDialogModule, declarations: [FlowDialogComponent], imports: [CommonModule, ButtonModule], exports: [FlowDialogComponent] });
|
|
10
|
+
FlowDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowDialogModule, imports: [[CommonModule, ButtonModule]] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowDialogModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [FlowDialogComponent],
|
|
15
|
+
imports: [CommonModule, ButtonModule],
|
|
16
|
+
exports: [FlowDialogComponent],
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFPekQsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQUpaLG1CQUFtQixhQUN4QixZQUFZLEVBQUUsWUFBWSxhQUMxQixtQkFBbUI7K0dBRWxCLGdCQUFnQixZQUhsQixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7NEZBRzFCLGdCQUFnQjtrQkFMNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBGbG93RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRmxvd0RpYWxvZ0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJ1dHRvbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtGbG93RGlhbG9nQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRmxvd0RpYWxvZ01vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGbG93RGlhbG9nQ29uZmlnIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHByaW1hcnlCdXR0b246IHN0cmluZztcbiAgc2Vjb25kYXJ5QnV0dG9uPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/core';
|
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
+
import { OverlayPanel } from 'primeng/overlaypanel';
|
|
4
|
+
import { BehaviorSubject, combineLatest, filter, map, Subject, takeUntil } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@veloce/sdk/core";
|
|
7
|
+
import * as i2 from "../../../services/flow-router.service";
|
|
8
|
+
import * as i3 from "primeng/overlaypanel";
|
|
9
|
+
import * as i4 from "primeng/button";
|
|
10
|
+
import * as i5 from "primeng/inputnumber";
|
|
11
|
+
import * as i6 from "primeng/api";
|
|
12
|
+
import * as i7 from "@veloce/components";
|
|
13
|
+
import * as i8 from "@angular/common";
|
|
14
|
+
import * as i9 from "@angular/forms";
|
|
15
|
+
export class CartPreviewComponent {
|
|
16
|
+
constructor(flowConfiguration, routerService, productImagesService) {
|
|
17
|
+
this.flowConfiguration = flowConfiguration;
|
|
18
|
+
this.routerService = routerService;
|
|
19
|
+
this.productImagesService = productImagesService;
|
|
20
|
+
this.form = new FormGroup({});
|
|
21
|
+
this.shouldUpdate$ = new BehaviorSubject(true);
|
|
22
|
+
this.destroyed$ = new Subject();
|
|
23
|
+
this.readonlyProductId$ = combineLatest([
|
|
24
|
+
this.routerService.route$,
|
|
25
|
+
this.routerService.isConfigurationRoute$(),
|
|
26
|
+
]).pipe(map(([route, isConfigurationRoute]) => {
|
|
27
|
+
if (!isConfigurationRoute) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return route.queryParams.productId;
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
ngOnChanges(changes) {
|
|
34
|
+
if (changes.products) {
|
|
35
|
+
this.shouldUpdate$.next(true);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
ngAfterViewInit() {
|
|
39
|
+
combineLatest([this.readonlyProductId$, this.shouldUpdate$, this.overlayPanel.onShow])
|
|
40
|
+
.pipe(filter(() => this.overlayPanel.overlayVisible), takeUntil(this.destroyed$))
|
|
41
|
+
.subscribe(([readonlyProductId]) => this.updateControls(this.products, readonlyProductId));
|
|
42
|
+
}
|
|
43
|
+
ngOnDestroy() {
|
|
44
|
+
this.destroyed$.next();
|
|
45
|
+
this.destroyed$.complete();
|
|
46
|
+
}
|
|
47
|
+
getImageUrl(productId) {
|
|
48
|
+
return this.productImagesService.getImageUrl$(productId);
|
|
49
|
+
}
|
|
50
|
+
navigateToProductConfiguration(productId, lineItemId) {
|
|
51
|
+
this.overlayPanel.hide();
|
|
52
|
+
this.routerService.navigateToProductConfiguration(productId, lineItemId);
|
|
53
|
+
}
|
|
54
|
+
controlBlurHandler(product) {
|
|
55
|
+
const control = this.form.controls[product.id];
|
|
56
|
+
if (control.invalid) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
this.flowConfiguration.update([
|
|
60
|
+
{
|
|
61
|
+
dataType: 'LINEITEM',
|
|
62
|
+
attributeType: 'QTY',
|
|
63
|
+
id: product.id,
|
|
64
|
+
newValue: control.value,
|
|
65
|
+
},
|
|
66
|
+
]);
|
|
67
|
+
}
|
|
68
|
+
deleteHandler(product) {
|
|
69
|
+
this.flowConfiguration.delete([product.id]);
|
|
70
|
+
}
|
|
71
|
+
deleteAllHandler() {
|
|
72
|
+
const productIds = this.products.map(product => product.id);
|
|
73
|
+
this.flowConfiguration.delete(productIds);
|
|
74
|
+
}
|
|
75
|
+
updateControls(products, readonlyProductId) {
|
|
76
|
+
const ids = [];
|
|
77
|
+
products.forEach(item => {
|
|
78
|
+
var _a;
|
|
79
|
+
if (!item.id) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
ids.push(item.id);
|
|
83
|
+
if (!this.form.controls[item.id]) {
|
|
84
|
+
this.form.addControl(item.id, new FormControl(item.qty, []));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
(_a = this.form.controls[item.id]) === null || _a === void 0 ? void 0 : _a.setValue(item.qty);
|
|
88
|
+
}
|
|
89
|
+
if (item.productId === readonlyProductId) {
|
|
90
|
+
this.form.controls[item.id].disable();
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.form.controls[item.id].enable();
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
const removedIds = Object.keys(this.form.controls).filter(id => !ids.includes(id));
|
|
97
|
+
removedIds.forEach(id => this.form.removeControl(id));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
CartPreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CartPreviewComponent, deps: [{ token: i1.FlowConfigurationService }, { token: i2.FlowRouterService }, { token: i1.ProductImagesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
101
|
+
CartPreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: CartPreviewComponent, selector: "vl-cart-preview", inputs: { products: "products" }, viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: OverlayPanel, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-overlayPanel\n styleClass=\"navigation-settings-overlay flow-header-overlay center\"\n showTransitionOptions=\"0ms\"\n hideTransitionOptions=\"0ms\"\n>\n <ng-template pTemplate>\n <div class=\"flow-header-overlay__wrapper\" *vlLet=\"readonlyProductId$ | async as readonlyProductId\">\n <ng-container *ngIf=\"products.length > 0; else empty\">\n <h2 class=\"flow-header-overlay__title\">\n <span>Products ({{ products.length }})</span>\n <i class=\"vl-icon vl-icon-close close-icon\" (click)=\"overlayPanel.hide()\"></i>\n </h2>\n\n <div class=\"product header\">\n <span>Product</span>\n <span class=\"text-right\">Qty</span>\n <span class=\"text-right\">MRR</span>\n <span class=\"text-right\">NRR</span>\n </div>\n\n <div class=\"scrollable-wrapper\">\n <div class=\"product\" *ngFor=\"let product of products\">\n <div class=\"product__info\">\n <div class=\"product__image-wrapper\">\n <div\n *ngIf=\"getImageUrl(product.productId) | async as imageUrl; else noImage\"\n class=\"product__image\"\n [ngStyle]=\"{ 'background-image': 'url(' + imageUrl + ')' }\"\n ></div>\n </div>\n <div class=\"flex flex-column justify-content-center\">\n <div class=\"word-break\">{{ product.name }}</div>\n <div>\n <p-button\n label=\"Configure\"\n [disabled]=\"!product.configurable || readonlyProductId === product.productId\"\n styleClass=\"p-button-link p-button-sm pl-0\"\n (onClick)=\"navigateToProductConfiguration(product.productId, product.id)\"\n ></p-button>\n <p-button\n label=\"Delete\"\n [disabled]=\"readonlyProductId === product.productId\"\n styleClass=\"p-button-link p-button-sm p-button-danger pl-0 pr-0\"\n (onClick)=\"deleteHandler(product)\"\n ></p-button>\n </div>\n </div>\n </div>\n\n <span>\n <p-inputNumber\n *ngIf=\"form.controls[product.id] as control\"\n class=\"qty-control\"\n [formControl]=\"$any(control)\"\n [min]=\"1\"\n [required]=\"true\"\n (onBlur)=\"controlBlurHandler(product)\"\n ></p-inputNumber>\n </span>\n <span class=\"text-right pt-3\">$0.00</span>\n <span class=\"text-right pt-3\">$0.00</span>\n </div>\n\n <ng-template #noImage>\n <i class=\"vl-icon vl-icon-no-image no-image-icon\"></i>\n </ng-template>\n </div>\n\n <div class=\"flex justify-content-end mt-3\">\n <p-button\n label=\"Clear cart\"\n styleClass=\"p-button-link p-button-sm p-button-danger pl-0 pr-0\"\n [disabled]=\"readonlyProductId\"\n (onClick)=\"deleteAllHandler()\"\n ></p-button>\n </div>\n </ng-container>\n\n <ng-template #empty>\n <h2 class=\"flow-header-overlay__title\">\n <span>Empty Cart</span>\n <i class=\"vl-icon vl-icon-close close-icon\" (click)=\"overlayPanel.hide()\"></i>\n </h2>\n\n <span class=\"empty-state\">There are no products added to the Shopping Cart yet.</span>\n </ng-template>\n </div>\n </ng-template>\n</p-overlayPanel>\n", styles: [".flow-header-overlay__wrapper{display:flex;flex-direction:column;width:460px;max-height:600px}.flow-header-overlay__wrapper .close-icon{cursor:pointer}.flow-header-overlay__title{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.empty-state{color:var(--vl-text-color-deep-accent)}.scrollable-wrapper{overflow:auto}.product{display:grid;grid-template-columns:auto 60px 80px 80px;padding:16px 0}.product:not(.header){border-bottom:1px solid var(--vl-border-color)}.product.header{color:var(--vl-text-color-deep-accent)}.product__info{display:flex;grid-gap:16px;gap:16px}.product__image-wrapper{flex-shrink:0;height:64px;width:64px;display:flex;justify-content:center;align-items:center;background:var(--vl-primary-nav-overlay-bg);border-radius:4px}.product__image{background-size:contain;background-repeat:no-repeat;background-position:center;height:calc(100% - 12px);width:calc(100% - 12px)}.product .qty-control ::ng-deep .p-inputnumber-input{align-self:flex-start;text-align:right;width:100%}.word-break{word-break:break-word}.no-image-icon{color:#b4d1ef;height:18px;width:18px}\n"], components: [{ type: i3.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { type: i4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { type: i5.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i7.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i9.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], pipes: { "async": i8.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CartPreviewComponent, decorators: [{
|
|
103
|
+
type: Component,
|
|
104
|
+
args: [{
|
|
105
|
+
selector: 'vl-cart-preview',
|
|
106
|
+
templateUrl: './cart-preview.component.html',
|
|
107
|
+
styleUrls: ['./cart-preview.component.scss'],
|
|
108
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
109
|
+
}]
|
|
110
|
+
}], ctorParameters: function () { return [{ type: i1.FlowConfigurationService }, { type: i2.FlowRouterService }, { type: i1.ProductImagesService }]; }, propDecorators: { overlayPanel: [{
|
|
111
|
+
type: ViewChild,
|
|
112
|
+
args: [OverlayPanel]
|
|
113
|
+
}], products: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}] } });
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2hlYWRlci9jYXJ0LW92ZXJsYXkvY2FydC1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2hlYWRlci9jYXJ0LW92ZXJsYXkvY2FydC1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFJTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7OztBQVVuRyxNQUFNLE9BQU8sb0JBQW9CO0lBVy9CLFlBQ1UsaUJBQTJDLEVBQzNDLGFBQWdDLEVBQ2hDLG9CQUEwQztRQUYxQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBQzNDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBVDdDLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUd4QixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBT3ZDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUM7WUFDdEMsSUFBSSxD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QUFvQix1SUFDcEIsWUFBWSxxRUN4QnpCLHVqSEF5RkE7NEZEbEVhLG9CQUFvQjtrQkFOaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUsK0JBQStCO29CQUM1QyxTQUFTLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDNUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO2tMQUUwQixZQUFZO3NCQUFwQyxTQUFTO3VCQUFDLFlBQVk7Z0JBRWQsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGbG93Q29uZmlndXJhdGlvblNlcnZpY2UsIFByb2R1Y3RJbWFnZXNTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5UGFuZWwgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZsb3dSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmxvdy1yb3V0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBIZWFkZXJQcm9kdWN0IH0gZnJvbSAnLi4vaGVhZGVyLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtY2FydC1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcnQtcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhcnQtcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FydFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoT3ZlcmxheVBhbmVsKSBvdmVybGF5UGFuZWwhOiBPdmVybGF5UGFuZWw7XG5cbiAgQElucHV0KCkgcHJvZHVjdHMhOiBIZWFkZXJQcm9kdWN0W107XG5cbiAgcHVibGljIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgcHVibGljIHJlYWRvbmx5UHJvZHVjdElkJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPjtcblxuICBwcml2YXRlIHNob3VsZFVwZGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmxvd0NvbmZpZ3VyYXRpb246IEZsb3dDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlclNlcnZpY2U6IEZsb3dSb3V0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvZHVjdEltYWdlc1NlcnZpY2U6IFByb2R1Y3RJbWFnZXNTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnJlYWRvbmx5UHJvZHVjdElkJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5yb3V0ZXJTZXJ2aWNlLnJvdXRlJCxcbiAgICAgIHRoaXMucm91dGVyU2VydmljZS5pc0NvbmZpZ3VyYXRpb25Sb3V0ZSQoKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbcm91dGUsIGlzQ29uZmlndXJhdGlvblJvdXRlXSkgPT4ge1xuICAgICAgICBpZiAoIWlzQ29uZmlndXJhdGlvblJvdXRlKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcm91dGUucXVlcnlQYXJhbXMucHJvZHVjdElkO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5wcm9kdWN0cykge1xuICAgICAgdGhpcy5zaG91bGRVcGRhdGUkLm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucmVhZG9ubHlQcm9kdWN0SWQkLCB0aGlzLnNob3VsZFVwZGF0ZSQsIHRoaXMub3ZlcmxheVBhbmVsLm9uU2hvd10pXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMub3ZlcmxheVBhbmVsLm92ZXJsYXlWaXNpYmxlKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbcmVhZG9ubHlQcm9kdWN0SWRdKSA9PiB0aGlzLnVwZGF0ZUNvbnRyb2xzKHRoaXMucHJvZHVjdHMsIHJlYWRvbmx5UHJvZHVjdElkKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbWFnZVVybChwcm9kdWN0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnByb2R1Y3RJbWFnZXNTZXJ2aWNlLmdldEltYWdlVXJsJChwcm9kdWN0SWQpO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9Qcm9kdWN0Q29uZmlndXJhdGlvbihwcm9kdWN0SWQ6IHN0cmluZywgbGluZUl0ZW1JZDogc3RyaW5nKSB7XG4gICAgdGhpcy5vdmVybGF5UGFuZWwuaGlkZSgpO1xuICAgIHRoaXMucm91dGVyU2VydmljZS5uYXZpZ2F0ZVRvUHJvZHVjdENvbmZpZ3VyYXRpb24ocHJvZHVjdElkLCBsaW5lSXRlbUlkKTtcbiAgfVxuXG4gIHB1YmxpYyBjb250cm9sQmx1ckhhbmRsZXIocHJvZHVjdDogSGVhZGVyUHJvZHVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHNbcHJvZHVjdC5pZF07XG4gICAgaWYgKGNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZmxvd0NvbmZpZ3VyYXRpb24udXBkYXRlKFtcbiAgICAgIHtcbiAgICAgICAgZGF0YVR5cGU6ICdMSU5FSVRFTScsXG4gICAgICAgIGF0dHJpYnV0ZVR5cGU6ICdRVFknLFxuICAgICAgICBpZDogcHJvZHVjdC5pZCxcbiAgICAgICAgbmV3VmFsdWU6IGNvbnRyb2wudmFsdWUsXG4gICAgICB9LFxuICAgIF0pO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUhhbmRsZXIocHJvZHVjdDogSGVhZGVyUHJvZHVjdCk6IHZvaWQge1xuICAgIHRoaXMuZmxvd0NvbmZpZ3VyYXRpb24uZGVsZXRlKFtwcm9kdWN0LmlkXSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQWxsSGFuZGxlcigpOiB2b2lkIHtcbiAgICBjb25zdCBwcm9kdWN0SWRzID0gdGhpcy5wcm9kdWN0cy5tYXAocHJvZHVjdCA9PiBwcm9kdWN0LmlkKTtcbiAgICB0aGlzLmZsb3dDb25maWd1cmF0aW9uLmRlbGV0ZShwcm9kdWN0SWRzKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29udHJvbHMocHJvZHVjdHM6IEhlYWRlclByb2R1Y3RbXSwgcmVhZG9ubHlQcm9kdWN0SWQ6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBpZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICBwcm9kdWN0cy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKCFpdGVtLmlkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWRzLnB1c2goaXRlbS5pZCk7XG5cbiAgICAgIGlmICghdGhpcy5mb3JtLmNvbnRyb2xzW2l0ZW0uaWRdKSB7XG4gICAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKGl0ZW0uaWQsIG5ldyBGb3JtQ29udHJvbChpdGVtLnF0eSwgW10pKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1tpdGVtLmlkXT8uc2V0VmFsdWUoaXRlbS5xdHkpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbS5wcm9kdWN0SWQgPT09IHJlYWRvbmx5UHJvZHVjdElkKSB7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1tpdGVtLmlkXS5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbaXRlbS5pZF0uZW5hYmxlKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCByZW1vdmVkSWRzID0gT2JqZWN0LmtleXModGhpcy5mb3JtLmNvbnRyb2xzKS5maWx0ZXIoaWQgPT4gIWlkcy5pbmNsdWRlcyhpZCkpO1xuICAgIHJlbW92ZWRJZHMuZm9yRWFjaChpZCA9PiB0aGlzLmZvcm0ucmVtb3ZlQ29udHJvbChpZCkpO1xuICB9XG59XG4iLCI8cC1vdmVybGF5UGFuZWxcbiAgc3R5bGVDbGFzcz1cIm5hdmlnYXRpb24tc2V0dGluZ3Mtb3ZlcmxheSBmbG93LWhlYWRlci1vdmVybGF5IGNlbnRlclwiXG4gIHNob3dUcmFuc2l0aW9uT3B0aW9ucz1cIjBtc1wiXG4gIGhpZGVUcmFuc2l0aW9uT3B0aW9ucz1cIjBtc1wiXG4+XG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImZsb3ctaGVhZGVyLW92ZXJsYXlfX3dyYXBwZXJcIiAqdmxMZXQ9XCJyZWFkb25seVByb2R1Y3RJZCQgfCBhc3luYyBhcyByZWFkb25seVByb2R1Y3RJZFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb2R1Y3RzLmxlbmd0aCA+IDA7IGVsc2UgZW1wdHlcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwiZmxvdy1oZWFkZXItb3ZlcmxheV9fdGl0bGVcIj5cbiAgICAgICAgICA8c3Bhbj5Qcm9kdWN0cyAoe3sgcHJvZHVjdHMubGVuZ3RoIH19KTwvc3Bhbj5cbiAgICAgICAgICA8aSBjbGFzcz1cInZsLWljb24gdmwtaWNvbi1jbG9zZSBjbG9zZS1pY29uXCIgKGNsaWNrKT1cIm92ZXJsYXlQYW5lbC5oaWRlKClcIj48L2k+XG4gICAgICAgIDwvaDI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2R1Y3QgaGVhZGVyXCI+XG4gICAgICAgICAgPHNwYW4+UHJvZHVjdDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcmlnaHRcIj5RdHk8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXJpZ2h0XCI+TVJSPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yaWdodFwiPk5SUjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbGFibGUtd3JhcHBlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0XCIgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgcHJvZHVjdHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0X19pbmZvXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0X19pbWFnZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJnZXRJbWFnZVVybChwcm9kdWN0LnByb2R1Y3RJZCkgfCBhc3luYyBhcyBpbWFnZVVybDsgZWxzZSBub0ltYWdlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZHVjdF9faW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIGltYWdlVXJsICsgJyknIH1cIlxuICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid29yZC1icmVha1wiPnt7IHByb2R1Y3QubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8cC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJDb25maWd1cmVcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXByb2R1Y3QuY29uZmlndXJhYmxlIHx8IHJlYWRvbmx5UHJvZHVjdElkID09PSBwcm9kdWN0LnByb2R1Y3RJZFwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi1saW5rIHAtYnV0dG9uLXNtIHBsLTBcIlxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJuYXZpZ2F0ZVRvUHJvZHVjdENvbmZpZ3VyYXRpb24ocHJvZHVjdC5wcm9kdWN0SWQsIHByb2R1Y3QuaWQpXCJcbiAgICAgICAgICAgICAgICAgID48L3AtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5UHJvZHVjdElkID09PSBwcm9kdWN0LnByb2R1Y3RJZFwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi1saW5rIHAtYnV0dG9uLXNtIHAtYnV0dG9uLWRhbmdlciBwbC0wIHByLTBcIlxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJkZWxldGVIYW5kbGVyKHByb2R1Y3QpXCJcbiAgICAgICAgICAgICAgICAgID48L3AtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImZvcm0uY29udHJvbHNbcHJvZHVjdC5pZF0gYXMgY29udHJvbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJxdHktY29udHJvbFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIiRhbnkoY29udHJvbClcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwiMVwiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIChvbkJsdXIpPVwiY29udHJvbEJsdXJIYW5kbGVyKHByb2R1Y3QpXCJcbiAgICAgICAgICAgICAgPjwvcC1pbnB1dE51bWJlcj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yaWdodCBwdC0zXCI+JDAuMDA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcmlnaHQgcHQtM1wiPiQwLjAwPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNub0ltYWdlPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJ2bC1pY29uIHZsLWljb24tbm8taW1hZ2Ugbm8taW1hZ2UtaWNvblwiPjwvaT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTNcIj5cbiAgICAgICAgICA8cC1idXR0b25cbiAgICAgICAgICAgIGxhYmVsPVwiQ2xlYXIgY2FydFwiXG4gICAgICAgICAgICBzdHlsZUNsYXNzPVwicC1idXR0b24tbGluayBwLWJ1dHRvbi1zbSBwLWJ1dHRvbi1kYW5nZXIgcGwtMCBwci0wXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVByb2R1Y3RJZFwiXG4gICAgICAgICAgICAob25DbGljayk9XCJkZWxldGVBbGxIYW5kbGVyKClcIlxuICAgICAgICAgID48L3AtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2VtcHR5PlxuICAgICAgICA8aDIgY2xhc3M9XCJmbG93LWhlYWRlci1vdmVybGF5X190aXRsZVwiPlxuICAgICAgICAgIDxzcGFuPkVtcHR5IENhcnQ8L3NwYW4+XG4gICAgICAgICAgPGkgY2xhc3M9XCJ2bC1pY29uIHZsLWljb24tY2xvc2UgY2xvc2UtaWNvblwiIChjbGljayk9XCJvdmVybGF5UGFuZWwuaGlkZSgpXCI+PC9pPlxuICAgICAgICA8L2gyPlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZW1wdHktc3RhdGVcIj5UaGVyZSBhcmUgbm8gcHJvZHVjdHMgYWRkZWQgdG8gdGhlIFNob3BwaW5nIENhcnQgeWV0Ljwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3Atb3ZlcmxheVBhbmVsPlxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { LetDirectiveModule } from '@veloce/components';
|
|
5
|
+
import { ButtonModule } from 'primeng/button';
|
|
6
|
+
import { InputNumberModule } from 'primeng/inputnumber';
|
|
7
|
+
import { OverlayPanelModule } from 'primeng/overlaypanel';
|
|
8
|
+
import { CartPreviewComponent } from './cart-preview.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class CartPreviewModule {
|
|
11
|
+
}
|
|
12
|
+
CartPreviewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CartPreviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
CartPreviewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CartPreviewModule, declarations: [CartPreviewComponent], imports: [CommonModule, ReactiveFormsModule, ButtonModule, OverlayPanelModule, LetDirectiveModule, InputNumberModule], exports: [CartPreviewComponent] });
|
|
14
|
+
CartPreviewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CartPreviewModule, imports: [[CommonModule, ReactiveFormsModule, ButtonModule, OverlayPanelModule, LetDirectiveModule, InputNumberModule]] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CartPreviewModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
declarations: [CartPreviewComponent],
|
|
19
|
+
imports: [CommonModule, ReactiveFormsModule, ButtonModule, OverlayPanelModule, LetDirectiveModule, InputNumberModule],
|
|
20
|
+
exports: [CartPreviewComponent],
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1wcmV2aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2hlYWRlci9jYXJ0LW92ZXJsYXkvY2FydC1wcmV2aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBT2hFLE1BQU0sT0FBTyxpQkFBaUI7OytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkFKYixvQkFBb0IsYUFDekIsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsYUFDMUcsb0JBQW9CO2dIQUVuQixpQkFBaUIsWUFIbkIsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDOzRGQUcxRyxpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUM7b0JBQ3JILE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExldERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJ0B2ZWxvY2UvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBJbnB1dE51bWJlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRudW1iZXInO1xuaW1wb3J0IHsgT3ZlcmxheVBhbmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9vdmVybGF5cGFuZWwnO1xuaW1wb3J0IHsgQ2FydFByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NhcnQtcHJldmlldy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDYXJ0UHJldmlld0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEJ1dHRvbk1vZHVsZSwgT3ZlcmxheVBhbmVsTW9kdWxlLCBMZXREaXJlY3RpdmVNb2R1bGUsIElucHV0TnVtYmVyTW9kdWxlXSxcbiAgZXhwb3J0czogW0NhcnRQcmV2aWV3Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FydFByZXZpZXdNb2R1bGUge31cbiJdfQ==
|