@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,117 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { ScrollingModule as ExperimentalScrollingModule } from '@angular/cdk-experimental/scrolling';
|
3
|
-
import { ScrollingModule } from '@angular/cdk/scrolling';
|
4
|
-
import { CommonModule } from '@angular/common';
|
5
|
-
import '@angular/compiler';
|
6
|
-
import { Compiler, Component, Injectable, Input, NgModule, NgModuleRef, QueryList, ViewChildren, ViewEncapsulation, } from '@angular/core';
|
7
|
-
import { FormGroup } from '@angular/forms';
|
8
|
-
import { CoreModule, EntityUtil, Section, UUID } from '@veloceapps/core';
|
9
|
-
import { set, values } from 'lodash';
|
10
|
-
import { RuntimeExecutionModule } from '../execution/runtime-execution.module';
|
11
|
-
import { SectionHelperService } from './section-helper.service';
|
12
|
-
import { SectionStoreService } from './section-store.service';
|
13
|
-
import * as i0 from "@angular/core";
|
14
|
-
import * as i1 from "./section-store.service";
|
15
|
-
const SHA1 = UUID.SHA1();
|
16
|
-
export class BaseSectionComponent {
|
17
|
-
}
|
18
|
-
BaseSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
19
|
-
BaseSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseSectionComponent, selector: "ng-component", inputs: { form: "form", section: "section" }, viewQueries: [{ propertyName: "templates", predicate: ["customTemplate"], descendants: true }], ngImport: i0, template: '', isInline: true });
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseSectionComponent, decorators: [{
|
21
|
-
type: Component,
|
22
|
-
args: [{ template: '' }]
|
23
|
-
}], propDecorators: { form: [{
|
24
|
-
type: Input
|
25
|
-
}], section: [{
|
26
|
-
type: Input
|
27
|
-
}], templates: [{
|
28
|
-
type: ViewChildren,
|
29
|
-
args: ['customTemplate']
|
30
|
-
}] } });
|
31
|
-
export class SectionsService {
|
32
|
-
constructor(compiler, m, sectionStore) {
|
33
|
-
this.compiler = compiler;
|
34
|
-
this.m = m;
|
35
|
-
this.sectionStore = sectionStore;
|
36
|
-
this.moduleType = null;
|
37
|
-
this.moduleInstance = null;
|
38
|
-
}
|
39
|
-
compileModule(sections, isViewEncapsulated) {
|
40
|
-
const uniqueSections = this.getUniqueSections(sections);
|
41
|
-
this.moduleType = this.getModuleType(uniqueSections, isViewEncapsulated);
|
42
|
-
this.moduleInstance = this.compiler.compileModuleAndAllComponentsSync(this.moduleType);
|
43
|
-
this.sectionStore.componentFactories = this.moduleInstance.componentFactories;
|
44
|
-
}
|
45
|
-
destroy() {
|
46
|
-
if (this.moduleInstance) {
|
47
|
-
this.sectionStore.componentFactories = [];
|
48
|
-
this.moduleInstance = null;
|
49
|
-
}
|
50
|
-
if (this.moduleType) {
|
51
|
-
this.compiler.clearCacheFor(this.moduleType);
|
52
|
-
this.moduleType = null;
|
53
|
-
}
|
54
|
-
}
|
55
|
-
getDecoratedComponents(sections, isViewEncapsulated = false) {
|
56
|
-
const result = [];
|
57
|
-
sections.forEach(section => {
|
58
|
-
const transpiledTemplate = this.getTranspiledTemplate(section);
|
59
|
-
const DynamicComponent = Component({
|
60
|
-
selector: section.dynamicSelector,
|
61
|
-
template: transpiledTemplate,
|
62
|
-
styles: [atob(section.styles || '')],
|
63
|
-
providers: [SectionHelperService],
|
64
|
-
encapsulation: isViewEncapsulated ? ViewEncapsulation.ShadowDom : ViewEncapsulation.Emulated,
|
65
|
-
jit: true,
|
66
|
-
})(class C extends BaseSectionComponent {
|
67
|
-
});
|
68
|
-
this.applySelectorField(DynamicComponent, section.dynamicSelector ?? '');
|
69
|
-
result.push(DynamicComponent);
|
70
|
-
});
|
71
|
-
return result;
|
72
|
-
}
|
73
|
-
getModuleType(sections, isViewEncapsulated) {
|
74
|
-
const decoratedComponents = this.getDecoratedComponents(sections, isViewEncapsulated);
|
75
|
-
let DynamicModule = class DynamicModule {
|
76
|
-
};
|
77
|
-
DynamicModule = __decorate([
|
78
|
-
NgModule({
|
79
|
-
imports: [CommonModule, RuntimeExecutionModule, CoreModule, ScrollingModule, ExperimentalScrollingModule],
|
80
|
-
declarations: [decoratedComponents],
|
81
|
-
jit: true,
|
82
|
-
})
|
83
|
-
], DynamicModule);
|
84
|
-
return DynamicModule;
|
85
|
-
}
|
86
|
-
applySelectorField(target, dynamicSelector) {
|
87
|
-
set(target, '$$dynamicSelector', dynamicSelector);
|
88
|
-
}
|
89
|
-
getUniqueSections(sections) {
|
90
|
-
const uniqueSections = {};
|
91
|
-
sections.forEach(section => {
|
92
|
-
section.hash = SHA1.hex(section.template);
|
93
|
-
const existingSection = section.hash ? uniqueSections[section.hash] : undefined;
|
94
|
-
if (existingSection && existingSection.template === section.template) {
|
95
|
-
section.dynamicSelector = existingSection.dynamicSelector;
|
96
|
-
}
|
97
|
-
else if (section.hash) {
|
98
|
-
section.dynamicSelector = `section-${section.id}`;
|
99
|
-
uniqueSections[section.hash] = section;
|
100
|
-
}
|
101
|
-
});
|
102
|
-
return values(uniqueSections);
|
103
|
-
}
|
104
|
-
getTranspiledTemplate(section) {
|
105
|
-
let template = section.template ? atob(section.template) : '';
|
106
|
-
if (!EntityUtil.isEmpty(section.script) && template.indexOf('<section-script') === -1) {
|
107
|
-
template = `<section-script></section-script>`.concat(template);
|
108
|
-
}
|
109
|
-
return template;
|
110
|
-
}
|
111
|
-
}
|
112
|
-
SectionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionsService, deps: [{ token: i0.Compiler }, { token: i0.NgModuleRef }, { token: i1.SectionStoreService }], target: i0.ɵɵFactoryTarget.Injectable });
|
113
|
-
SectionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionsService });
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SectionsService, decorators: [{
|
115
|
-
type: Injectable
|
116
|
-
}], ctorParameters: function () { return [{ type: i0.Compiler }, { type: i0.NgModuleRef }, { type: i1.SectionStoreService }]; } });
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9zZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLElBQUksMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFHVCxZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUU5RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7QUFHekIsTUFBTSxPQUFPLG9CQUFvQjs7aUhBQXBCLG9CQUFvQjtxR0FBcEIsb0JBQW9CLGtNQURWLEVBQUU7MkZBQ1osb0JBQW9CO2tCQURoQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxF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LE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUV0RSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3JGLFFBQVEsR0FBRyxtQ0FBbUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakU7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs0R0E3RlUsZUFBZTtnSEFBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgYXMgRXhwZXJpbWVudGFsU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrLWV4cGVyaW1lbnRhbC9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQge1xuICBDb21waWxlcixcbiAgQ29tcG9uZW50LFxuICBJbmplY3RhYmxlLFxuICBJbnB1dCxcbiAgTW9kdWxlV2l0aENvbXBvbmVudEZhY3RvcmllcyxcbiAgTmdNb2R1bGUsXG4gIE5nTW9kdWxlUmVmLFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIEVudGl0eVV0aWwsIFNlY3Rpb24sIFVVSUQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IHNldCwgdmFsdWVzIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFJ1bnRpbWVFeGVjdXRpb25Nb2R1bGUgfSBmcm9tICcuLi9leGVjdXRpb24vcnVudGltZS1leGVjdXRpb24ubW9kdWxlJztcbmltcG9ydCB7IFNlY3Rpb25IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZWN0aW9uLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlY3Rpb25TdG9yZVNlcnZpY2UgfSBmcm9tICcuL3NlY3Rpb24tc3RvcmUuc2VydmljZSc7XG5cbmNvbnN0IFNIQTEgPSBVVUlELlNIQTEoKTtcblxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGNsYXNzIEJhc2VTZWN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIGZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlY3Rpb24hOiBTZWN0aW9uO1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ2N1c3RvbVRlbXBsYXRlJykgcHJvdGVjdGVkIHRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+Pjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlY3Rpb25zU2VydmljZSB7XG4gIHByaXZhdGUgbW9kdWxlVHlwZTogVHlwZTxhbnk+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbW9kdWxlSW5zdGFuY2U6IE1vZHVsZVdpdGhDb21wb25lbnRGYWN0b3JpZXM8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLCBwcml2YXRlIG06IE5nTW9kdWxlUmVmPGFueT4sIHByaXZhdGUgc2VjdGlvblN0b3JlOiBTZWN0aW9uU3RvcmVTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBjb21waWxlTW9kdWxlKHNlY3Rpb25zOiBTZWN0aW9uW10sIGlzVmlld0VuY2Fwc3VsYXRlZD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCB1bmlxdWVTZWN0aW9ucyA9IHRoaXMuZ2V0VW5pcXVlU2VjdGlvbnMoc2VjdGlvbnMpO1xuXG4gICAgdGhpcy5tb2R1bGVUeXBlID0gdGhpcy5nZXRNb2R1bGVUeXBlKHVuaXF1ZVNlY3Rpb25zLCBpc1ZpZXdFbmNhcHN1bGF0ZWQpO1xuICAgIHRoaXMubW9kdWxlSW5zdGFuY2UgPSB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBbmRBbGxDb21wb25lbnRzU3luYyh0aGlzLm1vZHVsZVR5cGUpO1xuXG4gICAgdGhpcy5zZWN0aW9uU3RvcmUuY29tcG9uZW50RmFjdG9yaWVzID0gdGhpcy5tb2R1bGVJbnN0YW5jZS5jb21wb25lbnRGYWN0b3JpZXM7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2R1bGVJbnN0YW5jZSkge1xuICAgICAgdGhpcy5zZWN0aW9uU3RvcmUuY29tcG9uZW50RmFjdG9yaWVzID0gW107XG4gICAgICB0aGlzLm1vZHVsZUluc3RhbmNlID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tb2R1bGVUeXBlKSB7XG4gICAgICB0aGlzLmNvbXBpbGVyLmNsZWFyQ2FjaGVGb3IodGhpcy5tb2R1bGVUeXBlKTtcbiAgICAgIHRoaXMubW9kdWxlVHlwZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWNvcmF0ZWRDb21wb25lbnRzKHNlY3Rpb25zOiBTZWN0aW9uW10sIGlzVmlld0VuY2Fwc3VsYXRlZDogYm9vbGVhbiA9IGZhbHNlKTogYW55W10ge1xuICAgIGNvbnN0IHJlc3VsdDogYW55W10gPSBbXTtcblxuICAgIHNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiB7XG4gICAgICBjb25zdCB0cmFuc3BpbGVkVGVtcGxhdGUgPSB0aGlzLmdldFRyYW5zcGlsZWRUZW1wbGF0ZShzZWN0aW9uKTtcblxuICAgICAgY29uc3QgRHluYW1pY0NvbXBvbmVudCA9IENvbXBvbmVudCh7XG4gICAgICAgIHNlbGVjdG9yOiBzZWN0aW9uLmR5bmFtaWNTZWxlY3RvcixcbiAgICAgICAgdGVtcGxhdGU6IHRyYW5zcGlsZWRUZW1wbGF0ZSxcbiAgICAgICAgc3R5bGVzOiBbYXRvYihzZWN0aW9uLnN0eWxlcyB8fCAnJyldLFxuICAgICAgICBwcm92aWRlcnM6IFtTZWN0aW9uSGVscGVyU2VydmljZV0sXG4gICAgICAgIGVuY2Fwc3VsYXRpb246IGlzVmlld0VuY2Fwc3VsYXRlZCA/IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSA6IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICAgICAgICBqaXQ6IHRydWUsXG4gICAgICB9KShjbGFzcyBDIGV4dGVuZHMgQmFzZVNlY3Rpb25Db21wb25lbnQge30pO1xuXG4gICAgICB0aGlzLmFwcGx5U2VsZWN0b3JGaWVsZChEeW5hbWljQ29tcG9uZW50LCBzZWN0aW9uLmR5bmFtaWNTZWxlY3RvciA/PyAnJyk7XG4gICAgICByZXN1bHQucHVzaChEeW5hbWljQ29tcG9uZW50KTtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZHVsZVR5cGUoc2VjdGlvbnM6IFNlY3Rpb25bXSwgaXNWaWV3RW5jYXBzdWxhdGVkPzogYm9vbGVhbik6IFR5cGU8YW55PiB7XG4gICAgY29uc3QgZGVjb3JhdGVkQ29tcG9uZW50cyA9IHRoaXMuZ2V0RGVjb3JhdGVkQ29tcG9uZW50cyhzZWN0aW9ucywgaXNWaWV3RW5jYXBzdWxhdGVkKTtcblxuICAgIEBOZ01vZHVsZSh7XG4gICAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSdW50aW1lRXhlY3V0aW9uTW9kdWxlLCBDb3JlTW9kdWxlLCBTY3JvbGxpbmdNb2R1bGUsIEV4cGVyaW1lbnRhbFNjcm9sbGluZ01vZHVsZV0sXG4gICAgICBkZWNsYXJhdGlvbnM6IFtkZWNvcmF0ZWRDb21wb25lbnRzXSxcbiAgICAgIGppdDogdHJ1ZSxcbiAgICB9KVxuICAgIGNsYXNzIER5bmFtaWNNb2R1bGUge31cblxuICAgIHJldHVybiBEeW5hbWljTW9kdWxlO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNlbGVjdG9yRmllbGQodGFyZ2V0OiBhbnksIGR5bmFtaWNTZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgc2V0KHRhcmdldCwgJyQkZHluYW1pY1NlbGVjdG9yJywgZHluYW1pY1NlbGVjdG9yKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VW5pcXVlU2VjdGlvbnMoc2VjdGlvbnM6IFNlY3Rpb25bXSk6IFNlY3Rpb25bXSB7XG4gICAgY29uc3QgdW5pcXVlU2VjdGlvbnM6IHsgW2luZGV4OiBzdHJpbmddOiBTZWN0aW9uIH0gPSB7fTtcblxuICAgIHNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiB7XG4gICAgICBzZWN0aW9uLmhhc2ggPSBTSEExLmhleChzZWN0aW9uLnRlbXBsYXRlKTtcblxuICAgICAgY29uc3QgZXhpc3RpbmdTZWN0aW9uID0gc2VjdGlvbi5oYXNoID8gdW5pcXVlU2VjdGlvbnNbc2VjdGlvbi5oYXNoXSA6IHVuZGVmaW5lZDtcbiAgICAgIGlmIChleGlzdGluZ1NlY3Rpb24gJiYgZXhpc3RpbmdTZWN0aW9uLnRlbXBsYXRlID09PSBzZWN0aW9uLnRlbXBsYXRlKSB7XG4gICAgICAgIHNlY3Rpb24uZHluYW1pY1NlbGVjdG9yID0gZXhpc3RpbmdTZWN0aW9uLmR5bmFtaWNTZWxlY3RvcjtcbiAgICAgIH0gZWxzZSBpZiAoc2VjdGlvbi5oYXNoKSB7XG4gICAgICAgIHNlY3Rpb24uZHluYW1pY1NlbGVjdG9yID0gYHNlY3Rpb24tJHtzZWN0aW9uLmlkfWA7XG5cbiAgICAgICAgdW5pcXVlU2VjdGlvbnNbc2VjdGlvbi5oYXNoXSA9IHNlY3Rpb247XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmFsdWVzKHVuaXF1ZVNlY3Rpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhbnNwaWxlZFRlbXBsYXRlKHNlY3Rpb246IFNlY3Rpb24pOiBzdHJpbmcge1xuICAgIGxldCB0ZW1wbGF0ZTogc3RyaW5nID0gc2VjdGlvbi50ZW1wbGF0ZSA/IGF0b2Ioc2VjdGlvbi50ZW1wbGF0ZSkgOiAnJztcblxuICAgIGlmICghRW50aXR5VXRpbC5pc0VtcHR5KHNlY3Rpb24uc2NyaXB0KSAmJiB0ZW1wbGF0ZS5pbmRleE9mKCc8c2VjdGlvbi1zY3JpcHQnKSA9PT0gLTEpIHtcbiAgICAgIHRlbXBsYXRlID0gYDxzZWN0aW9uLXNjcmlwdD48L3NlY3Rpb24tc2NyaXB0PmAuY29uY2F0KHRlbXBsYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVtcGxhdGU7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,7 +0,0 @@
|
|
1
|
-
export var BoundDataType;
|
2
|
-
(function (BoundDataType) {
|
3
|
-
BoundDataType[BoundDataType["TYPE"] = 0] = "TYPE";
|
4
|
-
BoundDataType[BoundDataType["ATTRIBUTE"] = 1] = "ATTRIBUTE";
|
5
|
-
BoundDataType[BoundDataType["PORT"] = 2] = "PORT";
|
6
|
-
})(BoundDataType || (BoundDataType = {}));
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmQtZGF0YS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvdHlwZXMvYm91bmQtZGF0YS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLGlEQUFJLENBQUE7SUFDSiwyREFBUyxDQUFBO0lBQ1QsaURBQUksQ0FBQTtBQUNOLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3RNb2RlbEF0dHJpYnV0ZSwgUHJvZHVjdFBvcnQsIFByb2R1Y3RUeXBlLCBTZWN0aW9uUGF0aCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuXG5leHBvcnQgZW51bSBCb3VuZERhdGFUeXBlIHtcbiAgVFlQRSxcbiAgQVRUUklCVVRFLFxuICBQT1JULFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvdW5kRGF0YSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZW50aXR5OiBQcm9kdWN0VHlwZSB8IFByb2R1Y3RNb2RlbEF0dHJpYnV0ZSB8IFByb2R1Y3RQb3J0O1xuICBlbnRpdHlUeXBlOiBzdHJpbmc7XG4gIGhvc3Q/OiBzdHJpbmc7XG4gIHBhdGg6IFNlY3Rpb25QYXRoO1xufVxuIl19
|
@@ -1,3 +0,0 @@
|
|
1
|
-
export * from './quote-states.types';
|
2
|
-
export * from './runtime.types';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcXVvdGUtc3RhdGVzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcnVudGltZS50eXBlcyc7XG4iXX0=
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtc3RhdGVzLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS90eXBlcy9xdW90ZS1zdGF0ZXMudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVvdGVTdGF0ZXMge1xuICBjb25maWd1cmFibGVSYW1wPzogTGluZUl0ZW07XG4gIGN1cnJlbnRTdGF0ZT86IExpbmVJdGVtW107XG4gIGFzc2V0PzogTGluZUl0ZW07XG59XG4iXX0=
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvdHlwZXMvcnVudGltZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGVnYWN5VUlEZWZpbml0aW9uLCBMaW5lSXRlbSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgUnVudGltZUNvbnRleHQgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGludGVyZmFjZSBTb2x1dGlvblJlYWR5QXdhcmUge1xuICBvblNvbHV0aW9uUmVhZHkobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb2x1dGlvblVwZGF0ZWRBd2FyZSB7XG4gIG9uU29sdXRpb25VcGRhdGVkKGxpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlRGF0YSB7XG4gIGlkOiBzdHJpbmc7XG4gIGFjdGlvbjogc3RyaW5nO1xuICB2YWx1ZU9wdGlvbj86IHN0cmluZztcbiAgc2VsZWN0ZWRWYWx1ZU9wdGlvbnM/OiBzdHJpbmdbXTtcbiAgb3B0aW9ucz86IERpY3Rpb25hcnk8YW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZWdhY3lSdW50aW1lQ29udGV4dCBleHRlbmRzIE9taXQ8UnVudGltZUNvbnRleHQsICd1aURlZmluaXRpb24nPiB7XG4gIHVpRGVmaW5pdGlvbj86IExlZ2FjeVVJRGVmaW5pdGlvbjtcbn1cbiJdfQ==
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import { EntityUtil } from '@veloceapps/core';
|
2
|
-
export class ScriptRegistry {
|
3
|
-
constructor() {
|
4
|
-
this.store = new Map();
|
5
|
-
this.scope = new Map();
|
6
|
-
}
|
7
|
-
exists(scriptId) {
|
8
|
-
const sectionIds = this.store.get(scriptId);
|
9
|
-
return !EntityUtil.isEmpty(sectionIds);
|
10
|
-
}
|
11
|
-
isRegistered(scriptId, sectionId) {
|
12
|
-
const sectionIds = this.store.get(scriptId);
|
13
|
-
return !EntityUtil.isEmpty(sectionIds) && sectionIds?.findIndex(entryId => entryId === sectionId) !== -1;
|
14
|
-
}
|
15
|
-
doRegister(scriptId, sectionId) {
|
16
|
-
const sectionIds = this.store.get(scriptId);
|
17
|
-
if (!EntityUtil.isPresent(sectionIds)) {
|
18
|
-
this.store.set(scriptId, [sectionId]);
|
19
|
-
}
|
20
|
-
else if (sectionIds?.findIndex(entryId => entryId === sectionId) === -1) {
|
21
|
-
sectionIds.push(sectionId);
|
22
|
-
}
|
23
|
-
}
|
24
|
-
unRegister(scriptId, sectionId) {
|
25
|
-
const sectionIds = this.store.get(scriptId);
|
26
|
-
if (!sectionIds) {
|
27
|
-
return;
|
28
|
-
}
|
29
|
-
const index = sectionIds?.findIndex(entryId => entryId === sectionId);
|
30
|
-
if (index !== -1) {
|
31
|
-
sectionIds.splice(index, 1);
|
32
|
-
// Remove orphan
|
33
|
-
if (sectionIds.length < 1) {
|
34
|
-
this.store.delete(scriptId);
|
35
|
-
}
|
36
|
-
}
|
37
|
-
}
|
38
|
-
hasGlobalForScript(globalId) {
|
39
|
-
return this.scope.has(globalId);
|
40
|
-
}
|
41
|
-
getGlobalForScript(globalId) {
|
42
|
-
return this.scope.get(globalId);
|
43
|
-
}
|
44
|
-
setGlobalForScript(globalId, globalVariable) {
|
45
|
-
this.scope.set(globalId, globalVariable);
|
46
|
-
}
|
47
|
-
removeGlobalForScript(globalId) {
|
48
|
-
this.scope.delete(globalId);
|
49
|
-
}
|
50
|
-
}
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LXJlZ2lzdHJ5LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS90eXBlcy9zY3JpcHQtcmVnaXN0cnkudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxjQUFjO0lBSXpCO1FBQ0UsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQWdCO1FBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTVDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxZQUFZLENBQUMsUUFBZ0IsRUFBRSxTQUFpQjtRQUNyRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFTSxVQUFVLENBQUMsUUFBZ0IsRUFBRSxTQUFpQjtRQUNuRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU0sSUFBSSxVQUFVLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3pFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLFFBQWdCLEVBQUUsU0FBaUI7UUFDbkQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE9BQU87U0FDUjtRQUVELE1BQU0sS0FBSyxHQUFHLFVBQVUsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUM7UUFFdEUsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDaEIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFNUIsZ0JBQWdCO1lBQ2hCLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzdCO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsUUFBZ0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsUUFBZ0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxjQUFtQjtRQUM3RCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFFBQWdCO1FBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVV0aWwgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcblxuZXhwb3J0IGNsYXNzIFNjcmlwdFJlZ2lzdHJ5IHtcbiAgcHVibGljIHNjb3BlOiBNYXA8c3RyaW5nLCBhbnk+O1xuICBwcml2YXRlIHN0b3JlOiBNYXA8c3RyaW5nLCBzdHJpbmdbXT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zdG9yZSA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLnNjb3BlID0gbmV3IE1hcCgpO1xuICB9XG5cbiAgcHVibGljIGV4aXN0cyhzY3JpcHRJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2VjdGlvbklkcyA9IHRoaXMuc3RvcmUuZ2V0KHNjcmlwdElkKTtcblxuICAgIHJldHVybiAhRW50aXR5VXRpbC5pc0VtcHR5KHNlY3Rpb25JZHMpO1xuICB9XG5cbiAgcHVibGljIGlzUmVnaXN0ZXJlZChzY3JpcHRJZDogc3RyaW5nLCBzZWN0aW9uSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlY3Rpb25JZHMgPSB0aGlzLnN0b3JlLmdldChzY3JpcHRJZCk7XG5cbiAgICByZXR1cm4gIUVudGl0eVV0aWwuaXNFbXB0eShzZWN0aW9uSWRzKSAmJiBzZWN0aW9uSWRzPy5maW5kSW5kZXgoZW50cnlJZCA9PiBlbnRyeUlkID09PSBzZWN0aW9uSWQpICE9PSAtMTtcbiAgfVxuXG4gIHB1YmxpYyBkb1JlZ2lzdGVyKHNjcmlwdElkOiBzdHJpbmcsIHNlY3Rpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VjdGlvbklkcyA9IHRoaXMuc3RvcmUuZ2V0KHNjcmlwdElkKTtcblxuICAgIGlmICghRW50aXR5VXRpbC5pc1ByZXNlbnQoc2VjdGlvbklkcykpIHtcbiAgICAgIHRoaXMuc3RvcmUuc2V0KHNjcmlwdElkLCBbc2VjdGlvbklkXSk7XG4gICAgfSBlbHNlIGlmIChzZWN0aW9uSWRzPy5maW5kSW5kZXgoZW50cnlJZCA9PiBlbnRyeUlkID09PSBzZWN0aW9uSWQpID09PSAtMSkge1xuICAgICAgc2VjdGlvbklkcy5wdXNoKHNlY3Rpb25JZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVuUmVnaXN0ZXIoc2NyaXB0SWQ6IHN0cmluZywgc2VjdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWN0aW9uSWRzID0gdGhpcy5zdG9yZS5nZXQoc2NyaXB0SWQpO1xuXG4gICAgaWYgKCFzZWN0aW9uSWRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5kZXggPSBzZWN0aW9uSWRzPy5maW5kSW5kZXgoZW50cnlJZCA9PiBlbnRyeUlkID09PSBzZWN0aW9uSWQpO1xuXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgc2VjdGlvbklkcy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICAvLyBSZW1vdmUgb3JwaGFuXG4gICAgICBpZiAoc2VjdGlvbklkcy5sZW5ndGggPCAxKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGVsZXRlKHNjcmlwdElkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFzR2xvYmFsRm9yU2NyaXB0KGdsb2JhbElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zY29wZS5oYXMoZ2xvYmFsSWQpO1xuICB9XG5cbiAgcHVibGljIGdldEdsb2JhbEZvclNjcmlwdChnbG9iYWxJZDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5zY29wZS5nZXQoZ2xvYmFsSWQpO1xuICB9XG5cbiAgcHVibGljIHNldEdsb2JhbEZvclNjcmlwdChnbG9iYWxJZDogc3RyaW5nLCBnbG9iYWxWYXJpYWJsZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zY29wZS5zZXQoZ2xvYmFsSWQsIGdsb2JhbFZhcmlhYmxlKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVHbG9iYWxGb3JTY3JpcHQoZ2xvYmFsSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2NvcGUuZGVsZXRlKGdsb2JhbElkKTtcbiAgfVxufVxuIl19
|
@@ -1,270 +0,0 @@
|
|
1
|
-
import { EntityUtil, UUID } from '@veloceapps/core';
|
2
|
-
export class LineItemPath {
|
3
|
-
set relativePath(relativePath) {
|
4
|
-
this._relativePath = relativePath.toLowerCase();
|
5
|
-
}
|
6
|
-
get relativePath() {
|
7
|
-
return this._relativePath;
|
8
|
-
}
|
9
|
-
set abstractPath(abstractPath) {
|
10
|
-
this._abstractPath = abstractPath.toLowerCase();
|
11
|
-
}
|
12
|
-
get abstractPath() {
|
13
|
-
return this._abstractPath || this.path;
|
14
|
-
}
|
15
|
-
set relativeAbstractPath(relativeAbstractPath) {
|
16
|
-
this._relativeAbstractPath = relativeAbstractPath.toLowerCase();
|
17
|
-
}
|
18
|
-
constructor(path) {
|
19
|
-
this._relativePath = '';
|
20
|
-
this._relativeAbstractPath = '';
|
21
|
-
this._abstractPath = '';
|
22
|
-
this.path = path.toLowerCase();
|
23
|
-
}
|
24
|
-
isEqualTo(sectionPath) {
|
25
|
-
if (!sectionPath || !this.path || !sectionPath.path) {
|
26
|
-
return false;
|
27
|
-
}
|
28
|
-
const otherPath = sectionPath.path.toLowerCase();
|
29
|
-
const isEqual = this.path === otherPath || this._relativePath === otherPath || this._relativeAbstractPath === otherPath;
|
30
|
-
//TODO ALE SORT OUT SEARCH
|
31
|
-
if (!isEqual) {
|
32
|
-
const abstractPathMatch = this._abstractPath === sectionPath.abstractPath.toLowerCase();
|
33
|
-
const relativePathMatch = this._relativePath
|
34
|
-
? this._relativePath === sectionPath.relativePath.toLowerCase()
|
35
|
-
: false;
|
36
|
-
const relativeAbstractPathMatch = this._relativeAbstractPath && sectionPath.relativeAbstractPath
|
37
|
-
? sectionPath.relativeAbstractPath.toLowerCase() === sectionPath.relativePath.toLowerCase() &&
|
38
|
-
this._relativeAbstractPath === sectionPath.relativePath.toLowerCase()
|
39
|
-
: false;
|
40
|
-
return abstractPathMatch && (relativePathMatch || relativeAbstractPathMatch);
|
41
|
-
}
|
42
|
-
return isEqual;
|
43
|
-
}
|
44
|
-
}
|
45
|
-
export class LineItemUtil {
|
46
|
-
static removeDeletedItems(original) {
|
47
|
-
const root = EntityUtil.clone(original);
|
48
|
-
if (root) {
|
49
|
-
let items = [root];
|
50
|
-
for (let i = 0; i < items.length; i++) {
|
51
|
-
const item = items[i];
|
52
|
-
item.lineItems = (item.lineItems ?? []).filter(l => l.actionCode !== 'DELETE');
|
53
|
-
items = items.concat(item.lineItems);
|
54
|
-
}
|
55
|
-
}
|
56
|
-
return root;
|
57
|
-
}
|
58
|
-
static replaceLineItemKeys(rootLineItem) {
|
59
|
-
const replaceFn = (item) => {
|
60
|
-
item.id = item.id ? 'DUMMY-' + item.id : item.id;
|
61
|
-
item.rootId = item.rootId ? 'DUMMY-' + item.rootId : item.rootId;
|
62
|
-
item.parentId = item.parentId ? 'DUMMY-' + item.parentId : item.parentId;
|
63
|
-
item.offeringInstanceId = item.offeringInstanceId ? 'DUMMY-' + item.offeringInstanceId : void 0;
|
64
|
-
item.offeringItemId = item.offeringItemId ? 'DUMMY-' + item.offeringItemId : void 0;
|
65
|
-
item.rampInstanceId = item.rampInstanceId ? 'DUMMY-' + item.rampInstanceId : void 0;
|
66
|
-
};
|
67
|
-
const traverseFn = (lineItem, callbackFn) => {
|
68
|
-
if (lineItem.lineItems && lineItem.lineItems.length > 0) {
|
69
|
-
lineItem.lineItems.forEach(childLineItem => {
|
70
|
-
callbackFn.apply(null, [childLineItem]);
|
71
|
-
traverseFn.apply(null, [childLineItem, callbackFn]);
|
72
|
-
});
|
73
|
-
}
|
74
|
-
};
|
75
|
-
replaceFn.apply(null, [rootLineItem]);
|
76
|
-
// rootLineItem.rootId = rootLineItem.id;
|
77
|
-
traverseFn.apply(null, [rootLineItem, replaceFn]);
|
78
|
-
}
|
79
|
-
static enrichPricingInfo(source, pricingDto) {
|
80
|
-
const result = {
|
81
|
-
...source,
|
82
|
-
};
|
83
|
-
if (pricingDto) {
|
84
|
-
result.productName = pricingDto.properties?.['displayName'] || pricingDto.productName;
|
85
|
-
result.type = pricingDto.type;
|
86
|
-
result.rootId = pricingDto.rootId;
|
87
|
-
result.assetId = pricingDto.assetId;
|
88
|
-
result.openOrderLineItemId = pricingDto.openOrderLineItemId;
|
89
|
-
result.activated = pricingDto.activated;
|
90
|
-
result.actionCode = pricingDto.actionCode;
|
91
|
-
result.serviceStartDate = pricingDto.serviceStartDate;
|
92
|
-
result.effectiveDate = pricingDto.effectiveDate;
|
93
|
-
result.startDate = pricingDto.startDate;
|
94
|
-
result.endDate = pricingDto.endDate;
|
95
|
-
result.offeringId = pricingDto.offeringId;
|
96
|
-
result.offeringItemId = pricingDto.offeringItemId;
|
97
|
-
result.offeringInstanceId = pricingDto.offeringInstanceId;
|
98
|
-
result.rampInstanceId = pricingDto.rampInstanceId;
|
99
|
-
result.planId = pricingDto.planId;
|
100
|
-
if (!result.chargeItems) {
|
101
|
-
result.chargeItems = pricingDto.chargeItems;
|
102
|
-
}
|
103
|
-
result.chargeGroupItems = [];
|
104
|
-
}
|
105
|
-
if (source.lineItems && source.lineItems.length > 0) {
|
106
|
-
result.lineItems = [];
|
107
|
-
source.lineItems.forEach((childSource) => {
|
108
|
-
const childDto = pricingDto && pricingDto.lineItems && pricingDto.lineItems.find(c => childSource.id === c.id);
|
109
|
-
const childItem = LineItemUtil.enrichPricingInfo(childSource, childDto);
|
110
|
-
result.lineItems.push(childItem);
|
111
|
-
});
|
112
|
-
}
|
113
|
-
return result;
|
114
|
-
}
|
115
|
-
static getLineItemPath(lineItem, rootLineItem) {
|
116
|
-
let path;
|
117
|
-
if (!lineItem.parentId) {
|
118
|
-
path = new LineItemPath('/' + lineItem.type);
|
119
|
-
path.abstractPath = path.path;
|
120
|
-
path.relativePath = path.path;
|
121
|
-
path.relativeAbstractPath = path.path;
|
122
|
-
}
|
123
|
-
else {
|
124
|
-
//TOODO ALE SORT OUT PATENT ITEM
|
125
|
-
const parentItem = EntityUtil.findByFieldHierarchically('id', lineItem.parentId, [rootLineItem], 'lineItems');
|
126
|
-
const portType = lineItem.port && parentItem?.portDomains[lineItem.port].type;
|
127
|
-
const parentPath = parentItem && LineItemUtil.getLineItemPath(parentItem, rootLineItem);
|
128
|
-
if (parentPath) {
|
129
|
-
path = new LineItemPath(parentPath.path + '/ports/' + lineItem.port + '/' + lineItem.type);
|
130
|
-
path.abstractPath = parentPath.abstractPath + '/ports/' + (lineItem.port + '/' + portType);
|
131
|
-
path.relativePath = '/' + lineItem.type;
|
132
|
-
path.relativeAbstractPath = '/' + portType;
|
133
|
-
}
|
134
|
-
else {
|
135
|
-
throw 'Could not construct line item path';
|
136
|
-
}
|
137
|
-
}
|
138
|
-
return path;
|
139
|
-
}
|
140
|
-
static findById(parentId, lineItems) {
|
141
|
-
return EntityUtil.findByFieldHierarchically('id', parentId, lineItems, 'lineItems');
|
142
|
-
}
|
143
|
-
static countAttributeValues(scale, attributeDomain) {
|
144
|
-
const precision = LineItemUtil.precision(scale);
|
145
|
-
let count = 0;
|
146
|
-
attributeDomain.forEach(d => (count += d.max - d.min + precision));
|
147
|
-
return count;
|
148
|
-
}
|
149
|
-
static precision(scale) {
|
150
|
-
if (!scale) {
|
151
|
-
return 1;
|
152
|
-
}
|
153
|
-
let s = '1';
|
154
|
-
while (s.length < scale) {
|
155
|
-
s = '0' + s;
|
156
|
-
}
|
157
|
-
return Number('0.' + s);
|
158
|
-
}
|
159
|
-
static splitDomainToValues(scale, attributeDomain) {
|
160
|
-
const precision = this.precision(scale);
|
161
|
-
let values = [];
|
162
|
-
attributeDomain.forEach(interval => (values = values.concat(LineItemUtil.splitIntervalToValues(precision, interval))));
|
163
|
-
return values;
|
164
|
-
}
|
165
|
-
static splitIntervalToValues(precision, interval) {
|
166
|
-
const values = [];
|
167
|
-
for (let i = interval.min; i <= interval.max; i += precision) {
|
168
|
-
values.push(i);
|
169
|
-
}
|
170
|
-
return values;
|
171
|
-
}
|
172
|
-
static findLineItemsByPath(runtimeModel, lineItem, path) {
|
173
|
-
if (!runtimeModel.isEquals(lineItem.type, path.types[0])) {
|
174
|
-
return [];
|
175
|
-
}
|
176
|
-
let lineItems = [lineItem];
|
177
|
-
for (let i = 1; i < path.types.length; i++) {
|
178
|
-
const portName = path.ports[i - 1];
|
179
|
-
const typeName = path.types[i];
|
180
|
-
lineItems = LineItemUtil.findLineItemChildren(runtimeModel, lineItems, portName, typeName);
|
181
|
-
}
|
182
|
-
return lineItems;
|
183
|
-
}
|
184
|
-
static findLineItemChildren(runtimeModel, lineItems, portName, typeName) {
|
185
|
-
const result = [];
|
186
|
-
for (const lineItem of lineItems) {
|
187
|
-
for (const childItem of lineItem.lineItems) {
|
188
|
-
if (childItem.port?.toLowerCase() === portName.toLowerCase() &&
|
189
|
-
runtimeModel.isEquals(childItem.type, typeName)) {
|
190
|
-
result.push(childItem);
|
191
|
-
}
|
192
|
-
}
|
193
|
-
}
|
194
|
-
return result;
|
195
|
-
}
|
196
|
-
static findLineItemsByType(runtimeModel, lineItem, typeName) {
|
197
|
-
const result = [];
|
198
|
-
let lineItems = [lineItem];
|
199
|
-
for (let i = 0; i < lineItems.length; i++) {
|
200
|
-
const lineItem = lineItems[i];
|
201
|
-
if (runtimeModel.isEquals(lineItem.type, typeName)) {
|
202
|
-
result.push(lineItem);
|
203
|
-
}
|
204
|
-
lineItems = lineItems.concat(lineItem.lineItems);
|
205
|
-
}
|
206
|
-
return result;
|
207
|
-
}
|
208
|
-
static findLineItemForValue(model, valueOption) {
|
209
|
-
if (!EntityUtil.isPresent(model) || !EntityUtil.isPresent(model.lineItems)) {
|
210
|
-
return;
|
211
|
-
}
|
212
|
-
return model.lineItems.find(li => li.type && li.type.toLowerCase() === valueOption.toLowerCase());
|
213
|
-
}
|
214
|
-
// TODO: add Product typings
|
215
|
-
static create(product, qty) {
|
216
|
-
return {
|
217
|
-
id: UUID.UUID(),
|
218
|
-
type: product.typeName,
|
219
|
-
name: product.properties?.displayName || product.name,
|
220
|
-
productName: product.name,
|
221
|
-
productId: product.id,
|
222
|
-
cfgStatus: 'User',
|
223
|
-
actionCode: 'ADD',
|
224
|
-
qty: qty || 1,
|
225
|
-
};
|
226
|
-
}
|
227
|
-
static upsert(value, collection) {
|
228
|
-
const index = collection.findIndex(item => item.id === value.id);
|
229
|
-
if (index > -1) {
|
230
|
-
collection[index] = value;
|
231
|
-
}
|
232
|
-
else {
|
233
|
-
collection.push(value);
|
234
|
-
}
|
235
|
-
}
|
236
|
-
static compareSortOrder(a, b) {
|
237
|
-
const orderA = Number(a.properties['SortOrder']);
|
238
|
-
const orderB = Number(b.properties['SortOrder']);
|
239
|
-
if (!orderA && !orderB) {
|
240
|
-
return LineItemUtil.compareProductName(a, b);
|
241
|
-
}
|
242
|
-
if (!orderA) {
|
243
|
-
return 1;
|
244
|
-
}
|
245
|
-
else if (!orderB) {
|
246
|
-
return -1;
|
247
|
-
}
|
248
|
-
const result = orderA - orderB;
|
249
|
-
if (result === 0) {
|
250
|
-
return LineItemUtil.compareProductName(a, b);
|
251
|
-
}
|
252
|
-
return result;
|
253
|
-
}
|
254
|
-
static sort(lineItems) {
|
255
|
-
if (lineItems) {
|
256
|
-
lineItems.sort((a, b) => LineItemUtil.compareSortOrder(a, b));
|
257
|
-
lineItems.forEach(i => LineItemUtil.sort(i.lineItems));
|
258
|
-
}
|
259
|
-
}
|
260
|
-
static compareProductName(a, b) {
|
261
|
-
if (a.productName) {
|
262
|
-
return (a.productName ?? '').localeCompare(b.productName ?? '');
|
263
|
-
}
|
264
|
-
else if (b.productName) {
|
265
|
-
return 1;
|
266
|
-
}
|
267
|
-
return 0;
|
268
|
-
}
|
269
|
-
}
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1pdGVtLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL3V0aWxzL2xpbmUtaXRlbS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVDLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpGLE1BQU0sT0FBTyxZQUFZO0lBTXZCLElBQVcsWUFBWSxDQUFDLFlBQW9CO1FBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFlBQVksQ0FBQyxZQUFvQjtRQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLG9CQUFvQixDQUFDLG9CQUE0QjtRQUMxRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVELFlBQVksSUFBWTtRQXhCaEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsMEJBQXFCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBdUJ6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sU0FBUyxDQUFDLFdBQXdCO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtZQUNuRCxPQUFP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QzlDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7YUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2xCLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDWDtRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDL0IsSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2hCLE9BQU8sWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM5QztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQXFCO1FBQ3RDLElBQUksU0FBUyxFQUFFO1lBQ2IsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBVyxFQUFFLENBQVc7UUFDeEQsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2pFO2FBQU0sSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVV0aWwsIExpbmVJdGVtLCBSdW50aW1lTW9kZWwsIFNlY3Rpb25QYXRoLCBVVUlEIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBMaW5lSXRlbVBhdGgge1xuICBwdWJsaWMgcGF0aDogc3RyaW5nO1xuICBwcml2YXRlIF9yZWxhdGl2ZVBhdGggPSAnJztcbiAgcHJpdmF0ZSBfcmVsYXRpdmVBYnN0cmFjdFBhdGggPSAnJztcbiAgcHJpdmF0ZSBfYWJzdHJhY3RQYXRoID0gJyc7XG5cbiAgcHVibGljIHNldCByZWxhdGl2ZVBhdGgocmVsYXRpdmVQYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZWxhdGl2ZVBhdGggPSByZWxhdGl2ZVBhdGgudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVsYXRpdmVQYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aXZlUGF0aDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYWJzdHJhY3RQYXRoKGFic3RyYWN0UGF0aDogc3RyaW5nKSB7XG4gICAgdGhpcy5fYWJzdHJhY3RQYXRoID0gYWJzdHJhY3RQYXRoLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFic3RyYWN0UGF0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9hYnN0cmFjdFBhdGggfHwgdGhpcy5wYXRoO1xuICB9XG5cbiAgcHVibGljIHNldCByZWxhdGl2ZUFic3RyYWN0UGF0aChyZWxhdGl2ZUFic3RyYWN0UGF0aDogc3RyaW5nKSB7XG4gICAgdGhpcy5fcmVsYXRpdmVBYnN0cmFjdFBhdGggPSByZWxhdGl2ZUFic3RyYWN0UGF0aC50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocGF0aDogc3RyaW5nKSB7XG4gICAgdGhpcy5wYXRoID0gcGF0aC50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHVibGljIGlzRXF1YWxUbyhzZWN0aW9uUGF0aDogU2VjdGlvblBhdGgpOiBib29sZWFuIHtcbiAgICBpZiAoIXNlY3Rpb25QYXRoIHx8ICF0aGlzLnBhdGggfHwgIXNlY3Rpb25QYXRoLnBhdGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBvdGhlclBhdGggPSBzZWN0aW9uUGF0aC5wYXRoLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgaXNFcXVhbCA9XG4gICAgICB0aGlzLnBhdGggPT09IG90aGVyUGF0aCB8fCB0aGlzLl9yZWxhdGl2ZVBhdGggPT09IG90aGVyUGF0aCB8fCB0aGlzLl9yZWxhdGl2ZUFic3RyYWN0UGF0aCA9PT0gb3RoZXJQYXRoO1xuXG4gICAgLy9UT0RPIEFMRSBTT1JUIE9VVCBTRUFSQ0hcbiAgICBpZiAoIWlzRXF1YWwpIHtcbiAgICAgIGNvbnN0IGFic3RyYWN0UGF0aE1hdGNoID0gdGhpcy5fYWJzdHJhY3RQYXRoID09PSBzZWN0aW9uUGF0aC5hYnN0cmFjdFBhdGgudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNvbnN0IHJlbGF0aXZlUGF0aE1hdGNoID0gdGhpcy5fcmVsYXRpdmVQYXRoXG4gICAgICAgID8gdGhpcy5fcmVsYXRpdmVQYXRoID09PSBzZWN0aW9uUGF0aC5yZWxhdGl2ZVBhdGgudG9Mb3dlckNhc2UoKVxuICAgICAgICA6IGZhbHNlO1xuICAgICAgY29uc3QgcmVsYXRpdmVBYnN0cmFjdFBhdGhNYXRjaCA9XG4gICAgICAgIHRoaXMuX3JlbGF0aXZlQWJzdHJhY3RQYXRoICYmIHNlY3Rpb25QYXRoLnJlbGF0aXZlQWJzdHJhY3RQYXRoXG4gICAgICAgICAgPyBzZWN0aW9uUGF0aC5yZWxhdGl2ZUFic3RyYWN0UGF0aC50b0xvd2VyQ2FzZSgpID09PSBzZWN0aW9uUGF0aC5yZWxhdGl2ZVBhdGgudG9Mb3dlckNhc2UoKSAmJlxuICAgICAgICAgICAgdGhpcy5fcmVsYXRpdmVBYnN0cmFjdFBhdGggPT09IHNlY3Rpb25QYXRoLnJlbGF0aXZlUGF0aC50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgOiBmYWxzZTtcbiAgICAgIHJldHVybiBhYnN0cmFjdFBhdGhNYXRjaCAmJiAocmVsYXRpdmVQYXRoTWF0Y2ggfHwgcmVsYXRpdmVBYnN0cmFjdFBhdGhNYXRjaCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzRXF1YWw7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpbmVJdGVtVXRpbCB7XG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlRGVsZXRlZEl0ZW1zKG9yaWdpbmFsOiBMaW5lSXRlbSk6IExpbmVJdGVtIHtcbiAgICBjb25zdCByb290ID0gRW50aXR5VXRpbC5jbG9uZShvcmlnaW5hbCk7XG5cbiAgICBpZiAocm9vdCkge1xuICAgICAgbGV0IGl0ZW1zID0gW3Jvb3RdO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXTtcbiAgICAgICAgaXRlbS5saW5lSXRlbXMgPSAoaXRlbS5saW5lSXRlbXMgPz8gW10pLmZpbHRlcihsID0+IGwuYWN0aW9uQ29kZSAhPT0gJ0RFTEVURScpO1xuICAgICAgICBpdGVtcyA9IGl0ZW1zLmNvbmNhdChpdGVtLmxpbmVJdGVtcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvb3Q7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJlcGxhY2VMaW5lSXRlbUtleXMocm9vdExpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IHJlcGxhY2VGbiA9IChpdGVtOiBMaW5lSXRlbSk6IHZvaWQgPT4ge1xuICAgICAgaXRlbS5pZCA9IGl0ZW0uaWQgPyAnRFVNTVktJyArIGl0ZW0uaWQgOiBpdGVtLmlkO1xuICAgICAgaXRlbS5yb290SWQgPSBpdGVtLnJvb3RJZCA/ICdEVU1NWS0nICsgaXRlbS5yb290SWQgOiBpdGVtLnJvb3RJZDtcbiAgICAgIGl0ZW0ucGFyZW50SWQgPSBpdGVtLnBhcmVudElkID8gJ0RVTU1ZLScgKyBpdGVtLnBhcmVudElkIDogaXRlbS5wYXJlbnRJZDtcbiAgICAgIGl0ZW0ub2ZmZXJpbmdJbnN0YW5jZUlkID0gaXRlbS5vZmZlcmluZ0luc3RhbmNlSWQgPyAnRFVNTVktJyArIGl0ZW0ub2ZmZXJpbmdJbnN0YW5jZUlkIDogdm9pZCAwO1xuICAgICAgaXRlbS5vZmZlcmluZ0l0ZW1JZCA9IGl0ZW0ub2ZmZXJpbmdJdGVtSWQgPyAnRFVNTVktJyArIGl0ZW0ub2ZmZXJpbmdJdGVtSWQgOiB2b2lkIDA7XG4gICAgICBpdGVtLnJhbXBJbnN0YW5jZUlkID0gaXRlbS5yYW1wSW5zdGFuY2VJZCA/ICdEVU1NWS0nICsgaXRlbS5yYW1wSW5zdGFuY2VJZCA6IHZvaWQgMDtcbiAgICB9O1xuXG4gICAgY29uc3QgdHJhdmVyc2VGbiA9IChsaW5lSXRlbTogTGluZUl0ZW0sIGNhbGxiYWNrRm46IGFueSk6IHZvaWQgPT4ge1xuICAgICAgaWYgKGxpbmVJdGVtLmxpbmVJdGVtcyAmJiBsaW5lSXRlbS5saW5lSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICBsaW5lSXRlbS5saW5lSXRlbXMuZm9yRWFjaChjaGlsZExpbmVJdGVtID0+IHtcbiAgICAgICAgICBjYWxsYmFja0ZuLmFwcGx5KG51bGwsIFtjaGlsZExpbmVJdGVtXSk7XG4gICAgICAgICAgdHJhdmVyc2VGbi5hcHBseShudWxsLCBbY2hpbGRMaW5lSXRlbSwgY2FsbGJhY2tGbl0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmVwbGFjZUZuLmFwcGx5KG51bGwsIFtyb290TGluZUl0ZW1dKTtcbiAgICAvLyByb290TGluZUl0ZW0ucm9vdElkID0gcm9vdExpbmVJdGVtLmlkO1xuXG4gICAgdHJhdmVyc2VGbi5hcHBseShudWxsLCBbcm9vdExpbmVJdGVtLCByZXBsYWNlRm5dKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZW5yaWNoUHJpY2luZ0luZm8oc291cmNlOiBMaW5lSXRlbSwgcHJpY2luZ0R0bz86IExpbmVJdGVtKTogTGluZUl0ZW0ge1xuICAgIGNvbnN0IHJlc3VsdDogTGluZUl0ZW0gPSB7XG4gICAgICAuLi5zb3VyY2UsXG4gICAgfTtcblxuICAgIGlmIChwcmljaW5nRHRvKSB7XG4gICAgICByZXN1bHQucHJvZHVjdE5hbWUgPSBwcmljaW5nRHRvLnByb3BlcnRpZXM/LlsnZGlzcGxheU5hbWUnXSB8fCBwcmljaW5nRHRvLnByb2R1Y3ROYW1lO1xuICAgICAgcmVzdWx0LnR5cGUgPSBwcmljaW5nRHRvLnR5cGU7XG4gICAgICByZXN1bHQucm9vdElkID0gcHJpY2luZ0R0by5yb290SWQ7XG4gICAgICByZXN1bHQuYXNzZXRJZCA9IHByaWNpbmdEdG8uYXNzZXRJZDtcbiAgICAgIHJlc3VsdC5vcGVuT3JkZXJMaW5lSXRlbUlkID0gcHJpY2luZ0R0by5vcGVuT3JkZXJMaW5lSXRlbUlkO1xuICAgICAgcmVzdWx0LmFjdGl2YXRlZCA9IHByaWNpbmdEdG8uYWN0aXZhdGVkO1xuICAgICAgcmVzdWx0LmFjdGlvbkNvZGUgPSBwcmljaW5nRHRvLmFjdGlvbkNvZGU7XG4gICAgICByZXN1bHQuc2VydmljZVN0YXJ0RGF0ZSA9IHByaWNpbmdEdG8uc2VydmljZVN0YXJ0RGF0ZTtcbiAgICAgIHJlc3VsdC5lZmZlY3RpdmVEYXRlID0gcHJpY2luZ0R0by5lZmZlY3RpdmVEYXRlO1xuICAgICAgcmVzdWx0LnN0YXJ0RGF0ZSA9IHByaWNpbmdEdG8uc3RhcnREYXRlO1xuICAgICAgcmVzdWx0LmVuZERhdGUgPSBwcmljaW5nRHRvLmVuZERhdGU7XG4gICAgICByZXN1bHQub2ZmZXJpbmdJZCA9IHByaWNpbmdEdG8ub2ZmZXJpbmdJZDtcbiAgICAgIHJlc3VsdC5vZmZlcmluZ0l0ZW1JZCA9IHByaWNpbmdEdG8ub2ZmZXJpbmdJdGVtSWQ7XG4gICAgICByZXN1bHQub2ZmZXJpbmdJbnN0YW5jZUlkID0gcHJpY2luZ0R0by5vZmZlcmluZ0luc3RhbmNlSWQ7XG4gICAgICByZXN1bHQucmFtcEluc3RhbmNlSWQgPSBwcmljaW5nRHRvLnJhbXBJbnN0YW5jZUlkO1xuICAgICAgcmVzdWx0LnBsYW5JZCA9IHByaWNpbmdEdG8ucGxhbklkO1xuXG4gICAgICBpZiAoIXJlc3VsdC5jaGFyZ2VJdGVtcykge1xuICAgICAgICByZXN1bHQuY2hhcmdlSXRlbXMgPSBwcmljaW5nRHRvLmNoYXJnZUl0ZW1zO1xuICAgICAgfVxuICAgICAgcmVzdWx0LmNoYXJnZUdyb3VwSXRlbXMgPSBbXTtcbiAgICB9XG5cbiAgICBpZiAoc291cmNlLmxpbmVJdGVtcyAmJiBzb3VyY2UubGluZUl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHJlc3VsdC5saW5lSXRlbXMgPSBbXTtcblxuICAgICAgc291cmNlLmxpbmVJdGVtcy5mb3JFYWNoKChjaGlsZFNvdXJjZTogTGluZUl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgY2hpbGREdG8gPSBwcmljaW5nRHRvICYmIHByaWNpbmdEdG8ubGluZUl0ZW1zICYmIHByaWNpbmdEdG8ubGluZUl0ZW1zLmZpbmQoYyA9PiBjaGlsZFNvdXJjZS5pZCA9PT0gYy5pZCk7XG5cbiAgICAgICAgY29uc3QgY2hpbGRJdGVtID0gTGluZUl0ZW1VdGlsLmVucmljaFByaWNpbmdJbmZvKGNoaWxkU291cmNlLCBjaGlsZER0byk7XG5cbiAgICAgICAgcmVzdWx0LmxpbmVJdGVtcy5wdXNoKGNoaWxkSXRlbSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRMaW5lSXRlbVBhdGgobGluZUl0ZW06IExpbmVJdGVtLCByb290TGluZUl0ZW06IExpbmVJdGVtKTogTGluZUl0ZW1QYXRoIHtcbiAgICBsZXQgcGF0aDogTGluZUl0ZW1QYXRoO1xuXG4gICAgaWYgKCFsaW5lSXRlbS5wYXJlbnRJZCkge1xuICAgICAgcGF0aCA9IG5ldyBMaW5lSXRlbVBhdGgoJy8nICsgbGluZUl0ZW0udHlwZSk7XG5cbiAgICAgIHBhdGguYWJzdHJhY3RQYXRoID0gcGF0aC5wYXRoO1xuICAgICAgcGF0aC5yZWxhdGl2ZVBhdGggPSBwYXRoLnBhdGg7XG4gICAgICBwYXRoLnJlbGF0aXZlQWJzdHJhY3RQYXRoID0gcGF0aC5wYXRoO1xuICAgIH0gZWxzZSB7XG4gICAgICAvL1RPT0RPIEFMRSBTT1JUIE9VVCBQQVRFTlQgSVRFTVxuICAgICAgY29uc3QgcGFyZW50SXRlbSA9IEVudGl0eVV0aWwuZmluZEJ5RmllbGRIaWVyYXJjaGljYWxseTxMaW5lSXRlbT4oXG4gICAgICAgICdpZCcsXG4gICAgICAgIGxpbmVJdGVtLnBhcmVudElkLFxuICAgICAgICBbcm9vdExpbmVJdGVtXSxcbiAgICAgICAgJ2xpbmVJdGVtcycsXG4gICAgICApO1xuXG4gICAgICBjb25zdCBwb3J0VHlwZSA9IGxpbmVJdGVtLnBvcnQgJiYgcGFyZW50SXRlbT8ucG9ydERvbWFpbnNbbGluZUl0ZW0ucG9ydF0udHlwZTtcblxuICAgICAgY29uc3QgcGFyZW50UGF0aCA9IHBhcmVudEl0ZW0gJiYgTGluZUl0ZW1VdGlsLmdldExpbmVJdGVtUGF0aChwYXJlbnRJdGVtLCByb290TGluZUl0ZW0pO1xuXG4gICAgICBpZiAocGFyZW50UGF0aCkge1xuICAgICAgICBwYXRoID0gbmV3IExpbmVJdGVtUGF0aChwYXJlbnRQYXRoLnBhdGggKyAnL3BvcnRzLycgKyBsaW5lSXRlbS5wb3J0ICsgJy8nICsgbGluZUl0ZW0udHlwZSk7XG5cbiAgICAgICAgcGF0aC5hYnN0cmFjdFBhdGggPSBwYXJlbnRQYXRoLmFic3RyYWN0UGF0aCArICcvcG9ydHMvJyArIChsaW5lSXRlbS5wb3J0ICsgJy8nICsgcG9ydFR5cGUpO1xuICAgICAgICBwYXRoLnJlbGF0aXZlUGF0aCA9ICcvJyArIGxpbmVJdGVtLnR5cGU7XG4gICAgICAgIHBhdGgucmVsYXRpdmVBYnN0cmFjdFBhdGggPSAnLycgKyBwb3J0VHlwZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93ICdDb3VsZCBub3QgY29uc3RydWN0IGxpbmUgaXRlbSBwYXRoJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZmluZEJ5SWQocGFyZW50SWQ6IHN0cmluZywgbGluZUl0ZW1zOiBMaW5lSXRlbVtdKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBFbnRpdHlVdGlsLmZpbmRCeUZpZWxkSGllcmFyY2hpY2FsbHkoJ2lkJywgcGFyZW50SWQsIGxpbmVJdGVtcywgJ2xpbmVJdGVtcycpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb3VudEF0dHJpYnV0ZVZhbHVlcyhzY2FsZTogbnVtYmVyLCBhdHRyaWJ1dGVEb21haW46IGFueVtdKTogbnVtYmVyIHtcbiAgICBjb25zdCBwcmVjaXNpb24gPSBMaW5lSXRlbVV0aWwucHJlY2lzaW9uKHNjYWxlKTtcbiAgICBsZXQgY291bnQgPSAwO1xuICAgIGF0dHJpYnV0ZURvbWFpbi5mb3JFYWNoKGQgPT4gKGNvdW50ICs9IGQubWF4IC0gZC5taW4gKyBwcmVjaXNpb24pKTtcbiAgICByZXR1cm4gY291bnQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHByZWNpc2lvbihzY2FsZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoIXNjYWxlKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgbGV0IHMgPSAnMSc7XG4gICAgd2hpbGUgKHMubGVuZ3RoIDwgc2NhbGUpIHtcbiAgICAgIHMgPSAnMCcgKyBzO1xuICAgIH1cbiAgICByZXR1cm4gTnVtYmVyKCcwLicgKyBzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc3BsaXREb21haW5Ub1ZhbHVlcyhzY2FsZTogbnVtYmVyLCBhdHRyaWJ1dGVEb21haW46IGFueVtdKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHByZWNpc2lvbiA9IHRoaXMucHJlY2lzaW9uKHNjYWxlKTtcbiAgICBsZXQgdmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGF0dHJpYnV0ZURvbWFpbi5mb3JFYWNoKFxuICAgICAgaW50ZXJ2YWwgPT4gKHZhbHVlcyA9IHZhbHVlcy5jb25jYXQoTGluZUl0ZW1VdGlsLnNwbGl0SW50ZXJ2YWxUb1ZhbHVlcyhwcmVjaXNpb24sIGludGVydmFsKSkpLFxuICAgICk7XG4gICAgcmV0dXJuIHZhbHVlcztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc3BsaXRJbnRlcnZhbFRvVmFsdWVzKHByZWNpc2lvbjogbnVtYmVyLCBpbnRlcnZhbDogYW55KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHZhbHVlcyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSBpbnRlcnZhbC5taW47IGkgPD0gaW50ZXJ2YWwubWF4OyBpICs9IHByZWNpc2lvbikge1xuICAgICAgdmFsdWVzLnB1c2goaSk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZpbmRMaW5lSXRlbXNCeVBhdGgocnVudGltZU1vZGVsOiBSdW50aW1lTW9kZWwsIGxpbmVJdGVtOiBMaW5lSXRlbSwgcGF0aDogU2VjdGlvblBhdGgpOiBMaW5lSXRlbVtdIHtcbiAgICBpZiAoIXJ1bnRpbWVNb2RlbC5pc0VxdWFscyhsaW5lSXRlbS50eXBlLCBwYXRoLnR5cGVzWzBdKSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBsZXQgbGluZUl0ZW1zID0gW2xpbmVJdGVtXTtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IHBhdGgudHlwZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHBvcnROYW1lID0gcGF0aC5wb3J0c1tpIC0gMV07XG4gICAgICBjb25zdCB0eXBlTmFtZSA9IHBhdGgudHlwZXNbaV07XG4gICAgICBsaW5lSXRlbXMgPSBMaW5lSXRlbVV0aWwuZmluZExpbmVJdGVtQ2hpbGRyZW4ocnVudGltZU1vZGVsLCBsaW5lSXRlbXMsIHBvcnROYW1lLCB0eXBlTmFtZSk7XG4gICAgfVxuICAgIHJldHVybiBsaW5lSXRlbXM7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZpbmRMaW5lSXRlbUNoaWxkcmVuKFxuICAgIHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsLFxuICAgIGxpbmVJdGVtczogTGluZUl0ZW1bXSxcbiAgICBwb3J0TmFtZTogc3RyaW5nLFxuICAgIHR5cGVOYW1lOiBzdHJpbmcsXG4gICk6IExpbmVJdGVtW10ge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIGZvciAoY29uc3QgbGluZUl0ZW0gb2YgbGluZUl0ZW1zKSB7XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkSXRlbSBvZiBsaW5lSXRlbS5saW5lSXRlbXMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNoaWxkSXRlbS5wb3J0Py50b0xvd2VyQ2FzZSgpID09PSBwb3J0TmFtZS50b0xvd2VyQ2FzZSgpICYmXG4gICAgICAgICAgcnVudGltZU1vZGVsLmlzRXF1YWxzKGNoaWxkSXRlbS50eXBlLCB0eXBlTmFtZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goY2hpbGRJdGVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmaW5kTGluZUl0ZW1zQnlUeXBlKHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsLCBsaW5lSXRlbTogTGluZUl0ZW0sIHR5cGVOYW1lOiBzdHJpbmcpOiBMaW5lSXRlbVtdIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBsZXQgbGluZUl0ZW1zID0gW2xpbmVJdGVtXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgbGluZUl0ZW0gPSBsaW5lSXRlbXNbaV07XG4gICAgICBpZiAocnVudGltZU1vZGVsLmlzRXF1YWxzKGxpbmVJdGVtLnR5cGUsIHR5cGVOYW1lKSkge1xuICAgICAgICByZXN1bHQucHVzaChsaW5lSXRlbSk7XG4gICAgICB9XG4gICAgICBsaW5lSXRlbXMgPSBsaW5lSXRlbXMuY29uY2F0KGxpbmVJdGVtLmxpbmVJdGVtcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZmluZExpbmVJdGVtRm9yVmFsdWUobW9kZWw6IExpbmVJdGVtLCB2YWx1ZU9wdGlvbjogc3RyaW5nKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIGlmICghRW50aXR5VXRpbC5pc1ByZXNlbnQobW9kZWwpIHx8ICFFbnRpdHlVdGlsLmlzUHJlc2VudChtb2RlbC5saW5lSXRlbXMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZGVsLmxpbmVJdGVtcy5maW5kKGxpID0+IGxpLnR5cGUgJiYgbGkudHlwZS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZU9wdGlvbi50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIC8vIFRPRE86IGFkZCBQcm9kdWN0IHR5cGluZ3NcbiAgcHVibGljIHN0YXRpYyBjcmVhdGUocHJvZHVjdDogYW55LCBxdHk/OiBudW1iZXIpOiBMaW5lSXRlbSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICAgIHR5cGU6IHByb2R1Y3QudHlwZU5hbWUsXG4gICAgICBuYW1lOiBwcm9kdWN0LnByb3BlcnRpZXM/LmRpc3BsYXlOYW1lIHx8IHByb2R1Y3QubmFtZSxcbiAgICAgIHByb2R1Y3ROYW1lOiBwcm9kdWN0Lm5hbWUsXG4gICAgICBwcm9kdWN0SWQ6IHByb2R1Y3QuaWQsXG4gICAgICBjZmdTdGF0dXM6ICdVc2VyJyxcbiAgICAgIGFjdGlvbkNvZGU6ICdBREQnLFxuICAgICAgcXR5OiBxdHkgfHwgMSxcbiAgICB9IGFzIExpbmVJdGVtO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyB1cHNlcnQodmFsdWU6IExpbmVJdGVtLCBjb2xsZWN0aW9uOiBMaW5lSXRlbVtdKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSBjb2xsZWN0aW9uLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IHZhbHVlLmlkKTtcbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgY29sbGVjdGlvbltpbmRleF0gPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29sbGVjdGlvbi5wdXNoKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbXBhcmVTb3J0T3JkZXIoYTogTGluZUl0ZW0sIGI6IExpbmVJdGVtKTogbnVtYmVyIHtcbiAgICBjb25zdCBvcmRlckEgPSBOdW1iZXIoYS5wcm9wZXJ0aWVzWydTb3J0T3JkZXInXSk7XG4gICAgY29uc3Qgb3JkZXJCID0gTnVtYmVyKGIucHJvcGVydGllc1snU29ydE9yZGVyJ10pO1xuICAgIGlmICghb3JkZXJBICYmICFvcmRlckIpIHtcbiAgICAgIHJldHVybiBMaW5lSXRlbVV0aWwuY29tcGFyZVByb2R1Y3ROYW1lKGEsIGIpO1xuICAgIH1cbiAgICBpZiAoIW9yZGVyQSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIGlmICghb3JkZXJCKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IG9yZGVyQSAtIG9yZGVyQjtcbiAgICBpZiAocmVzdWx0ID09PSAwKSB7XG4gICAgICByZXR1cm4gTGluZUl0ZW1VdGlsLmNvbXBhcmVQcm9kdWN0TmFtZShhLCBiKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc29ydChsaW5lSXRlbXM6IExpbmVJdGVtW10pOiB2b2lkIHtcbiAgICBpZiAobGluZUl0ZW1zKSB7XG4gICAgICBsaW5lSXRlbXMuc29ydCgoYSwgYikgPT4gTGluZUl0ZW1VdGlsLmNvbXBhcmVTb3J0T3JkZXIoYSwgYikpO1xuICAgICAgbGluZUl0ZW1zLmZvckVhY2goaSA9PiBMaW5lSXRlbVV0aWwuc29ydChpLmxpbmVJdGVtcykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNvbXBhcmVQcm9kdWN0TmFtZShhOiBMaW5lSXRlbSwgYjogTGluZUl0ZW0pOiBudW1iZXIge1xuICAgIGlmIChhLnByb2R1Y3ROYW1lKSB7XG4gICAgICByZXR1cm4gKGEucHJvZHVjdE5hbWUgPz8gJycpLmxvY2FsZUNvbXBhcmUoYi5wcm9kdWN0TmFtZSA/PyAnJyk7XG4gICAgfSBlbHNlIGlmIChiLnByb2R1Y3ROYW1lKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,26 +0,0 @@
|
|
1
|
-
import { EntityUtil } from '@veloceapps/core';
|
2
|
-
export const getSectionTree = (src) => {
|
3
|
-
const sections = EntityUtil.clone(src);
|
4
|
-
const sectionIdMap = new Map();
|
5
|
-
sections.forEach(section => sectionIdMap.set(section.id, section));
|
6
|
-
const sectionTree = [];
|
7
|
-
sections.forEach(section => {
|
8
|
-
if (section.parentId) {
|
9
|
-
const parentSection = sectionIdMap.get(section.parentId);
|
10
|
-
if (parentSection) {
|
11
|
-
const sectionFromMap = sectionIdMap.get(section.id);
|
12
|
-
if (sectionFromMap) {
|
13
|
-
parentSection.addChild(sectionFromMap);
|
14
|
-
}
|
15
|
-
}
|
16
|
-
}
|
17
|
-
else {
|
18
|
-
const s = sectionIdMap.get(section.id);
|
19
|
-
if (s) {
|
20
|
-
sectionTree.push(s);
|
21
|
-
}
|
22
|
-
}
|
23
|
-
});
|
24
|
-
return sectionTree;
|
25
|
-
};
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvdXRpbHMvc2VjdGlvbi51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFXLE1BQU0sa0JBQWtCLENBQUM7QUFFdkQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBYyxFQUFhLEVBQUU7SUFDMUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV2QyxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztJQUVoRCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFbkUsTUFBTSxXQUFXLEdBQWMsRUFBRSxDQUFDO0lBQ2xDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDekIsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3BCLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELElBQUksYUFBYSxFQUFFO2dCQUNqQixNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxjQUFjLEVBQUU7b0JBQ2xCLGFBQWEsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQ3hDO2FBQ0Y7U0FDRjthQUFNO1lBQ0wsTUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyQjtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlVdGlsLCBTZWN0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBnZXRTZWN0aW9uVHJlZSA9IChzcmM6IFNlY3Rpb25bXSk6IFNlY3Rpb25bXSA9PiB7XG4gIGNvbnN0IHNlY3Rpb25zID0gRW50aXR5VXRpbC5jbG9uZShzcmMpO1xuXG4gIGNvbnN0IHNlY3Rpb25JZE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBTZWN0aW9uPigpO1xuXG4gIHNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiBzZWN0aW9uSWRNYXAuc2V0KHNlY3Rpb24uaWQsIHNlY3Rpb24pKTtcblxuICBjb25zdCBzZWN0aW9uVHJlZTogU2VjdGlvbltdID0gW107XG4gIHNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiB7XG4gICAgaWYgKHNlY3Rpb24ucGFyZW50SWQpIHtcbiAgICAgIGNvbnN0IHBhcmVudFNlY3Rpb24gPSBzZWN0aW9uSWRNYXAuZ2V0KHNlY3Rpb24ucGFyZW50SWQpO1xuICAgICAgaWYgKHBhcmVudFNlY3Rpb24pIHtcbiAgICAgICAgY29uc3Qgc2VjdGlvbkZyb21NYXAgPSBzZWN0aW9uSWRNYXAuZ2V0KHNlY3Rpb24uaWQpO1xuICAgICAgICBpZiAoc2VjdGlvbkZyb21NYXApIHtcbiAgICAgICAgICBwYXJlbnRTZWN0aW9uLmFkZENoaWxkKHNlY3Rpb25Gcm9tTWFwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzID0gc2VjdGlvbklkTWFwLmdldChzZWN0aW9uLmlkKTtcbiAgICAgIGlmIChzKSB7XG4gICAgICAgIHNlY3Rpb25UcmVlLnB1c2gocyk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gc2VjdGlvblRyZWU7XG59O1xuIl19
|