@veloceapps/sdk 8.0.0-17 → 8.0.0-171
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +0 -1
- package/cms/README.md +0 -20
- package/cms/cms.actions.d.ts +7 -1
- package/cms/components/preview/preview.component.d.ts +2 -3
- package/cms/components/preview/preview.types.d.ts +4 -0
- package/cms/index.d.ts +1 -0
- package/cms/modules/runtime/services/runtime.service.d.ts +1 -1
- package/cms/services/index.d.ts +0 -1
- package/cms/types/index.d.ts +0 -1
- package/cms/utils/element-metadata-worker.d.ts +11 -0
- package/cms/utils/elements-resolver.d.ts +0 -2
- package/cms/utils/index.d.ts +3 -0
- package/cms/utils/transpilation-worker.d.ts +13 -0
- package/cms/vendor-map.d.ts +26 -15
- package/core/README.md +20 -0
- package/core/modules/configuration/configuration.module.d.ts +2 -1
- package/core/modules/configuration/helpers.d.ts +4 -3
- package/core/modules/configuration/index.d.ts +1 -1
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +1 -1
- package/core/modules/configuration/services/configuration-state.service.d.ts +51 -0
- package/core/modules/configuration/services/configuration.service.d.ts +10 -5
- package/core/modules/configuration/types/configuration.types.d.ts +4 -0
- package/core/modules/flow-configuration/flow-configuration.module.d.ts +2 -1
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +5 -0
- package/core/pipes/action-code.pipe.d.ts +8 -0
- package/core/pipes/date.pipe.d.ts +2 -1
- package/core/pipes/index.d.ts +1 -0
- package/core/pipes/pipes.module.d.ts +2 -1
- package/core/services/context.service.d.ts +4 -0
- package/core/services/flow-info.service.d.ts +29 -0
- package/core/services/flow-state-configuration.service.d.ts +19 -0
- package/core/services/flow-state.service.d.ts +79 -0
- package/core/services/index.d.ts +4 -1
- package/core/services/quote-draft.service.d.ts +8 -1
- package/core/services/runtime-settings.service.d.ts +4 -1
- package/core/types/flow-customization.types.d.ts +22 -0
- package/core/types/flow-state.types.d.ts +6 -0
- package/core/types/formatting-settings.types.d.ts +2 -0
- package/core/types/index.d.ts +3 -0
- package/{cms → core}/types/integration.types.d.ts +1 -0
- package/core/types/pipe.types.d.ts +1 -0
- package/core/utils/line-item.utils.d.ts +0 -1
- package/esm2020/cms/cms.actions.mjs +15 -1
- package/esm2020/cms/components/element-children/element-children.component.mjs +3 -3
- package/esm2020/cms/components/element-children/element-children.module.mjs +4 -4
- package/esm2020/cms/components/element-drop-handle/element-drop-handle.component.mjs +3 -3
- package/esm2020/cms/components/element-drop-handle/element-drop-handle.module.mjs +4 -4
- package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +6 -6
- package/esm2020/cms/components/element-renderer/element-renderer.module.mjs +4 -4
- package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +5 -5
- package/esm2020/cms/components/plugin.component.mjs +3 -3
- package/esm2020/cms/components/preview/preview.component.mjs +11 -11
- package/esm2020/cms/components/preview/preview.module.mjs +6 -6
- package/esm2020/cms/components/preview/preview.types.mjs +1 -1
- package/esm2020/cms/directives/custom-template.directive.mjs +7 -7
- package/esm2020/cms/index.mjs +2 -1
- package/esm2020/cms/launcher.module.mjs +7 -7
- package/esm2020/cms/modules/federated/federated-host.directive.mjs +3 -3
- package/esm2020/cms/modules/federated/federated.component.mjs +3 -3
- package/esm2020/cms/modules/federated/federated.module.mjs +4 -4
- package/esm2020/cms/modules/migrations/migrations.mjs +2 -2
- package/esm2020/cms/modules/migrations/migrations.module.mjs +4 -4
- package/esm2020/cms/modules/migrations/services/migrations.service.mjs +9 -5
- package/esm2020/cms/modules/runtime/runtime.module.mjs +4 -4
- package/esm2020/cms/modules/runtime/services/compilation.service.mjs +14 -10
- package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +3 -3
- package/esm2020/cms/modules/runtime/services/runtime.service.mjs +7 -7
- package/esm2020/cms/plugins/configuration.plugin.mjs +11 -7
- package/esm2020/cms/plugins/element-hover.plugin.mjs +3 -3
- package/esm2020/cms/plugins/io.plugin.mjs +3 -3
- package/esm2020/cms/plugins/page.plugin.mjs +3 -3
- package/esm2020/cms/plugins/region.plugin.mjs +3 -3
- package/esm2020/cms/plugins/script.plugin.mjs +3 -3
- package/esm2020/cms/services/element-context.service.mjs +3 -3
- package/esm2020/cms/services/index.mjs +1 -2
- package/esm2020/cms/services/io-provider.service.mjs +13 -12
- package/esm2020/cms/services/resources.service.mjs +3 -3
- package/esm2020/cms/services/templates.service.mjs +13 -12
- package/esm2020/cms/types/index.mjs +1 -2
- package/esm2020/cms/utils/element-metadata-worker.mjs +31 -0
- package/esm2020/cms/utils/elements-resolver.mjs +14 -28
- package/esm2020/cms/utils/index.mjs +4 -1
- package/esm2020/cms/utils/path.utils.mjs +3 -3
- package/esm2020/cms/utils/transpilation-worker.mjs +52 -0
- package/esm2020/cms/vendor-map.mjs +18 -6
- package/esm2020/core/core.module.mjs +16 -9
- package/esm2020/core/directives/directives.module.mjs +4 -4
- package/esm2020/core/directives/primeng-calendar.directive.mjs +3 -3
- package/esm2020/core/modules/configuration/configuration.module.mjs +9 -25
- package/esm2020/core/modules/configuration/helpers.mjs +28 -3
- package/esm2020/core/modules/configuration/index.mjs +2 -2
- package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +11 -14
- package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +299 -0
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +70 -47
- package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +9 -9
- package/esm2020/core/modules/configuration/types/configuration.types.mjs +1 -1
- package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +8 -8
- package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +13 -10
- package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +3 -3
- package/esm2020/core/pipes/action-code.pipe.mjs +20 -0
- package/esm2020/core/pipes/date.pipe.mjs +13 -7
- package/esm2020/core/pipes/index.mjs +2 -1
- package/esm2020/core/pipes/number.pipe.mjs +3 -3
- package/esm2020/core/pipes/pipes.module.mjs +8 -7
- package/esm2020/core/pipes/price.pipe.mjs +3 -3
- package/esm2020/core/services/context.service.mjs +34 -7
- package/esm2020/core/services/flow-info.service.mjs +99 -0
- package/esm2020/core/services/flow-state-configuration.service.mjs +53 -0
- package/esm2020/core/services/flow-state.service.mjs +502 -0
- package/esm2020/core/services/index.mjs +5 -2
- package/esm2020/core/services/integration.state.mjs +36 -0
- package/esm2020/core/services/product-images.service.mjs +6 -7
- package/esm2020/core/services/quote-draft.service.mjs +33 -9
- package/esm2020/core/services/runtime-settings.service.mjs +21 -7
- package/esm2020/core/types/flow-customization.types.mjs +3 -0
- package/esm2020/core/types/flow-state.types.mjs +2 -0
- package/esm2020/core/types/formatting-settings.types.mjs +1 -1
- package/esm2020/core/types/index.mjs +4 -1
- package/esm2020/core/types/integration.types.mjs +2 -0
- package/esm2020/core/types/pipe.types.mjs +2 -0
- package/esm2020/core/utils/line-item.utils.mjs +30 -15
- package/esm2020/src/components/dialog/dialog.component.mjs +3 -3
- package/esm2020/src/components/dialog/dialog.module.mjs +4 -4
- package/esm2020/src/components/doc-gen/doc-gen.component.mjs +51 -51
- package/esm2020/src/components/doc-gen/doc-gen.module.mjs +4 -4
- package/esm2020/src/components/flow-header/flow-header.component.mjs +108 -0
- package/esm2020/src/components/flow-header/flow-header.module.mjs +19 -0
- package/esm2020/src/components/flow-header/index.mjs +2 -0
- package/esm2020/src/components/guided-selling/guided-selling.component.mjs +39 -45
- package/esm2020/src/components/guided-selling/guided-selling.module.mjs +4 -4
- package/esm2020/src/configure-primeng.mjs +33 -0
- package/esm2020/src/flow-routing.module.mjs +66 -75
- package/esm2020/src/flow.component.mjs +24 -33
- package/esm2020/src/flow.module.mjs +11 -9
- package/esm2020/src/guards/context.guard.mjs +9 -14
- package/esm2020/src/guards/flow.guard.mjs +37 -0
- package/esm2020/src/guards/product-unload.guard.mjs +7 -4
- package/esm2020/src/guards/root.guard.mjs +17 -13
- package/esm2020/src/pages/assets/assets.component.mjs +34 -38
- package/esm2020/src/pages/assets/assets.module.mjs +4 -4
- package/esm2020/src/pages/catalog/catalog.component.mjs +34 -38
- package/esm2020/src/pages/catalog/catalog.module.mjs +4 -4
- package/esm2020/src/pages/debug/debug.component.mjs +12 -16
- package/esm2020/src/pages/debug/debug.module.mjs +4 -4
- package/esm2020/src/pages/empty-account/empty-account.component.mjs +3 -3
- package/esm2020/src/pages/empty-account/empty-account.module.mjs +4 -4
- package/esm2020/src/pages/product/product.component.mjs +24 -14
- package/esm2020/src/pages/product/product.module.mjs +4 -4
- package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +8 -5
- package/esm2020/src/pages/record-not-found/record-not-found.module.mjs +4 -4
- package/esm2020/src/pages/remote/remote.component.mjs +20 -20
- package/esm2020/src/pages/remote/remote.module.mjs +4 -4
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +35 -39
- package/esm2020/src/pages/shopping-cart/shopping-cart.module.mjs +4 -4
- package/esm2020/src/resolvers/flow.resolver.mjs +39 -51
- package/esm2020/src/resolvers/quote.resolver.mjs +57 -65
- package/esm2020/src/services/doc-gen.service.mjs +7 -6
- package/esm2020/src/services/flow-dialog.service.mjs +23 -8
- package/esm2020/src/services/flow-router.service.mjs +59 -18
- package/esm2020/src/services/flow.service.mjs +72 -25
- package/esm2020/src/services/guided-selling.service.mjs +8 -7
- package/esm2020/src/services/index.mjs +3 -1
- package/esm2020/src/types/index.mjs +1 -2
- package/esm2020/src/utils/flow.utils.mjs +6 -2
- package/fesm2015/veloceapps-sdk-cms.mjs +355 -271
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +1639 -781
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +828 -1541
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +357 -283
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +1780 -958
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +888 -1599
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +7 -14
- package/src/components/doc-gen/doc-gen.component.d.ts +8 -9
- package/src/components/flow-header/flow-header.component.d.ts +25 -0
- package/src/components/flow-header/flow-header.module.d.ts +9 -0
- package/src/components/flow-header/index.d.ts +1 -0
- package/src/components/guided-selling/guided-selling.component.d.ts +6 -8
- package/src/configure-primeng.d.ts +1 -0
- package/src/flow-routing.module.d.ts +6 -7
- package/src/flow.component.d.ts +7 -11
- package/src/flow.module.d.ts +2 -2
- package/src/guards/context.guard.d.ts +4 -5
- package/src/guards/flow.guard.d.ts +2 -0
- package/src/guards/product-unload.guard.d.ts +2 -2
- package/src/guards/root.guard.d.ts +0 -1
- package/src/pages/assets/assets.component.d.ts +5 -7
- package/src/pages/catalog/catalog.component.d.ts +5 -7
- package/src/pages/debug/debug.component.d.ts +5 -8
- package/src/pages/product/product.component.d.ts +7 -6
- package/src/pages/record-not-found/record-not-found.component.d.ts +2 -0
- package/src/pages/remote/remote.component.d.ts +2 -3
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +5 -7
- package/src/resolvers/flow.resolver.d.ts +6 -7
- package/src/resolvers/quote.resolver.d.ts +7 -12
- package/src/services/doc-gen.service.d.ts +1 -1
- package/src/services/flow-dialog.service.d.ts +5 -2
- package/src/services/flow-router.service.d.ts +7 -3
- package/src/services/flow.service.d.ts +10 -4
- package/src/services/guided-selling.service.d.ts +1 -1
- package/src/services/index.d.ts +2 -0
- package/src/types/index.d.ts +0 -1
- package/core/modules/configuration/services/configuration.state.d.ts +0 -30
- package/core/services/metric-calculation/metric-calculation.service.d.ts +0 -25
- package/core/services/metric-calculation/metric-calculation.types.d.ts +0 -1
- package/core/services/metric-calculation/metric-calculation.utils.d.ts +0 -5
- package/esm2020/cms/services/integration.state.mjs +0 -37
- package/esm2020/cms/types/integration.types.mjs +0 -2
- package/esm2020/core/modules/configuration/services/configuration.state.mjs +0 -142
- package/esm2020/core/services/metric-calculation/metric-calculation.service.mjs +0 -85
- package/esm2020/core/services/metric-calculation/metric-calculation.types.mjs +0 -2
- package/esm2020/core/services/metric-calculation/metric-calculation.utils.mjs +0 -42
- package/esm2020/runtime/components/component-preview/component-preview.component.mjs +0 -125
- package/esm2020/runtime/components/index.mjs +0 -5
- package/esm2020/runtime/components/section-renderer/section-renderer.component.mjs +0 -67
- package/esm2020/runtime/components/ui-runtime/runtime.component.mjs +0 -440
- package/esm2020/runtime/components/ui-runtime-preview/runtime-preview.component.mjs +0 -108
- package/esm2020/runtime/execution/components/children-placeholder/children-placeholder.component.mjs +0 -60
- package/esm2020/runtime/execution/components/context-provider/context-provider.component.mjs +0 -39
- package/esm2020/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.mjs +0 -67
- package/esm2020/runtime/execution/components/federated/federated.component.mjs +0 -74
- package/esm2020/runtime/execution/components/velo-attribute/velo-attribute.component.mjs +0 -60
- package/esm2020/runtime/execution/components/velo-multiselect/velo-multiselect.component.mjs +0 -130
- package/esm2020/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.mjs +0 -72
- package/esm2020/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.mjs +0 -97
- package/esm2020/runtime/execution/components/velo-port-radio/velo-port-radio.component.mjs +0 -142
- package/esm2020/runtime/execution/components/velo-type/velo-type.component.mjs +0 -119
- package/esm2020/runtime/execution/directives/section-script.directive.mjs +0 -247
- package/esm2020/runtime/execution/directives/sf-query.directive.mjs +0 -35
- package/esm2020/runtime/execution/directives/velo-attribute.directive.mjs +0 -88
- package/esm2020/runtime/execution/directives/velo-port.directive.mjs +0 -376
- package/esm2020/runtime/execution/directives/vl-approval.directive.mjs +0 -23
- package/esm2020/runtime/execution/directives/vl-document-attachments.directive.mjs +0 -36
- package/esm2020/runtime/execution/directives/vl-document-templates.directive.mjs +0 -60
- package/esm2020/runtime/execution/directives/vl-quote.directive.mjs +0 -42
- package/esm2020/runtime/execution/directives/vl-ramp.directive.mjs +0 -55
- package/esm2020/runtime/execution/runtime-execution.module.mjs +0 -133
- package/esm2020/runtime/execution/utils/federated.util.mjs +0 -32
- package/esm2020/runtime/index.mjs +0 -5
- package/esm2020/runtime/runtime.module.mjs +0 -74
- package/esm2020/runtime/services/cart.service.mjs +0 -29
- package/esm2020/runtime/services/collapsible-state.service.mjs +0 -34
- package/esm2020/runtime/services/configuration.service.mjs +0 -119
- package/esm2020/runtime/services/current-state.service.mjs +0 -17
- package/esm2020/runtime/services/form-scope.service.mjs +0 -30
- package/esm2020/runtime/services/index.mjs +0 -4
- package/esm2020/runtime/services/product-model-cache.service.mjs +0 -31
- package/esm2020/runtime/services/runtime-context.service.mjs +0 -60
- package/esm2020/runtime/services/runtime-form.service.mjs +0 -219
- package/esm2020/runtime/services/runtime.service.mjs +0 -115
- package/esm2020/runtime/services/section-helper.service.mjs +0 -27
- package/esm2020/runtime/services/section-scope.service.mjs +0 -36
- package/esm2020/runtime/services/section-store.service.mjs +0 -22
- package/esm2020/runtime/services/section.service.mjs +0 -117
- package/esm2020/runtime/types/bound-data.types.mjs +0 -7
- package/esm2020/runtime/types/index.mjs +0 -3
- package/esm2020/runtime/types/quote-states.types.mjs +0 -2
- package/esm2020/runtime/types/runtime.types.mjs +0 -2
- package/esm2020/runtime/types/script-registry.types.mjs +0 -51
- package/esm2020/runtime/utils/line-item.util.mjs +0 -270
- package/esm2020/runtime/utils/section.utils.mjs +0 -26
- package/esm2020/runtime/utils/sections-binder.helper.mjs +0 -105
- package/esm2020/runtime/veloceapps-sdk-runtime.mjs +0 -5
- package/esm2020/src/components/header/cart-overlay/cart-preview.component.mjs +0 -119
- package/esm2020/src/components/header/cart-overlay/cart-preview.module.mjs +0 -47
- package/esm2020/src/components/header/header.component.mjs +0 -355
- package/esm2020/src/components/header/header.module.mjs +0 -52
- package/esm2020/src/components/header/header.types.mjs +0 -2
- package/esm2020/src/components/header/metrics/index.mjs +0 -2
- package/esm2020/src/components/header/metrics/metrics.component.mjs +0 -255
- package/esm2020/src/components/header/metrics/metrics.definitions.mjs +0 -2
- package/esm2020/src/components/header/metrics/metrics.module.mjs +0 -69
- package/esm2020/src/pages/legacy-product/legacy-product.component.mjs +0 -137
- package/esm2020/src/pages/legacy-product/legacy-product.module.mjs +0 -19
- package/esm2020/src/types/flow-customization.types.mjs +0 -3
- package/fesm2015/veloceapps-sdk-runtime.mjs +0 -3770
- package/fesm2015/veloceapps-sdk-runtime.mjs.map +0 -1
- package/fesm2020/veloceapps-sdk-runtime.mjs +0 -3767
- package/fesm2020/veloceapps-sdk-runtime.mjs.map +0 -1
- package/runtime/README.md +0 -5
- package/runtime/components/component-preview/component-preview.component.d.ts +0 -27
- package/runtime/components/index.d.ts +0 -4
- package/runtime/components/section-renderer/section-renderer.component.d.ts +0 -25
- package/runtime/components/ui-runtime/runtime.component.d.ts +0 -53
- package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +0 -27
- package/runtime/execution/components/children-placeholder/children-placeholder.component.d.ts +0 -30
- package/runtime/execution/components/context-provider/context-provider.component.d.ts +0 -14
- package/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.d.ts +0 -25
- package/runtime/execution/components/federated/federated.component.d.ts +0 -36
- package/runtime/execution/components/velo-attribute/velo-attribute.component.d.ts +0 -19
- package/runtime/execution/components/velo-multiselect/velo-multiselect.component.d.ts +0 -35
- package/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.d.ts +0 -22
- package/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.d.ts +0 -22
- package/runtime/execution/components/velo-port-radio/velo-port-radio.component.d.ts +0 -28
- package/runtime/execution/components/velo-type/velo-type.component.d.ts +0 -31
- package/runtime/execution/directives/section-script.directive.d.ts +0 -59
- package/runtime/execution/directives/sf-query.directive.d.ts +0 -15
- package/runtime/execution/directives/velo-attribute.directive.d.ts +0 -26
- package/runtime/execution/directives/velo-port.directive.d.ts +0 -74
- package/runtime/execution/directives/vl-approval.directive.d.ts +0 -10
- package/runtime/execution/directives/vl-document-attachments.directive.d.ts +0 -15
- package/runtime/execution/directives/vl-document-templates.directive.d.ts +0 -33
- package/runtime/execution/directives/vl-quote.directive.d.ts +0 -14
- package/runtime/execution/directives/vl-ramp.directive.d.ts +0 -15
- package/runtime/execution/runtime-execution.module.d.ts +0 -25
- package/runtime/execution/utils/federated.util.d.ts +0 -6
- package/runtime/index.d.ts +0 -4
- package/runtime/runtime.module.d.ts +0 -16
- package/runtime/services/cart.service.d.ts +0 -15
- package/runtime/services/collapsible-state.service.d.ts +0 -15
- package/runtime/services/configuration.service.d.ts +0 -20
- package/runtime/services/current-state.service.d.ts +0 -8
- package/runtime/services/form-scope.service.d.ts +0 -20
- package/runtime/services/index.d.ts +0 -3
- package/runtime/services/product-model-cache.service.d.ts +0 -14
- package/runtime/services/runtime-context.service.d.ts +0 -16
- package/runtime/services/runtime-form.service.d.ts +0 -24
- package/runtime/services/runtime.service.d.ts +0 -44
- package/runtime/services/section-helper.service.d.ts +0 -8
- package/runtime/services/section-scope.service.d.ts +0 -14
- package/runtime/services/section-store.service.d.ts +0 -11
- package/runtime/services/section.service.d.ts +0 -30
- package/runtime/types/bound-data.types.d.ts +0 -13
- package/runtime/types/index.d.ts +0 -2
- package/runtime/types/quote-states.types.d.ts +0 -6
- package/runtime/types/runtime.types.d.ts +0 -19
- package/runtime/types/script-registry.types.d.ts +0 -13
- package/runtime/utils/line-item.util.d.ts +0 -34
- package/runtime/utils/section.utils.d.ts +0 -2
- package/runtime/utils/sections-binder.helper.d.ts +0 -16
- package/src/components/header/cart-overlay/cart-preview.component.d.ts +0 -36
- package/src/components/header/cart-overlay/cart-preview.module.d.ts +0 -14
- package/src/components/header/header.component.d.ts +0 -70
- package/src/components/header/header.module.d.ts +0 -16
- package/src/components/header/header.types.d.ts +0 -20
- package/src/components/header/metrics/index.d.ts +0 -1
- package/src/components/header/metrics/metrics.component.d.ts +0 -67
- package/src/components/header/metrics/metrics.definitions.d.ts +0 -1
- package/src/components/header/metrics/metrics.module.d.ts +0 -18
- package/src/pages/legacy-product/legacy-product.component.d.ts +0 -37
- package/src/pages/legacy-product/legacy-product.module.d.ts +0 -9
- package/src/types/flow-customization.types.d.ts +0 -12
- /package/{cms → core}/services/integration.state.d.ts +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
2
|
import { ProceduresApiService } from '@veloceapps/api';
|
3
3
|
import { cloneDeep } from 'lodash';
|
4
|
-
import { catchError, map, noop, of, shareReplay, switchMap, tap, throwError } from 'rxjs';
|
4
|
+
import { catchError, map, noop, of, shareReplay, Subject, switchMap, tap, throwError } from 'rxjs';
|
5
5
|
import { ContextService } from '../../../services/context.service';
|
6
6
|
import { QuoteDraftService } from '../../../services/quote-draft.service';
|
7
7
|
import { multiplyLineItems } from '../../../utils/line-item.utils';
|
@@ -20,6 +20,8 @@ export class FlowConfigurationService {
|
|
20
20
|
this.quoteDraftService = quoteDraftService;
|
21
21
|
this.updateService = updateService;
|
22
22
|
this.configurationService = configurationService;
|
23
|
+
this.updatedSubj$ = new Subject();
|
24
|
+
this.updated$ = this.updatedSubj$.asObservable();
|
23
25
|
}
|
24
26
|
calculate$(quoteDraft) {
|
25
27
|
return this.proceduresApiService.apply$(quoteDraft).pipe(tap(result => {
|
@@ -43,7 +45,7 @@ export class FlowConfigurationService {
|
|
43
45
|
const updatedState = cloneDeep(quoteDraft.currentState);
|
44
46
|
this.updateService.update(updatedState, updates, quoteDraft.charges);
|
45
47
|
return updatedState;
|
46
|
-
}), switchMap(updatedState => this.calculate$({ ...quoteDraft, currentState: updatedState })), map(() => this.quoteDraftService.quoteDraft), this.handleErrorAndBounceBack());
|
48
|
+
}), switchMap(updatedState => this.calculate$({ ...quoteDraft, currentState: updatedState })), map(() => this.quoteDraftService.quoteDraft), tap(() => this.updatedSubj$.next()), this.handleErrorAndBounceBack());
|
47
49
|
}
|
48
50
|
update(updates) {
|
49
51
|
this.update$(updates).subscribe();
|
@@ -62,7 +64,7 @@ export class FlowConfigurationService {
|
|
62
64
|
updatedState.splice(currentLineItemIndex, 1, initialLineItem);
|
63
65
|
return of([]).pipe(tap(() => {
|
64
66
|
this.quoteDraftService.setCurrentLineItemState(updatedState);
|
65
|
-
}), switchMap(() => this.calculate$({ ...quoteDraft, currentState: updatedState })), map(() => this.quoteDraftService.quoteDraft), this.handleErrorAndBounceBack());
|
67
|
+
}), switchMap(() => this.calculate$({ ...quoteDraft, currentState: updatedState })), map(() => this.quoteDraftService.quoteDraft), tap(() => this.updatedSubj$.next()), this.handleErrorAndBounceBack());
|
66
68
|
}
|
67
69
|
revert(lineItemId) {
|
68
70
|
this.revert$(lineItemId).subscribe();
|
@@ -73,7 +75,7 @@ export class FlowConfigurationService {
|
|
73
75
|
if (!quoteDraft) {
|
74
76
|
return of(null);
|
75
77
|
}
|
76
|
-
return of([]).pipe(map(() => ids.reduce((result, id) => this.updateService.delete(result, id), currentState)), switchMap(updatedState => this.calculate$({ ...quoteDraft, currentState: updatedState })), map(() => this.quoteDraftService.quoteDraft), this.handleErrorAndBounceBack());
|
78
|
+
return of([]).pipe(map(() => ids.reduce((result, id) => this.updateService.delete(result, id), currentState)), switchMap(updatedState => this.calculate$({ ...quoteDraft, currentState: updatedState })), map(() => this.quoteDraftService.quoteDraft), tap(() => this.updatedSubj$.next()), this.handleErrorAndBounceBack());
|
77
79
|
}
|
78
80
|
delete(ids) {
|
79
81
|
this.delete$(ids).subscribe();
|
@@ -84,7 +86,7 @@ export class FlowConfigurationService {
|
|
84
86
|
return of(null);
|
85
87
|
}
|
86
88
|
const updatedState = [...quoteDraft.currentState, term];
|
87
|
-
return of([]).pipe(switchMap(() => this.calculate$({ ...quoteDraft, currentState: updatedState })), map(() => this.quoteDraftService.quoteDraft), this.handleErrorAndBounceBack());
|
89
|
+
return of([]).pipe(switchMap(() => this.calculate$({ ...quoteDraft, currentState: updatedState })), map(() => this.quoteDraftService.quoteDraft), tap(() => this.updatedSubj$.next()), this.handleErrorAndBounceBack());
|
88
90
|
}
|
89
91
|
addToCart$(props) {
|
90
92
|
const quoteDraft = this.quoteDraftService.quoteDraft;
|
@@ -96,7 +98,7 @@ export class FlowConfigurationService {
|
|
96
98
|
const split = model?.types.find(type => type.name === lineItem.type)?.split ?? false;
|
97
99
|
const lineItems = multiplyLineItems(lineItem, props.qty ?? 1, split);
|
98
100
|
return [...quoteDraft.currentState, ...lineItems];
|
99
|
-
}), switchMap(updatedState => this.calculate$({ ...quoteDraft, currentState: updatedState })), map(() => this.quoteDraftService.quoteDraft), this.handleErrorAndBounceBack());
|
101
|
+
}), switchMap(updatedState => this.calculate$({ ...quoteDraft, currentState: updatedState })), map(() => this.quoteDraftService.quoteDraft), tap(() => this.updatedSubj$.next()), this.handleErrorAndBounceBack());
|
100
102
|
}
|
101
103
|
get() {
|
102
104
|
return this.quoteDraftService.quoteDraft$.pipe(map(() => this.quoteDraftService.activeCurrentState), shareReplay());
|
@@ -136,15 +138,16 @@ export class FlowConfigurationService {
|
|
136
138
|
const quoteDraft = this.quoteDraftService.quoteDraft;
|
137
139
|
if (quoteDraft) {
|
138
140
|
this.quoteDraftService.updateQuoteDraft(quoteDraft);
|
141
|
+
this.updatedSubj$.next();
|
139
142
|
}
|
140
143
|
return throwError(() => error);
|
141
144
|
}));
|
142
145
|
};
|
143
146
|
}
|
144
147
|
}
|
145
|
-
FlowConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
146
|
-
FlowConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
148
|
+
FlowConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationService, deps: [{ token: i1.ProceduresApiService }, { token: i2.ContextService }, { token: i3.QuoteDraftService }, { token: i4.FlowUpdateService }, { token: i5.ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
149
|
+
FlowConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationService });
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationService, decorators: [{
|
148
151
|
type: Injectable
|
149
152
|
}], ctorParameters: function () { return [{ type: i1.ProceduresApiService }, { type: i2.ContextService }, { type: i3.QuoteDraftService }, { type: i4.FlowUpdateService }, { type: i5.ConfigurationService }]; } });
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFjLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvQyxPQUFPLEVBQWMsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFHMUQsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNVLG9CQUEwQyxFQUMxQyxjQUE4QixFQUM5QixpQkFBb0MsRUFDcEMsYUFBZ0MsRUFDaEMsb0JBQTBDO1FBSjFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLHlCQUFvQixH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QUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsT0FBTyxDQUFJLE9BQXNCLEVBQWlCLEVBQUU7WUFDbEQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRXJCLCtDQUErQztnQkFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztnQkFDckQsSUFBSSxVQUFVLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNyRDtnQkFFRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7cUhBdk1VLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9jZWR1cmVzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBDaGFyZ2UsIENvbXBpbGVkUHJpY2VQbGFuLCBDb25maWd1cmF0aW9uQ29udGV4dCwgTGluZUl0ZW0sIE1ldHJpY1J1bGUsIFF1b3RlRHJhZnQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnksIGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBtYXAsIG5vb3AsIG9mLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFF1b3RlRHJhZnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXVvdGUtZHJhZnQuc2VydmljZSc7XG5pbXBvcnQgeyBtdWx0aXBseUxpbmVJdGVtcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2xpbmUtaXRlbS51dGlscyc7XG5pbXBvcnQgeyBFeHRlcm5hbENvbmZpZ3VyYXRpb25Qcm9wcyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGbG93VXBkYXRlUGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMvdXBkYXRlLnR5cGVzJztcbmltcG9ydCB7IEZsb3dVcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi9mbG93LXVwZGF0ZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJvY2VkdXJlc0FwaVNlcnZpY2U6IFByb2NlZHVyZXNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXBkYXRlU2VydmljZTogRmxvd1VwZGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgY2FsY3VsYXRlJChxdW90ZURyYWZ0OiBRdW90ZURyYWZ0KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvY2VkdXJlc0FwaVNlcnZpY2UuYXBwbHkkKHF1b3RlRHJhZnQpLnBpcGUoXG4gICAgICB0YXAocmVzdWx0ID0+IHtcbiAgICAgICAgLy8gc29ydCB0aGUgcmVzdWx0IGN1cnJlbnQgc3RhdGUgYmFzZWQgb24gdGhlIHF1b3RlIGRyYWZ0IGluaXRpYWwgc3RhdGVcbiAgICAgICAgY29uc3QgaW5pdGlhbFN0YXRlSWRzID0gcXVvdGVEcmFmdC5pbml0aWFsU3RhdGUubWFwKGxpbmVJdGVtID0+IGxpbmVJdGVtLmludGVncmF0aW9uSWQpO1xuICAgICAgICByZXN1bHQuY3VycmVudFN0YXRlID0gcmVzdWx0LmN1cnJlbnRTdGF0ZVxuICAgICAgICAgIC5zbGljZSgpXG4gICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGluaXRpYWxTdGF0ZUlkcy5pbmRleE9mKGEuaW50ZWdyYXRpb25JZCkgLSBpbml0aWFsU3RhdGVJZHMuaW5kZXhPZihiLmludGVncmF0aW9uSWQpKTtcbiAgICAgICAgdGhpcy5xdW90ZURyYWZ0U2VydmljZS51cGRhdGVRdW90ZURyYWZ0KHJlc3VsdCk7XG4gICAgICB9KSxcbiAgICAgIG1hcChub29wKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNhbGN1bGF0ZShxdW90ZURyYWZ0OiBRdW90ZURyYWZ0KTogdm9pZCB7XG4gICAgdGhpcy5jYWxjdWxhdGUkKHF1b3RlRHJhZnQpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZSQodXBkYXRlczogRmxvd1VwZGF0ZVBhcmFtc1tdKTogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0IHwgbnVsbD4ge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2YoW10pLnBpcGUoXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVkU3RhdGUgPSBjbG9uZURlZXAocXVvdGVEcmFmdC5jdXJyZW50U3RhdGUpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlcnZpY2UudXBkYXRlKHVwZGF0ZWRTdGF0ZSwgdXBkYXRlcywgcXVvdGVEcmFmdC5jaGFyZ2VzKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRTdGF0ZTtcbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKHVwZGF0ZWRTdGF0ZSA9PiB0aGlzLmNhbGN1bGF0ZSQoeyAuLi5xdW90ZURyYWZ0LCBjdXJyZW50U3RhdGU6IHVwZGF0ZWRTdGF0ZSB9KSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0KSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUodXBkYXRlczogRmxvd1VwZGF0ZVBhcmFtc1tdKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGUkKHVwZGF0ZXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHJldmVydCQobGluZUl0ZW1JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0IHwgbnVsbD4ge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ7XG4gICAgY29uc3QgaW5pdGlhbEN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuZ2V0SW5pdGlhbEN1cnJlbnRTdGF0ZSgpO1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuYWN0aXZlQ3VycmVudFN0YXRlO1xuXG4gICAgY29uc3QgY3VycmVudExpbmVJdGVtSW5kZXggPSBjdXJyZW50U3RhdGUuZmluZEluZGV4KCh7IGlkIH0pID0+IGlkID09PSBsaW5lSXRlbUlkKTtcbiAgICBjb25zdCBjdXJyZW50TGluZUl0ZW0gPSBjdXJyZW50U3RhdGVbY3VycmVudExpbmVJdGVtSW5kZXhdO1xuXG4gICAgY29uc3QgaW5pdGlhbExpbmVJdGVtID0gaW5pdGlhbEN1cnJlbnRTdGF0ZS5maW5kKFxuICAgICAgKHsgaW50ZWdyYXRpb25JZCB9KSA9PiBpbnRlZ3JhdGlvbklkID09PSBjdXJyZW50TGluZUl0ZW0/LmludGVncmF0aW9uSWQsXG4gICAgKTtcblxuICAgIGlmICghcXVvdGVEcmFmdCB8fCAhY3VycmVudExpbmVJdGVtIHx8ICFpbml0aWFsTGluZUl0ZW0pIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVkU3RhdGUgPSBjbG9uZURlZXAoY3VycmVudFN0YXRlKTtcbiAgICB1cGRhdGVkU3RhdGUuc3BsaWNlKGN1cnJlbnRMaW5lSXRlbUluZGV4LCAxLCBpbml0aWFsTGluZUl0ZW0pO1xuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5xdW90ZURyYWZ0U2VydmljZS5zZXRDdXJyZW50TGluZUl0ZW1TdGF0ZSh1cGRhdGVkU3RhdGUpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jYWxjdWxhdGUkKHsgLi4ucXVvdGVEcmFmdCwgY3VycmVudFN0YXRlOiB1cGRhdGVkU3RhdGUgfSkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yQW5kQm91bmNlQmFjaygpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmV2ZXJ0KGxpbmVJdGVtSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmV2ZXJ0JChsaW5lSXRlbUlkKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUkKGlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQgfCBudWxsPiB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmN1cnJlbnRTdGF0ZTtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cblxuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiBpZHMucmVkdWNlKChyZXN1bHQsIGlkKSA9PiB0aGlzLnVwZGF0ZVNlcnZpY2UuZGVsZXRlKHJlc3VsdCwgaWQpLCBjdXJyZW50U3RhdGUpKSxcbiAgICAgIHN3aXRjaE1hcCh1cGRhdGVkU3RhdGUgPT4gdGhpcy5jYWxjdWxhdGUkKHsgLi4ucXVvdGVEcmFmdCwgY3VycmVudFN0YXRlOiB1cGRhdGVkU3RhdGUgfSkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yQW5kQm91bmNlQmFjaygpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKGlkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZSQoaWRzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUZXJtJCh0ZXJtOiBMaW5lSXRlbSk6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlZFN0YXRlID0gWy4uLnF1b3RlRHJhZnQuY3VycmVudFN0YXRlLCB0ZXJtXTtcblxuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNhbGN1bGF0ZSQoeyAuLi5xdW90ZURyYWZ0LCBjdXJyZW50U3RhdGU6IHVwZGF0ZWRTdGF0ZSB9KSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0KSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb0NhcnQkKHByb3BzOiBFeHRlcm5hbENvbmZpZ3VyYXRpb25Qcm9wcyk6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuY29uZmlndXJlRXh0ZXJuYWwkKHByb3BzKS5waXBlKFxuICAgICAgbWFwKGxpbmVJdGVtID0+IHtcbiAgICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldFJ1bnRpbWVNb2RlbCgpO1xuICAgICAgICBjb25zdCBzcGxpdCA9IG1vZGVsPy50eXBlcy5maW5kKHR5cGUgPT4gdHlwZS5uYW1lID09PSBsaW5lSXRlbS50eXBlKT8uc3BsaXQgPz8gZmFsc2U7XG4gICAgICAgIGNvbnN0IGxpbmVJdGVtcyA9IG11bHRpcGx5TGluZUl0ZW1zKGxpbmVJdGVtLCBwcm9wcy5xdHkgPz8gMSwgc3BsaXQpO1xuXG4gICAgICAgIHJldHVybiBbLi4ucXVvdGVEcmFmdC5jdXJyZW50U3RhdGUsIC4uLmxpbmVJdGVtc107XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCh1cGRhdGVkU3RhdGUgPT4gdGhpcy5jYWxjdWxhdGUkKHsgLi4ucXVvdGVEcmFmdCwgY3VycmVudFN0YXRlOiB1cGRhdGVkU3RhdGUgfSkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yQW5kQm91bmNlQmFjaygpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IE9ic2VydmFibGU8TGluZUl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQkLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5hY3RpdmVDdXJyZW50U3RhdGUpLFxuICAgICAgc2hhcmVSZXBsYXkoKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFNuYXBzaG90KCk6IExpbmVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlPy5jdXJyZW50U3RhdGUuc2xpY2UoKSA/PyBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlcyQoKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PENoYXJnZT4+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0JC5waXBlKG1hcCgoeyBjaGFyZ2VzIH0pID0+IGNoYXJnZXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJpY2VQbGFucyQoKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PENvbXBpbGVkUHJpY2VQbGFuPj4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQkLnBpcGUobWFwKCh7IHByaWNlUGxhbnMgfSkgPT4gcHJpY2VQbGFucykpO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVNZXRyaWNzJCgpOiBPYnNlcnZhYmxlPE1ldHJpY1J1bGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQkLnBpcGUobWFwKCh7IGFjdGl2ZU1ldHJpY3MgfSkgPT4gYWN0aXZlTWV0cmljcykpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzU25hcHNob3QoKTogRGljdGlvbmFyeTxDaGFyZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0Py5jaGFyZ2VzID8/IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBwcmljZVBsYW5zU25hcHNob3QoKTogRGljdGlvbmFyeTxDb21waWxlZFByaWNlUGxhbj4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ/LnByaWNlUGxhbnMgPz8ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZU1ldHJpY3NTbmFwc2hvdCgpOiBNZXRyaWNSdWxlW10ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ/LmFjdGl2ZU1ldHJpY3MgPz8gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHRTbmFwc2hvdCgpOiBDb25maWd1cmF0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0JCgpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSQoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCkge1xuICAgIHJldHVybiA8VD4oc291cmNlJDogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4gPT4ge1xuICAgICAgcmV0dXJuIHNvdXJjZSQucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAvLyBib3VuY2UgYmFjayBpZiBjb25maWd1cmF0aW9uIGNhbGwgaGFzIGZhaWxlZFxuICAgICAgICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ7XG4gICAgICAgICAgaWYgKHF1b3RlRHJhZnQpIHtcbiAgICAgICAgICAgIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UudXBkYXRlUXVvdGVEcmFmdChxdW90ZURyYWZ0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLFFBQVEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0csT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBRzFELE1BQU0sT0FBTyx3QkFBd0I7SUFRbkMsWUFDVSxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsaUJBQW9DLEVBQ3BDLGFBQWdDLEVBQ2hDLG9CQUEwQztRQUoxQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNo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QUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7cUhBdE5VLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9jZWR1cmVzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBDaGFyZ2UsIENvbXBpbGVkUHJpY2VQbGFuLCBDb25maWd1cmF0aW9uQ29udGV4dCwgTGluZUl0ZW0sIE1ldHJpY1J1bGUsIFF1b3RlRHJhZnQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIG5vb3AsIE9ic2VydmFibGUsIG9mLCBzaGFyZVJlcGxheSwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFF1b3RlRHJhZnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXVvdGUtZHJhZnQuc2VydmljZSc7XG5pbXBvcnQgeyBtdWx0aXBseUxpbmVJdGVtcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2xpbmUtaXRlbS51dGlscyc7XG5pbXBvcnQgeyBFeHRlcm5hbENvbmZpZ3VyYXRpb25Qcm9wcyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGbG93VXBkYXRlUGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMvdXBkYXRlLnR5cGVzJztcbmltcG9ydCB7IEZsb3dVcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi9mbG93LXVwZGF0ZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIC8qKlxuICAgKiBBbiBldmVudCBiZWluZyBmaXJlZCB3aGVuIFF1b3RlRHJhZnQgd2FzIHVwZGF0ZWRcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVkJDogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICBwcml2YXRlIHVwZGF0ZWRTdWJqJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwcm9jZWR1cmVzQXBpU2VydmljZTogUHJvY2VkdXJlc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBxdW90ZURyYWZ0U2VydmljZTogUXVvdGVEcmFmdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1cGRhdGVTZXJ2aWNlOiBGbG93VXBkYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy51cGRhdGVkJCA9IHRoaXMudXBkYXRlZFN1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNhbGN1bGF0ZSQocXVvdGVEcmFmdDogUXVvdGVEcmFmdCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZXNBcGlTZXJ2aWNlLmFwcGx5JChxdW90ZURyYWZ0KS5waXBlKFxuICAgICAgdGFwKHJlc3VsdCA9PiB7XG4gICAgICAgIC8vIHNvcnQgdGhlIHJlc3VsdCBjdXJyZW50IHN0YXRlIGJhc2VkIG9uIHRoZSBxdW90ZSBkcmFmdCBpbml0aWFsIHN0YXRlXG4gICAgICAgIGNvbnN0IGluaXRpYWxTdGF0ZUlkcyA9IHF1b3RlRHJhZnQuaW5pdGlhbFN0YXRlLm1hcChsaW5lSXRlbSA9PiBsaW5lSXRlbS5pbnRlZ3JhdGlvbklkKTtcbiAgICAgICAgcmVzdWx0LmN1cnJlbnRTdGF0ZSA9IHJlc3VsdC5jdXJyZW50U3RhdGVcbiAgICAgICAgICAuc2xpY2UoKVxuICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBpbml0aWFsU3RhdGVJZHMuaW5kZXhPZihhLmludGVncmF0aW9uSWQpIC0gaW5pdGlhbFN0YXRlSWRzLmluZGV4T2YoYi5pbnRlZ3JhdGlvbklkKSk7XG4gICAgICAgIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UudXBkYXRlUXVvdGVEcmFmdChyZXN1bHQpO1xuICAgICAgfSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjYWxjdWxhdGUocXVvdGVEcmFmdDogUXVvdGVEcmFmdCk6IHZvaWQge1xuICAgIHRoaXMuY2FsY3VsYXRlJChxdW90ZURyYWZ0KS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUkKHVwZGF0ZXM6IEZsb3dVcGRhdGVQYXJhbXNbXSk6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZFN0YXRlID0gY2xvbmVEZWVwKHF1b3RlRHJhZnQuY3VycmVudFN0YXRlKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZXJ2aWNlLnVwZGF0ZSh1cGRhdGVkU3RhdGUsIHVwZGF0ZXMsIHF1b3RlRHJhZnQuY2hhcmdlcyk7XG4gICAgICAgIHJldHVybiB1cGRhdGVkU3RhdGU7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCh1cGRhdGVkU3RhdGUgPT4gdGhpcy5jYWxjdWxhdGUkKHsgLi4ucXVvdGVEcmFmdCwgY3VycmVudFN0YXRlOiB1cGRhdGVkU3RhdGUgfSkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0YXAoKCkgPT4gdGhpcy51cGRhdGVkU3ViaiQubmV4dCgpKSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUodXBkYXRlczogRmxvd1VwZGF0ZVBhcmFtc1tdKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGUkKHVwZGF0ZXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHJldmVydCQobGluZUl0ZW1JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0IHwgbnVsbD4ge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ7XG4gICAgY29uc3QgaW5pdGlhbEN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuZ2V0SW5pdGlhbEN1cnJlbnRTdGF0ZSgpO1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuYWN0aXZlQ3VycmVudFN0YXRlO1xuXG4gICAgY29uc3QgY3VycmVudExpbmVJdGVtSW5kZXggPSBjdXJyZW50U3RhdGUuZmluZEluZGV4KCh7IGlkIH0pID0+IGlkID09PSBsaW5lSXRlbUlkKTtcbiAgICBjb25zdCBjdXJyZW50TGluZUl0ZW0gPSBjdXJyZW50U3RhdGVbY3VycmVudExpbmVJdGVtSW5kZXhdO1xuXG4gICAgY29uc3QgaW5pdGlhbExpbmVJdGVtID0gaW5pdGlhbEN1cnJlbnRTdGF0ZS5maW5kKFxuICAgICAgKHsgaW50ZWdyYXRpb25JZCB9KSA9PiBpbnRlZ3JhdGlvbklkID09PSBjdXJyZW50TGluZUl0ZW0/LmludGVncmF0aW9uSWQsXG4gICAgKTtcblxuICAgIGlmICghcXVvdGVEcmFmdCB8fCAhY3VycmVudExpbmVJdGVtIHx8ICFpbml0aWFsTGluZUl0ZW0pIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVkU3RhdGUgPSBjbG9uZURlZXAoY3VycmVudFN0YXRlKTtcbiAgICB1cGRhdGVkU3RhdGUuc3BsaWNlKGN1cnJlbnRMaW5lSXRlbUluZGV4LCAxLCBpbml0aWFsTGluZUl0ZW0pO1xuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5xdW90ZURyYWZ0U2VydmljZS5zZXRDdXJyZW50TGluZUl0ZW1TdGF0ZSh1cGRhdGVkU3RhdGUpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jYWxjdWxhdGUkKHsgLi4ucXVvdGVEcmFmdCwgY3VycmVudFN0YXRlOiB1cGRhdGVkU3RhdGUgfSkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0YXAoKCkgPT4gdGhpcy51cGRhdGVkU3ViaiQubmV4dCgpKSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZXZlcnQobGluZUl0ZW1JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5yZXZlcnQkKGxpbmVJdGVtSWQpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZSQoaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0O1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuY3VycmVudFN0YXRlO1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgbWFwKCgpID0+IGlkcy5yZWR1Y2UoKHJlc3VsdCwgaWQpID0+IHRoaXMudXBkYXRlU2VydmljZS5kZWxldGUocmVzdWx0LCBpZCksIGN1cnJlbnRTdGF0ZSkpLFxuICAgICAgc3dpdGNoTWFwKHVwZGF0ZWRTdGF0ZSA9PiB0aGlzLmNhbGN1bGF0ZSQoeyAuLi5xdW90ZURyYWZ0LCBjdXJyZW50U3RhdGU6IHVwZGF0ZWRTdGF0ZSB9KSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0KSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZWRTdWJqJC5uZXh0KCkpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvckFuZEJvdW5jZUJhY2soKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZShpZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5kZWxldGUkKGlkcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgYWRkVGVybSQodGVybTogTGluZUl0ZW0pOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQgfCBudWxsPiB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZWRTdGF0ZSA9IFsuLi5xdW90ZURyYWZ0LmN1cnJlbnRTdGF0ZSwgdGVybV07XG5cbiAgICByZXR1cm4gb2YoW10pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jYWxjdWxhdGUkKHsgLi4ucXVvdGVEcmFmdCwgY3VycmVudFN0YXRlOiB1cGRhdGVkU3RhdGUgfSkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0YXAoKCkgPT4gdGhpcy51cGRhdGVkU3ViaiQubmV4dCgpKSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb0NhcnQkKHByb3BzOiBFeHRlcm5hbENvbmZpZ3VyYXRpb25Qcm9wcyk6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuY29uZmlndXJlRXh0ZXJuYWwkKHByb3BzKS5waXBlKFxuICAgICAgbWFwKGxpbmVJdGVtID0+IHtcbiAgICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldFJ1bnRpbWVNb2RlbCgpO1xuICAgICAgICBjb25zdCBzcGxpdCA9IG1vZGVsPy50eXBlcy5maW5kKHR5cGUgPT4gdHlwZS5uYW1lID09PSBsaW5lSXRlbS50eXBlKT8uc3BsaXQgPz8gZmFsc2U7XG4gICAgICAgIGNvbnN0IGxpbmVJdGVtcyA9IG11bHRpcGx5TGluZUl0ZW1zKGxpbmVJdGVtLCBwcm9wcy5xdHkgPz8gMSwgc3BsaXQpO1xuXG4gICAgICAgIHJldHVybiBbLi4ucXVvdGVEcmFmdC5jdXJyZW50U3RhdGUsIC4uLmxpbmVJdGVtc107XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCh1cGRhdGVkU3RhdGUgPT4gdGhpcy5jYWxjdWxhdGUkKHsgLi4ucXVvdGVEcmFmdCwgY3VycmVudFN0YXRlOiB1cGRhdGVkU3RhdGUgfSkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0YXAoKCkgPT4gdGhpcy51cGRhdGVkU3ViaiQubmV4dCgpKSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCQucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmFjdGl2ZUN1cnJlbnRTdGF0ZSksXG4gICAgICBzaGFyZVJlcGxheSgpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U25hcHNob3QoKTogTGluZUl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2U/LmN1cnJlbnRTdGF0ZS5zbGljZSgpID8/IFtdO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8Q2hhcmdlPj4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQkLnBpcGUobWFwKCh7IGNoYXJnZXMgfSkgPT4gY2hhcmdlcykpO1xuICB9XG5cbiAgcHVibGljIGdldCBwcmljZVBsYW5zJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8Q29tcGlsZWRQcmljZVBsYW4+PiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCQucGlwZShtYXAoKHsgcHJpY2VQbGFucyB9KSA9PiBwcmljZVBsYW5zKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZU1ldHJpY3MkKCk6IE9ic2VydmFibGU8TWV0cmljUnVsZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCQucGlwZShtYXAoKHsgYWN0aXZlTWV0cmljcyB9KSA9PiBhY3RpdmVNZXRyaWNzKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXNTbmFwc2hvdCgpOiBEaWN0aW9uYXJ5PENoYXJnZT4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ/LmNoYXJnZXMgPz8ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByaWNlUGxhbnNTbmFwc2hvdCgpOiBEaWN0aW9uYXJ5PENvbXBpbGVkUHJpY2VQbGFuPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdD8ucHJpY2VQbGFucyA/PyB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlTWV0cmljc1NuYXBzaG90KCk6IE1ldHJpY1J1bGVbXSB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdD8uYWN0aXZlTWV0cmljcyA/PyBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dFNuYXBzaG90KCk6IENvbmZpZ3VyYXRpb25Db250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQkKCk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlJCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvckFuZEJvdW5jZUJhY2soKSB7XG4gICAgcmV0dXJuIDxUPihzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiA9PiB7XG4gICAgICByZXR1cm4gc291cmNlJC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICAgIC8vIGJvdW5jZSBiYWNrIGlmIGNvbmZpZ3VyYXRpb24gY2FsbCBoYXMgZmFpbGVkXG4gICAgICAgICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcbiAgICAgICAgICBpZiAocXVvdGVEcmFmdCkge1xuICAgICAgICAgICAgdGhpcy5xdW90ZURyYWZ0U2VydmljZS51cGRhdGVRdW90ZURyYWZ0KHF1b3RlRHJhZnQpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVkU3ViaiQubmV4dCgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
@@ -130,9 +130,9 @@ export class FlowUpdateService {
|
|
130
130
|
return true;
|
131
131
|
}
|
132
132
|
}
|
133
|
-
FlowUpdateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
134
|
-
FlowUpdateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
133
|
+
FlowUpdateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowUpdateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
134
|
+
FlowUpdateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowUpdateService });
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowUpdateService, decorators: [{
|
136
136
|
type: Injectable
|
137
137
|
}] });
|
138
138
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy11cGRhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvbW9kdWxlcy9mbG93LWNvbmZpZ3VyYXRpb24vc2VydmljZXMvZmxvdy11cGRhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBVSxnQkFBZ0IsRUFBWSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0MsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFJaEQsTUFBTSxPQUFPLGlCQUFpQjtJQUNyQixNQUFNLENBQUMsYUFBeUIsRUFBRSxPQUEyQixFQUFFLE9BQTRCO1FBQ2hHLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksWUFBWSxHQUFHLGFBQWEsQ0FBQztRQUVqQyxPQUFPLFlBQVksQ0FBQyxNQUFNLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFO1lBQ3JELFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU0sZ0JBQWdCLEdBQXVCLEVBQUUsQ0FBQztnQkFFaEQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNoQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBRXBCLFFBQVEsTUFBTSxDQUFDLFFBQVEsRUFBRTt3QkFDdkIsS0FBSyxVQUFVOzRCQUNiLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQzs0QkFDeEQsTUFBTTt3QkFDUixLQUFLLFFBQVE7NEJB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QixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFyZ2UsIENoYXJnZUdyb3VwVXRpbHMsIExpbmVJdGVtIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBmbGF0dGVuIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IExpbmVJdGVtV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRmxvd1VwZGF0ZVBhcmFtcyB9IGZyb20gJy4uL3R5cGVzL3VwZGF0ZS50eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbG93VXBkYXRlU2VydmljZSB7XG4gIHB1YmxpYyB1cGRhdGUocm9vdExpbmVJdGVtczogTGluZUl0ZW1bXSwgdXBkYXRlczogRmxvd1VwZGF0ZVBhcmFtc1tdLCBjaGFyZ2VzPzogRGljdGlvbmFyeTxDaGFyZ2U+KTogdm9pZCB7XG4gICAgbGV0IHJlbWFpbmluZ1VwZGF0ZXMgPSBbLi4udXBkYXRlc107XG4gICAgbGV0IGN1cnJlbnRMZXZlbCA9IHJvb3RMaW5lSXRlbXM7XG5cbiAgICB3aGlsZSAoY3VycmVudExldmVsLmxlbmd0aCAmJiByZW1haW5pbmdVcGRhdGVzLmxlbmd0aCkge1xuICAgICAgY3VycmVudExldmVsLmZvckVhY2gobGkgPT4ge1xuICAgICAgICBjb25zdCB1bmhhbmRsZWRVcGRhdGVzOiBGbG93VXBkYXRlUGFyYW1zW10gPSBbXTtcblxuICAgICAgICByZW1haW5pbmdVcGRhdGVzLmZvckVhY2godXBkYXRlID0+IHtcbiAgICAgICAgICBsZXQgdXBkYXRlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgc3dpdGNoICh1cGRhdGUuZGF0YVR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0xJTkVJVEVNJzpcbiAgICAgICAgICAgICAgdXBkYXRlZCA9IHRoaXMuYXBwbHlMaW5lSXRlbVVwZGF0ZShsaSwgdXBkYXRlLCBjaGFyZ2VzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdDSEFSR0UnOlxuICAgICAgICAgICAgICB1cGRhdGVkID0gdGhpcy5hcHBseUNoYXJnZVVwZGF0ZShsaSwgdXBkYXRlKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdHUk9VUF9DSEFSR0UnOlxuICAgICAgICAgICAgICB1cGRhdGVkID0gdGhpcy5hcHBseUNoYXJnZUdyb3VwVXBkYXRlKGxpLCB1cGRhdGUpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIC8vIFVua25vd24gZGF0YVR5cGUuIERvIG5vdCB0cnkgdG8gaGFuZGxlIGl0IGFueW1vcmVcbiAgICAgICAgICAgICAgdXBkYXRlZCA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCF1cGRhdGVkKSB7XG4gICAgICAgICAgICB1bmhhbmRsZWRVcGRhdGVzLnB1c2godXBkYXRlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJlbWFpbmluZ1VwZGF0ZXMgPSB1bmhhbmRsZWRVcGRhdGVzO1xuICAgICAgfSk7XG5cbiAgICAgIGN1cnJlbnRMZXZlbCA9IGZsYXR0ZW4oY3VycmVudExldmVsLm1hcChwYXJlbnQgPT4gcGFyZW50LmxpbmVJdGVtcykpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUobGluZUl0ZW1zOiBMaW5lSXRlbVtdLCBpZDogc3RyaW5nKTogTGluZUl0ZW1bXSB7XG4gICAgY29uc3QgaWRzVG9SZW1vdmU6IHN0cmluZ1tdID0gW2lkXTtcbiAgICBjb25zdCB0b3BMZXZlbExpbmVJdGVtID0gbGluZUl0ZW1zLmZpbmQobGkgPT4gbGkuaWQgPT09IGlkKTtcblxuICAgIGlmICh0b3BMZXZlbExpbmVJdGVtKSB7XG4gICAgICAvLyBmaW5kIHRlcm0tcmVsYXRlZCBsaW5lIGl0ZW1zICh3aGljaCBhcmUgb25seSB0b3AgbGV2ZWwpXG4gICAgICAvLyBleHBpcmVkIHRlcm0gbGluZSBpdGVtcyB3b24ndCBiZSBkZWxldGVkXG4gICAgICBsZXQgZm91bmRUZXJtTGluZUl0ZW06IExpbmVJdGVtIHwgdW5kZWZpbmVkID0gdG9wTGV2ZWxMaW5lSXRlbTtcblxuICAgICAgd2hpbGUgKGZvdW5kVGVybUxpbmVJdGVtKSB7XG4gICAgICAgIGZvdW5kVGVybUxpbmVJdGVtID0gbGluZUl0ZW1zLmZpbmQobGkgPT4gZm91bmRUZXJtTGluZUl0ZW0gJiYgbGkucmFtcEluc3RhbmNlSWQgPT09IGZvdW5kVGVybUxpbmVJdGVtLmlkKTtcbiAgICAgICAgaWYgKGZvdW5kVGVybUxpbmVJdGVtKSB7XG4gICAgICAgICAgaWRzVG9SZW1vdmUucHVzaChmb3VuZFRlcm1MaW5lSXRlbS5pZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXJlZCA9IGxpbmVJdGVtcy5maWx0ZXIobGluZUl0ZW0gPT4gIWlkc1RvUmVtb3ZlLmluY2x1ZGVzKGxpbmVJdGVtLmlkKSk7XG4gICAgcmV0dXJuIGZpbHRlcmVkLm1hcChsaW5lSXRlbSA9PiBuZXcgTGluZUl0ZW1Xb3JrZXIobGluZUl0ZW0pLnJlbW92ZShpZCkubGkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUxpbmVJdGVtVXBkYXRlKGxpbmVJdGVtOiBMaW5lSXRlbSwgdXBkYXRlOiBGbG93VXBkYXRlUGFyYW1zLCBjaGFyZ2VzPzogRGljdGlvbmFyeTxDaGFyZ2U+KTogYm9vbGVhbiB7XG4gICAgaWYgKGxpbmVJdGVtLmlkICE9PSB1cGRhdGUuaWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHVwZGF0ZS5hdHRyaWJ1dGVUeXBlKSB7XG4gICAgICBjYXNlICdRVFknOlxuICAgICAgICBsaW5lSXRlbS5xdHkgPSB1cGRhdGUubmV3VmFsdWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRUZGRUNUSVZFX1NUQVJUX0RBVEUnOlxuICAgICAgICBsaW5lSXRlbS5wcm9wZXJ0aWVzWydTdGFydERhdGUnXSA9IG1vbWVudCh1cGRhdGUubmV3VmFsdWUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VORF9EQVRFJzpcbiAgICAgICAgbGluZUl0ZW0ucHJvcGVydGllc1snRW5kRGF0ZSddID0gbW9tZW50KHVwZGF0ZS5uZXdWYWx1ZSkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUFJJQ0VfQURKVVNUTUVOVCc6XG4gICAgICAgIHtcbiAgICAgICAgICBjb25zdCBjaGFyZ2UgPSBsaW5lSXRlbS5jaGFyZ2VJdGVtcy5maW5kKGNoYXJnZSA9PiAoY2hhcmdlcyB8fCB7fSlbY2hhcmdlLmNoYXJnZUlkXT8ubWFpbik7XG4gICAgICAgICAgaWYgKGNoYXJnZSkge1xuICAgICAgICAgICAgY2hhcmdlLnByaWNlQWRqdXN0bWVudCA9IHVwZGF0ZS5uZXdWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdMSVNUX1BSSUNFX0FESlVTVE1FTlQnOlxuICAgICAgY2FzZSAnTUFSR0lOX0FESlVTVE1FTlQnOlxuICAgICAgICB7XG4gICAgICAgICAgY29uc3QgY2hhcmdlID0gbGluZUl0ZW0uY2hhcmdlSXRlbXMuZmluZChjaGFyZ2UgPT4gKGNoYXJnZXMgfHwge30pW2NoYXJnZS5jaGFyZ2VJZF0/Lm1haW4pO1xuICAgICAgICAgIGlmIChjaGFyZ2UpIHtcbiAgICAgICAgICAgIGNoYXJnZS5saXN0UHJpY2VBZGp1c3RtZW50ID0gdXBkYXRlLm5ld1ZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0NPU1RfQURKVVNUTUVOVCc6XG4gICAgICAgIHtcbiAgICAgICAgICBjb25zdCBjaGFyZ2UgPSBsaW5lSXRlbS5jaGFyZ2VJdGVtcy5maW5kKGNoYXJnZSA9PiAoY2hhcmdlcyB8fCB7fSlbY2hhcmdlLmNoYXJnZUlkXT8ubWFpbik7XG4gICAgICAgICAgaWYgKGNoYXJnZSkge1xuICAgICAgICAgICAgY2hhcmdlLmNvc3RBZGp1c3RtZW50ID0gdXBkYXRlLm5ld1ZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm90IHN1cHBvcmVkIEF0dHJpYnV0ZVR5cGUgZm9yIExpbmVJdGVtIHVwZGF0ZTogJHt1cGRhdGUuYXR0cmlidXRlVHlwZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlDaGFyZ2VVcGRhdGUobGluZUl0ZW06IExpbmVJdGVtLCB1cGRhdGU6IEZsb3dVcGRhdGVQYXJhbXMpOiBib29sZWFuIHtcbiAgICBjb25zdCBmb3VuZENoYXJnZSA9IGxpbmVJdGVtLmNoYXJnZUl0ZW1zLmZpbmQoKHsgaWQgfSkgPT4gaWQgPT09IHVwZGF0ZS5pZCk7XG4gICAgaWYgKCFmb3VuZENoYXJnZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGUuYXR0cmlidXRlVHlwZSA9PT0gJ1BSSUNFX0FESlVTVE1FTlQnKSB7XG4gICAgICBmb3VuZENoYXJnZS5wcmljZUFkanVzdG1lbnQgPSB1cGRhdGUubmV3VmFsdWU7XG4gICAgfSBlbHNlIGlmICh1cGRhdGUuYXR0cmlidXRlVHlwZSA9PT0gJ0xJU1RfUFJJQ0VfQURKVVNUTUVOVCcpIHtcbiAgICAgIGZvdW5kQ2hhcmdlLmxpc3RQcmljZUFkanVzdG1lbnQgPSB1cGRhdGUubmV3VmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm90IHN1cHBvcmVkIEF0dHJpYnV0ZVR5cGUgZm9yIENoYXJnZSBJdGVtIHVwZGF0ZTogJHt1cGRhdGUuYXR0cmlidXRlVHlwZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlDaGFyZ2VHcm91cFVwZGF0ZShsaW5lSXRlbTogTGluZUl0ZW0sIHVwZGF0ZTogRmxvd1VwZGF0ZVBhcmFtcyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvdW5kQ2hhcmdlR3JvdXAgPSBDaGFyZ2VHcm91cFV0aWxzLmZpbmRDaGFyZ2VHcm91cEJ5SWQodXBkYXRlLmlkLCBsaW5lSXRlbSk7XG4gICAgaWYgKCFmb3VuZENoYXJnZUdyb3VwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHVwZGF0ZS5hdHRyaWJ1dGVUeXBlID09PSAnUFJJQ0VfQURKVVNUTUVOVCcpIHtcbiAgICAgIGZvdW5kQ2hhcmdlR3JvdXAucHJpY2VBZGp1c3RtZW50ID0gdXBkYXRlLm5ld1ZhbHVlO1xuICAgIH0gZWxzZSBpZiAodXBkYXRlLmF0dHJpYnV0ZVR5cGUgPT09ICdMSVNUX1BSSUNFX0FESlVTVE1FTlQnKSB7XG4gICAgICBmb3VuZENoYXJnZUdyb3VwLmxpc3RQcmljZUFkanVzdG1lbnQgPSB1cGRhdGUubmV3VmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm90IHN1cHBvcmVkIEF0dHJpYnV0ZVR5cGUgZm9yIENoYXJnZSBHcm91cCBJdGVtIHVwZGF0ZTogJHt1cGRhdGUuYXR0cmlidXRlVHlwZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { inject, Pipe } from '@angular/core';
|
2
|
+
import { FORMATTING_SETTINGS_TOKEN } from '../types';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export class ActionCodePipe {
|
5
|
+
constructor() {
|
6
|
+
this.formattingSettings = inject(FORMATTING_SETTINGS_TOKEN, { optional: true })?.getFormattingSettings();
|
7
|
+
}
|
8
|
+
transform(actionCode) {
|
9
|
+
return this.formattingSettings?.actionCodeLabels[actionCode] ?? actionCode;
|
10
|
+
}
|
11
|
+
}
|
12
|
+
ActionCodePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActionCodePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
13
|
+
ActionCodePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ActionCodePipe, name: "vlActionCode" });
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ActionCodePipe, decorators: [{
|
15
|
+
type: Pipe,
|
16
|
+
args: [{
|
17
|
+
name: 'vlActionCode',
|
18
|
+
}]
|
19
|
+
}] });
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNvZGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvcGlwZXMvYWN0aW9uLWNvZGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUtyRCxNQUFNLE9BQU8sY0FBYztJQUgzQjtRQUlVLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLENBQUM7S0FLN0c7SUFIUSxTQUFTLENBQUMsVUFBa0I7UUFDakMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDO0lBQzdFLENBQUM7OzJHQUxVLGNBQWM7eUdBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUgxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxjQUFjO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRk9STUFUVElOR19TRVRUSU5HU19UT0tFTiB9IGZyb20gJy4uL3R5cGVzJztcblxuQFBpcGUoe1xuICBuYW1lOiAndmxBY3Rpb25Db2RlJyxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uQ29kZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBmb3JtYXR0aW5nU2V0dGluZ3MgPSBpbmplY3QoRk9STUFUVElOR19TRVRUSU5HU19UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KT8uZ2V0Rm9ybWF0dGluZ1NldHRpbmdzKCk7XG5cbiAgcHVibGljIHRyYW5zZm9ybShhY3Rpb25Db2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdHRpbmdTZXR0aW5ncz8uYWN0aW9uQ29kZUxhYmVsc1thY3Rpb25Db2RlXSA/PyBhY3Rpb25Db2RlO1xuICB9XG59XG4iXX0=
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { DATE_PIPE_DEFAULT_OPTIONS, formatDate } from '@angular/common';
|
2
2
|
import { LOCALE_ID, Pipe, inject } from '@angular/core';
|
3
|
-
import { DEFAULT_DATE_FORMAT } from '@veloceapps/core';
|
3
|
+
import { DEFAULT_DATE_FORMAT, DEFAULT_TIME_FORMAT } from '@veloceapps/core';
|
4
4
|
import { Subject } from 'rxjs';
|
5
5
|
import { FORMATTING_SETTINGS_TOKEN } from '../types';
|
6
6
|
import * as i0 from "@angular/core";
|
@@ -15,24 +15,30 @@ export class DatePipe {
|
|
15
15
|
this.destroy$.next();
|
16
16
|
this.destroy$.complete();
|
17
17
|
}
|
18
|
-
transform(date) {
|
18
|
+
transform(date, type = 'date') {
|
19
19
|
if (!date) {
|
20
20
|
return '';
|
21
21
|
}
|
22
|
+
const dateFormat = this.formattingSettings?.dateFormats.datePipeFormat || DEFAULT_DATE_FORMAT;
|
23
|
+
const formatMap = {
|
24
|
+
date: dateFormat,
|
25
|
+
time: DEFAULT_TIME_FORMAT,
|
26
|
+
datetime: `${dateFormat} ${DEFAULT_TIME_FORMAT}`,
|
27
|
+
};
|
22
28
|
try {
|
23
|
-
return formatDate(date,
|
29
|
+
return formatDate(date, formatMap[type], this.locale, this.defaultOptions?.timezone);
|
24
30
|
}
|
25
31
|
catch (error) {
|
26
32
|
return new Date(date).toString();
|
27
33
|
}
|
28
34
|
}
|
29
35
|
}
|
30
|
-
DatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
31
|
-
DatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
36
|
+
DatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
37
|
+
DatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DatePipe, name: "vlDate" });
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatePipe, decorators: [{
|
33
39
|
type: Pipe,
|
34
40
|
args: [{
|
35
41
|
name: 'vlDate',
|
36
42
|
}]
|
37
43
|
}] });
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9waXBlcy9kYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQWEsSUFBSSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQVkseUJBQXlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBSy9ELE1BQU0sT0FBTyxRQUFRO0lBSHJCO1FBSVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLENBQUM7UUFDcEcsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0EwQnhDO0lBeEJRLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBK0MsRUFBRSxPQUFpQixNQUFNO1FBQ3ZGLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxjQUFjLElBQUksbUJBQW1CLENBQUM7UUFFOUYsTUFBTSxTQUFTLEdBQWtDO1lBQy9DLElBQUksRUFBRSxVQUFVO1lBQ2hCLElBQUksRUFBRSxtQkFBbUI7WUFDekIsUUFBUSxFQUFFLEdBQUcsVUFBVSxJQUFJLG1CQUFtQixFQUFFO1NBQ2pELENBQUM7UUFFRixJQUFJO1lBQ0YsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDdEY7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbEM7SUFDSCxDQUFDOztxR0E3QlUsUUFBUTttR0FBUixRQUFROzJGQUFSLFFBQVE7a0JBSHBCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEQVRFX1BJUEVfREVGQVVMVF9PUFRJT05TLCBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IExPQ0FMRV9JRCwgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERFRkFVTFRfREFURV9GT1JNQVQsIERFRkFVTFRfVElNRV9GT1JNQVQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdGVUeXBlLCBGT1JNQVRUSU5HX1NFVFRJTkdTX1RPS0VOIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd2bERhdGUnLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgbG9jYWxlID0gaW5qZWN0KExPQ0FMRV9JRCk7XG4gIHByaXZhdGUgZGVmYXVsdE9wdGlvbnMgPSBpbmplY3QoREFURV9QSVBFX0RFRkFVTFRfT1BUSU9OUywgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBmb3JtYXR0aW5nU2V0dGluZ3MgPSBpbmplY3QoRk9STUFUVElOR19TRVRUSU5HU19UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KT8uZ2V0Rm9ybWF0dGluZ1NldHRpbmdzKCk7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmb3JtKGRhdGU6IHN0cmluZyB8IG51bWJlciB8IERhdGUgfCB1bmRlZmluZWQgfCBudWxsLCB0eXBlOiBEYXRlVHlwZSA9ICdkYXRlJyk6IHN0cmluZyB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IHRoaXMuZm9ybWF0dGluZ1NldHRpbmdzPy5kYXRlRm9ybWF0cy5kYXRlUGlwZUZvcm1hdCB8fCBERUZBVUxUX0RBVEVfRk9STUFUO1xuXG4gICAgY29uc3QgZm9ybWF0TWFwOiB7IFtrZXkgaW4gRGF0ZVR5cGVdOiBzdHJpbmcgfSA9IHtcbiAgICAgIGRhdGU6IGRhdGVGb3JtYXQsXG4gICAgICB0aW1lOiBERUZBVUxUX1RJTUVfRk9STUFULFxuICAgICAgZGF0ZXRpbWU6IGAke2RhdGVGb3JtYXR9ICR7REVGQVVMVF9USU1FX0ZPUk1BVH1gLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZvcm1hdERhdGUoZGF0ZSwgZm9ybWF0TWFwW3R5cGVdLCB0aGlzLmxvY2FsZSwgdGhpcy5kZWZhdWx0T3B0aW9ucz8udGltZXpvbmUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSkudG9TdHJpbmcoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
@@ -2,4 +2,5 @@ export * from './date.pipe';
|
|
2
2
|
export * from './number.pipe';
|
3
3
|
export * from './pipes.module';
|
4
4
|
export * from './price.pipe';
|
5
|
-
|
5
|
+
export * from './action-code.pipe';
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmljZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLWNvZGUucGlwZSc7XG4iXX0=
|
@@ -16,9 +16,9 @@ export class NumberPipe {
|
|
16
16
|
return formatNumber(price, this.formattingSettings?.thousandsSeparator, this.formattingSettings?.decimalSeparator, this.formattingSettings?.decimalsCount);
|
17
17
|
}
|
18
18
|
}
|
19
|
-
NumberPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
20
|
-
NumberPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
19
|
+
NumberPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
20
|
+
NumberPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NumberPipe, name: "vlNumber" });
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumberPipe, decorators: [{
|
22
22
|
type: Pipe,
|
23
23
|
args: [{
|
24
24
|
name: 'vlNumber',
|
@@ -2,17 +2,18 @@ import { NgModule } from '@angular/core';
|
|
2
2
|
import { DatePipe } from './date.pipe';
|
3
3
|
import { NumberPipe } from './number.pipe';
|
4
4
|
import { PricePipe } from './price.pipe';
|
5
|
+
import { ActionCodePipe } from './action-code.pipe';
|
5
6
|
import * as i0 from "@angular/core";
|
6
7
|
export class SdkPipesModule {
|
7
8
|
}
|
8
|
-
SdkPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
9
|
-
SdkPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
10
|
-
SdkPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
9
|
+
SdkPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SdkPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
10
|
+
SdkPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SdkPipesModule, declarations: [NumberPipe, PricePipe, DatePipe, ActionCodePipe], exports: [NumberPipe, PricePipe, DatePipe, ActionCodePipe] });
|
11
|
+
SdkPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SdkPipesModule });
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SdkPipesModule, decorators: [{
|
12
13
|
type: NgModule,
|
13
14
|
args: [{
|
14
|
-
declarations: [NumberPipe, PricePipe, DatePipe],
|
15
|
-
exports: [NumberPipe, PricePipe, DatePipe],
|
15
|
+
declarations: [NumberPipe, PricePipe, DatePipe, ActionCodePipe],
|
16
|
+
exports: [NumberPipe, PricePipe, DatePipe, ActionCodePipe],
|
16
17
|
}]
|
17
18
|
}] });
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9waXBlcy9waXBlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTXBELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBSFYsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsY0FBYyxhQUNwRCxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxjQUFjOzRHQUU5QyxjQUFjOzJGQUFkLGNBQWM7a0JBSjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDO29CQUMvRCxPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUM7aUJBQzNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnLi9kYXRlLnBpcGUnO1xuaW1wb3J0IHsgTnVtYmVyUGlwZSB9IGZyb20gJy4vbnVtYmVyLnBpcGUnO1xuaW1wb3J0IHsgUHJpY2VQaXBlIH0gZnJvbSAnLi9wcmljZS5waXBlJztcbmltcG9ydCB7IEFjdGlvbkNvZGVQaXBlIH0gZnJvbSAnLi9hY3Rpb24tY29kZS5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTnVtYmVyUGlwZSwgUHJpY2VQaXBlLCBEYXRlUGlwZSwgQWN0aW9uQ29kZVBpcGVdLFxuICBleHBvcnRzOiBbTnVtYmVyUGlwZSwgUHJpY2VQaXBlLCBEYXRlUGlwZSwgQWN0aW9uQ29kZVBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTZGtQaXBlc01vZHVsZSB7fVxuIl19
|
@@ -19,9 +19,9 @@ export class PricePipe {
|
|
19
19
|
return `${this.formattingSettings?.currencySymbol || DEFAULT_CURRENCY_SYMBOL}${formatNumber(price, this.formattingSettings?.thousandsSeparator, this.formattingSettings?.decimalSeparator, this.formattingSettings?.decimalsCount)}`;
|
20
20
|
}
|
21
21
|
}
|
22
|
-
PricePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
23
|
-
PricePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
22
|
+
PricePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
23
|
+
PricePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: PricePipe, name: "vlPrice" });
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PricePipe, decorators: [{
|
25
25
|
type: Pipe,
|
26
26
|
args: [{
|
27
27
|
name: 'vlPrice',
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
2
|
import { ContextApiService } from '@veloceapps/api';
|
3
|
-
import { ConfigurationContext } from '@veloceapps/core';
|
3
|
+
import { ConfigurationContext, ConfigurationContextMode } from '@veloceapps/core';
|
4
4
|
import { merge } from 'lodash';
|
5
5
|
import { BehaviorSubject } from 'rxjs';
|
6
6
|
import { filter, map, tap } from 'rxjs/operators';
|
@@ -14,9 +14,25 @@ export class ContextService {
|
|
14
14
|
get isInitialized() {
|
15
15
|
return Boolean(this.context.value);
|
16
16
|
}
|
17
|
+
get isInitialized$() {
|
18
|
+
return this.context.pipe(map(Boolean));
|
19
|
+
}
|
17
20
|
get mode() {
|
18
21
|
return this.resolve().properties.mode;
|
19
22
|
}
|
23
|
+
get isEditMode$() {
|
24
|
+
return this.resolve$().pipe(map(() => this.isEditMode));
|
25
|
+
}
|
26
|
+
get isEditMode() {
|
27
|
+
const context = this.resolve();
|
28
|
+
if (context.mode === ConfigurationContextMode.ACCOUNT) {
|
29
|
+
return true;
|
30
|
+
}
|
31
|
+
if (context.mode === ConfigurationContextMode.QUOTE) {
|
32
|
+
return context.properties.Status === 'Draft';
|
33
|
+
}
|
34
|
+
return false;
|
35
|
+
}
|
20
36
|
resolve() {
|
21
37
|
if (!this.context.value) {
|
22
38
|
throw new Error('Context is not initialized yet!');
|
@@ -29,6 +45,18 @@ export class ContextService {
|
|
29
45
|
create(headerId, mode) {
|
30
46
|
return this.contextApiService.getContext(headerId, mode).pipe(tap(context => this.context.next(merge(new ConfigurationContext(headerId, mode), context))), map(() => this.resolve()));
|
31
47
|
}
|
48
|
+
initTestMode() {
|
49
|
+
return this.create('TestId', ConfigurationContextMode.TEST).pipe(map(context => {
|
50
|
+
return this.update({
|
51
|
+
properties: {
|
52
|
+
...context.properties,
|
53
|
+
RuntimeMode: ConfigurationContextMode.TEST,
|
54
|
+
StartDate: new Date().toISOString().substring(0, 10),
|
55
|
+
standalone: 'true',
|
56
|
+
},
|
57
|
+
});
|
58
|
+
}));
|
59
|
+
}
|
32
60
|
update(partialContext) {
|
33
61
|
const originalContext = this.resolve();
|
34
62
|
const updatedContext = {
|
@@ -55,10 +83,9 @@ export class ContextService {
|
|
55
83
|
this.context.next(null);
|
56
84
|
}
|
57
85
|
}
|
58
|
-
ContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
59
|
-
ContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
61
|
-
type: Injectable
|
62
|
-
args: [{ providedIn: 'root' }]
|
86
|
+
ContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ContextService, deps: [{ token: i1.ContextApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
87
|
+
ContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ContextService });
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ContextService, decorators: [{
|
89
|
+
type: Injectable
|
63
90
|
}], ctorParameters: function () { return [{ type: i1.ContextApiService }]; } });
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUdsRCxNQUFNLE9BQU8sY0FBYztJQUd6QixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUZoRCxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQThCLElBQUksQ0FBQyxDQUFDO0lBRWQsQ0FBQztJQUU1RCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRS9CLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUU7WUFDckQsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUU7WUFDbkQsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUM7U0FDOUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztTQUNwRDtRQUVELE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBK0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFnQixFQUFFLElBQThCO1FBQzVELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUMzRCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUMzRixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBMEIsQ0FBQyxDQUNsRCxDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQzlELEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDakIsVUFBVSxFQUFFO29CQUNWLEdBQUcsT0FBTyxDQUFDLFVBQVU7b0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxJQUFJO29CQUMxQyxTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDcEQsVUFBVSxFQUFFLE1BQU07aUJBQ25CO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBNkM7UUFDekQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXZDLE1BQU0sY0FBYyxHQUF5QjtZQUMzQyxHQUFHLGVBQWU7WUFDbEIsR0FBSSxjQUF1QztZQUMzQyxVQUFVLEVBQUU7Z0JBQ1YsR0FBRyxlQUFlLENBQUMsVUFBVTtnQkFDN0IsR0FBRyxjQUFjLENBQUMsVUFBVTthQUM3QjtTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVsQyxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRU0sR0FBRyxDQUFDLE9BQTZCO1FBQ3RDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV2QyxNQUFNLGNBQWMsR0FBeUI7WUFDM0MsR0FBRyxlQUFlO1lBQ2xCLEdBQUcsT0FBTztTQUNYLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVsQyxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7OzJHQXJHVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRleHRBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Db250ZXh0LCBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbnRleHRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb250ZXh0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDb25maWd1cmF0aW9uQ29udGV4dCB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udGV4dEFwaVNlcnZpY2U6IENvbnRleHRBcGlTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBnZXQgaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmNvbnRleHQudmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnBpcGUobWFwKEJvb2xlYW4pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kZSgpOiBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmUoKS5wcm9wZXJ0aWVzLm1vZGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRWRpdE1vZGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmUkKCkucGlwZShtYXAoKCkgPT4gdGhpcy5pc0VkaXRNb2RlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRWRpdE1vZGUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMucmVzb2x2ZSgpO1xuXG4gICAgaWYgKGNvbnRleHQubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjb250ZXh0Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5RVU9URSkge1xuICAgICAgcmV0dXJuIGNvbnRleHQucHJvcGVydGllcy5TdGF0dXMgPT09ICdEcmFmdCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUoKTogQ29uZmlndXJhdGlvbkNvbnRleHQge1xuICAgIGlmICghdGhpcy5jb250ZXh0LnZhbHVlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbnRleHQgaXMgbm90IGluaXRpYWxpemVkIHlldCEnKTtcbiAgICB9XG5cbiAgICByZXR1cm4geyAuLi50aGlzLmNvbnRleHQudmFsdWUgfTtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlJCgpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5waXBlKGZpbHRlcigoY3R4KTogY3R4IGlzIENvbmZpZ3VyYXRpb25Db250ZXh0ID0+IEJvb2xlYW4oY3R4KSkpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZShoZWFkZXJJZDogc3RyaW5nLCBtb2RlOiBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dEFwaVNlcnZpY2UuZ2V0Q29udGV4dChoZWFkZXJJZCwgbW9kZSkucGlwZShcbiAgICAgIHRhcChjb250ZXh0ID0+IHRoaXMuY29udGV4dC5uZXh0KG1lcmdlKG5ldyBDb25maWd1cmF0aW9uQ29udGV4dChoZWFkZXJJZCwgbW9kZSksIGNvbnRleHQpKSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5yZXNvbHZlKCkgYXMgQ29uZmlndXJhdGlvbkNvbnRleHQpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaW5pdFRlc3RNb2RlKCk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoJ1Rlc3RJZCcsIENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5URVNUKS5waXBlKFxuICAgICAgbWFwKGNvbnRleHQgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGUoe1xuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIC4uLmNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgICAgIFJ1bnRpbWVNb2RlOiBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuVEVTVCxcbiAgICAgICAgICAgIFN0YXJ0RGF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnN1YnN0cmluZygwLCAxMCksXG4gICAgICAgICAgICBzdGFuZGFsb25lOiAndHJ1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZShwYXJ0aWFsQ29udGV4dDogUGFydGlhbDxDb25maWd1cmF0aW9uQ29udGV4dD4pOiBDb25maWd1cmF0aW9uQ29udGV4dCB7XG4gICAgY29uc3Qgb3JpZ2luYWxDb250ZXh0ID0gdGhpcy5yZXNvbHZlKCk7XG5cbiAgICBjb25zdCB1cGRhdGVkQ29udGV4dDogQ29uZmlndXJhdGlvbkNvbnRleHQgPSB7XG4gICAgICAuLi5vcmlnaW5hbENvbnRleHQsXG4gICAgICAuLi4ocGFydGlhbENvbnRleHQgYXMgQ29uZmlndXJhdGlvbkNvbnRleHQpLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAuLi5vcmlnaW5hbENvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgLi4ucGFydGlhbENvbnRleHQucHJvcGVydGllcyxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHRoaXMuY29udGV4dC5uZXh0KHVwZGF0ZWRDb250ZXh0KTtcblxuICAgIHJldHVybiB1cGRhdGVkQ29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQoY29udGV4dDogQ29uZmlndXJhdGlvbkNvbnRleHQpOiBDb25maWd1cmF0aW9uQ29udGV4dCB7XG4gICAgY29uc3Qgb3JpZ2luYWxDb250ZXh0ID0gdGhpcy5yZXNvbHZlKCk7XG5cbiAgICBjb25zdCB1cGRhdGVkQ29udGV4dDogQ29uZmlndXJhdGlvbkNvbnRleHQgPSB7XG4gICAgICAuLi5vcmlnaW5hbENvbnRleHQsXG4gICAgICAuLi5jb250ZXh0LFxuICAgIH07XG5cbiAgICB0aGlzLmNvbnRleHQubmV4dCh1cGRhdGVkQ29udGV4dCk7XG5cbiAgICByZXR1cm4gdXBkYXRlZENvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC5uZXh0KG51bGwpO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,99 @@
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
2
|
+
import { FlowsApiService, UITemplatesApiService } from '@veloceapps/api';
|
3
|
+
import { UITemplateType } from '@veloceapps/core';
|
4
|
+
import { isEmpty } from 'lodash';
|
5
|
+
import { BehaviorSubject, catchError, forkJoin, map, noop, of, switchMap, tap, throwError } from 'rxjs';
|
6
|
+
import { FLOW_CUSTOMIZATION } from '../types';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@veloceapps/api";
|
9
|
+
export class FlowInfoService {
|
10
|
+
get flow() {
|
11
|
+
return this.flowSubj$.value;
|
12
|
+
}
|
13
|
+
set flow(value) {
|
14
|
+
this.flowSubj$.next(value);
|
15
|
+
}
|
16
|
+
get isLegacy() {
|
17
|
+
return !!this.flow && this.flow?.properties.stateful == null;
|
18
|
+
}
|
19
|
+
get isStateful() {
|
20
|
+
return !!this.flow?.properties.stateful;
|
21
|
+
}
|
22
|
+
constructor(flowsApiService, templatesApiService, customizationService) {
|
23
|
+
this.flowsApiService = flowsApiService;
|
24
|
+
this.templatesApiService = templatesApiService;
|
25
|
+
this.customizationService = customizationService;
|
26
|
+
this.templates = {};
|
27
|
+
this.defaultTemplates = {
|
28
|
+
flowEngine: 'Flow Engine',
|
29
|
+
};
|
30
|
+
this.flowSubj$ = new BehaviorSubject(null);
|
31
|
+
this.flow$ = this.flowSubj$.asObservable();
|
32
|
+
}
|
33
|
+
init$(flowId, params) {
|
34
|
+
this.params = params;
|
35
|
+
return this.flowsApiService.getFlow(flowId).pipe(switchMap(flow => this.initFlowTemplates$(flow).pipe(map(() => flow))), tap(flow => this.flowSubj$.next(flow)), map(noop), catchError(e => {
|
36
|
+
this.flowSubj$.next(null);
|
37
|
+
return throwError(() => e);
|
38
|
+
}));
|
39
|
+
}
|
40
|
+
cleanup() {
|
41
|
+
this.flowSubj$.next(null);
|
42
|
+
this.params = undefined;
|
43
|
+
this.templates = {};
|
44
|
+
}
|
45
|
+
initFlowTemplates$(flow) {
|
46
|
+
if (isEmpty(flow.properties.templates)) {
|
47
|
+
return of(undefined);
|
48
|
+
}
|
49
|
+
return forkJoin([
|
50
|
+
this.templatesApiService.fetchTemplates$(),
|
51
|
+
this.customizationService?.getTemplates?.() ?? of([]),
|
52
|
+
]).pipe(map(([templates, localTemplates]) => {
|
53
|
+
Object.entries({ ...this.defaultTemplates, ...flow.properties.templates }).forEach(([key, name]) => {
|
54
|
+
const type = this.remapTemplateName(key);
|
55
|
+
if (type) {
|
56
|
+
this.templates[type] =
|
57
|
+
localTemplates.find(template => template.name === name && template.type === type) ??
|
58
|
+
templates.find(template => template.name === name && template.type === type);
|
59
|
+
}
|
60
|
+
});
|
61
|
+
}));
|
62
|
+
}
|
63
|
+
remapTemplateName(templateType) {
|
64
|
+
switch (templateType) {
|
65
|
+
case 'flowEngine':
|
66
|
+
return UITemplateType.FLOW_ENGINE;
|
67
|
+
default:
|
68
|
+
break;
|
69
|
+
}
|
70
|
+
switch (templateType) {
|
71
|
+
case 'assets':
|
72
|
+
case 'shoppingCart':
|
73
|
+
// No separate Assets template at the moment
|
74
|
+
return UITemplateType.SHOPPING_CART;
|
75
|
+
case 'catalog':
|
76
|
+
return UITemplateType.CATALOG;
|
77
|
+
case 'docGen':
|
78
|
+
return UITemplateType.DOCGEN;
|
79
|
+
case 'guidedSelling':
|
80
|
+
return UITemplateType.GUIDED_SELLING;
|
81
|
+
case 'flowHeader':
|
82
|
+
return UITemplateType.FLOW_HEADER;
|
83
|
+
default:
|
84
|
+
break;
|
85
|
+
}
|
86
|
+
return undefined;
|
87
|
+
}
|
88
|
+
}
|
89
|
+
FlowInfoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowInfoService, deps: [{ token: i1.FlowsApiService }, { token: i1.UITemplatesApiService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
90
|
+
FlowInfoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowInfoService });
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowInfoService, decorators: [{
|
92
|
+
type: Injectable
|
93
|
+
}], ctorParameters: function () { return [{ type: i1.FlowsApiService }, { type: i1.UITemplatesApiService }, { type: undefined, decorators: [{
|
94
|
+
type: Optional
|
95
|
+
}, {
|
96
|
+
type: Inject,
|
97
|
+
args: [FLOW_CUSTOMIZATION]
|
98
|
+
}] }]; } });
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1pbmZvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3NlcnZpY2VzL2Zsb3ctaW5mby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFzQyxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwSCxPQUFPLEVBQXFCLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFHakUsTUFBTSxPQUFPLGVBQWU7SUFLMUIsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsS0FBa0I7UUFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDMUMs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SUFBSSxDQUFDLENBQUM7aUJBQ2hGO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUFDLFlBQW9CO1FBQzVDLFFBQVEsWUFBa0QsRUFBRTtZQUMxRCxLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQ3BDO2dCQUNFLE1BQU07U0FDVDtRQUVELFFBQVEsWUFBc0MsRUFBRTtZQUM5QyxLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssY0FBYztnQkFDakIsNENBQTRDO2dCQUM1QyxPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUM7WUFDdEMsS0FBSyxTQUFTO2dCQUNaLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQztZQUNoQyxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO1lBQy9CLEtBQUssZUFBZTtnQkFDbEIsT0FBTyxjQUFjLENBQUMsY0FBYyxDQUFDO1lBQ3ZDLEtBQUssWUFBWTtnQkFDZixPQUFPLGNBQWMsQ0FBQyxXQUFXLENBQUM7WUFDcEM7Z0JBQ0UsTUFBTTtTQUNUO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7NEdBckdVLGVBQWUsc0ZBNEJKLGtCQUFrQjtnSEE1QjdCLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBNkJOLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZsb3dzQXBpU2VydmljZSwgVUlUZW1wbGF0ZXNBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IEZsb3csIEZsb3dUZW1wbGF0ZXNNYXAsIFVJVGVtcGxhdGUsIFVJVGVtcGxhdGVUeXBlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY2F0Y2hFcnJvciwgZm9ya0pvaW4sIG1hcCwgbm9vcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCwgdGFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGbG93Q3VzdG9taXphdGlvbiwgRkxPV19DVVNUT01JWkFUSU9OIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmxvd0luZm9TZXJ2aWNlIHtcbiAgcHVibGljIGZsb3ckOiBPYnNlcnZhYmxlPEZsb3cgfCBudWxsPjtcbiAgcHVibGljIHBhcmFtcz86IFBhcmFtcztcbiAgcHVibGljIHRlbXBsYXRlczogeyBba2V5IGluIFVJVGVtcGxhdGVUeXBlXT86IFVJVGVtcGxhdGUgfSA9IHt9O1xuXG4gIHB1YmxpYyBnZXQgZmxvdygpOiBGbG93IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd1N1YmokLnZhbHVlO1xuICB9XG4gIHB1YmxpYyBzZXQgZmxvdyh2YWx1ZTogRmxvdyB8IG51bGwpIHtcbiAgICB0aGlzLmZsb3dTdWJqJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNMZWdhY3koKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5mbG93ICYmIHRoaXMuZmxvdz8ucHJvcGVydGllcy5zdGF0ZWZ1bCA9PSBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1N0YXRlZnVsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZmxvdz8ucHJvcGVydGllcy5zdGF0ZWZ1bDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdFRlbXBsYXRlcyA9IHtcbiAgICBmbG93RW5naW5lOiAnRmxvdyBFbmdpbmUnLFxuICB9O1xuICBwcml2YXRlIGZsb3dTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmxvdyB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmxvd3NBcGlTZXJ2aWNlOiBGbG93c0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZXNBcGlTZXJ2aWNlOiBVSVRlbXBsYXRlc0FwaVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGTE9XX0NVU1RPTUlaQVRJT04pIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U/OiBGbG93Q3VzdG9taXphdGlvbixcbiAgKSB7XG4gICAgdGhpcy5mbG93JCA9IHRoaXMuZmxvd1N1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXQkKGZsb3dJZDogc3RyaW5nLCBwYXJhbXM6IFBhcmFtcyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgIHJldHVybiB0aGlzLmZsb3dzQXBpU2VydmljZS5nZXRGbG93KGZsb3dJZCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChmbG93ID0+IHRoaXMuaW5pdEZsb3dUZW1wbGF0ZXMkKGZsb3cpLnBpcGUobWFwKCgpID0+IGZsb3cpKSksXG4gICAgICB0YXAoZmxvdyA9PiB0aGlzLmZsb3dTdWJqJC5uZXh0KGZsb3cpKSxcbiAgICAgIG1hcChub29wKSxcbiAgICAgIGNhdGNoRXJyb3IoZSA9PiB7XG4gICAgICAgIHRoaXMuZmxvd1N1YmokLm5leHQobnVsbCk7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhbnVwKCk6IHZvaWQge1xuICAgIHRoaXMuZmxvd1N1YmokLm5leHQobnVsbCk7XG4gICAgdGhpcy5wYXJhbXMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy50ZW1wbGF0ZXMgPSB7fTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZsb3dUZW1wbGF0ZXMkKGZsb3c6IEZsb3cpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBpZiAoaXNFbXB0eShmbG93LnByb3BlcnRpZXMudGVtcGxhdGVzKSkge1xuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcmtKb2luKFtcbiAgICAgIHRoaXMudGVtcGxhdGVzQXBpU2VydmljZS5mZXRjaFRlbXBsYXRlcyQoKSxcbiAgICAgIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2U/LmdldFRlbXBsYXRlcz8uKCkgPz8gb2YoW10pLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFt0ZW1wbGF0ZXMsIGxvY2FsVGVtcGxhdGVzXSkgPT4ge1xuICAgICAgICBPYmplY3QuZW50cmllcyh7IC4uLnRoaXMuZGVmYXVsdFRlbXBsYXRlcywgLi4uZmxvdy5wcm9wZXJ0aWVzLnRlbXBsYXRlcyB9KS5mb3JFYWNoKChba2V5LCBuYW1lXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLnJlbWFwVGVtcGxhdGVOYW1lKGtleSk7XG5cbiAgICAgICAgICBpZiAodHlwZSkge1xuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZXNbdHlwZV0gPVxuICAgICAgICAgICAgICBsb2NhbFRlbXBsYXRlcy5maW5kKHRlbXBsYXRlID0+IHRlbXBsYXRlLm5hbWUgPT09IG5hbWUgJiYgdGVtcGxhdGUudHlwZSA9PT0gdHlwZSkgPz9cbiAgICAgICAgICAgICAgdGVtcGxhdGVzLmZpbmQodGVtcGxhdGUgPT4gdGVtcGxhdGUubmFtZSA9PT0gbmFtZSAmJiB0ZW1wbGF0ZS50eXBlID09PSB0eXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtYXBUZW1wbGF0ZU5hbWUodGVtcGxhdGVUeXBlOiBzdHJpbmcpOiBVSVRlbXBsYXRlVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoICh0ZW1wbGF0ZVR5cGUgYXMga2V5b2YgdHlwZW9mIHRoaXMuZGVmYXVsdFRlbXBsYXRlcykge1xuICAgICAgY2FzZSAnZmxvd0VuZ2luZSc6XG4gICAgICAgIHJldHVybiBVSVRlbXBsYXRlVHlwZS5GTE9XX0VOR0lORTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHN3aXRjaCAodGVtcGxhdGVUeXBlIGFzIGtleW9mIEZsb3dUZW1wbGF0ZXNNYXApIHtcbiAgICAgIGNhc2UgJ2Fzc2V0cyc6XG4gICAgICBjYXNlICdzaG9wcGluZ0NhcnQnOlxuICAgICAgICAvLyBObyBzZXBhcmF0ZSBBc3NldHMgdGVtcGxhdGUgYXQgdGhlIG1vbWVudFxuICAgICAgICByZXR1cm4gVUlUZW1wbGF0ZVR5cGUuU0hPUFBJTkdfQ0FSVDtcbiAgICAgIGNhc2UgJ2NhdGFsb2cnOlxuICAgICAgICByZXR1cm4gVUlUZW1wbGF0ZVR5cGUuQ0FUQUxPRztcbiAgICAgIGNhc2UgJ2RvY0dlbic6XG4gICAgICAgIHJldHVybiBVSVRlbXBsYXRlVHlwZS5ET0NHRU47XG4gICAgICBjYXNlICdndWlkZWRTZWxsaW5nJzpcbiAgICAgICAgcmV0dXJuIFVJVGVtcGxhdGVUeXBlLkdVSURFRF9TRUxMSU5HO1xuICAgICAgY2FzZSAnZmxvd0hlYWRlcic6XG4gICAgICAgIHJldHVybiBVSVRlbXBsYXRlVHlwZS5GTE9XX0hFQURFUjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|