@pega/angular-sdk-components 0.242.4 → 0.242.6
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/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +3 -10
- package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +27 -13
- package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +30 -13
- package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +10 -37
- package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +2 -2
- package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +2 -8
- package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +75 -47
- package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +30 -10
- package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +3 -13
- package/esm2022/lib/_components/infra/view/view.component.mjs +15 -2
- package/esm2022/lib/_components/template/base/details-template-base.mjs +56 -0
- package/esm2022/lib/_components/template/base/form-template-base.mjs +16 -0
- package/esm2022/lib/_components/template/case-view/case-view.component.mjs +9 -14
- package/esm2022/lib/_components/template/default-form/default-form.component.mjs +35 -10
- package/esm2022/lib/_components/template/details/details.component.mjs +9 -36
- package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +9 -36
- package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +9 -38
- package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +12 -39
- package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +9 -38
- package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +9 -38
- package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +9 -38
- package/esm2022/lib/_components/template/one-column/one-column.component.mjs +3 -3
- package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +7 -6
- package/esm2022/lib/_components/template/three-column/three-column.component.mjs +3 -3
- package/esm2022/lib/_components/template/two-column/two-column.component.mjs +3 -3
- package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +3 -3
- package/esm2022/lib/_components/widget/todo/todo.component.mjs +3 -3
- package/esm2022/lib/_services/banner.service.mjs +35 -0
- package/esm2022/lib/_services/endpoints.mjs +1 -2
- package/esm2022/lib/_services/idle-detection.service.mjs +26 -0
- package/esm2022/public-api.mjs +5 -2
- package/fesm2022/pega-angular-sdk-components.mjs +431 -458
- package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
- package/lib/_components/field/dropdown/dropdown.component.d.ts +1 -1
- package/lib/_components/field/user-reference/user-reference.component.d.ts +5 -0
- package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +0 -1
- package/lib/_components/infra/Containers/flow-container/helpers.d.ts +1 -0
- package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +1 -2
- package/lib/_components/infra/assignment/assignment.component.d.ts +6 -3
- package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +10 -2
- package/lib/_components/infra/root-container/root-container.component.d.ts +0 -1
- package/lib/_components/template/base/details-template-base.d.ts +22 -0
- package/lib/_components/template/base/form-template-base.d.ts +10 -0
- package/lib/_components/template/case-view/case-view.component.d.ts +1 -2
- package/lib/_components/template/default-form/default-form.component.d.ts +9 -4
- package/lib/_components/template/details/details.component.d.ts +3 -11
- package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +3 -11
- package/lib/_components/template/details-one-column/details-one-column.component.d.ts +3 -13
- package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +3 -13
- package/lib/_components/template/details-three-column/details-three-column.component.d.ts +3 -13
- package/lib/_components/template/details-two-column/details-two-column.component.d.ts +3 -13
- package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +3 -13
- package/lib/_components/template/one-column/one-column.component.d.ts +2 -2
- package/lib/_components/template/simple-table-manual/helpers.d.ts +1 -0
- package/lib/_components/template/three-column/three-column.component.d.ts +2 -2
- package/lib/_components/template/two-column/two-column.component.d.ts +2 -2
- package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +2 -2
- package/lib/_services/banner.service.d.ts +8 -0
- package/lib/_services/endpoints.d.ts +0 -1
- package/lib/_services/idle-detection.service.d.ts +9 -0
- package/lib/doc/KeyReleaseUpdates.md +23 -6
- package/package.json +1 -1
- package/public-api.d.ts +4 -1
- package/esm2022/lib/_components/template/form-template-base/form-template-base.component.mjs +0 -13
- package/lib/_components/template/form-template-base/form-template-base.component.d.ts +0 -8
|
@@ -88,16 +88,6 @@ export class RootContainerComponent {
|
|
|
88
88
|
this.updateSelf();
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
modalVisibleChanged(isVisible) {
|
|
92
|
-
if (this.displayOnlyFA$) {
|
|
93
|
-
if (isVisible) {
|
|
94
|
-
this.bShowRoot$ = false;
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
this.bShowRoot$ = true;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
91
|
updateSelf() {
|
|
102
92
|
// need to call this.getCurrentCompleteProps (not this.thePConn.getConfigProps)
|
|
103
93
|
// to get full set of props that affect this component in Redux
|
|
@@ -206,7 +196,7 @@ export class RootContainerComponent {
|
|
|
206
196
|
}
|
|
207
197
|
}
|
|
208
198
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RootContainerComponent, deps: [{ token: i1.AngularPConnectService }, { token: i2.ProgressSpinnerService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
209
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RootContainerComponent, isStandalone: true, selector: "app-root-container", inputs: { pConn$: "pConn$", displayOnlyFA$: "displayOnlyFA$", isMashup$: "isMashup$" }, ngImport: i0, template: "<div class=\"progress-box\" *ngIf=\"bIsProgress$\">\n <mat-spinner class=\"progress-spinner\"></mat-spinner>\n</div>\n\n<div *ngIf=\"bShowRoot$\">\n <div [ngSwitch]=\"componentName$\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$, displayOnlyFA$ }\"></component-mapper>\n
|
|
199
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RootContainerComponent, isStandalone: true, selector: "app-root-container", inputs: { pConn$: "pConn$", displayOnlyFA$: "displayOnlyFA$", isMashup$: "isMashup$" }, ngImport: i0, template: "<div class=\"progress-box\" *ngIf=\"bIsProgress$\">\n <mat-spinner class=\"progress-spinner\"></mat-spinner>\n</div>\n\n<div *ngIf=\"bShowRoot$\">\n <div [ngSwitch]=\"componentName$\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$, displayOnlyFA$ }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'ViewContainer'\"\n name=\"ViewContainer\"\n [props]=\"{ pConn$: viewContainerPConn$, displayOnlyFA$ }\"\n ></component-mapper>\n <div *ngSwitchDefault>{{ localizedVal('RootContainer Missing: ' + componentName$, localeCategory) }}.</div>\n </div>\n</div>\n\n<div *ngIf=\"pvConn$ != null\">\n <app-preview-view-container [pConn$]=\"pvConn$\"></app-preview-view-container>\n</div>\n\n<div *ngIf=\"mConn$ != null\">\n <app-modal-view-container [pConn$]=\"mConn$\"></app-modal-view-container>\n</div>\n", styles: [".progress-box{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-background-color);position:fixed;z-index:99999;top:0rem;left:0rem;opacity:.5}.progress-spinner{text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitch), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchCase), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(() => i3.NgSwitchDefault), selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: i0.forwardRef(() => MatProgressSpinnerModule) }, { kind: "component", type: i0.forwardRef(() => i4.MatProgressSpinner), selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i0.forwardRef(() => ModalViewContainerComponent), selector: "app-modal-view-container", inputs: ["pConn$"], outputs: ["modalVisibleChange"] }, { kind: "component", type: i0.forwardRef(() => PreviewViewContainerComponent), selector: "app-preview-view-container", inputs: ["pConn$"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
|
|
210
200
|
}
|
|
211
201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RootContainerComponent, decorators: [{
|
|
212
202
|
type: Component,
|
|
@@ -217,7 +207,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
217
207
|
ModalViewContainerComponent,
|
|
218
208
|
PreviewViewContainerComponent,
|
|
219
209
|
forwardRef(() => ComponentMapperComponent)
|
|
220
|
-
], template: "<div class=\"progress-box\" *ngIf=\"bIsProgress$\">\n <mat-spinner class=\"progress-spinner\"></mat-spinner>\n</div>\n\n<div *ngIf=\"bShowRoot$\">\n <div [ngSwitch]=\"componentName$\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$, displayOnlyFA$ }\"></component-mapper>\n
|
|
210
|
+
], template: "<div class=\"progress-box\" *ngIf=\"bIsProgress$\">\n <mat-spinner class=\"progress-spinner\"></mat-spinner>\n</div>\n\n<div *ngIf=\"bShowRoot$\">\n <div [ngSwitch]=\"componentName$\">\n <component-mapper *ngSwitchCase=\"'View'\" name=\"View\" [props]=\"{ pConn$, displayOnlyFA$ }\"></component-mapper>\n <component-mapper\n *ngSwitchCase=\"'ViewContainer'\"\n name=\"ViewContainer\"\n [props]=\"{ pConn$: viewContainerPConn$, displayOnlyFA$ }\"\n ></component-mapper>\n <div *ngSwitchDefault>{{ localizedVal('RootContainer Missing: ' + componentName$, localeCategory) }}.</div>\n </div>\n</div>\n\n<div *ngIf=\"pvConn$ != null\">\n <app-preview-view-container [pConn$]=\"pvConn$\"></app-preview-view-container>\n</div>\n\n<div *ngIf=\"mConn$ != null\">\n <app-modal-view-container [pConn$]=\"mConn$\"></app-modal-view-container>\n</div>\n", styles: [".progress-box{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-background-color);position:fixed;z-index:99999;top:0rem;left:0rem;opacity:.5}.progress-spinner{text-align:center}\n"] }]
|
|
221
211
|
}], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i2.ProgressSpinnerService }, { type: i0.NgZone }], propDecorators: { pConn$: [{
|
|
222
212
|
type: Input
|
|
223
213
|
}], displayOnlyFA$: [{
|
|
@@ -225,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
225
215
|
}], isMashup$: [{
|
|
226
216
|
type: Input
|
|
227
217
|
}] } });
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2luZnJhL3Jvb3QtY29udGFpbmVyL3Jvb3QtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yb290LWNvbnRhaW5lci9yb290LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBVSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3RILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7QUFFeEc7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBZ0JuQyxNQUFNLE9BQU8sc0JBQXNCO0lBdUJqQyxZQUNVLGVBQXVDLEVBQ3ZDLFNBQWlDLEVBQ2pDLE1BQWM7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R2hDLHNCQUFzQjtrQkFkbEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FHbEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7cUJBQzNDO3FKQUdRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE5nWm9uZSwgZm9yd2FyZFJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbmd1bGFyUENvbm5lY3REYXRhLCBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9hbmd1bGFyLXBjb25uZWN0JztcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWVzc2FnZXMvcHJvZ3Jlc3Mtc3Bpbm5lci5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZmVyZW5jZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlZmVyZW5jZS9yZWZlcmVuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IFByZXZpZXdWaWV3Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vQ29udGFpbmVycy9wcmV2aWV3LXZpZXctY29udGFpbmVyL3ByZXZpZXctdmlldy1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsVmlld0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL0NvbnRhaW5lcnMvbW9kYWwtdmlldy1jb250YWluZXIvbW9kYWwtdmlldy1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEh5YnJpZFZpZXdDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9Db250YWluZXJzL2h5YnJpZC12aWV3LWNvbnRhaW5lci9oeWJyaWQtdmlldy1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvY29tcG9uZW50LW1hcHBlci9jb21wb25lbnQtbWFwcGVyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogV0FSTklORzogIEl0IGlzIG5vdCBleHBlY3RlZCB0aGF0IHRoaXMgZmlsZSBzaG91bGQgYmUgbW9kaWZpZWQuICBJdCBpcyBwYXJ0IG9mIGluZnJhc3RydWN0dXJlIGNvZGUgdGhhdCB3b3JrcyB3aXRoXG4gKiBSZWR1eCBhbmQgY3JlYXRpb24vdXBkYXRlIG9mIFJlZHV4IGNvbnRhaW5lcnMgYW5kIFBDb25uZWN0LiAgTW9kaWZ5aW5nIHRoaXMgY29kZSBjb3VsZCBoYXZlIHVuZGVzaXJlYWJsZSByZXN1bHRzIGFuZFxuICogaXMgdG90YWxseSBhdCB5b3VyIG93biByaXNrLlxuICovXG5cbmNvbnN0IG9wdGlvbnMgPSB7IGNvbnRleHQ6ICdhcHAnIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yb290LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yb290LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Jvb3QtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIEh5YnJpZFZpZXdDb250YWluZXJDb21wb25lbnQsXG4gICAgTW9kYWxWaWV3Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIFByZXZpZXdWaWV3Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJvb3RDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBkaXNwbGF5T25seUZBJDogYm9vbGVhbjtcbiAgQElucHV0KCkgaXNNYXNodXAkOiBib29sZWFuO1xuXG4gIC8vIEZvciBpbnRlcmFjdGlvbiB3aXRoIEFuZ3VsYXJQQ29ubmVjdFxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG5cbiAgY29tcG9uZW50TmFtZSQgPSAnJztcbiAgYklzUHJvZ3Jlc3MkID0gZmFsc2U7XG5cbiAgLy8gcHJldmlldyBhbmQgbW9kYWx2aWV3IHBDb25uXG4gIHB2Q29ubiQ6IGFueSA9IG51bGw7XG4gIG1Db25uJDogYW55ID0gbnVsbDtcblxuICBiU2hvd1Jvb3QkID0gdHJ1ZTtcblxuICBwcm9ncmVzc1NwaW5uZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgc3Bpbm5lclRpbWVyOiBhbnkgPSBudWxsO1xuICB2aWV3Q29udGFpbmVyUENvbm4kOiBhbnkgPSBudWxsO1xuICBsb2NhbGl6ZWRWYWw6IGFueTtcbiAgbG9jYWxlQ2F0ZWdvcnkgPSAnTWVzc2FnZXMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYW5ndWxhclBDb25uZWN0OiBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHNTZXJ2aWNlOiBQcm9ncmVzc1NwaW5uZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IG15Q29udGV4dCA9ICdhcHAnO1xuXG4gICAgY29uc3QgeyBjb250YWluZXJzIH0gPSBQQ29yZS5nZXRTdG9yZSgpLmdldFN0YXRlKCk7XG4gICAgY29uc3QgaXRlbXMgPSBPYmplY3Qua2V5cyhjb250YWluZXJzKS5maWx0ZXIoaXRlbSA9PiBpdGVtLmluY2x1ZGVzKCdyb290JykpO1xuXG4gICAgUENvcmUuZ2V0Q29udGFpbmVyVXRpbHMoKS5nZXRDb250YWluZXJBUEkoKS5hZGRDb250YWluZXJJdGVtcyhpdGVtcyk7XG5cbiAgICAvLyBhZGQgcHJldmlldyBhbmQgbW9kYWx2aWV3IGNvbnRhaW5lcnMgdG8gcmVkdXhcbiAgICAvLyBrZWVwIGxvY2FsIGNvcGllcyBvZiB0aGUgdGhlIHBDb25uZWN0IHRoYXQgaXMgcmVsYXRlZFxuXG4gICAgY29uc3QgY29uZmlnT2JqUHJldmlldyA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KHtcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgdHlwZTogJ1ByZXZpZXdWaWV3Q29udGFpbmVyJyxcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgbmFtZTogJ3ByZXZpZXcnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvcHRpb25zXG4gICAgfSk7XG5cbiAgICB0aGlzLnB2Q29ubiQgPSBjb25maWdPYmpQcmV2aWV3LmdldFBDb25uZWN0KCk7XG5cbiAgICBjb25zdCBjb25maWdPYmpNb2RhbCA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KHtcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgdHlwZTogJ01vZGFsVmlld0NvbnRhaW5lcicsXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIG5hbWU6ICdtb2RhbCdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgcGFnZVJlZmVyZW5jZTogJ3B5UG9ydGFsJyxcbiAgICAgICAgY29udGV4dDogbXlDb250ZXh0XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBjbGVhciBvdXQgaGFzVmlld0NvbnRhaW5lclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2hhc1ZpZXdDb250YWluZXInLCAnZmFsc2UnKTtcblxuICAgIHRoaXMubUNvbm4kID0gY29uZmlnT2JqTW9kYWwuZ2V0UENvbm5lY3QoKTtcblxuICAgIC8vIEZpcnN0IHRoaW5nIGluIGluaXRpYWxpemF0aW9uIGlzIHJlZ2lzdGVyaW5nIGFuZCBzdWJzY3JpYmluZyB0byB0aGUgQW5ndWxhclBDb25uZWN0IHNlcnZpY2VcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5yZWdpc3RlckFuZFN1YnNjcmliZUNvbXBvbmVudCh0aGlzLCB0aGlzLm9uU3RhdGVDaGFuZ2UpO1xuXG4gICAgLy8gaGFuZGxlIHNob3dpbmcgYW5kIGhpZGluZyB0aGUgcHJvZ3Jlc3Mgc3Bpbm5lclxuICAgIHRoaXMucHJvZ3Jlc3NTcGlubmVyU3Vic2NyaXB0aW9uID0gdGhpcy5wc1NlcnZpY2UuZ2V0TWVzc2FnZSgpLnN1YnNjcmliZShtZXNzYWdlID0+IHtcbiAgICAgIHRoaXMuc2hvd0hpZGVQcm9ncmVzcyhtZXNzYWdlLnNob3cpO1xuICAgIH0pO1xuICAgIHRoaXMubG9jYWxpemVkVmFsID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKS5nZXRMb2NhbGVWYWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICAvLyBDYWxsYmFjayBwYXNzZWQgd2hlbiBzdWJzY3JpYmluZyB0byBzdG9yZSBjaGFuZ2VcbiAgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGNoZWNrIHRoZSBicmlkZ2UgdG8gc2VlIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgbW9kYWxWaXNpYmxlQ2hhbmdlZChpc1Zpc2libGUpIHtcbiAgICBpZiAodGhpcy5kaXNwbGF5T25seUZBJCkge1xuICAgICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICB0aGlzLmJTaG93Um9vdCQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYlNob3dSb290JCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU2VsZigpIHtcbiAgICAvLyBuZWVkIHRvIGNhbGwgdGhpcy5nZXRDdXJyZW50Q29tcGxldGVQcm9wcyAobm90IHRoaXMudGhlUENvbm4uZ2V0Q29uZmlnUHJvcHMpXG4gICAgLy8gIHRvIGdldCBmdWxsIHNldCBvZiBwcm9wcyB0aGF0IGFmZmVjdCB0aGlzIGNvbXBvbmVudCBpbiBSZWR1eFxuICAgIGNvbnN0IG15UHJvcHM6IGFueSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LmdldEN1cnJlbnRDb21wbGV0ZVByb3BzKHRoaXMpO1xuXG4gICAgY29uc3QgcmVuZGVyaW5nTW9kZXMgPSBbJ3BvcnRhbCcsICd2aWV3J107XG4gICAgY29uc3Qgbm9Qb3J0YWxNb2RlID0gJ25vUG9ydGFsJztcblxuICAgIGNvbnN0IHsgcmVuZGVyaW5nTW9kZSwgY2hpbGRyZW4sIHNrZWxldG9uLCByb3V0aW5nSW5mbyB9ID0gbXlQcm9wcztcblxuICAgIGlmIChyb3V0aW5nSW5mbyAmJiByZW5kZXJpbmdNb2Rlcy5pbmNsdWRlcyhyZW5kZXJpbmdNb2RlKSkge1xuICAgICAgY29uc3QgeyBhY2Nlc3NlZE9yZGVyLCBpdGVtcyB9ID0gcm91dGluZ0luZm87XG4gICAgICBpZiAoYWNjZXNzZWRPcmRlciAmJiBpdGVtcykge1xuICAgICAgICAvLyBib290c3RyYXAgbG9hZFBvcnRhbCByZXNvbHZlcyB0byBoZXJlXG4gICAgICAgIGNvbnN0IGtleSA9IGFjY2Vzc2VkT3JkZXJbYWNjZXNzZWRPcmRlci5sZW5ndGggLSAxXTtcbiAgICAgICAgaWYgKGl0ZW1zW2tleV0gJiYgaXRlbXNba2V5XS52aWV3ICYmIE9iamVjdC5rZXlzKGl0ZW1zW2tleV0udmlldykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IGl0ZW1WaWV3ID0gaXRlbXNba2V5XS52aWV3O1xuXG4gICAgICAgICAgY29uc3Qgcm9vdE9iamVjdCA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KHtcbiAgICAgICAgICAgIG1ldGE6IGl0ZW1WaWV3LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBjb250ZXh0OiBpdGVtc1trZXldLmNvbnRleHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgLy8gbWFrZXMgc3VyZSBBbmd1bGFyIHRyYWNrcyB0aGVzZSBjaGFuZ2VzXG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAvLyB0aGUgbmV3IHJvb3RPYmplY3QgbWF5IGJlIGEgJ3JlZmVyZW5jZScuIFNvLFxuICAgICAgICAgICAgICAvLyAgbm9ybWFsaXplIGl0IHRvIGdldCB0aGUgcmVmZXJlbmNlZFZpZXcgaWYgdGhhdCdzIHRoZSBjYXNlXG4gICAgICAgICAgICAgIGNvbnN0IHRoZU5ld1BDb25uID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uKHJvb3RPYmplY3QuZ2V0UENvbm5lY3QoKSk7XG4gICAgICAgICAgICAgIC8vIHVwZGF0ZSBDb21wb25lbnROYW1lJCBiZWZvcmUgd2UgdXBkYXRlIHBDb25uJCB0byBtYWtlIHN1cmUgdGhleSdyZSBpbiBzeW5jXG4gICAgICAgICAgICAgIC8vICB3aGVuIHJlbmRlcmluZy4uLlxuICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudE5hbWUkID0gdGhlTmV3UENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpO1xuXG4gICAgICAgICAgICAgIHRoaXMucENvbm4kID0gdGhlTmV3UENvbm47XG4gICAgICAgICAgICAgIC8vIHRoaXMucENvbm4kID0gcm9vdE9iamVjdC5nZXRQQ29ubmVjdCgpO1xuXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBSb290Q29udGFpbmVyIHVwZGF0ZWQgcENvbm4kIHRvIGJlOiAke3RoaXMuY29tcG9uZW50TmFtZSR9YCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVuZGVyaW5nTW9kZSA9PT0gbm9Qb3J0YWxNb2RlKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhgUm9vdENvbnRhaW5lcjogcmVuZGVyaW5nTW9kZSA9PT0gbm9Qb3J0YWxNb2RlOiAke25vUG9ydGFsTW9kZX1gKTtcbiAgICAgIHRoaXMuZ2VuZXJhdGVWaWV3Q29udGFpbmVyRm9yTm9Qb3J0YWwoKTtcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIGhhdmVuJ3QgcmVzb2x2ZWQgdG8gaGVyZVxuICAgIH0gZWxzZSBpZiAoc2tlbGV0b24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gVE9ETzogbmVlZCB0byB1cGRhdGUgb25jZSBza2VsZXRvbnMgYXJlIGF2YWlsYWJsZTtcbiAgICB9XG4gIH1cblxuICBnZW5lcmF0ZVZpZXdDb250YWluZXJGb3JOb1BvcnRhbCgpIHtcbiAgICAvLyBib290c3RyYXAgbG9hZE1hc2h1cCByZXNvbHZlcyB0byBoZXJlXG4gICAgY29uc3QgYXJDaGlsZHJlbiA9IHRoaXMucENvbm4kLmdldENoaWxkcmVuKCkgYXMgYW55W107XG4gICAgaWYgKGFyQ2hpbGRyZW4gJiYgYXJDaGlsZHJlbi5sZW5ndGggPT0gMSkge1xuICAgICAgLy8gaGF2ZSB0byBoYXZlIGEgcXVpY2sgdGltZW91dCBvciBnZXQgYW4gXCJleHByZXNzaW9ucyBjaGFuZ2VkXCIgYW5ndWxhciBlcnJvclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgY29uc3QgbG9jYWxQQ29ubiA9IGFyQ2hpbGRyZW5bMF0uZ2V0UENvbm5lY3QoKTtcblxuICAgICAgICAgIHRoaXMuY29tcG9uZW50TmFtZSQgPSBsb2NhbFBDb25uLmdldENvbXBvbmVudE5hbWUoKTtcbiAgICAgICAgICBpZiAodGhpcy5jb21wb25lbnROYW1lJCA9PT0gJ1ZpZXdDb250YWluZXInKSB7XG4gICAgICAgICAgICBjb25zdCBjb25maWdQcm9wcyA9IHRoaXMucENvbm4kLmdldENvbmZpZ1Byb3BzKCk7XG4gICAgICAgICAgICBjb25zdCB2aWV3Q29udENvbmZpZyA9IHtcbiAgICAgICAgICAgICAgbWV0YToge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdWaWV3Q29udGFpbmVyJyxcbiAgICAgICAgICAgICAgICBjb25maWc6IGNvbmZpZ1Byb3BzXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG9wdGlvbnNcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lclBDb25uJCA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KHZpZXdDb250Q29uZmlnKS5nZXRQQ29ubmVjdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmJTaG93Um9vdCQgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNob3dIaWRlUHJvZ3Jlc3MoYlNob3c6IGJvb2xlYW4pIHtcbiAgICAvLyBvbmx5IHNob3cgc3Bpbm5lciBhZnRlciA1MDBtcyB3YWl0LCBzbyBpZiBzZXJ2ZXIgZmFzdCwgd29uJ3Qgc2VlXG4gICAgaWYgKGJTaG93KSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9uby1jb2xsYXBzaWJsZS1pZlxuICAgICAgaWYgKCF0aGlzLmJJc1Byb2dyZXNzJCkge1xuICAgICAgICAvLyBtYWtlcyBzdXJlIEFuZ3VsYXIgdHJhY2tzIHRoZXNlIGNoYW5nZXNcbiAgICAgICAgaWYgKCF0aGlzLnNwaW5uZXJUaW1lciB8fCB0aGlzLnNwaW5uZXJUaW1lci5pc1N0b3BwZWQpIHtcbiAgICAgICAgICB0aGlzLnNwaW5uZXJUaW1lciA9IGludGVydmFsKDUwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHRoaXMuc3Bpbm5lclRpbWVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAgICAgICAvKiBlbXB0eSAqL1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmJJc1Byb2dyZXNzJCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5zcGlubmVyVGltZXIgJiYgIXRoaXMuc3Bpbm5lclRpbWVyLmlzU3RvcHBlZCkge1xuICAgICAgICB0aGlzLnNwaW5uZXJUaW1lci51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuXG4gICAgICAvLyBkb24ndCB0b3VjaCBiSXNQcm9ncmVzcyQgdW5sZXNzIGRpZmZlcm5lbnRcbiAgICAgIGlmIChiU2hvdyAhPSB0aGlzLmJJc1Byb2dyZXNzJCkge1xuICAgICAgICAvLyBtYWtlcyBzdXJlIEFuZ3VsYXIgdHJhY2tzIHRoZXNlIGNoYW5nZXNcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmJJc1Byb2dyZXNzJCA9IGJTaG93O1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwcm9ncmVzcy1ib3hcIiAqbmdJZj1cImJJc1Byb2dyZXNzJFwiPlxuICA8bWF0LXNwaW5uZXIgY2xhc3M9XCJwcm9ncmVzcy1zcGlubmVyXCI+PC9tYXQtc3Bpbm5lcj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiYlNob3dSb290JFwiPlxuICA8ZGl2IFtuZ1N3aXRjaF09XCJjb21wb25lbnROYW1lJFwiPlxuICAgIDxjb21wb25lbnQtbWFwcGVyICpuZ1N3aXRjaENhc2U9XCInVmlldydcIiBuYW1lPVwiVmlld1wiIFtwcm9wc109XCJ7IHBDb25uJCwgZGlzcGxheU9ubHlGQSQgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICA8IS0tIDxhcHAtcmVmZXJlbmNlICpuZ1N3aXRjaENhc2U9XCIncmVmZXJlbmNlJ1wiIFtwQ29ubiRdPVwicENvbm4kXCIgW2Rpc3BsYXlPbmx5RkEkXT1cImRpc3BsYXlPbmx5RkEkXCI+PC9hcHAtcmVmZXJlbmNlPiAtLT5cbiAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidWaWV3Q29udGFpbmVyJ1wiXG4gICAgICBuYW1lPVwiVmlld0NvbnRhaW5lclwiXG4gICAgICBbcHJvcHNdPVwieyBwQ29ubiQ6IGRpc3BsYXlPbmx5RkEkID8gdmlld0NvbnRhaW5lclBDb25uJCA6IHBDb25uJCwgZGlzcGxheU9ubHlGQSQgfVwiXG4gICAgPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICA8YXBwLWh5YnJpZC12aWV3LWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0h5YnJpZFZpZXdDb250YWluZXInXCIgW3BDb25uJF09XCJwQ29ubiRcIiBbZGlzcGxheU9ubHlGQSRdPVwiZGlzcGxheU9ubHlGQSRcIj48L2FwcC1oeWJyaWQtdmlldy1jb250YWluZXI+XG4gICAgPGFwcC1tb2RhbC12aWV3LWNvbnRhaW5lclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidNb2RhbFZpZXdDb250YWluZXInXCJcbiAgICAgIFtwQ29ubiRdPVwicENvbm4kXCJcbiAgICAgIFtkaXNwbGF5T25seUZBJF09XCJkaXNwbGF5T25seUZBJFwiXG4gICAgICAobW9kYWxWaXNpYmxlQ2hhbmdlKT1cIm1vZGFsVmlzaWJsZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgPjwvYXBwLW1vZGFsLXZpZXctY29udGFpbmVyPlxuICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIicnXCI+PC9kaXY+XG4gICAgPGRpdiAqbmdTd2l0Y2hEZWZhdWx0Pnt7IGxvY2FsaXplZFZhbCgnUm9vdENvbnRhaW5lciBNaXNzaW5nOiAnICsgY29tcG9uZW50TmFtZSQsIGxvY2FsZUNhdGVnb3J5KSB9fS48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cInB2Q29ubiQgIT0gbnVsbFwiPlxuICA8YXBwLXByZXZpZXctdmlldy1jb250YWluZXIgW3BDb25uJF09XCJwdkNvbm4kXCI+PC9hcHAtcHJldmlldy12aWV3LWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwibUNvbm4kICE9IG51bGxcIj5cbiAgPGFwcC1tb2RhbC12aWV3LWNvbnRhaW5lclxuICAgIFtwQ29ubiRdPVwibUNvbm4kXCJcbiAgICBbZGlzcGxheU9ubHlGQSRdPVwiZGlzcGxheU9ubHlGQSRcIlxuICAgIChtb2RhbFZpc2libGVDaGFuZ2UpPVwibW9kYWxWaXNpYmxlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgPjwvYXBwLW1vZGFsLXZpZXctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2luZnJhL3Jvb3QtY29udGFpbmVyL3Jvb3QtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yb290LWNvbnRhaW5lci9yb290LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBVSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3RILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7QUFFeEc7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBZ0JuQyxNQUFNLE9BQU8sc0JBQXNCO0lBdUJqQyxZQUNVLGVBQXVDLEVBQ3ZDLFNBQWlDLEVBQ2pDLE1BQWM7UUFGZCxvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFDdkMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXJCeEIsdUNBQXVDO1FBQ3ZDLHdCQUFtQixHQUF3QixFQUFFLENBQUM7UUFFOUMsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsOEJBQThCO1FBQzlCLFlBQU8sR0FBUSxJQUFJLENBQUM7UUFDcEIsV0FBTSxHQUFRLElBQUksQ0FBQztRQUVuQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBR2xCLGlCQUFZLEdBQVEsSUFBSSxDQUFDO1FBQ3pCLHdCQUFtQixHQUFRLElBQUksQ0FBQztRQUVoQyxtQkFBYyxHQUFHLFVBQVUsQ0FBQztJQU16QixDQUFDO0lBRUosUUFBUTtRQUNOLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQztRQUV4QixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25ELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTVFLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJFLGdEQUFnRDtRQUNoRCx3REFBd0Q7UUFFeEQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQzVDLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsc0JBQXNCO2dCQUM1QixNQUFNLEVBQUU7b0JBQ04sSUFBSSxFQUFFLFNBQVM7aUJBQ2hCO2FBQ0Y7WUFDRCxPQUFPO1NBQ1IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU5QyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQzFDLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsb0JBQW9CO2dCQUMxQixNQUFNLEVBQUU7b0JBQ04sSUFBSSxFQUFFLE9BQU87aUJBQ2Q7YUFDRjtZQUNELE9BQU8sRUFBRTtnQkFDUCxhQUFhLEVBQUUsVUFBVTtnQkFDekIsT0FBTyxFQUFFLFNBQVM7YUFDbkI7U0FDRixDQUFDLENBQUM7UUFFSCw2QkFBNkI7UUFDN0IsY0FBYyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUzQyw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsNkJBQTZCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV4RyxpREFBaUQ7UUFDakQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2pGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDNUQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsYUFBYTtRQUNYLDBGQUEwRjtRQUMxRixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJFLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLCtFQUErRTtRQUMvRSxnRUFBZ0U7UUFDaEUsTUFBTSxPQUFPLEdBQVEsSUFBSSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RSxNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7UUFFaEMsTUFBTSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVuRSxJQUFJLFdBQVcsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDMUQsTUFBTSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsR0FBRyxXQUFXLENBQUM7WUFDN0MsSUFBSSxhQUFhLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQzNCLHdDQUF3QztnQkFDeEMsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BELElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUM3RSxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUVqQyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO3dCQUN0QyxJQUFJLEVBQUUsUUFBUTt3QkFDZCxPQUFPLEVBQUU7NEJBQ1AsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPO3lCQUM1QjtxQkFDRixDQUFDLENBQUM7b0JBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTt3QkFDZCwwQ0FBMEM7d0JBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTs0QkFDbkIsK0NBQStDOzRCQUMvQyw2REFBNkQ7NEJBQzdELE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQzs0QkFDaEYsNkVBQTZFOzRCQUM3RSxxQkFBcUI7NEJBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUM7NEJBRXJELElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDOzRCQUMxQiwwQ0FBMEM7NEJBRTFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUNBQXVDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO3dCQUM1RSxDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLGFBQWEsS0FBSyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxpRkFBaUY7WUFDakYsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7UUFDMUMsQ0FBQzthQUFNLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0MsMkJBQTJCO1FBQzdCLENBQUM7YUFBTSxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNsQyxxREFBcUQ7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFRCxnQ0FBZ0M7UUFDOUIsd0NBQXdDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFXLENBQUM7UUFDdEQsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN6Qyw2RUFBNkU7WUFDN0UsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQ25CLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFFL0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDcEQsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLGVBQWUsRUFBRSxDQUFDO3dCQUM1QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUNqRCxNQUFNLGNBQWMsR0FBRzs0QkFDckIsSUFBSSxFQUFFO2dDQUNKLElBQUksRUFBRSxlQUFlO2dDQUNyQixNQUFNLEVBQUUsV0FBVzs2QkFDcEI7NEJBQ0QsT0FBTzt5QkFDUixDQUFDO3dCQUVGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNoRixDQUFDO29CQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFjO1FBQzdCLG1FQUFtRTtRQUNuRSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YscURBQXFEO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3ZCLDBDQUEwQztnQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTt3QkFDL0MsSUFBSSxDQUFDOzRCQUNILElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQ2xDLENBQUM7d0JBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQzs0QkFDWixXQUFXO3dCQUNiLENBQUM7d0JBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFOzRCQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzt3QkFDM0IsQ0FBQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEMsQ0FBQztZQUVELDZDQUE2QztZQUM3QyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQy9CLDBDQUEwQztnQkFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDNUIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBbE5VLHNCQUFzQjttR0FBdEIsc0JBQXNCLHNLQ2xDbkMseTJCQXVCQSw2VURHSSxZQUFZLHVmQUNaLHdCQUF3Qiw2UUFFeEIsMkJBQTJCLCtJQUMzQiw2QkFBNkIsZ0hBQ1osd0JBQXdCOzs0RkFHaEMsc0JBQXNCO2tCQWRsQyxTQUFTOytCQUNFLG9CQUFvQixjQUdsQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDM0M7cUpBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgTmdab25lLCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IGludGVydmFsLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFuZ3VsYXJQQ29ubmVjdERhdGEsIEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2FuZ3VsYXItcGNvbm5lY3QnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NTcGlubmVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXNzYWdlcy9wcm9ncmVzcy1zcGlubmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVmZXJlbmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVmZXJlbmNlL3JlZmVyZW5jZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJldmlld1ZpZXdDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9Db250YWluZXJzL3ByZXZpZXctdmlldy1jb250YWluZXIvcHJldmlldy12aWV3LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxWaWV3Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vQ29udGFpbmVycy9tb2RhbC12aWV3LWNvbnRhaW5lci9tb2RhbC12aWV3LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHlicmlkVmlld0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL0NvbnRhaW5lcnMvaHlicmlkLXZpZXctY29udGFpbmVyL2h5YnJpZC12aWV3LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBXQVJOSU5HOiAgSXQgaXMgbm90IGV4cGVjdGVkIHRoYXQgdGhpcyBmaWxlIHNob3VsZCBiZSBtb2RpZmllZC4gIEl0IGlzIHBhcnQgb2YgaW5mcmFzdHJ1Y3R1cmUgY29kZSB0aGF0IHdvcmtzIHdpdGhcbiAqIFJlZHV4IGFuZCBjcmVhdGlvbi91cGRhdGUgb2YgUmVkdXggY29udGFpbmVycyBhbmQgUENvbm5lY3QuICBNb2RpZnlpbmcgdGhpcyBjb2RlIGNvdWxkIGhhdmUgdW5kZXNpcmVhYmxlIHJlc3VsdHMgYW5kXG4gKiBpcyB0b3RhbGx5IGF0IHlvdXIgb3duIHJpc2suXG4gKi9cblxuY29uc3Qgb3B0aW9ucyA9IHsgY29udGV4dDogJ2FwcCcgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJvb3QtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jvb3QtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcm9vdC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgSHlicmlkVmlld0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICBNb2RhbFZpZXdDb250YWluZXJDb21wb25lbnQsXG4gICAgUHJldmlld1ZpZXdDb250YWluZXJDb21wb25lbnQsXG4gICAgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUm9vdENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGRpc3BsYXlPbmx5RkEkOiBib29sZWFuO1xuICBASW5wdXQoKSBpc01hc2h1cCQ6IGJvb2xlYW47XG5cbiAgLy8gRm9yIGludGVyYWN0aW9uIHdpdGggQW5ndWxhclBDb25uZWN0XG4gIGFuZ3VsYXJQQ29ubmVjdERhdGE6IEFuZ3VsYXJQQ29ubmVjdERhdGEgPSB7fTtcblxuICBjb21wb25lbnROYW1lJCA9ICcnO1xuICBiSXNQcm9ncmVzcyQgPSBmYWxzZTtcblxuICAvLyBwcmV2aWV3IGFuZCBtb2RhbHZpZXcgcENvbm5cbiAgcHZDb25uJDogYW55ID0gbnVsbDtcbiAgbUNvbm4kOiBhbnkgPSBudWxsO1xuXG4gIGJTaG93Um9vdCQgPSB0cnVlO1xuXG4gIHByb2dyZXNzU3Bpbm5lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBzcGlubmVyVGltZXI6IGFueSA9IG51bGw7XG4gIHZpZXdDb250YWluZXJQQ29ubiQ6IGFueSA9IG51bGw7XG4gIGxvY2FsaXplZFZhbDogYW55O1xuICBsb2NhbGVDYXRlZ29yeSA9ICdNZXNzYWdlcyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwc1NlcnZpY2U6IFByb2dyZXNzU3Bpbm5lclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgbXlDb250ZXh0ID0gJ2FwcCc7XG5cbiAgICBjb25zdCB7IGNvbnRhaW5lcnMgfSA9IFBDb3JlLmdldFN0b3JlKCkuZ2V0U3RhdGUoKTtcbiAgICBjb25zdCBpdGVtcyA9IE9iamVjdC5rZXlzKGNvbnRhaW5lcnMpLmZpbHRlcihpdGVtID0+IGl0ZW0uaW5jbHVkZXMoJ3Jvb3QnKSk7XG5cbiAgICBQQ29yZS5nZXRDb250YWluZXJVdGlscygpLmdldENvbnRhaW5lckFQSSgpLmFkZENvbnRhaW5lckl0ZW1zKGl0ZW1zKTtcblxuICAgIC8vIGFkZCBwcmV2aWV3IGFuZCBtb2RhbHZpZXcgY29udGFpbmVycyB0byByZWR1eFxuICAgIC8vIGtlZXAgbG9jYWwgY29waWVzIG9mIHRoZSB0aGUgcENvbm5lY3QgdGhhdCBpcyByZWxhdGVkXG5cbiAgICBjb25zdCBjb25maWdPYmpQcmV2aWV3ID0gUENvcmUuY3JlYXRlUENvbm5lY3Qoe1xuICAgICAgbWV0YToge1xuICAgICAgICB0eXBlOiAnUHJldmlld1ZpZXdDb250YWluZXInLFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBuYW1lOiAncHJldmlldydcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9wdGlvbnNcbiAgICB9KTtcblxuICAgIHRoaXMucHZDb25uJCA9IGNvbmZpZ09ialByZXZpZXcuZ2V0UENvbm5lY3QoKTtcblxuICAgIGNvbnN0IGNvbmZpZ09iak1vZGFsID0gUENvcmUuY3JlYXRlUENvbm5lY3Qoe1xuICAgICAgbWV0YToge1xuICAgICAgICB0eXBlOiAnTW9kYWxWaWV3Q29udGFpbmVyJyxcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgbmFtZTogJ21vZGFsJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBwYWdlUmVmZXJlbmNlOiAncHlQb3J0YWwnLFxuICAgICAgICBjb250ZXh0OiBteUNvbnRleHRcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIGNsZWFyIG91dCBoYXNWaWV3Q29udGFpbmVyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnaGFzVmlld0NvbnRhaW5lcicsICdmYWxzZScpO1xuXG4gICAgdGhpcy5tQ29ubiQgPSBjb25maWdPYmpNb2RhbC5nZXRQQ29ubmVjdCgpO1xuXG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG5cbiAgICAvLyBoYW5kbGUgc2hvd2luZyBhbmQgaGlkaW5nIHRoZSBwcm9ncmVzcyBzcGlubmVyXG4gICAgdGhpcy5wcm9ncmVzc1NwaW5uZXJTdWJzY3JpcHRpb24gPSB0aGlzLnBzU2VydmljZS5nZXRNZXNzYWdlKCkuc3Vic2NyaWJlKG1lc3NhZ2UgPT4ge1xuICAgICAgdGhpcy5zaG93SGlkZVByb2dyZXNzKG1lc3NhZ2Uuc2hvdyk7XG4gICAgfSk7XG4gICAgdGhpcy5sb2NhbGl6ZWRWYWwgPSBQQ29yZS5nZXRMb2NhbGVVdGlscygpLmdldExvY2FsZVZhbHVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbigpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGxiYWNrIHBhc3NlZCB3aGVuIHN1YnNjcmliaW5nIHRvIHN0b3JlIGNoYW5nZVxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlIGl0c2VsZiAocmUtcmVuZGVyKVxuICAgIGNvbnN0IGJVcGRhdGVTZWxmID0gdGhpcy5hbmd1bGFyUENvbm5lY3Quc2hvdWxkQ29tcG9uZW50VXBkYXRlKHRoaXMpO1xuXG4gICAgaWYgKGJVcGRhdGVTZWxmKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVTZWxmKCkge1xuICAgIC8vIG5lZWQgdG8gY2FsbCB0aGlzLmdldEN1cnJlbnRDb21wbGV0ZVByb3BzIChub3QgdGhpcy50aGVQQ29ubi5nZXRDb25maWdQcm9wcylcbiAgICAvLyAgdG8gZ2V0IGZ1bGwgc2V0IG9mIHByb3BzIHRoYXQgYWZmZWN0IHRoaXMgY29tcG9uZW50IGluIFJlZHV4XG4gICAgY29uc3QgbXlQcm9wczogYW55ID0gdGhpcy5hbmd1bGFyUENvbm5lY3QuZ2V0Q3VycmVudENvbXBsZXRlUHJvcHModGhpcyk7XG5cbiAgICBjb25zdCByZW5kZXJpbmdNb2RlcyA9IFsncG9ydGFsJywgJ3ZpZXcnXTtcbiAgICBjb25zdCBub1BvcnRhbE1vZGUgPSAnbm9Qb3J0YWwnO1xuXG4gICAgY29uc3QgeyByZW5kZXJpbmdNb2RlLCBjaGlsZHJlbiwgc2tlbGV0b24sIHJvdXRpbmdJbmZvIH0gPSBteVByb3BzO1xuXG4gICAgaWYgKHJvdXRpbmdJbmZvICYmIHJlbmRlcmluZ01vZGVzLmluY2x1ZGVzKHJlbmRlcmluZ01vZGUpKSB7XG4gICAgICBjb25zdCB7IGFjY2Vzc2VkT3JkZXIsIGl0ZW1zIH0gPSByb3V0aW5nSW5mbztcbiAgICAgIGlmIChhY2Nlc3NlZE9yZGVyICYmIGl0ZW1zKSB7XG4gICAgICAgIC8vIGJvb3RzdHJhcCBsb2FkUG9ydGFsIHJlc29sdmVzIHRvIGhlcmVcbiAgICAgICAgY29uc3Qga2V5ID0gYWNjZXNzZWRPcmRlclthY2Nlc3NlZE9yZGVyLmxlbmd0aCAtIDFdO1xuICAgICAgICBpZiAoaXRlbXNba2V5XSAmJiBpdGVtc1trZXldLnZpZXcgJiYgT2JqZWN0LmtleXMoaXRlbXNba2V5XS52aWV3KS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgaXRlbVZpZXcgPSBpdGVtc1trZXldLnZpZXc7XG5cbiAgICAgICAgICBjb25zdCByb290T2JqZWN0ID0gUENvcmUuY3JlYXRlUENvbm5lY3Qoe1xuICAgICAgICAgICAgbWV0YTogaXRlbVZpZXcsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IGl0ZW1zW2tleV0uY29udGV4dFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAvLyBtYWtlcyBzdXJlIEFuZ3VsYXIgdHJhY2tzIHRoZXNlIGNoYW5nZXNcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgIC8vIHRoZSBuZXcgcm9vdE9iamVjdCBtYXkgYmUgYSAncmVmZXJlbmNlJy4gU28sXG4gICAgICAgICAgICAgIC8vICBub3JtYWxpemUgaXQgdG8gZ2V0IHRoZSByZWZlcmVuY2VkVmlldyBpZiB0aGF0J3MgdGhlIGNhc2VcbiAgICAgICAgICAgICAgY29uc3QgdGhlTmV3UENvbm4gPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm4ocm9vdE9iamVjdC5nZXRQQ29ubmVjdCgpKTtcbiAgICAgICAgICAgICAgLy8gdXBkYXRlIENvbXBvbmVudE5hbWUkIGJlZm9yZSB3ZSB1cGRhdGUgcENvbm4kIHRvIG1ha2Ugc3VyZSB0aGV5J3JlIGluIHN5bmNcbiAgICAgICAgICAgICAgLy8gIHdoZW4gcmVuZGVyaW5nLi4uXG4gICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50TmFtZSQgPSB0aGVOZXdQQ29ubi5nZXRDb21wb25lbnROYW1lKCk7XG5cbiAgICAgICAgICAgICAgdGhpcy5wQ29ubiQgPSB0aGVOZXdQQ29ubjtcbiAgICAgICAgICAgICAgLy8gdGhpcy5wQ29ubiQgPSByb290T2JqZWN0LmdldFBDb25uZWN0KCk7XG5cbiAgICAgICAgICAgICAgY29uc29sZS5sb2coYFJvb3RDb250YWluZXIgdXBkYXRlZCBwQ29ubiQgdG8gYmU6ICR7dGhpcy5jb21wb25lbnROYW1lJH1gKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChyZW5kZXJpbmdNb2RlID09PSBub1BvcnRhbE1vZGUpIHtcbiAgICAgIC8vIGNvbnNvbGUubG9nKGBSb290Q29udGFpbmVyOiByZW5kZXJpbmdNb2RlID09PSBub1BvcnRhbE1vZGU6ICR7bm9Qb3J0YWxNb2RlfWApO1xuICAgICAgdGhpcy5nZW5lcmF0ZVZpZXdDb250YWluZXJGb3JOb1BvcnRhbCgpO1xuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgLy8gaGF2ZW4ndCByZXNvbHZlZCB0byBoZXJlXG4gICAgfSBlbHNlIGlmIChza2VsZXRvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBUT0RPOiBuZWVkIHRvIHVwZGF0ZSBvbmNlIHNrZWxldG9ucyBhcmUgYXZhaWxhYmxlO1xuICAgIH1cbiAgfVxuXG4gIGdlbmVyYXRlVmlld0NvbnRhaW5lckZvck5vUG9ydGFsKCkge1xuICAgIC8vIGJvb3RzdHJhcCBsb2FkTWFzaHVwIHJlc29sdmVzIHRvIGhlcmVcbiAgICBjb25zdCBhckNoaWxkcmVuID0gdGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSBhcyBhbnlbXTtcbiAgICBpZiAoYXJDaGlsZHJlbiAmJiBhckNoaWxkcmVuLmxlbmd0aCA9PSAxKSB7XG4gICAgICAvLyBoYXZlIHRvIGhhdmUgYSBxdWljayB0aW1lb3V0IG9yIGdldCBhbiBcImV4cHJlc3Npb25zIGNoYW5nZWRcIiBhbmd1bGFyIGVycm9yXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBsb2NhbFBDb25uID0gYXJDaGlsZHJlblswXS5nZXRQQ29ubmVjdCgpO1xuXG4gICAgICAgICAgdGhpcy5jb21wb25lbnROYW1lJCA9IGxvY2FsUENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpO1xuICAgICAgICAgIGlmICh0aGlzLmNvbXBvbmVudE5hbWUkID09PSAnVmlld0NvbnRhaW5lcicpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZ1Byb3BzID0gdGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKTtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdDb250Q29uZmlnID0ge1xuICAgICAgICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ1ZpZXdDb250YWluZXInLFxuICAgICAgICAgICAgICAgIGNvbmZpZzogY29uZmlnUHJvcHNcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3B0aW9uc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUENvbm4kID0gUENvcmUuY3JlYXRlUENvbm5lY3Qodmlld0NvbnRDb25maWcpLmdldFBDb25uZWN0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuYlNob3dSb290JCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2hvd0hpZGVQcm9ncmVzcyhiU2hvdzogYm9vbGVhbikge1xuICAgIC8vIG9ubHkgc2hvdyBzcGlubmVyIGFmdGVyIDUwMG1zIHdhaXQsIHNvIGlmIHNlcnZlciBmYXN0LCB3b24ndCBzZWVcbiAgICBpZiAoYlNob3cpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL25vLWNvbGxhcHNpYmxlLWlmXG4gICAgICBpZiAoIXRoaXMuYklzUHJvZ3Jlc3MkKSB7XG4gICAgICAgIC8vIG1ha2VzIHN1cmUgQW5ndWxhciB0cmFja3MgdGhlc2UgY2hhbmdlc1xuICAgICAgICBpZiAoIXRoaXMuc3Bpbm5lclRpbWVyIHx8IHRoaXMuc3Bpbm5lclRpbWVyLmlzU3RvcHBlZCkge1xuICAgICAgICAgIHRoaXMuc3Bpbm5lclRpbWVyID0gaW50ZXJ2YWwoNTAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgdGhpcy5zcGlubmVyVGltZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICAgIC8qIGVtcHR5ICovXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuYklzUHJvZ3Jlc3MkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnNwaW5uZXJUaW1lciAmJiAhdGhpcy5zcGlubmVyVGltZXIuaXNTdG9wcGVkKSB7XG4gICAgICAgIHRoaXMuc3Bpbm5lclRpbWVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGRvbid0IHRvdWNoIGJJc1Byb2dyZXNzJCB1bmxlc3MgZGlmZmVybmVudFxuICAgICAgaWYgKGJTaG93ICE9IHRoaXMuYklzUHJvZ3Jlc3MkKSB7XG4gICAgICAgIC8vIG1ha2VzIHN1cmUgQW5ndWxhciB0cmFja3MgdGhlc2UgY2hhbmdlc1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYklzUHJvZ3Jlc3MkID0gYlNob3c7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInByb2dyZXNzLWJveFwiICpuZ0lmPVwiYklzUHJvZ3Jlc3MkXCI+XG4gIDxtYXQtc3Bpbm5lciBjbGFzcz1cInByb2dyZXNzLXNwaW5uZXJcIj48L21hdC1zcGlubmVyPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJiU2hvd1Jvb3QkXCI+XG4gIDxkaXYgW25nU3dpdGNoXT1cImNvbXBvbmVudE5hbWUkXCI+XG4gICAgPGNvbXBvbmVudC1tYXBwZXIgKm5nU3dpdGNoQ2FzZT1cIidWaWV3J1wiIG5hbWU9XCJWaWV3XCIgW3Byb3BzXT1cInsgcENvbm4kLCBkaXNwbGF5T25seUZBJCB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1ZpZXdDb250YWluZXInXCJcbiAgICAgIG5hbWU9XCJWaWV3Q29udGFpbmVyXCJcbiAgICAgIFtwcm9wc109XCJ7IHBDb25uJDogdmlld0NvbnRhaW5lclBDb25uJCwgZGlzcGxheU9ubHlGQSQgfVwiXG4gICAgPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+e3sgbG9jYWxpemVkVmFsKCdSb290Q29udGFpbmVyIE1pc3Npbmc6ICcgKyBjb21wb25lbnROYW1lJCwgbG9jYWxlQ2F0ZWdvcnkpIH19LjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwicHZDb25uJCAhPSBudWxsXCI+XG4gIDxhcHAtcHJldmlldy12aWV3LWNvbnRhaW5lciBbcENvbm4kXT1cInB2Q29ubiRcIj48L2FwcC1wcmV2aWV3LXZpZXctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJtQ29ubiQgIT0gbnVsbFwiPlxuICA8YXBwLW1vZGFsLXZpZXctY29udGFpbmVyIFtwQ29ubiRdPVwibUNvbm4kXCI+PC9hcHAtbW9kYWwtdmlldy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -8,6 +8,19 @@ import * as i1 from "../../../_bridge/angular-pconnect";
|
|
|
8
8
|
import * as i2 from "../../../_helpers/utils";
|
|
9
9
|
import * as i3 from "@angular/common";
|
|
10
10
|
const NO_HEADER_TEMPLATES = ['SubTabs', 'SimpleTable', 'Confirmation', 'DynamicTabs', 'DetailsSubTabs'];
|
|
11
|
+
const DETAILS_TEMPLATES = [
|
|
12
|
+
'Details',
|
|
13
|
+
'DetailsFields',
|
|
14
|
+
'DetailsOneColumn',
|
|
15
|
+
'DetailsSubTabs',
|
|
16
|
+
'DetailsThreeColumn',
|
|
17
|
+
'DetailsTwoColumn',
|
|
18
|
+
'NarrowWideDetails',
|
|
19
|
+
'WideNarrowDetails'
|
|
20
|
+
];
|
|
21
|
+
function isDetailsTemplate(template) {
|
|
22
|
+
return DETAILS_TEMPLATES.includes(template);
|
|
23
|
+
}
|
|
11
24
|
/**
|
|
12
25
|
* WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with
|
|
13
26
|
* Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and
|
|
@@ -100,7 +113,7 @@ export class ViewComponent {
|
|
|
100
113
|
this.templateName$ = this.configProps$.template || '';
|
|
101
114
|
this.title$ = this.configProps$.title || '';
|
|
102
115
|
this.label$ = this.configProps$.label || '';
|
|
103
|
-
this.showLabel$ = this.configProps$.showLabel || this.showLabel$;
|
|
116
|
+
this.showLabel$ = this.configProps$.showLabel || isDetailsTemplate(this.templateName$) || this.showLabel$;
|
|
104
117
|
// label & showLabel within inheritedProps takes precedence over configProps
|
|
105
118
|
this.label$ = this.inheritedProps$.label || this.label$;
|
|
106
119
|
this.showLabel$ = this.inheritedProps$.showLabel || this.showLabel$;
|
|
@@ -172,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
172
185
|
}], displayOnlyFA$: [{
|
|
173
186
|
type: Input
|
|
174
187
|
}] } });
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvdmlldy92aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS92aWV3L3ZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7OztBQUV4RyxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFFeEc7Ozs7R0FJRztBQUVIOzs7O0dBSUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLE1BQU07SUFDaEMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNsRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEMsd0dBQXdHO1FBQ3hHLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsaUdBQWlH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b0JBQ3RDLGdEQUFnRDtvQkFDaEQsTUFBTSxXQUFXLEdBQUc7d0JBQ2xCLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO3dCQUMzQixlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztxQkFDOUIsQ0FBQztvQkFDRixPQUFPLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN0RCxNQUFNO2dCQUVSLEtBQUssU0FBUztvQkFDWixTQUFTLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN0QyxPQUFPLEdBQUcsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ25DLE1BQU07Z0JBQ1I7b0JBQ0UsTUFBTTtZQUNWLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7K0dBL0lVLGFBQWE7bUdBQWIsYUFBYSxtTEN6RTFCLG81QkF5QkEscVFEOENZLFlBQVksK1RBQW1CLHdCQUF3Qjs7NEZBRXRELGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UsVUFBVSxjQUdSLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQzsrR0FHMUQsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgZm9yd2FyZFJlZiwgU2ltcGxlQ2hhbmdlcywgT25EZXN0cm95LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBbmd1bGFyUENvbm5lY3REYXRhLCBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9hbmd1bGFyLXBjb25uZWN0JztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvdXRpbHMnO1xuaW1wb3J0IHsgZ2V0QWxsRmllbGRzIH0gZnJvbSAnLi4vLi4vdGVtcGxhdGUvdXRpbHMnO1xuaW1wb3J0IHsgUmVmZXJlbmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVmZXJlbmNlL3JlZmVyZW5jZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcblxuY29uc3QgTk9fSEVBREVSX1RFTVBMQVRFUyA9IFsnU3ViVGFicycsICdTaW1wbGVUYWJsZScsICdDb25maXJtYXRpb24nLCAnRHluYW1pY1RhYnMnLCAnRGV0YWlsc1N1YlRhYnMnXTtcblxuLyoqXG4gKiBXQVJOSU5HOiAgSXQgaXMgbm90IGV4cGVjdGVkIHRoYXQgdGhpcyBmaWxlIHNob3VsZCBiZSBtb2RpZmllZC4gIEl0IGlzIHBhcnQgb2YgaW5mcmFzdHJ1Y3R1cmUgY29kZSB0aGF0IHdvcmtzIHdpdGhcbiAqIFJlZHV4IGFuZCBjcmVhdGlvbi91cGRhdGUgb2YgUmVkdXggY29udGFpbmVycyBhbmQgUENvbm5lY3QuICBNb2RpZnlpbmcgdGhpcyBjb2RlIGNvdWxkIGhhdmUgdW5kZXNpcmVhYmxlIHJlc3VsdHMgYW5kXG4gKiBpcyB0b3RhbGx5IGF0IHlvdXIgb3duIHJpc2suXG4gKi9cblxuLyoqXG4gKlxuICogQHBhcmFtIHBDb25ubiAtIFBDb25uZWN0IE9iamVjdFxuICogQHJldHVybnMgdmlzaWJpbGl0eSBleHByZXNzaW9uIHJlc3VsdCBpZiBleGlzdHMsIG90aGVyd2lzZSB0cnVlXG4gKi9cbmZ1bmN0aW9uIGV2YWx1YXRlVmlzaWJpbGl0eShwQ29ubm4pIHtcbiAgbGV0IGJWaXNpYmlsaXR5ID0gdHJ1ZTtcbiAgY29uc3Qgc1Zpc2liaWxpdHkgPSBwQ29ubm4ubWV0YS5jb25maWcudmlzaWJpbGl0eTtcbiAgaWYgKHNWaXNpYmlsaXR5ICYmIHNWaXNpYmlsaXR5Lmxlbmd0aCkge1xuICAgIC8vIGUuZy4gXCJARSAuRW1iZWRkZWREYXRhX1NlbGVjdGVkVGVzdE5hbWUgPT0gJ1JlYWRvbmx5JyAmJiAuRW1iZWRkZWREYXRhX1NlbGVjdGVkU3ViQ2F0ZWdvcnkgPT0gJ01vZGUnXCJcbiAgICBjb25zdCBhVmlzaWJpbGl0eSA9IHNWaXNpYmlsaXR5LnNwbGl0KCcmJicpO1xuICAgIC8vIGUuZy4gW1wiRW1iZWRkZWREYXRhX1NlbGVjdGVkVGVzdE5hbWVcIjogXCJSZWFkb25seVwiLCBcIkVtYmVkZGVkRGF0YV9TZWxlY3RlZFN1YkNhdGVnb3J5XCI6IFwiTW9kZVwiXVxuICAgIGNvbnN0IGNvbnRleHQgPSBwQ29ubm4uZ2V0Q29udGV4dE5hbWUoKTtcbiAgICAvLyBSZWFkaW5nIHZhbHVlcyBmcm9tIHRoZSBTdG9yZSB0byBldmFsdWF0ZSB0aGUgdmlzaWJpbGl0eSBleHByZXNzaW9uc1xuICAgIGNvbnN0IHN0b3JlRGF0YSA9IFBDb3JlLmdldFN0b3JlKCkuZ2V0U3RhdGUoKT8uZGF0YVtjb250ZXh0XS5jYXNlSW5mby5jb250ZW50O1xuXG4gICAgY29uc3QgaW5pdGlhbFZhbCA9IHt9O1xuICAgIGNvbnN0IG9Qcm9wZXJ0aWVzID0gYVZpc2liaWxpdHkucmVkdWNlKChwcm9wZXJ0aWVzLCBwcm9wZXJ0eSkgPT4ge1xuICAgICAgY29uc3Qga2V5U3RhcnRJbmRleCA9IHByb3BlcnR5LmluZGV4T2YoJy4nKTtcbiAgICAgIGNvbnN0IGtleUVuZEluZGV4ID0gcHJvcGVydHkuaW5kZXhPZignPScpIC0gMTtcbiAgICAgIGNvbnN0IHZhbHVlU3RhcnRJbmRleCA9IHByb3BlcnR5LmluZGV4T2YoXCInXCIpO1xuICAgICAgY29uc3QgdmFsdWVFbmRJbmRleCA9IHByb3BlcnR5Lmxhc3RJbmRleE9mKFwiJ1wiKSAtIDE7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wcm9wZXJ0aWVzLFxuICAgICAgICBbcHJvcGVydHkuc3Vic3RyKGtleVN0YXJ0SW5kZXggKyAxLCBrZXlFbmRJbmRleCAtIGtleVN0YXJ0SW5kZXggLSAxKV06IHByb3BlcnR5LnN1YnN0cih2YWx1ZVN0YXJ0SW5kZXggKyAxLCB2YWx1ZUVuZEluZGV4IC0gdmFsdWVTdGFydEluZGV4KVxuICAgICAgfTtcbiAgICB9LCBpbml0aWFsVmFsKTtcblxuICAgIGNvbnN0IHByb3BlcnR5S2V5cyA9IE9iamVjdC5rZXlzKG9Qcm9wZXJ0aWVzKTtcbiAgICBjb25zdCBwcm9wZXJ0eVZhbHVlcyA9IE9iamVjdC52YWx1ZXMob1Byb3BlcnRpZXMpO1xuXG4gICAgZm9yIChsZXQgcHJvcGVydHlJbmRleCA9IDA7IHByb3BlcnR5SW5kZXggPCBwcm9wZXJ0eUtleXMubGVuZ3RoOyBwcm9wZXJ0eUluZGV4KyspIHtcbiAgICAgIGlmIChzdG9yZURhdGFbcHJvcGVydHlLZXlzW3Byb3BlcnR5SW5kZXhdXSAhPT0gcHJvcGVydHlWYWx1ZXNbcHJvcGVydHlJbmRleF0pIHtcbiAgICAgICAgYlZpc2liaWxpdHkgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGJWaXNpYmlsaXR5O1xufVxuXG5pbnRlcmZhY2UgVmlld1Byb3BzIHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiB0aGlzIGNvbXBvbmVudFxuICB0ZW1wbGF0ZT86IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHNob3dMYWJlbDogYm9vbGVhbjtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHZpc2liaWxpdHk/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdmlldy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCldXG59KVxuZXhwb3J0IGNsYXNzIFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCQ6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgZGlzcGxheU9ubHlGQSQ6IGJvb2xlYW47XG4gIC8vIEBJbnB1dCgpIHVwZGF0ZVRva2VuJDogbnVtYmVyO1xuXG4gIGFuZ3VsYXJQQ29ubmVjdERhdGE6IEFuZ3VsYXJQQ29ubmVjdERhdGEgPSB7fTtcblxuICBub0hlYWRlclRlbXBsYXRlcyA9IE5PX0hFQURFUl9URU1QTEFURVM7XG5cbiAgY29uZmlnUHJvcHMkOiBWaWV3UHJvcHM7XG4gIGluaGVyaXRlZFByb3BzJDogYW55O1xuICBhckNoaWxkcmVuJDogYW55W107XG4gIHRlbXBsYXRlTmFtZSQ6IHN0cmluZztcbiAgdGl0bGUkID0gJyc7XG4gIGxhYmVsJCA9ICcnO1xuICBzaG93TGFiZWwkID0gZmFsc2U7XG4gIHZpc2liaWxpdHkkID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFuZ3VsYXJQQ29ubmVjdDogQW5ndWxhclBDb25uZWN0U2VydmljZSxcbiAgICBwcml2YXRlIHV0aWxzOiBVdGlsc1xuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG5cbiAgICB0aGlzLmNoZWNrQW5kVXBkYXRlKCk7XG4gIH1cblxuICAvLyBDYWxsYmFjayBwYXNzZWQgd2hlbiBzdWJzY3JpYmluZyB0byBzdG9yZSBjaGFuZ2VcbiAgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICB0aGlzLmNoZWNrQW5kVXBkYXRlKCk7XG4gIH1cblxuICBjaGVja0FuZFVwZGF0ZSgpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGNoZWNrIHRoZSBicmlkZ2UgdG8gc2VlIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkXG4gICAgLy8gdXBkYXRlIGl0c2VsZiAocmUtcmVuZGVyKVxuICAgIGNvbnN0IGJVcGRhdGVTZWxmID0gdGhpcy5hbmd1bGFyUENvbm5lY3Quc2hvdWxkQ29tcG9uZW50VXBkYXRlKHRoaXMpO1xuXG4gICAgLy8gT05MWSBjYWxsIHVwZGF0ZVNlbGYgd2hlbiB0aGUgY29tcG9uZW50IHNob3VsZCB1cGRhdGVcbiAgICBpZiAoYlVwZGF0ZVNlbGYpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZigpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCB7IHBDb25uJCB9ID0gY2hhbmdlcztcblxuICAgIGlmIChwQ29ubiQucHJldmlvdXNWYWx1ZSAmJiBwQ29ubiQucHJldmlvdXNWYWx1ZSAhPT0gcENvbm4kLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5jaGVja0FuZFVwZGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVNlbGYoKSB7XG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0LmdldENvbXBvbmVudElEKHRoaXMpID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBkZWJ1Z2dlcjtcblxuICAgIC8vIG5vcm1hbGl6ZSB0aGlzLnBDb25uJCBpbiBjYXNlIGl0IGNvbnRhaW5zIGEgJ3JlZmVyZW5jZSdcbiAgICB0aGlzLnBDb25uJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubih0aGlzLnBDb25uJCk7XG5cbiAgICB0aGlzLmNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLnJlc29sdmVDb25maWdQcm9wcyh0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpKSBhcyBWaWV3UHJvcHM7XG4gICAgdGhpcy5pbmhlcml0ZWRQcm9wcyQgPSB0aGlzLnBDb25uJC5nZXRJbmhlcml0ZWRQcm9wcygpO1xuXG4gICAgLy8gTk9URTogdGhpcy5jb25maWdQcm9wcyQudmlzaWJpbGl0eSddIGlzIHVzZWQgaW4gdmlldy5jb21wb25lbnQudHMgc3VjaCB0aGF0XG4gICAgLy8gIHRoZSBWaWV3IHdpbGwgb25seSBiZSByZW5kZXJlZCB3aGVuIHRoaXMuY29uZmlnUHJvcHMkLnZpc2liaWxpdHknXSBpcyBmYWxzZS5cbiAgICAvLyAgSXQgV0lMTCByZW5kZXIgaWYgdHJ1ZSBvciB1bmRlZmluZWQuXG5cbiAgICB0aGlzLnRlbXBsYXRlTmFtZSQgPSB0aGlzLmNvbmZpZ1Byb3BzJC50ZW1wbGF0ZSB8fCAnJztcbiAgICB0aGlzLnRpdGxlJCA9IHRoaXMuY29uZmlnUHJvcHMkLnRpdGxlIHx8ICcnO1xuICAgIHRoaXMubGFiZWwkID0gdGhpcy5jb25maWdQcm9wcyQubGFiZWwgfHwgJyc7XG4gICAgdGhpcy5zaG93TGFiZWwkID0gdGhpcy5jb25maWdQcm9wcyQuc2hvd0xhYmVsIHx8IHRoaXMuc2hvd0xhYmVsJDtcbiAgICAvLyBsYWJlbCAmIHNob3dMYWJlbCB3aXRoaW4gaW5oZXJpdGVkUHJvcHMgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGNvbmZpZ1Byb3BzXG4gICAgdGhpcy5sYWJlbCQgPSB0aGlzLmluaGVyaXRlZFByb3BzJC5sYWJlbCB8fCB0aGlzLmxhYmVsJDtcbiAgICB0aGlzLnNob3dMYWJlbCQgPSB0aGlzLmluaGVyaXRlZFByb3BzJC5zaG93TGFiZWwgfHwgdGhpcy5zaG93TGFiZWwkO1xuICAgIC8vIGNoaWxkcmVuIG1heSBoYXZlIGEgJ3JlZmVyZW5jZScgc28gbm9ybWFsaXplIHRoZSBjaGlsZHJlbiBhcnJheVxuICAgIHRoaXMuYXJDaGlsZHJlbiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm5BcnJheSh0aGlzLnBDb25uJC5nZXRDaGlsZHJlbigpKTtcblxuICAgIHRoaXMudmlzaWJpbGl0eSQgPSB0aGlzLmNvbmZpZ1Byb3BzJC52aXNpYmlsaXR5ID8/IHRoaXMudmlzaWJpbGl0eSQ7XG5cbiAgICAvKipcbiAgICAgKiBJbiBpbnN0YW5jZXMgd2hlcmUgdGhlcmUgaXMgY29udGV4dCwgbGlrZSB3aXRoIFwic2hpcHBpbmdBZGRyZXNzLFwiIHRoZSBwYWdlUmVmZXJlbmNlIGJlY29tZXMgXCJjYXNlSW5mby5jb250ZW50LnNoaXBwaW5nQWRkcmVzcy5cIlxuICAgICAqIFRoaXMgbGVhZHMgdG8gcHJvYmxlbXMgaW4gdGhlIGdldFByb3BlcnR5IEFQSSwgYXMgaXQgaW5jb3JyZWN0bHkgYXNzZXNzZXMgdGhlIHZpc2liaWxpdHkgY29uZGl0aW9uIGJ5IGxvb2tpbmcgaW4gdGhlIHdyb25nIGxvY2F0aW9uXG4gICAgICogaW4gdGhlIFN0b3JlIGZvciB0aGUgcHJvcGVydHkgdmFsdWVzLiBSZWZlcmVuY2UgY29tcG9uZW50IHNob3VsZCBiZSBhYmxlIHRvIGhhbmRsZSBzdWNoIHNjZW5hcmlvcyhhcyBkb25lIGluIFNESy1SKSBzaW5jZSBpdCBoYXMgdGhlXG4gICAgICogZXhwZWN0ZWQgcGFnZVJlZmVyZW5jZSB2YWx1ZXMsIHRoZSBWaWV3IGNvbXBvbmVudCBjdXJyZW50bHkgY2Fubm90IGhhbmRsZSB0aGlzLlxuICAgICAqIFRoZSByZXNvbHV0aW9uIGxpZXMgaW4gdHJhbnNmZXJyaW5nIHRoaXMgcmVzcG9uc2liaWxpdHkgdG8gdGhlIFJlZmVyZW5jZSBjb21wb25lbnQsIGVsaW1pbmF0aW5nIHRoZSBuZWVkIGZvciB0aGlzIGNvZGUgd2hlbiBSZWZlcmVuY2VcbiAgICAgKiBjb21wb25lbnQgaXMgYWJsZSB0byBoYW5kbGUgaXQuXG4gICAgICovXG4gICAgaWYgKCF0aGlzLmNvbmZpZ1Byb3BzJC52aXNpYmlsaXR5ICYmIHRoaXMucENvbm4kLmdldFBhZ2VSZWZlcmVuY2UoKS5sZW5ndGggPiAnY2FzZUluZm8uY29udGVudCcubGVuZ3RoKSB7XG4gICAgICB0aGlzLnZpc2liaWxpdHkkID0gZXZhbHVhdGVWaXNpYmlsaXR5KHRoaXMucENvbm4kKTtcbiAgICB9XG5cbiAgICAvLyB3YXM6ICB0aGlzLmFyQ2hpbGRyZW4kID0gdGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSBhcyBBcnJheTxhbnk+O1xuXG4gICAgLy8gZGVidWdcbiAgICAvLyBsZXQgIGtpZExpc3Q6IHN0cmluZyA9IFwiXCI7XG4gICAgLy8gZm9yIChsZXQgaSBpbiB0aGlzLmFyQ2hpbGRyZW4kKSB7XG4gICAgLy8gICBraWRMaXN0ID0ga2lkTGlzdC5jb25jYXQodGhpcy5hckNoaWxkcmVuJFtpXS5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKSkuY29uY2F0KFwiLFwiKTtcbiAgICAvLyB9XG4gICAgLy8gY29uc29sZS5sb2coXCItLT52aWV3IHVwZGF0ZTogXCIgKyB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5nZXRDb21wb25lbnRJRCh0aGlzKSArIFwiLCB0ZW1wbGF0ZTogXCIgKyB0aGlzLnRlbXBsYXRlTmFtZSQgKyBcIiwga2lkczogXCIgKyBraWRMaXN0KTtcbiAgfVxuXG4gIC8vIEpBIC0gYWRhcHRpbmcgYWRkaXRpb25hbFByb3BzIGZyb20gTmVidWxhL0NvbnN0ZWxsYXRpb24gdmVyc2lvbiB3aGljaCB1c2VzIHN0YXRpYyBtZXRob2RzXG4gIC8vICAgIG9uIHRoZSBjb21wb25lbnQgY2xhc3NlcyBzdG9yZWQgaW4gUENvbXBvbmVudHMgKHRoYXQgQW5ndWxhciBkb2Vzbid0IGhhdmUpLi4uXG4gIGFkZGl0aW9uYWxQcm9wcyhzdGF0ZTogYW55LCBnZXRQQ29ubmVjdDogYW55KSB7XG4gICAgbGV0IHByb3BPYmogPSB7fTtcblxuICAgIC8vIFdlIGFscmVhZHkgaGF2ZSB0aGUgdGVtcGxhdGUgbmFtZSBpbiB0aGlzLnRlbXBsYXRlTmFtZSRcbiAgICBpZiAodGhpcy50ZW1wbGF0ZU5hbWUkICE9PSAnJykge1xuICAgICAgbGV0IGFsbEZpZWxkcyA9IHt9O1xuXG4gICAgICAvLyBUaGVzZSB1c2VzIGFyZSBhZGFwdGVkIGZyb20gTmVidWxhL0NvbnN0ZWxsYXRpb24gQ2FzZVN1bW1hcnkuYWRkaXRpb25hbFByb3BzXG4gICAgICBzd2l0Y2ggKHRoaXMudGVtcGxhdGVOYW1lJCkge1xuICAgICAgICBjYXNlICdDYXNlU3VtbWFyeSc6XG4gICAgICAgICAgYWxsRmllbGRzID0gZ2V0QWxsRmllbGRzKGdldFBDb25uZWN0KTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY2FzZS1kZWNsYXJhdGlvbnNcbiAgICAgICAgICBjb25zdCB1bnJlc0ZpZWxkcyA9IHtcbiAgICAgICAgICAgIHByaW1hcnlGaWVsZHM6IGFsbEZpZWxkc1swXSxcbiAgICAgICAgICAgIHNlY29uZGFyeUZpZWxkczogYWxsRmllbGRzWzFdXG4gICAgICAgICAgfTtcbiAgICAgICAgICBwcm9wT2JqID0gZ2V0UENvbm5lY3QucmVzb2x2ZUNvbmZpZ1Byb3BzKHVucmVzRmllbGRzKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdEZXRhaWxzJzpcbiAgICAgICAgICBhbGxGaWVsZHMgPSBnZXRBbGxGaWVsZHMoZ2V0UENvbm5lY3QpO1xuICAgICAgICAgIHByb3BPYmogPSB7IGZpZWxkczogYWxsRmllbGRzWzBdIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BPYmo7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4pIHtcbiAgICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwidmlzaWJpbGl0eSQgIT09IGZhbHNlXCIgY2xhc3M9XCJuZy12aWV3LXRvcFwiPlxuICA8ZGl2ICpuZ0lmPVwic2hvd0xhYmVsJCAmJiBsYWJlbCQgJiYgIW5vSGVhZGVyVGVtcGxhdGVzLmluY2x1ZGVzKHRlbXBsYXRlTmFtZSQpXCIgY2xhc3M9XCJ0ZW1wbGF0ZS10aXRsZS1jb250YWluZXJcIj5cbiAgICA8c3Bhbj57eyBsYWJlbCQgfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZU5hbWUkOyBlbHNlIG5vVGVtcGxhdGVcIj5cbiAgICA8ZGl2PlxuICAgICAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICAgICAgW25hbWVdPVwidGVtcGxhdGVOYW1lJFwiXG4gICAgICAgIFtwcm9wc109XCJ7IGZvcm1Hcm91cCQsIHBDb25uJCwgZGlzcGxheU9ubHlGQSQgfVwiXG4gICAgICAgIGVycm9yTXNnPVwiVmlldyB0ZW1wbGF0ZSBub3QgcmVjb2duaXplZDogW3t7IHRlbXBsYXRlTmFtZSQgfX1dXCJcbiAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjbm9UZW1wbGF0ZT5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBraWQgb2YgYXJDaGlsZHJlbiRcIj5cbiAgICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAgIFtuYW1lXT1cImtpZC5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKVwiXG4gICAgICAgIFtwcm9wc109XCJ7IHBDb25uJDoga2lkLmdldFBDb25uZWN0KCkgfVwiXG4gICAgICAgIGVycm9yTXNnPVwiVmlldyBNaXNzaW5nIChkaXNwbGF5QWxsKToge3sga2lkLmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpIH19XCJcbiAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvdmlldy92aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS92aWV3L3ZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7OztBQUV4RyxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFDeEcsTUFBTSxpQkFBaUIsR0FBRztJQUN4QixTQUFTO0lBQ1QsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsbUJBQW1CO0NBQ3BCLENBQUM7QUFFRixTQUFTLGlCQUFpQixDQUFDLFFBQVE7SUFDakMsT0FBTyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVEOzs7O0dBSUc7QUFFSDs7OztHQUlHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxNQUFNO0lB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QyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOytHQUcxRCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBTaW1wbGVDaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFuZ3VsYXJQQ29ubmVjdERhdGEsIEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2FuZ3VsYXItcGNvbm5lY3QnO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9faGVscGVycy91dGlscyc7XG5pbXBvcnQgeyBnZXRBbGxGaWVsZHMgfSBmcm9tICcuLi8uLi90ZW1wbGF0ZS91dGlscyc7XG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG5jb25zdCBOT19IRUFERVJfVEVNUExBVEVTID0gWydTdWJUYWJzJywgJ1NpbXBsZVRhYmxlJywgJ0NvbmZpcm1hdGlvbicsICdEeW5hbWljVGFicycsICdEZXRhaWxzU3ViVGFicyddO1xuY29uc3QgREVUQUlMU19URU1QTEFURVMgPSBbXG4gICdEZXRhaWxzJyxcbiAgJ0RldGFpbHNGaWVsZHMnLFxuICAnRGV0YWlsc09uZUNvbHVtbicsXG4gICdEZXRhaWxzU3ViVGFicycsXG4gICdEZXRhaWxzVGhyZWVDb2x1bW4nLFxuICAnRGV0YWlsc1R3b0NvbHVtbicsXG4gICdOYXJyb3dXaWRlRGV0YWlscycsXG4gICdXaWRlTmFycm93RGV0YWlscydcbl07XG5cbmZ1bmN0aW9uIGlzRGV0YWlsc1RlbXBsYXRlKHRlbXBsYXRlKSB7XG4gIHJldHVybiBERVRBSUxTX1RFTVBMQVRFUy5pbmNsdWRlcyh0ZW1wbGF0ZSk7XG59XG5cbi8qKlxuICogV0FSTklORzogIEl0IGlzIG5vdCBleHBlY3RlZCB0aGF0IHRoaXMgZmlsZSBzaG91bGQgYmUgbW9kaWZpZWQuICBJdCBpcyBwYXJ0IG9mIGluZnJhc3RydWN0dXJlIGNvZGUgdGhhdCB3b3JrcyB3aXRoXG4gKiBSZWR1eCBhbmQgY3JlYXRpb24vdXBkYXRlIG9mIFJlZHV4IGNvbnRhaW5lcnMgYW5kIFBDb25uZWN0LiAgTW9kaWZ5aW5nIHRoaXMgY29kZSBjb3VsZCBoYXZlIHVuZGVzaXJlYWJsZSByZXN1bHRzIGFuZFxuICogaXMgdG90YWxseSBhdCB5b3VyIG93biByaXNrLlxuICovXG5cbi8qKlxuICpcbiAqIEBwYXJhbSBwQ29ubm4gLSBQQ29ubmVjdCBPYmplY3RcbiAqIEByZXR1cm5zIHZpc2liaWxpdHkgZXhwcmVzc2lvbiByZXN1bHQgaWYgZXhpc3RzLCBvdGhlcndpc2UgdHJ1ZVxuICovXG5mdW5jdGlvbiBldmFsdWF0ZVZpc2liaWxpdHkocENvbm5uKSB7XG4gIGxldCBiVmlzaWJpbGl0eSA9IHRydWU7XG4gIGNvbnN0IHNWaXNpYmlsaXR5ID0gcENvbm5uLm1ldGEuY29uZmlnLnZpc2liaWxpdHk7XG4gIGlmIChzVmlzaWJpbGl0eSAmJiBzVmlzaWJpbGl0eS5sZW5ndGgpIHtcbiAgICAvLyBlLmcuIFwiQEUgLkVtYmVkZGVkRGF0YV9TZWxlY3RlZFRlc3ROYW1lID09ICdSZWFkb25seScgJiYgLkVtYmVkZGVkRGF0YV9TZWxlY3RlZFN1YkNhdGVnb3J5ID09ICdNb2RlJ1wiXG4gICAgY29uc3QgYVZpc2liaWxpdHkgPSBzVmlzaWJpbGl0eS5zcGxpdCgnJiYnKTtcbiAgICAvLyBlLmcuIFtcIkVtYmVkZGVkRGF0YV9TZWxlY3RlZFRlc3ROYW1lXCI6IFwiUmVhZG9ubHlcIiwgXCJFbWJlZGRlZERhdGFfU2VsZWN0ZWRTdWJDYXRlZ29yeVwiOiBcIk1vZGVcIl1cbiAgICBjb25zdCBjb250ZXh0ID0gcENvbm5uLmdldENvbnRleHROYW1lKCk7XG4gICAgLy8gUmVhZGluZyB2YWx1ZXMgZnJvbSB0aGUgU3RvcmUgdG8gZXZhbHVhdGUgdGhlIHZpc2liaWxpdHkgZXhwcmVzc2lvbnNcbiAgICBjb25zdCBzdG9yZURhdGEgPSBQQ29yZS5nZXRTdG9yZSgpLmdldFN0YXRlKCk/LmRhdGFbY29udGV4dF0uY2FzZUluZm8uY29udGVudDtcblxuICAgIGNvbnN0IGluaXRpYWxWYWwgPSB7fTtcbiAgICBjb25zdCBvUHJvcGVydGllcyA9IGFWaXNpYmlsaXR5LnJlZHVjZSgocHJvcGVydGllcywgcHJvcGVydHkpID0+IHtcbiAgICAgIGNvbnN0IGtleVN0YXJ0SW5kZXggPSBwcm9wZXJ0eS5pbmRleE9mKCcuJyk7XG4gICAgICBjb25zdCBrZXlFbmRJbmRleCA9IHByb3BlcnR5LmluZGV4T2YoJz0nKSAtIDE7XG4gICAgICBjb25zdCB2YWx1ZVN0YXJ0SW5kZXggPSBwcm9wZXJ0eS5pbmRleE9mKFwiJ1wiKTtcbiAgICAgIGNvbnN0IHZhbHVlRW5kSW5kZXggPSBwcm9wZXJ0eS5sYXN0SW5kZXhPZihcIidcIikgLSAxO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucHJvcGVydGllcyxcbiAgICAgICAgW3Byb3BlcnR5LnN1YnN0cihrZXlTdGFydEluZGV4ICsgMSwga2V5RW5kSW5kZXggLSBrZXlTdGFydEluZGV4IC0gMSldOiBwcm9wZXJ0eS5zdWJzdHIodmFsdWVTdGFydEluZGV4ICsgMSwgdmFsdWVFbmRJbmRleCAtIHZhbHVlU3RhcnRJbmRleClcbiAgICAgIH07XG4gICAgfSwgaW5pdGlhbFZhbCk7XG5cbiAgICBjb25zdCBwcm9wZXJ0eUtleXMgPSBPYmplY3Qua2V5cyhvUHJvcGVydGllcyk7XG4gICAgY29uc3QgcHJvcGVydHlWYWx1ZXMgPSBPYmplY3QudmFsdWVzKG9Qcm9wZXJ0aWVzKTtcblxuICAgIGZvciAobGV0IHByb3BlcnR5SW5kZXggPSAwOyBwcm9wZXJ0eUluZGV4IDwgcHJvcGVydHlLZXlzLmxlbmd0aDsgcHJvcGVydHlJbmRleCsrKSB7XG4gICAgICBpZiAoc3RvcmVEYXRhW3Byb3BlcnR5S2V5c1twcm9wZXJ0eUluZGV4XV0gIT09IHByb3BlcnR5VmFsdWVzW3Byb3BlcnR5SW5kZXhdKSB7XG4gICAgICAgIGJWaXNpYmlsaXR5ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBiVmlzaWJpbGl0eTtcbn1cblxuaW50ZXJmYWNlIFZpZXdQcm9wcyB7XG4gIC8vIElmIGFueSwgZW50ZXIgYWRkaXRpb25hbCBwcm9wcyB0aGF0IG9ubHkgZXhpc3Qgb24gdGhpcyBjb21wb25lbnRcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBzaG93TGFiZWw6IGJvb2xlYW47XG4gIHRpdGxlPzogc3RyaW5nO1xuICB2aXNpYmlsaXR5PzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGRpc3BsYXlPbmx5RkEkOiBib29sZWFuO1xuICAvLyBASW5wdXQoKSB1cGRhdGVUb2tlbiQ6IG51bWJlcjtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG5cbiAgbm9IZWFkZXJUZW1wbGF0ZXMgPSBOT19IRUFERVJfVEVNUExBVEVTO1xuXG4gIGNvbmZpZ1Byb3BzJDogVmlld1Byb3BzO1xuICBpbmhlcml0ZWRQcm9wcyQ6IGFueTtcbiAgYXJDaGlsZHJlbiQ6IGFueVtdO1xuICB0ZW1wbGF0ZU5hbWUkOiBzdHJpbmc7XG4gIHRpdGxlJCA9ICcnO1xuICBsYWJlbCQgPSAnJztcbiAgc2hvd0xhYmVsJCA9IGZhbHNlO1xuICB2aXNpYmlsaXR5JCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1dGlsczogVXRpbHNcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIEZpcnN0IHRoaW5nIGluIGluaXRpYWxpemF0aW9uIGlzIHJlZ2lzdGVyaW5nIGFuZCBzdWJzY3JpYmluZyB0byB0aGUgQW5ndWxhclBDb25uZWN0IHNlcnZpY2VcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5yZWdpc3RlckFuZFN1YnNjcmliZUNvbXBvbmVudCh0aGlzLCB0aGlzLm9uU3RhdGVDaGFuZ2UpO1xuXG4gICAgdGhpcy5jaGVja0FuZFVwZGF0ZSgpO1xuICB9XG5cbiAgLy8gQ2FsbGJhY2sgcGFzc2VkIHdoZW4gc3Vic2NyaWJpbmcgdG8gc3RvcmUgY2hhbmdlXG4gIG9uU3RhdGVDaGFuZ2UoKSB7XG4gICAgdGhpcy5jaGVja0FuZFVwZGF0ZSgpO1xuICB9XG5cbiAgY2hlY2tBbmRVcGRhdGUoKSB7XG4gICAgLy8gU2hvdWxkIGFsd2F5cyBjaGVjayB0aGUgYnJpZGdlIHRvIHNlZSBpZiB0aGUgY29tcG9uZW50IHNob3VsZFxuICAgIC8vIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIC8vIE9OTFkgY2FsbCB1cGRhdGVTZWxmIHdoZW4gdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlXG4gICAgaWYgKGJVcGRhdGVTZWxmKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgeyBwQ29ubiQgfSA9IGNoYW5nZXM7XG5cbiAgICBpZiAocENvbm4kLnByZXZpb3VzVmFsdWUgJiYgcENvbm4kLnByZXZpb3VzVmFsdWUgIT09IHBDb25uJC5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVTZWxmKCkge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdC5nZXRDb21wb25lbnRJRCh0aGlzKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gZGVidWdnZXI7XG5cbiAgICAvLyBub3JtYWxpemUgdGhpcy5wQ29ubiQgaW4gY2FzZSBpdCBjb250YWlucyBhICdyZWZlcmVuY2UnXG4gICAgdGhpcy5wQ29ubiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm4odGhpcy5wQ29ubiQpO1xuXG4gICAgdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLnBDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSkgYXMgVmlld1Byb3BzO1xuICAgIHRoaXMuaW5oZXJpdGVkUHJvcHMkID0gdGhpcy5wQ29ubiQuZ2V0SW5oZXJpdGVkUHJvcHMoKTtcblxuICAgIC8vIE5PVEU6IHRoaXMuY29uZmlnUHJvcHMkLnZpc2liaWxpdHknXSBpcyB1c2VkIGluIHZpZXcuY29tcG9uZW50LnRzIHN1Y2ggdGhhdFxuICAgIC8vICB0aGUgVmlldyB3aWxsIG9ubHkgYmUgcmVuZGVyZWQgd2hlbiB0aGlzLmNvbmZpZ1Byb3BzJC52aXNpYmlsaXR5J10gaXMgZmFsc2UuXG4gICAgLy8gIEl0IFdJTEwgcmVuZGVyIGlmIHRydWUgb3IgdW5kZWZpbmVkLlxuXG4gICAgdGhpcy50ZW1wbGF0ZU5hbWUkID0gdGhpcy5jb25maWdQcm9wcyQudGVtcGxhdGUgfHwgJyc7XG4gICAgdGhpcy50aXRsZSQgPSB0aGlzLmNvbmZpZ1Byb3BzJC50aXRsZSB8fCAnJztcbiAgICB0aGlzLmxhYmVsJCA9IHRoaXMuY29uZmlnUHJvcHMkLmxhYmVsIHx8ICcnO1xuICAgIHRoaXMuc2hvd0xhYmVsJCA9IHRoaXMuY29uZmlnUHJvcHMkLnNob3dMYWJlbCB8fCBpc0RldGFpbHNUZW1wbGF0ZSh0aGlzLnRlbXBsYXRlTmFtZSQpIHx8IHRoaXMuc2hvd0xhYmVsJDtcbiAgICAvLyBsYWJlbCAmIHNob3dMYWJlbCB3aXRoaW4gaW5oZXJpdGVkUHJvcHMgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGNvbmZpZ1Byb3BzXG4gICAgdGhpcy5sYWJlbCQgPSB0aGlzLmluaGVyaXRlZFByb3BzJC5sYWJlbCB8fCB0aGlzLmxhYmVsJDtcbiAgICB0aGlzLnNob3dMYWJlbCQgPSB0aGlzLmluaGVyaXRlZFByb3BzJC5zaG93TGFiZWwgfHwgdGhpcy5zaG93TGFiZWwkO1xuICAgIC8vIGNoaWxkcmVuIG1heSBoYXZlIGEgJ3JlZmVyZW5jZScgc28gbm9ybWFsaXplIHRoZSBjaGlsZHJlbiBhcnJheVxuICAgIHRoaXMuYXJDaGlsZHJlbiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm5BcnJheSh0aGlzLnBDb25uJC5nZXRDaGlsZHJlbigpKTtcblxuICAgIHRoaXMudmlzaWJpbGl0eSQgPSB0aGlzLmNvbmZpZ1Byb3BzJC52aXNpYmlsaXR5ID8/IHRoaXMudmlzaWJpbGl0eSQ7XG5cbiAgICAvKipcbiAgICAgKiBJbiBpbnN0YW5jZXMgd2hlcmUgdGhlcmUgaXMgY29udGV4dCwgbGlrZSB3aXRoIFwic2hpcHBpbmdBZGRyZXNzLFwiIHRoZSBwYWdlUmVmZXJlbmNlIGJlY29tZXMgXCJjYXNlSW5mby5jb250ZW50LnNoaXBwaW5nQWRkcmVzcy5cIlxuICAgICAqIFRoaXMgbGVhZHMgdG8gcHJvYmxlbXMgaW4gdGhlIGdldFByb3BlcnR5IEFQSSwgYXMgaXQgaW5jb3JyZWN0bHkgYXNzZXNzZXMgdGhlIHZpc2liaWxpdHkgY29uZGl0aW9uIGJ5IGxvb2tpbmcgaW4gdGhlIHdyb25nIGxvY2F0aW9uXG4gICAgICogaW4gdGhlIFN0b3JlIGZvciB0aGUgcHJvcGVydHkgdmFsdWVzLiBSZWZlcmVuY2UgY29tcG9uZW50IHNob3VsZCBiZSBhYmxlIHRvIGhhbmRsZSBzdWNoIHNjZW5hcmlvcyhhcyBkb25lIGluIFNESy1SKSBzaW5jZSBpdCBoYXMgdGhlXG4gICAgICogZXhwZWN0ZWQgcGFnZVJlZmVyZW5jZSB2YWx1ZXMsIHRoZSBWaWV3IGNvbXBvbmVudCBjdXJyZW50bHkgY2Fubm90IGhhbmRsZSB0aGlzLlxuICAgICAqIFRoZSByZXNvbHV0aW9uIGxpZXMgaW4gdHJhbnNmZXJyaW5nIHRoaXMgcmVzcG9uc2liaWxpdHkgdG8gdGhlIFJlZmVyZW5jZSBjb21wb25lbnQsIGVsaW1pbmF0aW5nIHRoZSBuZWVkIGZvciB0aGlzIGNvZGUgd2hlbiBSZWZlcmVuY2VcbiAgICAgKiBjb21wb25lbnQgaXMgYWJsZSB0byBoYW5kbGUgaXQuXG4gICAgICovXG4gICAgaWYgKCF0aGlzLmNvbmZpZ1Byb3BzJC52aXNpYmlsaXR5ICYmIHRoaXMucENvbm4kLmdldFBhZ2VSZWZlcmVuY2UoKS5sZW5ndGggPiAnY2FzZUluZm8uY29udGVudCcubGVuZ3RoKSB7XG4gICAgICB0aGlzLnZpc2liaWxpdHkkID0gZXZhbHVhdGVWaXNpYmlsaXR5KHRoaXMucENvbm4kKTtcbiAgICB9XG5cbiAgICAvLyB3YXM6ICB0aGlzLmFyQ2hpbGRyZW4kID0gdGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSBhcyBBcnJheTxhbnk+O1xuXG4gICAgLy8gZGVidWdcbiAgICAvLyBsZXQgIGtpZExpc3Q6IHN0cmluZyA9IFwiXCI7XG4gICAgLy8gZm9yIChsZXQgaSBpbiB0aGlzLmFyQ2hpbGRyZW4kKSB7XG4gICAgLy8gICBraWRMaXN0ID0ga2lkTGlzdC5jb25jYXQodGhpcy5hckNoaWxkcmVuJFtpXS5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKSkuY29uY2F0KFwiLFwiKTtcbiAgICAvLyB9XG4gICAgLy8gY29uc29sZS5sb2coXCItLT52aWV3IHVwZGF0ZTogXCIgKyB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5nZXRDb21wb25lbnRJRCh0aGlzKSArIFwiLCB0ZW1wbGF0ZTogXCIgKyB0aGlzLnRlbXBsYXRlTmFtZSQgKyBcIiwga2lkczogXCIgKyBraWRMaXN0KTtcbiAgfVxuXG4gIC8vIEpBIC0gYWRhcHRpbmcgYWRkaXRpb25hbFByb3BzIGZyb20gTmVidWxhL0NvbnN0ZWxsYXRpb24gdmVyc2lvbiB3aGljaCB1c2VzIHN0YXRpYyBtZXRob2RzXG4gIC8vICAgIG9uIHRoZSBjb21wb25lbnQgY2xhc3NlcyBzdG9yZWQgaW4gUENvbXBvbmVudHMgKHRoYXQgQW5ndWxhciBkb2Vzbid0IGhhdmUpLi4uXG4gIGFkZGl0aW9uYWxQcm9wcyhzdGF0ZTogYW55LCBnZXRQQ29ubmVjdDogYW55KSB7XG4gICAgbGV0IHByb3BPYmogPSB7fTtcblxuICAgIC8vIFdlIGFscmVhZHkgaGF2ZSB0aGUgdGVtcGxhdGUgbmFtZSBpbiB0aGlzLnRlbXBsYXRlTmFtZSRcbiAgICBpZiAodGhpcy50ZW1wbGF0ZU5hbWUkICE9PSAnJykge1xuICAgICAgbGV0IGFsbEZpZWxkcyA9IHt9O1xuXG4gICAgICAvLyBUaGVzZSB1c2VzIGFyZSBhZGFwdGVkIGZyb20gTmVidWxhL0NvbnN0ZWxsYXRpb24gQ2FzZVN1bW1hcnkuYWRkaXRpb25hbFByb3BzXG4gICAgICBzd2l0Y2ggKHRoaXMudGVtcGxhdGVOYW1lJCkge1xuICAgICAgICBjYXNlICdDYXNlU3VtbWFyeSc6XG4gICAgICAgICAgYWxsRmllbGRzID0gZ2V0QWxsRmllbGRzKGdldFBDb25uZWN0KTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY2FzZS1kZWNsYXJhdGlvbnNcbiAgICAgICAgICBjb25zdCB1bnJlc0ZpZWxkcyA9IHtcbiAgICAgICAgICAgIHByaW1hcnlGaWVsZHM6IGFsbEZpZWxkc1swXSxcbiAgICAgICAgICAgIHNlY29uZGFyeUZpZWxkczogYWxsRmllbGRzWzFdXG4gICAgICAgICAgfTtcbiAgICAgICAgICBwcm9wT2JqID0gZ2V0UENvbm5lY3QucmVzb2x2ZUNvbmZpZ1Byb3BzKHVucmVzRmllbGRzKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdEZXRhaWxzJzpcbiAgICAgICAgICBhbGxGaWVsZHMgPSBnZXRBbGxGaWVsZHMoZ2V0UENvbm5lY3QpO1xuICAgICAgICAgIHByb3BPYmogPSB7IGZpZWxkczogYWxsRmllbGRzWzBdIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BPYmo7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4pIHtcbiAgICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwidmlzaWJpbGl0eSQgIT09IGZhbHNlXCIgY2xhc3M9XCJuZy12aWV3LXRvcFwiPlxuICA8ZGl2ICpuZ0lmPVwic2hvd0xhYmVsJCAmJiBsYWJlbCQgJiYgIW5vSGVhZGVyVGVtcGxhdGVzLmluY2x1ZGVzKHRlbXBsYXRlTmFtZSQpXCIgY2xhc3M9XCJ0ZW1wbGF0ZS10aXRsZS1jb250YWluZXJcIj5cbiAgICA8c3Bhbj57eyBsYWJlbCQgfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZU5hbWUkOyBlbHNlIG5vVGVtcGxhdGVcIj5cbiAgICA8ZGl2PlxuICAgICAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICAgICAgW25hbWVdPVwidGVtcGxhdGVOYW1lJFwiXG4gICAgICAgIFtwcm9wc109XCJ7IGZvcm1Hcm91cCQsIHBDb25uJCwgZGlzcGxheU9ubHlGQSQgfVwiXG4gICAgICAgIGVycm9yTXNnPVwiVmlldyB0ZW1wbGF0ZSBub3QgcmVjb2duaXplZDogW3t7IHRlbXBsYXRlTmFtZSQgfX1dXCJcbiAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjbm9UZW1wbGF0ZT5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBraWQgb2YgYXJDaGlsZHJlbiRcIj5cbiAgICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAgIFtuYW1lXT1cImtpZC5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKVwiXG4gICAgICAgIFtwcm9wc109XCJ7IHBDb25uJDoga2lkLmdldFBDb25uZWN0KCkgfVwiXG4gICAgICAgIGVycm9yTXNnPVwiVmlldyBNaXNzaW5nIChkaXNwbGF5QWxsKToge3sga2lkLmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpIH19XCJcbiAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { AngularPConnectService } from '../../../_bridge/angular-pconnect';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DetailsTemplateBase {
|
|
5
|
+
constructor(injector) {
|
|
6
|
+
// For interaction with AngularPConnect
|
|
7
|
+
this.angularPConnectData = {};
|
|
8
|
+
this.angularPConnect = injector.get(AngularPConnectService);
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
// First thing in initialization is registering and subscribing to the AngularPConnect service
|
|
12
|
+
this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
|
|
13
|
+
this.checkAndUpdate();
|
|
14
|
+
}
|
|
15
|
+
ngOnDestroy() {
|
|
16
|
+
if (this.angularPConnectData.unsubscribeFn) {
|
|
17
|
+
this.angularPConnectData.unsubscribeFn();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
onStateChange() {
|
|
21
|
+
this.checkAndUpdate();
|
|
22
|
+
}
|
|
23
|
+
checkAndUpdate() {
|
|
24
|
+
// Should always check the bridge to see if the component should update itself (re-render)
|
|
25
|
+
const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
|
|
26
|
+
// Only call updateSelf when the component should update
|
|
27
|
+
if (bUpdateSelf || this.hasRawMetadataChanged()) {
|
|
28
|
+
this.updateSelf();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// this method will get overriden by the child component
|
|
32
|
+
updateSelf() { }
|
|
33
|
+
hasRawMetadataChanged() {
|
|
34
|
+
const newChildrenMetadata = this.fetchChildrenMetadata();
|
|
35
|
+
if (!PCore.isDeepEqual(newChildrenMetadata, this.childrenMetadataOld)) {
|
|
36
|
+
this.childrenMetadataOld = newChildrenMetadata;
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
fetchChildrenMetadata() {
|
|
42
|
+
const children = this.pConn$.getChildren() || [];
|
|
43
|
+
return children.map(child => {
|
|
44
|
+
const pConnect = child.getPConnect();
|
|
45
|
+
return pConnect.resolveConfigProps(pConnect.getRawMetadata());
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsTemplateBase, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
49
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: DetailsTemplateBase, inputs: { pConn$: "pConn$" }, ngImport: i0 }); }
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsTemplateBase, decorators: [{
|
|
52
|
+
type: Directive
|
|
53
|
+
}], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { pConn$: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}] } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy10ZW1wbGF0ZS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL3RlbXBsYXRlL2Jhc2UvZGV0YWlscy10ZW1wbGF0ZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQStCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQXVCLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBR2hHLE1BQU0sT0FBTyxtQkFBbUI7SUFTOUIsWUFBWSxRQUFrQjtRQU45Qix1Q0FBdUM7UUFDN0Isd0JBQW1CLEdBQXdCLEVBQUUsQ0FBQztRQU10RCxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsUUFBUTtRQUNOLDhGQUE4RjtRQUM5RixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXhHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7UUFDWiwwRkFBMEY7UUFDMUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyRSx3REFBd0Q7UUFDeEQsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsVUFBVSxLQUFJLENBQUM7SUFFZixxQkFBcUI7UUFDbkIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUV6RCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztZQUMvQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFakQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxPQUFPLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBN0RVLG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTOzZFQUVDLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0LCBPbkRlc3Ryb3ksIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIERldGFpbHNUZW1wbGF0ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuXG4gIC8vIEZvciBpbnRlcmFjdGlvbiB3aXRoIEFuZ3VsYXJQQ29ubmVjdFxuICBwcm90ZWN0ZWQgYW5ndWxhclBDb25uZWN0RGF0YTogQW5ndWxhclBDb25uZWN0RGF0YSA9IHt9O1xuICBwcm90ZWN0ZWQgYW5ndWxhclBDb25uZWN0O1xuXG4gIGNoaWxkcmVuTWV0YWRhdGFPbGQ7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3QgPSBpbmplY3Rvci5nZXQoQW5ndWxhclBDb25uZWN0U2VydmljZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBGaXJzdCB0aGluZyBpbiBpbml0aWFsaXphdGlvbiBpcyByZWdpc3RlcmluZyBhbmQgc3Vic2NyaWJpbmcgdG8gdGhlIEFuZ3VsYXJQQ29ubmVjdCBzZXJ2aWNlXG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhID0gdGhpcy5hbmd1bGFyUENvbm5lY3QucmVnaXN0ZXJBbmRTdWJzY3JpYmVDb21wb25lbnQodGhpcywgdGhpcy5vblN0YXRlQ2hhbmdlKTtcblxuICAgIHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcbiAgfVxuXG4gIGNoZWNrQW5kVXBkYXRlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlIGl0c2VsZiAocmUtcmVuZGVyKVxuICAgIGNvbnN0IGJVcGRhdGVTZWxmID0gdGhpcy5hbmd1bGFyUENvbm5lY3Quc2hvdWxkQ29tcG9uZW50VXBkYXRlKHRoaXMpO1xuXG4gICAgLy8gT25seSBjYWxsIHVwZGF0ZVNlbGYgd2hlbiB0aGUgY29tcG9uZW50IHNob3VsZCB1cGRhdGVcbiAgICBpZiAoYlVwZGF0ZVNlbGYgfHwgdGhpcy5oYXNSYXdNZXRhZGF0YUNoYW5nZWQoKSkge1xuICAgICAgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gdGhpcyBtZXRob2Qgd2lsbCBnZXQgb3ZlcnJpZGVuIGJ5IHRoZSBjaGlsZCBjb21wb25lbnRcbiAgdXBkYXRlU2VsZigpIHt9XG5cbiAgaGFzUmF3TWV0YWRhdGFDaGFuZ2VkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG5ld0NoaWxkcmVuTWV0YWRhdGEgPSB0aGlzLmZldGNoQ2hpbGRyZW5NZXRhZGF0YSgpO1xuXG4gICAgaWYgKCFQQ29yZS5pc0RlZXBFcXVhbChuZXdDaGlsZHJlbk1ldGFkYXRhLCB0aGlzLmNoaWxkcmVuTWV0YWRhdGFPbGQpKSB7XG4gICAgICB0aGlzLmNoaWxkcmVuTWV0YWRhdGFPbGQgPSBuZXdDaGlsZHJlbk1ldGFkYXRhO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZmV0Y2hDaGlsZHJlbk1ldGFkYXRhKCkge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSB8fCBbXTtcblxuICAgIHJldHVybiBjaGlsZHJlbi5tYXAoY2hpbGQgPT4ge1xuICAgICAgY29uc3QgcENvbm5lY3QgPSBjaGlsZC5nZXRQQ29ubmVjdCgpO1xuICAgICAgcmV0dXJuIHBDb25uZWN0LnJlc29sdmVDb25maWdQcm9wcyhwQ29ubmVjdC5nZXRSYXdNZXRhZGF0YSgpKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FormTemplateBase {
|
|
4
|
+
ngOnDestroy() {
|
|
5
|
+
PCore.getContextTreeManager().removeContextTreeNode(this.pConn$.getContextName());
|
|
6
|
+
if (this.angularPConnectData.unsubscribeFn) {
|
|
7
|
+
this.angularPConnectData.unsubscribeFn();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormTemplateBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
11
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormTemplateBase, ngImport: i0 }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormTemplateBase, decorators: [{
|
|
14
|
+
type: Directive
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZW1wbGF0ZS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL3RlbXBsYXRlL2Jhc2UvZm9ybS10ZW1wbGF0ZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBSXJELE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsV0FBVztRQUNULEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUVsRixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7K0dBVlUsZ0JBQWdCO21HQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSB9IGZyb20gJ3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGknO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBGb3JtVGVtcGxhdGVCYXNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcENvbm4kOiBhbnk7XG4gIGFuZ3VsYXJQQ29ubmVjdERhdGE6IEFuZ3VsYXJQQ29ubmVjdERhdGE7XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgUENvcmUuZ2V0Q29udGV4dFRyZWVNYW5hZ2VyKCkucmVtb3ZlQ29udGV4dFRyZWVOb2RlKHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCkpO1xuXG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbigpO1xuICAgIH1cbiAgfVxufVxuIl19
|