@veloceapps/sdk 12.0.0-18 → 12.0.0-19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cms/cms.actions.d.ts +154 -0
- package/cms/cms.default.d.ts +5 -0
- package/cms/cms.elements.d.ts +4 -0
- package/cms/cms.layouts.d.ts +4 -0
- package/cms/components/element-children/element-children.component.d.ts +22 -0
- package/cms/components/element-children/element-children.module.d.ts +11 -0
- package/cms/components/element-drop-handle/element-drop-handle.component.d.ts +12 -0
- package/cms/components/element-drop-handle/element-drop-handle.module.d.ts +9 -0
- package/cms/components/element-renderer/element-renderer.component.d.ts +29 -0
- package/cms/components/element-renderer/element-renderer.module.d.ts +7 -0
- package/cms/components/element-tools-panel/element-tools-panel.component.d.ts +14 -0
- package/cms/components/element.component.d.ts +17 -0
- package/cms/components/index.d.ts +1 -0
- package/cms/components/plugin.component.d.ts +15 -0
- package/cms/components/preview/index.d.ts +3 -0
- package/cms/components/preview/preview.component.d.ts +32 -0
- package/cms/components/preview/preview.module.d.ts +13 -0
- package/cms/components/preview/preview.types.d.ts +20 -0
- package/cms/decorators/element.decorator.d.ts +2 -0
- package/cms/decorators/index.d.ts +1 -0
- package/cms/definitions/index.d.ts +1 -0
- package/cms/definitions/ui-builder.definitions.d.ts +6 -0
- package/cms/directives/custom-template.directive.d.ts +17 -0
- package/cms/engine/models/entity.d.ts +11 -0
- package/cms/engine/models/plugin.d.ts +5 -0
- package/cms/index.d.ts +15 -921
- package/cms/injection-tokens.d.ts +9 -0
- package/cms/launcher.module.d.ts +12 -0
- package/cms/modules/federated/default-options.d.ts +4 -0
- package/cms/modules/federated/export.d.ts +1 -0
- package/cms/modules/federated/federated-host.directive.d.ts +8 -0
- package/cms/modules/federated/federated.component.d.ts +25 -0
- package/cms/modules/federated/federated.module.d.ts +10 -0
- package/cms/modules/federated/federated.types.d.ts +26 -0
- package/cms/modules/migrations/index.d.ts +2 -0
- package/cms/modules/migrations/migrations.d.ts +2 -0
- package/cms/modules/migrations/migrations.module.d.ts +6 -0
- package/cms/modules/migrations/services/migrations.service.d.ts +10 -0
- package/cms/modules/migrations/types/migrations.types.d.ts +2 -0
- package/cms/modules/runtime/index.d.ts +3 -0
- package/cms/modules/runtime/runtime.module.d.ts +8 -0
- package/cms/modules/runtime/services/compilation.service.d.ts +19 -0
- package/cms/modules/runtime/services/runtime-editor.service.d.ts +20 -0
- package/cms/modules/runtime/services/runtime.service.d.ts +33 -0
- package/cms/modules/runtime/tokens.d.ts +3 -0
- package/cms/modules/runtime/types/compilation.types.d.ts +8 -0
- package/cms/modules/runtime/types/runtime.actions.d.ts +12 -0
- package/cms/plugins/element-hover.plugin.d.ts +33 -0
- package/cms/plugins/io.plugin.d.ts +9 -0
- package/cms/plugins/page.plugin.d.ts +15 -0
- package/cms/plugins/region.plugin.d.ts +17 -0
- package/cms/plugins/script.plugin.d.ts +10 -0
- package/cms/services/element-context.service.d.ts +7 -0
- package/cms/services/index.d.ts +2 -0
- package/cms/services/io-provider.service.d.ts +15 -0
- package/cms/services/resources.service.d.ts +21 -0
- package/cms/services/templates.service.d.ts +14 -0
- package/cms/types/common.types.d.ts +130 -0
- package/cms/types/elements.types.d.ts +2 -0
- package/cms/types/index.d.ts +6 -0
- package/cms/types/layouts.types.d.ts +102 -0
- package/cms/types/pages.types.d.ts +1 -0
- package/cms/types/path.types.d.ts +11 -0
- package/cms/utils/element-metadata-worker.d.ts +11 -0
- package/cms/utils/element.utils.d.ts +20 -0
- package/cms/utils/elements-resolver.d.ts +28 -0
- package/cms/utils/encoding.utils.d.ts +2 -0
- package/cms/utils/index.d.ts +9 -0
- package/cms/utils/inject.d.ts +1 -0
- package/cms/utils/path.utils.d.ts +3 -0
- package/cms/utils/script.utils.d.ts +2 -0
- package/cms/utils/transpilation-worker.d.ts +13 -0
- package/cms/utils/ui-builder-layout.utils.d.ts +4 -0
- package/cms/utils/ui-definition.utils.d.ts +6 -0
- package/cms/vendor-map.d.ts +86 -0
- package/core/core.module.d.ts +10 -0
- package/core/directives/directives.module.d.ts +7 -0
- package/core/directives/index.d.ts +2 -0
- package/core/directives/primeng-calendar.directive.d.ts +14 -0
- package/core/index.d.ts +8 -527
- package/core/modules/configuration/configuration.module.d.ts +8 -0
- package/core/modules/configuration/index.d.ts +6 -0
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +17 -0
- package/core/modules/configuration/services/configuration-state.service.d.ts +60 -0
- package/core/modules/configuration/services/configuration.service.d.ts +36 -0
- package/core/modules/configuration/services/guided-selling.service.d.ts +15 -0
- package/core/modules/configuration/services/test-mode-configuration.service.d.ts +26 -0
- package/core/modules/configuration/types/configuration-runtime.types.d.ts +3 -0
- package/core/modules/configuration/types/configuration.types.d.ts +20 -0
- package/core/modules/configuration/types/index.d.ts +2 -0
- package/core/modules/flow-configuration/flow-configuration.module.d.ts +7 -0
- package/core/modules/flow-configuration/index.d.ts +1 -0
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +23 -0
- package/core/modules/index.d.ts +2 -0
- package/core/operators/filter-successful-execute.operator.d.ts +3 -0
- package/core/operators/index.d.ts +1 -0
- package/core/pipes/action-code.pipe.d.ts +8 -0
- package/core/pipes/date.pipe.d.ts +13 -0
- package/core/pipes/index.d.ts +5 -0
- package/core/pipes/number.pipe.d.ts +10 -0
- package/core/pipes/pipes.module.d.ts +10 -0
- package/core/pipes/price.pipe.d.ts +10 -0
- package/core/services/catalog-products.service.d.ts +11 -0
- package/core/services/flow-info.service.d.ts +44 -0
- package/core/services/flow-state-configuration.service.d.ts +25 -0
- package/core/services/flow-state.service.d.ts +70 -0
- package/core/services/index.d.ts +8 -0
- package/core/services/integration.state.d.ts +16 -0
- package/core/services/product-images.service.d.ts +12 -0
- package/core/services/runtime-settings.service.d.ts +24 -0
- package/core/services/sales-transaction.service.d.ts +27 -0
- package/core/types/flow-customization.types.d.ts +10 -0
- package/core/types/flow-state.types.d.ts +12 -0
- package/core/types/formatting-settings.types.d.ts +13 -0
- package/core/types/index.d.ts +5 -0
- package/core/types/integration.types.d.ts +10 -0
- package/core/types/pipe.types.d.ts +1 -0
- package/core/types/ui-definition.types.d.ts +1 -0
- package/core/utils/index.d.ts +4 -0
- package/core/utils/pcm.utils.d.ts +5 -0
- package/core/utils/transaction-item.utils.d.ts +10 -0
- package/core/utils/transaction-item.worker.d.ts +8 -0
- package/core/utils/ui-definition.utils.d.ts +2 -0
- package/esm2020/cms/cms.actions.mjs +151 -0
- package/esm2020/cms/cms.default.mjs +5 -0
- package/esm2020/cms/cms.elements.mjs +52 -0
- package/esm2020/cms/cms.layouts.mjs +239 -0
- package/esm2020/cms/components/element-children/element-children.component.mjs +41 -0
- package/esm2020/cms/components/element-children/element-children.module.mjs +21 -0
- package/esm2020/cms/components/element-drop-handle/element-drop-handle.component.mjs +28 -0
- package/esm2020/cms/components/element-drop-handle/element-drop-handle.module.mjs +19 -0
- package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +117 -0
- package/esm2020/cms/components/element-renderer/element-renderer.module.mjs +16 -0
- package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +35 -0
- package/esm2020/cms/components/element.component.mjs +45 -0
- package/esm2020/cms/components/index.mjs +2 -0
- package/esm2020/cms/components/plugin.component.mjs +17 -0
- package/esm2020/cms/components/preview/index.mjs +4 -0
- package/esm2020/cms/components/preview/preview.component.mjs +75 -0
- package/esm2020/cms/components/preview/preview.module.mjs +42 -0
- package/esm2020/cms/components/preview/preview.types.mjs +2 -0
- package/esm2020/cms/decorators/element.decorator.mjs +6 -0
- package/esm2020/cms/decorators/index.mjs +2 -0
- package/esm2020/cms/definitions/index.mjs +2 -0
- package/esm2020/cms/definitions/ui-builder.definitions.mjs +18 -0
- package/esm2020/cms/directives/custom-template.directive.mjs +38 -0
- package/esm2020/cms/engine/models/entity.mjs +17 -0
- package/esm2020/cms/engine/models/plugin.mjs +6 -0
- package/esm2020/cms/index.mjs +16 -0
- package/esm2020/cms/injection-tokens.mjs +7 -0
- package/esm2020/cms/launcher.module.mjs +24 -0
- package/esm2020/cms/modules/federated/default-options.mjs +5 -0
- package/esm2020/cms/modules/federated/export.mjs +2 -0
- package/esm2020/cms/modules/federated/federated-host.directive.mjs +16 -0
- package/esm2020/cms/modules/federated/federated.component.mjs +74 -0
- package/esm2020/cms/modules/federated/federated.module.mjs +20 -0
- package/esm2020/cms/modules/federated/federated.types.mjs +2 -0
- package/esm2020/cms/modules/migrations/index.mjs +3 -0
- package/esm2020/cms/modules/migrations/migrations.mjs +22 -0
- package/esm2020/cms/modules/migrations/migrations.module.mjs +15 -0
- package/esm2020/cms/modules/migrations/services/migrations.service.mjs +47 -0
- package/esm2020/cms/modules/migrations/types/migrations.types.mjs +2 -0
- package/esm2020/cms/modules/runtime/index.mjs +4 -0
- package/esm2020/cms/modules/runtime/runtime.module.mjs +32 -0
- package/esm2020/cms/modules/runtime/services/compilation.service.mjs +93 -0
- package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +30 -0
- package/esm2020/cms/modules/runtime/services/runtime.service.mjs +117 -0
- package/esm2020/cms/modules/runtime/tokens.mjs +3 -0
- package/esm2020/cms/modules/runtime/types/compilation.types.mjs +2 -0
- package/esm2020/cms/modules/runtime/types/runtime.actions.mjs +2 -0
- package/esm2020/cms/plugins/element-hover.plugin.mjs +121 -0
- package/esm2020/cms/plugins/io.plugin.mjs +45 -0
- package/esm2020/cms/plugins/page.plugin.mjs +37 -0
- package/esm2020/cms/plugins/region.plugin.mjs +59 -0
- package/esm2020/cms/plugins/script.plugin.mjs +31 -0
- package/esm2020/cms/services/element-context.service.mjs +10 -0
- package/esm2020/cms/services/index.mjs +3 -0
- package/esm2020/cms/services/io-provider.service.mjs +53 -0
- package/esm2020/cms/services/resources.service.mjs +71 -0
- package/esm2020/cms/services/templates.service.mjs +32 -0
- package/esm2020/cms/types/common.types.mjs +2 -0
- package/esm2020/cms/types/elements.types.mjs +2 -0
- package/esm2020/cms/types/index.mjs +7 -0
- package/esm2020/cms/types/layouts.types.mjs +71 -0
- package/esm2020/cms/types/pages.types.mjs +2 -0
- package/esm2020/cms/types/path.types.mjs +2 -0
- package/esm2020/cms/utils/element-metadata-worker.mjs +31 -0
- package/esm2020/cms/utils/element.utils.mjs +182 -0
- package/esm2020/cms/utils/elements-resolver.mjs +206 -0
- package/esm2020/cms/utils/encoding.utils.mjs +29 -0
- package/esm2020/cms/utils/index.mjs +10 -0
- package/esm2020/cms/utils/inject.mjs +27 -0
- package/esm2020/cms/utils/path.utils.mjs +44 -0
- package/esm2020/cms/utils/script.utils.mjs +46 -0
- package/esm2020/cms/utils/transpilation-worker.mjs +52 -0
- package/esm2020/cms/utils/ui-builder-layout.utils.mjs +46 -0
- package/esm2020/cms/utils/ui-definition.utils.mjs +85 -0
- package/esm2020/cms/veloceapps-sdk-cms.mjs +5 -0
- package/esm2020/cms/vendor-map.mjs +83 -0
- package/esm2020/core/core.module.mjs +54 -0
- package/esm2020/core/directives/directives.module.mjs +16 -0
- package/esm2020/core/directives/index.mjs +3 -0
- package/esm2020/core/directives/primeng-calendar.directive.mjs +41 -0
- package/esm2020/core/index.mjs +9 -0
- package/esm2020/core/modules/configuration/configuration.module.mjs +34 -0
- package/esm2020/core/modules/configuration/index.mjs +7 -0
- package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +29 -0
- package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +381 -0
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +159 -0
- package/esm2020/core/modules/configuration/services/guided-selling.service.mjs +62 -0
- package/esm2020/core/modules/configuration/services/test-mode-configuration.service.mjs +97 -0
- package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +2 -0
- package/esm2020/core/modules/configuration/types/configuration.types.mjs +2 -0
- package/esm2020/core/modules/configuration/types/index.mjs +3 -0
- package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +17 -0
- package/esm2020/core/modules/flow-configuration/index.mjs +2 -0
- package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +80 -0
- package/esm2020/core/modules/index.mjs +3 -0
- package/esm2020/core/operators/filter-successful-execute.operator.mjs +5 -0
- package/esm2020/core/operators/index.mjs +2 -0
- package/esm2020/core/pipes/action-code.pipe.mjs +20 -0
- package/esm2020/core/pipes/date.pipe.mjs +44 -0
- package/esm2020/core/pipes/index.mjs +6 -0
- package/esm2020/core/pipes/number.pipe.mjs +27 -0
- package/esm2020/core/pipes/pipes.module.mjs +19 -0
- package/esm2020/core/pipes/price.pipe.mjs +30 -0
- package/esm2020/core/services/catalog-products.service.mjs +25 -0
- package/esm2020/core/services/flow-info.service.mjs +146 -0
- package/esm2020/core/services/flow-state-configuration.service.mjs +120 -0
- package/esm2020/core/services/flow-state.service.mjs +417 -0
- package/esm2020/core/services/index.mjs +9 -0
- package/esm2020/core/services/integration.state.mjs +36 -0
- package/esm2020/core/services/product-images.service.mjs +30 -0
- package/esm2020/core/services/runtime-settings.service.mjs +112 -0
- package/esm2020/core/services/sales-transaction.service.mjs +67 -0
- 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 +3 -0
- package/esm2020/core/types/index.mjs +6 -0
- package/esm2020/core/types/integration.types.mjs +2 -0
- package/esm2020/core/types/pipe.types.mjs +2 -0
- package/esm2020/core/types/ui-definition.types.mjs +2 -0
- package/esm2020/core/utils/index.mjs +5 -0
- package/esm2020/core/utils/pcm.utils.mjs +15 -0
- package/esm2020/core/utils/transaction-item.utils.mjs +144 -0
- package/esm2020/core/utils/transaction-item.worker.mjs +16 -0
- package/esm2020/core/utils/ui-definition.utils.mjs +9 -0
- package/esm2020/core/veloceapps-sdk-core.mjs +5 -0
- package/esm2020/index.mjs +2 -0
- package/esm2020/src/components/dialog/dialog.component.mjs +36 -0
- package/esm2020/src/components/dialog/dialog.module.mjs +19 -0
- package/esm2020/src/components/dialog/dialog.types.mjs +2 -0
- package/esm2020/src/components/flow-header/flow-header.component.mjs +107 -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 +107 -0
- package/esm2020/src/components/guided-selling/guided-selling.module.mjs +19 -0
- package/esm2020/src/configure-primeng.mjs +33 -0
- package/esm2020/src/constants.mjs +2 -0
- package/esm2020/src/flow-routing.module.mjs +97 -0
- package/esm2020/src/flow.component.mjs +39 -0
- package/esm2020/src/flow.module.mjs +60 -0
- package/esm2020/src/guards/flow.guard.mjs +35 -0
- package/esm2020/src/guards/product-unload.guard.mjs +49 -0
- package/esm2020/src/guards/root.guard.mjs +46 -0
- package/esm2020/src/index.mjs +5 -0
- package/esm2020/src/pages/assets/assets.component.mjs +106 -0
- package/esm2020/src/pages/assets/assets.module.mjs +20 -0
- package/esm2020/src/pages/catalog/catalog.component.mjs +106 -0
- package/esm2020/src/pages/catalog/catalog.module.mjs +20 -0
- package/esm2020/src/pages/debug/debug.component.mjs +49 -0
- package/esm2020/src/pages/debug/debug.module.mjs +46 -0
- package/esm2020/src/pages/product/product.component.mjs +55 -0
- package/esm2020/src/pages/product/product.module.mjs +20 -0
- package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +27 -0
- package/esm2020/src/pages/record-not-found/record-not-found.module.mjs +20 -0
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +106 -0
- package/esm2020/src/pages/shopping-cart/shopping-cart.module.mjs +20 -0
- package/esm2020/src/resolvers/flow.resolver.mjs +50 -0
- package/esm2020/src/resolvers/pcm-model.resolver.mjs +12 -0
- package/esm2020/src/resolvers/sales-transaction.resolver.mjs +64 -0
- package/esm2020/src/resolvers/ui-definition.resolver.mjs +44 -0
- package/esm2020/src/services/flow-dialog.service.mjs +91 -0
- package/esm2020/src/services/flow-router.service.mjs +173 -0
- package/esm2020/src/services/flow.service.mjs +102 -0
- package/esm2020/src/services/guided-selling.service.mjs +34 -0
- package/esm2020/src/services/index.mjs +4 -0
- package/esm2020/src/types/index.mjs +2 -0
- package/esm2020/src/types/route.types.mjs +2 -0
- package/esm2020/veloceapps-sdk.mjs +5 -0
- package/fesm2015/veloceapps-sdk-cms.mjs +2514 -0
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -0
- package/fesm2015/veloceapps-sdk-core.mjs +2084 -0
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -0
- package/fesm2015/veloceapps-sdk.mjs +1598 -0
- package/fesm2015/veloceapps-sdk.mjs.map +1 -0
- package/fesm2020/veloceapps-sdk-cms.mjs +2613 -0
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/veloceapps-sdk-core.mjs +146 -164
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/veloceapps-sdk.mjs +192 -186
- package/fesm2020/veloceapps-sdk.mjs.map +1 -0
- package/index.d.ts +1 -330
- package/package.json +34 -17
- package/src/components/dialog/dialog.component.d.ts +13 -0
- package/src/components/dialog/dialog.module.d.ts +9 -0
- package/src/components/dialog/dialog.types.d.ts +7 -0
- 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 +25 -0
- package/src/components/guided-selling/guided-selling.module.d.ts +9 -0
- package/src/configure-primeng.d.ts +1 -0
- package/src/constants.d.ts +1 -0
- package/src/flow-routing.module.d.ts +11 -0
- package/src/flow.component.d.ts +21 -0
- package/src/flow.module.d.ts +16 -0
- package/src/guards/flow.guard.d.ts +2 -0
- package/src/guards/product-unload.guard.d.ts +16 -0
- package/src/guards/root.guard.d.ts +14 -0
- package/src/index.d.ts +4 -0
- package/src/pages/assets/assets.component.d.ts +31 -0
- package/src/pages/assets/assets.module.d.ts +10 -0
- package/src/pages/catalog/catalog.component.d.ts +31 -0
- package/src/pages/catalog/catalog.module.d.ts +10 -0
- package/src/pages/debug/debug.component.d.ts +21 -0
- package/src/pages/debug/debug.module.d.ts +14 -0
- package/src/pages/product/product.component.d.ts +24 -0
- package/src/pages/product/product.module.d.ts +10 -0
- package/src/pages/record-not-found/record-not-found.component.d.ts +12 -0
- package/src/pages/record-not-found/record-not-found.module.d.ts +9 -0
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +31 -0
- package/src/pages/shopping-cart/shopping-cart.module.d.ts +10 -0
- package/src/resolvers/flow.resolver.d.ts +14 -0
- package/src/resolvers/pcm-model.resolver.d.ts +3 -0
- package/src/resolvers/sales-transaction.resolver.d.ts +18 -0
- package/src/resolvers/ui-definition.resolver.d.ts +3 -0
- package/src/services/flow-dialog.service.d.ts +23 -0
- package/src/services/flow-router.service.d.ts +42 -0
- package/src/services/flow.service.d.ts +21 -0
- package/src/services/guided-selling.service.d.ts +13 -0
- package/src/services/index.d.ts +3 -0
- package/src/types/index.d.ts +1 -0
- package/src/types/route.types.d.ts +4 -0
- package/fesm2022/veloceapps-sdk-cms.mjs +0 -2611
- package/fesm2022/veloceapps-sdk-cms.mjs.map +0 -1
- package/fesm2022/veloceapps-sdk-core.mjs.map +0 -1
- package/fesm2022/veloceapps-sdk.mjs.map +0 -1
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { OrchestrationsApiService } from '@veloceapps/api/v2';
|
|
3
|
+
import { extractErrorDetails, isDefined, } from '@veloceapps/core';
|
|
4
|
+
import { cloneDeep } from 'lodash';
|
|
5
|
+
import { MessageService } from 'primeng/api';
|
|
6
|
+
import { BehaviorSubject, noop, of, throwError } from 'rxjs';
|
|
7
|
+
import { catchError, filter, finalize, map, tap } from 'rxjs/operators';
|
|
8
|
+
import { FlowInfoService, SalesTransactionService } from '../../../services';
|
|
9
|
+
import { generateTransactionItem, TransactionItemWorker } from '../../../utils';
|
|
10
|
+
import { ConfigurationRuntimeService } from './configuration-runtime.service';
|
|
11
|
+
import { GuidedSellingService } from './guided-selling.service';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "../../../services";
|
|
14
|
+
import * as i2 from "primeng/api";
|
|
15
|
+
import * as i3 from "./configuration-runtime.service";
|
|
16
|
+
import * as i4 from "@veloceapps/api/v2";
|
|
17
|
+
import * as i5 from "./guided-selling.service";
|
|
18
|
+
export class ConfigurationService {
|
|
19
|
+
constructor(flowInfoService, messageService, configurationRuntimeService, salesTransactionService, orchestrationsApiService, guidedSellingService) {
|
|
20
|
+
this.flowInfoService = flowInfoService;
|
|
21
|
+
this.messageService = messageService;
|
|
22
|
+
this.configurationRuntimeService = configurationRuntimeService;
|
|
23
|
+
this.salesTransactionService = salesTransactionService;
|
|
24
|
+
this.orchestrationsApiService = orchestrationsApiService;
|
|
25
|
+
this.guidedSellingService = guidedSellingService;
|
|
26
|
+
this.hasUnsavedChanges = false;
|
|
27
|
+
this.configurationStateSubj$ = new BehaviorSubject(null);
|
|
28
|
+
this.previousConfigurationStateSubj$ = new BehaviorSubject(null);
|
|
29
|
+
this.isLoadingSubj$ = new BehaviorSubject(false);
|
|
30
|
+
this.isLoading$ = this.isLoadingSubj$.asObservable();
|
|
31
|
+
}
|
|
32
|
+
get state$() {
|
|
33
|
+
return this.configurationStateSubj$.asObservable().pipe(filter(isDefined));
|
|
34
|
+
}
|
|
35
|
+
get state() {
|
|
36
|
+
return this.configurationStateSubj$.getValue();
|
|
37
|
+
}
|
|
38
|
+
get previousState() {
|
|
39
|
+
return this.previousConfigurationStateSubj$.getValue();
|
|
40
|
+
}
|
|
41
|
+
get root$() {
|
|
42
|
+
return this.state$.pipe(map(state => state.salesTransaction.salesTransactionItems[0]), filter(isDefined));
|
|
43
|
+
}
|
|
44
|
+
get root() {
|
|
45
|
+
return this.configurationStateSubj$.getValue()?.salesTransaction.salesTransactionItems[0] ?? null;
|
|
46
|
+
}
|
|
47
|
+
reset() {
|
|
48
|
+
this.hasUnsavedChanges = false;
|
|
49
|
+
this.configurationStateSubj$.next(null);
|
|
50
|
+
this.previousConfigurationStateSubj$.next(null);
|
|
51
|
+
}
|
|
52
|
+
init$() {
|
|
53
|
+
const { state } = this.salesTransactionService;
|
|
54
|
+
const { standalone } = this.flowInfoService.flow.properties;
|
|
55
|
+
const { productId, transactionItemId, newProductQty } = this.flowInfoService.context;
|
|
56
|
+
if (!state || !productId) {
|
|
57
|
+
return of(undefined);
|
|
58
|
+
}
|
|
59
|
+
const salesTransactionItems = state?.salesTransaction.salesTransactionItems ?? [];
|
|
60
|
+
let isRootGenerated = false;
|
|
61
|
+
let transactionItem = salesTransactionItems.find(item => item.id === transactionItemId);
|
|
62
|
+
if (!transactionItem && standalone) {
|
|
63
|
+
transactionItem = salesTransactionItems.find(item => item.productId === productId);
|
|
64
|
+
}
|
|
65
|
+
if (!transactionItem) {
|
|
66
|
+
const quantity = typeof newProductQty === 'number' && newProductQty > 0 ? newProductQty : undefined;
|
|
67
|
+
transactionItem = generateTransactionItem(this.getPCMModel(), this.state?.salesTransaction.id, quantity);
|
|
68
|
+
isRootGenerated = true;
|
|
69
|
+
}
|
|
70
|
+
const guidedSellingResult = this.guidedSellingService.guidedSellingResult;
|
|
71
|
+
if (transactionItem && Object.keys(guidedSellingResult).length && isRootGenerated) {
|
|
72
|
+
transactionItem.stiAttributes = Object.entries(guidedSellingResult).map(([attributeName, value]) => ({
|
|
73
|
+
attributeName,
|
|
74
|
+
value,
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
const configurationState = {
|
|
78
|
+
...state,
|
|
79
|
+
salesTransaction: {
|
|
80
|
+
...state.salesTransaction,
|
|
81
|
+
salesTransactionItems: transactionItem ? [transactionItem] : [],
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
return (isRootGenerated ? this.configure$(configurationState) : of(configurationState)).pipe(tap(configurationState => {
|
|
85
|
+
this.configurationStateSubj$.next(configurationState);
|
|
86
|
+
this.previousConfigurationStateSubj$.next(configurationState);
|
|
87
|
+
}), map(noop));
|
|
88
|
+
}
|
|
89
|
+
patch$(transactionItem) {
|
|
90
|
+
const { state, root } = this;
|
|
91
|
+
if (!state) {
|
|
92
|
+
return throwError(() => new Error(`Configuration State is not initialized`));
|
|
93
|
+
}
|
|
94
|
+
if (!root) {
|
|
95
|
+
return throwError(() => new Error(`Root SalesTransactionItem not found`));
|
|
96
|
+
}
|
|
97
|
+
const newRoot = new TransactionItemWorker(root).replace(transactionItem).ti;
|
|
98
|
+
const newTransactionContext = {
|
|
99
|
+
...state,
|
|
100
|
+
salesTransaction: {
|
|
101
|
+
...state.salesTransaction,
|
|
102
|
+
salesTransactionItems: [newRoot],
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
return this.configure$(newTransactionContext).pipe(catchError(error => {
|
|
106
|
+
console.error(error);
|
|
107
|
+
if (!this.configurationRuntimeService.uiDefinitionProps.suppressToastMessages) {
|
|
108
|
+
this.messageService.add({ severity: 'error', summary: error });
|
|
109
|
+
}
|
|
110
|
+
return throwError(() => error);
|
|
111
|
+
}), tap(() => {
|
|
112
|
+
if (!this.hasUnsavedChanges) {
|
|
113
|
+
this.hasUnsavedChanges = true;
|
|
114
|
+
}
|
|
115
|
+
}), map(noop));
|
|
116
|
+
}
|
|
117
|
+
patch(transactionItem) {
|
|
118
|
+
this.patch$(transactionItem).subscribe();
|
|
119
|
+
}
|
|
120
|
+
configure$(transactionContext) {
|
|
121
|
+
this.isLoadingSubj$.next(true);
|
|
122
|
+
return this.justConfigureRequest$(transactionContext).pipe(tap(result => {
|
|
123
|
+
this.configurationStateSubj$.next(result);
|
|
124
|
+
this.previousConfigurationStateSubj$.next(cloneDeep(result));
|
|
125
|
+
}), catchError(e => {
|
|
126
|
+
const resetState = this.previousConfigurationStateSubj$.getValue();
|
|
127
|
+
if (resetState) {
|
|
128
|
+
this.previousConfigurationStateSubj$.next(cloneDeep(resetState));
|
|
129
|
+
this.configurationStateSubj$.next(resetState);
|
|
130
|
+
}
|
|
131
|
+
return throwError(() => e);
|
|
132
|
+
}), finalize(() => this.isLoadingSubj$.next(false)));
|
|
133
|
+
}
|
|
134
|
+
justConfigureRequest$(transactionContext) {
|
|
135
|
+
const request = {
|
|
136
|
+
transactionContext,
|
|
137
|
+
flowId: this.flowInfoService.flow.id,
|
|
138
|
+
};
|
|
139
|
+
return this.orchestrationsApiService.apply$(request).pipe(catchError(error => throwError(() => {
|
|
140
|
+
if (error.error) {
|
|
141
|
+
return extractErrorDetails(error.error).join('. ');
|
|
142
|
+
}
|
|
143
|
+
return error.message || JSON.stringify(error);
|
|
144
|
+
})));
|
|
145
|
+
}
|
|
146
|
+
getPCMModel() {
|
|
147
|
+
const pcmModel = this.configurationRuntimeService.pcmModel;
|
|
148
|
+
if (!pcmModel) {
|
|
149
|
+
throw new Error('PCM model not initialized');
|
|
150
|
+
}
|
|
151
|
+
return pcmModel;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
ConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService, deps: [{ token: i1.FlowInfoService }, { token: i2.MessageService }, { token: i3.ConfigurationRuntimeService }, { token: i1.SalesTransactionService }, { token: i4.OrchestrationsApiService }, { token: i5.GuidedSellingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
155
|
+
ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService });
|
|
156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService, decorators: [{
|
|
157
|
+
type: Injectable
|
|
158
|
+
}], ctorParameters: function () { return [{ type: i1.FlowInfoService }, { type: i2.MessageService }, { type: i3.ConfigurationRuntimeService }, { type: i1.SalesTransactionService }, { type: i4.OrchestrationsApiService }, { type: i5.GuidedSellingService }]; } });
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBQ3JGLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsU0FBUyxHQUtWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFHaEUsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixZQUNVLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLDJCQUF3RCxFQUN4RCx1QkFBZ0QsRUFDaEQsd0JBQWtELEVBQ2xELG9CQUEwQztRQUwxQyxvQkFBZSxHQUFm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QVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxrQkFBc0M7UUFDakUsTUFBTSxPQUFPLEdBQTBCO1lBQ3JDLGtCQUFrQjtZQUNsQixNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRTtTQUNyQyxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDdkQsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7Z0JBQ2YsT0FBTyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3BEO1lBRUQsT0FBTyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7aUhBekxVLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcmNoZXN0cmF0aW9uc0FwaVNlcnZpY2UsIFByb2NlZHVyZUFwcGx5UmVxdWVzdCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaS92Mic7XG5pbXBvcnQge1xuICBleHRyYWN0RXJyb3JEZXRhaWxzLFxuICBpc0RlZmluZWQsXG4gIFBDTU1vZGVsLFxuICBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbiAgU2FsZXNUcmFuc2FjdGlvbkl0ZW1BdHRyaWJ1dGUsXG4gIFRyYW5zYWN0aW9uQ29udGV4dCxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG5vb3AsIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGZpbmFsaXplLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZsb3dJbmZvU2VydmljZSwgU2FsZXNUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbSwgVHJhbnNhY3Rpb25JdGVtV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBHdWlkZWRTZWxsaW5nU2VydmljZSB9IGZyb20gJy4vZ3VpZGVkLXNlbGxpbmcuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIHB1YmxpYyBpc0xvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUcmFuc2FjdGlvbkNvbnRleHQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBwcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUcmFuc2FjdGlvbkNvbnRleHQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBpc0xvYWRpbmdTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIHNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlOiBTYWxlc1RyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIG9yY2hlc3RyYXRpb25zQXBpU2VydmljZTogT3JjaGVzdHJhdGlvbnNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ3VpZGVkU2VsbGluZ1NlcnZpY2U6IEd1aWRlZFNlbGxpbmdTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmlzTG9hZGluZyQgPSB0aGlzLmlzTG9hZGluZ1N1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU3RhdGVTdWJqJC5hc09ic2VydmFibGUoKS5waXBlKGZpbHRlcihpc0RlZmluZWQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGUoKTogVHJhbnNhY3Rpb25Db250ZXh0IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJldmlvdXNTdGF0ZSgpOiBUcmFuc2FjdGlvbkNvbnRleHQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJvb3QkKCk6IE9ic2VydmFibGU8U2FsZXNUcmFuc2FjdGlvbkl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcChzdGF0ZSA9PiBzdGF0ZS5zYWxlc1RyYW5zYWN0aW9uLnNhbGVzVHJhbnNhY3Rpb25JdGVtc1swXSksXG4gICAgICBmaWx0ZXIoaXNEZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCByb290KCk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQuZ2V0VmFsdWUoKT8uc2FsZXNUcmFuc2FjdGlvbi5zYWxlc1RyYW5zYWN0aW9uSXRlbXNbMF0gPz8gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gZmFsc2U7XG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQobnVsbCk7XG4gICAgdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdCQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgeyBzdGF0ZSB9ID0gdGhpcy5zYWxlc1RyYW5zYWN0aW9uU2VydmljZTtcbiAgICBjb25zdCB7IHN0YW5kYWxvbmUgfSA9IHRoaXMuZmxvd0luZm9TZXJ2aWNlLmZsb3cucHJvcGVydGllcztcbiAgICBjb25zdCB7IHByb2R1Y3RJZCwgdHJhbnNhY3Rpb25JdGVtSWQsIG5ld1Byb2R1Y3RRdHkgfSA9IHRoaXMuZmxvd0luZm9TZXJ2aWNlLmNvbnRleHQ7XG5cbiAgICBpZiAoIXN0YXRlIHx8ICFwcm9kdWN0SWQpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbGVzVHJhbnNhY3Rpb25JdGVtcyA9IHN0YXRlPy5zYWxlc1RyYW5zYWN0aW9uLnNhbGVzVHJhbnNhY3Rpb25JdGVtcyA/PyBbXTtcbiAgICBsZXQgaXNSb290R2VuZXJhdGVkID0gZmFsc2U7XG4gICAgbGV0IHRyYW5zYWN0aW9uSXRlbSA9IHNhbGVzVHJhbnNhY3Rpb25JdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gdHJhbnNhY3Rpb25JdGVtSWQpO1xuICAgIGlmICghdHJhbnNhY3Rpb25JdGVtICYmIHN0YW5kYWxvbmUpIHtcbiAgICAgIHRyYW5zYWN0aW9uSXRlbSA9IHNhbGVzVHJhbnNhY3Rpb25JdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5wcm9kdWN0SWQgPT09IHByb2R1Y3RJZCk7XG4gICAgfVxuXG4gICAgaWYgKCF0cmFuc2FjdGlvbkl0ZW0pIHtcbiAgICAgIGNvbnN0IHF1YW50aXR5ID0gdHlwZW9mIG5ld1Byb2R1Y3RRdHkgPT09ICdudW1iZXInICYmIG5ld1Byb2R1Y3RRdHkgPiAwID8gbmV3UHJvZHVjdFF0eSA6IHVuZGVmaW5lZDtcbiAgICAgIHRyYW5zYWN0aW9uSXRlbSA9IGdlbmVyYXRlVHJhbnNhY3Rpb25JdGVtKHRoaXMuZ2V0UENNTW9kZWwoKSwgdGhpcy5zdGF0ZT8uc2FsZXNUcmFuc2FjdGlvbi5pZCwgcXVhbnRpdHkpO1xuICAgICAgaXNSb290R2VuZXJhdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBndWlkZWRTZWxsaW5nUmVzdWx0ID0gdGhpcy5ndWlkZWRTZWxsaW5nU2VydmljZS5ndWlkZWRTZWxsaW5nUmVzdWx0O1xuICAgIGlmICh0cmFuc2FjdGlvbkl0ZW0gJiYgT2JqZWN0LmtleXMoZ3VpZGVkU2VsbGluZ1Jlc3VsdCkubGVuZ3RoICYmIGlzUm9vdEdlbmVyYXRlZCkge1xuICAgICAgdHJhbnNhY3Rpb25JdGVtLnN0aUF0dHJpYnV0ZXMgPSBPYmplY3QuZW50cmllcyhndWlkZWRTZWxsaW5nUmVzdWx0KS5tYXAoKFthdHRyaWJ1dGVOYW1lLCB2YWx1ZV0pID0+ICh7XG4gICAgICAgIGF0dHJpYnV0ZU5hbWUsXG4gICAgICAgIHZhbHVlLFxuICAgICAgfSkpIGFzIFNhbGVzVHJhbnNhY3Rpb25JdGVtQXR0cmlidXRlW107XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlndXJhdGlvblN0YXRlOiBUcmFuc2FjdGlvbkNvbnRleHQgPSB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHNhbGVzVHJhbnNhY3Rpb246IHtcbiAgICAgICAgLi4uc3RhdGUuc2FsZXNUcmFuc2FjdGlvbixcbiAgICAgICAgc2FsZXNUcmFuc2FjdGlvbkl0ZW1zOiB0cmFuc2FjdGlvbkl0ZW0gPyBbdHJhbnNhY3Rpb25JdGVtXSA6IFtdLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIChpc1Jvb3RHZW5lcmF0ZWQgPyB0aGlzLmNvbmZpZ3VyZSQoY29uZmlndXJhdGlvblN0YXRlKSA6IG9mKGNvbmZpZ3VyYXRpb25TdGF0ZSkpLnBpcGUoXG4gICAgICB0YXAoY29uZmlndXJhdGlvblN0YXRlID0+IHtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3RhdGVTdWJqJC5uZXh0KGNvbmZpZ3VyYXRpb25TdGF0ZSk7XG4gICAgICAgIHRoaXMucHJldmlvdXNDb25maWd1cmF0aW9uU3RhdGVTdWJqJC5uZXh0KGNvbmZpZ3VyYXRpb25TdGF0ZSk7XG4gICAgICB9KSxcbiAgICAgIG1hcChub29wKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBhdGNoJCh0cmFuc2FjdGlvbkl0ZW06IFNhbGVzVHJhbnNhY3Rpb25JdGVtKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgeyBzdGF0ZSwgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghc3RhdGUpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgQ29uZmlndXJhdGlvbiBTdGF0ZSBpcyBub3QgaW5pdGlhbGl6ZWRgKSk7XG4gICAgfVxuICAgIGlmICghcm9vdCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBSb290IFNhbGVzVHJhbnNhY3Rpb25JdGVtIG5vdCBmb3VuZGApKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdSb290ID0gbmV3IFRyYW5zYWN0aW9uSXRlbVdvcmtlcihyb290KS5yZXBsYWNlKHRyYW5zYWN0aW9uSXRlbSkudGk7XG4gICAgY29uc3QgbmV3VHJhbnNhY3Rpb25Db250ZXh0OiBUcmFuc2FjdGlvbkNvbnRleHQgPSB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHNhbGVzVHJhbnNhY3Rpb246IHtcbiAgICAgICAgLi4uc3RhdGUuc2FsZXNUcmFuc2FjdGlvbixcbiAgICAgICAgc2FsZXNUcmFuc2FjdGlvbkl0ZW1zOiBbbmV3Um9vdF0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmUkKG5ld1RyYW5zYWN0aW9uQ29udGV4dCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvblByb3BzLnN1cHByZXNzVG9hc3RNZXNzYWdlcykge1xuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfSksXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaGFzVW5zYXZlZENoYW5nZXMpIHtcbiAgICAgICAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaCh0cmFuc2FjdGlvbkl0ZW06IFNhbGVzVHJhbnNhY3Rpb25JdGVtKTogdm9pZCB7XG4gICAgdGhpcy5wYXRjaCQodHJhbnNhY3Rpb25JdGVtKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmUkKHRyYW5zYWN0aW9uQ29udGV4dDogVHJhbnNhY3Rpb25Db250ZXh0KTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbkNvbnRleHQ+IHtcbiAgICB0aGlzLmlzTG9hZGluZ1N1YmokLm5leHQodHJ1ZSk7XG5cbiAgICByZXR1cm4gdGhpcy5qdXN0Q29uZmlndXJlUmVxdWVzdCQodHJhbnNhY3Rpb25Db250ZXh0KS5waXBlKFxuICAgICAgdGFwKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChyZXN1bHQpO1xuICAgICAgICB0aGlzLnByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChjbG9uZURlZXAocmVzdWx0KSk7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoZSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc2V0U3RhdGUgPSB0aGlzLnByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKHJlc2V0U3RhdGUpIHtcbiAgICAgICAgICB0aGlzLnByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChjbG9uZURlZXAocmVzZXRTdGF0ZSkpO1xuICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChyZXNldFN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzTG9hZGluZ1N1YmokLm5leHQoZmFsc2UpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGp1c3RDb25maWd1cmVSZXF1ZXN0JCh0cmFuc2FjdGlvbkNvbnRleHQ6IFRyYW5zYWN0aW9uQ29udGV4dCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db250ZXh0PiB7XG4gICAgY29uc3QgcmVxdWVzdDogUHJvY2VkdXJlQXBwbHlSZXF1ZXN0ID0ge1xuICAgICAgdHJhbnNhY3Rpb25Db250ZXh0LFxuICAgICAgZmxvd0lkOiB0aGlzLmZsb3dJbmZvU2VydmljZS5mbG93LmlkLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5vcmNoZXN0cmF0aW9uc0FwaVNlcnZpY2UuYXBwbHkkKHJlcXVlc3QpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+XG4gICAgICAgIHRocm93RXJyb3IoKCkgPT4ge1xuICAgICAgICAgIGlmIChlcnJvci5lcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGV4dHJhY3RFcnJvckRldGFpbHMoZXJyb3IuZXJyb3IpLmpvaW4oJy4gJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGVycm9yLm1lc3NhZ2UgfHwgSlNPTi5zdHJpbmdpZnkoZXJyb3IpO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQQ01Nb2RlbCgpOiBQQ01Nb2RlbCB7XG4gICAgY29uc3QgcGNtTW9kZWwgPSB0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS5wY21Nb2RlbDtcbiAgICBpZiAoIXBjbU1vZGVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BDTSBtb2RlbCBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGNtTW9kZWw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { OrchestrationsApiService } from '@veloceapps/api/v2';
|
|
3
|
+
import { UUID } from '@veloceapps/core';
|
|
4
|
+
import { BehaviorSubject, map } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@veloceapps/api/v2";
|
|
7
|
+
export class GuidedSellingService {
|
|
8
|
+
constructor(orchestrationsApiService) {
|
|
9
|
+
this.orchestrationsApiService = orchestrationsApiService;
|
|
10
|
+
this.guidedSellingResult$ = new BehaviorSubject({});
|
|
11
|
+
}
|
|
12
|
+
get guidedSellingResult() {
|
|
13
|
+
return this.guidedSellingResult$.value;
|
|
14
|
+
}
|
|
15
|
+
configureGuidedSelling$(data) {
|
|
16
|
+
return this.orchestrationsApiService
|
|
17
|
+
.apply$({
|
|
18
|
+
transactionContext: this.getTransactionContext(data.attributesMap),
|
|
19
|
+
orchestrationName: data.orchestrationName,
|
|
20
|
+
})
|
|
21
|
+
.pipe(map(transactionContext => {
|
|
22
|
+
const guidedSellingNode = transactionContext.nodes['GuidedSelling']?.[0];
|
|
23
|
+
const guidedSellingResult = guidedSellingNode?.attributes?.['result'] || {};
|
|
24
|
+
this.guidedSellingResult$.next(guidedSellingResult);
|
|
25
|
+
return guidedSellingResult;
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
clearGuidedSelling$() {
|
|
29
|
+
this.guidedSellingResult$.next({});
|
|
30
|
+
}
|
|
31
|
+
getTransactionContext(guidedSellingAttributes) {
|
|
32
|
+
const testTransaction = {
|
|
33
|
+
id: UUID.UUID(),
|
|
34
|
+
businessObjectType: 'Quote',
|
|
35
|
+
salesTransactionItems: [],
|
|
36
|
+
attributes: {},
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
salesTransaction: testTransaction,
|
|
40
|
+
transactionId: UUID.UUID(),
|
|
41
|
+
businessObjectType: 'Quote',
|
|
42
|
+
nodes: {
|
|
43
|
+
GuidedSelling: [
|
|
44
|
+
{
|
|
45
|
+
id: UUID.UUID(),
|
|
46
|
+
attributes: {},
|
|
47
|
+
nodes: {},
|
|
48
|
+
properties: { guidedSellingAttributes },
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
id: UUID.UUID(),
|
|
53
|
+
attributes: {},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
GuidedSellingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GuidedSellingService, deps: [{ token: i1.OrchestrationsApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
GuidedSellingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GuidedSellingService });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GuidedSellingService, decorators: [{
|
|
60
|
+
type: Injectable
|
|
61
|
+
}], ctorParameters: function () { return [{ type: i1.OrchestrationsApiService }]; } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXNlbGxpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvbW9kdWxlcy9jb25maWd1cmF0aW9uL3NlcnZpY2VzL2d1aWRlZC1zZWxsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQThELElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFJeEQsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUY5RCx5QkFBb0IsR0FBeUMsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFcEIsQ0FBQztJQUUxRSxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7SUFDekMsQ0FBQztJQUVNLHVCQUF1QixDQUFDLElBQTZCO1FBQzFELE9BQU8sSUFBSSxDQUFDLHdCQUF3QjthQUNqQyxNQUFNLENBQUM7WUFDTixrQkFBa0IsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNsRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1NBQzFDLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDdkIsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RSxNQUFNLG1CQUFtQixHQUFHLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM1RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDcEQsT0FBTyxtQkFBbUIsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyx1QkFBNEM7UUFDeEUsTUFBTSxlQUFlLEdBQUc7WUFDdEIsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZixrQkFBa0IsRUFBRSxPQUFPO1lBQzNCLHFCQUFxQixFQUFFLEVBQTRCO1lBQ25ELFVBQVUsRUFBRSxFQUFFO1NBQ0ssQ0FBQztRQUV0QixPQUFPO1lBQ0wsZ0JBQWdCLEVBQUUsZUFBZTtZQUNqQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUMxQixrQkFBa0IsRUFBRSxPQUFPO1lBQzNCLEtBQUssRUFBRTtnQkFDTCxhQUFhLEVBQUU7b0JBQ2I7d0JBQ0UsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7d0JBQ2YsVUFBVSxFQUFFLEVBQUU7d0JBQ2QsS0FBSyxFQUFFLEVBQUU7d0JBQ1QsVUFBVSxFQUFFLEVBQUUsdUJBQXVCLEVBQUU7cUJBQ3hDO2lCQUNGO2FBQ0Y7WUFDRCxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNmLFVBQVUsRUFBRSxFQUFFO1NBQ2YsQ0FBQztJQUNKLENBQUM7O2lIQXREVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3JjaGVzdHJhdGlvbnNBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpL3YyJztcbmltcG9ydCB7IFNhbGVzVHJhbnNhY3Rpb24sIFNhbGVzVHJhbnNhY3Rpb25JdGVtLCBUcmFuc2FjdGlvbkNvbnRleHQsIFVVSUQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHdWlkZWRTZWxsaW5nU3VibWl0RGF0YSB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEd1aWRlZFNlbGxpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBndWlkZWRTZWxsaW5nUmVzdWx0JDogQmVoYXZpb3JTdWJqZWN0PFJlY29yZDxzdHJpbmcsIGFueT4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvcmNoZXN0cmF0aW9uc0FwaVNlcnZpY2U6IE9yY2hlc3RyYXRpb25zQXBpU2VydmljZSkge31cblxuICBwdWJsaWMgZ2V0IGd1aWRlZFNlbGxpbmdSZXN1bHQoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ3VpZGVkU2VsbGluZ1Jlc3VsdCQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlR3VpZGVkU2VsbGluZyQoZGF0YTogR3VpZGVkU2VsbGluZ1N1Ym1pdERhdGEpOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5vcmNoZXN0cmF0aW9uc0FwaVNlcnZpY2VcbiAgICAgIC5hcHBseSQoe1xuICAgICAgICB0cmFuc2FjdGlvbkNvbnRleHQ6IHRoaXMuZ2V0VHJhbnNhY3Rpb25Db250ZXh0KGRhdGEuYXR0cmlidXRlc01hcCksXG4gICAgICAgIG9yY2hlc3RyYXRpb25OYW1lOiBkYXRhLm9yY2hlc3RyYXRpb25OYW1lLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAodHJhbnNhY3Rpb25Db250ZXh0ID0+IHtcbiAgICAgICAgICBjb25zdCBndWlkZWRTZWxsaW5nTm9kZSA9IHRyYW5zYWN0aW9uQ29udGV4dC5ub2Rlc1snR3VpZGVkU2VsbGluZyddPy5bMF07XG4gICAgICAgICAgY29uc3QgZ3VpZGVkU2VsbGluZ1Jlc3VsdCA9IGd1aWRlZFNlbGxpbmdOb2RlPy5hdHRyaWJ1dGVzPy5bJ3Jlc3VsdCddIHx8IHt9O1xuICAgICAgICAgIHRoaXMuZ3VpZGVkU2VsbGluZ1Jlc3VsdCQubmV4dChndWlkZWRTZWxsaW5nUmVzdWx0KTtcbiAgICAgICAgICByZXR1cm4gZ3VpZGVkU2VsbGluZ1Jlc3VsdDtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNsZWFyR3VpZGVkU2VsbGluZyQoKTogdm9pZCB7XG4gICAgdGhpcy5ndWlkZWRTZWxsaW5nUmVzdWx0JC5uZXh0KHt9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhbnNhY3Rpb25Db250ZXh0KGd1aWRlZFNlbGxpbmdBdHRyaWJ1dGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogVHJhbnNhY3Rpb25Db250ZXh0IHtcbiAgICBjb25zdCB0ZXN0VHJhbnNhY3Rpb24gPSB7XG4gICAgICBpZDogVVVJRC5VVUlEKCksXG4gICAgICBidXNpbmVzc09iamVjdFR5cGU6ICdRdW90ZScsXG4gICAgICBzYWxlc1RyYW5zYWN0aW9uSXRlbXM6IFtdIGFzIFNhbGVzVHJhbnNhY3Rpb25JdGVtW10sXG4gICAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICB9IGFzIFNhbGVzVHJhbnNhY3Rpb247XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2FsZXNUcmFuc2FjdGlvbjogdGVzdFRyYW5zYWN0aW9uLFxuICAgICAgdHJhbnNhY3Rpb25JZDogVVVJRC5VVUlEKCksXG4gICAgICBidXNpbmVzc09iamVjdFR5cGU6ICdRdW90ZScsXG4gICAgICBub2Rlczoge1xuICAgICAgICBHdWlkZWRTZWxsaW5nOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6IFVVSUQuVVVJRCgpLFxuICAgICAgICAgICAgYXR0cmlidXRlczoge30sXG4gICAgICAgICAgICBub2Rlczoge30sXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7IGd1aWRlZFNlbGxpbmdBdHRyaWJ1dGVzIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBpZDogVVVJRC5VVUlEKCksXG4gICAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { SalesforceApiService } from '@veloceapps/api/v2';
|
|
3
|
+
import { UUID } from '@veloceapps/core';
|
|
4
|
+
import { map, noop, of, switchMap, tap, throwError } from 'rxjs';
|
|
5
|
+
import { FlowInfoService, RuntimeSettingsService, SalesTransactionService } from '../../../services';
|
|
6
|
+
import { ConfigurationRuntimeService } from './configuration-runtime.service';
|
|
7
|
+
import { ConfigurationService } from './configuration.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../../services";
|
|
10
|
+
import * as i2 from "./configuration.service";
|
|
11
|
+
import * as i3 from "./configuration-runtime.service";
|
|
12
|
+
import * as i4 from "@veloceapps/api/v2";
|
|
13
|
+
export class TestModeConfigurationService {
|
|
14
|
+
constructor(flowInfoService, configurationService, configurationRuntimeService, salesTransactionService, runtimeSettingsService, sfApiService) {
|
|
15
|
+
this.flowInfoService = flowInfoService;
|
|
16
|
+
this.configurationService = configurationService;
|
|
17
|
+
this.configurationRuntimeService = configurationRuntimeService;
|
|
18
|
+
this.salesTransactionService = salesTransactionService;
|
|
19
|
+
this.runtimeSettingsService = runtimeSettingsService;
|
|
20
|
+
this.sfApiService = sfApiService;
|
|
21
|
+
this.isInitialized = false;
|
|
22
|
+
}
|
|
23
|
+
initTestMode$(uiDefinitionContainer, options) {
|
|
24
|
+
this.configurationRuntimeService.uiDefinitionContainer = uiDefinitionContainer;
|
|
25
|
+
if (this.checkInitialized(uiDefinitionContainer)) {
|
|
26
|
+
this.configurationRuntimeService.pcmModel = this.pcmModel;
|
|
27
|
+
return of(undefined);
|
|
28
|
+
}
|
|
29
|
+
this.configurationService.reset();
|
|
30
|
+
const { productId, quoteId, flowId } = uiDefinitionContainer.source.properties ?? {};
|
|
31
|
+
if (!productId) {
|
|
32
|
+
return throwError(() => 'Unable to start the Configuration Preview: Product is missing.');
|
|
33
|
+
}
|
|
34
|
+
if (!quoteId) {
|
|
35
|
+
return throwError(() => `Unable to start the Configuration Preview: Quote is missing.`);
|
|
36
|
+
}
|
|
37
|
+
if (!flowId) {
|
|
38
|
+
return throwError(() => `Unable to start the Configuration Preview: Flow is missing.`);
|
|
39
|
+
}
|
|
40
|
+
return this.runtimeSettingsService.create().pipe(switchMap(() => this.flowInfoService.init$(flowId, { productId, headerId: quoteId, testMode: true })), switchMap(() => this.configurationRuntimeService.init$({ productId })), tap(pcmModel => (this.pcmModel = pcmModel)), switchMap(() => {
|
|
41
|
+
if (options?.customizationMode) {
|
|
42
|
+
return of(undefined);
|
|
43
|
+
}
|
|
44
|
+
return this.initConfiguration$(quoteId);
|
|
45
|
+
}), tap(() => (this.isInitialized = true)), map(noop));
|
|
46
|
+
}
|
|
47
|
+
initConfiguration$(quoteId) {
|
|
48
|
+
return this.getPriceBookId(quoteId).pipe(map(priceBookId => this.getTestTransactionContext(quoteId, priceBookId)), tap(state => this.salesTransactionService.setState(state)), switchMap(() => this.configurationService.init$()), switchMap(() => this.configurationService.state
|
|
49
|
+
? this.configurationService.configure$(this.configurationService.state)
|
|
50
|
+
: of(undefined)), map(noop));
|
|
51
|
+
}
|
|
52
|
+
getPriceBookId(quoteId) {
|
|
53
|
+
return this.sfApiService
|
|
54
|
+
.query({ count: 1, fields: ['Pricebook2Id'], rawCondition: `Id = '${quoteId}'` }, 'Quote')
|
|
55
|
+
.pipe(map(r => r?.[0]?.Pricebook2Id ?? null));
|
|
56
|
+
}
|
|
57
|
+
getTestTransactionContext(quoteId, priceBookId) {
|
|
58
|
+
const dateStr = new Date().toISOString().split('T')[0] ?? '';
|
|
59
|
+
const testTransaction = {
|
|
60
|
+
id: quoteId,
|
|
61
|
+
businessObjectType: 'Quote',
|
|
62
|
+
salesTransactionItems: [],
|
|
63
|
+
salesTransactionName: 'Test Quote',
|
|
64
|
+
account: '',
|
|
65
|
+
quoteAccount: '',
|
|
66
|
+
pricebook: '',
|
|
67
|
+
status: 'Draft',
|
|
68
|
+
totalAmount: 0,
|
|
69
|
+
subtotal: 0,
|
|
70
|
+
activatedDate: dateStr,
|
|
71
|
+
effectiveDate: dateStr,
|
|
72
|
+
startDate: dateStr,
|
|
73
|
+
attributes: {},
|
|
74
|
+
nodes: {},
|
|
75
|
+
};
|
|
76
|
+
if (priceBookId) {
|
|
77
|
+
testTransaction.pricebook = priceBookId;
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
salesTransaction: testTransaction,
|
|
81
|
+
transactionId: quoteId,
|
|
82
|
+
businessObjectType: 'Quote',
|
|
83
|
+
nodes: {},
|
|
84
|
+
id: UUID.UUID(),
|
|
85
|
+
attributes: {},
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
checkInitialized(uiDefinitionContainer) {
|
|
89
|
+
return this.isInitialized && !!uiDefinitionContainer.source.properties?.persistTestState;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
TestModeConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestModeConfigurationService, deps: [{ token: i1.FlowInfoService }, { token: i2.ConfigurationService }, { token: i3.ConfigurationRuntimeService }, { token: i1.SalesTransactionService }, { token: i1.RuntimeSettingsService }, { token: i4.SalesforceApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
93
|
+
TestModeConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestModeConfigurationService });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TestModeConfigurationService, decorators: [{
|
|
95
|
+
type: Injectable
|
|
96
|
+
}], ctorParameters: function () { return [{ type: i1.FlowInfoService }, { type: i2.ConfigurationService }, { type: i3.ConfigurationRuntimeService }, { type: i1.SalesTransactionService }, { type: i1.RuntimeSettingsService }, { type: i4.SalesforceApiService }]; } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1tb2RlLWNvbmZpZ3VyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvbW9kdWxlcy9jb25maWd1cmF0aW9uL3NlcnZpY2VzL3Rlc3QtbW9kZS1jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQXVELElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUcvRCxNQUFNLE9BQU8sNEJBQTRCO0lBSXZDLFlBQ1UsZUFBZ0MsRUFDaEMsb0JBQTBDLEVBQzFDLDJCQUF3RCxFQUN4RCx1QkFBZ0QsRUFDaEQsc0JBQThDLEVBQzlDLFlBQWtDO1FBTGxDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7UUFDeEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQVRwQyxrQkFBYSxHQUFH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QUFFLE9BQU87WUFDM0IsS0FBSyxFQUFFLEVBQUU7WUFDVCxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNmLFVBQVUsRUFBRSxFQUFFO1NBQ2YsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxxQkFBNEM7UUFDbkUsT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDO0lBQzNGLENBQUM7O3lIQWpIVSw0QkFBNEI7NkhBQTVCLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FsZXNmb3JjZUFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGkvdjInO1xuaW1wb3J0IHsgUENNTW9kZWwsIFRyYW5zYWN0aW9uQ29udGV4dCwgVUlEZWZpbml0aW9uQ29udGFpbmVyLCBVVUlEIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBtYXAsIG5vb3AsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAsIHRhcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmxvd0luZm9TZXJ2aWNlLCBSdW50aW1lU2V0dGluZ3NTZXJ2aWNlLCBTYWxlc1RyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFRlc3RNb2RlQ29uZmlndXJhdGlvbk9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGVzdE1vZGVDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIHBjbU1vZGVsPzogUENNTW9kZWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmbG93SW5mb1NlcnZpY2U6IEZsb3dJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZTogQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2FsZXNUcmFuc2FjdGlvblNlcnZpY2U6IFNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZVNldHRpbmdzU2VydmljZTogUnVudGltZVNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHNmQXBpU2VydmljZTogU2FsZXNmb3JjZUFwaVNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgaW5pdFRlc3RNb2RlJChcbiAgICB1aURlZmluaXRpb25Db250YWluZXI6IFVJRGVmaW5pdGlvbkNvbnRhaW5lcixcbiAgICBvcHRpb25zPzogVGVzdE1vZGVDb25maWd1cmF0aW9uT3B0aW9ucyxcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uQ29udGFpbmVyID0gdWlEZWZpbml0aW9uQ29udGFpbmVyO1xuXG4gICAgaWYgKHRoaXMuY2hlY2tJbml0aWFsaXplZCh1aURlZmluaXRpb25Db250YWluZXIpKSB7XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS5wY21Nb2RlbCA9IHRoaXMucGNtTW9kZWw7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5yZXNldCgpO1xuXG4gICAgY29uc3QgeyBwcm9kdWN0SWQsIHF1b3RlSWQsIGZsb3dJZCB9ID0gdWlEZWZpbml0aW9uQ29udGFpbmVyLnNvdXJjZS5wcm9wZXJ0aWVzID8/IHt9O1xuXG4gICAgaWYgKCFwcm9kdWN0SWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdVbmFibGUgdG8gc3RhcnQgdGhlIENvbmZpZ3VyYXRpb24gUHJldmlldzogUHJvZHVjdCBpcyBtaXNzaW5nLicpO1xuICAgIH1cbiAgICBpZiAoIXF1b3RlSWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGBVbmFibGUgdG8gc3RhcnQgdGhlIENvbmZpZ3VyYXRpb24gUHJldmlldzogUXVvdGUgaXMgbWlzc2luZy5gKTtcbiAgICB9XG4gICAgaWYgKCFmbG93SWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGBVbmFibGUgdG8gc3RhcnQgdGhlIENvbmZpZ3VyYXRpb24gUHJldmlldzogRmxvdyBpcyBtaXNzaW5nLmApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXR0aW5nc1NlcnZpY2UuY3JlYXRlKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmZsb3dJbmZvU2VydmljZS5pbml0JChmbG93SWQsIHsgcHJvZHVjdElkLCBoZWFkZXJJZDogcXVvdGVJZCwgdGVzdE1vZGU6IHRydWUgfSkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLmluaXQkKHsgcHJvZHVjdElkIH0pKSxcbiAgICAgIHRhcChwY21Nb2RlbCA9PiAodGhpcy5wY21Nb2RlbCA9IHBjbU1vZGVsKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucz8uY3VzdG9taXphdGlvbk1vZGUpIHtcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmluaXRDb25maWd1cmF0aW9uJChxdW90ZUlkKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+ICh0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlKSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENvbmZpZ3VyYXRpb24kKHF1b3RlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmdldFByaWNlQm9va0lkKHF1b3RlSWQpLnBpcGUoXG4gICAgICBtYXAocHJpY2VCb29rSWQgPT4gdGhpcy5nZXRUZXN0VHJhbnNhY3Rpb25Db250ZXh0KHF1b3RlSWQsIHByaWNlQm9va0lkKSksXG4gICAgICB0YXAoc3RhdGUgPT4gdGhpcy5zYWxlc1RyYW5zYWN0aW9uU2VydmljZS5zZXRTdGF0ZShzdGF0ZSkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuaW5pdCQoKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5zdGF0ZVxuICAgICAgICAgID8gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5jb25maWd1cmUkKHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2Uuc3RhdGUpXG4gICAgICAgICAgOiBvZih1bmRlZmluZWQpLFxuICAgICAgKSxcbiAgICAgIG1hcChub29wKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcmljZUJvb2tJZChxdW90ZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5zZkFwaVNlcnZpY2VcbiAgICAgIC5xdWVyeTx7IFByaWNlYm9vazJJZDogc3RyaW5nIH0+KFxuICAgICAgICB7IGNvdW50OiAxLCBmaWVsZHM6IFsnUHJpY2Vib29rMklkJ10sIHJhd0NvbmRpdGlvbjogYElkID0gJyR7cXVvdGVJZH0nYCB9LFxuICAgICAgICAnUXVvdGUnLFxuICAgICAgKVxuICAgICAgLnBpcGUobWFwKHIgPT4gcj8uWzBdPy5QcmljZWJvb2sySWQgPz8gbnVsbCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUZXN0VHJhbnNhY3Rpb25Db250ZXh0KHF1b3RlSWQ6IHN0cmluZywgcHJpY2VCb29rSWQ6IHN0cmluZyB8IG51bGwpOiBUcmFuc2FjdGlvbkNvbnRleHQge1xuICAgIGNvbnN0IGRhdGVTdHIgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSA/PyAnJztcblxuICAgIGNvbnN0IHRlc3RUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb25Db250ZXh0WydzYWxlc1RyYW5zYWN0aW9uJ10gPSB7XG4gICAgICBpZDogcXVvdGVJZCxcbiAgICAgIGJ1c2luZXNzT2JqZWN0VHlwZTogJ1F1b3RlJyxcbiAgICAgIHNhbGVzVHJhbnNhY3Rpb25JdGVtczogW10sXG4gICAgICBzYWxlc1RyYW5zYWN0aW9uTmFtZTogJ1Rlc3QgUXVvdGUnLFxuICAgICAgYWNjb3VudDogJycsXG4gICAgICBxdW90ZUFjY291bnQ6ICcnLFxuICAgICAgcHJpY2Vib29rOiAnJyxcbiAgICAgIHN0YXR1czogJ0RyYWZ0JyxcbiAgICAgIHRvdGFsQW1vdW50OiAwLFxuICAgICAgc3VidG90YWw6IDAsXG4gICAgICBhY3RpdmF0ZWREYXRlOiBkYXRlU3RyLFxuICAgICAgZWZmZWN0aXZlRGF0ZTogZGF0ZVN0cixcbiAgICAgIHN0YXJ0RGF0ZTogZGF0ZVN0cixcbiAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgbm9kZXM6IHt9LFxuICAgIH07XG5cbiAgICBpZiAocHJpY2VCb29rSWQpIHtcbiAgICAgIHRlc3RUcmFuc2FjdGlvbi5wcmljZWJvb2sgPSBwcmljZUJvb2tJZDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2FsZXNUcmFuc2FjdGlvbjogdGVzdFRyYW5zYWN0aW9uLFxuICAgICAgdHJhbnNhY3Rpb25JZDogcXVvdGVJZCxcbiAgICAgIGJ1c2luZXNzT2JqZWN0VHlwZTogJ1F1b3RlJyxcbiAgICAgIG5vZGVzOiB7fSxcbiAgICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNoZWNrSW5pdGlhbGl6ZWQodWlEZWZpbml0aW9uQ29udGFpbmVyOiBVSURlZmluaXRpb25Db250YWluZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkICYmICEhdWlEZWZpbml0aW9uQ29udGFpbmVyLnNvdXJjZS5wcm9wZXJ0aWVzPy5wZXJzaXN0VGVzdFN0YXRlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1ydW50aW1lLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vdHlwZXMvY29uZmlndXJhdGlvbi1ydW50aW1lLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVJbml0aWFsaXphdGlvblByb3BzIHtcbiAgcHJvZHVjdElkOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvbW9kdWxlcy9jb25maWd1cmF0aW9uL3R5cGVzL2NvbmZpZ3VyYXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBHdWlkZWRTZWxsaW5nU3VibWl0RGF0YSB7XG4gIG9yY2hlc3RyYXRpb25OYW1lOiBzdHJpbmc7XG4gIGF0dHJpYnV0ZXNNYXA6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZXJuYWxDb25maWd1cmF0aW9uUHJvcHMge1xuICBwcm9kdWN0SWQ6IHN0cmluZztcbiAgcXR5PzogbnVtYmVyO1xuICBhdHRyaWJ1dGVzTWFwPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXdDb25maWd1cmF0aW9uUHJvcHMgZXh0ZW5kcyBFeHRlcm5hbENvbmZpZ3VyYXRpb25Qcm9wcyB7XG4gIHByb2R1Y3Q6IFByb2R1Y3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVzdE1vZGVDb25maWd1cmF0aW9uT3B0aW9ucyB7XG4gIGN1c3RvbWl6YXRpb25Nb2RlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWFudGl0eUNoYW5nZVByb3BzIHtcbiAgaWQ6IHN0cmluZztcbiAgcXR5OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './configuration.types';
|
|
2
|
+
export * from './configuration-runtime.types';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvY29uZmlndXJhdGlvbi90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24udHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLXJ1bnRpbWUudHlwZXMnO1xuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ApiModule } from '@veloceapps/api';
|
|
3
|
+
import { FlowConfigurationService } from './services/flow-configuration.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class FlowConfigurationModule {
|
|
6
|
+
}
|
|
7
|
+
FlowConfigurationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
FlowConfigurationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationModule, imports: [ApiModule] });
|
|
9
|
+
FlowConfigurationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationModule, providers: [FlowConfigurationService], imports: [ApiModule] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: [ApiModule],
|
|
14
|
+
providers: [FlowConfigurationService],
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvbW9kdWxlcy9mbG93LWNvbmZpZ3VyYXRpb24vZmxvdy1jb25maWd1cmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFNakYsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1QjtxSEFBdkIsdUJBQXVCLFlBSHhCLFNBQVM7cUhBR1IsdUJBQXVCLGFBRnZCLENBQUMsd0JBQXdCLENBQUMsWUFEM0IsU0FBUzsyRkFHUix1QkFBdUI7a0JBSm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUNwQixTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBpTW9kdWxlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IEZsb3dDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQXBpTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRmxvd0NvbmZpZ3VyYXRpb25Nb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './services/flow-configuration.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { OrchestrationsApiService } from '@veloceapps/api/v2';
|
|
3
|
+
import { cloneDeep } from 'lodash';
|
|
4
|
+
import { catchError, map, noop, of, Subject, switchMap, tap, throwError } from 'rxjs';
|
|
5
|
+
import { FlowInfoService } from '../../../services';
|
|
6
|
+
import { SalesTransactionService } from '../../../services/sales-transaction.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@veloceapps/api/v2";
|
|
9
|
+
import * as i2 from "../../../services/sales-transaction.service";
|
|
10
|
+
import * as i3 from "../../../services";
|
|
11
|
+
export class FlowConfigurationService {
|
|
12
|
+
constructor(orchestrationsApiService, salesTransactionService, flowInfoService) {
|
|
13
|
+
this.orchestrationsApiService = orchestrationsApiService;
|
|
14
|
+
this.salesTransactionService = salesTransactionService;
|
|
15
|
+
this.flowInfoService = flowInfoService;
|
|
16
|
+
this.updatedSubj$ = new Subject();
|
|
17
|
+
this.updated$ = this.updatedSubj$.asObservable();
|
|
18
|
+
}
|
|
19
|
+
calculate$(state) {
|
|
20
|
+
return this.orchestrationsApiService
|
|
21
|
+
.apply$({ transactionContext: state, flowId: this.flowInfoService.flow.id })
|
|
22
|
+
.pipe(tap(result => this.salesTransactionService.setState(result)), map(noop));
|
|
23
|
+
}
|
|
24
|
+
calculate(state) {
|
|
25
|
+
this.calculate$(state).subscribe();
|
|
26
|
+
}
|
|
27
|
+
revert$(transactionItemId) {
|
|
28
|
+
const state = this.salesTransactionService.state;
|
|
29
|
+
const initialState = this.salesTransactionService.getInitialState();
|
|
30
|
+
const currentState = state?.salesTransaction.salesTransactionItems ?? [];
|
|
31
|
+
const currentItemIndex = currentState.findIndex(({ id }) => id === transactionItemId);
|
|
32
|
+
const currentItem = currentState[currentItemIndex];
|
|
33
|
+
const initialItem = initialState.find(({ integrationId }) => integrationId === currentItem?.integrationId);
|
|
34
|
+
if (!state || !currentItem || !initialItem) {
|
|
35
|
+
return of(null);
|
|
36
|
+
}
|
|
37
|
+
const updatedState = cloneDeep(currentState);
|
|
38
|
+
updatedState.splice(currentItemIndex, 1, initialItem);
|
|
39
|
+
return of([]).pipe(map(() => ({
|
|
40
|
+
...state,
|
|
41
|
+
salesTransaction: { ...state.salesTransaction, salesTransactionItems: updatedState },
|
|
42
|
+
})), tap(newState => this.salesTransactionService.setState(newState)), switchMap(newState => this.calculate$(newState)), map(() => this.salesTransactionService.state), tap(() => this.updatedSubj$.next()), this.handleErrorAndBounceBack());
|
|
43
|
+
}
|
|
44
|
+
revert(transactionItemId) {
|
|
45
|
+
this.revert$(transactionItemId).subscribe();
|
|
46
|
+
}
|
|
47
|
+
delete$(ids) {
|
|
48
|
+
const state = this.salesTransactionService.state;
|
|
49
|
+
if (!state) {
|
|
50
|
+
return of(null);
|
|
51
|
+
}
|
|
52
|
+
return of([]).pipe(map(() => state.salesTransaction.salesTransactionItems.filter(({ id }) => !ids.includes(id))), switchMap(updatedState => this.calculate$({
|
|
53
|
+
...state,
|
|
54
|
+
salesTransaction: { ...state.salesTransaction, salesTransactionItems: updatedState },
|
|
55
|
+
})), map(() => this.salesTransactionService.state), tap(() => this.updatedSubj$.next()), this.handleErrorAndBounceBack());
|
|
56
|
+
}
|
|
57
|
+
delete(ids) {
|
|
58
|
+
this.delete$(ids).subscribe();
|
|
59
|
+
}
|
|
60
|
+
handleErrorAndBounceBack() {
|
|
61
|
+
return (source$) => {
|
|
62
|
+
return source$.pipe(catchError(error => {
|
|
63
|
+
console.error(error);
|
|
64
|
+
// bounce back if configuration call has failed
|
|
65
|
+
const state = this.salesTransactionService.state;
|
|
66
|
+
if (state) {
|
|
67
|
+
this.salesTransactionService.setState(state);
|
|
68
|
+
this.updatedSubj$.next();
|
|
69
|
+
}
|
|
70
|
+
return throwError(() => error);
|
|
71
|
+
}));
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
FlowConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationService, deps: [{ token: i1.OrchestrationsApiService }, { token: i2.SalesTransactionService }, { token: i3.FlowInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
76
|
+
FlowConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationService });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowConfigurationService, decorators: [{
|
|
78
|
+
type: Injectable
|
|
79
|
+
}], ctorParameters: function () { return [{ type: i1.OrchestrationsApiService }, { type: i2.SalesTransactionService }, { type: i3.FlowInfoService }]; } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7O0FBR3RGLE1BQU0sT0FBTyx3QkFBd0I7SUFLbkMsWUFDVSx3QkFBa0QsRUFDbEQsdUJBQWdELEVBQ2hELGVBQWdDO1FBRmhDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFMbEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBT3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQXlCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QjthQUNqQyxNQUFNLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsTUFB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QUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7cUhBckdVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcmNoZXN0cmF0aW9uc0FwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGkvdjInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db250ZXh0IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBub29wLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZsb3dJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvc2FsZXMtdHJhbnNhY3Rpb24uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbG93Q29uZmlndXJhdGlvblNlcnZpY2Uge1xuICBwdWJsaWMgdXBkYXRlZCQ6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgcHJpdmF0ZSB1cGRhdGVkU3ViaiQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3JjaGVzdHJhdGlvbnNBcGlTZXJ2aWNlOiBPcmNoZXN0cmF0aW9uc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzYWxlc1RyYW5zYWN0aW9uU2VydmljZTogU2FsZXNUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93SW5mb1NlcnZpY2U6IEZsb3dJbmZvU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy51cGRhdGVkJCA9IHRoaXMudXBkYXRlZFN1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNhbGN1bGF0ZSQoc3RhdGU6IFRyYW5zYWN0aW9uQ29udGV4dCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLm9yY2hlc3RyYXRpb25zQXBpU2VydmljZVxuICAgICAgLmFwcGx5JCh7IHRyYW5zYWN0aW9uQ29udGV4dDogc3RhdGUsIGZsb3dJZDogdGhpcy5mbG93SW5mb1NlcnZpY2UuZmxvdy5pZCB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChyZXN1bHQgPT4gdGhpcy5zYWxlc1RyYW5zYWN0aW9uU2VydmljZS5zZXRTdGF0ZShyZXN1bHQpKSxcbiAgICAgICAgbWFwKG5vb3ApLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjYWxjdWxhdGUoc3RhdGU6IFRyYW5zYWN0aW9uQ29udGV4dCk6IHZvaWQge1xuICAgIHRoaXMuY2FsY3VsYXRlJChzdGF0ZSkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgcmV2ZXJ0JCh0cmFuc2FjdGlvbkl0ZW1JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbkNvbnRleHQgfCBudWxsPiB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLnN0YXRlO1xuICAgIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHRoaXMuc2FsZXNUcmFuc2FjdGlvblNlcnZpY2UuZ2V0SW5pdGlhbFN0YXRlKCk7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gc3RhdGU/LnNhbGVzVHJhbnNhY3Rpb24uc2FsZXNUcmFuc2FjdGlvbkl0ZW1zID8/IFtdO1xuXG4gICAgY29uc3QgY3VycmVudEl0ZW1JbmRleCA9IGN1cnJlbnRTdGF0ZS5maW5kSW5kZXgoKHsgaWQgfSkgPT4gaWQgPT09IHRyYW5zYWN0aW9uSXRlbUlkKTtcbiAgICBjb25zdCBjdXJyZW50SXRlbSA9IGN1cnJlbnRTdGF0ZVtjdXJyZW50SXRlbUluZGV4XTtcblxuICAgIGNvbnN0IGluaXRpYWxJdGVtID0gaW5pdGlhbFN0YXRlLmZpbmQoKHsgaW50ZWdyYXRpb25JZCB9KSA9PiBpbnRlZ3JhdGlvbklkID09PSBjdXJyZW50SXRlbT8uaW50ZWdyYXRpb25JZCk7XG5cbiAgICBpZiAoIXN0YXRlIHx8ICFjdXJyZW50SXRlbSB8fCAhaW5pdGlhbEl0ZW0pIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVkU3RhdGUgPSBjbG9uZURlZXAoY3VycmVudFN0YXRlKTtcbiAgICB1cGRhdGVkU3RhdGUuc3BsaWNlKGN1cnJlbnRJdGVtSW5kZXgsIDEsIGluaXRpYWxJdGVtKTtcblxuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiAoe1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2FsZXNUcmFuc2FjdGlvbjogeyAuLi5zdGF0ZS5zYWxlc1RyYW5zYWN0aW9uLCBzYWxlc1RyYW5zYWN0aW9uSXRlbXM6IHVwZGF0ZWRTdGF0ZSB9LFxuICAgICAgfSkpLFxuICAgICAgdGFwKG5ld1N0YXRlID0+IHRoaXMuc2FsZXNUcmFuc2FjdGlvblNlcnZpY2Uuc2V0U3RhdGUobmV3U3RhdGUpKSxcbiAgICAgIHN3aXRjaE1hcChuZXdTdGF0ZSA9PiB0aGlzLmNhbGN1bGF0ZSQobmV3U3RhdGUpKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLnN0YXRlKSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZWRTdWJqJC5uZXh0KCkpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvckFuZEJvdW5jZUJhY2soKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJldmVydCh0cmFuc2FjdGlvbkl0ZW1JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5yZXZlcnQkKHRyYW5zYWN0aW9uSXRlbUlkKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUkKGlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uQ29udGV4dCB8IG51bGw+IHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc2FsZXNUcmFuc2FjdGlvblNlcnZpY2Uuc3RhdGU7XG4gICAgaWYgKCFzdGF0ZSkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cblxuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiBzdGF0ZS5zYWxlc1RyYW5zYWN0aW9uLnNhbGVzVHJhbnNhY3Rpb25JdGVtcy5maWx0ZXIoKHsgaWQgfSkgPT4gIWlkcy5pbmNsdWRlcyhpZCkpKSxcbiAgICAgIHN3aXRjaE1hcCh1cGRhdGVkU3RhdGUgPT5cbiAgICAgICAgdGhpcy5jYWxjdWxhdGUkKHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBzYWxlc1RyYW5zYWN0aW9uOiB7IC4uLnN0YXRlLnNhbGVzVHJhbnNhY3Rpb24sIHNhbGVzVHJhbnNhY3Rpb25JdGVtczogdXBkYXRlZFN0YXRlIH0sXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLnN0YXRlKSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZWRTdWJqJC5uZXh0KCkpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvckFuZEJvdW5jZUJhY2soKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZShpZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5kZWxldGUkKGlkcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yQW5kQm91bmNlQmFjaygpIHtcbiAgICByZXR1cm4gPFQ+KHNvdXJjZSQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+ID0+IHtcbiAgICAgIHJldHVybiBzb3VyY2UkLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXG4gICAgICAgICAgLy8gYm91bmNlIGJhY2sgaWYgY29uZmlndXJhdGlvbiBjYWxsIGhhcyBmYWlsZWRcbiAgICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc2FsZXNUcmFuc2FjdGlvblNlcnZpY2Uuc3RhdGU7XG4gICAgICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLnNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLnNldFN0YXRlKHN0YXRlKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlZFN1YmokLm5leHQoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './configuration';
|
|
2
|
+
export * from './flow-configuration';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZmxvdy1jb25maWd1cmF0aW9uJztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { filter, map } from 'rxjs';
|
|
2
|
+
export function filterSuccessfulExecute() {
|
|
3
|
+
return (source) => source.pipe(filter((result) => result.success), map(r => r.result));
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXN1Y2Nlc3NmdWwtZXhlY3V0ZS5vcGVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvb3BlcmF0b3JzL2ZpbHRlci1zdWNjZXNzZnVsLWV4ZWN1dGUub3BlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFL0MsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxPQUFPLENBQUMsTUFBZ0QsRUFBRSxFQUFFLENBQzFELE1BQU0sQ0FBQyxJQUFJLENBQ1QsTUFBTSxDQUFDLENBQUMsTUFBb0MsRUFBd0MsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDdEcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUNuQixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsb3dTdGF0ZVNlbGVjdG9yUmVzcG9uc2UsIEZsb3dTdGF0ZVNlbGVjdG9yUmVzdWx0IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyU3VjY2Vzc2Z1bEV4ZWN1dGU8VD4oKSB7XG4gIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPEZsb3dTdGF0ZVNlbGVjdG9yUmVzcG9uc2U8VD4+KSA9PlxuICAgIHNvdXJjZS5waXBlKFxuICAgICAgZmlsdGVyKChyZXN1bHQ6IEZsb3dTdGF0ZVNlbGVjdG9yUmVzcG9uc2U8VD4pOiByZXN1bHQgaXMgRmxvd1N0YXRlU2VsZWN0b3JSZXN1bHQ8VD4gPT4gcmVzdWx0LnN1Y2Nlc3MpLFxuICAgICAgbWFwKHIgPT4gci5yZXN1bHQpLFxuICAgICk7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './filter-successful-execute.operator';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL29wZXJhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItc3VjY2Vzc2Z1bC1leGVjdXRlLm9wZXJhdG9yJztcbiJdfQ==
|
|
@@ -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=
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { DATE_PIPE_DEFAULT_OPTIONS, formatDate } from '@angular/common';
|
|
2
|
+
import { LOCALE_ID, Pipe, inject } from '@angular/core';
|
|
3
|
+
import { DEFAULT_DATE_FORMAT, DEFAULT_TIME_FORMAT } from '@veloceapps/core';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { FORMATTING_SETTINGS_TOKEN } from '../types';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class DatePipe {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.locale = inject(LOCALE_ID);
|
|
10
|
+
this.defaultOptions = inject(DATE_PIPE_DEFAULT_OPTIONS, { optional: true });
|
|
11
|
+
this.formattingSettings = inject(FORMATTING_SETTINGS_TOKEN, { optional: true })?.getFormattingSettings();
|
|
12
|
+
this.destroy$ = new Subject();
|
|
13
|
+
}
|
|
14
|
+
ngOnDestroy() {
|
|
15
|
+
this.destroy$.next();
|
|
16
|
+
this.destroy$.complete();
|
|
17
|
+
}
|
|
18
|
+
transform(date, type = 'date') {
|
|
19
|
+
if (!date) {
|
|
20
|
+
return '';
|
|
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
|
+
};
|
|
28
|
+
try {
|
|
29
|
+
return formatDate(date, formatMap[type], this.locale, this.defaultOptions?.timezone);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
return new Date(date).toString();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
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: [{
|
|
39
|
+
type: Pipe,
|
|
40
|
+
args: [{
|
|
41
|
+
name: 'vlDate',
|
|
42
|
+
}]
|
|
43
|
+
}] });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9waXBlcy9kYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQWEsSUFBSSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQVkseUJBQXlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBSy9ELE1BQU0sT0FBTyxRQUFRO0lBSHJCO1FBSVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLENBQUM7UUFDcEcsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0EwQnhDO0lBeEJRLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBK0MsRUFBRSxPQUFpQixNQUFNO1FBQ3ZGLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxjQUFjLElBQUksbUJBQW1CLENBQUM7UUFFOUYsTUFBTSxTQUFTLEdBQWtDO1lBQy9DLElBQUksRUFBRSxVQUFVO1lBQ2hCLElBQUksRUFBRSxtQkFBbUI7WUFDekIsUUFBUSxFQUFFLEdBQUcsVUFBVSxJQUFJLG1CQUFtQixFQUFFO1NBQ2pELENBQUM7UUFFRixJQUFJO1lBQ0YsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDdEY7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbEM7SUFDSCxDQUFDOztxR0E3QlUsUUFBUTttR0FBUixRQUFROzJGQUFSLFFBQVE7a0JBSHBCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEQVRFX1BJUEVfREVGQVVMVF9PUFRJT05TLCBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IExPQ0FMRV9JRCwgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERFRkFVTFRfREFURV9GT1JNQVQsIERFRkFVTFRfVElNRV9GT1JNQVQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdGVUeXBlLCBGT1JNQVRUSU5HX1NFVFRJTkdTX1RPS0VOIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd2bERhdGUnLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgbG9jYWxlID0gaW5qZWN0KExPQ0FMRV9JRCk7XG4gIHByaXZhdGUgZGVmYXVsdE9wdGlvbnMgPSBpbmplY3QoREFURV9QSVBFX0RFRkFVTFRfT1BUSU9OUywgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBmb3JtYXR0aW5nU2V0dGluZ3MgPSBpbmplY3QoRk9STUFUVElOR19TRVRUSU5HU19UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KT8uZ2V0Rm9ybWF0dGluZ1NldHRpbmdzKCk7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmb3JtKGRhdGU6IHN0cmluZyB8IG51bWJlciB8IERhdGUgfCB1bmRlZmluZWQgfCBudWxsLCB0eXBlOiBEYXRlVHlwZSA9ICdkYXRlJyk6IHN0cmluZyB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IHRoaXMuZm9ybWF0dGluZ1NldHRpbmdzPy5kYXRlRm9ybWF0cy5kYXRlUGlwZUZvcm1hdCB8fCBERUZBVUxUX0RBVEVfRk9STUFUO1xuXG4gICAgY29uc3QgZm9ybWF0TWFwOiB7IFtrZXkgaW4gRGF0ZVR5cGVdOiBzdHJpbmcgfSA9IHtcbiAgICAgIGRhdGU6IGRhdGVGb3JtYXQsXG4gICAgICB0aW1lOiBERUZBVUxUX1RJTUVfRk9STUFULFxuICAgICAgZGF0ZXRpbWU6IGAke2RhdGVGb3JtYXR9ICR7REVGQVVMVF9USU1FX0ZPUk1BVH1gLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZvcm1hdERhdGUoZGF0ZSwgZm9ybWF0TWFwW3R5cGVdLCB0aGlzLmxvY2FsZSwgdGhpcy5kZWZhdWx0T3B0aW9ucz8udGltZXpvbmUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSkudG9TdHJpbmcoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|