@veloceapps/sdk 8.0.0-9 → 8.0.0-90
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +0 -1
- package/cms/utils/element.utils.d.ts +1 -0
- package/cms/vendor-map.d.ts +7 -2
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +1 -1
- package/core/modules/configuration/services/configuration.service.d.ts +6 -1
- package/core/modules/flow-configuration/types/update.types.d.ts +1 -1
- 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 +2 -0
- package/core/services/runtime-settings.service.d.ts +4 -1
- package/core/types/formatting-settings.types.d.ts +2 -0
- package/core/types/index.d.ts +1 -0
- package/core/types/pipe.types.d.ts +1 -0
- 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 +3 -3
- 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 +3 -3
- package/esm2020/cms/components/preview/preview.module.mjs +4 -4
- package/esm2020/cms/directives/custom-template.directive.mjs +7 -7
- package/esm2020/cms/launcher.module.mjs +4 -4
- 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.module.mjs +4 -4
- package/esm2020/cms/modules/migrations/services/migrations.service.mjs +3 -3
- package/esm2020/cms/modules/runtime/runtime.module.mjs +4 -4
- package/esm2020/cms/modules/runtime/services/compilation.service.mjs +3 -3
- package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +3 -3
- package/esm2020/cms/modules/runtime/services/runtime.service.mjs +3 -3
- package/esm2020/cms/plugins/configuration.plugin.mjs +3 -3
- package/esm2020/cms/plugins/element-hover.plugin.mjs +3 -3
- package/esm2020/cms/plugins/io.plugin.mjs +8 -7
- 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/integration.state.mjs +3 -3
- package/esm2020/cms/services/io-provider.service.mjs +3 -3
- package/esm2020/cms/services/resources.service.mjs +3 -3
- package/esm2020/cms/services/templates.service.mjs +3 -3
- package/esm2020/cms/utils/element.utils.mjs +10 -3
- package/esm2020/cms/utils/elements-resolver.mjs +2 -2
- package/esm2020/cms/vendor-map.mjs +8 -3
- package/esm2020/core/core.module.mjs +8 -17
- 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 +4 -4
- package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +11 -14
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +28 -9
- package/esm2020/core/modules/configuration/services/configuration.state.mjs +3 -3
- package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +9 -9
- package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +4 -4
- package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +3 -3
- package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +7 -14
- package/esm2020/core/modules/flow-configuration/types/update.types.mjs +1 -1
- 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 +20 -5
- package/esm2020/core/services/metric-calculation/metric-calculation.service.mjs +3 -3
- package/esm2020/core/services/product-images.service.mjs +3 -3
- package/esm2020/core/services/quote-draft.service.mjs +5 -4
- package/esm2020/core/services/runtime-settings.service.mjs +20 -5
- package/esm2020/core/types/formatting-settings.types.mjs +1 -1
- package/esm2020/core/types/index.mjs +2 -1
- package/esm2020/core/types/pipe.types.mjs +2 -0
- 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 +13 -14
- package/esm2020/src/components/doc-gen/doc-gen.module.mjs +4 -4
- package/esm2020/src/components/guided-selling/guided-selling.component.mjs +13 -14
- package/esm2020/src/components/guided-selling/guided-selling.module.mjs +4 -4
- package/esm2020/src/components/header/cart-overlay/cart-preview.component.mjs +3 -3
- package/esm2020/src/components/header/cart-overlay/cart-preview.module.mjs +4 -4
- package/esm2020/src/components/header/header.component.mjs +4 -4
- package/esm2020/src/components/header/header.module.mjs +4 -4
- package/esm2020/src/components/header/metrics/metrics.component.mjs +4 -4
- package/esm2020/src/components/header/metrics/metrics.module.mjs +4 -4
- package/esm2020/src/flow-routing.module.mjs +66 -75
- package/esm2020/src/flow.component.mjs +16 -10
- package/esm2020/src/flow.module.mjs +4 -4
- package/esm2020/src/guards/context.guard.mjs +4 -4
- package/esm2020/src/guards/flow.guard.mjs +23 -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 +12 -12
- package/esm2020/src/pages/assets/assets.module.mjs +4 -4
- package/esm2020/src/pages/catalog/catalog.component.mjs +12 -12
- 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 +5 -6
- package/esm2020/src/pages/product/product.module.mjs +4 -4
- package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +3 -3
- package/esm2020/src/pages/record-not-found/record-not-found.module.mjs +4 -4
- package/esm2020/src/pages/remote/remote.component.mjs +8 -9
- package/esm2020/src/pages/remote/remote.module.mjs +4 -4
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +12 -12
- package/esm2020/src/pages/shopping-cart/shopping-cart.module.mjs +4 -4
- package/esm2020/src/resolvers/flow.resolver.mjs +17 -11
- package/esm2020/src/resolvers/quote.resolver.mjs +12 -8
- package/esm2020/src/services/doc-gen.service.mjs +3 -3
- package/esm2020/src/services/flow-dialog.service.mjs +3 -3
- package/esm2020/src/services/flow-router.service.mjs +5 -5
- package/esm2020/src/services/flow.service.mjs +34 -11
- package/esm2020/src/services/guided-selling.service.mjs +3 -3
- package/esm2020/src/utils/flow.utils.mjs +6 -2
- package/fesm2015/veloceapps-sdk-cms.mjs +129 -116
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +1064 -1011
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +605 -695
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +128 -115
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +589 -538
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +606 -697
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +3 -11
- package/src/components/doc-gen/doc-gen.component.d.ts +4 -5
- package/src/components/guided-selling/guided-selling.component.d.ts +5 -6
- package/src/flow-routing.module.d.ts +6 -7
- package/src/flow.component.d.ts +3 -2
- package/src/guards/context.guard.d.ts +4 -4
- 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 +3 -3
- package/src/pages/catalog/catalog.component.d.ts +3 -3
- package/src/pages/debug/debug.component.d.ts +5 -8
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -3
- package/src/resolvers/flow.resolver.d.ts +3 -1
- package/src/resolvers/quote.resolver.d.ts +3 -1
- package/src/services/flow.service.d.ts +11 -2
- 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/pages/legacy-product/legacy-product.component.mjs +0 -137
- package/esm2020/src/pages/legacy-product/legacy-product.module.mjs +0 -19
- 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/pages/legacy-product/legacy-product.component.d.ts +0 -37
- package/src/pages/legacy-product/legacy-product.module.d.ts +0 -9
@@ -1,31 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { ProductModelApiService } from '@veloceapps/api';
|
3
|
-
import { shareReplay } from 'rxjs/operators';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@veloceapps/api";
|
6
|
-
export class ProductModelCacheService {
|
7
|
-
constructor(productModelApiService) {
|
8
|
-
this.productModelApiService = productModelApiService;
|
9
|
-
this.cachedModel = new Map();
|
10
|
-
}
|
11
|
-
getProductModel(currentModelId, version) {
|
12
|
-
if (!this.cachedModel.has(currentModelId) || version) {
|
13
|
-
this.clearCache();
|
14
|
-
this.cachedModel.set(currentModelId, this.productModelApiService.load(currentModelId, version).pipe(shareReplay(1)));
|
15
|
-
}
|
16
|
-
return this.cachedModel.get(currentModelId);
|
17
|
-
}
|
18
|
-
getCachedModel() {
|
19
|
-
const ids = Array.from(this.cachedModel.keys());
|
20
|
-
return this.cachedModel.get(ids[0]);
|
21
|
-
}
|
22
|
-
clearCache() {
|
23
|
-
this.cachedModel.clear();
|
24
|
-
}
|
25
|
-
}
|
26
|
-
ProductModelCacheService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductModelCacheService, deps: [{ token: i1.ProductModelApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
27
|
-
ProductModelCacheService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductModelCacheService });
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductModelCacheService, decorators: [{
|
29
|
-
type: Injectable
|
30
|
-
}], ctorParameters: function () { return [{ type: i1.ProductModelApiService }]; } });
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tb2RlbC1jYWNoZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9wcm9kdWN0LW1vZGVsLWNhY2hlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3QyxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRTFELGdCQUFXLEdBQW9ELElBQUksR0FBRyxFQUFFLENBQUM7SUFGWixDQUFDO0lBSS9ELGVBQWUsQ0FBQyxjQUFzQixFQUFFLE9BQWdCO1FBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBRWxCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUNsQixjQUFjLEVBQ2QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMvRSxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBdUMsQ0FBQztJQUNwRixDQUFDO0lBRU0sY0FBYztRQUNuQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVoRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBdUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7cUhBMUJVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9kdWN0TW9kZWxBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IFByb2R1Y3RNb2RlbHNDb250YWluZXIgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1vZGVsQ2FjaGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9kdWN0TW9kZWxBcGlTZXJ2aWNlOiBQcm9kdWN0TW9kZWxBcGlTZXJ2aWNlKSB7fVxuXG4gIHByaXZhdGUgY2FjaGVkTW9kZWw6IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8UHJvZHVjdE1vZGVsc0NvbnRhaW5lcj4+ID0gbmV3IE1hcCgpO1xuXG4gIHB1YmxpYyBnZXRQcm9kdWN0TW9kZWwoY3VycmVudE1vZGVsSWQ6IHN0cmluZywgdmVyc2lvbj86IHN0cmluZyk6IE9ic2VydmFibGU8UHJvZHVjdE1vZGVsc0NvbnRhaW5lcj4ge1xuICAgIGlmICghdGhpcy5jYWNoZWRNb2RlbC5oYXMoY3VycmVudE1vZGVsSWQpIHx8IHZlcnNpb24pIHtcbiAgICAgIHRoaXMuY2xlYXJDYWNoZSgpO1xuXG4gICAgICB0aGlzLmNhY2hlZE1vZGVsLnNldChcbiAgICAgICAgY3VycmVudE1vZGVsSWQsXG4gICAgICAgIHRoaXMucHJvZHVjdE1vZGVsQXBpU2VydmljZS5sb2FkKGN1cnJlbnRNb2RlbElkLCB2ZXJzaW9uKS5waXBlKHNoYXJlUmVwbGF5KDEpKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkTW9kZWwuZ2V0KGN1cnJlbnRNb2RlbElkKSBhcyBPYnNlcnZhYmxlPFByb2R1Y3RNb2RlbHNDb250YWluZXI+O1xuICB9XG5cbiAgcHVibGljIGdldENhY2hlZE1vZGVsKCk6IE9ic2VydmFibGU8UHJvZHVjdE1vZGVsc0NvbnRhaW5lcj4ge1xuICAgIGNvbnN0IGlkcyA9IEFycmF5LmZyb20odGhpcy5jYWNoZWRNb2RlbC5rZXlzKCkpO1xuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkTW9kZWwuZ2V0KGlkc1swXSkgYXMgT2JzZXJ2YWJsZTxQcm9kdWN0TW9kZWxzQ29udGFpbmVyPjtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckNhY2hlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FjaGVkTW9kZWwuY2xlYXIoKTtcbiAgfVxufVxuIl19
|
@@ -1,60 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { ConfigurationApiService } from '@veloceapps/api';
|
3
|
-
import { RuntimeModel, SectionPathUtil, isLegacyUIDefinition } from '@veloceapps/core';
|
4
|
-
import { ContextService, RuntimeMode } from '@veloceapps/sdk/core';
|
5
|
-
import { MessageService } from 'primeng/api';
|
6
|
-
import { map } from 'rxjs/operators';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@veloceapps/api";
|
9
|
-
import * as i2 from "primeng/api";
|
10
|
-
import * as i3 from "@veloceapps/sdk/core";
|
11
|
-
export class RuntimeContextService {
|
12
|
-
constructor(configurationApiService, messageService, contextService) {
|
13
|
-
this.configurationApiService = configurationApiService;
|
14
|
-
this.messageService = messageService;
|
15
|
-
this.contextService = contextService;
|
16
|
-
}
|
17
|
-
getRuntimeContext(productId, offeringId) {
|
18
|
-
return this.configurationApiService.getRuntimeDataByProductId(productId, offeringId).pipe(map(runtimeData => {
|
19
|
-
const uiDefinition = this.getUIDefinition(runtimeData);
|
20
|
-
const runtimeModel = RuntimeModel.create(runtimeData.types, runtimeData.products);
|
21
|
-
const { productName, properties } = Array.from(runtimeModel.components.values()).find(c => c.productId === productId) ?? {};
|
22
|
-
return {
|
23
|
-
modelId: runtimeData.modelId,
|
24
|
-
uiDefinition: uiDefinition,
|
25
|
-
runtimeModel: runtimeModel,
|
26
|
-
runtimeMode: RuntimeMode.PROD,
|
27
|
-
productId: productId,
|
28
|
-
productType: properties?.['displayName'] || productName,
|
29
|
-
offeringId: offeringId,
|
30
|
-
properties: {
|
31
|
-
PricingEnabled: uiDefinition.pricingEnabled ? 'true' : 'false',
|
32
|
-
},
|
33
|
-
};
|
34
|
-
}));
|
35
|
-
}
|
36
|
-
getUIDefinition(runtimeData) {
|
37
|
-
const { uiDefinitionId } = this.contextService.resolve();
|
38
|
-
const findByFn = (uiDef) => uiDefinitionId ? uiDefinitionId === uiDef.id : uiDef.primary;
|
39
|
-
const uiDefinitions = runtimeData.uiDefinitions
|
40
|
-
.map(({ source }) => source)
|
41
|
-
.filter((uiDefinition) => isLegacyUIDefinition(uiDefinition));
|
42
|
-
const uiDefinition = uiDefinitions.find(findByFn) || (uiDefinitions.length === 1 && { ...uiDefinitions[0] });
|
43
|
-
if (!uiDefinition) {
|
44
|
-
const errMsg = `Unable to find ${uiDefinitionId ? uiDefinitionId : 'Default'} UI`;
|
45
|
-
this.messageService.add({
|
46
|
-
severity: 'error',
|
47
|
-
summary: 'ERROR',
|
48
|
-
});
|
49
|
-
throw new Error(errMsg);
|
50
|
-
}
|
51
|
-
SectionPathUtil.updateSectionsPath(uiDefinition.sections);
|
52
|
-
return uiDefinition;
|
53
|
-
}
|
54
|
-
}
|
55
|
-
RuntimeContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeContextService, deps: [{ token: i1.ConfigurationApiService }, { token: i2.MessageService }, { token: i3.ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
56
|
-
RuntimeContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeContextService });
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeContextService, decorators: [{
|
58
|
-
type: Injectable
|
59
|
-
}], ctorParameters: function () { return [{ type: i1.ConfigurationApiService }, { type: i2.MessageService }, { type: i3.ContextService }]; } });
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL3NlcnZpY2VzL3J1bnRpbWUtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFtQyxZQUFZLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFJckMsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUNVLHVCQUFnRCxFQUNoRCxjQUE4QixFQUM5QixjQUE4QjtRQUY5Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDckMsQ0FBQztJQUVHLGlCQUFpQixDQUFDLFNBQWlCLEVBQUUsVUFBbUI7UUFDN0QsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMseUJBQXlCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDdkYsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkQsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRixNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxHQUMvQixLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUUxRixPQUFPO2dCQUNMLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTztnQkFDNUIsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixXQUFXLEVBQUUsV0FBVyxDQUFDLElBQUk7Z0JBQzdCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVztnQkFDdkQsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLFVBQVUsRUFBRTtvQkFDVixjQUFjLEVBQUUsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPO2lCQUMvRDthQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLGVBQWUsQ0FBQyxXQUF3QjtRQUM5QyxNQUFNLEVBQUUsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV6RCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXlCLEVBQVcsRUFBRSxDQUN0RCxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBRS9ELE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxhQUFhO2FBQzVDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQzthQUMzQixNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQXNDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU3RyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE1BQU0sTUFBTSxHQUFHLGtCQUFrQixjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLENBQUM7WUFFbEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3RCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixPQUFPLEVBQUUsT0FBTzthQUNqQixDQUFDLENBQUM7WUFDSCxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3pCO1FBRUQsZUFBZSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUxRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOztrSEF2RFUscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IExlZ2FjeVVJRGVmaW5pdGlvbiwgUnVudGltZURhdGEsIFJ1bnRpbWVNb2RlbCwgU2VjdGlvblBhdGhVdGlsLCBpc0xlZ2FjeVVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIFJ1bnRpbWVNb2RlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMZWdhY3lSdW50aW1lQ29udGV4dCB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVDb250ZXh0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbkFwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVDb250ZXh0KHByb2R1Y3RJZDogc3RyaW5nLCBvZmZlcmluZ0lkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxMZWdhY3lSdW50aW1lQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLmdldFJ1bnRpbWVEYXRhQnlQcm9kdWN0SWQocHJvZHVjdElkLCBvZmZlcmluZ0lkKS5waXBlKFxuICAgICAgbWFwKHJ1bnRpbWVEYXRhID0+IHtcbiAgICAgICAgY29uc3QgdWlEZWZpbml0aW9uID0gdGhpcy5nZXRVSURlZmluaXRpb24ocnVudGltZURhdGEpO1xuICAgICAgICBjb25zdCBydW50aW1lTW9kZWwgPSBSdW50aW1lTW9kZWwuY3JlYXRlKHJ1bnRpbWVEYXRhLnR5cGVzLCBydW50aW1lRGF0YS5wcm9kdWN0cyk7XG4gICAgICAgIGNvbnN0IHsgcHJvZHVjdE5hbWUsIHByb3BlcnRpZXMgfSA9XG4gICAgICAgICAgQXJyYXkuZnJvbShydW50aW1lTW9kZWwuY29tcG9uZW50cy52YWx1ZXMoKSkuZmluZChjID0+IGMucHJvZHVjdElkID09PSBwcm9kdWN0SWQpID8/IHt9O1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbW9kZWxJZDogcnVudGltZURhdGEubW9kZWxJZCxcbiAgICAgICAgICB1aURlZmluaXRpb246IHVpRGVmaW5pdGlvbixcbiAgICAgICAgICBydW50aW1lTW9kZWw6IHJ1bnRpbWVNb2RlbCxcbiAgICAgICAgICBydW50aW1lTW9kZTogUnVudGltZU1vZGUuUFJPRCxcbiAgICAgICAgICBwcm9kdWN0SWQ6IHByb2R1Y3RJZCxcbiAgICAgICAgICBwcm9kdWN0VHlwZTogcHJvcGVydGllcz8uWydkaXNwbGF5TmFtZSddIHx8IHByb2R1Y3ROYW1lLFxuICAgICAgICAgIG9mZmVyaW5nSWQ6IG9mZmVyaW5nSWQsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgUHJpY2luZ0VuYWJsZWQ6IHVpRGVmaW5pdGlvbi5wcmljaW5nRW5hYmxlZCA/ICd0cnVlJyA6ICdmYWxzZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFVJRGVmaW5pdGlvbihydW50aW1lRGF0YTogUnVudGltZURhdGEpOiBMZWdhY3lVSURlZmluaXRpb24ge1xuICAgIGNvbnN0IHsgdWlEZWZpbml0aW9uSWQgfSA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuXG4gICAgY29uc3QgZmluZEJ5Rm4gPSAodWlEZWY6IExlZ2FjeVVJRGVmaW5pdGlvbik6IGJvb2xlYW4gPT5cbiAgICAgIHVpRGVmaW5pdGlvbklkID8gdWlEZWZpbml0aW9uSWQgPT09IHVpRGVmLmlkIDogdWlEZWYucHJpbWFyeTtcblxuICAgIGNvbnN0IHVpRGVmaW5pdGlvbnMgPSBydW50aW1lRGF0YS51aURlZmluaXRpb25zXG4gICAgICAubWFwKCh7IHNvdXJjZSB9KSA9PiBzb3VyY2UpXG4gICAgICAuZmlsdGVyKCh1aURlZmluaXRpb24pOiB1aURlZmluaXRpb24gaXMgTGVnYWN5VUlEZWZpbml0aW9uID0+IGlzTGVnYWN5VUlEZWZpbml0aW9uKHVpRGVmaW5pdGlvbikpO1xuICAgIGNvbnN0IHVpRGVmaW5pdGlvbiA9IHVpRGVmaW5pdGlvbnMuZmluZChmaW5kQnlGbikgfHwgKHVpRGVmaW5pdGlvbnMubGVuZ3RoID09PSAxICYmIHsgLi4udWlEZWZpbml0aW9uc1swXSB9KTtcblxuICAgIGlmICghdWlEZWZpbml0aW9uKSB7XG4gICAgICBjb25zdCBlcnJNc2cgPSBgVW5hYmxlIHRvIGZpbmQgJHt1aURlZmluaXRpb25JZCA/IHVpRGVmaW5pdGlvbklkIDogJ0RlZmF1bHQnfSBVSWA7XG5cbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgIHN1bW1hcnk6ICdFUlJPUicsXG4gICAgICB9KTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnJNc2cpO1xuICAgIH1cblxuICAgIFNlY3Rpb25QYXRoVXRpbC51cGRhdGVTZWN0aW9uc1BhdGgodWlEZWZpbml0aW9uLnNlY3Rpb25zKTtcblxuICAgIHJldHVybiB1aURlZmluaXRpb247XG4gIH1cbn1cbiJdfQ==
|
@@ -1,219 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { FormControl, FormGroup } from '@angular/forms';
|
3
|
-
import { EntityUtil, TypeValidators } from '@veloceapps/core';
|
4
|
-
import { isNull, isString, isUndefined, keys } from 'lodash';
|
5
|
-
import { BoundDataType } from '../types/bound-data.types';
|
6
|
-
import { LineItemUtil } from '../utils/line-item.util';
|
7
|
-
import { SectionsBinderHelper } from '../utils/sections-binder.helper';
|
8
|
-
import * as i0 from "@angular/core";
|
9
|
-
export class RuntimeFormService {
|
10
|
-
constructor() {
|
11
|
-
this.sections = [];
|
12
|
-
}
|
13
|
-
initForm(sections, solutionLineItem) {
|
14
|
-
this.sections = sections;
|
15
|
-
this.solutionLineItem = solutionLineItem;
|
16
|
-
const form = new FormGroup({});
|
17
|
-
sections
|
18
|
-
.filter(section => section.model && section.template && section.boundData)
|
19
|
-
.forEach(section => {
|
20
|
-
this.populateSectionValue(section);
|
21
|
-
this.populateSectionPrice(section);
|
22
|
-
this.populateFormControls(section, form);
|
23
|
-
});
|
24
|
-
return form;
|
25
|
-
}
|
26
|
-
populateSectionValue(section) {
|
27
|
-
let value;
|
28
|
-
let valueOptions = [];
|
29
|
-
let displayValues = {};
|
30
|
-
let properties = {};
|
31
|
-
if (FormServiceUtils.isPortSection(section)) {
|
32
|
-
const portDomain = section.model?.portDomains[section.boundData.name];
|
33
|
-
valueOptions = portDomain?.domainTypes.map(dt => dt.name) ?? [];
|
34
|
-
properties =
|
35
|
-
portDomain?.domainTypes.reduce(function (map, dt) {
|
36
|
-
map[dt.name] = dt.properties;
|
37
|
-
return map;
|
38
|
-
}, {}) ?? {};
|
39
|
-
displayValues =
|
40
|
-
portDomain?.domainTypes.reduce(function (map, dt) {
|
41
|
-
map[dt.name] = dt.displayName;
|
42
|
-
return map;
|
43
|
-
}, {}) ?? {};
|
44
|
-
value = section.model?.lineItems.map(li => li.type);
|
45
|
-
}
|
46
|
-
if (FormServiceUtils.isAttributeSection(section)) {
|
47
|
-
const attribute = section.model?.attributes.find(attr => attr.name.toLowerCase() === section.boundData.name.toLowerCase());
|
48
|
-
if (attribute) {
|
49
|
-
value = attribute.value;
|
50
|
-
}
|
51
|
-
const attributeDomain = section.model?.attributeDomains[section.boundData.name];
|
52
|
-
if (!attribute?.type.match('GENERIC|BOOLEAN') && attributeDomain) {
|
53
|
-
const count = attribute && attribute.scale != null
|
54
|
-
? LineItemUtil.countAttributeValues(attribute.scale, attributeDomain)
|
55
|
-
: undefined;
|
56
|
-
if (attribute && attribute.scale != null && count && count <= 100) {
|
57
|
-
valueOptions = LineItemUtil.splitDomainToValues(attribute.scale, attributeDomain);
|
58
|
-
}
|
59
|
-
else {
|
60
|
-
valueOptions = attributeDomain;
|
61
|
-
}
|
62
|
-
}
|
63
|
-
else if (attributeDomain) {
|
64
|
-
valueOptions = attributeDomain;
|
65
|
-
}
|
66
|
-
}
|
67
|
-
if (!EntityUtil.isPresent(value)) {
|
68
|
-
value = '';
|
69
|
-
}
|
70
|
-
section.sectionValue = {
|
71
|
-
value,
|
72
|
-
valueOptions,
|
73
|
-
displayValues,
|
74
|
-
properties,
|
75
|
-
};
|
76
|
-
}
|
77
|
-
populateSectionPrice(section) {
|
78
|
-
const priceValue = { priceOptions: {} };
|
79
|
-
if (FormServiceUtils.isPortSection(section)) {
|
80
|
-
const portDomain = section.model?.portDomains[section.boundData.name];
|
81
|
-
if (portDomain) {
|
82
|
-
portDomain.domainTypes.forEach(dt => {
|
83
|
-
if (dt.recommendedPrices && dt.recommendedPrices.length > 0) {
|
84
|
-
priceValue.priceOptions[dt.name] = dt.recommendedPrices;
|
85
|
-
}
|
86
|
-
else {
|
87
|
-
delete priceValue.priceOptions[dt.name];
|
88
|
-
}
|
89
|
-
});
|
90
|
-
}
|
91
|
-
}
|
92
|
-
section.priceValue = priceValue;
|
93
|
-
}
|
94
|
-
populateFormControls(section, form) {
|
95
|
-
form.controls[section.id] = this.createFormControl(section);
|
96
|
-
if (FormServiceUtils.isPortSection(section) || FormServiceUtils.isTypeSection(section)) {
|
97
|
-
form.controls[section.id.concat('qty')] = this.createQtyControl(section);
|
98
|
-
}
|
99
|
-
}
|
100
|
-
createFormControl(section) {
|
101
|
-
const value = FormServiceUtils.isPortSection(section) ? void 0 : section.sectionValue?.value;
|
102
|
-
return new FormControl(value, this.getFormControlValidators(section));
|
103
|
-
}
|
104
|
-
createQtyControl(section) {
|
105
|
-
const isTypeSection = FormServiceUtils.isTypeSection(section);
|
106
|
-
const validators = [];
|
107
|
-
const maxAllowed = this.getMaxAllowed(section);
|
108
|
-
//TODO TEMPORARY SOLUTION (WILL BE DISABLED ONCE RADIO CONTROLS IMPLEMENTED)
|
109
|
-
if (maxAllowed > 0) {
|
110
|
-
validators.push(this.getQuantityValidator(maxAllowed, isTypeSection ? section.model?.qty ?? 0 : 0));
|
111
|
-
}
|
112
|
-
const qtyValue = isTypeSection ? section.model?.qty : 1;
|
113
|
-
return new FormControl(qtyValue, validators);
|
114
|
-
}
|
115
|
-
getMaxAllowed(section) {
|
116
|
-
let lineItem = section.model;
|
117
|
-
let portName = section.boundData.name;
|
118
|
-
if (FormServiceUtils.isTypeSection(section)) {
|
119
|
-
if (section.model && EntityUtil.isPresent(section.model.parentId) && this.solutionLineItem) {
|
120
|
-
if (section.model.parentId) {
|
121
|
-
lineItem = LineItemUtil.findById(section.model.parentId, [this.solutionLineItem]);
|
122
|
-
}
|
123
|
-
portName = section.model.port;
|
124
|
-
}
|
125
|
-
else {
|
126
|
-
return 0;
|
127
|
-
}
|
128
|
-
}
|
129
|
-
if (!lineItem) {
|
130
|
-
return 0;
|
131
|
-
}
|
132
|
-
return SectionsBinderHelper.getMaxAllowed(lineItem, portName);
|
133
|
-
}
|
134
|
-
//TODO ALE TO SUPPORT EMPTY VALUES FOR INTERVAL ATTRIBUTES OUT OF DOMAIN
|
135
|
-
getFormControlValidators(section) {
|
136
|
-
if (!FormServiceUtils.isAttributeSection(section)) {
|
137
|
-
return null;
|
138
|
-
}
|
139
|
-
const validators = [];
|
140
|
-
const parentLineItem = section.model && this.solutionLineItem && FormServiceUtils.findParent(section.model.id, [this.solutionLineItem]);
|
141
|
-
const attribute = parentLineItem &&
|
142
|
-
parentLineItem.attributes.find(attr => attr.name.toLowerCase() === section.boundData.name.toLowerCase());
|
143
|
-
if (!attribute || !attribute.type) {
|
144
|
-
return null;
|
145
|
-
}
|
146
|
-
const primitiveTypesValidators = {
|
147
|
-
INT: TypeValidators.integerValidator(),
|
148
|
-
'DOUBLE|DECIMAL': TypeValidators.decimalValidator(10),
|
149
|
-
};
|
150
|
-
keys(primitiveTypesValidators).forEach(types => {
|
151
|
-
if (types.match(attribute.type)) {
|
152
|
-
const validator = primitiveTypesValidators[types];
|
153
|
-
validators.push(validator);
|
154
|
-
}
|
155
|
-
});
|
156
|
-
if (!attribute.type.match('GENERIC|BOOLEAN|MULTIPLE')) {
|
157
|
-
const sectionLabel = section.label;
|
158
|
-
const intervalValidator = function (control) {
|
159
|
-
if (isUndefined(control.value) || isNull(control.value) || isNaN(+control.value)) {
|
160
|
-
return { interval: { message: sectionLabel + ' is not in domain' } };
|
161
|
-
}
|
162
|
-
if (!isUndefined(control.value) && isString(control.value) && control.value.length === 0) {
|
163
|
-
return null;
|
164
|
-
}
|
165
|
-
const attributeDomain = section.model?.attributeDomains[section.boundData.name];
|
166
|
-
const valid = attributeDomain?.some(valueOption => {
|
167
|
-
const min = +valueOption.min;
|
168
|
-
const max = +valueOption.max;
|
169
|
-
return +control.value <= max && +control.value >= min;
|
170
|
-
});
|
171
|
-
if (!valid) {
|
172
|
-
return { interval: { message: sectionLabel + ' is not in domain' } };
|
173
|
-
}
|
174
|
-
return null;
|
175
|
-
};
|
176
|
-
validators.push(intervalValidator);
|
177
|
-
}
|
178
|
-
if (section.required) {
|
179
|
-
validators.push(TypeValidators.requiredValidator(section.label + ' is required '));
|
180
|
-
}
|
181
|
-
return validators.length !== 0 ? validators : null;
|
182
|
-
}
|
183
|
-
getQuantityValidator(max, originalQty) {
|
184
|
-
return (control) => {
|
185
|
-
if (!control.value) {
|
186
|
-
return { quantity: { message: 'Required' } };
|
187
|
-
}
|
188
|
-
else if (isNaN(+control.value) || +control.value < 1) {
|
189
|
-
return { quantity: { message: 'Invalid value' } };
|
190
|
-
}
|
191
|
-
else if (+control.value > max + originalQty) {
|
192
|
-
return { quantity: { message: 'Max quantity ' + (max + originalQty) } };
|
193
|
-
}
|
194
|
-
else {
|
195
|
-
return null;
|
196
|
-
}
|
197
|
-
};
|
198
|
-
}
|
199
|
-
}
|
200
|
-
RuntimeFormService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
201
|
-
RuntimeFormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeFormService });
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeFormService, decorators: [{
|
203
|
-
type: Injectable
|
204
|
-
}] });
|
205
|
-
export class FormServiceUtils {
|
206
|
-
static isPortSection(section) {
|
207
|
-
return section && section.boundData && section.boundData.entityType === BoundDataType[BoundDataType.PORT];
|
208
|
-
}
|
209
|
-
static isTypeSection(section) {
|
210
|
-
return section && section.boundData && section.boundData.entityType === BoundDataType[BoundDataType.TYPE];
|
211
|
-
}
|
212
|
-
static isAttributeSection(section) {
|
213
|
-
return section && section.boundData && section.boundData.entityType === BoundDataType[BoundDataType.ATTRIBUTE];
|
214
|
-
}
|
215
|
-
static findParent(parentId, lineItems) {
|
216
|
-
return EntityUtil.findByFieldHierarchically('id', parentId, lineItems, 'lineItems');
|
217
|
-
}
|
218
|
-
}
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL3NlcnZpY2VzL3J1bnRpbWUtZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQWlDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFVBQVUsRUFBaUMsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0YsT0FBTyxFQUFjLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUd2RSxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRVMsYUFBUSxHQUFjLEVBQUUsQ0FBQztLQTRPakM7SUF6T1EsUUFBUSxDQUFDLFFBQW1CLEVBQUUsZ0JBQTBCO1FBQzdELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUV6QyxNQUFNLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvQixRQUFRO2FBQ0wsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUM7YUFDekUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxvQkFBb0Is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VUFBVSxLQUFLLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBZ0I7UUFDMUMsT0FBTyxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsS0FBSyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFTSxNQUFNLENBQUMsa0JBQWtCLENBQUMsT0FBZ0I7UUFDL0MsT0FBTyxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsS0FBSyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQWdCLEVBQUUsU0FBcUI7UUFDOUQsT0FBTyxVQUFVLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFbnRpdHlVdGlsLCBMaW5lSXRlbSwgUHJpY2VWYWx1ZSwgU2VjdGlvbiwgVHlwZVZhbGlkYXRvcnMgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnksIGlzTnVsbCwgaXNTdHJpbmcsIGlzVW5kZWZpbmVkLCBrZXlzIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJvdW5kRGF0YVR5cGUgfSBmcm9tICcuLi90eXBlcy9ib3VuZC1kYXRhLnR5cGVzJztcbmltcG9ydCB7IExpbmVJdGVtVXRpbCB9IGZyb20gJy4uL3V0aWxzL2xpbmUtaXRlbS51dGlsJztcbmltcG9ydCB7IFNlY3Rpb25zQmluZGVySGVscGVyIH0gZnJvbSAnLi4vdXRpbHMvc2VjdGlvbnMtYmluZGVyLmhlbHBlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSdW50aW1lRm9ybVNlcnZpY2Uge1xuICBwdWJsaWMgc2VjdGlvbnM6IFNlY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgc29sdXRpb25MaW5lSXRlbT86IExpbmVJdGVtO1xuXG4gIHB1YmxpYyBpbml0Rm9ybShzZWN0aW9uczogU2VjdGlvbltdLCBzb2x1dGlvbkxpbmVJdGVtOiBMaW5lSXRlbSk6IEZvcm1Hcm91cCB7XG4gICAgdGhpcy5zZWN0aW9ucyA9IHNlY3Rpb25zO1xuICAgIHRoaXMuc29sdXRpb25MaW5lSXRlbSA9IHNvbHV0aW9uTGluZUl0ZW07XG5cbiAgICBjb25zdCBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgICBzZWN0aW9uc1xuICAgICAgLmZpbHRlcihzZWN0aW9uID0+IHNlY3Rpb24ubW9kZWwgJiYgc2VjdGlvbi50ZW1wbGF0ZSAmJiBzZWN0aW9uLmJvdW5kRGF0YSlcbiAgICAgIC5mb3JFYWNoKHNlY3Rpb24gPT4ge1xuICAgICAgICB0aGlzLnBvcHVsYXRlU2VjdGlvblZhbHVlKHNlY3Rpb24pO1xuICAgICAgICB0aGlzLnBvcHVsYXRlU2VjdGlvblByaWNlKHNlY3Rpb24pO1xuICAgICAgICB0aGlzLnBvcHVsYXRlRm9ybUNvbnRyb2xzKHNlY3Rpb24sIGZvcm0pO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVTZWN0aW9uVmFsdWUoc2VjdGlvbjogU2VjdGlvbik6IHZvaWQge1xuICAgIGxldCB2YWx1ZTtcbiAgICBsZXQgdmFsdWVPcHRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCBkaXNwbGF5VmFsdWVzOiBEaWN0aW9uYXJ5PHN0cmluZz4gPSB7fTtcbiAgICBsZXQgcHJvcGVydGllczogRGljdGlvbmFyeTxhbnk+ID0ge307XG5cbiAgICBpZiAoRm9ybVNlcnZpY2VVdGlscy5pc1BvcnRTZWN0aW9uKHNlY3Rpb24pKSB7XG4gICAgICBjb25zdCBwb3J0RG9tYWluID0gc2VjdGlvbi5tb2RlbD8ucG9ydERvbWFpbnNbc2VjdGlvbi5ib3VuZERhdGEubmFtZV07XG5cbiAgICAgIHZhbHVlT3B0aW9ucyA9IHBvcnREb21haW4/LmRvbWFpblR5cGVzLm1hcChkdCA9PiBkdC5uYW1lKSA/PyBbXTtcbiAgICAgIHByb3BlcnRpZXMgPVxuICAgICAgICBwb3J0RG9tYWluPy5kb21haW5UeXBlcy5yZWR1Y2U8RGljdGlvbmFyeTxhbnk+PihmdW5jdGlvbiAobWFwLCBkdCkge1xuICAgICAgICAgIG1hcFtkdC5uYW1lXSA9IGR0LnByb3BlcnRpZXM7XG4gICAgICAgICAgcmV0dXJuIG1hcDtcbiAgICAgICAgfSwge30pID8/IHt9O1xuICAgICAgZGlzcGxheVZhbHVlcyA9XG4gICAgICAgIHBvcnREb21haW4/LmRvbWFpblR5cGVzLnJlZHVjZTxEaWN0aW9uYXJ5PHN0cmluZz4+KGZ1bmN0aW9uIChtYXAsIGR0KSB7XG4gICAgICAgICAgbWFwW2R0Lm5hbWVdID0gZHQuZGlzcGxheU5hbWU7XG4gICAgICAgICAgcmV0dXJuIG1hcDtcbiAgICAgICAgfSwge30pID8/IHt9O1xuXG4gICAgICB2YWx1ZSA9IHNlY3Rpb24ubW9kZWw/LmxpbmVJdGVtcy5tYXAobGkgPT4gbGkudHlwZSk7XG4gICAgfVxuXG4gICAgaWYgKEZvcm1TZXJ2aWNlVXRpbHMuaXNBdHRyaWJ1dGVTZWN0aW9uKHNlY3Rpb24pKSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGUgPSBzZWN0aW9uLm1vZGVsPy5hdHRyaWJ1dGVzLmZpbmQoXG4gICAgICAgIGF0dHIgPT4gYXR0ci5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHNlY3Rpb24uYm91bmREYXRhLm5hbWUudG9Mb3dlckNhc2UoKSxcbiAgICAgICk7XG4gICAgICBpZiAoYXR0cmlidXRlKSB7XG4gICAgICAgIHZhbHVlID0gYXR0cmlidXRlLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhdHRyaWJ1dGVEb21haW4gPSBzZWN0aW9uLm1vZGVsPy5hdHRyaWJ1dGVEb21haW5zW3NlY3Rpb24uYm91bmREYXRhLm5hbWVdO1xuXG4gICAgICBpZiAoIWF0dHJpYnV0ZT8udHlwZS5tYXRjaCgnR0VORVJJQ3xCT09MRUFOJykgJiYgYXR0cmlidXRlRG9tYWluKSB7XG4gICAgICAgIGNvbnN0IGNvdW50ID1cbiAgICAgICAgICBhdHRyaWJ1dGUgJiYgYXR0cmlidXRlLnNjYWxlICE9IG51bGxcbiAgICAgICAgICAgID8gTGluZUl0ZW1VdGlsLmNvdW50QXR0cmlidXRlVmFsdWVzKGF0dHJpYnV0ZS5zY2FsZSwgYXR0cmlidXRlRG9tYWluKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGF0dHJpYnV0ZSAmJiBhdHRyaWJ1dGUuc2NhbGUgIT0gbnVsbCAmJiBjb3VudCAmJiBjb3VudCA8PSAxMDApIHtcbiAgICAgICAgICB2YWx1ZU9wdGlvbnMgPSBMaW5lSXRlbVV0aWwuc3BsaXREb21haW5Ub1ZhbHVlcyhhdHRyaWJ1dGUuc2NhbGUsIGF0dHJpYnV0ZURvbWFpbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsdWVPcHRpb25zID0gYXR0cmlidXRlRG9tYWluO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZURvbWFpbikge1xuICAgICAgICB2YWx1ZU9wdGlvbnMgPSBhdHRyaWJ1dGVEb21haW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFFbnRpdHlVdGlsLmlzUHJlc2VudCh2YWx1ZSkpIHtcbiAgICAgIHZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgc2VjdGlvbi5zZWN0aW9uVmFsdWUgPSB7XG4gICAgICB2YWx1ZSxcbiAgICAgIHZhbHVlT3B0aW9ucyxcbiAgICAgIGRpc3BsYXlWYWx1ZXMsXG4gICAgICBwcm9wZXJ0aWVzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlU2VjdGlvblByaWNlKHNlY3Rpb246IFNlY3Rpb24pOiB2b2lkIHtcbiAgICBjb25zdCBwcmljZVZhbHVlOiBQcmljZVZhbHVlID0geyBwcmljZU9wdGlvbnM6IHt9IH07XG5cbiAgICBpZiAoRm9ybVNlcnZpY2VVdGlscy5pc1BvcnRTZWN0aW9uKHNlY3Rpb24pKSB7XG4gICAgICBjb25zdCBwb3J0RG9tYWluID0gc2VjdGlvbi5tb2RlbD8ucG9ydERvbWFpbnNbc2VjdGlvbi5ib3VuZERhdGEubmFtZV07XG5cbiAgICAgIGlmIChwb3J0RG9tYWluKSB7XG4gICAgICAgIHBvcnREb21haW4uZG9tYWluVHlwZXMuZm9yRWFjaChkdCA9PiB7XG4gICAgICAgICAgaWYgKGR0LnJlY29tbWVuZGVkUHJpY2VzICYmIGR0LnJlY29tbWVuZGVkUHJpY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHByaWNlVmFsdWUucHJpY2VPcHRpb25zW2R0Lm5hbWVdID0gZHQucmVjb21tZW5kZWRQcmljZXM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBwcmljZVZhbHVlLnByaWNlT3B0aW9uc1tkdC5uYW1lXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNlY3Rpb24ucHJpY2VWYWx1ZSA9IHByaWNlVmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlRm9ybUNvbnRyb2xzKHNlY3Rpb246IFNlY3Rpb24sIGZvcm06IEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIGZvcm0uY29udHJvbHNbc2VjdGlvbi5pZF0gPSB0aGlzLmNyZWF0ZUZvcm1Db250cm9sKHNlY3Rpb24pO1xuXG4gICAgaWYgKEZvcm1TZXJ2aWNlVXRpbHMuaXNQb3J0U2VjdGlvbihzZWN0aW9uKSB8fCBGb3JtU2VydmljZVV0aWxzLmlzVHlwZVNlY3Rpb24oc2VjdGlvbikpIHtcbiAgICAgIGZvcm0uY29udHJvbHNbc2VjdGlvbi5pZC5jb25jYXQoJ3F0eScpXSA9IHRoaXMuY3JlYXRlUXR5Q29udHJvbChzZWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm1Db250cm9sKHNlY3Rpb246IFNlY3Rpb24pOiBGb3JtQ29udHJvbCB7XG4gICAgY29uc3QgdmFsdWUgPSBGb3JtU2VydmljZVV0aWxzLmlzUG9ydFNlY3Rpb24oc2VjdGlvbikgPyB2b2lkIDAgOiBzZWN0aW9uLnNlY3Rpb25WYWx1ZT8udmFsdWU7XG5cbiAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sKHZhbHVlLCB0aGlzLmdldEZvcm1Db250cm9sVmFsaWRhdG9ycyhzZWN0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVF0eUNvbnRyb2woc2VjdGlvbjogU2VjdGlvbik6IEZvcm1Db250cm9sIHtcbiAgICBjb25zdCBpc1R5cGVTZWN0aW9uID0gRm9ybVNlcnZpY2VVdGlscy5pc1R5cGVTZWN0aW9uKHNlY3Rpb24pO1xuXG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IFtdO1xuXG4gICAgY29uc3QgbWF4QWxsb3dlZCA9IHRoaXMuZ2V0TWF4QWxsb3dlZChzZWN0aW9uKTtcblxuICAgIC8vVE9ETyBURU1QT1JBUlkgU09MVVRJT04gKFdJTEwgQkUgRElTQUJMRUQgT05DRSBSQURJTyBDT05UUk9MUyBJTVBMRU1FTlRFRClcbiAgICBpZiAobWF4QWxsb3dlZCA+IDApIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaCh0aGlzLmdldFF1YW50aXR5VmFsaWRhdG9yKG1heEFsbG93ZWQsIGlzVHlwZVNlY3Rpb24gPyBzZWN0aW9uLm1vZGVsPy5xdHkgPz8gMCA6IDApKTtcbiAgICB9XG5cbiAgICBjb25zdCBxdHlWYWx1ZSA9IGlzVHlwZVNlY3Rpb24gPyBzZWN0aW9uLm1vZGVsPy5xdHkgOiAxO1xuXG4gICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbChxdHlWYWx1ZSwgdmFsaWRhdG9ycyk7XG4gIH1cblxuICBwcml2YXRlIGdldE1heEFsbG93ZWQoc2VjdGlvbjogU2VjdGlvbik6IG51bWJlciB7XG4gICAgbGV0IGxpbmVJdGVtID0gc2VjdGlvbi5tb2RlbDtcbiAgICBsZXQgcG9ydE5hbWUgPSBzZWN0aW9uLmJvdW5kRGF0YS5uYW1lO1xuXG4gICAgaWYgKEZvcm1TZXJ2aWNlVXRpbHMuaXNUeXBlU2VjdGlvbihzZWN0aW9uKSkge1xuICAgICAgaWYgKHNlY3Rpb24ubW9kZWwgJiYgRW50aXR5VXRpbC5pc1ByZXNlbnQoc2VjdGlvbi5tb2RlbC5wYXJlbnRJZCkgJiYgdGhpcy5zb2x1dGlvbkxpbmVJdGVtKSB7XG4gICAgICAgIGlmIChzZWN0aW9uLm1vZGVsLnBhcmVudElkKSB7XG4gICAgICAgICAgbGluZUl0ZW0gPSBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5wYXJlbnRJZCwgW3RoaXMuc29sdXRpb25MaW5lSXRlbV0pO1xuICAgICAgICB9XG4gICAgICAgIHBvcnROYW1lID0gc2VjdGlvbi5tb2RlbC5wb3J0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFsaW5lSXRlbSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIFNlY3Rpb25zQmluZGVySGVscGVyLmdldE1heEFsbG93ZWQobGluZUl0ZW0sIHBvcnROYW1lKTtcbiAgfVxuXG4gIC8vVE9ETyBBTEUgVE8gU1VQUE9SVCBFTVBUWSBWQUxVRVMgRk9SIElOVEVSVkFMIEFUVFJJQlVURVMgT1VUIE9GIERPTUFJTlxuICBwcml2YXRlIGdldEZvcm1Db250cm9sVmFsaWRhdG9ycyhzZWN0aW9uOiBTZWN0aW9uKTogVmFsaWRhdG9yRm5bXSB8IG51bGwge1xuICAgIGlmICghRm9ybVNlcnZpY2VVdGlscy5pc0F0dHJpYnV0ZVNlY3Rpb24oc2VjdGlvbikpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBbXTtcbiAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9XG4gICAgICBzZWN0aW9uLm1vZGVsICYmIHRoaXMuc29sdXRpb25MaW5lSXRlbSAmJiBGb3JtU2VydmljZVV0aWxzLmZpbmRQYXJlbnQoc2VjdGlvbi5tb2RlbC5pZCwgW3RoaXMuc29sdXRpb25MaW5lSXRlbV0pO1xuICAgIGNvbnN0IGF0dHJpYnV0ZSA9XG4gICAgICBwYXJlbnRMaW5lSXRlbSAmJlxuICAgICAgcGFyZW50TGluZUl0ZW0uYXR0cmlidXRlcy5maW5kKGF0dHIgPT4gYXR0ci5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHNlY3Rpb24uYm91bmREYXRhLm5hbWUudG9Mb3dlckNhc2UoKSk7XG5cbiAgICBpZiAoIWF0dHJpYnV0ZSB8fCAhYXR0cmlidXRlLnR5cGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVR5cGVzVmFsaWRhdG9yczogYW55ID0ge1xuICAgICAgSU5UOiBUeXBlVmFsaWRhdG9ycy5pbnRlZ2VyVmFsaWRhdG9yKCksXG4gICAgICAnRE9VQkxFfERFQ0lNQUwnOiBUeXBlVmFsaWRhdG9ycy5kZWNpbWFsVmFsaWRhdG9yKDEwKSxcbiAgICB9O1xuXG4gICAga2V5cyhwcmltaXRpdmVUeXBlc1ZhbGlkYXRvcnMpLmZvckVhY2godHlwZXMgPT4ge1xuICAgICAgaWYgKHR5cGVzLm1hdGNoKGF0dHJpYnV0ZS50eXBlKSkge1xuICAgICAgICBjb25zdCB2YWxpZGF0b3IgPSBwcmltaXRpdmVUeXBlc1ZhbGlkYXRvcnNbdHlwZXNdO1xuXG4gICAgICAgIHZhbGlkYXRvcnMucHVzaCh2YWxpZGF0b3IpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFhdHRyaWJ1dGUudHlwZS5tYXRjaCgnR0VORVJJQ3xCT09MRUFOfE1VTFRJUExFJykpIHtcbiAgICAgIGNvbnN0IHNlY3Rpb25MYWJlbCA9IHNlY3Rpb24ubGFiZWw7XG5cbiAgICAgIGNvbnN0IGludGVydmFsVmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IGZ1bmN0aW9uIChjb250cm9sKSB7XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZChjb250cm9sLnZhbHVlKSB8fCBpc051bGwoY29udHJvbC52YWx1ZSkgfHwgaXNOYU4oK2NvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHsgaW50ZXJ2YWw6IHsgbWVzc2FnZTogc2VjdGlvbkxhYmVsICsgJyBpcyBub3QgaW4gZG9tYWluJyB9IH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKGNvbnRyb2wudmFsdWUpICYmIGlzU3RyaW5nKGNvbnRyb2wudmFsdWUpICYmIGNvbnRyb2wudmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhdHRyaWJ1dGVEb21haW4gPSBzZWN0aW9uLm1vZGVsPy5hdHRyaWJ1dGVEb21haW5zW3NlY3Rpb24uYm91bmREYXRhLm5hbWVdO1xuXG4gICAgICAgIGNvbnN0IHZhbGlkID0gYXR0cmlidXRlRG9tYWluPy5zb21lKHZhbHVlT3B0aW9uID0+IHtcbiAgICAgICAgICBjb25zdCBtaW4gPSArdmFsdWVPcHRpb24ubWluO1xuICAgICAgICAgIGNvbnN0IG1heCA9ICt2YWx1ZU9wdGlvbi5tYXg7XG5cbiAgICAgICAgICByZXR1cm4gK2NvbnRyb2wudmFsdWUgPD0gbWF4ICYmICtjb250cm9sLnZhbHVlID49IG1pbjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF2YWxpZCkge1xuICAgICAgICAgIHJldHVybiB7IGludGVydmFsOiB7IG1lc3NhZ2U6IHNlY3Rpb25MYWJlbCArICcgaXMgbm90IGluIGRvbWFpbicgfSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9O1xuXG4gICAgICB2YWxpZGF0b3JzLnB1c2goaW50ZXJ2YWxWYWxpZGF0b3IpO1xuICAgIH1cblxuICAgIGlmIChzZWN0aW9uLnJlcXVpcmVkKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goVHlwZVZhbGlkYXRvcnMucmVxdWlyZWRWYWxpZGF0b3Ioc2VjdGlvbi5sYWJlbCArICcgaXMgcmVxdWlyZWQgJykpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0b3JzLmxlbmd0aCAhPT0gMCA/IHZhbGlkYXRvcnMgOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRRdWFudGl0eVZhbGlkYXRvcihtYXg6IG51bWJlciwgb3JpZ2luYWxRdHk6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHsgcXVhbnRpdHk6IHsgbWVzc2FnZTogJ1JlcXVpcmVkJyB9IH07XG4gICAgICB9IGVsc2UgaWYgKGlzTmFOKCtjb250cm9sLnZhbHVlKSB8fCArY29udHJvbC52YWx1ZSA8IDEpIHtcbiAgICAgICAgcmV0dXJuIHsgcXVhbnRpdHk6IHsgbWVzc2FnZTogJ0ludmFsaWQgdmFsdWUnIH0gfTtcbiAgICAgIH0gZWxzZSBpZiAoK2NvbnRyb2wudmFsdWUgPiBtYXggKyBvcmlnaW5hbFF0eSkge1xuICAgICAgICByZXR1cm4geyBxdWFudGl0eTogeyBtZXNzYWdlOiAnTWF4IHF1YW50aXR5ICAnICsgKG1heCArIG9yaWdpbmFsUXR5KSB9IH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGb3JtU2VydmljZVV0aWxzIHtcbiAgcHVibGljIHN0YXRpYyBpc1BvcnRTZWN0aW9uKHNlY3Rpb246IFNlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2VjdGlvbiAmJiBzZWN0aW9uLmJvdW5kRGF0YSAmJiBzZWN0aW9uLmJvdW5kRGF0YS5lbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuUE9SVF07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVHlwZVNlY3Rpb24oc2VjdGlvbjogU2VjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWN0aW9uICYmIHNlY3Rpb24uYm91bmREYXRhICYmIHNlY3Rpb24uYm91bmREYXRhLmVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5UWVBFXTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNBdHRyaWJ1dGVTZWN0aW9uKHNlY3Rpb246IFNlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2VjdGlvbiAmJiBzZWN0aW9uLmJvdW5kRGF0YSAmJiBzZWN0aW9uLmJvdW5kRGF0YS5lbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuQVRUUklCVVRFXTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZmluZFBhcmVudChwYXJlbnRJZDogc3RyaW5nLCBsaW5lSXRlbXM6IExpbmVJdGVtW10pOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEVudGl0eVV0aWwuZmluZEJ5RmllbGRIaWVyYXJjaGljYWxseSgnaWQnLCBwYXJlbnRJZCwgbGluZUl0ZW1zLCAnbGluZUl0ZW1zJyk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,115 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { ContextService, RuntimeStep } from '@veloceapps/sdk/core';
|
3
|
-
import { MessageService } from 'primeng/api';
|
4
|
-
import { Subject } from 'rxjs';
|
5
|
-
import { take } from 'rxjs/operators';
|
6
|
-
import { ConfigurationService } from './configuration.service';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "./configuration.service";
|
9
|
-
import * as i2 from "@veloceapps/sdk/core";
|
10
|
-
import * as i3 from "primeng/api";
|
11
|
-
export class RuntimeService {
|
12
|
-
constructor(configurationService, contextService, messageService) {
|
13
|
-
this.configurationService = configurationService;
|
14
|
-
this.contextService = contextService;
|
15
|
-
this.messageService = messageService;
|
16
|
-
this.solutionReadySubject = new Subject();
|
17
|
-
this.onSolutionReadyEvent = this.solutionReadySubject.asObservable();
|
18
|
-
this.solutionUpdateStartedSubject = new Subject();
|
19
|
-
this.onSolutionUpdateStartedEvent = this.solutionUpdateStartedSubject.asObservable();
|
20
|
-
this.solutionUpdatedSubject = new Subject();
|
21
|
-
this.onSolutionUpdatedEvent = this.solutionUpdatedSubject.asObservable();
|
22
|
-
this.solutionProcessedSubject = new Subject();
|
23
|
-
this.onSolutionProcessed = this.solutionProcessedSubject.asObservable();
|
24
|
-
this.solutionStopSubject = new Subject();
|
25
|
-
this.onSolutionStopEvent = this.solutionStopSubject.asObservable();
|
26
|
-
this.solutionCancelSubject = new Subject();
|
27
|
-
this.onSolutionCancelEvent = this.solutionCancelSubject.asObservable();
|
28
|
-
this.uiRefreshSubject = new Subject();
|
29
|
-
this.onUIRefreshEvent = this.uiRefreshSubject.asObservable();
|
30
|
-
}
|
31
|
-
displayErrorMessage(error) {
|
32
|
-
this.messageService.add({
|
33
|
-
severity: 'error',
|
34
|
-
summary: error.error?.message || error.message || JSON.stringify(error),
|
35
|
-
});
|
36
|
-
}
|
37
|
-
startRuntime(context, states, resolve) {
|
38
|
-
this.setRuntimeContext(context);
|
39
|
-
this.setRuntimeStep(RuntimeStep.START);
|
40
|
-
this.configurationService
|
41
|
-
.configure(context, states, resolve)
|
42
|
-
.pipe(take(1))
|
43
|
-
.subscribe(lineItem => {
|
44
|
-
this.solutionReadySubject.next(lineItem);
|
45
|
-
}, error => {
|
46
|
-
this.displayErrorMessage(error);
|
47
|
-
this.solutionUpdatedSubject.next(error);
|
48
|
-
});
|
49
|
-
}
|
50
|
-
updateRuntime(states, configurationContextProperties) {
|
51
|
-
if (!this.runtimeContext) {
|
52
|
-
return;
|
53
|
-
}
|
54
|
-
this.solutionUpdateStartedSubject.next();
|
55
|
-
this.setRuntimeStep(RuntimeStep.UPDATE);
|
56
|
-
this.updateRuntimeContext(configurationContextProperties);
|
57
|
-
this.configurationService
|
58
|
-
.configure(this.runtimeContext, states)
|
59
|
-
.pipe(take(1))
|
60
|
-
.subscribe(lineItem => {
|
61
|
-
const context = this.contextService.resolve();
|
62
|
-
this.updateRuntimeContext(context.properties);
|
63
|
-
this.solutionUpdatedSubject.next(lineItem);
|
64
|
-
}, error => {
|
65
|
-
this.displayErrorMessage(error);
|
66
|
-
this.solutionUpdatedSubject.next(error);
|
67
|
-
});
|
68
|
-
}
|
69
|
-
stopRuntime(solutionLineItem) {
|
70
|
-
this.solutionStopSubject.next(solutionLineItem);
|
71
|
-
}
|
72
|
-
cancelRuntime() {
|
73
|
-
this.solutionCancelSubject.next();
|
74
|
-
}
|
75
|
-
setRuntimeContext(runtimeContext) {
|
76
|
-
this.runtimeContext = runtimeContext;
|
77
|
-
}
|
78
|
-
getRuntimeContext() {
|
79
|
-
return this.runtimeContext;
|
80
|
-
}
|
81
|
-
solutionProcessed(lineItem) {
|
82
|
-
this.solutionProcessedSubject.next(lineItem);
|
83
|
-
}
|
84
|
-
refreshUI(uiDefinition) {
|
85
|
-
if (!this.runtimeContext) {
|
86
|
-
return;
|
87
|
-
}
|
88
|
-
this.runtimeContext = {
|
89
|
-
...this.runtimeContext,
|
90
|
-
uiDefinition,
|
91
|
-
};
|
92
|
-
this.uiRefreshSubject.next();
|
93
|
-
}
|
94
|
-
updateRuntimeContext(configurationContextProperties) {
|
95
|
-
if (!this.runtimeContext || !configurationContextProperties) {
|
96
|
-
return;
|
97
|
-
}
|
98
|
-
this.runtimeContext = { ...this.runtimeContext, properties: configurationContextProperties };
|
99
|
-
}
|
100
|
-
setRuntimeStep(runtimeStep) {
|
101
|
-
if (!this.runtimeContext) {
|
102
|
-
return;
|
103
|
-
}
|
104
|
-
this.runtimeContext.invocationContext = {
|
105
|
-
...this.runtimeContext.invocationContext,
|
106
|
-
runtimeStep,
|
107
|
-
};
|
108
|
-
}
|
109
|
-
}
|
110
|
-
RuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeService, deps: [{ token: i1.ConfigurationService }, { token: i2.ContextService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
111
|
-
RuntimeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeService });
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RuntimeService, decorators: [{
|
113
|
-
type: Injectable
|
114
|
-
}], ctorParameters: function () { return [{ type: i1.ConfigurationService }, { type: i2.ContextService }, { type: i3.MessageService }]; } });
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBRy9ELE1BQU0sT0FBTyxjQUFjO0lBd0J6QixZQUNVLG9CQUEwQyxFQUMxQyxjQUE4QixFQUM5QixjQUE4QjtRQUY5Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUF4QmhDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFZLENBQUM7UUFDaEQseUJBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRS9ELGlDQUE0QixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDcEQsaUNBQTRCLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRS9FLDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFnQyxDQUFDO1FBQ3RFLDJCQUFzQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVuRSw2QkFBd0IsR0FBRyxJQUFJLE9BQU8sRUFBWSxDQUFDO1FBQ3BE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ImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGVnYWN5VUlEZWZpbml0aW9uLCBMaW5lSXRlbSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIFJ1bnRpbWVTdGVwIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTGVnYWN5UnVudGltZUNvbnRleHQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBRdW90ZVN0YXRlcyB9IGZyb20gJy4uL3R5cGVzL3F1b3RlLXN0YXRlcy50eXBlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBydW50aW1lQ29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBzb2x1dGlvblJlYWR5U3ViamVjdCA9IG5ldyBTdWJqZWN0PExpbmVJdGVtPigpO1xuICBwdWJsaWMgb25Tb2x1dGlvblJlYWR5RXZlbnQgPSB0aGlzLnNvbHV0aW9uUmVhZHlTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgc29sdXRpb25VcGRhdGVTdGFydGVkU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyBvblNvbHV0aW9uVXBkYXRlU3RhcnRlZEV2ZW50ID0gdGhpcy5zb2x1dGlvblVwZGF0ZVN0YXJ0ZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgc29sdXRpb25VcGRhdGVkU3ViamVjdCA9IG5ldyBTdWJqZWN0PExpbmVJdGVtIHwgSHR0cEVycm9yUmVzcG9uc2U+KCk7XG4gIHB1YmxpYyBvblNvbHV0aW9uVXBkYXRlZEV2ZW50ID0gdGhpcy5zb2x1dGlvblVwZGF0ZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgc29sdXRpb25Qcm9jZXNzZWRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TGluZUl0ZW0+KCk7XG4gIHB1YmxpYyBvblNvbHV0aW9uUHJvY2Vzc2VkID0gdGhpcy5zb2x1dGlvblByb2Nlc3NlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBzb2x1dGlvblN0b3BTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TGluZUl0ZW0+KCk7XG4gIHB1YmxpYyBvblNvbHV0aW9uU3RvcEV2ZW50ID0gdGhpcy5zb2x1dGlvblN0b3BTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgc29sdXRpb25DYW5jZWxTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIG9uU29sdXRpb25DYW5jZWxFdmVudCA9IHRoaXMuc29sdXRpb25DYW5jZWxTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgdWlSZWZyZXNoU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyBvblVJUmVmcmVzaEV2ZW50ID0gdGhpcy51aVJlZnJlc2hTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHJpdmF0ZSBkaXNwbGF5RXJyb3JNZXNzYWdlKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICBzZXZlcml0eTogJ2Vycm9yJyxcbiAgICAgIHN1bW1hcnk6IGVycm9yLmVycm9yPy5tZXNzYWdlIHx8IGVycm9yLm1lc3NhZ2UgfHwgSlNPTi5zdHJpbmdpZnkoZXJyb3IpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0UnVudGltZShjb250ZXh0OiBMZWdhY3lSdW50aW1lQ29udGV4dCwgc3RhdGVzOiBRdW90ZVN0YXRlcywgcmVzb2x2ZT86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNldFJ1bnRpbWVDb250ZXh0KGNvbnRleHQpO1xuICAgIHRoaXMuc2V0UnVudGltZVN0ZXAoUnVudGltZVN0ZXAuU1RBUlQpO1xuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2VcbiAgICAgIC5jb25maWd1cmUoY29udGV4dCwgc3RhdGVzLCByZXNvbHZlKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIGxpbmVJdGVtID0+IHtcbiAgICAgICAgICB0aGlzLnNvbHV0aW9uUmVhZHlTdWJqZWN0Lm5leHQobGluZUl0ZW0pO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5RXJyb3JNZXNzYWdlKGVycm9yKTtcbiAgICAgICAgICB0aGlzLnNvbHV0aW9uVXBkYXRlZFN1YmplY3QubmV4dChlcnJvcik7XG4gICAgICAgIH0sXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVJ1bnRpbWUoc3RhdGVzOiBRdW90ZVN0YXRlcywgY29uZmlndXJhdGlvbkNvbnRleHRQcm9wZXJ0aWVzPzogeyBbaW5kZXg6IHN0cmluZ106IHN0cmluZyB9KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVDb250ZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zb2x1dGlvblVwZGF0ZVN0YXJ0ZWRTdWJqZWN0Lm5leHQoKTtcbiAgICB0aGlzLnNldFJ1bnRpbWVTdGVwKFJ1bnRpbWVTdGVwLlVQREFURSk7XG4gICAgdGhpcy51cGRhdGVSdW50aW1lQ29udGV4dChjb25maWd1cmF0aW9uQ29udGV4dFByb3BlcnRpZXMpO1xuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2VcbiAgICAgIC5jb25maWd1cmUodGhpcy5ydW50aW1lQ29udGV4dCwgc3RhdGVzKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIGxpbmVJdGVtID0+IHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWVDb250ZXh0KGNvbnRleHQucHJvcGVydGllcyk7XG4gICAgICAgICAgdGhpcy5zb2x1dGlvblVwZGF0ZWRTdWJqZWN0Lm5leHQobGluZUl0ZW0pO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5RXJyb3JNZXNzYWdlKGVycm9yKTtcbiAgICAgICAgICB0aGlzLnNvbHV0aW9uVXBkYXRlZFN1YmplY3QubmV4dChlcnJvcik7XG4gICAgICAgIH0sXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHN0b3BSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5zb2x1dGlvblN0b3BTdWJqZWN0Lm5leHQoc29sdXRpb25MaW5lSXRlbSk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsUnVudGltZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNvbHV0aW9uQ2FuY2VsU3ViamVjdC5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UnVudGltZUNvbnRleHQocnVudGltZUNvbnRleHQ6IExlZ2FjeVJ1bnRpbWVDb250ZXh0KTogdm9pZCB7XG4gICAgdGhpcy5ydW50aW1lQ29udGV4dCA9IHJ1bnRpbWVDb250ZXh0O1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVDb250ZXh0KCk6IExlZ2FjeVJ1bnRpbWVDb250ZXh0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lQ29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBzb2x1dGlvblByb2Nlc3NlZChsaW5lSXRlbTogTGluZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnNvbHV0aW9uUHJvY2Vzc2VkU3ViamVjdC5uZXh0KGxpbmVJdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoVUkodWlEZWZpbml0aW9uOiBMZWdhY3lVSURlZmluaXRpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucnVudGltZUNvbnRleHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJ1bnRpbWVDb250ZXh0ID0ge1xuICAgICAgLi4udGhpcy5ydW50aW1lQ29udGV4dCxcbiAgICAgIHVpRGVmaW5pdGlvbixcbiAgICB9O1xuICAgIHRoaXMudWlSZWZyZXNoU3ViamVjdC5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVJ1bnRpbWVDb250ZXh0KGNvbmZpZ3VyYXRpb25Db250ZXh0UHJvcGVydGllcz86IHsgW2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ydW50aW1lQ29udGV4dCB8fCAhY29uZmlndXJhdGlvbkNvbnRleHRQcm9wZXJ0aWVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ydW50aW1lQ29udGV4dCA9IHsgLi4udGhpcy5ydW50aW1lQ29udGV4dCwgcHJvcGVydGllczogY29uZmlndXJhdGlvbkNvbnRleHRQcm9wZXJ0aWVzIH07XG4gIH1cblxuICBwcml2YXRlIHNldFJ1bnRpbWVTdGVwKHJ1bnRpbWVTdGVwOiBSdW50aW1lU3RlcCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ydW50aW1lQ29udGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucnVudGltZUNvbnRleHQuaW52b2NhdGlvbkNvbnRleHQgPSB7XG4gICAgICAuLi50aGlzLnJ1bnRpbWVDb250ZXh0Lmludm9jYXRpb25Db250ZXh0LFxuICAgICAgcnVudGltZVN0ZXAsXG4gICAgfTtcbiAgfVxufVxuIl19
|
@@ -1,27 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { EntityUtil, PricingUtils } from '@veloceapps/core';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class SectionHelperService {
|
5
|
-
static findSectionForValue(section, valueOption) {
|
6
|
-
if (!EntityUtil.isPresent(section) || !EntityUtil.isPresent(section.children) || EntityUtil.isBlank(valueOption)) {
|
7
|
-
return;
|
8
|
-
}
|
9
|
-
const found = EntityUtil.filterHierarchically(section.children, 'children', ({ model }) => model && model.type.toLowerCase() === valueOption.toLowerCase());
|
10
|
-
return found && found.pop();
|
11
|
-
}
|
12
|
-
getTotalPrices(section) {
|
13
|
-
if (!section || !section.model || !section.model.chargeGroupItems) {
|
14
|
-
return new Map();
|
15
|
-
}
|
16
|
-
return PricingUtils.sumPriceByProperty(section.model.chargeGroupItems, 'netPrice', [
|
17
|
-
'chargeMethod',
|
18
|
-
'sellingFrequency',
|
19
|
-
]);
|
20
|
-
}
|
21
|
-
}
|
22
|
-
SectionHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionHelperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
23
|
-
SectionHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionHelperService });
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionHelperService, decorators: [{
|
25
|
-
type: Injectable
|
26
|
-
}] });
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvc2VydmljZXMvc2VjdGlvbi1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFXLE1BQU0sa0JBQWtCLENBQUM7O0FBR3JFLE1BQU0sT0FBTyxvQkFBb0I7SUFDeEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQWdCLEVBQUUsV0FBbUI7UUFDckUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hILE9BQU87U0FDUjtRQUVELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxvQkFBb0IsQ0FDM0MsT0FBTyxDQUFDLFFBQVEsRUFDaEIsVUFBVSxFQUNWLENBQUMsRUFBRSxLQUFLLEVBQVcsRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUN4RixDQUFDO1FBRUYsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxjQUFjLENBQUMsT0FBZ0I7UUFDcEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFO1lBQ2pFLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUNsQjtRQUVELE9BQU8sWUFBWSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFO1lBQ2pGLGNBQWM7WUFDZCxrQkFBa0I7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7aUhBeEJVLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbnRpdHlVdGlsLCBQcmljaW5nVXRpbHMsIFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlY3Rpb25IZWxwZXJTZXJ2aWNlIHtcbiAgcHVibGljIHN0YXRpYyBmaW5kU2VjdGlvbkZvclZhbHVlKHNlY3Rpb246IFNlY3Rpb24sIHZhbHVlT3B0aW9uOiBzdHJpbmcpOiBTZWN0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIUVudGl0eVV0aWwuaXNQcmVzZW50KHNlY3Rpb24pIHx8ICFFbnRpdHlVdGlsLmlzUHJlc2VudChzZWN0aW9uLmNoaWxkcmVuKSB8fCBFbnRpdHlVdGlsLmlzQmxhbmsodmFsdWVPcHRpb24pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZm91bmQgPSBFbnRpdHlVdGlsLmZpbHRlckhpZXJhcmNoaWNhbGx5KFxuICAgICAgc2VjdGlvbi5jaGlsZHJlbixcbiAgICAgICdjaGlsZHJlbicsXG4gICAgICAoeyBtb2RlbCB9OiBTZWN0aW9uKSA9PiBtb2RlbCAmJiBtb2RlbC50eXBlLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlT3B0aW9uLnRvTG93ZXJDYXNlKCksXG4gICAgKTtcblxuICAgIHJldHVybiBmb3VuZCAmJiBmb3VuZC5wb3AoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbFByaWNlcyhzZWN0aW9uOiBTZWN0aW9uKTogTWFwPHN0cmluZywgbnVtYmVyPiB7XG4gICAgaWYgKCFzZWN0aW9uIHx8ICFzZWN0aW9uLm1vZGVsIHx8ICFzZWN0aW9uLm1vZGVsLmNoYXJnZUdyb3VwSXRlbXMpIHtcbiAgICAgIHJldHVybiBuZXcgTWFwKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByaWNpbmdVdGlscy5zdW1QcmljZUJ5UHJvcGVydHkoc2VjdGlvbi5tb2RlbC5jaGFyZ2VHcm91cEl0ZW1zLCAnbmV0UHJpY2UnLCBbXG4gICAgICAnY2hhcmdlTWV0aG9kJyxcbiAgICAgICdzZWxsaW5nRnJlcXVlbmN5JyxcbiAgICBdKTtcbiAgfVxufVxuIl19
|
@@ -1,36 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class SectionScopeService {
|
5
|
-
constructor() {
|
6
|
-
this.indent = 1;
|
7
|
-
this.templates = new BehaviorSubject([]);
|
8
|
-
}
|
9
|
-
get section() {
|
10
|
-
return this._section;
|
11
|
-
}
|
12
|
-
set section(value) {
|
13
|
-
this._section = value;
|
14
|
-
this.indent = this.getIndent(value);
|
15
|
-
}
|
16
|
-
getIndent(section) {
|
17
|
-
if (!section || !section.parentId) {
|
18
|
-
return 1;
|
19
|
-
}
|
20
|
-
else {
|
21
|
-
let current = section;
|
22
|
-
let indent = 1;
|
23
|
-
while (current && current.parent) {
|
24
|
-
current = current.parent;
|
25
|
-
indent++;
|
26
|
-
}
|
27
|
-
return indent;
|
28
|
-
}
|
29
|
-
}
|
30
|
-
}
|
31
|
-
SectionScopeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionScopeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
32
|
-
SectionScopeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionScopeService });
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionScopeService, decorators: [{
|
34
|
-
type: Injectable
|
35
|
-
}] });
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1zY29wZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9zZWN0aW9uLXNjb3BlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUd2QyxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBVVMsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUdYLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsRUFBRSxDQUFDLENBQUM7S0FtQmhFO0lBOUJDLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsT0FBTyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFNTyxTQUFTLENBQUMsT0FBZ0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDakMsT0FBTyxDQUFDLENBQUM7U0FDVjthQUFNO1lBQ0wsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBRXRCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztZQUVmLE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUV6QixNQUFNLEVBQUUsQ0FBQzthQUNWO1lBRUQsT0FBTyxNQUFNLENBQUM7U0FDZjtJQUNILENBQUM7O2dIQTlCVSxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2VjdGlvblNjb3BlU2VydmljZSB7XG4gIHB1YmxpYyBnZXQgc2VjdGlvbigpOiBTZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fc2VjdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2VjdGlvbih2YWx1ZTogU2VjdGlvbikge1xuICAgIHRoaXMuX3NlY3Rpb24gPSB2YWx1ZTtcbiAgICB0aGlzLmluZGVudCA9IHRoaXMuZ2V0SW5kZW50KHZhbHVlKTtcbiAgfVxuICBwdWJsaWMgaW5kZW50ID0gMTtcbiAgcHJpdmF0ZSBfc2VjdGlvbiE6IFNlY3Rpb247XG5cbiAgcHVibGljIHRlbXBsYXRlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55PltdPihbXSk7XG5cbiAgcHJpdmF0ZSBnZXRJbmRlbnQoc2VjdGlvbjogU2VjdGlvbik6IG51bWJlciB7XG4gICAgaWYgKCFzZWN0aW9uIHx8ICFzZWN0aW9uLnBhcmVudElkKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IGN1cnJlbnQgPSBzZWN0aW9uO1xuXG4gICAgICBsZXQgaW5kZW50ID0gMTtcblxuICAgICAgd2hpbGUgKGN1cnJlbnQgJiYgY3VycmVudC5wYXJlbnQpIHtcbiAgICAgICAgY3VycmVudCA9IGN1cnJlbnQucGFyZW50O1xuXG4gICAgICAgIGluZGVudCsrO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5kZW50O1xuICAgIH1cbiAgfVxufVxuIl19
|
@@ -1,22 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class SectionStoreService {
|
4
|
-
constructor() {
|
5
|
-
this._componentFactories = [];
|
6
|
-
}
|
7
|
-
set componentFactories(data) {
|
8
|
-
this._componentFactories = data;
|
9
|
-
}
|
10
|
-
get componentFactories() {
|
11
|
-
return this._componentFactories;
|
12
|
-
}
|
13
|
-
getComponentFactory(section) {
|
14
|
-
return this.componentFactories.find(f => f.selector === section.dynamicSelector);
|
15
|
-
}
|
16
|
-
}
|
17
|
-
SectionStoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
18
|
-
SectionStoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionStoreService });
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionStoreService, decorators: [{
|
20
|
-
type: Injectable
|
21
|
-
}] });
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1zdG9yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9zZWN0aW9uLXN0b3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTdELE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFVSx3QkFBbUIsR0FBNEIsRUFBRSxDQUFDO0tBYTNEO0lBWEMsSUFBVyxrQkFBa0IsQ0FBQyxJQUE2QjtRQUN6RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsT0FBZ0I7UUFDekMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7Z0hBYlUsbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnksIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlY3Rpb25TdG9yZVNlcnZpY2Uge1xuICBwcml2YXRlIF9jb21wb25lbnRGYWN0b3JpZXM6IENvbXBvbmVudEZhY3Rvcnk8YW55PltdID0gW107XG5cbiAgcHVibGljIHNldCBjb21wb25lbnRGYWN0b3JpZXMoZGF0YTogQ29tcG9uZW50RmFjdG9yeTxhbnk+W10pIHtcbiAgICB0aGlzLl9jb21wb25lbnRGYWN0b3JpZXMgPSBkYXRhO1xuICB9XG5cbiAgcHVibGljIGdldCBjb21wb25lbnRGYWN0b3JpZXMoKTogQ29tcG9uZW50RmFjdG9yeTxhbnk+W10ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRGYWN0b3JpZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29tcG9uZW50RmFjdG9yeShzZWN0aW9uOiBTZWN0aW9uKTogQ29tcG9uZW50RmFjdG9yeTxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRGYWN0b3JpZXMuZmluZChmID0+IGYuc2VsZWN0b3IgPT09IHNlY3Rpb24uZHluYW1pY1NlbGVjdG9yKTtcbiAgfVxufVxuIl19
|