@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,196 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { ConfigurationContextMode } from '@veloce/core';
|
|
3
|
+
import { BehaviorSubject, finalize, map, of, Subject, switchMap, takeUntil, tap } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@veloce/sdk/core";
|
|
6
|
+
import * as i2 from "@veloce/api";
|
|
7
|
+
import * as i3 from "../../services/flow-router.service";
|
|
8
|
+
import * as i4 from "../../services/flow-dialog.service";
|
|
9
|
+
import * as i5 from "primeng/overlaypanel";
|
|
10
|
+
import * as i6 from "./cart-overlay/cart-preview.component";
|
|
11
|
+
import * as i7 from "primeng/button";
|
|
12
|
+
import * as i8 from "@veloce/components";
|
|
13
|
+
import * as i9 from "@angular/common";
|
|
14
|
+
import * as i10 from "primeng/tooltip";
|
|
15
|
+
import * as i11 from "primeng/api";
|
|
16
|
+
export class FlowHeaderComponent {
|
|
17
|
+
constructor(contextService, quoteDraftService, quoteApiService, sfApiService, flowConfiguration, routerService, dialogService) {
|
|
18
|
+
this.contextService = contextService;
|
|
19
|
+
this.quoteDraftService = quoteDraftService;
|
|
20
|
+
this.quoteApiService = quoteApiService;
|
|
21
|
+
this.sfApiService = sfApiService;
|
|
22
|
+
this.flowConfiguration = flowConfiguration;
|
|
23
|
+
this.routerService = routerService;
|
|
24
|
+
this.dialogService = dialogService;
|
|
25
|
+
this.disabledActionButtonTooltip = 'Available from the Shopping Cart';
|
|
26
|
+
this.objectDetails$ = new BehaviorSubject({});
|
|
27
|
+
this.isSaveInProgress$ = new BehaviorSubject(false);
|
|
28
|
+
this.isSubmitInProgress$ = new BehaviorSubject(false);
|
|
29
|
+
this.destroyed$ = new Subject();
|
|
30
|
+
const ctx = this.contextService.resolve();
|
|
31
|
+
this.mode = ctx.mode;
|
|
32
|
+
this.objectName = ctx.mode.toLowerCase();
|
|
33
|
+
this.contextProperties = ctx.properties;
|
|
34
|
+
this.status$ = this.contextService.resolve$().pipe(map(context => { var _a; return (_a = context.properties.Status) !== null && _a !== void 0 ? _a : ''; }));
|
|
35
|
+
this.isEditMode$ = this.quoteDraftService.isEditMode$();
|
|
36
|
+
this.products$ = this.flowConfiguration.get().pipe(map(lineItems => this.generateProducts(lineItems)));
|
|
37
|
+
this.isConfigurationRoute$ = this.routerService.isConfigurationRoute$();
|
|
38
|
+
this.isCartRoute$ = this.routerService.isCartRoute$();
|
|
39
|
+
this.isCatalogRoute$ = this.routerService.isCatalogRoute$();
|
|
40
|
+
}
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
this.populateObjectDetails();
|
|
43
|
+
}
|
|
44
|
+
ngOnDestroy() {
|
|
45
|
+
this.destroyed$.next();
|
|
46
|
+
this.destroyed$.complete();
|
|
47
|
+
}
|
|
48
|
+
get isAccountMode() {
|
|
49
|
+
return this.mode === ConfigurationContextMode.ACCOUNT;
|
|
50
|
+
}
|
|
51
|
+
get isQuoteMode() {
|
|
52
|
+
return this.mode === ConfigurationContextMode.QUOTE;
|
|
53
|
+
}
|
|
54
|
+
back() {
|
|
55
|
+
const objectId = this.contextService.resolve().headerId;
|
|
56
|
+
if (objectId) {
|
|
57
|
+
window.VELO_BACK_FN.apply(null, [objectId]);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
getSalesforceObjectLink(objectId) {
|
|
61
|
+
if (!objectId) {
|
|
62
|
+
return '';
|
|
63
|
+
}
|
|
64
|
+
return `${window.location.origin}/${objectId}`;
|
|
65
|
+
}
|
|
66
|
+
navigateToShoppingCart() {
|
|
67
|
+
this.routerService.navigateToShoppingCart();
|
|
68
|
+
}
|
|
69
|
+
navigateToCatalog() {
|
|
70
|
+
this.routerService.navigateToCatalog();
|
|
71
|
+
}
|
|
72
|
+
saveButtonClickHandler() {
|
|
73
|
+
if (!this.quoteDraftService.isEditMode()) {
|
|
74
|
+
if (this.mode === ConfigurationContextMode.QUOTE) {
|
|
75
|
+
this.dialogService.showQuoteReadonlyModeDialog().subscribe();
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.dialogService.showReadonlyModeDialog().subscribe();
|
|
79
|
+
}
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (this.mode === ConfigurationContextMode.ACCOUNT && !this.quoteDraftService.hasUnsavedChanges) {
|
|
83
|
+
this.dialogService.showAccountNoChangesDialog().subscribe();
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const lineItems = this.flowConfiguration.getSnapshot();
|
|
87
|
+
if (!lineItems.length) {
|
|
88
|
+
this.dialogService.showEmptyCartDialog().subscribe();
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const quoteDraft = this.quoteDraftService.quoteSnapshot;
|
|
92
|
+
if (!quoteDraft) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
this.isSaveInProgress$.next(true);
|
|
96
|
+
this.quoteApiService
|
|
97
|
+
.upsertQuote(quoteDraft)
|
|
98
|
+
.pipe(tap(() => {
|
|
99
|
+
// navigate back to quote on successful save
|
|
100
|
+
if (this.mode === ConfigurationContextMode.QUOTE) {
|
|
101
|
+
this.back();
|
|
102
|
+
}
|
|
103
|
+
}), finalize(() => this.isSaveInProgress$.next(false)))
|
|
104
|
+
.subscribe();
|
|
105
|
+
}
|
|
106
|
+
submitButtonClickHandler() {
|
|
107
|
+
if (this.mode === ConfigurationContextMode.QUOTE && !this.quoteDraftService.isEditMode()) {
|
|
108
|
+
this.dialogService.showReadonlyQuoteSubmitFailureDialog();
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (this.mode === ConfigurationContextMode.ACCOUNT) {
|
|
112
|
+
this.dialogService.showAccountSubmitFailureDialog();
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const quoteDraft = this.quoteDraftService.quoteSnapshot;
|
|
116
|
+
if (!quoteDraft) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
this.isSubmitInProgress$.next(true);
|
|
120
|
+
this.quoteApiService
|
|
121
|
+
.submitQuote(quoteDraft)
|
|
122
|
+
.pipe(switchMap(() => this.quoteApiService.getQuoteDraft(quoteDraft.quoteId)), tap(updatedQuoteDraft => this.contextService.update({ properties: updatedQuoteDraft.context.properties })), finalize(() => this.isSubmitInProgress$.next(false)), takeUntil(this.destroyed$))
|
|
123
|
+
.subscribe();
|
|
124
|
+
}
|
|
125
|
+
queryName$(objectName, id) {
|
|
126
|
+
if (!id) {
|
|
127
|
+
return of('');
|
|
128
|
+
}
|
|
129
|
+
const searchRequest = {
|
|
130
|
+
count: 1,
|
|
131
|
+
rawCondition: `Id = '${id}'`,
|
|
132
|
+
fields: ['Name'],
|
|
133
|
+
};
|
|
134
|
+
return this.sfApiService.query(searchRequest, objectName).pipe(map(result => { var _a, _b; return (_b = (_a = result[0]) === null || _a === void 0 ? void 0 : _a.Name) !== null && _b !== void 0 ? _b : ''; }), takeUntil(this.destroyed$));
|
|
135
|
+
}
|
|
136
|
+
populateObjectDetails() {
|
|
137
|
+
var _a, _b;
|
|
138
|
+
const accountId = this.isAccountMode ? this.contextProperties.Id : this.contextProperties.AccountId;
|
|
139
|
+
const opportunityId = this.contextProperties.OpportunityId;
|
|
140
|
+
const quoteId = this.isQuoteMode ? this.contextProperties.Id : undefined;
|
|
141
|
+
const quoteName = this.isQuoteMode ? this.contextProperties.Name : undefined;
|
|
142
|
+
const quoteNumber = this.isQuoteMode ? (_a = this.contextProperties.QuoteNumber) === null || _a === void 0 ? void 0 : _a.replace(/^0+/, '') : undefined;
|
|
143
|
+
const priceListName = (_b = this.quoteDraftService.quotePriceList) === null || _b === void 0 ? void 0 : _b.name;
|
|
144
|
+
this.objectDetails$.next(Object.assign(Object.assign({}, this.objectDetails$.value), { accountId,
|
|
145
|
+
opportunityId,
|
|
146
|
+
quoteId,
|
|
147
|
+
quoteName,
|
|
148
|
+
quoteNumber,
|
|
149
|
+
priceListName }));
|
|
150
|
+
this.queryName$('Account', accountId).subscribe(accountName => this.objectDetails$.next(Object.assign(Object.assign({}, this.objectDetails$.value), { accountName })));
|
|
151
|
+
this.queryName$('Opportunity', opportunityId).subscribe(opportunityName => this.objectDetails$.next(Object.assign(Object.assign({}, this.objectDetails$.value), { opportunityName })));
|
|
152
|
+
}
|
|
153
|
+
generateProducts(lineItems) {
|
|
154
|
+
const date = new Date();
|
|
155
|
+
date.setHours(0, 0, 0, 0);
|
|
156
|
+
const now = date.getTime();
|
|
157
|
+
return lineItems.reduce((result, li) => {
|
|
158
|
+
// find main term line item
|
|
159
|
+
if (li.rampInstanceId) {
|
|
160
|
+
return result;
|
|
161
|
+
}
|
|
162
|
+
// find current term line item
|
|
163
|
+
let target = li;
|
|
164
|
+
while (target && target.endDate && new Date(target.endDate).getTime() <= now) {
|
|
165
|
+
target = lineItems.find(sub => sub.rampInstanceId === li.id);
|
|
166
|
+
}
|
|
167
|
+
if (target && target.productId) {
|
|
168
|
+
return [
|
|
169
|
+
...result,
|
|
170
|
+
{
|
|
171
|
+
id: target.id,
|
|
172
|
+
productId: target.productId,
|
|
173
|
+
name: target.name,
|
|
174
|
+
configurable: target.properties['#configurable'] === 'true',
|
|
175
|
+
qty: target.qty,
|
|
176
|
+
mrr: 0,
|
|
177
|
+
nrr: 0,
|
|
178
|
+
},
|
|
179
|
+
];
|
|
180
|
+
}
|
|
181
|
+
return result;
|
|
182
|
+
}, []);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
FlowHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderComponent, deps: [{ token: i1.ContextService }, { token: i1.QuoteDraftService }, { token: i2.QuoteApiService }, { token: i2.SalesforceApiService }, { token: i1.FlowConfigurationService }, { token: i3.FlowRouterService }, { token: i4.FlowDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
186
|
+
FlowHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowHeaderComponent, selector: "vl-flow-header", ngImport: i0, template: "<div class=\"flow-info\" *vlLet=\"objectDetails$ | async as details\">\n <nav class=\"nav-item nav-back\" (click)=\"back()\">\n <i class=\"nav-icon vl-icon vl-icon-arrow-left\"></i>\n\n <span> Back </span>\n <span *ngIf=\"objectName\" class=\"object-name\"> To {{ objectName }}</span>\n </nav>\n\n <ng-container *ngIf=\"isAccountMode\">\n <span class=\"dot-separator\"></span>\n\n <span>Account name</span>\n\n <nav class=\"account-name\" [pTooltip]=\"contextProperties.Name ?? ''\" tooltipPosition=\"bottom\" [showDelay]=\"1000\">\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(contextProperties.Id)\">{{ contextProperties.Name }}</a>\n </nav>\n </ng-container>\n\n <ng-container *ngIf=\"isQuoteMode\">\n <span class=\"dot-separator\"></span>\n\n <span>Quote #{{ details.quoteNumber }}</span>\n\n <span class=\"dot-separator\"></span>\n\n <nav class=\"nav-item\" (click)=\"quoteDetails.toggle($event)\">\n <span>{{ status$ | async }}</span>\n\n <i *ngIf=\"!quoteDetails.overlayVisible\" class=\"vl-icon vl-icon-chevron-down icon-with-margin\"></i>\n <i *ngIf=\"quoteDetails.overlayVisible\" class=\"vl-icon vl-icon-chevron-up icon-with-margin\"></i>\n </nav>\n\n <p-overlayPanel styleClass=\"navigation-settings-overlay flow-header-overlay center\" #quoteDetails>\n <ng-template pTemplate>\n <div class=\"flow-header-overlay__wrapper\">\n <h2 class=\"flow-header-overlay__title\">\n <span>Quote Information</span>\n <i class=\"vl-icon vl-icon-close close-icon\" (click)=\"quoteDetails.hide()\"></i>\n </h2>\n\n <ul class=\"info-list\">\n <li class=\"info-list__row\">\n <span>Account Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.accountId)\">{{ details.accountName }}</a>\n </li>\n <li class=\"info-list__row\">\n <span>Opportunity Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.opportunityId)\">{{\n details.opportunityName\n }}</a>\n </li>\n <li class=\"info-list__row\">\n <span>Quote Name:</span>\n <a target=\"_blank\" [href]=\"getSalesforceObjectLink(details.quoteId)\">{{ details.quoteName }}</a>\n </li>\n </ul>\n </div>\n </ng-template>\n </p-overlayPanel>\n </ng-container>\n</div>\n\n<div class=\"flow-navigation\">\n <nav class=\"nav-item\" [ngClass]=\"{ active: isCatalogRoute$ | async }\" (click)=\"navigateToCatalog()\">Catalog</nav>\n <nav class=\"nav-item disabled\" [ngClass]=\"{ active: isConfigurationRoute$ | async }\">Configurator</nav>\n <ng-container *vlLet=\"products$ | async as products\">\n <nav class=\"nav-item\" [ngClass]=\"{ active: isCartRoute$ | async }\" (click)=\"navigateToShoppingCart()\">\n Shopping Cart ({{ products.length }})\n </nav>\n\n <nav class=\"nav-popover-toggle active\" (click)=\"cart?.overlayPanel?.toggle($event)\">\n <i *ngIf=\"!cart?.overlayPanel?.overlayVisible\" class=\"vl-icon vl-icon-chevron-down icon-with-margin\"></i>\n <i *ngIf=\"cart?.overlayPanel?.overlayVisible\" class=\"vl-icon vl-icon-chevron-up icon-with-margin\"></i>\n </nav>\n\n <vl-cart-preview #cart [products]=\"products\"></vl-cart-preview>\n </ng-container>\n</div>\n\n<div class=\"flow-controls\" *vlLet=\"objectDetails$ | async as details\">\n <ng-container *ngIf=\"isQuoteMode\">\n <span *ngIf=\"details.priceListName\">{{ details.priceListName }}</span>\n <span *ngIf=\"contextProperties.StartDate\">{{ contextProperties.StartDate | date: 'MM.dd.yyyy' }}</span>\n\n <span class=\"slash-separator\"></span>\n\n <span>MRR: <span class=\"font-semibold\">$0.00</span></span>\n <span>NRR: <span class=\"font-semibold\">$0.00</span></span>\n </ng-container>\n\n <ng-container *vlLet=\"isCartRoute$ | async as isCartRoute\">\n <p-button\n styleClass=\"p-button-outlined\"\n label=\"Generate Doc\"\n [disabled]=\"!isCartRoute\"\n tooltipPosition=\"bottom\"\n [showDelay]=\"300\"\n [pTooltip]=\"isCartRoute ? '' : disabledActionButtonTooltip\"\n ></p-button>\n\n <p-button\n *vlLet=\"isSaveInProgress$ | async as isSaveInProgress\"\n class=\"save-button\"\n styleClass=\"p-button-outlined\"\n [label]=\"isSaveInProgress ? 'Saving' : 'Save to Quote'\"\n (onClick)=\"saveButtonClickHandler()\"\n [loading]=\"isSaveInProgress\"\n ></p-button>\n\n <p-button\n *vlLet=\"isSubmitInProgress$ | async as isSubmitInProgress\"\n class=\"submit-button\"\n styleClass=\"p-button\"\n [label]=\"isSubmitInProgress ? 'Submitting' : 'Submit For Approval'\"\n [disabled]=\"!isCartRoute\"\n tooltipPosition=\"bottom\"\n [showDelay]=\"300\"\n [pTooltip]=\"isCartRoute ? '' : disabledActionButtonTooltip\"\n (onClick)=\"submitButtonClickHandler()\"\n [loading]=\"isSubmitInProgress\"\n ></p-button>\n </ng-container>\n</div>\n", styles: [":host{display:flex;align-items:center;height:48px;width:100%;background-color:var(--vl-primary-color);color:#fff;padding:0 32px;flex-shrink:0}::ng-deep .p-overlaypanel.flow-header-overlay .p-overlaypanel-content{background-color:#fff;padding:16px}::ng-deep .p-overlaypanel.flow-header-overlay.left:before{left:6px!important}::ng-deep .p-overlaypanel.flow-header-overlay.right:before{right:6px!important}::ng-deep .p-overlaypanel.flow-header-overlay.left .p-overlaypanel-content{margin-left:-16px}::ng-deep .p-overlaypanel.flow-header-overlay.right .p-overlaypanel-content{margin-right:-16px}::ng-deep .p-overlaypanel.flow-header-overlay:before{background-color:#fff}:host ::ng-deep .p-button{padding:5px 15px;font-size:12px}:host ::ng-deep .p-button{color:var(--vl-primary-color);background-color:#fff;border-color:#fff}:host ::ng-deep .p-button:enabled:hover{background-color:var(--vl-primary-color);color:#fff;border-color:#fff}:host ::ng-deep .p-button.p-button-outlined{background-color:var(--vl-primary-color);color:#fff;border-color:#fff}:host ::ng-deep .p-button.p-button-outlined:enabled:hover{color:var(--vl-primary-color);background-color:#fff;border-color:#fff}:host ::ng-deep .p-button .p-button-label{white-space:nowrap}:host ::ng-deep .save-button .p-button{width:120px}:host ::ng-deep .submit-button .p-button{width:160px}.vl-icon{display:inline-block}.flow-info{flex-shrink:0;display:flex;grid-gap:8px;gap:8px;align-items:center}.flow-info .nav-popover-toggle{margin-left:-8px}.flow-info .object-name{text-transform:capitalize}.flow-info .nav-back{font-weight:bold}.flow-info .nav-item:not(.disabled):hover,.flow-info .nav-popover-toggle:not(.disabled):hover{opacity:.6}nav{display:flex;align-items:center;cursor:pointer;padding:4px 0}nav.disabled{opacity:.6;cursor:default}nav .nav-icon{margin-right:10px}nav .icon-with-margin{margin:0 4px}nav a{color:#fff}nav.account-name{margin-left:4px;display:block;max-width:200px;overflow:hidden;text-overflow:ellipsis}nav.nav-popover-toggle{width:24px;display:flex;justify-content:center}nav.nav-popover-toggle i{pointer-events:none;margin:0}nav i{pointer-events:none}.dot-separator:after{content:\"\";display:block;width:4px;height:4px;border-radius:50%;background:#fff}.slash-separator:after{content:\"\";display:block;background:#fff;width:1px;height:16px}.flow-header-overlay__wrapper{width:360px}.flow-header-overlay__wrapper .close-icon{cursor:pointer}.flow-header-overlay__wrapper .info-list{list-style:none;padding:0;font-size:12px}.flow-header-overlay__wrapper .info-list__row{padding:8px 0;display:flex;justify-content:space-between}.flow-header-overlay__title{display:flex;justify-content:space-between;align-items:center;margin:0 0 24px}.flow-navigation{flex-grow:1;display:flex;grid-gap:16px;gap:16px;justify-content:center;font-weight:600}.flow-navigation .cart-nav-container{display:flex}.flow-navigation .nav-popover-toggle{margin-left:-14px}.flow-navigation .nav-item,.flow-navigation .nav-popover-toggle{opacity:.6}.flow-navigation .nav-item.active,.flow-navigation .nav-item:not(.disabled):hover,.flow-navigation .nav-popover-toggle.active,.flow-navigation .nav-popover-toggle:not(.disabled):hover{opacity:1}.flow-controls{flex-shrink:0;display:flex;align-items:center;grid-gap:8px;gap:8px}\n"], components: [{ type: i5.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { type: i6.CartPreviewComponent, selector: "vl-cart-preview", inputs: ["products"] }, { type: i7.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass"], outputs: ["onClick", "onFocus", "onBlur"] }], directives: [{ type: i8.LetDirective, selector: "[vlLet]", inputs: ["vlLet"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i11.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i9.AsyncPipe, "date": i9.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderComponent, decorators: [{
|
|
188
|
+
type: Component,
|
|
189
|
+
args: [{
|
|
190
|
+
selector: 'vl-flow-header',
|
|
191
|
+
templateUrl: './header.component.html',
|
|
192
|
+
styleUrls: ['./header.component.scss'],
|
|
193
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
194
|
+
}]
|
|
195
|
+
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i1.QuoteDraftService }, { type: i2.QuoteApiService }, { type: i2.SalesforceApiService }, { type: i1.FlowConfigurationService }, { type: i3.FlowRouterService }, { type: i4.FlowDialogService }]; } });
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV0RixPQUFPLEVBQUUsd0JBQXdCLEVBQXdELE1BQU0sY0FBYyxDQUFDO0FBRTlHLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBYTFHLE1BQU0sT0FBTyxtQkFBbUI7SUFrQjlCLFlBQ1UsY0FBOEIsRUFDOUIsaUJBQW9DLEVBQ3BDLGVBQWdDLEVBQ2hDLFlBQWtDLEVBQ2xDLGlCQUEyQyxFQUMzQyxhQUFnQyxFQUNoQyxhQUFnQztRQU5oQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsaUJBQVksR0FBWixZQUFZLENBQXNCO1FBQ2xDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFDM0Msa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQXhCMUIsZ0NBQTJCLEdBQUcsa0NBQWtDLENBQUM7UUFLMUUsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsRUFBRSxDQUFDLENBQUM7UUFNOUQsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxD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ZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUXVvdGVBcGlTZXJ2aWNlLCBTYWxlc2ZvcmNlQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZSwgQ29udGV4dFByb3BlcnRpZXMsIExpbmVJdGVtLCBTZWFyY2hSZXF1ZXN0LCBWbFdpbmRvdyB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlLCBRdW90ZURyYWZ0U2VydmljZSB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaW5hbGl6ZSwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmxvd0RpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mbG93LWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IEZsb3dSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmxvdy1yb3V0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBIZWFkZXJPYmplY3REZXRhaWxzLCBIZWFkZXJQcm9kdWN0IH0gZnJvbSAnLi9oZWFkZXIudHlwZXMnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogVmxXaW5kb3c7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWZsb3ctaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmxvd0hlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkQWN0aW9uQnV0dG9uVG9vbHRpcCA9ICdBdmFpbGFibGUgZnJvbSB0aGUgU2hvcHBpbmcgQ2FydCc7XG5cbiAgcHVibGljIG9iamVjdE5hbWU6IHN0cmluZztcbiAgcHVibGljIGNvbnRleHRQcm9wZXJ0aWVzOiBDb250ZXh0UHJvcGVydGllcztcbiAgcHVibGljIHN0YXR1cyQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgcHVibGljIG9iamVjdERldGFpbHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxIZWFkZXJPYmplY3REZXRhaWxzPih7fSk7XG4gIHB1YmxpYyBwcm9kdWN0cyQ6IE9ic2VydmFibGU8SGVhZGVyUHJvZHVjdFtdPjtcbiAgcHVibGljIGlzQ29uZmlndXJhdGlvblJvdXRlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIGlzQ2FydFJvdXRlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIGlzQ2F0YWxvZ1JvdXRlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIGlzRWRpdE1vZGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgaXNTYXZlSW5Qcm9ncmVzcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHVibGljIGlzU3VibWl0SW5Qcm9ncmVzcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwcml2YXRlIG1vZGU/OiBDb25maWd1cmF0aW9uQ29udGV4dE1vZGU7XG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZURyYWZ0U2VydmljZTogUXVvdGVEcmFmdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZUFwaVNlcnZpY2U6IFF1b3RlQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHNmQXBpU2VydmljZTogU2FsZXNmb3JjZUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93Q29uZmlndXJhdGlvbjogRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyU2VydmljZTogRmxvd1JvdXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBGbG93RGlhbG9nU2VydmljZSxcbiAgKSB7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG5cbiAgICB0aGlzLm1vZGUgPSBjdHgubW9kZTtcbiAgICB0aGlzLm9iamVjdE5hbWUgPSBjdHgubW9kZS50b0xvd2VyQ2FzZSgpO1xuICAgIHRoaXMuY29udGV4dFByb3BlcnRpZXMgPSBjdHgucHJvcGVydGllcztcblxuICAgIHRoaXMuc3RhdHVzJCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSQoKS5waXBlKG1hcChjb250ZXh0ID0+IGNvbnRleHQucHJvcGVydGllcy5TdGF0dXMgPz8gJycpKTtcbiAgICB0aGlzLmlzRWRpdE1vZGUkID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5pc0VkaXRNb2RlJCgpO1xuICAgIHRoaXMucHJvZHVjdHMkID0gdGhpcy5mbG93Q29uZmlndXJhdGlvbi5nZXQoKS5waXBlKG1hcChsaW5lSXRlbXMgPT4gdGhpcy5nZW5lcmF0ZVByb2R1Y3RzKGxpbmVJdGVtcykpKTtcbiAgICB0aGlzLmlzQ29uZmlndXJhdGlvblJvdXRlJCA9IHRoaXMucm91dGVyU2VydmljZS5pc0NvbmZpZ3VyYXRpb25Sb3V0ZSQoKTtcbiAgICB0aGlzLmlzQ2FydFJvdXRlJCA9IHRoaXMucm91dGVyU2VydmljZS5pc0NhcnRSb3V0ZSQoKTtcbiAgICB0aGlzLmlzQ2F0YWxvZ1JvdXRlJCA9IHRoaXMucm91dGVyU2VydmljZS5pc0NhdGFsb2dSb3V0ZSQoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucG9wdWxhdGVPYmplY3REZXRhaWxzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0FjY291bnRNb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1F1b3RlTW9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuUVVPVEU7XG4gIH1cblxuICBwdWJsaWMgYmFjaygpOiB2b2lkIHtcbiAgICBjb25zdCBvYmplY3RJZCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpLmhlYWRlcklkO1xuXG4gICAgaWYgKG9iamVjdElkKSB7XG4gICAgICB3aW5kb3cuVkVMT19CQUNLX0ZOLmFwcGx5KG51bGwsIFtvYmplY3RJZF0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRTYWxlc2ZvcmNlT2JqZWN0TGluayhvYmplY3RJZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFvYmplY3RJZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHJldHVybiBgJHt3aW5kb3cubG9jYXRpb24ub3JpZ2lufS8ke29iamVjdElkfWA7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUb1Nob3BwaW5nQ2FydCgpIHtcbiAgICB0aGlzLnJvdXRlclNlcnZpY2UubmF2aWdhdGVUb1Nob3BwaW5nQ2FydCgpO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9DYXRhbG9nKCkge1xuICAgIHRoaXMucm91dGVyU2VydmljZS5uYXZpZ2F0ZVRvQ2F0YWxvZygpO1xuICB9XG5cbiAgcHVibGljIHNhdmVCdXR0b25DbGlja0hhbmRsZXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmlzRWRpdE1vZGUoKSkge1xuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLlFVT1RFKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93UXVvdGVSZWFkb25seU1vZGVEaWFsb2coKS5zdWJzY3JpYmUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93UmVhZG9ubHlNb2RlRGlhbG9nKCkuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQgJiYgIXRoaXMucXVvdGVEcmFmdFNlcnZpY2UuaGFzVW5zYXZlZENoYW5nZXMpIHtcbiAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93QWNjb3VudE5vQ2hhbmdlc0RpYWxvZygpLnN1YnNjcmliZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxpbmVJdGVtcyA9IHRoaXMuZmxvd0NvbmZpZ3VyYXRpb24uZ2V0U25hcHNob3QoKTtcblxuICAgIGlmICghbGluZUl0ZW1zLmxlbmd0aCkge1xuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dFbXB0eUNhcnREaWFsb2coKS5zdWJzY3JpYmUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZVNuYXBzaG90O1xuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNTYXZlSW5Qcm9ncmVzcyQubmV4dCh0cnVlKTtcblxuICAgIHRoaXMucXVvdGVBcGlTZXJ2aWNlXG4gICAgICAudXBzZXJ0UXVvdGUocXVvdGVEcmFmdClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIC8vIG5hdmlnYXRlIGJhY2sgdG8gcXVvdGUgb24gc3VjY2Vzc2Z1bCBzYXZlXG4gICAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLlFVT1RFKSB7XG4gICAgICAgICAgICB0aGlzLmJhY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzU2F2ZUluUHJvZ3Jlc3MkLm5leHQoZmFsc2UpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRCdXR0b25DbGlja0hhbmRsZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLlFVT1RFICYmICF0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmlzRWRpdE1vZGUoKSkge1xuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dSZWFkb25seVF1b3RlU3VibWl0RmFpbHVyZURpYWxvZygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UKSB7XG4gICAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0FjY291bnRTdWJtaXRGYWlsdXJlRGlhbG9nKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVTbmFwc2hvdDtcbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzU3VibWl0SW5Qcm9ncmVzcyQubmV4dCh0cnVlKTtcblxuICAgIHRoaXMucXVvdGVBcGlTZXJ2aWNlXG4gICAgICAuc3VibWl0UXVvdGUocXVvdGVEcmFmdClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5xdW90ZUFwaVNlcnZpY2UuZ2V0UXVvdGVEcmFmdChxdW90ZURyYWZ0LnF1b3RlSWQpKSxcbiAgICAgICAgdGFwKHVwZGF0ZWRRdW90ZURyYWZ0ID0+IHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHsgcHJvcGVydGllczogdXBkYXRlZFF1b3RlRHJhZnQuY29udGV4dC5wcm9wZXJ0aWVzIH0pKSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5pc1N1Ym1pdEluUHJvZ3Jlc3MkLm5leHQoZmFsc2UpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHF1ZXJ5TmFtZSQob2JqZWN0TmFtZTogc3RyaW5nLCBpZD86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgaWYgKCFpZCkge1xuICAgICAgcmV0dXJuIG9mKCcnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWFyY2hSZXF1ZXN0OiBTZWFyY2hSZXF1ZXN0ID0ge1xuICAgICAgY291bnQ6IDEsXG4gICAgICByYXdDb25kaXRpb246IGBJZCA9ICcke2lkfSdgLFxuICAgICAgZmllbGRzOiBbJ05hbWUnXSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuc2ZBcGlTZXJ2aWNlLnF1ZXJ5PGFueT4oc2VhcmNoUmVxdWVzdCwgb2JqZWN0TmFtZSkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0WzBdPy5OYW1lID8/ICcnKSxcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlT2JqZWN0RGV0YWlscygpOiB2b2lkIHtcbiAgICBjb25zdCBhY2NvdW50SWQgPSB0aGlzLmlzQWNjb3VudE1vZGUgPyB0aGlzLmNvbnRleHRQcm9wZXJ0aWVzLklkIDogdGhpcy5jb250ZXh0UHJvcGVydGllcy5BY2NvdW50SWQ7XG4gICAgY29uc3Qgb3Bwb3J0dW5pdHlJZCA9IHRoaXMuY29udGV4dFByb3BlcnRpZXMuT3Bwb3J0dW5pdHlJZDtcbiAgICBjb25zdCBxdW90ZUlkID0gdGhpcy5pc1F1b3RlTW9kZSA/IHRoaXMuY29udGV4dFByb3BlcnRpZXMuSWQgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcXVvdGVOYW1lID0gdGhpcy5pc1F1b3RlTW9kZSA/IHRoaXMuY29udGV4dFByb3BlcnRpZXMuTmFtZSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBxdW90ZU51bWJlciA9IHRoaXMuaXNRdW90ZU1vZGUgPyB0aGlzLmNvbnRleHRQcm9wZXJ0aWVzLlF1b3RlTnVtYmVyPy5yZXBsYWNlKC9eMCsvLCAnJykgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcHJpY2VMaXN0TmFtZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVQcmljZUxpc3Q/Lm5hbWU7XG5cbiAgICB0aGlzLm9iamVjdERldGFpbHMkLm5leHQoe1xuICAgICAgLi4udGhpcy5vYmplY3REZXRhaWxzJC52YWx1ZSxcbiAgICAgIGFjY291bnRJZCxcbiAgICAgIG9wcG9ydHVuaXR5SWQsXG4gICAgICBxdW90ZUlkLFxuICAgICAgcXVvdGVOYW1lLFxuICAgICAgcXVvdGVOdW1iZXIsXG4gICAgICBwcmljZUxpc3ROYW1lLFxuICAgIH0pO1xuXG4gICAgdGhpcy5xdWVyeU5hbWUkKCdBY2NvdW50JywgYWNjb3VudElkKS5zdWJzY3JpYmUoYWNjb3VudE5hbWUgPT5cbiAgICAgIHRoaXMub2JqZWN0RGV0YWlscyQubmV4dCh7XG4gICAgICAgIC4uLnRoaXMub2JqZWN0RGV0YWlscyQudmFsdWUsXG4gICAgICAgIGFjY291bnROYW1lLFxuICAgICAgfSksXG4gICAgKTtcbiAgICB0aGlzLnF1ZXJ5TmFtZSQoJ09wcG9ydHVuaXR5Jywgb3Bwb3J0dW5pdHlJZCkuc3Vic2NyaWJlKG9wcG9ydHVuaXR5TmFtZSA9PlxuICAgICAgdGhpcy5vYmplY3REZXRhaWxzJC5uZXh0KHtcbiAgICAgICAgLi4udGhpcy5vYmplY3REZXRhaWxzJC52YWx1ZSxcbiAgICAgICAgb3Bwb3J0dW5pdHlOYW1lLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVQcm9kdWN0cyhsaW5lSXRlbXM6IExpbmVJdGVtW10pOiBIZWFkZXJQcm9kdWN0W10ge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGRhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgY29uc3Qgbm93ID0gZGF0ZS5nZXRUaW1lKCk7XG5cbiAgICByZXR1cm4gbGluZUl0ZW1zLnJlZHVjZSgocmVzdWx0OiBIZWFkZXJQcm9kdWN0W10sIGxpKSA9PiB7XG4gICAgICAvLyBmaW5kIG1haW4gdGVybSBsaW5lIGl0ZW1cbiAgICAgIGlmIChsaS5yYW1wSW5zdGFuY2VJZCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuXG4gICAgICAvLyBmaW5kIGN1cnJlbnQgdGVybSBsaW5lIGl0ZW1cbiAgICAgIGxldCB0YXJnZXQ6IExpbmVJdGVtIHwgdW5kZWZpbmVkID0gbGk7XG4gICAgICB3aGlsZSAodGFyZ2V0ICYmIHRhcmdldC5lbmREYXRlICYmIG5ldyBEYXRlKHRhcmdldC5lbmREYXRlKS5nZXRUaW1lKCkgPD0gbm93KSB7XG4gICAgICAgIHRhcmdldCA9IGxpbmVJdGVtcy5maW5kKHN1YiA9PiBzdWIucmFtcEluc3RhbmNlSWQgPT09IGxpLmlkKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQucHJvZHVjdElkKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiB0YXJnZXQuaWQsXG4gICAgICAgICAgICBwcm9kdWN0SWQ6IHRhcmdldC5wcm9kdWN0SWQsXG4gICAgICAgICAgICBuYW1lOiB0YXJnZXQubmFtZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdGFyZ2V0LnByb3BlcnRpZXNbJyNjb25maWd1cmFibGUnXSA9PT0gJ3RydWUnLFxuICAgICAgICAgICAgcXR5OiB0YXJnZXQucXR5LFxuICAgICAgICAgICAgbXJyOiAwLFxuICAgICAgICAgICAgbnJyOiAwLFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgW10pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxvdy1pbmZvXCIgKnZsTGV0PVwib2JqZWN0RGV0YWlscyQgfCBhc3luYyBhcyBkZXRhaWxzXCI+XG4gIDxuYXYgY2xhc3M9XCJuYXYtaXRlbSBuYXYtYmFja1wiIChjbGljayk9XCJiYWNrKClcIj5cbiAgICA8aSBjbGFzcz1cIm5hdi1pY29uIHZsLWljb24gdmwtaWNvbi1hcnJvdy1sZWZ0XCI+PC9pPlxuXG4gICAgPHNwYW4+IEJhY2sgPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwib2JqZWN0TmFtZVwiIGNsYXNzPVwib2JqZWN0LW5hbWVcIj4mbmJzcDtUbyB7eyBvYmplY3ROYW1lIH19PC9zcGFuPlxuICA8L25hdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNBY2NvdW50TW9kZVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZG90LXNlcGFyYXRvclwiPjwvc3Bhbj5cblxuICAgIDxzcGFuPkFjY291bnQgbmFtZTwvc3Bhbj5cblxuICAgIDxuYXYgY2xhc3M9XCJhY2NvdW50LW5hbWVcIiBbcFRvb2x0aXBdPVwiY29udGV4dFByb3BlcnRpZXMuTmFtZSA/PyAnJ1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtzaG93RGVsYXldPVwiMTAwMFwiPlxuICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgW2hyZWZdPVwiZ2V0U2FsZXNmb3JjZU9iamVjdExpbmsoY29udGV4dFByb3BlcnRpZXMuSWQpXCI+e3sgY29udGV4dFByb3BlcnRpZXMuTmFtZSB9fTwvYT5cbiAgICA8L25hdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUXVvdGVNb2RlXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJkb3Qtc2VwYXJhdG9yXCI+PC9zcGFuPlxuXG4gICAgPHNwYW4+UXVvdGUgI3t7IGRldGFpbHMucXVvdGVOdW1iZXIgfX08L3NwYW4+XG5cbiAgICA8c3BhbiBjbGFzcz1cImRvdC1zZXBhcmF0b3JcIj48L3NwYW4+XG5cbiAgICA8bmF2IGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwicXVvdGVEZXRhaWxzLnRvZ2dsZSgkZXZlbnQpXCI+XG4gICAgICA8c3Bhbj57eyBzdGF0dXMkIHwgYXN5bmMgfX08L3NwYW4+XG5cbiAgICAgIDxpICpuZ0lmPVwiIXF1b3RlRGV0YWlscy5vdmVybGF5VmlzaWJsZVwiIGNsYXNzPVwidmwtaWNvbiB2bC1pY29uLWNoZXZyb24tZG93biBpY29uLXdpdGgtbWFyZ2luXCI+PC9pPlxuICAgICAgPGkgKm5nSWY9XCJxdW90ZURldGFpbHMub3ZlcmxheVZpc2libGVcIiBjbGFzcz1cInZsLWljb24gdmwtaWNvbi1jaGV2cm9uLXVwIGljb24td2l0aC1tYXJnaW5cIj48L2k+XG4gICAgPC9uYXY+XG5cbiAgICA8cC1vdmVybGF5UGFuZWwgc3R5bGVDbGFzcz1cIm5hdmlnYXRpb24tc2V0dGluZ3Mtb3ZlcmxheSBmbG93LWhlYWRlci1vdmVybGF5IGNlbnRlclwiICNxdW90ZURldGFpbHM+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxvdy1oZWFkZXItb3ZlcmxheV9fd3JhcHBlclwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImZsb3ctaGVhZGVyLW92ZXJsYXlfX3RpdGxlXCI+XG4gICAgICAgICAgICA8c3Bhbj5RdW90ZSBJbmZvcm1hdGlvbjwvc3Bhbj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwidmwtaWNvbiB2bC1pY29uLWNsb3NlIGNsb3NlLWljb25cIiAoY2xpY2spPVwicXVvdGVEZXRhaWxzLmhpZGUoKVwiPjwvaT5cbiAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgPHVsIGNsYXNzPVwiaW5mby1saXN0XCI+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJpbmZvLWxpc3RfX3Jvd1wiPlxuICAgICAgICAgICAgICA8c3Bhbj5BY2NvdW50IE5hbWU6PC9zcGFuPlxuICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBbaHJlZl09XCJnZXRTYWxlc2ZvcmNlT2JqZWN0TGluayhkZXRhaWxzLmFjY291bnRJZClcIj57eyBkZXRhaWxzLmFjY291bnROYW1lIH19PC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cImluZm8tbGlzdF9fcm93XCI+XG4gICAgICAgICAgICAgIDxzcGFuPk9wcG9ydHVuaXR5IE5hbWU6PC9zcGFuPlxuICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBbaHJlZl09XCJnZXRTYWxlc2ZvcmNlT2JqZWN0TGluayhkZXRhaWxzLm9wcG9ydHVuaXR5SWQpXCI+e3tcbiAgICAgICAgICAgICAgICBkZXRhaWxzLm9wcG9ydHVuaXR5TmFtZVxuICAgICAgICAgICAgICB9fTwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJpbmZvLWxpc3RfX3Jvd1wiPlxuICAgICAgICAgICAgICA8c3Bhbj5RdW90ZSBOYW1lOjwvc3Bhbj5cbiAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgW2hyZWZdPVwiZ2V0U2FsZXNmb3JjZU9iamVjdExpbmsoZGV0YWlscy5xdW90ZUlkKVwiPnt7IGRldGFpbHMucXVvdGVOYW1lIH19PC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLW92ZXJsYXlQYW5lbD5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImZsb3ctbmF2aWdhdGlvblwiPlxuICA8bmF2IGNsYXNzPVwibmF2LWl0ZW1cIiBbbmdDbGFzc109XCJ7IGFjdGl2ZTogaXNDYXRhbG9nUm91dGUkIHwgYXN5bmMgfVwiIChjbGljayk9XCJuYXZpZ2F0ZVRvQ2F0YWxvZygpXCI+Q2F0YWxvZzwvbmF2PlxuICA8bmF2IGNsYXNzPVwibmF2LWl0ZW0gZGlzYWJsZWRcIiBbbmdDbGFzc109XCJ7IGFjdGl2ZTogaXNDb25maWd1cmF0aW9uUm91dGUkIHwgYXN5bmMgfVwiPkNvbmZpZ3VyYXRvcjwvbmF2PlxuICA8bmctY29udGFpbmVyICp2bExldD1cInByb2R1Y3RzJCB8IGFzeW5jIGFzIHByb2R1Y3RzXCI+XG4gICAgPG5hdiBjbGFzcz1cIm5hdi1pdGVtXCIgW25nQ2xhc3NdPVwieyBhY3RpdmU6IGlzQ2FydFJvdXRlJCB8IGFzeW5jIH1cIiAoY2xpY2spPVwibmF2aWdhdGVUb1Nob3BwaW5nQ2FydCgpXCI+XG4gICAgICBTaG9wcGluZyBDYXJ0ICh7eyBwcm9kdWN0cy5sZW5ndGggfX0pXG4gICAgPC9uYXY+XG5cbiAgICA8bmF2IGNsYXNzPVwibmF2LXBvcG92ZXItdG9nZ2xlIGFjdGl2ZVwiIChjbGljayk9XCJjYXJ0Py5vdmVybGF5UGFuZWw/LnRvZ2dsZSgkZXZlbnQpXCI+XG4gICAgICA8aSAqbmdJZj1cIiFjYXJ0Py5vdmVybGF5UGFuZWw/Lm92ZXJsYXlWaXNpYmxlXCIgY2xhc3M9XCJ2bC1pY29uIHZsLWljb24tY2hldnJvbi1kb3duIGljb24td2l0aC1tYXJnaW5cIj48L2k+XG4gICAgICA8aSAqbmdJZj1cImNhcnQ/Lm92ZXJsYXlQYW5lbD8ub3ZlcmxheVZpc2libGVcIiBjbGFzcz1cInZsLWljb24gdmwtaWNvbi1jaGV2cm9uLXVwIGljb24td2l0aC1tYXJnaW5cIj48L2k+XG4gICAgPC9uYXY+XG5cbiAgICA8dmwtY2FydC1wcmV2aWV3ICNjYXJ0IFtwcm9kdWN0c109XCJwcm9kdWN0c1wiPjwvdmwtY2FydC1wcmV2aWV3PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZmxvdy1jb250cm9sc1wiICp2bExldD1cIm9iamVjdERldGFpbHMkIHwgYXN5bmMgYXMgZGV0YWlsc1wiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNRdW90ZU1vZGVcIj5cbiAgICA8c3BhbiAqbmdJZj1cImRldGFpbHMucHJpY2VMaXN0TmFtZVwiPnt7IGRldGFpbHMucHJpY2VMaXN0TmFtZSB9fTwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cImNvbnRleHRQcm9wZXJ0aWVzLlN0YXJ0RGF0ZVwiPnt7IGNvbnRleHRQcm9wZXJ0aWVzLlN0YXJ0RGF0ZSB8IGRhdGU6ICdNTS5kZC55eXl5JyB9fTwvc3Bhbj5cblxuICAgIDxzcGFuIGNsYXNzPVwic2xhc2gtc2VwYXJhdG9yXCI+PC9zcGFuPlxuXG4gICAgPHNwYW4+TVJSOiA8c3BhbiBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIj4kMC4wMDwvc3Bhbj48L3NwYW4+XG4gICAgPHNwYW4+TlJSOiA8c3BhbiBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIj4kMC4wMDwvc3Bhbj48L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKnZsTGV0PVwiaXNDYXJ0Um91dGUkIHwgYXN5bmMgYXMgaXNDYXJ0Um91dGVcIj5cbiAgICA8cC1idXR0b25cbiAgICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi1vdXRsaW5lZFwiXG4gICAgICBsYWJlbD1cIkdlbmVyYXRlIERvY1wiXG4gICAgICBbZGlzYWJsZWRdPVwiIWlzQ2FydFJvdXRlXCJcbiAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICBbc2hvd0RlbGF5XT1cIjMwMFwiXG4gICAgICBbcFRvb2x0aXBdPVwiaXNDYXJ0Um91dGUgPyAnJyA6IGRpc2FibGVkQWN0aW9uQnV0dG9uVG9vbHRpcFwiXG4gICAgPjwvcC1idXR0b24+XG5cbiAgICA8cC1idXR0b25cbiAgICAgICp2bExldD1cImlzU2F2ZUluUHJvZ3Jlc3MkIHwgYXN5bmMgYXMgaXNTYXZlSW5Qcm9ncmVzc1wiXG4gICAgICBjbGFzcz1cInNhdmUtYnV0dG9uXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi1vdXRsaW5lZFwiXG4gICAgICBbbGFiZWxdPVwiaXNTYXZlSW5Qcm9ncmVzcyA/ICdTYXZpbmcnIDogJ1NhdmUgdG8gUXVvdGUnXCJcbiAgICAgIChvbkNsaWNrKT1cInNhdmVCdXR0b25DbGlja0hhbmRsZXIoKVwiXG4gICAgICBbbG9hZGluZ109XCJpc1NhdmVJblByb2dyZXNzXCJcbiAgICA+PC9wLWJ1dHRvbj5cblxuICAgIDxwLWJ1dHRvblxuICAgICAgKnZsTGV0PVwiaXNTdWJtaXRJblByb2dyZXNzJCB8IGFzeW5jIGFzIGlzU3VibWl0SW5Qcm9ncmVzc1wiXG4gICAgICBjbGFzcz1cInN1Ym1pdC1idXR0b25cIlxuICAgICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uXCJcbiAgICAgIFtsYWJlbF09XCJpc1N1Ym1pdEluUHJvZ3Jlc3MgPyAnU3VibWl0dGluZycgOiAnU3VibWl0IEZvciBBcHByb3ZhbCdcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFpc0NhcnRSb3V0ZVwiXG4gICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgW3Nob3dEZWxheV09XCIzMDBcIlxuICAgICAgW3BUb29sdGlwXT1cImlzQ2FydFJvdXRlID8gJycgOiBkaXNhYmxlZEFjdGlvbkJ1dHRvblRvb2x0aXBcIlxuICAgICAgKG9uQ2xpY2spPVwic3VibWl0QnV0dG9uQ2xpY2tIYW5kbGVyKClcIlxuICAgICAgW2xvYWRpbmddPVwiaXNTdWJtaXRJblByb2dyZXNzXCJcbiAgICA+PC9wLWJ1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { LetDirectiveModule } from '@veloce/components';
|
|
4
|
+
import { ButtonModule } from 'primeng/button';
|
|
5
|
+
import { OverlayPanelModule } from 'primeng/overlaypanel';
|
|
6
|
+
import { TooltipModule } from 'primeng/tooltip';
|
|
7
|
+
import { CartPreviewModule } from './cart-overlay/cart-preview.module';
|
|
8
|
+
import { FlowHeaderComponent } from './header.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class FlowHeaderModule {
|
|
11
|
+
}
|
|
12
|
+
FlowHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
FlowHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, declarations: [FlowHeaderComponent], imports: [CommonModule, OverlayPanelModule, LetDirectiveModule, TooltipModule, ButtonModule, CartPreviewModule], exports: [FlowHeaderComponent] });
|
|
14
|
+
FlowHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, imports: [[CommonModule, OverlayPanelModule, LetDirectiveModule, TooltipModule, ButtonModule, CartPreviewModule]] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowHeaderModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
declarations: [FlowHeaderComponent],
|
|
19
|
+
imports: [CommonModule, OverlayPanelModule, LetDirectiveModule, TooltipModule, ButtonModule, CartPreviewModule],
|
|
20
|
+
exports: [FlowHeaderComponent],
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBT3pELE1BQU0sT0FBTyxnQkFBZ0I7OzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFKWixtQkFBbUIsYUFDeEIsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLGFBQ3BHLG1CQUFtQjsrR0FFbEIsZ0JBQWdCLFlBSGxCLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLENBQUM7NEZBR3BHLGdCQUFnQjtrQkFMNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLENBQUM7b0JBQy9HLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGV0RGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnQHZlbG9jZS9jb21wb25lbnRzJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IE92ZXJsYXlQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQ2FydFByZXZpZXdNb2R1bGUgfSBmcm9tICcuL2NhcnQtb3ZlcmxheS9jYXJ0LXByZXZpZXcubW9kdWxlJztcbmltcG9ydCB7IEZsb3dIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtGbG93SGVhZGVyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT3ZlcmxheVBhbmVsTW9kdWxlLCBMZXREaXJlY3RpdmVNb2R1bGUsIFRvb2x0aXBNb2R1bGUsIEJ1dHRvbk1vZHVsZSwgQ2FydFByZXZpZXdNb2R1bGVdLFxuICBleHBvcnRzOiBbRmxvd0hlYWRlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEZsb3dIZWFkZXJNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBIZWFkZXJPYmplY3REZXRhaWxzIHtcbiAgYWNjb3VudElkPzogc3RyaW5nO1xuICBhY2NvdW50TmFtZT86IHN0cmluZztcbiAgb3Bwb3J0dW5pdHlJZD86IHN0cmluZztcbiAgb3Bwb3J0dW5pdHlOYW1lPzogc3RyaW5nO1xuICBxdW90ZUlkPzogc3RyaW5nO1xuICBxdW90ZU5hbWU/OiBzdHJpbmc7XG4gIHF1b3RlTnVtYmVyPzogc3RyaW5nO1xuICBwcmljZUxpc3ROYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlclByb2R1Y3Qge1xuICBpZDogc3RyaW5nO1xuICBwcm9kdWN0SWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBjb25maWd1cmFibGU6IGJvb2xlYW47XG4gIHF0eTogbnVtYmVyO1xuICBtcnI6IG51bWJlcjtcbiAgbnJyOiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const VELOCE_FLOW_ROOT_ROUTE = 'VELOCE_FLOW_ROOT_ROUTE';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRUxPQ0VfRkxPV19ST09UX1JPVVRFID0gJ1ZFTE9DRV9GTE9XX1JPT1RfUk9VVEUnO1xuIl19
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { RouterModule } from '@angular/router';
|
|
3
|
+
import { VELOCE_FLOW_ROOT_ROUTE } from './constants';
|
|
4
|
+
import { FlowComponent } from './flow.component';
|
|
5
|
+
import { ContextGuard } from './guards/context.guard';
|
|
6
|
+
import { ProductUnloadGuard } from './guards/product-unload.guard';
|
|
7
|
+
import { RootGuard } from './guards/root.guard';
|
|
8
|
+
import { CatalogComponent } from './pages/catalog/catalog.component';
|
|
9
|
+
import { CatalogModule } from './pages/catalog/catalog.module';
|
|
10
|
+
import { DebugModule } from './pages/debug/debug.module';
|
|
11
|
+
import { LegacyProductComponent } from './pages/legacy-product/legacy-product.component';
|
|
12
|
+
import { LegacyProductModule } from './pages/legacy-product/legacy-product.module';
|
|
13
|
+
import { ProductComponent } from './pages/product/product.component';
|
|
14
|
+
import { ProductModule } from './pages/product/product.module';
|
|
15
|
+
import { RecordNotFoundModule } from './pages/record-not-found/record-not-found.module';
|
|
16
|
+
import { ShoppingCartComponent } from './pages/shopping-cart/shopping-cart.component';
|
|
17
|
+
import { ShoppingCartModule } from './pages/shopping-cart/shopping-cart.module';
|
|
18
|
+
import { FlowResolver } from './resolvers/flow.resolver';
|
|
19
|
+
import { QuoteResolver } from './resolvers/quote.resolver';
|
|
20
|
+
import { FlowRouterService } from './services/flow-router.service';
|
|
21
|
+
import * as i0 from "@angular/core";
|
|
22
|
+
import * as i1 from "@angular/router";
|
|
23
|
+
const rootRoute = {
|
|
24
|
+
id: VELOCE_FLOW_ROOT_ROUTE,
|
|
25
|
+
path: '',
|
|
26
|
+
component: FlowComponent,
|
|
27
|
+
canActivate: [RootGuard],
|
|
28
|
+
canDeactivate: [RootGuard],
|
|
29
|
+
children: [
|
|
30
|
+
{
|
|
31
|
+
path: 'flows',
|
|
32
|
+
runGuardsAndResolvers: 'paramsOrQueryParamsChange',
|
|
33
|
+
resolve: { quote: FlowResolver },
|
|
34
|
+
canActivate: [ContextGuard],
|
|
35
|
+
children: [],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
path: 'legacy',
|
|
39
|
+
children: [
|
|
40
|
+
{
|
|
41
|
+
path: 'product',
|
|
42
|
+
component: LegacyProductComponent,
|
|
43
|
+
runGuardsAndResolvers: 'paramsOrQueryParamsChange',
|
|
44
|
+
resolve: { quote: QuoteResolver },
|
|
45
|
+
canActivate: [ContextGuard],
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
path: 'product',
|
|
51
|
+
component: ProductComponent,
|
|
52
|
+
runGuardsAndResolvers: 'paramsOrQueryParamsChange',
|
|
53
|
+
resolve: { quote: QuoteResolver },
|
|
54
|
+
canActivate: [ContextGuard],
|
|
55
|
+
canDeactivate: [ProductUnloadGuard],
|
|
56
|
+
data: { showHeader: true },
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
path: 'cart',
|
|
60
|
+
component: ShoppingCartComponent,
|
|
61
|
+
runGuardsAndResolvers: 'paramsOrQueryParamsChange',
|
|
62
|
+
resolve: { quote: QuoteResolver },
|
|
63
|
+
canActivate: [ContextGuard],
|
|
64
|
+
data: { showHeader: true },
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
path: 'catalog',
|
|
68
|
+
component: CatalogComponent,
|
|
69
|
+
runGuardsAndResolvers: 'paramsOrQueryParamsChange',
|
|
70
|
+
resolve: { quote: QuoteResolver },
|
|
71
|
+
canActivate: [ContextGuard],
|
|
72
|
+
data: { showHeader: true },
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
path: 'debug',
|
|
76
|
+
loadChildren: () => DebugModule,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
path: '404',
|
|
80
|
+
loadChildren: () => RecordNotFoundModule,
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
};
|
|
84
|
+
export class FlowRoutingModule {
|
|
85
|
+
}
|
|
86
|
+
FlowRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
87
|
+
FlowRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, imports: [i1.RouterModule, ProductModule, LegacyProductModule, ShoppingCartModule, CatalogModule], exports: [RouterModule] });
|
|
88
|
+
FlowRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, providers: [FlowRouterService, RootGuard, ContextGuard, ProductUnloadGuard, FlowResolver, QuoteResolver], imports: [[RouterModule.forChild([rootRoute]), ProductModule, LegacyProductModule, ShoppingCartModule, CatalogModule], RouterModule] });
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowRoutingModule, decorators: [{
|
|
90
|
+
type: NgModule,
|
|
91
|
+
args: [{
|
|
92
|
+
imports: [RouterModule.forChild([rootRoute]), ProductModule, LegacyProductModule, ShoppingCartModule, CatalogModule],
|
|
93
|
+
exports: [RouterModule],
|
|
94
|
+
providers: [FlowRouterService, RootGuard, ContextGuard, ProductUnloadGuard, FlowResolver, QuoteResolver],
|
|
95
|
+
}]
|
|
96
|
+
}] });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9mbG93LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixP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QUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGFBQWEsQ0FBQztvQkFDcEgsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxhQUFhLENBQUM7aUJBQ3pHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBWRUxPQ0VfRkxPV19ST09UX1JPVVRFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRmxvd0NvbXBvbmVudCB9IGZyb20gJy4vZmxvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGV4dEd1YXJkIH0gZnJvbSAnLi9ndWFyZHMvY29udGV4dC5ndWFyZCc7XG5pbXBvcnQgeyBQcm9kdWN0VW5sb2FkR3VhcmQgfSBmcm9tICcuL2d1YXJkcy9wcm9kdWN0LXVubG9hZC5ndWFyZCc7XG5pbXBvcnQgeyBSb290R3VhcmQgfSBmcm9tICcuL2d1YXJkcy9yb290Lmd1YXJkJztcbmltcG9ydCB7IENhdGFsb2dDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzL2NhdGFsb2cvY2F0YWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2F0YWxvZ01vZHVsZSB9IGZyb20gJy4vcGFnZXMvY2F0YWxvZy9jYXRhbG9nLm1vZHVsZSc7XG5pbXBvcnQgeyBEZWJ1Z01vZHVsZSB9IGZyb20gJy4vcGFnZXMvZGVidWcvZGVidWcubW9kdWxlJztcbmltcG9ydCB7IExlZ2FjeVByb2R1Y3RDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzL2xlZ2FjeS1wcm9kdWN0L2xlZ2FjeS1wcm9kdWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMZWdhY3lQcm9kdWN0TW9kdWxlIH0gZnJvbSAnLi9wYWdlcy9sZWdhY3ktcHJvZHVjdC9sZWdhY3ktcHJvZHVjdC5tb2R1bGUnO1xuaW1wb3J0IHsgUHJvZHVjdENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvcHJvZHVjdC9wcm9kdWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0TW9kdWxlIH0gZnJvbSAnLi9wYWdlcy9wcm9kdWN0L3Byb2R1Y3QubW9kdWxlJztcbmltcG9ydCB7IFJlY29yZE5vdEZvdW5kTW9kdWxlIH0gZnJvbSAnLi9wYWdlcy9yZWNvcmQtbm90LWZvdW5kL3JlY29yZC1ub3QtZm91bmQubW9kdWxlJztcbmltcG9ydCB7IFNob3BwaW5nQ2FydENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvc2hvcHBpbmctY2FydC9zaG9wcGluZy1jYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaG9wcGluZ0NhcnRNb2R1bGUgfSBmcm9tICcuL3BhZ2VzL3Nob3BwaW5nLWNhcnQvc2hvcHBpbmctY2FydC5tb2R1bGUnO1xuaW1wb3J0IHsgRmxvd1Jlc29sdmVyIH0gZnJvbSAnLi9yZXNvbHZlcnMvZmxvdy5yZXNvbHZlcic7XG5pbXBvcnQgeyBRdW90ZVJlc29sdmVyIH0gZnJvbSAnLi9yZXNvbHZlcnMvcXVvdGUucmVzb2x2ZXInO1xuaW1wb3J0IHsgRmxvd1JvdXRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Zsb3ctcm91dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVXaXRoSWQgfSBmcm9tICcuL3R5cGVzL3JvdXRlLnR5cGVzJztcblxuY29uc3Qgcm9vdFJvdXRlOiBSb3V0ZVdpdGhJZCA9IHtcbiAgaWQ6IFZFTE9DRV9GTE9XX1JPT1RfUk9VVEUsXG4gIHBhdGg6ICcnLFxuICBjb21wb25lbnQ6IEZsb3dDb21wb25lbnQsXG4gIGNhbkFjdGl2YXRlOiBbUm9vdEd1YXJkXSxcbiAgY2FuRGVhY3RpdmF0ZTogW1Jvb3RHdWFyZF0sXG4gIGNoaWxkcmVuOiBbXG4gICAge1xuICAgICAgcGF0aDogJ2Zsb3dzJyxcbiAgICAgIHJ1bkd1YXJkc0FuZFJlc29sdmVyczogJ3BhcmFtc09yUXVlcnlQYXJhbXNDaGFuZ2UnLFxuICAgICAgcmVzb2x2ZTogeyBxdW90ZTogRmxvd1Jlc29sdmVyIH0sXG4gICAgICBjYW5BY3RpdmF0ZTogW0NvbnRleHRHdWFyZF0sXG4gICAgICBjaGlsZHJlbjogW10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwYXRoOiAnbGVnYWN5JyxcbiAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAncHJvZHVjdCcsXG4gICAgICAgICAgY29tcG9uZW50OiBMZWdhY3lQcm9kdWN0Q29tcG9uZW50LFxuICAgICAgICAgIHJ1bkd1YXJkc0FuZFJlc29sdmVyczogJ3BhcmFtc09yUXVlcnlQYXJhbXNDaGFuZ2UnLFxuICAgICAgICAgIHJlc29sdmU6IHsgcXVvdGU6IFF1b3RlUmVzb2x2ZXIgfSxcbiAgICAgICAgICBjYW5BY3RpdmF0ZTogW0NvbnRleHRHdWFyZF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcGF0aDogJ3Byb2R1Y3QnLFxuICAgICAgY29tcG9uZW50OiBQcm9kdWN0Q29tcG9uZW50LFxuICAgICAgcnVuR3VhcmRzQW5kUmVzb2x2ZXJzOiAncGFyYW1zT3JRdWVyeVBhcmFtc0NoYW5nZScsXG4gICAgICByZXNvbHZlOiB7IHF1b3RlOiBRdW90ZVJlc29sdmVyIH0sXG4gICAgICBjYW5BY3RpdmF0ZTogW0NvbnRleHRHdWFyZF0sXG4gICAgICBjYW5EZWFjdGl2YXRlOiBbUHJvZHVjdFVubG9hZEd1YXJkXSxcbiAgICAgIGRhdGE6IHsgc2hvd0hlYWRlcjogdHJ1ZSB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcGF0aDogJ2NhcnQnLFxuICAgICAgY29tcG9uZW50OiBTaG9wcGluZ0NhcnRDb21wb25lbnQsXG4gICAgICBydW5HdWFyZHNBbmRSZXNvbHZlcnM6ICdwYXJhbXNPclF1ZXJ5UGFyYW1zQ2hhbmdlJyxcbiAgICAgIHJlc29sdmU6IHsgcXVvdGU6IFF1b3RlUmVzb2x2ZXIgfSxcbiAgICAgIGNhbkFjdGl2YXRlOiBbQ29udGV4dEd1YXJkXSxcbiAgICAgIGRhdGE6IHsgc2hvd0hlYWRlcjogdHJ1ZSB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcGF0aDogJ2NhdGFsb2cnLFxuICAgICAgY29tcG9uZW50OiBDYXRhbG9nQ29tcG9uZW50LFxuICAgICAgcnVuR3VhcmRzQW5kUmVzb2x2ZXJzOiAncGFyYW1zT3JRdWVyeVBhcmFtc0NoYW5nZScsXG4gICAgICByZXNvbHZlOiB7IHF1b3RlOiBRdW90ZVJlc29sdmVyIH0sXG4gICAgICBjYW5BY3RpdmF0ZTogW0NvbnRleHRHdWFyZF0sXG4gICAgICBkYXRhOiB7IHNob3dIZWFkZXI6IHRydWUgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHBhdGg6ICdkZWJ1ZycsXG4gICAgICBsb2FkQ2hpbGRyZW46ICgpID0+IERlYnVnTW9kdWxlLFxuICAgIH0sXG4gICAge1xuICAgICAgcGF0aDogJzQwNCcsXG4gICAgICBsb2FkQ2hpbGRyZW46ICgpID0+IFJlY29yZE5vdEZvdW5kTW9kdWxlLFxuICAgIH0sXG4gIF0sXG59O1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKFtyb290Um91dGVdKSwgUHJvZHVjdE1vZHVsZSwgTGVnYWN5UHJvZHVjdE1vZHVsZSwgU2hvcHBpbmdDYXJ0TW9kdWxlLCBDYXRhbG9nTW9kdWxlXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG4gIHByb3ZpZGVyczogW0Zsb3dSb3V0ZXJTZXJ2aWNlLCBSb290R3VhcmQsIENvbnRleHRHdWFyZCwgUHJvZHVjdFVubG9hZEd1YXJkLCBGbG93UmVzb2x2ZXIsIFF1b3RlUmVzb2x2ZXJdLFxufSlcbmV4cG9ydCBjbGFzcyBGbG93Um91dGluZ01vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./services/flow-router.service";
|
|
5
|
+
import * as i2 from "@veloce/sdk/core";
|
|
6
|
+
import * as i3 from "./services";
|
|
7
|
+
import * as i4 from "./components/header/header.component";
|
|
8
|
+
import * as i5 from "@veloce/components";
|
|
9
|
+
import * as i6 from "@angular/common";
|
|
10
|
+
import * as i7 from "@angular/router";
|
|
11
|
+
export class FlowComponent {
|
|
12
|
+
constructor(routerService, quoteDraftService, flowService) {
|
|
13
|
+
this.routerService = routerService;
|
|
14
|
+
this.quoteDraftService = quoteDraftService;
|
|
15
|
+
this.flowService = flowService;
|
|
16
|
+
this.isLoading$ = this.routerService.loading$;
|
|
17
|
+
this.showHeader$ = this.routerService.route$.pipe(map(route => route.data.showHeader && !this.quoteDraftService.isStandalone));
|
|
18
|
+
this.flowService.initSubscriptions();
|
|
19
|
+
}
|
|
20
|
+
ngOnDestroy() {
|
|
21
|
+
this.flowService.cleanup();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
FlowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowComponent, deps: [{ token: i1.FlowRouterService }, { token: i2.QuoteDraftService }, { token: i3.FlowService }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
FlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: FlowComponent, selector: "vl-flow", ngImport: i0, template: "<vl-flow-header *ngIf=\"showHeader$ | async\"></vl-flow-header>\n\n<div class=\"flow-content\">\n <div class=\"loading-overlay\" *ngIf=\"isLoading$ | async\">\n <vl-loader label=\"LOADING\"></vl-loader>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n", styles: [":host{display:flex;flex-direction:column;height:100%}.flow-content{flex-grow:1;position:relative;overflow:hidden}.loading-overlay{position:absolute;height:100%;width:100%;left:0;right:0;top:0;bottom:0;background-color:#ffffff80;z-index:4}\n"], components: [{ type: i4.FlowHeaderComponent, selector: "vl-flow-header" }, { type: i5.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: 'vl-flow',
|
|
30
|
+
templateUrl: './flow.component.html',
|
|
31
|
+
styleUrls: ['./flow.component.scss'],
|
|
32
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
33
|
+
}]
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i1.FlowRouterService }, { type: i2.QuoteDraftService }, { type: i3.FlowService }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvZmxvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvZmxvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlFLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQVV2QyxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUNVLGFBQWdDLEVBQ2hDLGlCQUFvQyxFQUNwQyxXQUF3QjtRQUZ4QixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUVoQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBRTlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUMvQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FDNUUsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7MkdBcEJVLGFBQWE7K0ZBQWIsYUFBYSwrQ0NaMUIseVFBU0E7NEZER2EsYUFBYTtrQkFOekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsV0FBVyxFQUFFLHVCQUF1QjtvQkFDcEMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3BDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUXVvdGVEcmFmdFNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL3Nkay9jb3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmxvd1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IEZsb3dSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mbG93LXJvdXRlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZmxvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mbG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmxvdy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmxvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBpc0xvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgc2hvd0hlYWRlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXJTZXJ2aWNlOiBGbG93Um91dGVyU2VydmljZSxcbiAgICBwcml2YXRlIHF1b3RlRHJhZnRTZXJ2aWNlOiBRdW90ZURyYWZ0U2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dTZXJ2aWNlOiBGbG93U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5pc0xvYWRpbmckID0gdGhpcy5yb3V0ZXJTZXJ2aWNlLmxvYWRpbmckO1xuXG4gICAgdGhpcy5zaG93SGVhZGVyJCA9IHRoaXMucm91dGVyU2VydmljZS5yb3V0ZSQucGlwZShcbiAgICAgIG1hcChyb3V0ZSA9PiByb3V0ZS5kYXRhLnNob3dIZWFkZXIgJiYgIXRoaXMucXVvdGVEcmFmdFNlcnZpY2UuaXNTdGFuZGFsb25lKSxcbiAgICApO1xuXG4gICAgdGhpcy5mbG93U2VydmljZS5pbml0U3Vic2NyaXB0aW9ucygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mbG93U2VydmljZS5jbGVhbnVwKCk7XG4gIH1cbn1cbiIsIjx2bC1mbG93LWhlYWRlciAqbmdJZj1cInNob3dIZWFkZXIkIHwgYXN5bmNcIj48L3ZsLWZsb3ctaGVhZGVyPlxuXG48ZGl2IGNsYXNzPVwiZmxvdy1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJsb2FkaW5nLW92ZXJsYXlcIiAqbmdJZj1cImlzTG9hZGluZyQgfCBhc3luY1wiPlxuICAgIDx2bC1sb2FkZXIgbGFiZWw9XCJMT0FESU5HXCI+PC92bC1sb2FkZXI+XG4gIDwvZGl2PlxuXG4gIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { ApiModule } from '@veloce/api';
|
|
4
|
+
import { LoaderModule } from '@veloce/components';
|
|
5
|
+
import { LauncherModule } from '@veloce/sdk/cms';
|
|
6
|
+
import { SdkCoreModule } from '@veloce/sdk/core';
|
|
7
|
+
import { FlowDialogModule } from './components/dialog/dialog.module';
|
|
8
|
+
import { FlowHeaderModule } from './components/header/header.module';
|
|
9
|
+
import { FlowRoutingModule } from './flow-routing.module';
|
|
10
|
+
import { FlowComponent } from './flow.component';
|
|
11
|
+
import { FlowService } from './services';
|
|
12
|
+
import { FlowDialogService } from './services/flow-dialog.service';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
export class FlowModule {
|
|
15
|
+
}
|
|
16
|
+
FlowModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
FlowModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowModule, declarations: [FlowComponent], imports: [CommonModule,
|
|
18
|
+
FlowRoutingModule,
|
|
19
|
+
ApiModule,
|
|
20
|
+
LauncherModule,
|
|
21
|
+
LoaderModule,
|
|
22
|
+
FlowHeaderModule,
|
|
23
|
+
FlowDialogModule,
|
|
24
|
+
SdkCoreModule] });
|
|
25
|
+
FlowModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowModule, providers: [FlowService, FlowDialogService], imports: [[
|
|
26
|
+
CommonModule,
|
|
27
|
+
FlowRoutingModule,
|
|
28
|
+
ApiModule,
|
|
29
|
+
LauncherModule,
|
|
30
|
+
LoaderModule,
|
|
31
|
+
FlowHeaderModule,
|
|
32
|
+
FlowDialogModule,
|
|
33
|
+
SdkCoreModule,
|
|
34
|
+
]] });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowModule, decorators: [{
|
|
36
|
+
type: NgModule,
|
|
37
|
+
args: [{
|
|
38
|
+
declarations: [FlowComponent],
|
|
39
|
+
imports: [
|
|
40
|
+
CommonModule,
|
|
41
|
+
FlowRoutingModule,
|
|
42
|
+
ApiModule,
|
|
43
|
+
LauncherModule,
|
|
44
|
+
LoaderModule,
|
|
45
|
+
FlowHeaderModule,
|
|
46
|
+
FlowDialogModule,
|
|
47
|
+
SdkCoreModule,
|
|
48
|
+
],
|
|
49
|
+
providers: [FlowService, FlowDialogService],
|
|
50
|
+
}]
|
|
51
|
+
}] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvZmxvdy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFnQm5FLE1BQU0sT0FBTyxVQUFVOzt3R0FBVixVQUFVO3lHQUFWLFVBQVUsaUJBYk4sYUFBYSxhQUUxQixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFNBQVM7UUFDVCxjQUFjO1FBQ2QsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsYUFBYTt5R0FJSixVQUFVLGFBRlYsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsWUFWbEM7WUFDUCxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLFNBQVM7WUFDVCxjQUFjO1lBQ2QsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsYUFBYTtTQUNkOzRGQUdVLFVBQVU7a0JBZHRCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUM3QixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLFNBQVM7d0JBQ1QsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixhQUFhO3FCQUNkO29CQUNELFNBQVMsRUFBRSxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwaU1vZHVsZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IExvYWRlck1vZHVsZSB9IGZyb20gJ0B2ZWxvY2UvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBMYXVuY2hlck1vZHVsZSB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2Ntcyc7XG5pbXBvcnQgeyBTZGtDb3JlTW9kdWxlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBGbG93RGlhbG9nTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cubW9kdWxlJztcbmltcG9ydCB7IEZsb3dIZWFkZXJNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5tb2R1bGUnO1xuaW1wb3J0IHsgRmxvd1JvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2Zsb3ctcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgRmxvd0NvbXBvbmVudCB9IGZyb20gJy4vZmxvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmxvd1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IEZsb3dEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mbG93LWRpYWxvZy5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRmxvd0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRmxvd1JvdXRpbmdNb2R1bGUsXG4gICAgQXBpTW9kdWxlLFxuICAgIExhdW5jaGVyTW9kdWxlLFxuICAgIExvYWRlck1vZHVsZSxcbiAgICBGbG93SGVhZGVyTW9kdWxlLFxuICAgIEZsb3dEaWFsb2dNb2R1bGUsXG4gICAgU2RrQ29yZU1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbRmxvd1NlcnZpY2UsIEZsb3dEaWFsb2dTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRmxvd01vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { ConfigurationContextMode } from '@veloce/core';
|
|
4
|
+
import { catchError, from, map, of, tap } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
import * as i2 from "../services/flow-router.service";
|
|
8
|
+
import * as i3 from "@veloce/sdk/core";
|
|
9
|
+
export class ContextGuard {
|
|
10
|
+
constructor(router, routerService, contextService) {
|
|
11
|
+
this.router = router;
|
|
12
|
+
this.routerService = routerService;
|
|
13
|
+
this.contextService = contextService;
|
|
14
|
+
}
|
|
15
|
+
checkActivation(route) {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
const { queryParams } = route;
|
|
18
|
+
const { accountId, quoteId, orderId } = queryParams;
|
|
19
|
+
const rpcMessage = window.RPC_MESSAGE;
|
|
20
|
+
const mode = this.getConfigurationContextMode(accountId, quoteId, orderId, rpcMessage);
|
|
21
|
+
// Restrict if mode is not defined
|
|
22
|
+
if (mode == null) {
|
|
23
|
+
return this.handleError(route, 'Mode is undefined');
|
|
24
|
+
}
|
|
25
|
+
const rpcMessageId = rpcMessage && ((_b = (_a = JSON.parse(rpcMessage)) === null || _a === void 0 ? void 0 : _a.quote) === null || _b === void 0 ? void 0 : _b.Id);
|
|
26
|
+
const headerId = accountId || quoteId || orderId || rpcMessageId || 'empty-for-test-mode';
|
|
27
|
+
// Allow if context is already initialized with the same headerId
|
|
28
|
+
if (this.contextService.isInitialized) {
|
|
29
|
+
const currentContext = this.contextService.resolve();
|
|
30
|
+
if (headerId && currentContext.headerId === headerId) {
|
|
31
|
+
return of(true);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Initialize context
|
|
35
|
+
return this.contextService.create(headerId, mode).pipe(tap((context) => {
|
|
36
|
+
// Update context with queryParams
|
|
37
|
+
this.contextService.update(Object.assign(Object.assign({}, context), { properties: Object.assign(Object.assign({}, context.properties), (queryParams !== null && queryParams !== void 0 ? queryParams : {})) }));
|
|
38
|
+
}), map(() => true), catchError(e => {
|
|
39
|
+
const message = e instanceof HttpErrorResponse ? e.error.message : e;
|
|
40
|
+
return this.handleError(route, message);
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
canActivate(route) {
|
|
44
|
+
return this.checkActivation(route);
|
|
45
|
+
}
|
|
46
|
+
canActivateChild(childRoute) {
|
|
47
|
+
return this.checkActivation(childRoute);
|
|
48
|
+
}
|
|
49
|
+
getConfigurationContextMode(accountId, quoteId, orderId, rpcMessage) {
|
|
50
|
+
if (accountId) {
|
|
51
|
+
return ConfigurationContextMode.ACCOUNT;
|
|
52
|
+
}
|
|
53
|
+
if (quoteId) {
|
|
54
|
+
return ConfigurationContextMode.QUOTE;
|
|
55
|
+
}
|
|
56
|
+
if (orderId) {
|
|
57
|
+
return ConfigurationContextMode.ORDER;
|
|
58
|
+
}
|
|
59
|
+
if (rpcMessage) {
|
|
60
|
+
return ConfigurationContextMode.REMOTE;
|
|
61
|
+
}
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
handleError(route, message) {
|
|
65
|
+
this.contextService.delete();
|
|
66
|
+
const parentUrl = this.routerService.getFlowRootPath(route);
|
|
67
|
+
return from(this.router.navigate([parentUrl, '404'], { state: { message } })).pipe(map(() => false));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
ContextGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextGuard, deps: [{ token: i1.Router }, { token: i2.FlowRouterService }, { token: i3.ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
71
|
+
ContextGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextGuard });
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ContextGuard, decorators: [{
|
|
73
|
+
type: Injectable
|
|
74
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.FlowRouterService }, { type: i3.ContextService }]; } });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9ndWFyZHMvY29udGV4dC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBd0Isd0JBQXdCLEVBQVksTUFBTSxjQUFjLENBQUM7QUFFeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTWxFLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ1UsTUFBYyxFQUNkLGFBQWdDLEVBQ2hDLGNBQThCO1FBRjlCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQ3JDLENBQUM7SUFFRyxlQUFlLENBQUMsS0FBNkI7O1FBQ2xELE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDOUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsV0FBVyxDQUFDO1FBQ3BELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXZGLGtDQUFrQztRQUNsQyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsTUFBTSxZQUFZLEdBQVcsVUFBVSxL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cG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgQ2FuQWN0aXZhdGVDaGlsZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Db250ZXh0LCBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUsIFZsV2luZG93IH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmcm9tLCBtYXAsIE9ic2VydmFibGUsIG9mLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZsb3dSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmxvdy1yb3V0ZXIuc2VydmljZSc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBWbFdpbmRvdztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbnRleHRHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlclNlcnZpY2U6IEZsb3dSb3V0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGNoZWNrQWN0aXZhdGlvbihyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgcXVlcnlQYXJhbXMgfSA9IHJvdXRlO1xuICAgIGNvbnN0IHsgYWNjb3VudElkLCBxdW90ZUlkLCBvcmRlcklkIH0gPSBxdWVyeVBhcmFtcztcbiAgICBjb25zdCBycGNNZXNzYWdlID0gd2luZG93LlJQQ19NRVNTQUdFO1xuICAgIGNvbnN0IG1vZGUgPSB0aGlzLmdldENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZShhY2NvdW50SWQsIHF1b3RlSWQsIG9yZGVySWQsIHJwY01lc3NhZ2UpO1xuXG4gICAgLy8gUmVzdHJpY3QgaWYgbW9kZSBpcyBub3QgZGVmaW5lZFxuICAgIGlmIChtb2RlID09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUVycm9yKHJvdXRlLCAnTW9kZSBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBycGNNZXNzYWdlSWQ6IHN0cmluZyA9IHJwY01lc3NhZ2UgJiYgSlNPTi5wYXJzZShycGNNZXNzYWdlKT8ucXVvdGU/LklkO1xuICAgIGNvbnN0IGhlYWRlcklkID0gYWNjb3VudElkIHx8IHF1b3RlSWQgfHwgb3JkZXJJZCB8fCBycGNNZXNzYWdlSWQgfHwgJ2VtcHR5LWZvci10ZXN0LW1vZGUnO1xuXG4gICAgLy8gQWxsb3cgaWYgY29udGV4dCBpcyBhbHJlYWR5IGluaXRpYWxpemVkIHdpdGggdGhlIHNhbWUgaGVhZGVySWRcbiAgICBpZiAodGhpcy5jb250ZXh0U2VydmljZS5pc0luaXRpYWxpemVkKSB7XG4gICAgICBjb25zdCBjdXJyZW50Q29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuXG4gICAgICBpZiAoaGVhZGVySWQgJiYgY3VycmVudENvbnRleHQuaGVhZGVySWQgPT09IGhlYWRlcklkKSB7XG4gICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbml0aWFsaXplIGNvbnRleHRcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5jcmVhdGUoaGVhZGVySWQsIG1vZGUpLnBpcGUoXG4gICAgICB0YXAoKGNvbnRleHQ6IENvbmZpZ3VyYXRpb25Db250ZXh0KSA9PiB7XG4gICAgICAgIC8vIFVwZGF0ZSBjb250ZXh0IHdpdGggcXVlcnlQYXJhbXNcbiAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoe1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgLi4uY29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgLi4uKHF1ZXJ5UGFyYW1zID8/IHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgY2F0Y2hFcnJvcihlID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGUgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSA/IGUuZXJyb3IubWVzc2FnZSA6IGU7XG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUVycm9yKHJvdXRlLCBtZXNzYWdlKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoZWNrQWN0aXZhdGlvbihyb3V0ZSk7XG4gIH1cblxuICBwdWJsaWMgY2FuQWN0aXZhdGVDaGlsZChjaGlsZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja0FjdGl2YXRpb24oY2hpbGRSb3V0ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZShcbiAgICBhY2NvdW50SWQ/OiBzdHJpbmcsXG4gICAgcXVvdGVJZD86IHN0cmluZyxcbiAgICBvcmRlcklkPzogc3RyaW5nLFxuICAgIHJwY01lc3NhZ2U/OiBzdHJpbmcsXG4gICk6IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGFjY291bnRJZCkge1xuICAgICAgcmV0dXJuIENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UO1xuICAgIH1cblxuICAgIGlmIChxdW90ZUlkKSB7XG4gICAgICByZXR1cm4gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLlFVT1RFO1xuICAgIH1cblxuICAgIGlmIChvcmRlcklkKSB7XG4gICAgICByZXR1cm4gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLk9SREVSO1xuICAgIH1cblxuICAgIGlmIChycGNNZXNzYWdlKSB7XG4gICAgICByZXR1cm4gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLlJFTU9URTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBtZXNzYWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmRlbGV0ZSgpO1xuICAgIGNvbnN0IHBhcmVudFVybCA9IHRoaXMucm91dGVyU2VydmljZS5nZXRGbG93Um9vdFBhdGgocm91dGUpO1xuICAgIHJldHVybiBmcm9tKHRoaXMucm91dGVyLm5hdmlnYXRlKFtwYXJlbnRVcmwsICc0MDQnXSwgeyBzdGF0ZTogeyBtZXNzYWdlIH0gfSkpLnBpcGUobWFwKCgpID0+IGZhbHNlKSk7XG4gIH1cbn1cbiJdfQ==
|