@veloceapps/sdk 8.0.0-101 → 8.0.0-103
Sign up to get free protection for your applications and to get access to all the features.
- package/cms/utils/index.d.ts +1 -0
- package/core/services/flow-info.service.d.ts +4 -2
- package/core/services/flow-state.service.d.ts +6 -3
- package/core/types/flow-customization.types.d.ts +22 -0
- package/core/types/index.d.ts +1 -0
- package/esm2020/cms/utils/elements-resolver.mjs +8 -2
- package/esm2020/cms/utils/index.mjs +2 -1
- package/esm2020/core/services/flow-info.service.mjs +20 -8
- package/esm2020/core/services/flow-state.service.mjs +32 -11
- package/esm2020/core/types/flow-customization.types.mjs +3 -0
- package/esm2020/core/types/index.mjs +2 -1
- package/esm2020/src/components/doc-gen/doc-gen.component.mjs +14 -25
- package/esm2020/src/components/flow-header/flow-header.component.mjs +16 -26
- package/esm2020/src/components/guided-selling/guided-selling.component.mjs +16 -26
- package/esm2020/src/pages/assets/assets.component.mjs +20 -29
- package/esm2020/src/pages/catalog/catalog.component.mjs +20 -28
- package/esm2020/src/pages/product/product.component.mjs +2 -3
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +21 -29
- package/esm2020/src/types/index.mjs +1 -2
- package/fesm2015/veloceapps-sdk-cms.mjs +8 -2
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +60 -20
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +92 -171
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +8 -2
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +69 -37
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +92 -171
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +5 -3
- package/src/components/doc-gen/doc-gen.component.d.ts +3 -5
- package/src/components/flow-header/flow-header.component.d.ts +3 -5
- package/src/components/guided-selling/guided-selling.component.d.ts +3 -5
- package/src/pages/assets/assets.component.d.ts +3 -5
- package/src/pages/catalog/catalog.component.d.ts +3 -5
- package/src/pages/product/product.component.d.ts +1 -2
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -5
- package/src/types/index.d.ts +0 -1
- package/esm2020/src/types/flow-customization.types.mjs +0 -3
- package/src/types/flow-customization.types.d.ts +0 -12
@@ -0,0 +1,3 @@
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
export const FLOW_CUSTOMIZATION = new InjectionToken('FLOW_CUSTOMIZATION');
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jdXN0b21pemF0aW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS90eXBlcy9mbG93LWN1c3RvbWl6YXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBb0Isb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uUHJvY2Vzc29yLFxuICBUZW1wbGF0ZUNvbXBvbmVudFdpdGhBdHRhY2htZW50cyxcbiAgVUlEZWZpbml0aW9uQ29udGFpbmVyLFxuICBVSVRlbXBsYXRlLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IEZMT1dfQ1VTVE9NSVpBVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGbG93Q3VzdG9taXphdGlvbj4oJ0ZMT1dfQ1VTVE9NSVpBVElPTicpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dDdXN0b21pemF0aW9uIHtcbiAgZ2V0VWlEZWZpbml0aW9uPyhwcm9kdWN0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uQ29udGFpbmVyIHwgbnVsbD47XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgZ2V0VGVtcGxhdGVDb21wb25lbnRzYCBpbnN0ZWFkXG4gICAqL1xuICBnZXRTaG9wcGluZ0NhcnRDb21wb25lbnQ/KHRlbXBsYXRlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudFdpdGhBdHRhY2htZW50cyB8IG51bGw+O1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGdldFRlbXBsYXRlQ29tcG9uZW50c2AgaW5zdGVhZFxuICAgKi9cbiAgZ2V0Q2F0YWxvZ0NvbXBvbmVudD8odGVtcGxhdGVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRlbXBsYXRlQ29tcG9uZW50V2l0aEF0dGFjaG1lbnRzIHwgbnVsbD47XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgZ2V0VGVtcGxhdGVDb21wb25lbnRzYCBpbnN0ZWFkXG4gICAqL1xuICBnZXRBc3NldHNDb21wb25lbnQ/KHRlbXBsYXRlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudFdpdGhBdHRhY2htZW50cyB8IG51bGw+O1xuXG4gIGdldFRlbXBsYXRlcz8oKTogT2JzZXJ2YWJsZTxVSVRlbXBsYXRlW10+O1xuICBnZXRUZW1wbGF0ZUNvbXBvbmVudHM/KHRlbXBsYXRlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudFdpdGhBdHRhY2htZW50c1tdIHwgbnVsbD47XG5cbiAgZ2V0VGVtcGxhdGVDb25maWd1cmF0aW9uUHJvY2Vzc29ycz8odGVtcGxhdGVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Qcm9jZXNzb3JbXSB8IG51bGw+O1xufVxuIl19
|
@@ -1,6 +1,7 @@
|
|
1
|
+
export * from './flow-customization.types';
|
1
2
|
export * from './formatting-settings.types';
|
2
3
|
export * from './integration.types';
|
3
4
|
export * from './pipe.types';
|
4
5
|
export * from './runtime.types';
|
5
6
|
export * from './ui-definition.types';
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmxvdy1jdXN0b21pemF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0dGluZy1zZXR0aW5ncy50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVncmF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91aS1kZWZpbml0aW9uLnR5cGVzJztcbiJdfQ==
|
@@ -1,11 +1,9 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';
|
2
2
|
import { UITemplatesApiService } from '@veloceapps/api';
|
3
3
|
import { ToastService, ToastType } from '@veloceapps/components';
|
4
|
-
import { extendElementMetadata, extractElementMetadata } from '@veloceapps/sdk/cms';
|
5
|
-
import { ContextService, FlowInfoService, FlowStateService } from '@veloceapps/sdk/core';
|
6
|
-
import { BehaviorSubject, catchError, filter, first,
|
7
|
-
import { btoaSafe } from '../../../cms/utils/encoding.utils';
|
8
|
-
import { FLOW_CUSTOMIZATION } from '../../types';
|
4
|
+
import { btoaSafe, extendElementMetadata, extractElementMetadata } from '@veloceapps/sdk/cms';
|
5
|
+
import { ContextService, FlowInfoService, FlowStateService, FLOW_CUSTOMIZATION, } from '@veloceapps/sdk/core';
|
6
|
+
import { BehaviorSubject, catchError, filter, first, map, of, Subject, switchMap, takeUntil, tap, } from 'rxjs';
|
9
7
|
import * as i0 from "@angular/core";
|
10
8
|
import * as i1 from "@veloceapps/api";
|
11
9
|
import * as i2 from "@veloceapps/sdk/core";
|
@@ -48,14 +46,11 @@ export class DocGenComponent {
|
|
48
46
|
}), takeUntil(this.destroy$))
|
49
47
|
.subscribe();
|
50
48
|
}
|
51
|
-
|
52
|
-
|
53
|
-
}
|
54
|
-
getLocalTemplateComponentMeta$() {
|
55
|
-
if (!this.customizationService?.getTemplateComponent) {
|
49
|
+
getLocalMeta$() {
|
50
|
+
if (!this.customizationService?.getTemplateComponents) {
|
56
51
|
return of(undefined);
|
57
52
|
}
|
58
|
-
return this.customizationService?.
|
53
|
+
return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(map(components => {
|
59
54
|
if (!components) {
|
60
55
|
return;
|
61
56
|
}
|
@@ -67,29 +62,23 @@ export class DocGenComponent {
|
|
67
62
|
}));
|
68
63
|
}));
|
69
64
|
}
|
70
|
-
|
65
|
+
getOrgMeta$() {
|
71
66
|
const template = this.flowInfo.templates.DOCGEN;
|
72
67
|
if (!template) {
|
73
68
|
return of(undefined);
|
74
69
|
}
|
75
|
-
return this.
|
76
|
-
? forkJoin([
|
77
|
-
...components.map(component => {
|
78
|
-
return this.templatesApi.fetchComponentAttachments$(component.uiTemplateId, component);
|
79
|
-
}),
|
80
|
-
])
|
81
|
-
: of(undefined)));
|
70
|
+
return this.templatesApi.fetchComponentsAttachments$(template.id);
|
82
71
|
}
|
83
72
|
generateUIDefinition$() {
|
84
73
|
return of(undefined).pipe(tap(() => {
|
85
74
|
if (!this.templateApiName) {
|
86
|
-
throw new Error("Flow
|
75
|
+
throw new Error("Flow 'docGen' template is not defined.");
|
87
76
|
}
|
88
|
-
}), switchMap(() => this.
|
89
|
-
if (!
|
77
|
+
}), switchMap(() => this.getLocalMeta$()), switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())), map(metaList => {
|
78
|
+
if (!metaList) {
|
90
79
|
return;
|
91
80
|
}
|
92
|
-
const meta =
|
81
|
+
const meta = metaList?.[0] ?? metaList;
|
93
82
|
const headerId = this.contextService.resolve().properties.Id ?? null;
|
94
83
|
let script = meta.js;
|
95
84
|
if (script) {
|
@@ -107,7 +96,7 @@ export class DocGenComponent {
|
|
107
96
|
primary: true,
|
108
97
|
type: 'DEFAULT',
|
109
98
|
version: 2,
|
110
|
-
children:
|
99
|
+
children: metaList.map(child => ({
|
111
100
|
children: [],
|
112
101
|
template: child.html && btoaSafe(child.html),
|
113
102
|
script: child.js && btoaSafe(child.js),
|
@@ -129,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
129
118
|
type: Inject,
|
130
119
|
args: [FLOW_CUSTOMIZATION]
|
131
120
|
}] }]; } });
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLWdlbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvY29tcG9uZW50cy9kb2MtZ2VuL2RvYy1nZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZG9jLWdlbi9kb2MtZ2VuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekYsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsR0FBRyxFQUVILEVBQUUsRUFDRixPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0QsT0FBTyxFQUFxQixrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQVFwRSxNQUFNLE9BQU8sZUFBZTtJQU0xQixZQUNVLFlBQW1DLEVBQ25DLGNBQThCLEVBQzlCLGdCQUFrQyxFQUNsQyxRQUF5QixFQUN6QixZQUEwQixFQUNjLG9CQUF3QztRQUxoRixpQkFBWSxHQUFaLFlBQVksQ0FBdUI7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QyxHQUFHLENBQUM7aUJBQ3pDLENBQUMsQ0FBQzthQUNKLENBQUM7WUFFRixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzs0R0EvSVUsZUFBZSxnTEFZSixrQkFBa0I7Z0dBWjdCLGVBQWUsdURDN0I1Qix3SkFHQTsyRkQwQmEsZUFBZTtrQkFOM0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTs7MEJBYzVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVRlbXBsYXRlc0FwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGknO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlLCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IENvbXBvbmVudEF0dGFjaG1lbnRzLCBUZW1wbGF0ZUNvbXBvbmVudCwgVUlEZWZpbml0aW9uLCBVSVRlbXBsYXRlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBleHRlbmRFbGVtZW50TWV0YWRhdGEsIGV4dHJhY3RFbGVtZW50TWV0YWRhdGEgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY21zJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBGbG93SW5mb1NlcnZpY2UsIEZsb3dTdGF0ZVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGZpbHRlcixcbiAgZmlyc3QsXG4gIGZvcmtKb2luLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGJ0b2FTYWZlIH0gZnJvbSAnLi4vLi4vLi4vY21zL3V0aWxzL2VuY29kaW5nLnV0aWxzJztcbmltcG9ydCB7IEZsb3dDdXN0b21pemF0aW9uLCBGTE9XX0NVU1RPTUlaQVRJT04gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWZsb3ctZG9jLWdlbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2MtZ2VuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9jLWdlbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRG9jR2VuQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIHVpRGVmaW5pdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVJRGVmaW5pdGlvbiB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgdGVtcGxhdGVBcGlOYW1lID0gJyc7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVzQXBpOiBVSVRlbXBsYXRlc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93U3RhdGVTZXJ2aWNlOiBGbG93U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0luZm86IEZsb3dJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRkxPV19DVVNUT01JWkFUSU9OKSBwcml2YXRlIGN1c3RvbWl6YXRpb25TZXJ2aWNlPzogRmxvd0N1c3RvbWl6YXRpb24sXG4gICkge1xuICAgIC8vIHdhaXQgdW50aWwgZmxvdyBpcyBpbml0aWFsaXplZFxuICAgIHRoaXMuZmxvd1N0YXRlU2VydmljZVxuICAgICAgLmlzSW5pdGlhbGl6ZWQkKClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmluaXRpYWxpemUoKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy50ZW1wbGF0ZUFwaU5hbWUgPSB0aGlzLmZsb3dJbmZvLmZsb3c/LnByb3BlcnRpZXMudGVtcGxhdGVzLmRvY0dlbiA/PyAnJztcblxuICAgIHRoaXMuZ2VuZXJhdGVVSURlZmluaXRpb24kKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAodWlEZWYgPT4ge1xuICAgICAgICAgIGlmICghdWlEZWYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29tcG9uZW50IHdpdGggbmFtZSAnJHt0aGlzLnRlbXBsYXRlQXBpTmFtZX0nIG5vdCBmb3VuZC5gKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnVpRGVmaW5pdGlvbiQubmV4dCh1aURlZik7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdGYWlsZWQgdG8gcmVzb2x2ZSBEb2NHZW4gY29tcG9uZW50LiAnICsgKGVyci5tZXNzYWdlID8/ICcnKTtcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBtZXNzYWdlLCBzdGlja3k6IHRydWUgfSk7XG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFRlbXBsYXRlUm9vdENvbXBvbmVudCQodGVtcGxhdGU6IFVJVGVtcGxhdGUpOiBPYnNlcnZhYmxlPFRlbXBsYXRlQ29tcG9uZW50W10gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXNBcGkuZmV0Y2hDb21wb25lbnRzJCh0ZW1wbGF0ZS5pZCk7XG4gIH1cblxuICBwcml2YXRlIGdldExvY2FsVGVtcGxhdGVDb21wb25lbnRNZXRhJCgpOiBPYnNlcnZhYmxlPENvbXBvbmVudEF0dGFjaG1lbnRzW10gfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuY3VzdG9taXphdGlvblNlcnZpY2U/LmdldFRlbXBsYXRlQ29tcG9uZW50KSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZT8uZ2V0VGVtcGxhdGVDb21wb25lbnQodGhpcy50ZW1wbGF0ZUFwaU5hbWUpLnBpcGUoXG4gICAgICBtYXAoY29tcG9uZW50cyA9PiB7XG4gICAgICAgIGlmICghY29tcG9uZW50cykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiA8Q29tcG9uZW50QXR0YWNobWVudHNbXT5jb21wb25lbnRzLm1hcChjb21wb25lbnQgPT4gKHtcbiAgICAgICAgICBodG1sOiBjb21wb25lbnQuaHRtbCxcbiAgICAgICAgICBjc3M6IGNvbXBvbmVudC5jc3MsXG4gICAgICAgICAganM6IGNvbXBvbmVudC5qcyxcbiAgICAgICAgICBqc29uOiBjb21wb25lbnQuanNvbixcbiAgICAgICAgfSkpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RG9jR2VuQ29tcG9uZW50TWV0YSQoKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50c1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLmZsb3dJbmZvLnRlbXBsYXRlcy5ET0NHRU47XG4gICAgaWYgKCF0ZW1wbGF0ZSkge1xuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0VGVtcGxhdGVSb290Q29tcG9uZW50JCh0ZW1wbGF0ZSkucGlwZShcbiAgICAgIHN3aXRjaE1hcChjb21wb25lbnRzID0+XG4gICAgICAgIGNvbXBvbmVudHNcbiAgICAgICAgICA/IGZvcmtKb2luKFtcbiAgICAgICAgICAgICAgLi4uY29tcG9uZW50cy5tYXAoY29tcG9uZW50ID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXNBcGkuZmV0Y2hDb21wb25lbnRBdHRhY2htZW50cyQoY29tcG9uZW50LnVpVGVtcGxhdGVJZCwgY29tcG9uZW50KTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBdKVxuICAgICAgICAgIDogb2YodW5kZWZpbmVkKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVVSURlZmluaXRpb24kKCk6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZUFwaU5hbWUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGbG93IFF1ZXJ5IHBhcmFtZXRlciAnZG9jR2VuVGVtcGxhdGVBcGlOYW1lJyBpcyBtaXNzaW5nLlwiKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRMb2NhbFRlbXBsYXRlQ29tcG9uZW50TWV0YSQoKSksXG4gICAgICBzd2l0Y2hNYXAoY2hpbGRyZW4gPT4gKGNoaWxkcmVuID8gb2YoY2hpbGRyZW4pIDogdGhpcy5nZXREb2NHZW5Db21wb25lbnRNZXRhJCgpKSksXG4gICAgICBtYXAoY2hpbGRyZW4gPT4ge1xuICAgICAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWV0YSA9IGNoaWxkcmVuPy5bMF0gPz8gY2hpbGRyZW47XG5cbiAgICAgICAgY29uc3QgaGVhZGVySWQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKS5wcm9wZXJ0aWVzLklkID8/IG51bGw7XG4gICAgICAgIGxldCBzY3JpcHQgPSBtZXRhLmpzO1xuXG4gICAgICAgIGlmIChzY3JpcHQpIHtcbiAgICAgICAgICBjb25zdCBtZXRhZGF0YSA9IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEoc2NyaXB0KTtcbiAgICAgICAgICBzY3JpcHQgPSBleHRlbmRFbGVtZW50TWV0YWRhdGEoc2NyaXB0LCB7XG4gICAgICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAgICAgLi4ubWV0YWRhdGEuaW5wdXRzLFxuICAgICAgICAgICAgICBJZDogaGVhZGVySWQgPyBgXCIke2hlYWRlcklkfVwiYCA6IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdWlEZWY6IFVJRGVmaW5pdGlvbiA9IHtcbiAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICBjcmVhdGVkVGltZXN0YW1wOiAwLFxuICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgdHlwZTogJ0RFRkFVTFQnLFxuICAgICAgICAgIHZlcnNpb246IDIsXG4gICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLm1hcChjaGlsZCA9PiAoe1xuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgdGVtcGxhdGU6IGNoaWxkLmh0bWwgJiYgYnRvYVNhZmUoY2hpbGQuaHRtbCksXG4gICAgICAgICAgICBzY3JpcHQ6IGNoaWxkLmpzICYmIGJ0b2FTYWZlKGNoaWxkLmpzKSxcbiAgICAgICAgICAgIHN0eWxlczogY2hpbGQuY3NzICYmIGJ0b2FTYWZlKGNoaWxkLmNzcyksXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB1aURlZjtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ1aURlZmluaXRpb24kIHwgYXN5bmMgYXMgdWlEZWZpbml0aW9uXCI+XG4gIDx2bC1jbXMtcHJldmlldyBbdWlEZWZpbml0aW9uXT1cInVpRGVmaW5pdGlvblwiPjwvdmwtY21zLXByZXZpZXc+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jLWdlbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvY29tcG9uZW50cy9kb2MtZ2VuL2RvYy1nZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZG9jLWdlbi9kb2MtZ2VuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RixPQUFPLEVBQ0wsY0FBYyxFQUVkLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsa0JBQWtCLEdBQ25CLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBRUgsRUFBRSxFQUNGLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVFkLE1BQU0sT0FBTyxlQUFlO0lBTTFCLFlBQ1UsWUFBbUMsRUFDbkMsY0FBOEIsRUFDOUIsZ0JBQWtDLEVBQ2xDLFFBQXlCLEVBQ3pCLFlBQTBCLEVBQ2Msb0JBQXdDO1FBTGhGLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdB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QUFJLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJO3FCQUN0QztpQkFDRixDQUFDLENBQUM7YUFDSjtZQUVELE1BQU0sS0FBSyxHQUFpQjtnQkFDMUIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsUUFBUSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMvQixRQUFRLEVBQUUsRUFBRTtvQkFDWixRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDNUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3RDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUN6QyxDQUFDLENBQUM7YUFDSixDQUFDO1lBRUYsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7NEdBaklVLGVBQWUsZ0xBWUosa0JBQWtCO2dHQVo3QixlQUFlLHVEQ2hDNUIsd0pBR0E7MkZENkJhLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07OzBCQWM1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVUlUZW1wbGF0ZXNBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSwgVG9hc3RUeXBlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDb21wb25lbnRBdHRhY2htZW50cywgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBidG9hU2FmZSwgZXh0ZW5kRWxlbWVudE1ldGFkYXRhLCBleHRyYWN0RWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2Ntcyc7XG5pbXBvcnQge1xuICBDb250ZXh0U2VydmljZSxcbiAgRmxvd0N1c3RvbWl6YXRpb24sXG4gIEZsb3dJbmZvU2VydmljZSxcbiAgRmxvd1N0YXRlU2VydmljZSxcbiAgRkxPV19DVVNUT01JWkFUSU9OLFxufSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGZpbHRlcixcbiAgZmlyc3QsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1mbG93LWRvYy1nZW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jLWdlbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RvYy1nZW4uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERvY0dlbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyB1aURlZmluaXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVSURlZmluaXRpb24gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHRlbXBsYXRlQXBpTmFtZSA9ICcnO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlc0FwaTogVUlUZW1wbGF0ZXNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd1N0YXRlU2VydmljZTogRmxvd1N0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dJbmZvOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZMT1dfQ1VTVE9NSVpBVElPTikgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZT86IEZsb3dDdXN0b21pemF0aW9uLFxuICApIHtcbiAgICAvLyB3YWl0IHVudGlsIGZsb3cgaXMgaW5pdGlhbGl6ZWRcbiAgICB0aGlzLmZsb3dTdGF0ZVNlcnZpY2VcbiAgICAgIC5pc0luaXRpYWxpemVkJCgpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pbml0aWFsaXplKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMudGVtcGxhdGVBcGlOYW1lID0gdGhpcy5mbG93SW5mby5mbG93Py5wcm9wZXJ0aWVzLnRlbXBsYXRlcy5kb2NHZW4gPz8gJyc7XG5cbiAgICB0aGlzLmdlbmVyYXRlVUlEZWZpbml0aW9uJCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHVpRGVmID0+IHtcbiAgICAgICAgICBpZiAoIXVpRGVmKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbXBvbmVudCB3aXRoIG5hbWUgJyR7dGhpcy50ZW1wbGF0ZUFwaU5hbWV9JyBub3QgZm91bmQuYCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy51aURlZmluaXRpb24kLm5leHQodWlEZWYpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnRmFpbGVkIHRvIHJlc29sdmUgRG9jR2VuIGNvbXBvbmVudC4gJyArIChlcnIubWVzc2FnZSA/PyAnJyk7XG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6IFRvYXN0VHlwZS5lcnJvciwgc3VtbWFyeTogbWVzc2FnZSwgc3RpY2t5OiB0cnVlIH0pO1xuICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbE1ldGEkKCk6IE9ic2VydmFibGU8Q29tcG9uZW50QXR0YWNobWVudHNbXSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5jdXN0b21pemF0aW9uU2VydmljZT8uZ2V0VGVtcGxhdGVDb21wb25lbnRzKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZT8uZ2V0VGVtcGxhdGVDb21wb25lbnRzKHRoaXMudGVtcGxhdGVBcGlOYW1lKS5waXBlKFxuICAgICAgbWFwKGNvbXBvbmVudHMgPT4ge1xuICAgICAgICBpZiAoIWNvbXBvbmVudHMpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tcG9uZW50cy5tYXA8Q29tcG9uZW50QXR0YWNobWVudHM+KGNvbXBvbmVudCA9PiAoe1xuICAgICAgICAgIGh0bWw6IGNvbXBvbmVudC5odG1sLFxuICAgICAgICAgIGNzczogY29tcG9uZW50LmNzcyxcbiAgICAgICAgICBqczogY29tcG9uZW50LmpzLFxuICAgICAgICAgIGpzb246IGNvbXBvbmVudC5qc29uLFxuICAgICAgICB9KSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPcmdNZXRhJCgpOiBPYnNlcnZhYmxlPENvbXBvbmVudEF0dGFjaG1lbnRzW10gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IHRoaXMuZmxvd0luZm8udGVtcGxhdGVzLkRPQ0dFTjtcbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXNBcGkuZmV0Y2hDb21wb25lbnRzQXR0YWNobWVudHMkKHRlbXBsYXRlLmlkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVVSURlZmluaXRpb24kKCk6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZUFwaU5hbWUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGbG93ICdkb2NHZW4nIHRlbXBsYXRlIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRMb2NhbE1ldGEkKCkpLFxuICAgICAgc3dpdGNoTWFwKG1ldGFMaXN0ID0+IChtZXRhTGlzdCA/IG9mKG1ldGFMaXN0KSA6IHRoaXMuZ2V0T3JnTWV0YSQoKSkpLFxuICAgICAgbWFwKG1ldGFMaXN0ID0+IHtcbiAgICAgICAgaWYgKCFtZXRhTGlzdCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1ldGEgPSBtZXRhTGlzdD8uWzBdID8/IG1ldGFMaXN0O1xuXG4gICAgICAgIGNvbnN0IGhlYWRlcklkID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCkucHJvcGVydGllcy5JZCA/PyBudWxsO1xuICAgICAgICBsZXQgc2NyaXB0ID0gbWV0YS5qcztcblxuICAgICAgICBpZiAoc2NyaXB0KSB7XG4gICAgICAgICAgY29uc3QgbWV0YWRhdGEgPSBleHRyYWN0RWxlbWVudE1ldGFkYXRhKHNjcmlwdCk7XG4gICAgICAgICAgc2NyaXB0ID0gZXh0ZW5kRWxlbWVudE1ldGFkYXRhKHNjcmlwdCwge1xuICAgICAgICAgICAgaW5wdXRzOiB7XG4gICAgICAgICAgICAgIC4uLm1ldGFkYXRhLmlucHV0cyxcbiAgICAgICAgICAgICAgSWQ6IGhlYWRlcklkID8gYFwiJHtoZWFkZXJJZH1cImAgOiBudWxsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVpRGVmOiBVSURlZmluaXRpb24gPSB7XG4gICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgY3JlYXRlZFRpbWVzdGFtcDogMCxcbiAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIHR5cGU6ICdERUZBVUxUJyxcbiAgICAgICAgICB2ZXJzaW9uOiAyLFxuICAgICAgICAgIGNoaWxkcmVuOiBtZXRhTGlzdC5tYXAoY2hpbGQgPT4gKHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgIHRlbXBsYXRlOiBjaGlsZC5odG1sICYmIGJ0b2FTYWZlKGNoaWxkLmh0bWwpLFxuICAgICAgICAgICAgc2NyaXB0OiBjaGlsZC5qcyAmJiBidG9hU2FmZShjaGlsZC5qcyksXG4gICAgICAgICAgICBzdHlsZXM6IGNoaWxkLmNzcyAmJiBidG9hU2FmZShjaGlsZC5jc3MpLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdWlEZWY7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidWlEZWZpbml0aW9uJCB8IGFzeW5jIGFzIHVpRGVmaW5pdGlvblwiPlxuICA8dmwtY21zLXByZXZpZXcgW3VpRGVmaW5pdGlvbl09XCJ1aURlZmluaXRpb25cIj48L3ZsLWNtcy1wcmV2aWV3PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
@@ -1,10 +1,9 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';
|
2
2
|
import { UITemplatesApiService } from '@veloceapps/api';
|
3
3
|
import { ToastService, ToastType } from '@veloceapps/components';
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import {
|
7
|
-
import { FLOW_CUSTOMIZATION } from '../../types';
|
4
|
+
import { btoaSafe } from '@veloceapps/sdk/cms';
|
5
|
+
import { FlowInfoService, FlowStateService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';
|
6
|
+
import { BehaviorSubject, catchError, filter, first, map, of, Subject, switchMap, takeUntil, tap, } from 'rxjs';
|
8
7
|
import * as i0 from "@angular/core";
|
9
8
|
import * as i1 from "@veloceapps/api";
|
10
9
|
import * as i2 from "@veloceapps/sdk/core";
|
@@ -46,14 +45,11 @@ export class FlowHeaderComponent {
|
|
46
45
|
}), takeUntil(this.destroy$))
|
47
46
|
.subscribe();
|
48
47
|
}
|
49
|
-
|
50
|
-
|
51
|
-
}
|
52
|
-
getLocalTemplateComponentMeta$() {
|
53
|
-
if (!this.customizationService?.getTemplateComponent) {
|
48
|
+
getLocalMeta$() {
|
49
|
+
if (!this.customizationService?.getTemplateComponents) {
|
54
50
|
return of(undefined);
|
55
51
|
}
|
56
|
-
return this.customizationService?.
|
52
|
+
return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(map(components => {
|
57
53
|
if (!components) {
|
58
54
|
return;
|
59
55
|
}
|
@@ -65,26 +61,20 @@ export class FlowHeaderComponent {
|
|
65
61
|
}));
|
66
62
|
}));
|
67
63
|
}
|
68
|
-
|
64
|
+
getOrgMeta$() {
|
69
65
|
const template = this.flowInfo.templates.FLOW_HEADER;
|
70
66
|
if (!template) {
|
71
67
|
return of(undefined);
|
72
68
|
}
|
73
|
-
return this.
|
74
|
-
? forkJoin([
|
75
|
-
...components.map(component => {
|
76
|
-
return this.templatesApi.fetchComponentAttachments$(component.uiTemplateId, component);
|
77
|
-
}),
|
78
|
-
])
|
79
|
-
: of(undefined)));
|
69
|
+
return this.templatesApi.fetchComponentsAttachments$(template.id);
|
80
70
|
}
|
81
71
|
generateUIDefinition$() {
|
82
72
|
return of(undefined).pipe(tap(() => {
|
83
73
|
if (!this.templateApiName) {
|
84
|
-
throw new Error("Flow
|
74
|
+
throw new Error("Flow 'flowHeader' template is not defined.");
|
85
75
|
}
|
86
|
-
}), switchMap(() => this.
|
87
|
-
if (!
|
76
|
+
}), switchMap(() => this.getLocalMeta$()), switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())), map(metaList => {
|
77
|
+
if (!metaList) {
|
88
78
|
return;
|
89
79
|
}
|
90
80
|
const uiDef = {
|
@@ -93,11 +83,11 @@ export class FlowHeaderComponent {
|
|
93
83
|
primary: true,
|
94
84
|
type: 'DEFAULT',
|
95
85
|
version: 2,
|
96
|
-
children:
|
86
|
+
children: metaList.map(meta => ({
|
97
87
|
children: [],
|
98
|
-
template:
|
99
|
-
script:
|
100
|
-
styles:
|
88
|
+
template: meta.html && btoaSafe(meta.html),
|
89
|
+
script: meta.js && btoaSafe(meta.js),
|
90
|
+
styles: meta.css && btoaSafe(meta.css),
|
101
91
|
})),
|
102
92
|
};
|
103
93
|
return uiDef;
|
@@ -115,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
115
105
|
type: Inject,
|
116
106
|
args: [FLOW_CUSTOMIZATION]
|
117
107
|
}] }]; } });
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZmxvdy1oZWFkZXIvZmxvdy1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZmxvdy1oZWFkZXIvZmxvdy1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLEdBQUcsRUFFSCxFQUFFLEVBQ0YsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBcUIsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixZQUNVLFlBQW1DLEVBQ25DLGdCQUFrQyxFQUNsQyxRQUF5QixFQUN6QixZQUEwQixFQUNjLG9CQUF3QztRQUpoRixpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFp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QzFCLElBQUksRUFBRSxFQUFFO2dCQUNSLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxDQUFDO2dCQUNWLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDL0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQzVDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN0QyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDekMsQ0FBQyxDQUFDO2FBQ0osQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2dIQS9IVSxtQkFBbUIsa0pBV1Isa0JBQWtCO29HQVg3QixtQkFBbUIsMERDNUJoQyx3SkFHQTsyRkR5QmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNOzswQkFhNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJVGVtcGxhdGVzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50QXR0YWNobWVudHMsIFRlbXBsYXRlQ29tcG9uZW50LCBVSURlZmluaXRpb24sIFVJVGVtcGxhdGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IEZsb3dJbmZvU2VydmljZSwgRmxvd1N0YXRlU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgZmlsdGVyLFxuICBmaXJzdCxcbiAgZm9ya0pvaW4sXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYnRvYVNhZmUgfSBmcm9tICcuLi8uLi8uLi9jbXMvdXRpbHMvZW5jb2RpbmcudXRpbHMnO1xuaW1wb3J0IHsgRmxvd0N1c3RvbWl6YXRpb24sIEZMT1dfQ1VTVE9NSVpBVElPTiB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZmxvdy1uZXctaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zsb3ctaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmxvdy1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZsb3dIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgdWlEZWZpbml0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VUlEZWZpbml0aW9uIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSB0ZW1wbGF0ZUFwaU5hbWUgPSAnJztcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZXNBcGk6IFVJVGVtcGxhdGVzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dTdGF0ZVNlcnZpY2U6IEZsb3dTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93SW5mbzogRmxvd0luZm9TZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGTE9XX0NVU1RPTUlaQVRJT04pIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U/OiBGbG93Q3VzdG9taXphdGlvbixcbiAgKSB7XG4gICAgLy8gd2FpdCB1bnRpbCBmbG93IGlzIGluaXRpYWxpemVkXG4gICAgdGhpcy5mbG93U3RhdGVTZXJ2aWNlXG4gICAgICAuaXNJbml0aWFsaXplZCQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuaW5pdGlhbGl6ZSgpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRlbXBsYXRlQXBpTmFtZSA9IHRoaXMuZmxvd0luZm8uZmxvdz8ucHJvcGVydGllcy50ZW1wbGF0ZXMuZmxvd0hlYWRlciA/PyAnJztcblxuICAgIHRoaXMuZ2VuZXJhdGVVSURlZmluaXRpb24kKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAodWlEZWYgPT4ge1xuICAgICAgICAgIGlmICghdWlEZWYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29tcG9uZW50IHdpdGggbmFtZSAnJHt0aGlzLnRlbXBsYXRlQXBpTmFtZX0nIG5vdCBmb3VuZC5gKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnVpRGVmaW5pdGlvbiQubmV4dCh1aURlZik7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdGYWlsZWQgdG8gcmVzb2x2ZSBGbG93IEhlYWRlciBjb21wb25lbnQuICcgKyAoZXJyLm1lc3NhZ2UgPz8gJycpO1xuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiBUb2FzdFR5cGUuZXJyb3IsIHN1bW1hcnk6IG1lc3NhZ2UsIHN0aWNreTogdHJ1ZSB9KTtcbiAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGVtcGxhdGVSb290Q29tcG9uZW50JCh0ZW1wbGF0ZTogVUlUZW1wbGF0ZSk6IE9ic2VydmFibGU8VGVtcGxhdGVDb21wb25lbnRbXSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlc0FwaS5mZXRjaENvbXBvbmVudHMkKHRlbXBsYXRlLmlkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TG9jYWxUZW1wbGF0ZUNvbXBvbmVudE1ldGEkKCk6IE9ic2VydmFibGU8Q29tcG9uZW50QXR0YWNobWVudHNbXSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5jdXN0b21pemF0aW9uU2VydmljZT8uZ2V0VGVtcGxhdGVDb21wb25lbnQpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRUZW1wbGF0ZUNvbXBvbmVudCh0aGlzLnRlbXBsYXRlQXBpTmFtZSkucGlwZShcbiAgICAgIG1hcChjb21wb25lbnRzID0+IHtcbiAgICAgICAgaWYgKCFjb21wb25lbnRzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDxDb21wb25lbnRBdHRhY2htZW50c1tdPmNvbXBvbmVudHMubWFwKGNvbXBvbmVudCA9PiAoe1xuICAgICAgICAgIGh0bWw6IGNvbXBvbmVudC5odG1sLFxuICAgICAgICAgIGNzczogY29tcG9uZW50LmNzcyxcbiAgICAgICAgICBqczogY29tcG9uZW50LmpzLFxuICAgICAgICAgIGpzb246IGNvbXBvbmVudC5qc29uLFxuICAgICAgICB9KSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGbG93SGVhZGVyQ29tcG9uZW50TWV0YSQoKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50c1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLmZsb3dJbmZvLnRlbXBsYXRlcy5GTE9XX0hFQURFUjtcbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRUZW1wbGF0ZVJvb3RDb21wb25lbnQkKHRlbXBsYXRlKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGNvbXBvbmVudHMgPT5cbiAgICAgICAgY29tcG9uZW50c1xuICAgICAgICAgID8gZm9ya0pvaW4oW1xuICAgICAgICAgICAgICAuLi5jb21wb25lbnRzLm1hcChjb21wb25lbnQgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRlbXBsYXRlc0FwaS5mZXRjaENvbXBvbmVudEF0dGFjaG1lbnRzJChjb21wb25lbnQudWlUZW1wbGF0ZUlkLCBjb21wb25lbnQpO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0pXG4gICAgICAgICAgOiBvZih1bmRlZmluZWQpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVVJRGVmaW5pdGlvbiQoKTogT2JzZXJ2YWJsZTxVSURlZmluaXRpb24gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBsYXRlQXBpTmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZsb3cgUXVlcnkgcGFyYW1ldGVyICdmbG93SGVhZGVyVGVtcGxhdGVBcGlOYW1lJyBpcyBtaXNzaW5nLlwiKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRMb2NhbFRlbXBsYXRlQ29tcG9uZW50TWV0YSQoKSksXG4gICAgICBzd2l0Y2hNYXAoY2hpbGRyZW4gPT4gKGNoaWxkcmVuID8gb2YoY2hpbGRyZW4pIDogdGhpcy5nZXRGbG93SGVhZGVyQ29tcG9uZW50TWV0YSQoKSkpLFxuICAgICAgbWFwKGNoaWxkcmVuID0+IHtcbiAgICAgICAgaWYgKCFjaGlsZHJlbikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVpRGVmOiBVSURlZmluaXRpb24gPSB7XG4gICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgY3JlYXRlZFRpbWVzdGFtcDogMCxcbiAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIHR5cGU6ICdERUZBVUxUJyxcbiAgICAgICAgICB2ZXJzaW9uOiAyLFxuICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbi5tYXAoY2hpbGQgPT4gKHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgIHRlbXBsYXRlOiBjaGlsZC5odG1sICYmIGJ0b2FTYWZlKGNoaWxkLmh0bWwpLFxuICAgICAgICAgICAgc2NyaXB0OiBjaGlsZC5qcyAmJiBidG9hU2FmZShjaGlsZC5qcyksXG4gICAgICAgICAgICBzdHlsZXM6IGNoaWxkLmNzcyAmJiBidG9hU2FmZShjaGlsZC5jc3MpLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdWlEZWY7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidWlEZWZpbml0aW9uJCB8IGFzeW5jIGFzIHVpRGVmaW5pdGlvblwiPlxuICA8dmwtY21zLXByZXZpZXcgW3VpRGVmaW5pdGlvbl09XCJ1aURlZmluaXRpb25cIj48L3ZsLWNtcy1wcmV2aWV3PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZmxvdy1oZWFkZXIvZmxvdy1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZmxvdy1oZWFkZXIvZmxvdy1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBcUIsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEgsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBRUgsRUFBRSxFQUNGLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVFkLE1BQU0sT0FBTyxtQkFBbUI7SUFNOUIsWUFDVSxZQUFtQyxFQUNuQyxnQkFBa0MsRUFDbEMsUUFBeUIsRUFDekIsWUFBMEIsRUFDYyxvQkFBd0M7UUFKaEYsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBQ25DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDYyx5QkFBb0Is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O2FBQ0osQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2dIQWpIVSxtQkFBbUIsa0pBV1Isa0JBQWtCO29HQVg3QixtQkFBbUIsMERDMUJoQyx3SkFHQTsyRkR1QmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNOzswQkFhNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJVGVtcGxhdGVzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50QXR0YWNobWVudHMsIFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgYnRvYVNhZmUgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY21zJztcbmltcG9ydCB7IEZsb3dDdXN0b21pemF0aW9uLCBGbG93SW5mb1NlcnZpY2UsIEZsb3dTdGF0ZVNlcnZpY2UsIEZMT1dfQ1VTVE9NSVpBVElPTiB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgZmlsdGVyLFxuICBmaXJzdCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWZsb3ctbmV3LWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mbG93LWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zsb3ctaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGbG93SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIHVpRGVmaW5pdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVJRGVmaW5pdGlvbiB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgdGVtcGxhdGVBcGlOYW1lID0gJyc7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVzQXBpOiBVSVRlbXBsYXRlc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93U3RhdGVTZXJ2aWNlOiBGbG93U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0luZm86IEZsb3dJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRkxPV19DVVNUT01JWkFUSU9OKSBwcml2YXRlIGN1c3RvbWl6YXRpb25TZXJ2aWNlPzogRmxvd0N1c3RvbWl6YXRpb24sXG4gICkge1xuICAgIC8vIHdhaXQgdW50aWwgZmxvdyBpcyBpbml0aWFsaXplZFxuICAgIHRoaXMuZmxvd1N0YXRlU2VydmljZVxuICAgICAgLmlzSW5pdGlhbGl6ZWQkKClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmluaXRpYWxpemUoKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy50ZW1wbGF0ZUFwaU5hbWUgPSB0aGlzLmZsb3dJbmZvLmZsb3c/LnByb3BlcnRpZXMudGVtcGxhdGVzLmZsb3dIZWFkZXIgPz8gJyc7XG5cbiAgICB0aGlzLmdlbmVyYXRlVUlEZWZpbml0aW9uJCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHVpRGVmID0+IHtcbiAgICAgICAgICBpZiAoIXVpRGVmKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbXBvbmVudCB3aXRoIG5hbWUgJyR7dGhpcy50ZW1wbGF0ZUFwaU5hbWV9JyBub3QgZm91bmQuYCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy51aURlZmluaXRpb24kLm5leHQodWlEZWYpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnRmFpbGVkIHRvIHJlc29sdmUgRmxvdyBIZWFkZXIgY29tcG9uZW50LiAnICsgKGVyci5tZXNzYWdlID8/ICcnKTtcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBtZXNzYWdlLCBzdGlja3k6IHRydWUgfSk7XG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldExvY2FsTWV0YSQoKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50c1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRUZW1wbGF0ZUNvbXBvbmVudHMpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRUZW1wbGF0ZUNvbXBvbmVudHModGhpcy50ZW1wbGF0ZUFwaU5hbWUpLnBpcGUoXG4gICAgICBtYXAoY29tcG9uZW50cyA9PiB7XG4gICAgICAgIGlmICghY29tcG9uZW50cykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnRzLm1hcDxDb21wb25lbnRBdHRhY2htZW50cz4oY29tcG9uZW50ID0+ICh7XG4gICAgICAgICAgaHRtbDogY29tcG9uZW50Lmh0bWwsXG4gICAgICAgICAgY3NzOiBjb21wb25lbnQuY3NzLFxuICAgICAgICAgIGpzOiBjb21wb25lbnQuanMsXG4gICAgICAgICAganNvbjogY29tcG9uZW50Lmpzb24sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldE9yZ01ldGEkKCk6IE9ic2VydmFibGU8Q29tcG9uZW50QXR0YWNobWVudHNbXSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy5mbG93SW5mby50ZW1wbGF0ZXMuRkxPV19IRUFERVI7XG4gICAgaWYgKCF0ZW1wbGF0ZSkge1xuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzQXBpLmZldGNoQ29tcG9uZW50c0F0dGFjaG1lbnRzJCh0ZW1wbGF0ZS5pZCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVUlEZWZpbml0aW9uJCgpOiBPYnNlcnZhYmxlPFVJRGVmaW5pdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBvZih1bmRlZmluZWQpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMudGVtcGxhdGVBcGlOYW1lKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmxvdyAnZmxvd0hlYWRlcicgdGVtcGxhdGUgaXMgbm90IGRlZmluZWQuXCIpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmdldExvY2FsTWV0YSQoKSksXG4gICAgICBzd2l0Y2hNYXAobWV0YUxpc3QgPT4gKG1ldGFMaXN0ID8gb2YobWV0YUxpc3QpIDogdGhpcy5nZXRPcmdNZXRhJCgpKSksXG4gICAgICBtYXAobWV0YUxpc3QgPT4ge1xuICAgICAgICBpZiAoIW1ldGFMaXN0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdWlEZWY6IFVJRGVmaW5pdGlvbiA9IHtcbiAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICBjcmVhdGVkVGltZXN0YW1wOiAwLFxuICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgdHlwZTogJ0RFRkFVTFQnLFxuICAgICAgICAgIHZlcnNpb246IDIsXG4gICAgICAgICAgY2hpbGRyZW46IG1ldGFMaXN0Lm1hcChtZXRhID0+ICh7XG4gICAgICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgICAgICB0ZW1wbGF0ZTogbWV0YS5odG1sICYmIGJ0b2FTYWZlKG1ldGEuaHRtbCksXG4gICAgICAgICAgICBzY3JpcHQ6IG1ldGEuanMgJiYgYnRvYVNhZmUobWV0YS5qcyksXG4gICAgICAgICAgICBzdHlsZXM6IG1ldGEuY3NzICYmIGJ0b2FTYWZlKG1ldGEuY3NzKSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHVpRGVmO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInVpRGVmaW5pdGlvbiQgfCBhc3luYyBhcyB1aURlZmluaXRpb25cIj5cbiAgPHZsLWNtcy1wcmV2aWV3IFt1aURlZmluaXRpb25dPVwidWlEZWZpbml0aW9uXCI+PC92bC1jbXMtcHJldmlldz5cbjwvbmctY29udGFpbmVyPlxuIl19
|
@@ -1,10 +1,9 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';
|
2
2
|
import { UITemplatesApiService } from '@veloceapps/api';
|
3
3
|
import { ToastService, ToastType } from '@veloceapps/components';
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import {
|
7
|
-
import { FLOW_CUSTOMIZATION } from '../../types';
|
4
|
+
import { btoaSafe } from '@veloceapps/sdk/cms';
|
5
|
+
import { FlowInfoService, FlowStateService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';
|
6
|
+
import { BehaviorSubject, catchError, filter, first, map, of, Subject, switchMap, takeUntil, tap, } from 'rxjs';
|
8
7
|
import * as i0 from "@angular/core";
|
9
8
|
import * as i1 from "@veloceapps/api";
|
10
9
|
import * as i2 from "@veloceapps/sdk/core";
|
@@ -46,14 +45,11 @@ export class GuidedSellingComponent {
|
|
46
45
|
}), takeUntil(this.destroy$))
|
47
46
|
.subscribe();
|
48
47
|
}
|
49
|
-
|
50
|
-
|
51
|
-
}
|
52
|
-
getLocalTemplateComponentMeta$() {
|
53
|
-
if (!this.customizationService?.getTemplateComponent) {
|
48
|
+
getLocalMeta$() {
|
49
|
+
if (!this.customizationService?.getTemplateComponents) {
|
54
50
|
return of(undefined);
|
55
51
|
}
|
56
|
-
return this.customizationService?.
|
52
|
+
return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(map(components => {
|
57
53
|
if (!components) {
|
58
54
|
return;
|
59
55
|
}
|
@@ -65,26 +61,20 @@ export class GuidedSellingComponent {
|
|
65
61
|
}));
|
66
62
|
}));
|
67
63
|
}
|
68
|
-
|
64
|
+
getOrgMeta$() {
|
69
65
|
const template = this.flowInfo.templates.GUIDED_SELLING;
|
70
66
|
if (!template) {
|
71
67
|
return of(undefined);
|
72
68
|
}
|
73
|
-
return this.
|
74
|
-
? forkJoin([
|
75
|
-
...components.map(component => {
|
76
|
-
return this.templatesApi.fetchComponentAttachments$(component.uiTemplateId, component);
|
77
|
-
}),
|
78
|
-
])
|
79
|
-
: of(undefined)));
|
69
|
+
return this.templatesApi.fetchComponentsAttachments$(template.id);
|
80
70
|
}
|
81
71
|
generateUIDefinition$() {
|
82
72
|
return of(undefined).pipe(tap(() => {
|
83
73
|
if (!this.templateApiName) {
|
84
|
-
throw new Error("Flow
|
74
|
+
throw new Error("Flow 'guidedSelling' template is not defined.");
|
85
75
|
}
|
86
|
-
}), switchMap(() => this.
|
87
|
-
if (!
|
76
|
+
}), switchMap(() => this.getLocalMeta$()), switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())), map(metaList => {
|
77
|
+
if (!metaList) {
|
88
78
|
return;
|
89
79
|
}
|
90
80
|
const uiDef = {
|
@@ -93,11 +83,11 @@ export class GuidedSellingComponent {
|
|
93
83
|
primary: true,
|
94
84
|
type: 'DEFAULT',
|
95
85
|
version: 2,
|
96
|
-
children:
|
86
|
+
children: metaList.map(meta => ({
|
97
87
|
children: [],
|
98
|
-
template:
|
99
|
-
script:
|
100
|
-
styles:
|
88
|
+
template: meta.html && btoaSafe(meta.html),
|
89
|
+
script: meta.js && btoaSafe(meta.js),
|
90
|
+
styles: meta.css && btoaSafe(meta.css),
|
101
91
|
})),
|
102
92
|
};
|
103
93
|
return uiDef;
|
@@ -115,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
115
105
|
type: Inject,
|
116
106
|
args: [FLOW_CUSTOMIZATION]
|
117
107
|
}] }]; } });
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXNlbGxpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZ3VpZGVkLXNlbGxpbmcvZ3VpZGVkLXNlbGxpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZ3VpZGVkLXNlbGxpbmcvZ3VpZGVkLXNlbGxpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLEdBQUcsRUFFSCxFQUFFLEVBQ0YsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBcUIsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQyxZQUNVLFlBQW1DLEVBQ25DLGdCQUFrQyxFQUNsQyxRQUF5QixFQUN6QixZQUEwQixFQUNjLG9CQUF3QztRQUpoRixpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUNjLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBb0I7UUFWbkYsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsSUFBSSxDQUFDLENBQUM7UUFFOUQsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFTckMsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsY0FBYyxFQUFFO2FBQ2hCLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsS0FBSyxFQUFFLEVBQ1AsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUM1QixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztRQUVwRixJQUFJLENBQUMscUJBQXFCLEVBQUU7YUFDekIsSUFBSSxDQUNILEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxDQUFDLGVBQWUsY0FBYyxDQUFDLENBQUM7YUFDN0U7WUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixNQUFNLE9BQU8sR0FBRyw4Q0FBOEMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3JGLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxRQUFvQjtRQUNwRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyw4QkFBOEI7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRTtZQUNwRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QjtRQUVELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQy9FLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2YsT0FBTzthQUNSO1lBRUQsT0FBK0IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzFELElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtnQkFDcEIsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHO2dCQUNsQixFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUU7Z0JBQ2hCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTthQUNyQixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sOEJBQThCO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEI7UUFFRCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQ2xELFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUNyQixVQUFVO1lBQ1IsQ0FBQyxDQUFDLFFBQVEsQ0FBQztnQkFDUCxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQzVCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN6RixDQUFDLENBQUM7YUFDSCxDQUFDO1lBQ0osQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FDbEIsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ3ZCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDO2FBQ3BGO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLEVBQ3RELFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLENBQUMsRUFDeEYsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDYixPQUFPO2FBQ1I7WUFFRCxNQUFNLEtBQUssR0FBaUI7Z0JBQzFCLElBQUksRUFBRSxFQUFFO2dCQUNSLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxDQUFDO2dCQUNWLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDL0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQzVDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN0QyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDekMsQ0FBQyxDQUFDO2FBQ0osQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O21IQS9IVSxzQkFBc0Isa0pBV1gsa0JBQWtCO3VHQVg3QixzQkFBc0IsOERDNUJuQyx3SkFHQTsyRkR5QmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTs7MEJBYTVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVRlbXBsYXRlc0FwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGknO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlLCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IENvbXBvbmVudEF0dGFjaG1lbnRzLCBUZW1wbGF0ZUNvbXBvbmVudCwgVUlEZWZpbml0aW9uLCBVSVRlbXBsYXRlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBGbG93SW5mb1NlcnZpY2UsIEZsb3dTdGF0ZVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGZpbHRlcixcbiAgZmlyc3QsXG4gIGZvcmtKb2luLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGJ0b2FTYWZlIH0gZnJvbSAnLi4vLi4vLi4vY21zL3V0aWxzL2VuY29kaW5nLnV0aWxzJztcbmltcG9ydCB7IEZsb3dDdXN0b21pemF0aW9uLCBGTE9XX0NVU1RPTUlaQVRJT04gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWZsb3ctZ3VpZGVkLXNlbGxpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3VpZGVkLXNlbGxpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ndWlkZWQtc2VsbGluZy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR3VpZGVkU2VsbGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyB1aURlZmluaXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVSURlZmluaXRpb24gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHRlbXBsYXRlQXBpTmFtZSA9ICcnO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlc0FwaTogVUlUZW1wbGF0ZXNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd1N0YXRlU2VydmljZTogRmxvd1N0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dJbmZvOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZMT1dfQ1VTVE9NSVpBVElPTikgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZT86IEZsb3dDdXN0b21pemF0aW9uLFxuICApIHtcbiAgICAvLyB3YWl0IHVudGlsIGZsb3cgaXMgaW5pdGlhbGl6ZWRcbiAgICB0aGlzLmZsb3dTdGF0ZVNlcnZpY2VcbiAgICAgIC5pc0luaXRpYWxpemVkJCgpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pbml0aWFsaXplKCkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMudGVtcGxhdGVBcGlOYW1lID0gdGhpcy5mbG93SW5mby5mbG93Py5wcm9wZXJ0aWVzLnRlbXBsYXRlcy5ndWlkZWRTZWxsaW5nID8/ICcnO1xuXG4gICAgdGhpcy5nZW5lcmF0ZVVJRGVmaW5pdGlvbiQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCh1aURlZiA9PiB7XG4gICAgICAgICAgaWYgKCF1aURlZikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb21wb25lbnQgd2l0aCBuYW1lICcke3RoaXMudGVtcGxhdGVBcGlOYW1lfScgbm90IGZvdW5kLmApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMudWlEZWZpbml0aW9uJC5uZXh0KHVpRGVmKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ0ZhaWxlZCB0byByZXNvbHZlIEd1aWRlZCBTZWxsaW5nIGNvbXBvbmVudC4gJyArIChlcnIubWVzc2FnZSA/PyAnJyk7XG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6IFRvYXN0VHlwZS5lcnJvciwgc3VtbWFyeTogbWVzc2FnZSwgc3RpY2t5OiB0cnVlIH0pO1xuICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUZW1wbGF0ZVJvb3RDb21wb25lbnQkKHRlbXBsYXRlOiBVSVRlbXBsYXRlKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudFtdIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzQXBpLmZldGNoQ29tcG9uZW50cyQodGVtcGxhdGUuaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbFRlbXBsYXRlQ29tcG9uZW50TWV0YSQoKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50c1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRUZW1wbGF0ZUNvbXBvbmVudCkge1xuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2U/LmdldFRlbXBsYXRlQ29tcG9uZW50KHRoaXMudGVtcGxhdGVBcGlOYW1lKS5waXBlKFxuICAgICAgbWFwKGNvbXBvbmVudHMgPT4ge1xuICAgICAgICBpZiAoIWNvbXBvbmVudHMpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gPENvbXBvbmVudEF0dGFjaG1lbnRzW10+Y29tcG9uZW50cy5tYXAoY29tcG9uZW50ID0+ICh7XG4gICAgICAgICAgaHRtbDogY29tcG9uZW50Lmh0bWwsXG4gICAgICAgICAgY3NzOiBjb21wb25lbnQuY3NzLFxuICAgICAgICAgIGpzOiBjb21wb25lbnQuanMsXG4gICAgICAgICAganNvbjogY29tcG9uZW50Lmpzb24sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEd1aWRlZFNlbGxpbmdDb21wb25lbnRNZXRhJCgpOiBPYnNlcnZhYmxlPENvbXBvbmVudEF0dGFjaG1lbnRzW10gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IHRoaXMuZmxvd0luZm8udGVtcGxhdGVzLkdVSURFRF9TRUxMSU5HO1xuICAgIGlmICghdGVtcGxhdGUpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFRlbXBsYXRlUm9vdENvbXBvbmVudCQodGVtcGxhdGUpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoY29tcG9uZW50cyA9PlxuICAgICAgICBjb21wb25lbnRzXG4gICAgICAgICAgPyBmb3JrSm9pbihbXG4gICAgICAgICAgICAgIC4uLmNvbXBvbmVudHMubWFwKGNvbXBvbmVudCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzQXBpLmZldGNoQ29tcG9uZW50QXR0YWNobWVudHMkKGNvbXBvbmVudC51aVRlbXBsYXRlSWQsIGNvbXBvbmVudCk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSlcbiAgICAgICAgICA6IG9mKHVuZGVmaW5lZCksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVUlEZWZpbml0aW9uJCgpOiBPYnNlcnZhYmxlPFVJRGVmaW5pdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBvZih1bmRlZmluZWQpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMudGVtcGxhdGVBcGlOYW1lKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmxvdyBRdWVyeSBwYXJhbWV0ZXIgJ2d1aWRlZFNlbGxpbmdUZW1wbGF0ZUFwaU5hbWUnIGlzIG1pc3NpbmcuXCIpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmdldExvY2FsVGVtcGxhdGVDb21wb25lbnRNZXRhJCgpKSxcbiAgICAgIHN3aXRjaE1hcChjaGlsZHJlbiA9PiAoY2hpbGRyZW4gPyBvZihjaGlsZHJlbikgOiB0aGlzLmdldEd1aWRlZFNlbGxpbmdDb21wb25lbnRNZXRhJCgpKSksXG4gICAgICBtYXAoY2hpbGRyZW4gPT4ge1xuICAgICAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdWlEZWY6IFVJRGVmaW5pdGlvbiA9IHtcbiAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICBjcmVhdGVkVGltZXN0YW1wOiAwLFxuICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgdHlwZTogJ0RFRkFVTFQnLFxuICAgICAgICAgIHZlcnNpb246IDIsXG4gICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLm1hcChjaGlsZCA9PiAoe1xuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgdGVtcGxhdGU6IGNoaWxkLmh0bWwgJiYgYnRvYVNhZmUoY2hpbGQuaHRtbCksXG4gICAgICAgICAgICBzY3JpcHQ6IGNoaWxkLmpzICYmIGJ0b2FTYWZlKGNoaWxkLmpzKSxcbiAgICAgICAgICAgIHN0eWxlczogY2hpbGQuY3NzICYmIGJ0b2FTYWZlKGNoaWxkLmNzcyksXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB1aURlZjtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ1aURlZmluaXRpb24kIHwgYXN5bmMgYXMgdWlEZWZpbml0aW9uXCI+XG4gIDx2bC1jbXMtcHJldmlldyBbdWlEZWZpbml0aW9uXT1cInVpRGVmaW5pdGlvblwiPjwvdmwtY21zLXByZXZpZXc+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXNlbGxpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZ3VpZGVkLXNlbGxpbmcvZ3VpZGVkLXNlbGxpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZ3VpZGVkLXNlbGxpbmcvZ3VpZGVkLXNlbGxpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBcUIsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEgsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBRUgsRUFBRSxFQUNGLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVFkLE1BQU0sT0FBTyxzQkFBc0I7SUFNakMsWUFDVSxZQUFtQyxFQUNuQyxnQkFBa0MsRUFDbEMsUUFBeUIsRUFDekIsWUFBMEIsRUFDYyxvQkFBd0M7UUFKaEYsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBQ25DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsaUJBQVksR0FBWixZQUFZLENB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QkFDdkMsQ0FBQyxDQUFDO2FBQ0osQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O21IQWpIVSxzQkFBc0Isa0pBV1gsa0JBQWtCO3VHQVg3QixzQkFBc0IsOERDMUJuQyx3SkFHQTsyRkR1QmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTs7MEJBYTVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVRlbXBsYXRlc0FwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGknO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlLCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IENvbXBvbmVudEF0dGFjaG1lbnRzLCBVSURlZmluaXRpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGJ0b2FTYWZlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2Ntcyc7XG5pbXBvcnQgeyBGbG93Q3VzdG9taXphdGlvbiwgRmxvd0luZm9TZXJ2aWNlLCBGbG93U3RhdGVTZXJ2aWNlLCBGTE9XX0NVU1RPTUlaQVRJT04gfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGZpbHRlcixcbiAgZmlyc3QsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1mbG93LWd1aWRlZC1zZWxsaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2d1aWRlZC1zZWxsaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3VpZGVkLXNlbGxpbmcuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEd1aWRlZFNlbGxpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgdWlEZWZpbml0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VUlEZWZpbml0aW9uIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSB0ZW1wbGF0ZUFwaU5hbWUgPSAnJztcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZXNBcGk6IFVJVGVtcGxhdGVzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dTdGF0ZVNlcnZpY2U6IEZsb3dTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93SW5mbzogRmxvd0luZm9TZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGTE9XX0NVU1RPTUlaQVRJT04pIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U/OiBGbG93Q3VzdG9taXphdGlvbixcbiAgKSB7XG4gICAgLy8gd2FpdCB1bnRpbCBmbG93IGlzIGluaXRpYWxpemVkXG4gICAgdGhpcy5mbG93U3RhdGVTZXJ2aWNlXG4gICAgICAuaXNJbml0aWFsaXplZCQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuaW5pdGlhbGl6ZSgpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRlbXBsYXRlQXBpTmFtZSA9IHRoaXMuZmxvd0luZm8uZmxvdz8ucHJvcGVydGllcy50ZW1wbGF0ZXMuZ3VpZGVkU2VsbGluZyA/PyAnJztcblxuICAgIHRoaXMuZ2VuZXJhdGVVSURlZmluaXRpb24kKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAodWlEZWYgPT4ge1xuICAgICAgICAgIGlmICghdWlEZWYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29tcG9uZW50IHdpdGggbmFtZSAnJHt0aGlzLnRlbXBsYXRlQXBpTmFtZX0nIG5vdCBmb3VuZC5gKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnVpRGVmaW5pdGlvbiQubmV4dCh1aURlZik7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdGYWlsZWQgdG8gcmVzb2x2ZSBHdWlkZWQgU2VsbGluZyBjb21wb25lbnQuICcgKyAoZXJyLm1lc3NhZ2UgPz8gJycpO1xuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiBUb2FzdFR5cGUuZXJyb3IsIHN1bW1hcnk6IG1lc3NhZ2UsIHN0aWNreTogdHJ1ZSB9KTtcbiAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TG9jYWxNZXRhJCgpOiBPYnNlcnZhYmxlPENvbXBvbmVudEF0dGFjaG1lbnRzW10gfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuY3VzdG9taXphdGlvblNlcnZpY2U/LmdldFRlbXBsYXRlQ29tcG9uZW50cykge1xuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2U/LmdldFRlbXBsYXRlQ29tcG9uZW50cyh0aGlzLnRlbXBsYXRlQXBpTmFtZSkucGlwZShcbiAgICAgIG1hcChjb21wb25lbnRzID0+IHtcbiAgICAgICAgaWYgKCFjb21wb25lbnRzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudHMubWFwPENvbXBvbmVudEF0dGFjaG1lbnRzPihjb21wb25lbnQgPT4gKHtcbiAgICAgICAgICBodG1sOiBjb21wb25lbnQuaHRtbCxcbiAgICAgICAgICBjc3M6IGNvbXBvbmVudC5jc3MsXG4gICAgICAgICAganM6IGNvbXBvbmVudC5qcyxcbiAgICAgICAgICBqc29uOiBjb21wb25lbnQuanNvbixcbiAgICAgICAgfSkpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3JnTWV0YSQoKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50c1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLmZsb3dJbmZvLnRlbXBsYXRlcy5HVUlERURfU0VMTElORztcbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXNBcGkuZmV0Y2hDb21wb25lbnRzQXR0YWNobWVudHMkKHRlbXBsYXRlLmlkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVVSURlZmluaXRpb24kKCk6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZUFwaU5hbWUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGbG93ICdndWlkZWRTZWxsaW5nJyB0ZW1wbGF0ZSBpcyBub3QgZGVmaW5lZC5cIik7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZ2V0TG9jYWxNZXRhJCgpKSxcbiAgICAgIHN3aXRjaE1hcChtZXRhTGlzdCA9PiAobWV0YUxpc3QgPyBvZihtZXRhTGlzdCkgOiB0aGlzLmdldE9yZ01ldGEkKCkpKSxcbiAgICAgIG1hcChtZXRhTGlzdCA9PiB7XG4gICAgICAgIGlmICghbWV0YUxpc3QpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB1aURlZjogVUlEZWZpbml0aW9uID0ge1xuICAgICAgICAgIG5hbWU6ICcnLFxuICAgICAgICAgIGNyZWF0ZWRUaW1lc3RhbXA6IDAsXG4gICAgICAgICAgcHJpbWFyeTogdHJ1ZSxcbiAgICAgICAgICB0eXBlOiAnREVGQVVMVCcsXG4gICAgICAgICAgdmVyc2lvbjogMixcbiAgICAgICAgICBjaGlsZHJlbjogbWV0YUxpc3QubWFwKG1ldGEgPT4gKHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgIHRlbXBsYXRlOiBtZXRhLmh0bWwgJiYgYnRvYVNhZmUobWV0YS5odG1sKSxcbiAgICAgICAgICAgIHNjcmlwdDogbWV0YS5qcyAmJiBidG9hU2FmZShtZXRhLmpzKSxcbiAgICAgICAgICAgIHN0eWxlczogbWV0YS5jc3MgJiYgYnRvYVNhZmUobWV0YS5jc3MpLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdWlEZWY7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidWlEZWZpbml0aW9uJCB8IGFzeW5jIGFzIHVpRGVmaW5pdGlvblwiPlxuICA8dmwtY21zLXByZXZpZXcgW3VpRGVmaW5pdGlvbl09XCJ1aURlZmluaXRpb25cIj48L3ZsLWNtcy1wcmV2aWV3PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
@@ -1,10 +1,9 @@
|
|
1
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Optional, } from '@angular/core';
|
2
2
|
import { UITemplatesApiService } from '@veloceapps/api';
|
3
3
|
import { ToastService, ToastType } from '@veloceapps/components';
|
4
|
-
import {
|
5
|
-
import { FlowInfoService } from '@veloceapps/sdk/core';
|
4
|
+
import { btoaSafe } from '@veloceapps/sdk/cms';
|
5
|
+
import { FlowInfoService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';
|
6
6
|
import { BehaviorSubject, catchError, map, of, Subject, switchMap, takeUntil, tap } from 'rxjs';
|
7
|
-
import { FLOW_CUSTOMIZATION } from '../../types';
|
8
7
|
import * as i0 from "@angular/core";
|
9
8
|
import * as i1 from "@veloceapps/api";
|
10
9
|
import * as i2 from "@veloceapps/components";
|
@@ -45,42 +44,36 @@ export class AssetsComponent {
|
|
45
44
|
this.destroyed$.next();
|
46
45
|
this.destroyed$.complete();
|
47
46
|
}
|
48
|
-
|
49
|
-
|
50
|
-
.fetchComponents$(template.id)
|
51
|
-
.pipe(map(components => components.find(c => c.type === UITemplateComponentType.ROOT) ?? undefined));
|
52
|
-
}
|
53
|
-
getLocalAssetsComponentMeta$() {
|
54
|
-
if (!this.customizationService?.getAssetsComponent) {
|
47
|
+
getLocalMeta$() {
|
48
|
+
if (!this.customizationService?.getTemplateComponents) {
|
55
49
|
return of(undefined);
|
56
50
|
}
|
57
|
-
return this.customizationService?.
|
58
|
-
if (!
|
51
|
+
return this.customizationService?.getTemplateComponents(this.templateApiName).pipe(map(components => {
|
52
|
+
if (!components) {
|
59
53
|
return;
|
60
54
|
}
|
61
|
-
return {
|
55
|
+
return components.map(component => ({
|
62
56
|
html: component.html,
|
63
57
|
css: component.css,
|
64
58
|
js: component.js,
|
65
59
|
json: component.json,
|
66
|
-
};
|
60
|
+
}));
|
67
61
|
}));
|
68
62
|
}
|
69
|
-
|
70
|
-
// No Assets template at the moment
|
63
|
+
getOrgMeta$() {
|
71
64
|
const template = this.flowInfo.templates.SHOPPING_CART;
|
72
65
|
if (!template) {
|
73
66
|
return of(undefined);
|
74
67
|
}
|
75
|
-
return this.
|
68
|
+
return this.templatesApi.fetchComponentsAttachments$(template.id);
|
76
69
|
}
|
77
70
|
generateUIDefinition$() {
|
78
71
|
return of(undefined).pipe(tap(() => {
|
79
72
|
if (!this.templateApiName) {
|
80
|
-
throw new Error("Flow
|
73
|
+
throw new Error("Flow 'assets' template is not defined.");
|
81
74
|
}
|
82
|
-
}), switchMap(() => this.
|
83
|
-
if (!
|
75
|
+
}), switchMap(() => this.getLocalMeta$()), switchMap(metaList => (metaList ? of(metaList) : this.getOrgMeta$())), map(metaList => {
|
76
|
+
if (!metaList) {
|
84
77
|
return;
|
85
78
|
}
|
86
79
|
const uiDef = {
|
@@ -89,14 +82,12 @@ export class AssetsComponent {
|
|
89
82
|
primary: true,
|
90
83
|
type: 'DEFAULT',
|
91
84
|
version: 2,
|
92
|
-
children:
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
},
|
99
|
-
],
|
85
|
+
children: metaList.map(meta => ({
|
86
|
+
children: [],
|
87
|
+
template: meta.html && btoaSafe(meta.html),
|
88
|
+
script: meta.js && btoaSafe(meta.js),
|
89
|
+
styles: meta.css && btoaSafe(meta.css),
|
90
|
+
})),
|
100
91
|
};
|
101
92
|
return uiDef;
|
102
93
|
}));
|
@@ -113,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
113
104
|
type: Inject,
|
114
105
|
args: [FLOW_CUSTOMIZATION]
|
115
106
|
}] }]; } });
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9hc3NldHMvYXNzZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9hc3NldHMvYXNzZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBR04sUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxFQUtMLHVCQUF1QixHQUN4QixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RyxPQUFPLEVBQXFCLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBYXBFLE1BQU0sT0FBTyxlQUFlO0lBTzFCLFlBQ1UsWUFBbUMsRUFDbkMsR0FBc0IsRUFDdEIsWUFBMEIsRUFDMUIsUUFBeUIsRUFDZSxvQkFBd0M7UUFKaEYsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ2UseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFvQjtRQVhuRixp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QUNULE9BQU87YUFDUjtZQUVELE1BQU0sS0FBSyxHQUFpQjtnQkFDMUIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsUUFBUSxFQUFFO29CQUNSO3dCQUNFLFFBQVEsRUFBRSxFQUFFO3dCQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO3dCQUN0QyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzt3QkFDaEMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7cUJBQ25DO2lCQUNGO2FBQ0YsQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OzRHQXhIVSxlQUFlLG1KQVlKLGtCQUFrQjtnR0FaN0IsZUFBZSxzRENqQzVCLHdWQVNBOzJGRHdCYSxlQUFlO2tCQU4zQixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzswQkFjNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVUlUZW1wbGF0ZXNBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSwgVG9hc3RUeXBlIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBDb21wb25lbnRBdHRhY2htZW50cyxcbiAgVGVtcGxhdGVDb21wb25lbnQsXG4gIFVJRGVmaW5pdGlvbixcbiAgVUlUZW1wbGF0ZSxcbiAgVUlUZW1wbGF0ZUNvbXBvbmVudFR5cGUsXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRmxvd0luZm9TZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjYXRjaEVycm9yLCBtYXAsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGbG93Q3VzdG9taXphdGlvbiwgRkxPV19DVVNUT01JWkFUSU9OIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1mbG93LWFzc2V0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NldHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc3NldHMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFzc2V0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbiA9IHVuZGVmaW5lZDtcbiAgcHVibGljIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RhdGU+KHsgbG9hZGluZzogdHJ1ZSwgZmFpbHVyZTogZmFsc2UgfSk7XG5cbiAgcHJpdmF0ZSB0ZW1wbGF0ZUFwaU5hbWUgPSAnJztcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlc0FwaTogVUlUZW1wbGF0ZXNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0luZm86IEZsb3dJbmZvU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZMT1dfQ1VTVE9NSVpBVElPTikgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZT86IEZsb3dDdXN0b21pemF0aW9uLFxuICApIHtcbiAgICB0aGlzLnRlbXBsYXRlQXBpTmFtZSA9IHRoaXMuZmxvd0luZm8uZmxvdz8ucHJvcGVydGllcy50ZW1wbGF0ZXMuYXNzZXRzID8/ICcnO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2VuZXJhdGVVSURlZmluaXRpb24kKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAodWlEZWYgPT4ge1xuICAgICAgICAgIGlmICghdWlEZWYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29tcG9uZW50IHdpdGggbmFtZSAnJHt0aGlzLnRlbXBsYXRlQXBpTmFtZX0nIG5vdCBmb3VuZC5gKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnVpRGVmaW5pdGlvbiA9IHVpRGVmO1xuICAgICAgICAgIHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogZmFsc2UgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdGYWlsZWQgdG8gcmVzb2x2ZSBBc3NldHMgY29tcG9uZW50LiAnICsgKGVyci5tZXNzYWdlID8/ICcnKTtcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBtZXNzYWdlLCBzdGlja3k6IHRydWUgfSk7XG5cbiAgICAgICAgICB0aGlzLnVpRGVmaW5pdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IHRydWUgfSk7XG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUZW1wbGF0ZVJvb3RDb21wb25lbnQkKHRlbXBsYXRlOiBVSVRlbXBsYXRlKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZUNvbXBvbmVudCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlc0FwaVxuICAgICAgLmZldGNoQ29tcG9uZW50cyQodGVtcGxhdGUuaWQpXG4gICAgICAucGlwZShtYXAoY29tcG9uZW50cyA9PiBjb21wb25lbnRzLmZpbmQoYyA9PiBjLnR5cGUgPT09IFVJVGVtcGxhdGVDb21wb25lbnRUeXBlLlJPT1QpID8/IHVuZGVmaW5lZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbEFzc2V0c0NvbXBvbmVudE1ldGEkKCk6IE9ic2VydmFibGU8Q29tcG9uZW50QXR0YWNobWVudHMgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuY3VzdG9taXphdGlvblNlcnZpY2U/LmdldEFzc2V0c0NvbXBvbmVudCkge1xuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2U/LmdldEFzc2V0c0NvbXBvbmVudCh0aGlzLnRlbXBsYXRlQXBpTmFtZSkucGlwZShcbiAgICAgIG1hcChjb21wb25lbnQgPT4ge1xuICAgICAgICBpZiAoIWNvbXBvbmVudCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiA8Q29tcG9uZW50QXR0YWNobWVudHM+e1xuICAgICAgICAgIGh0bWw6IGNvbXBvbmVudC5odG1sLFxuICAgICAgICAgIGNzczogY29tcG9uZW50LmNzcyxcbiAgICAgICAgICBqczogY29tcG9uZW50LmpzLFxuICAgICAgICAgIGpzb246IGNvbXBvbmVudC5qc29uLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXNzZXRzQ29tcG9uZW50TWV0YSQoKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50cyB8IHVuZGVmaW5lZD4ge1xuICAgIC8vIE5vIEFzc2V0cyB0ZW1wbGF0ZSBhdCB0aGUgbW9tZW50XG4gICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLmZsb3dJbmZvLnRlbXBsYXRlcy5TSE9QUElOR19DQVJUO1xuICAgIGlmICghdGVtcGxhdGUpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFRlbXBsYXRlUm9vdENvbXBvbmVudCQodGVtcGxhdGUpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoY29tcG9uZW50ID0+XG4gICAgICAgIGNvbXBvbmVudCA/IHRoaXMudGVtcGxhdGVzQXBpLmZldGNoQ29tcG9uZW50QXR0YWNobWVudHMkKGNvbXBvbmVudC51aVRlbXBsYXRlSWQsIGNvbXBvbmVudCkgOiBvZih1bmRlZmluZWQpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVVJRGVmaW5pdGlvbiQoKTogT2JzZXJ2YWJsZTxVSURlZmluaXRpb24gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBsYXRlQXBpTmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZsb3cgUXVlcnkgcGFyYW1ldGVyICdhc3NldHNUZW1wbGF0ZUFwaU5hbWUnIGlzIG1pc3NpbmcuXCIpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmdldExvY2FsQXNzZXRzQ29tcG9uZW50TWV0YSQoKSksXG4gICAgICBzd2l0Y2hNYXAobWV0YSA9PiAobWV0YSA/IG9mKG1ldGEpIDogdGhpcy5nZXRBc3NldHNDb21wb25lbnRNZXRhJCgpKSksXG4gICAgICBtYXAobWV0YSA9PiB7XG4gICAgICAgIGlmICghbWV0YSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVpRGVmOiBVSURlZmluaXRpb24gPSB7XG4gICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgY3JlYXRlZFRpbWVzdGFtcDogMCxcbiAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIHR5cGU6ICdERUZBVUxUJyxcbiAgICAgICAgICB2ZXJzaW9uOiAyLFxuICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICAgICAgdGVtcGxhdGU6IG1ldGEuaHRtbCAmJiBidG9hKG1ldGEuaHRtbCksXG4gICAgICAgICAgICAgIHNjcmlwdDogbWV0YS5qcyAmJiBidG9hKG1ldGEuanMpLFxuICAgICAgICAgICAgICBzdHlsZXM6IG1ldGEuY3NzICYmIGJ0b2EobWV0YS5jc3MpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB1aURlZjtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSQgfCBhc3luYyBhcyBzdGF0ZVwiPlxuICA8dmwtbG9hZGVyICpuZ0lmPVwic3RhdGUubG9hZGluZzsgZWxzZSBjb250ZW50XCIgW2xhYmVsXT1cIidMb2FkaW5nIFVJJ1wiPjwvdmwtbG9hZGVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXN0YXRlLmZhaWx1cmVcIj5cbiAgICAgIDx2bC1jbXMtcHJldmlldyBbdWlEZWZpbml0aW9uXT1cInVpRGVmaW5pdGlvblwiPjwvdmwtY21zLXByZXZpZXc+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9hc3NldHMvYXNzZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9hc3NldHMvYXNzZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBR04sUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBcUIsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFhNUcsTUFBTSxPQUFPLGVBQWU7SUFPMUIsWUFDVSxZQUFtQyxFQUNuQyxHQUFzQixFQUN0QixZQUEwQixFQUMxQixRQUF5QixFQUNlLG9CQUF3QztRQUpoRixpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDZSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQW9CO1FBWG5GLGlCQUFZLEdBQWtCLFNBQVMsQ0FBQztRQUN4QyxXQUFNLEdB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QyxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUN2QyxDQUFDLENBQUM7YUFDSixDQUFDO1lBRUYsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7NEdBM0dVLGVBQWUsbUpBWUosa0JBQWtCO2dHQVo3QixlQUFlLHNEQzNCNUIsd1ZBU0E7MkZEa0JhLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07OzBCQWM1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVRlbXBsYXRlc0FwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGknO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlLCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IENvbXBvbmVudEF0dGFjaG1lbnRzLCBVSURlZmluaXRpb24gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGJ0b2FTYWZlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2Ntcyc7XG5pbXBvcnQgeyBGbG93Q3VzdG9taXphdGlvbiwgRmxvd0luZm9TZXJ2aWNlLCBGTE9XX0NVU1RPTUlaQVRJT04gfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNhdGNoRXJyb3IsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW50ZXJmYWNlIFN0YXRlIHtcbiAgbG9hZGluZzogYm9vbGVhbjtcbiAgZmFpbHVyZTogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZmxvdy1hc3NldHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXNzZXRzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBc3NldHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyB1aURlZmluaXRpb24/OiBVSURlZmluaXRpb24gPSB1bmRlZmluZWQ7XG4gIHB1YmxpYyBzdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0YXRlPih7IGxvYWRpbmc6IHRydWUsIGZhaWx1cmU6IGZhbHNlIH0pO1xuXG4gIHByaXZhdGUgdGVtcGxhdGVBcGlOYW1lID0gJyc7XG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZXNBcGk6IFVJVGVtcGxhdGVzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dJbmZvOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGTE9XX0NVU1RPTUlaQVRJT04pIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U/OiBGbG93Q3VzdG9taXphdGlvbixcbiAgKSB7XG4gICAgdGhpcy50ZW1wbGF0ZUFwaU5hbWUgPSB0aGlzLmZsb3dJbmZvLmZsb3c/LnByb3BlcnRpZXMudGVtcGxhdGVzLmFzc2V0cyA/PyAnJztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRlVUlEZWZpbml0aW9uJCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHVpRGVmID0+IHtcbiAgICAgICAgICBpZiAoIXVpRGVmKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbXBvbmVudCB3aXRoIG5hbWUgJyR7dGhpcy50ZW1wbGF0ZUFwaU5hbWV9JyBub3QgZm91bmQuYCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy51aURlZmluaXRpb24gPSB1aURlZjtcbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnRmFpbGVkIHRvIHJlc29sdmUgQXNzZXRzIGNvbXBvbmVudC4gJyArIChlcnIubWVzc2FnZSA/PyAnJyk7XG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6IFRvYXN0VHlwZS5lcnJvciwgc3VtbWFyeTogbWVzc2FnZSwgc3RpY2t5OiB0cnVlIH0pO1xuXG4gICAgICAgICAgdGhpcy51aURlZmluaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TG9jYWxNZXRhJCgpOiBPYnNlcnZhYmxlPENvbXBvbmVudEF0dGFjaG1lbnRzW10gfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuY3VzdG9taXphdGlvblNlcnZpY2U/LmdldFRlbXBsYXRlQ29tcG9uZW50cykge1xuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2U/LmdldFRlbXBsYXRlQ29tcG9uZW50cyh0aGlzLnRlbXBsYXRlQXBpTmFtZSkucGlwZShcbiAgICAgIG1hcChjb21wb25lbnRzID0+IHtcbiAgICAgICAgaWYgKCFjb21wb25lbnRzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudHMubWFwPENvbXBvbmVudEF0dGFjaG1lbnRzPihjb21wb25lbnQgPT4gKHtcbiAgICAgICAgICBodG1sOiBjb21wb25lbnQuaHRtbCxcbiAgICAgICAgICBjc3M6IGNvbXBvbmVudC5jc3MsXG4gICAgICAgICAganM6IGNvbXBvbmVudC5qcyxcbiAgICAgICAgICBqc29uOiBjb21wb25lbnQuanNvbixcbiAgICAgICAgfSkpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3JnTWV0YSQoKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50c1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLmZsb3dJbmZvLnRlbXBsYXRlcy5TSE9QUElOR19DQVJUO1xuICAgIGlmICghdGVtcGxhdGUpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlc0FwaS5mZXRjaENvbXBvbmVudHNBdHRhY2htZW50cyQodGVtcGxhdGUuaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVVJRGVmaW5pdGlvbiQoKTogT2JzZXJ2YWJsZTxVSURlZmluaXRpb24gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBsYXRlQXBpTmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZsb3cgJ2Fzc2V0cycgdGVtcGxhdGUgaXMgbm90IGRlZmluZWQuXCIpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmdldExvY2FsTWV0YSQoKSksXG4gICAgICBzd2l0Y2hNYXAobWV0YUxpc3QgPT4gKG1ldGFMaXN0ID8gb2YobWV0YUxpc3QpIDogdGhpcy5nZXRPcmdNZXRhJCgpKSksXG4gICAgICBtYXAobWV0YUxpc3QgPT4ge1xuICAgICAgICBpZiAoIW1ldGFMaXN0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdWlEZWY6IFVJRGVmaW5pdGlvbiA9IHtcbiAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICBjcmVhdGVkVGltZXN0YW1wOiAwLFxuICAgICAgICAgIHByaW1hcnk6IHRydWUsXG4gICAgICAgICAgdHlwZTogJ0RFRkFVTFQnLFxuICAgICAgICAgIHZlcnNpb246IDIsXG4gICAgICAgICAgY2hpbGRyZW46IG1ldGFMaXN0Lm1hcChtZXRhID0+ICh7XG4gICAgICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgICAgICB0ZW1wbGF0ZTogbWV0YS5odG1sICYmIGJ0b2FTYWZlKG1ldGEuaHRtbCksXG4gICAgICAgICAgICBzY3JpcHQ6IG1ldGEuanMgJiYgYnRvYVNhZmUobWV0YS5qcyksXG4gICAgICAgICAgICBzdHlsZXM6IG1ldGEuY3NzICYmIGJ0b2FTYWZlKG1ldGEuY3NzKSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHVpRGVmO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlJCB8IGFzeW5jIGFzIHN0YXRlXCI+XG4gIDx2bC1sb2FkZXIgKm5nSWY9XCJzdGF0ZS5sb2FkaW5nOyBlbHNlIGNvbnRlbnRcIiBbbGFiZWxdPVwiJ0xvYWRpbmcgVUknXCI+PC92bC1sb2FkZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3RhdGUuZmFpbHVyZVwiPlxuICAgICAgPHZsLWNtcy1wcmV2aWV3IFt1aURlZmluaXRpb25dPVwidWlEZWZpbml0aW9uXCI+PC92bC1jbXMtcHJldmlldz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
|