@veloceapps/sdk 11.0.0-71 → 11.0.0-73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cms/components/preview/preview.component.d.ts +5 -6
- package/cms/components/preview/preview.types.d.ts +0 -4
- package/core/modules/configuration/services/configuration.service.d.ts +1 -1
- package/esm2020/cms/components/preview/preview.component.mjs +18 -27
- package/esm2020/cms/components/preview/preview.types.mjs +1 -1
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +14 -9
- package/fesm2015/veloceapps-sdk-cms.mjs +22 -32
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +15 -10
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +21 -30
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +15 -10
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/package.json +1 -1
@@ -1,8 +1,8 @@
|
|
1
1
|
import { OnDestroy, OnInit } from '@angular/core';
|
2
2
|
import { ToastService } from '@veloceapps/components';
|
3
3
|
import { UIDefinition } from '@veloceapps/core';
|
4
|
-
import {
|
5
|
-
import { BehaviorSubject
|
4
|
+
import { IntegrationState } from '@veloceapps/sdk/core';
|
5
|
+
import { BehaviorSubject } from 'rxjs';
|
6
6
|
import { RuntimeService } from '../../modules/runtime/services/runtime.service';
|
7
7
|
import { ElementMetadata } from '../../types/common.types';
|
8
8
|
import { CMSPreviewConfig } from './preview.types';
|
@@ -13,20 +13,19 @@ interface State {
|
|
13
13
|
}
|
14
14
|
export declare class PreviewComponent implements OnInit, OnDestroy {
|
15
15
|
private runtimeService;
|
16
|
-
private configurationState;
|
17
16
|
private toastService;
|
18
17
|
private integrationState;
|
19
18
|
uiDefinition?: UIDefinition;
|
20
19
|
config?: CMSPreviewConfig;
|
21
20
|
state$: BehaviorSubject<State>;
|
22
|
-
elements$:
|
21
|
+
elements$: BehaviorSubject<ElementMetadata[]>;
|
23
22
|
private destroy$;
|
24
|
-
constructor(runtimeService: RuntimeService,
|
23
|
+
constructor(runtimeService: RuntimeService, toastService: ToastService, integrationState: IntegrationState);
|
25
24
|
ngOnInit(): void;
|
26
25
|
ngOnDestroy(): void;
|
27
26
|
trackBy(_: number, el: ElementMetadata): ElementMetadata;
|
28
27
|
private startPreview;
|
29
|
-
private
|
28
|
+
private getElements$;
|
30
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<PreviewComponent, never>;
|
31
30
|
static ɵcmp: i0.ɵɵComponentDeclaration<PreviewComponent, "vl-cms-preview", never, { "uiDefinition": "uiDefinition"; "config": "config"; }, {}, never, never, false, never>;
|
32
31
|
}
|
@@ -13,10 +13,6 @@ export interface CMSPreviewConfig {
|
|
13
13
|
* When `true`, preview renders settings page (element with `type: CUSTOMIZATION_PAGE`)
|
14
14
|
*/
|
15
15
|
customizationMode?: boolean;
|
16
|
-
/**
|
17
|
-
* When `true`, preview component does not clear configuration state on destroy
|
18
|
-
*/
|
19
|
-
persistConfigurationState?: boolean;
|
20
16
|
/**
|
21
17
|
* Custom initialization function which will be executed before starting a preview
|
22
18
|
*/
|
@@ -27,7 +27,7 @@ export declare class ConfigurationService {
|
|
27
27
|
init$(): Observable<void>;
|
28
28
|
patch$(transactionItem: SalesTransactionItem): Observable<void>;
|
29
29
|
patch(transactionItem: SalesTransactionItem): void;
|
30
|
-
configureRequest$(transactionContext: TransactionContext): Observable<
|
30
|
+
configureRequest$(transactionContext: TransactionContext): Observable<TransactionContext>;
|
31
31
|
configureExternal$(props: ExternalConfigurationProps): Observable<SalesTransaction>;
|
32
32
|
configureGuidedSelling$(data: GuidedSellingSubmitData): Observable<SalesTransaction>;
|
33
33
|
getPCMModel(): PCMModel;
|
@@ -1,35 +1,24 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
2
2
|
import { ToastService, ToastType } from '@veloceapps/components';
|
3
|
-
import {
|
4
|
-
import { BehaviorSubject, catchError, combineLatest, map, of,
|
3
|
+
import { IntegrationState } from '@veloceapps/sdk/core';
|
4
|
+
import { BehaviorSubject, catchError, combineLatest, map, of, Subject, switchMap, takeUntil, tap, } from 'rxjs';
|
5
5
|
import { RuntimeService } from '../../modules/runtime/services/runtime.service';
|
6
6
|
import { IOProviderService } from '../../services/io-provider.service';
|
7
7
|
import { TemplatesService } from '../../services/templates.service';
|
8
8
|
import * as i0 from "@angular/core";
|
9
9
|
import * as i1 from "../../modules/runtime/services/runtime.service";
|
10
|
-
import * as i2 from "@veloceapps/
|
11
|
-
import * as i3 from "@veloceapps/
|
10
|
+
import * as i2 from "@veloceapps/components";
|
11
|
+
import * as i3 from "@veloceapps/sdk/core";
|
12
12
|
import * as i4 from "@angular/common";
|
13
13
|
import * as i5 from "../element-renderer/element-renderer.component";
|
14
14
|
export class PreviewComponent {
|
15
|
-
constructor(runtimeService,
|
15
|
+
constructor(runtimeService, toastService, integrationState) {
|
16
16
|
this.runtimeService = runtimeService;
|
17
|
-
this.configurationState = configurationState;
|
18
17
|
this.toastService = toastService;
|
19
18
|
this.integrationState = integrationState;
|
20
19
|
this.state$ = new BehaviorSubject({ loading: true, failure: false });
|
20
|
+
this.elements$ = new BehaviorSubject([]);
|
21
21
|
this.destroy$ = new Subject();
|
22
|
-
this.elements$ = combineLatest([this.state$, this.runtimeService.updated$.pipe(startWith(undefined))]).pipe(switchMap(([{ loading, failure }]) => {
|
23
|
-
if (loading || failure) {
|
24
|
-
return of([]);
|
25
|
-
}
|
26
|
-
const elements = this.runtimeService.applicationTree;
|
27
|
-
// If UI definition contains pages, return page by SelectedPageName
|
28
|
-
if (this.uiDefinition?.pages) {
|
29
|
-
return this.getPages$(elements);
|
30
|
-
}
|
31
|
-
return of(elements);
|
32
|
-
}));
|
33
22
|
}
|
34
23
|
ngOnInit() {
|
35
24
|
if (this.config?.clearStateOnInit) {
|
@@ -40,9 +29,6 @@ export class PreviewComponent {
|
|
40
29
|
ngOnDestroy() {
|
41
30
|
this.destroy$.next();
|
42
31
|
this.destroy$.complete();
|
43
|
-
if (!this.config?.persistConfigurationState) {
|
44
|
-
this.configurationState.cleanup();
|
45
|
-
}
|
46
32
|
this.runtimeService.clear();
|
47
33
|
}
|
48
34
|
trackBy(_, el) {
|
@@ -51,18 +37,23 @@ export class PreviewComponent {
|
|
51
37
|
startPreview() {
|
52
38
|
const customInit$ = this.config?.init$?.() ?? of(undefined);
|
53
39
|
customInit$
|
54
|
-
.pipe(switchMap(() => this.runtimeService.initialize$(this.uiDefinition, this.config)),
|
40
|
+
.pipe(switchMap(() => this.runtimeService.initialize$(this.uiDefinition, this.config)), switchMap(() => this.getElements$(this.runtimeService.applicationTree)), tap(elements => {
|
41
|
+
this.elements$.next(elements);
|
55
42
|
this.state$.next({ loading: false, failure: false });
|
56
|
-
}), catchError(error => {
|
43
|
+
}), switchMap(() => this.runtimeService.updated$), switchMap(() => this.getElements$(this.runtimeService.applicationTree)), tap(elements => this.elements$.next(elements)), catchError(error => {
|
57
44
|
console.error(error);
|
58
45
|
// we should show toast if initialization failed
|
59
46
|
this.toastService.add({ severity: ToastType.error, summary: error, sticky: true });
|
47
|
+
this.elements$.next([]);
|
60
48
|
this.state$.next({ loading: false, failure: true });
|
61
49
|
return of();
|
62
50
|
}), takeUntil(this.destroy$))
|
63
51
|
.subscribe();
|
64
52
|
}
|
65
|
-
|
53
|
+
getElements$(elements) {
|
54
|
+
if (!this.uiDefinition?.pages) {
|
55
|
+
return of(elements);
|
56
|
+
}
|
66
57
|
return combineLatest([this.runtimeService.selectedPageName$, this.runtimeService.selectedOverlayNames$]).pipe(map(([pageName, overlayNames]) => {
|
67
58
|
const page = elements.find(el => el.name === pageName);
|
68
59
|
const overlayName = overlayNames.at(-1);
|
@@ -71,14 +62,14 @@ export class PreviewComponent {
|
|
71
62
|
}));
|
72
63
|
}
|
73
64
|
}
|
74
|
-
PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreviewComponent, deps: [{ token: i1.RuntimeService }, { token: i2.
|
75
|
-
PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PreviewComponent, selector: "vl-cms-preview", inputs: { uiDefinition: "uiDefinition", config: "config" }, providers: [IOProviderService, TemplatesService], ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer\n *ngFor=\"let el of elements$ | async; trackBy: trackBy\"\n [meta]=\"el\"\n ></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type:
|
65
|
+
PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreviewComponent, deps: [{ token: i1.RuntimeService }, { token: i2.ToastService }, { token: i3.IntegrationState }], target: i0.ɵɵFactoryTarget.Component });
|
66
|
+
PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PreviewComponent, selector: "vl-cms-preview", inputs: { uiDefinition: "uiDefinition", config: "config" }, providers: [IOProviderService, TemplatesService], ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer\n *ngFor=\"let el of elements$ | async; trackBy: trackBy\"\n [meta]=\"el\"\n ></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { kind: "component", type: i5.ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: ["meta"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
|
76
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreviewComponent, decorators: [{
|
77
68
|
type: Component,
|
78
69
|
args: [{ selector: 'vl-cms-preview', changeDetection: ChangeDetectionStrategy.OnPush, providers: [IOProviderService, TemplatesService], encapsulation: ViewEncapsulation.ShadowDom, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer\n *ngFor=\"let el of elements$ | async; trackBy: trackBy\"\n [meta]=\"el\"\n ></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"] }]
|
79
|
-
}], ctorParameters: function () { return [{ type: i1.RuntimeService }, { type: i2.
|
70
|
+
}], ctorParameters: function () { return [{ type: i1.RuntimeService }, { type: i2.ToastService }, { type: i3.IntegrationState }]; }, propDecorators: { uiDefinition: [{
|
80
71
|
type: Input
|
81
72
|
}], config: [{
|
82
73
|
type: Input
|
83
74
|
}] } });
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFDTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLGFBQWEsRUFDYixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFrQnBFLE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0IsWUFDVSxjQUE4QixFQUM5QixrQkFBNkMsRUFDN0MsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBSGxDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTJCO1FBQzdDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7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QyxpQkFBaUIsQ0FBQyxTQUFTO3VNQUcxQixZQUFZO3NCQUEzQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU3RhdGVTZXJ2aWNlLCBJbnRlZ3JhdGlvblN0YXRlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2R1bGVzL3J1bnRpbWUvc2VydmljZXMvcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcgfSBmcm9tICcuL3ByZXZpZXcudHlwZXMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1jbXMtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbSU9Qcm92aWRlclNlcnZpY2UsIFRlbXBsYXRlc1NlcnZpY2VdLFxuICAvLyB1c2Ugc2hhZG93IERPTSB0byBwcmV2ZW50IFVJIGZyb20gYmVpbmcgYWZmZWN0ZWQgYnkgZ2xvYmFsIHN0eWxlc1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20sXG59KVxuZXhwb3J0IGNsYXNzIFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyB1aURlZmluaXRpb24/OiBVSURlZmluaXRpb247XG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnO1xuXG4gIHB1YmxpYyBzdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0YXRlPih7IGxvYWRpbmc6IHRydWUsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICBwdWJsaWMgZWxlbWVudHMkOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPjtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZTogQ29uZmlndXJhdGlvblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSxcbiAgKSB7XG4gICAgdGhpcy5lbGVtZW50cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlJCwgdGhpcy5ydW50aW1lU2VydmljZS51cGRhdGVkJC5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQpKV0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFt7IGxvYWRpbmcsIGZhaWx1cmUgfV0pID0+IHtcbiAgICAgICAgaWYgKGxvYWRpbmcgfHwgZmFpbHVyZSkge1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMucnVudGltZVNlcnZpY2UuYXBwbGljYXRpb25UcmVlO1xuXG4gICAgICAgIC8vIElmIFVJIGRlZmluaXRpb24gY29udGFpbnMgcGFnZXMsIHJldHVybiBwYWdlIGJ5IFNlbGVjdGVkUGFnZU5hbWVcbiAgICAgICAgaWYgKHRoaXMudWlEZWZpbml0aW9uPy5wYWdlcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VzJChlbGVtZW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YoZWxlbWVudHMpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWc/LmNsZWFyU3RhdGVPbkluaXQpIHtcbiAgICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5yZXNldCgpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRQcmV2aWV3KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuXG4gICAgaWYgKCF0aGlzLmNvbmZpZz8ucGVyc2lzdENvbmZpZ3VyYXRpb25TdGF0ZSkge1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3RhdGUuY2xlYW51cCgpO1xuICAgIH1cbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeShfOiBudW1iZXIsIGVsOiBFbGVtZW50TWV0YWRhdGEpOiBFbGVtZW50TWV0YWRhdGEge1xuICAgIHJldHVybiBlbDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQcmV2aWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IGN1c3RvbUluaXQkID0gdGhpcy5jb25maWc/LmluaXQkPy4oKSA/PyBvZih1bmRlZmluZWQpO1xuXG4gICAgY3VzdG9tSW5pdCRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5ydW50aW1lU2VydmljZS5pbml0aWFsaXplJCh0aGlzLnVpRGVmaW5pdGlvbiwgdGhpcy5jb25maWcpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAvLyB3ZSBzaG91bGQgc2hvdyB0b2FzdCBpZiBpbml0aWFsaXphdGlvbiBmYWlsZWRcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBlcnJvciwgc3RpY2t5OiB0cnVlIH0pO1xuXG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhZ2VzJChlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRQYWdlTmFtZSQsIHRoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRPdmVybGF5TmFtZXMkXSkucGlwZShcbiAgICAgIG1hcCgoW3BhZ2VOYW1lLCBvdmVybGF5TmFtZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IHBhZ2VOYW1lKTtcblxuICAgICAgICBjb25zdCBvdmVybGF5TmFtZSA9IG92ZXJsYXlOYW1lcy5hdCgtMSk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IG92ZXJsYXlOYW1lKTtcblxuICAgICAgICByZXR1cm4gWy4uLihwYWdlID8gW3BhZ2VdIDogZWxlbWVudHMuc2xpY2UoMCwgMSkpLCAuLi4ob3ZlcmxheSA/IFtvdmVybGF5XSA6IFtdKV07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cbiAgPHZsLWxvYWRlciAqbmdJZj1cInN0YXRlLmxvYWRpbmc7IGVsc2UgY29udGVudFwiIFtsYWJlbF09XCInTG9hZGluZyBVSSdcIj48L3ZsLWxvYWRlcj5cblxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZS5mYWlsdXJlXCI+XG4gICAgICA8dmwtY21zLWVsZW1lbnQtcmVuZGVyZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGVsIG9mIGVsZW1lbnRzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgW21ldGFdPVwiZWxcIlxuICAgICAgPjwvdmwtY21zLWVsZW1lbnQtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLGFBQWEsRUFDYixHQUFHLEVBRUgsRUFBRSxFQUNGLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQWtCcEUsTUFBTSxPQUFPLGdCQUFnQjtJQVMzQixZQUNVLGNBQThCLEVBQzlCLFlBQTBCLEVBQzFCLGdCQUFrQztRQUZsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVJyQyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxL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U3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlLCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25TdGF0ZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgY29tYmluZUxhdGVzdCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uLy4uL21vZHVsZXMvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgSU9Qcm92aWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pby1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbXBsYXRlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW1wbGF0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24udHlwZXMnO1xuaW1wb3J0IHsgQ01TUHJldmlld0NvbmZpZyB9IGZyb20gJy4vcHJldmlldy50eXBlcyc7XG5cbmludGVyZmFjZSBTdGF0ZSB7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGZhaWx1cmU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWNtcy1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtJT1Byb3ZpZGVyU2VydmljZSwgVGVtcGxhdGVzU2VydmljZV0sXG4gIC8vIHVzZSBzaGFkb3cgRE9NIHRvIHByZXZlbnQgVUkgZnJvbSBiZWluZyBhZmZlY3RlZCBieSBnbG9iYWwgc3R5bGVzXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSxcbn0pXG5leHBvcnQgY2xhc3MgUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbjtcbiAgQElucHV0KCkgcHVibGljIGNvbmZpZz86IENNU1ByZXZpZXdDb25maWc7XG5cbiAgcHVibGljIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RhdGU+KHsgbG9hZGluZzogdHJ1ZSwgZmFpbHVyZTogZmFsc2UgfSk7XG4gIHB1YmxpYyBlbGVtZW50cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVsZW1lbnRNZXRhZGF0YVtdPihbXSk7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIGludGVncmF0aW9uU3RhdGU6IEludGVncmF0aW9uU3RhdGUsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5jbGVhclN0YXRlT25Jbml0KSB7XG4gICAgICB0aGlzLmludGVncmF0aW9uU3RhdGUucmVzZXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXJ0UHJldmlldygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcblxuICAgIHRoaXMucnVudGltZVNlcnZpY2UuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5KF86IG51bWJlciwgZWw6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB7XG4gICAgcmV0dXJuIGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFByZXZpZXcoKTogdm9pZCB7XG4gICAgY29uc3QgY3VzdG9tSW5pdCQgPSB0aGlzLmNvbmZpZz8uaW5pdCQ/LigpID8/IG9mKHVuZGVmaW5lZCk7XG5cbiAgICBjdXN0b21Jbml0JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmluaXRpYWxpemUkKHRoaXMudWlEZWZpbml0aW9uLCB0aGlzLmNvbmZpZykpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRFbGVtZW50cyQodGhpcy5ydW50aW1lU2VydmljZS5hcHBsaWNhdGlvblRyZWUpKSxcbiAgICAgICAgdGFwKGVsZW1lbnRzID0+IHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRzJC5uZXh0KGVsZW1lbnRzKTtcbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMucnVudGltZVNlcnZpY2UudXBkYXRlZCQpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRFbGVtZW50cyQodGhpcy5ydW50aW1lU2VydmljZS5hcHBsaWNhdGlvblRyZWUpKSxcbiAgICAgICAgdGFwKGVsZW1lbnRzID0+IHRoaXMuZWxlbWVudHMkLm5leHQoZWxlbWVudHMpKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAvLyB3ZSBzaG91bGQgc2hvdyB0b2FzdCBpZiBpbml0aWFsaXphdGlvbiBmYWlsZWRcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBlcnJvciwgc3RpY2t5OiB0cnVlIH0pO1xuXG4gICAgICAgICAgdGhpcy5lbGVtZW50cyQubmV4dChbXSk7XG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldEVsZW1lbnRzJChlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPiB7XG4gICAgaWYgKCF0aGlzLnVpRGVmaW5pdGlvbj8ucGFnZXMpIHtcbiAgICAgIHJldHVybiBvZihlbGVtZW50cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRQYWdlTmFtZSQsIHRoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRPdmVybGF5TmFtZXMkXSkucGlwZShcbiAgICAgIG1hcCgoW3BhZ2VOYW1lLCBvdmVybGF5TmFtZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IHBhZ2VOYW1lKTtcblxuICAgICAgICBjb25zdCBvdmVybGF5TmFtZSA9IG92ZXJsYXlOYW1lcy5hdCgtMSk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IG92ZXJsYXlOYW1lKTtcblxuICAgICAgICByZXR1cm4gWy4uLihwYWdlID8gW3BhZ2VdIDogZWxlbWVudHMuc2xpY2UoMCwgMSkpLCAuLi4ob3ZlcmxheSA/IFtvdmVybGF5XSA6IFtdKV07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cbiAgPHZsLWxvYWRlciAqbmdJZj1cInN0YXRlLmxvYWRpbmc7IGVsc2UgY29udGVudFwiIFtsYWJlbF09XCInTG9hZGluZyBVSSdcIj48L3ZsLWxvYWRlcj5cblxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZS5mYWlsdXJlXCI+XG4gICAgICA8dmwtY21zLWVsZW1lbnQtcmVuZGVyZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGVsIG9mIGVsZW1lbnRzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgW21ldGFdPVwiZWxcIlxuICAgICAgPjwvdmwtY21zLWVsZW1lbnQtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENNU1ByZXZpZXdDb25maWcge1xuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIEludGVncmF0aW9uU3RhdGUgd2lsbCBiZSBjbGVhcmVkIG9uIGNvbXBvbmVudCBpbml0XG4gICAqL1xuICBjbGVhclN0YXRlT25Jbml0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHByZXZpZXcgYWRkcyBhZGRpdGlvbmFsIGNvbXBvbmVudHMvcGx1Z2lucyBuZWVkZWQgZm9yIFVJQnVpbGRlclxuICAgKiAobGlrZSBlbGVtZW50IGhvdmVyL3NlbGVjdGlvbiBvciBEcmFnJkRyb3Agem9uZXMpXG4gICAqL1xuICB1aUJ1aWxkZXJNb2RlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHByZXZpZXcgcmVuZGVycyBzZXR0aW5ncyBwYWdlIChlbGVtZW50IHdpdGggYHR5cGU6IENVU1RPTUlaQVRJT05fUEFHRWApXG4gICAqL1xuICBjdXN0b21pemF0aW9uTW9kZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGV4ZWN1dGVkIGJlZm9yZSBzdGFydGluZyBhIHByZXZpZXdcbiAgICovXG4gIGluaXQkPzogKCkgPT4gT2JzZXJ2YWJsZTx2b2lkPjtcbn1cbiJdfQ==
|
@@ -49,14 +49,18 @@ export class ConfigurationService {
|
|
49
49
|
init$() {
|
50
50
|
const { state } = this.salesTransactionService;
|
51
51
|
const { productId, transactionItemId } = this.flowInfoService.context;
|
52
|
-
if (!state) {
|
52
|
+
if (!state || !productId) {
|
53
53
|
return of(undefined);
|
54
54
|
}
|
55
55
|
const salesTransactionItems = state?.salesTransaction.salesTransactionItems ?? [];
|
56
|
+
let isRootGenerated = false;
|
56
57
|
let transactionItem = salesTransactionItems.find(item => item.id === transactionItemId);
|
57
|
-
if (!transactionItem
|
58
|
-
transactionItem =
|
59
|
-
|
58
|
+
if (!transactionItem) {
|
59
|
+
transactionItem = salesTransactionItems.find(item => item.productId === productId);
|
60
|
+
}
|
61
|
+
if (!transactionItem) {
|
62
|
+
transactionItem = generateTransactionItem(productId);
|
63
|
+
isRootGenerated = true;
|
60
64
|
}
|
61
65
|
const configurationState = {
|
62
66
|
...state,
|
@@ -65,9 +69,10 @@ export class ConfigurationService {
|
|
65
69
|
salesTransactionItems: transactionItem ? [transactionItem] : [],
|
66
70
|
},
|
67
71
|
};
|
68
|
-
this.
|
69
|
-
|
70
|
-
|
72
|
+
return (isRootGenerated ? this.configureRequest$(configurationState) : of(configurationState)).pipe(tap(configurationState => {
|
73
|
+
this.configurationStateSubj$.next(configurationState);
|
74
|
+
this.previousConfigurationStateSubj$.next(configurationState);
|
75
|
+
}), map(noop));
|
71
76
|
}
|
72
77
|
patch$(transactionItem) {
|
73
78
|
const { state, root } = this;
|
@@ -109,7 +114,7 @@ export class ConfigurationService {
|
|
109
114
|
return this.orchestrationsApiService.apply$(request).pipe(tap(result => {
|
110
115
|
this.configurationStateSubj$.next(result);
|
111
116
|
this.previousConfigurationStateSubj$.next(cloneDeep(result));
|
112
|
-
}),
|
117
|
+
}), catchError(error => throwError(() => {
|
113
118
|
const resetState = this.previousConfigurationStateSubj$.getValue();
|
114
119
|
if (resetState) {
|
115
120
|
this.previousConfigurationStateSubj$.next(cloneDeep(resetState));
|
@@ -142,4 +147,4 @@ ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
142
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationService, decorators: [{
|
143
148
|
type: Injectable
|
144
149
|
}], ctorParameters: function () { return [{ type: i1.FlowInfoService }, { type: i2.MessageService }, { type: i3.ConfigurationRuntimeService }, { type: i1.SalesTransactionService }, { type: i4.OrchestrationsApiService }]; } });
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBQ3JGLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsU0FBUyxHQUtWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7OztBQUc5RSxNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJ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O1xuaW1wb3J0IHsgT3JjaGVzdHJhdGlvbnNBcGlTZXJ2aWNlLCBQcm9jZWR1cmVBcHBseVJlcXVlc3QgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGkvdjInO1xuaW1wb3J0IHtcbiAgZXh0cmFjdEVycm9yRGV0YWlscyxcbiAgaXNEZWZpbmVkLFxuICBQQ01Nb2RlbCxcbiAgU2FsZXNUcmFuc2FjdGlvbixcbiAgU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gIFRyYW5zYWN0aW9uQ29udGV4dCxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG5vb3AsIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGZpbmFsaXplLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZsb3dJbmZvU2VydmljZSwgU2FsZXNUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbSwgVHJhbnNhY3Rpb25JdGVtV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWd1cmF0aW9uUHJvcHMsIEd1aWRlZFNlbGxpbmdTdWJtaXREYXRhIH0gZnJvbSAnLi4vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tcnVudGltZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgcHVibGljIGlzTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyBoYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgY29uZmlndXJhdGlvblN0YXRlU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRyYW5zYWN0aW9uQ29udGV4dCB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRyYW5zYWN0aW9uQ29udGV4dCB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIGlzTG9hZGluZ1N1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHVibGljIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU3RhdGVTdWJqJC5hc09ic2VydmFibGUoKS5waXBlKGZpbHRlcihpc0RlZmluZWQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGUoKTogVHJhbnNhY3Rpb25Db250ZXh0IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJldmlvdXNTdGF0ZSgpOiBUcmFuc2FjdGlvbkNvbnRleHQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJvb3QkKCk6IE9ic2VydmFibGU8U2FsZXNUcmFuc2FjdGlvbkl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcChzdGF0ZSA9PiBzdGF0ZS5zYWxlc1RyYW5zYWN0aW9uLnNhbGVzVHJhbnNhY3Rpb25JdGVtc1swXSksXG4gICAgICBmaWx0ZXIoaXNEZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCByb290KCk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQuZ2V0VmFsdWUoKT8uc2FsZXNUcmFuc2FjdGlvbi5zYWxlc1RyYW5zYWN0aW9uSXRlbXNbMF0gPz8gbnVsbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIHNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlOiBTYWxlc1RyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIG9yY2hlc3RyYXRpb25zQXBpU2VydmljZTogT3JjaGVzdHJhdGlvbnNBcGlTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmlzTG9hZGluZyQgPSB0aGlzLmlzTG9hZGluZ1N1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcblxuICAgIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChudWxsKTtcbiAgICB0aGlzLnByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0JCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCB7IHN0YXRlIH0gPSB0aGlzLnNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlO1xuICAgIGNvbnN0IHsgcHJvZHVjdElkLCB0cmFuc2FjdGlvbkl0ZW1JZCB9ID0gdGhpcy5mbG93SW5mb1NlcnZpY2UuY29udGV4dDtcblxuICAgIGlmICghc3RhdGUpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbGVzVHJhbnNhY3Rpb25JdGVtcyA9IHN0YXRlPy5zYWxlc1RyYW5zYWN0aW9uLnNhbGVzVHJhbnNhY3Rpb25JdGVtcyA/PyBbXTtcbiAgICBsZXQgdHJhbnNhY3Rpb25JdGVtID0gc2FsZXNUcmFuc2FjdGlvbkl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSB0cmFuc2FjdGlvbkl0ZW1JZCk7XG4gICAgaWYgKCF0cmFuc2FjdGlvbkl0ZW0gJiYgcHJvZHVjdElkKSB7XG4gICAgICB0cmFuc2FjdGlvbkl0ZW0gPVxuICAgICAgICBzYWxlc1RyYW5zYWN0aW9uSXRlbXMuZmluZChpdGVtID0+IGl0ZW0ucHJvZHVjdElkID09PSBwcm9kdWN0SWQpID8/IGdlbmVyYXRlVHJhbnNhY3Rpb25JdGVtKHByb2R1Y3RJZCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlndXJhdGlvblN0YXRlOiBUcmFuc2FjdGlvbkNvbnRleHQgPSB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHNhbGVzVHJhbnNhY3Rpb246IHtcbiAgICAgICAgLi4uc3RhdGUuc2FsZXNUcmFuc2FjdGlvbixcbiAgICAgICAgc2FsZXNUcmFuc2FjdGlvbkl0ZW1zOiB0cmFuc2FjdGlvbkl0ZW0gPyBbdHJhbnNhY3Rpb25JdGVtXSA6IFtdLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgdGhpcy5jb25maWd1cmF0aW9uU3RhdGVTdWJqJC5uZXh0KGNvbmZpZ3VyYXRpb25TdGF0ZSk7XG4gICAgdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQoY29uZmlndXJhdGlvblN0YXRlKTtcblxuICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIHBhdGNoJCh0cmFuc2FjdGlvbkl0ZW06IFNhbGVzVHJhbnNhY3Rpb25JdGVtKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgeyBzdGF0ZSwgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghc3RhdGUpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgQ29uZmlndXJhdGlvbiBTdGF0ZSBpcyBub3QgaW5pdGlhbGl6ZWRgKSk7XG4gICAgfVxuICAgIGlmICghcm9vdCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBSb290IFNhbGVzVHJhbnNhY3Rpb25JdGVtIG5vdCBmb3VuZGApKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdSb290ID0gbmV3IFRyYW5zYWN0aW9uSXRlbVdvcmtlcihyb290KS5yZXBsYWNlKHRyYW5zYWN0aW9uSXRlbSkudGk7XG4gICAgY29uc3QgbmV3VHJhbnNhY3Rpb25Db250ZXh0OiBUcmFuc2FjdGlvbkNvbnRleHQgPSB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHNhbGVzVHJhbnNhY3Rpb246IHtcbiAgICAgICAgLi4uc3RhdGUuc2FsZXNUcmFuc2FjdGlvbixcbiAgICAgICAgc2FsZXNUcmFuc2FjdGlvbkl0ZW1zOiBbbmV3Um9vdF0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmVSZXF1ZXN0JChuZXdUcmFuc2FjdGlvbkNvbnRleHQpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS51aURlZmluaXRpb25Qcm9wcy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgbWFwKG5vb3ApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2godHJhbnNhY3Rpb25JdGVtOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSk6IHZvaWQge1xuICAgIHRoaXMucGF0Y2gkKHRyYW5zYWN0aW9uSXRlbSkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlUmVxdWVzdCQodHJhbnNhY3Rpb25Db250ZXh0OiBUcmFuc2FjdGlvbkNvbnRleHQpOiBPYnNlcnZhYmxlPFNhbGVzVHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBQcm9jZWR1cmVBcHBseVJlcXVlc3QgPSB7XG4gICAgICB0cmFuc2FjdGlvbkNvbnRleHQsXG4gICAgICBmbG93SWQ6IHRoaXMuZmxvd0luZm9TZXJ2aWNlLmZsb3cuaWQsXG4gICAgfTtcblxuICAgIHRoaXMuaXNMb2FkaW5nU3ViaiQubmV4dCh0cnVlKTtcblxuICAgIHJldHVybiB0aGlzLm9yY2hlc3RyYXRpb25zQXBpU2VydmljZS5hcHBseSQocmVxdWVzdCkucGlwZShcbiAgICAgIHRhcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQocmVzdWx0KTtcbiAgICAgICAgdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQoY2xvbmVEZWVwKHJlc3VsdCkpO1xuICAgICAgfSksXG4gICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2Uuc2FsZXNUcmFuc2FjdGlvbiksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+XG4gICAgICAgIHRocm93RXJyb3IoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc2V0U3RhdGUgPSB0aGlzLnByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQuZ2V0VmFsdWUoKTtcbiAgICAgICAgICBpZiAocmVzZXRTdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQoY2xvbmVEZWVwKHJlc2V0U3RhdGUpKTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChyZXNldFN0YXRlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBleHRyYWN0RXJyb3JEZXRhaWxzKGVycm9yLmVycm9yKS5qb2luKCcuICcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBlcnJvci5tZXNzYWdlIHx8IEpTT04uc3RyaW5naWZ5KGVycm9yKTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5pc0xvYWRpbmdTdWJqJC5uZXh0KGZhbHNlKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVFeHRlcm5hbCQocHJvcHM6IEV4dGVybmFsQ29uZmlndXJhdGlvblByb3BzKTogT2JzZXJ2YWJsZTxTYWxlc1RyYW5zYWN0aW9uPiB7XG4gICAgLy8gVE9ETzogaW1wbGVtZW50XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVHdWlkZWRTZWxsaW5nJChkYXRhOiBHdWlkZWRTZWxsaW5nU3VibWl0RGF0YSk6IE9ic2VydmFibGU8U2FsZXNUcmFuc2FjdGlvbj4ge1xuICAgIC8vIFRPRE86IGltcGxlbWVudFxuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UENNTW9kZWwoKTogUENNTW9kZWwge1xuICAgIGNvbnN0IHBjbU1vZGVsID0gdGhpcy5jb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UucGNtTW9kZWw7XG4gICAgaWYgKCFwY21Nb2RlbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQQ00gbW9kZWwgbm90IGluaXRpYWxpemVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBjbU1vZGVsO1xuICB9XG59XG4iXX0=
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBQ3JGLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsU0FBUyxHQUtWLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7OztBQUc5RSxNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDckIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzdELE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FDbEIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDcEcsQ0FBQztJQUVELFlBQ1UsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsMkJBQXdELEVBQ3hELHVCQUFnRCxFQUNoRCx3QkFBa0Q7UUFKbEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQWxDckQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRXpCLDRCQUF1QixHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsQ0FBQztRQUMvRSxvQ0FBK0IsR0FBRyxJQUFJLGVBQWUsQ0FBNEIsSUFBSSxDQUFDLENBQUM7UUFDdkYsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQWdDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLEtBQUs7UUFDVixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDO1FBQy9DLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUV0RSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3RCO1FBRUQsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMscUJBQXFCLElBQUksRUFBRSxDQUFDO1FBQ2xGLElBQUksZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLGlCQUFpQixDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNwQixlQUFlLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztTQUNwRjtRQUVELElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsZUFBZSxHQUFHLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JELGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDeEI7UUFFRCxNQUFNLGtCQUFrQixHQUF1QjtZQUM3QyxHQUFHLEtBQUs7WUFDUixnQkFBZ0IsRUFBRTtnQkFDaEIsR0FBRyxLQUFLLENBQUMsZ0JBQWdCO2dCQUN6QixxQkFBcUIsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDaEU7U0FDRixDQUFDO1FBRUYsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNqRyxHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFxQztRQUNqRCxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztRQUU3QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxDQUFDO1NBQzlFO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUMsQ0FBQztTQUMzRTtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1RSxNQUFNLHFCQUFxQixHQUF1QjtZQUNoRCxHQUFHLEtBQUs7WUFDUixnQkFBZ0IsRUFBRTtnQkFDaEIsR0FBRyxLQUFLLENBQUMsZ0JBQWdCO2dCQUN6QixxQkFBcUIsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUNqQztTQUNGLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FDdkQsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFckIsSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsRUFBRTtnQkFDN0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQ2hFO1lBRUQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7YUFDL0I7UUFDSCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLENBQ1YsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBcUM7UUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU0saUJBQWlCLENBQUMsa0JBQXNDO1FBQzdELE1BQU0sT0FBTyxHQUEwQjtZQUNyQyxrQkFBa0I7WUFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUU7U0FDckMsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9CLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3ZELEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDakIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuRSxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUNqRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQy9DO1lBRUQsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO2dCQUNmLE9BQU8sbUJBQW1CLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNwRDtZQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUNILEVBQ0QsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRU0sa0JBQWtCLENBQUMsS0FBaUM7UUFDekQsa0JBQWtCO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsSUFBNkI7UUFDMUQsa0JBQWtCO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sV0FBVztRQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsUUFBUSxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7U0FDOUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOztpSEFoTFUsb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9yY2hlc3RyYXRpb25zQXBpU2VydmljZSwgUHJvY2VkdXJlQXBwbHlSZXF1ZXN0IH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpL3YyJztcbmltcG9ydCB7XG4gIGV4dHJhY3RFcnJvckRldGFpbHMsXG4gIGlzRGVmaW5lZCxcbiAgUENNTW9kZWwsXG4gIFNhbGVzVHJhbnNhY3Rpb24sXG4gIFNhbGVzVHJhbnNhY3Rpb25JdGVtLFxuICBUcmFuc2FjdGlvbkNvbnRleHQsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBub29wLCBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBmaW5hbGl6ZSwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGbG93SW5mb1NlcnZpY2UsIFNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW0sIFRyYW5zYWN0aW9uSXRlbVdvcmtlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEV4dGVybmFsQ29uZmlndXJhdGlvblByb3BzLCBHdWlkZWRTZWxsaW5nU3VibWl0RGF0YSB9IGZyb20gJy4uL3R5cGVzL2NvbmZpZ3VyYXRpb24udHlwZXMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIHB1YmxpYyBpc0xvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUcmFuc2FjdGlvbkNvbnRleHQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBwcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUcmFuc2FjdGlvbkNvbnRleHQgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBpc0xvYWRpbmdTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHB1YmxpYyBnZXQgc3RhdGUkKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQuYXNPYnNlcnZhYmxlKCkucGlwZShmaWx0ZXIoaXNEZWZpbmVkKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlKCk6IFRyYW5zYWN0aW9uQ29udGV4dCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByZXZpb3VzU3RhdGUoKTogVHJhbnNhY3Rpb25Db250ZXh0IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucHJldmlvdXNDb25maWd1cmF0aW9uU3RhdGVTdWJqJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCByb290JCgpOiBPYnNlcnZhYmxlPFNhbGVzVHJhbnNhY3Rpb25JdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoc3RhdGUgPT4gc3RhdGUuc2FsZXNUcmFuc2FjdGlvbi5zYWxlc1RyYW5zYWN0aW9uSXRlbXNbMF0pLFxuICAgICAgZmlsdGVyKGlzRGVmaW5lZCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcm9vdCgpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLmdldFZhbHVlKCk/LnNhbGVzVHJhbnNhY3Rpb24uc2FsZXNUcmFuc2FjdGlvbkl0ZW1zWzBdID8/IG51bGw7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZsb3dJbmZvU2VydmljZTogRmxvd0luZm9TZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlOiBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzYWxlc1RyYW5zYWN0aW9uU2VydmljZTogU2FsZXNUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcmNoZXN0cmF0aW9uc0FwaVNlcnZpY2U6IE9yY2hlc3RyYXRpb25zQXBpU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5pc0xvYWRpbmckID0gdGhpcy5pc0xvYWRpbmdTdWJqJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzID0gZmFsc2U7XG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQobnVsbCk7XG4gICAgdGhpcy5wcmV2aW91c0NvbmZpZ3VyYXRpb25TdGF0ZVN1YmokLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdCQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgeyBzdGF0ZSB9ID0gdGhpcy5zYWxlc1RyYW5zYWN0aW9uU2VydmljZTtcbiAgICBjb25zdCB7IHByb2R1Y3RJZCwgdHJhbnNhY3Rpb25JdGVtSWQgfSA9IHRoaXMuZmxvd0luZm9TZXJ2aWNlLmNvbnRleHQ7XG5cbiAgICBpZiAoIXN0YXRlIHx8ICFwcm9kdWN0SWQpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbGVzVHJhbnNhY3Rpb25JdGVtcyA9IHN0YXRlPy5zYWxlc1RyYW5zYWN0aW9uLnNhbGVzVHJhbnNhY3Rpb25JdGVtcyA/PyBbXTtcbiAgICBsZXQgaXNSb290R2VuZXJhdGVkID0gZmFsc2U7XG4gICAgbGV0IHRyYW5zYWN0aW9uSXRlbSA9IHNhbGVzVHJhbnNhY3Rpb25JdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gdHJhbnNhY3Rpb25JdGVtSWQpO1xuICAgIGlmICghdHJhbnNhY3Rpb25JdGVtKSB7XG4gICAgICB0cmFuc2FjdGlvbkl0ZW0gPSBzYWxlc1RyYW5zYWN0aW9uSXRlbXMuZmluZChpdGVtID0+IGl0ZW0ucHJvZHVjdElkID09PSBwcm9kdWN0SWQpO1xuICAgIH1cblxuICAgIGlmICghdHJhbnNhY3Rpb25JdGVtKSB7XG4gICAgICB0cmFuc2FjdGlvbkl0ZW0gPSBnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbShwcm9kdWN0SWQpO1xuICAgICAgaXNSb290R2VuZXJhdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWd1cmF0aW9uU3RhdGU6IFRyYW5zYWN0aW9uQ29udGV4dCA9IHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2FsZXNUcmFuc2FjdGlvbjoge1xuICAgICAgICAuLi5zdGF0ZS5zYWxlc1RyYW5zYWN0aW9uLFxuICAgICAgICBzYWxlc1RyYW5zYWN0aW9uSXRlbXM6IHRyYW5zYWN0aW9uSXRlbSA/IFt0cmFuc2FjdGlvbkl0ZW1dIDogW10sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gKGlzUm9vdEdlbmVyYXRlZCA/IHRoaXMuY29uZmlndXJlUmVxdWVzdCQoY29uZmlndXJhdGlvblN0YXRlKSA6IG9mKGNvbmZpZ3VyYXRpb25TdGF0ZSkpLnBpcGUoXG4gICAgICB0YXAoY29uZmlndXJhdGlvblN0YXRlID0+IHtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3RhdGVTdWJqJC5uZXh0KGNvbmZpZ3VyYXRpb25TdGF0ZSk7XG4gICAgICAgIHRoaXMucHJldmlvdXNDb25maWd1cmF0aW9uU3RhdGVTdWJqJC5uZXh0KGNvbmZpZ3VyYXRpb25TdGF0ZSk7XG4gICAgICB9KSxcbiAgICAgIG1hcChub29wKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBhdGNoJCh0cmFuc2FjdGlvbkl0ZW06IFNhbGVzVHJhbnNhY3Rpb25JdGVtKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgeyBzdGF0ZSwgcm9vdCB9ID0gdGhpcztcblxuICAgIGlmICghc3RhdGUpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgQ29uZmlndXJhdGlvbiBTdGF0ZSBpcyBub3QgaW5pdGlhbGl6ZWRgKSk7XG4gICAgfVxuICAgIGlmICghcm9vdCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBSb290IFNhbGVzVHJhbnNhY3Rpb25JdGVtIG5vdCBmb3VuZGApKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdSb290ID0gbmV3IFRyYW5zYWN0aW9uSXRlbVdvcmtlcihyb290KS5yZXBsYWNlKHRyYW5zYWN0aW9uSXRlbSkudGk7XG4gICAgY29uc3QgbmV3VHJhbnNhY3Rpb25Db250ZXh0OiBUcmFuc2FjdGlvbkNvbnRleHQgPSB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHNhbGVzVHJhbnNhY3Rpb246IHtcbiAgICAgICAgLi4uc3RhdGUuc2FsZXNUcmFuc2FjdGlvbixcbiAgICAgICAgc2FsZXNUcmFuc2FjdGlvbkl0ZW1zOiBbbmV3Um9vdF0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmVSZXF1ZXN0JChuZXdUcmFuc2FjdGlvbkNvbnRleHQpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS51aURlZmluaXRpb25Qcm9wcy5zdXBwcmVzc1RvYXN0TWVzc2FnZXMpIHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzKSB7XG4gICAgICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgbWFwKG5vb3ApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2godHJhbnNhY3Rpb25JdGVtOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSk6IHZvaWQge1xuICAgIHRoaXMucGF0Y2gkKHRyYW5zYWN0aW9uSXRlbSkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlUmVxdWVzdCQodHJhbnNhY3Rpb25Db250ZXh0OiBUcmFuc2FjdGlvbkNvbnRleHQpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uQ29udGV4dD4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFByb2NlZHVyZUFwcGx5UmVxdWVzdCA9IHtcbiAgICAgIHRyYW5zYWN0aW9uQ29udGV4dCxcbiAgICAgIGZsb3dJZDogdGhpcy5mbG93SW5mb1NlcnZpY2UuZmxvdy5pZCxcbiAgICB9O1xuXG4gICAgdGhpcy5pc0xvYWRpbmdTdWJqJC5uZXh0KHRydWUpO1xuXG4gICAgcmV0dXJuIHRoaXMub3JjaGVzdHJhdGlvbnNBcGlTZXJ2aWNlLmFwcGx5JChyZXF1ZXN0KS5waXBlKFxuICAgICAgdGFwKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChyZXN1bHQpO1xuICAgICAgICB0aGlzLnByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChjbG9uZURlZXAocmVzdWx0KSk7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT5cbiAgICAgICAgdGhyb3dFcnJvcigoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzZXRTdGF0ZSA9IHRoaXMucHJldmlvdXNDb25maWd1cmF0aW9uU3RhdGVTdWJqJC5nZXRWYWx1ZSgpO1xuICAgICAgICAgIGlmIChyZXNldFN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzQ29uZmlndXJhdGlvblN0YXRlU3ViaiQubmV4dChjbG9uZURlZXAocmVzZXRTdGF0ZSkpO1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3RhdGVTdWJqJC5uZXh0KHJlc2V0U3RhdGUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlcnJvci5lcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGV4dHJhY3RFcnJvckRldGFpbHMoZXJyb3IuZXJyb3IpLmpvaW4oJy4gJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGVycm9yLm1lc3NhZ2UgfHwgSlNPTi5zdHJpbmdpZnkoZXJyb3IpO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzTG9hZGluZ1N1YmokLm5leHQoZmFsc2UpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNvbmZpZ3VyZUV4dGVybmFsJChwcm9wczogRXh0ZXJuYWxDb25maWd1cmF0aW9uUHJvcHMpOiBPYnNlcnZhYmxlPFNhbGVzVHJhbnNhY3Rpb24+IHtcbiAgICAvLyBUT0RPOiBpbXBsZW1lbnRcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgcHVibGljIGNvbmZpZ3VyZUd1aWRlZFNlbGxpbmckKGRhdGE6IEd1aWRlZFNlbGxpbmdTdWJtaXREYXRhKTogT2JzZXJ2YWJsZTxTYWxlc1RyYW5zYWN0aW9uPiB7XG4gICAgLy8gVE9ETzogaW1wbGVtZW50XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQQ01Nb2RlbCgpOiBQQ01Nb2RlbCB7XG4gICAgY29uc3QgcGNtTW9kZWwgPSB0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZS5wY21Nb2RlbDtcbiAgICBpZiAoIXBjbU1vZGVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BDTSBtb2RlbCBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGNtTW9kZWw7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,12 +1,12 @@
|
|
1
|
-
import * as
|
1
|
+
import * as i1 from '@veloceapps/sdk/core';
|
2
2
|
import { IntegrationState, ConfigurationService, ConfigurationStateService, filterSuccessfulExecute, FlowInfoService, FlowConfigurationService, FlowStateService, FlowStateConfigurationService, TransactionItemWorker, ProductImagesService, RuntimeSettingsService, ActionCodePipe, DatePipe, NumberPipe, PricePipe, SalesTransactionService, SdkPipesModule, SdkCoreModule, UI_DEFINITION_VERSION } from '@veloceapps/sdk/core';
|
3
3
|
export { IntegrationState } from '@veloceapps/sdk/core';
|
4
4
|
import { __decorate, __param, __metadata, __awaiter, __rest } from 'tslib';
|
5
5
|
import * as i0 from '@angular/core';
|
6
6
|
import { InjectionToken, Component, ChangeDetectionStrategy, Inject, Injector, Injectable, ViewContainerRef, ViewChild, Input, ViewEncapsulation, NgModule, inject, ElementRef, Directive, ApplicationRef, createComponent, EventEmitter, createNgModule } from '@angular/core';
|
7
7
|
import * as rxjs from 'rxjs';
|
8
|
-
import { BehaviorSubject, Subject, map, distinctUntilChanged, of, tap, switchMap, startWith, takeUntil,
|
9
|
-
import * as
|
8
|
+
import { BehaviorSubject, Subject, map, distinctUntilChanged, of, tap, switchMap, startWith, takeUntil, catchError, combineLatest, ReplaySubject, noop, filter, take, Observable, from } from 'rxjs';
|
9
|
+
import * as i2 from '@veloceapps/components';
|
10
10
|
import { ToastType, LetDirectiveModule, LoaderModule, ToastService, HiddenTextTooltipModule, ErrorTooltipModule } from '@veloceapps/components';
|
11
11
|
import { getCollectionUniqueName, UUID, isDefined, Operator, Predicate, parseJsonSafely, parseJwt, TokenInfoService, UITemplateType, CoreModule } from '@veloceapps/core';
|
12
12
|
import lodash, { cloneDeep, isArray, pull, merge, omit, flatten, kebabCase, set } from 'lodash';
|
@@ -716,11 +716,11 @@ class RuntimeService {
|
|
716
716
|
applyPatch(this.applicationTree, [operation]);
|
717
717
|
}
|
718
718
|
}
|
719
|
-
RuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeService, deps: [{ token: i0.Injector }, { token:
|
719
|
+
RuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeService, deps: [{ token: i0.Injector }, { token: i1.IntegrationState }], target: i0.ɵɵFactoryTarget.Injectable });
|
720
720
|
RuntimeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeService });
|
721
721
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeService, decorators: [{
|
722
722
|
type: Injectable
|
723
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type:
|
723
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.IntegrationState }]; } });
|
724
724
|
|
725
725
|
class IOProviderService {
|
726
726
|
constructor(runtimeService) {
|
@@ -919,25 +919,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
919
919
|
}] } });
|
920
920
|
|
921
921
|
class PreviewComponent {
|
922
|
-
constructor(runtimeService,
|
922
|
+
constructor(runtimeService, toastService, integrationState) {
|
923
923
|
this.runtimeService = runtimeService;
|
924
|
-
this.configurationState = configurationState;
|
925
924
|
this.toastService = toastService;
|
926
925
|
this.integrationState = integrationState;
|
927
926
|
this.state$ = new BehaviorSubject({ loading: true, failure: false });
|
927
|
+
this.elements$ = new BehaviorSubject([]);
|
928
928
|
this.destroy$ = new Subject();
|
929
|
-
this.elements$ = combineLatest([this.state$, this.runtimeService.updated$.pipe(startWith(undefined))]).pipe(switchMap(([{ loading, failure }]) => {
|
930
|
-
var _a;
|
931
|
-
if (loading || failure) {
|
932
|
-
return of([]);
|
933
|
-
}
|
934
|
-
const elements = this.runtimeService.applicationTree;
|
935
|
-
// If UI definition contains pages, return page by SelectedPageName
|
936
|
-
if ((_a = this.uiDefinition) === null || _a === void 0 ? void 0 : _a.pages) {
|
937
|
-
return this.getPages$(elements);
|
938
|
-
}
|
939
|
-
return of(elements);
|
940
|
-
}));
|
941
929
|
}
|
942
930
|
ngOnInit() {
|
943
931
|
var _a;
|
@@ -947,12 +935,8 @@ class PreviewComponent {
|
|
947
935
|
this.startPreview();
|
948
936
|
}
|
949
937
|
ngOnDestroy() {
|
950
|
-
var _a;
|
951
938
|
this.destroy$.next();
|
952
939
|
this.destroy$.complete();
|
953
|
-
if (!((_a = this.config) === null || _a === void 0 ? void 0 : _a.persistConfigurationState)) {
|
954
|
-
this.configurationState.cleanup();
|
955
|
-
}
|
956
940
|
this.runtimeService.clear();
|
957
941
|
}
|
958
942
|
trackBy(_, el) {
|
@@ -962,18 +946,24 @@ class PreviewComponent {
|
|
962
946
|
var _a, _b, _c;
|
963
947
|
const customInit$ = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.init$) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : of(undefined);
|
964
948
|
customInit$
|
965
|
-
.pipe(switchMap(() => this.runtimeService.initialize$(this.uiDefinition, this.config)),
|
949
|
+
.pipe(switchMap(() => this.runtimeService.initialize$(this.uiDefinition, this.config)), switchMap(() => this.getElements$(this.runtimeService.applicationTree)), tap(elements => {
|
950
|
+
this.elements$.next(elements);
|
966
951
|
this.state$.next({ loading: false, failure: false });
|
967
|
-
}), catchError(error => {
|
952
|
+
}), switchMap(() => this.runtimeService.updated$), switchMap(() => this.getElements$(this.runtimeService.applicationTree)), tap(elements => this.elements$.next(elements)), catchError(error => {
|
968
953
|
console.error(error);
|
969
954
|
// we should show toast if initialization failed
|
970
955
|
this.toastService.add({ severity: ToastType.error, summary: error, sticky: true });
|
956
|
+
this.elements$.next([]);
|
971
957
|
this.state$.next({ loading: false, failure: true });
|
972
958
|
return of();
|
973
959
|
}), takeUntil(this.destroy$))
|
974
960
|
.subscribe();
|
975
961
|
}
|
976
|
-
|
962
|
+
getElements$(elements) {
|
963
|
+
var _a;
|
964
|
+
if (!((_a = this.uiDefinition) === null || _a === void 0 ? void 0 : _a.pages)) {
|
965
|
+
return of(elements);
|
966
|
+
}
|
977
967
|
return combineLatest([this.runtimeService.selectedPageName$, this.runtimeService.selectedOverlayNames$]).pipe(map(([pageName, overlayNames]) => {
|
978
968
|
const page = elements.find(el => el.name === pageName);
|
979
969
|
const overlayName = overlayNames.at(-1);
|
@@ -982,12 +972,12 @@ class PreviewComponent {
|
|
982
972
|
}));
|
983
973
|
}
|
984
974
|
}
|
985
|
-
PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreviewComponent, deps: [{ token: RuntimeService }, { token: i2.
|
986
|
-
PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PreviewComponent, selector: "vl-cms-preview", inputs: { uiDefinition: "uiDefinition", config: "config" }, providers: [IOProviderService, TemplatesService], ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer\n *ngFor=\"let el of elements$ | async; trackBy: trackBy\"\n [meta]=\"el\"\n ></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type:
|
975
|
+
PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreviewComponent, deps: [{ token: RuntimeService }, { token: i2.ToastService }, { token: i1.IntegrationState }], target: i0.ɵɵFactoryTarget.Component });
|
976
|
+
PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PreviewComponent, selector: "vl-cms-preview", inputs: { uiDefinition: "uiDefinition", config: "config" }, providers: [IOProviderService, TemplatesService], ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer\n *ngFor=\"let el of elements$ | async; trackBy: trackBy\"\n [meta]=\"el\"\n ></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { kind: "component", type: ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: ["meta"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
|
987
977
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreviewComponent, decorators: [{
|
988
978
|
type: Component,
|
989
979
|
args: [{ selector: 'vl-cms-preview', changeDetection: ChangeDetectionStrategy.OnPush, providers: [IOProviderService, TemplatesService], encapsulation: ViewEncapsulation.ShadowDom, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer\n *ngFor=\"let el of elements$ | async; trackBy: trackBy\"\n [meta]=\"el\"\n ></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"] }]
|
990
|
-
}], ctorParameters: function () { return [{ type: RuntimeService }, { type: i2.
|
980
|
+
}], ctorParameters: function () { return [{ type: RuntimeService }, { type: i2.ToastService }, { type: i1.IntegrationState }]; }, propDecorators: { uiDefinition: [{
|
991
981
|
type: Input
|
992
982
|
}], config: [{
|
993
983
|
type: Input
|
@@ -2296,7 +2286,7 @@ class FederatedComponent {
|
|
2296
2286
|
}
|
2297
2287
|
}
|
2298
2288
|
FederatedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FederatedComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
2299
|
-
FederatedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FederatedComponent, selector: "veloce-host-federated", inputs: { remoteEntry: "remoteEntry", remoteName: "remoteName", exposedModule: "exposedModule", data: "data", options: "options" }, viewQueries: [{ propertyName: "host", first: true, predicate: FederatedHostDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template vlFederatedHost></ng-template>\n\n<vl-loader *ngIf=\"!suppressLoading && (isLoading$ | async)\" [label]=\"loadingLabel\"></vl-loader>\n", styles: [":host{display:block}div{height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type:
|
2289
|
+
FederatedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FederatedComponent, selector: "veloce-host-federated", inputs: { remoteEntry: "remoteEntry", remoteName: "remoteName", exposedModule: "exposedModule", data: "data", options: "options" }, viewQueries: [{ propertyName: "host", first: true, predicate: FederatedHostDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template vlFederatedHost></ng-template>\n\n<vl-loader *ngIf=\"!suppressLoading && (isLoading$ | async)\" [label]=\"loadingLabel\"></vl-loader>\n", styles: [":host{display:block}div{height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { kind: "directive", type: FederatedHostDirective, selector: "[vlFederatedHost]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
2300
2290
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FederatedComponent, decorators: [{
|
2301
2291
|
type: Component,
|
2302
2292
|
args: [{ selector: 'veloce-host-federated', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vlFederatedHost></ng-template>\n\n<vl-loader *ngIf=\"!suppressLoading && (isLoading$ | async)\" [label]=\"loadingLabel\"></vl-loader>\n", styles: [":host{display:block}div{height:100%}\n"] }]
|
@@ -2492,12 +2482,12 @@ class MigrationsService {
|
|
2492
2482
|
}
|
2493
2483
|
}
|
2494
2484
|
}
|
2495
|
-
MigrationsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MigrationsService, deps: [{ token:
|
2485
|
+
MigrationsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MigrationsService, deps: [{ token: i2.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
|
2496
2486
|
MigrationsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MigrationsService, providedIn: 'root' });
|
2497
2487
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MigrationsService, decorators: [{
|
2498
2488
|
type: Injectable,
|
2499
2489
|
args: [{ providedIn: 'root' }]
|
2500
|
-
}], ctorParameters: function () { return [{ type:
|
2490
|
+
}], ctorParameters: function () { return [{ type: i2.ToastService }]; } });
|
2501
2491
|
|
2502
2492
|
class MigrationsModule {
|
2503
2493
|
}
|