@valtimo/dossier-management 12.0.0 → 12.1.0
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/components/dossier-management-detail-container/dossier-management-detail-container.component.mjs +8 -5
- package/esm2022/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.mjs +3 -3
- package/esm2022/lib/components/dossier-management-list/dossier-management-list.component.mjs +1 -1
- package/esm2022/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.mjs +1 -1
- package/esm2022/lib/components/dossier-management-processes/dossier-management-processes.component.mjs +1 -1
- package/esm2022/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.mjs +8 -11
- package/esm2022/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.mjs +2 -2
- package/esm2022/lib/components/dossier-management-statuses/dossier-management-statuses.component.mjs +3 -3
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.mjs +39 -17
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component.mjs +4 -3
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-tabs.component.mjs +57 -27
- package/esm2022/lib/components/dossier-management-tabs/tab-form/tab-form.component.mjs +47 -14
- package/esm2022/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.mjs +218 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.mjs +104 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.mjs +194 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.mjs +133 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.mjs +107 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/index.mjs +21 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.mjs +96 -0
- package/esm2022/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.mjs +160 -0
- package/esm2022/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.mjs +208 -0
- package/esm2022/lib/components/dossier-management-widget-tab/json-editor/dossier-management-widgets-json-editor.component.mjs +190 -0
- package/esm2022/lib/components/dossier-management-widget-tab-edit-modal/dossier-management-widget-tab-edit-modal.mjs +110 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.mjs +160 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/index.mjs +26 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-content-step/widget-wizard-content-step.component.mjs +52 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.mjs +41 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.mjs +45 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-width-step/widget-wizard-width-step.component.mjs +43 -0
- package/esm2022/lib/dossier-management-routing.module.mjs +14 -1
- package/esm2022/lib/dossier-management.module.mjs +7 -3
- package/esm2022/lib/models/index.mjs +5 -2
- package/esm2022/lib/models/widget-content.model.mjs +17 -0
- package/esm2022/lib/models/widget-editor.model.mjs +30 -0
- package/esm2022/lib/models/widget-wizard.model.mjs +78 -0
- package/esm2022/lib/services/index.mjs +8 -4
- package/esm2022/lib/services/tab-management.service.mjs +12 -6
- package/esm2022/lib/services/tab.service.mjs +2 -1
- package/esm2022/lib/services/widget-fields.service.mjs +104 -0
- package/esm2022/lib/services/widget-json-editor.service.mjs +31 -0
- package/esm2022/lib/services/widget-tab-management.service.mjs +26 -0
- package/esm2022/lib/services/widget-wizard.service.mjs +41 -0
- package/fesm2022/valtimo-dossier-management.mjs +4568 -2461
- package/fesm2022/valtimo-dossier-management.mjs.map +1 -1
- package/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.d.ts.map +1 -1
- package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts.map +1 -1
- package/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.d.ts +1 -0
- package/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.d.ts.map +1 -1
- package/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.d.ts +7 -9
- package/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.d.ts.map +1 -1
- package/lib/components/dossier-management-tabs/dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component.d.ts.map +1 -1
- package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts +10 -5
- package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts.map +1 -1
- package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts +13 -4
- package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts.map +1 -1
- package/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.d.ts +57 -0
- package/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.d.ts +40 -0
- package/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts +50 -0
- package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts +38 -0
- package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.d.ts +41 -0
- package/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/index.d.ts +6 -0
- package/lib/components/dossier-management-widget-configurators/index.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.d.ts +32 -0
- package/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.d.ts +50 -0
- package/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.d.ts +40 -0
- package/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-tab/json-editor/dossier-management-widgets-json-editor.component.d.ts +47 -0
- package/lib/components/dossier-management-widget-tab/json-editor/dossier-management-widgets-json-editor.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-tab-edit-modal/dossier-management-widget-tab-edit-modal.d.ts +32 -0
- package/lib/components/dossier-management-widget-tab-edit-modal/dossier-management-widget-tab-edit-modal.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.d.ts +34 -0
- package/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/steps/index.d.ts +6 -0
- package/lib/components/dossier-management-widget-wizard/steps/index.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-content-step/widget-wizard-content-step.component.d.ts +15 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-content-step/widget-wizard-content-step.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.d.ts +15 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.d.ts +15 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-width-step/widget-wizard-width-step.component.d.ts +16 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-width-step/widget-wizard-width-step.component.d.ts.map +1 -0
- package/lib/dossier-management-routing.module.d.ts.map +1 -1
- package/lib/dossier-management.module.d.ts +2 -1
- package/lib/dossier-management.module.d.ts.map +1 -1
- package/lib/models/index.d.ts +4 -1
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/widget-content.model.d.ts +5 -0
- package/lib/models/widget-content.model.d.ts.map +1 -0
- package/lib/models/widget-editor.model.d.ts +10 -0
- package/lib/models/widget-editor.model.d.ts.map +1 -0
- package/lib/models/widget-wizard.model.d.ts +29 -0
- package/lib/models/widget-wizard.model.d.ts.map +1 -0
- package/lib/services/index.d.ts +7 -3
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/tab-management.service.d.ts +3 -1
- package/lib/services/tab-management.service.d.ts.map +1 -1
- package/lib/services/tab.service.d.ts +1 -0
- package/lib/services/tab.service.d.ts.map +1 -1
- package/lib/services/widget-fields.service.d.ts +17 -0
- package/lib/services/widget-fields.service.d.ts.map +1 -0
- package/lib/services/widget-json-editor.service.d.ts +7 -0
- package/lib/services/widget-json-editor.service.d.ts.map +1 -0
- package/lib/services/widget-tab-management.service.d.ts +16 -0
- package/lib/services/widget-tab-management.service.d.ts.map +1 -0
- package/lib/services/widget-wizard.service.d.ts +18 -0
- package/lib/services/widget-wizard.service.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -36,6 +36,7 @@ export class DossierManagementEditTabModalComponent {
|
|
|
36
36
|
name: this.fb.control(value.name),
|
|
37
37
|
key: this.fb.control({ value: value.key, disabled: true }, Validators.required),
|
|
38
38
|
contentKey: this.fb.control(value.contentKey, Validators.required),
|
|
39
|
+
showTasks: this.fb.control(value.showTasks, Validators.required),
|
|
39
40
|
});
|
|
40
41
|
}
|
|
41
42
|
get tab() {
|
|
@@ -50,11 +51,11 @@ export class DossierManagementEditTabModalComponent {
|
|
|
50
51
|
this.closeModalEvent.emit(null);
|
|
51
52
|
}
|
|
52
53
|
editTab() {
|
|
53
|
-
const { contentKey, name } = this.form.getRawValue();
|
|
54
|
+
const { contentKey, name, showTasks } = this.form.getRawValue();
|
|
54
55
|
if (!contentKey) {
|
|
55
56
|
return;
|
|
56
57
|
}
|
|
57
|
-
this.closeModalEvent.emit({ ...this.tab, name, contentKey });
|
|
58
|
+
this.closeModalEvent.emit({ ...this.tab, name, contentKey, showTasks });
|
|
58
59
|
}
|
|
59
60
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementEditTabModalComponent, deps: [{ token: i1.FormBuilder }, { token: i2.TabService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
61
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementEditTabModalComponent, selector: "valtimo-dossier-management-edit-tab-modal", inputs: { open: "open", tab: "tab" }, outputs: { closeModalEvent: "closeModalEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal valtimoCdsModal *ngIf=\"form\" [open]=\"open\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n 'dossierManagement.tabManagement.editModal.title'\n | translate: {name: tab?.name ?? 'dossier.tabs.' + tab.key | translate}\n }}\n </h3>\n </cds-modal-header>\n\n <section [formGroup]=\"form\" cdsModalContent>\n <valtimo-tab-form\n [configuredContentKeys]=\"configuredKeysForEdit\"\n [tabType]=\"tab?.type\"\n ></valtimo-tab-form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"editTab()\">\n {{ 'dossierManagement.tabManagement.editModal.updateTab' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i6.TabFormComponent, selector: "valtimo-tab-form", inputs: ["tabType"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
@@ -69,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
69
70
|
}], closeModalEvent: [{
|
|
70
71
|
type: Output
|
|
71
72
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LWVkaXQtdGFiLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy9kb3NzaWVyLW1hbmFnZW1lbnQtZWRpdC10YWItbW9kYWwvZG9zc2llci1tYW5hZ2VtZW50LWVkaXQtdGFiLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy9kb3NzaWVyLW1hbmFnZW1lbnQtZWRpdC10YWItbW9kYWwvZG9zc2llci1tYW5hZ2VtZW50LWVkaXQtdGFiLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQXlCLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFRbEUsTUFBTSxPQUFPLHNDQUFzQztJQUlqRCxJQUFvQixHQUFHLENBQUMsS0FBaUI7UUFDdkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUN2RSxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxVQUFVLENBQ2hELENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNqQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM3RSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDakUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBT0QsWUFDbUIsRUFBZSxFQUNmLFVBQXNCO1FBRHRCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBUC9CLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFRL0QsQ0FBQztJQUVHLFlBQVk7UUFDakIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLE9BQU87UUFDWixNQUFNLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTlELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDOzhHQWpEVSxzQ0FBc0M7a0dBQXRDLHNDQUFzQyx3S0N4Qm5ELDRqREEyQ0E7OzJGRG5CYSxzQ0FBc0M7a0JBSmxELFNBQVM7K0JBQ0UsMkNBQTJDO3lHQUk1QyxJQUFJO3NCQUFaLEtBQUs7Z0JBR2MsR0FBRztzQkFBdEIsS0FBSztnQkF1QkksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBcGlUYWJJdGVtfSBmcm9tICdAdmFsdGltby9kb3NzaWVyJztcbmltcG9ydCB7VGFiU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1lZGl0LXRhYi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtZWRpdC10YWItbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudEVkaXRUYWJNb2RhbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG9wZW46IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfdGFiOiBBcGlUYWJJdGVtO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHRhYih2YWx1ZTogQXBpVGFiSXRlbSkge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoISF0aGlzLnRhYlNlcnZpY2UuY29uZmlndXJlZENvbnRlbnRLZXlzKSB7XG4gICAgICB0aGlzLmNvbmZpZ3VyZWRLZXlzRm9yRWRpdCA9IHRoaXMudGFiU2VydmljZS5jb25maWd1cmVkQ29udGVudEtleXMuZmlsdGVyKFxuICAgICAgICAodGFiS2V5OiBzdHJpbmcpID0+IHRhYktleSAhPT0gdmFsdWUuY29udGVudEtleVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLl90YWIgPSB2YWx1ZTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IHRoaXMuZmIuY29udHJvbCh2YWx1ZS5uYW1lKSxcbiAgICAgIGtleTogdGhpcy5mYi5jb250cm9sKHt2YWx1ZTogdmFsdWUua2V5LCBkaXNhYmxlZDogdHJ1ZX0sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY29udGVudEtleTogdGhpcy5mYi5jb250cm9sKHZhbHVlLmNvbnRlbnRLZXksIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgc2hvd1Rhc2tzOiB0aGlzLmZiLmNvbnRyb2wodmFsdWUuc2hvd1Rhc2tzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICB9KTtcbiAgfVxuICBwdWJsaWMgZ2V0IHRhYigpOiBBcGlUYWJJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5fdGFiO1xuICB9XG5cbiAgQE91dHB1dCgpIGNsb3NlTW9kYWxFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8QXBpVGFiSXRlbSB8IG51bGw+KCk7XG5cbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIGNvbmZpZ3VyZWRLZXlzRm9yRWRpdDogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJTZXJ2aWNlOiBUYWJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgb25DbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VNb2RhbEV2ZW50LmVtaXQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgZWRpdFRhYigpOiB2b2lkIHtcbiAgICBjb25zdCB7Y29udGVudEtleSwgbmFtZSwgc2hvd1Rhc2tzfSA9IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgaWYgKCFjb250ZW50S2V5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jbG9zZU1vZGFsRXZlbnQuZW1pdCh7Li4udGhpcy50YWIsIG5hbWUsIGNvbnRlbnRLZXksIHNob3dUYXNrc30pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxjZHMtbW9kYWwgdmFsdGltb0Nkc01vZGFsICpuZ0lmPVwiZm9ybVwiIFtvcGVuXT1cIm9wZW5cIj5cbiAgPGNkcy1tb2RhbC1oZWFkZXIgc2hvd0Nsb3NlQnV0dG9uPVwidHJ1ZVwiIChjbG9zZVNlbGVjdCk9XCJvbkNsb3NlTW9kYWwoKVwiPlxuICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICB7e1xuICAgICAgICAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5lZGl0TW9kYWwudGl0bGUnXG4gICAgICAgICAgfCB0cmFuc2xhdGU6IHtuYW1lOiB0YWI/Lm5hbWUgPz8gJ2Rvc3NpZXIudGFicy4nICsgdGFiLmtleSB8IHRyYW5zbGF0ZX1cbiAgICAgIH19XG4gICAgPC9oMz5cbiAgPC9jZHMtbW9kYWwtaGVhZGVyPlxuXG4gIDxzZWN0aW9uIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNkc01vZGFsQ29udGVudD5cbiAgICA8dmFsdGltby10YWItZm9ybVxuICAgICAgW2NvbmZpZ3VyZWRDb250ZW50S2V5c109XCJjb25maWd1cmVkS2V5c0ZvckVkaXRcIlxuICAgICAgW3RhYlR5cGVdPVwidGFiPy50eXBlXCJcbiAgICA+PC92YWx0aW1vLXRhYi1mb3JtPlxuICA8L3NlY3Rpb24+XG5cbiAgPGNkcy1tb2RhbC1mb290ZXI+XG4gICAgPGJ1dHRvbiBjZHNCdXR0b249XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwib25DbG9zZU1vZGFsKClcIj5cbiAgICAgIHt7ICdpbnRlcmZhY2UuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBjZHNCdXR0b249XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiIChjbGljayk9XCJlZGl0VGFiKClcIj5cbiAgICAgIHt7ICdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmVkaXRNb2RhbC51cGRhdGVUYWInIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvY2RzLW1vZGFsLWZvb3Rlcj5cbjwvY2RzLW1vZGFsPlxuIl19
|
package/esm2022/lib/components/dossier-management-tabs/dossier-management-tabs.component.mjs
CHANGED
|
@@ -13,18 +13,21 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
16
|
+
import { ChangeDetectionStrategy, Component, Input, signal, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
17
17
|
import { ArrowDown16, ArrowUp16 } from '@carbon/icons';
|
|
18
|
-
import {
|
|
18
|
+
import { ViewType } from '@valtimo/components';
|
|
19
|
+
import { ApiTabType } from '@valtimo/dossier';
|
|
19
20
|
import { BehaviorSubject, map, tap } from 'rxjs';
|
|
20
21
|
import * as i0 from "@angular/core";
|
|
21
22
|
import * as i1 from "carbon-components-angular";
|
|
22
23
|
import * as i2 from "../../services";
|
|
23
24
|
import * as i3 from "@ngx-translate/core";
|
|
24
|
-
import * as i4 from "@angular/
|
|
25
|
-
import * as i5 from "@valtimo/
|
|
26
|
-
import * as i6 from "
|
|
27
|
-
import * as i7 from "
|
|
25
|
+
import * as i4 from "@angular/router";
|
|
26
|
+
import * as i5 from "@valtimo/config";
|
|
27
|
+
import * as i6 from "@angular/common";
|
|
28
|
+
import * as i7 from "@valtimo/components";
|
|
29
|
+
import * as i8 from "./dossier-management-add-tab-modal/dossier-management-add-tab-modal.component";
|
|
30
|
+
import * as i9 from "./dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component";
|
|
28
31
|
export class DossierManagementTabsComponent {
|
|
29
32
|
set documentDefinitionName(value) {
|
|
30
33
|
if (!value) {
|
|
@@ -37,13 +40,20 @@ export class DossierManagementTabsComponent {
|
|
|
37
40
|
get documentDefinitionName() {
|
|
38
41
|
return this._documentDefinitionName;
|
|
39
42
|
}
|
|
40
|
-
constructor(cd, iconService, tabManagementService, tabService, translateService) {
|
|
43
|
+
constructor(cd, iconService, tabManagementService, tabService, translateService, router, configService) {
|
|
41
44
|
this.cd = cd;
|
|
42
45
|
this.iconService = iconService;
|
|
43
46
|
this.tabManagementService = tabManagementService;
|
|
44
47
|
this.tabService = tabService;
|
|
45
48
|
this.translateService = translateService;
|
|
49
|
+
this.router = router;
|
|
50
|
+
this.configService = configService;
|
|
46
51
|
this.actionItems = [
|
|
52
|
+
{
|
|
53
|
+
label: 'interface.edit',
|
|
54
|
+
callback: this.openEditModal.bind(this),
|
|
55
|
+
type: 'normal',
|
|
56
|
+
},
|
|
47
57
|
{
|
|
48
58
|
label: 'interface.delete',
|
|
49
59
|
callback: this.openDeleteConfirmationModal.bind(this),
|
|
@@ -57,13 +67,15 @@ export class DossierManagementTabsComponent {
|
|
|
57
67
|
this.loading$ = this.tabManagementService.loading$;
|
|
58
68
|
this.openAddModal$ = new BehaviorSubject(false);
|
|
59
69
|
this.lastItemIndex$ = new BehaviorSubject(-1);
|
|
60
|
-
this.tabs$ = this.tabManagementService.tabs$.pipe(tap(
|
|
61
|
-
this._tabs = tabs;
|
|
70
|
+
this.tabs$ = this.tabManagementService.tabs$.pipe(tap(tabs => {
|
|
62
71
|
this.tabService.configuredContentKeys = tabs.map((tab) => tab.contentKey);
|
|
63
72
|
this.tabService.configuredTabKeys = tabs.map((tab) => tab.key);
|
|
64
73
|
this.lastItemIndex$.next(tabs.length - 1);
|
|
74
|
+
this.dragAndDropDisabled.set(false);
|
|
65
75
|
}));
|
|
66
76
|
this.tab$ = new BehaviorSubject(null);
|
|
77
|
+
this.dragAndDropDisabled = signal(false);
|
|
78
|
+
this.enableCaseWidgets = this.configService.getFeatureToggle('enableCaseWidgets');
|
|
67
79
|
}
|
|
68
80
|
ngAfterViewInit() {
|
|
69
81
|
this.iconService.registerAll([ArrowDown16, ArrowUp16]);
|
|
@@ -90,26 +102,39 @@ export class DossierManagementTabsComponent {
|
|
|
90
102
|
key: '',
|
|
91
103
|
label: 'dossierManagement.tabManagement.columns.content',
|
|
92
104
|
},
|
|
105
|
+
...(this.enableCaseWidgets
|
|
106
|
+
? [
|
|
107
|
+
{
|
|
108
|
+
viewType: ViewType.BOOLEAN,
|
|
109
|
+
key: 'showTasks',
|
|
110
|
+
label: 'dossierManagement.tabManagement.columns.showTasks',
|
|
111
|
+
},
|
|
112
|
+
]
|
|
113
|
+
: []),
|
|
93
114
|
]);
|
|
94
115
|
this.cd.detectChanges();
|
|
95
116
|
}
|
|
96
117
|
isTranslated(key) {
|
|
97
118
|
return this.translateService.instant(key) !== key;
|
|
98
119
|
}
|
|
99
|
-
onMoveRowClick(event) {
|
|
100
|
-
const { direction, index } = event;
|
|
101
|
-
const orderedTabs = direction === MoveRowDirection.UP
|
|
102
|
-
? this.swapTabs(this._tabs, index - 1, index)
|
|
103
|
-
: this.swapTabs(this._tabs, index, index + 1);
|
|
104
|
-
this.tabManagementService.dispatchAction(this.tabManagementService.editTabsOrder(orderedTabs));
|
|
105
|
-
}
|
|
106
120
|
openAddTabModal() {
|
|
107
121
|
this.openAddModal$.next(true);
|
|
108
122
|
}
|
|
109
|
-
|
|
123
|
+
openEditModal(tab) {
|
|
110
124
|
this.tab$.next(tab);
|
|
111
125
|
this.openEditModal$.next(true);
|
|
112
126
|
}
|
|
127
|
+
onRowClicked(tab) {
|
|
128
|
+
this.tab$.next(tab);
|
|
129
|
+
if (tab.type === ApiTabType.WIDGETS) {
|
|
130
|
+
this.router.navigate([
|
|
131
|
+
`/dossier-management/dossier/${this._documentDefinitionName}/widget-tab/${tab.key}`,
|
|
132
|
+
]);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
this.openEditModal$.next(true);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
113
138
|
onCloseAddModalEvent(tab) {
|
|
114
139
|
this.openAddModal$.next(false);
|
|
115
140
|
if (!tab) {
|
|
@@ -131,27 +156,32 @@ export class DossierManagementTabsComponent {
|
|
|
131
156
|
onConfirmEvent(tabKey) {
|
|
132
157
|
this.deleteTab(tabKey);
|
|
133
158
|
}
|
|
159
|
+
onItemsReorderedEvent(reorderedItems) {
|
|
160
|
+
if (!reorderedItems)
|
|
161
|
+
return;
|
|
162
|
+
this.dragAndDropDisabled.set(true);
|
|
163
|
+
this.tabManagementService.dispatchAction(this.tabManagementService.editTabsOrder(reorderedItems));
|
|
164
|
+
}
|
|
134
165
|
addTab(tab) {
|
|
166
|
+
if (!this.enableCaseWidgets)
|
|
167
|
+
delete tab.showTasks;
|
|
135
168
|
this.tabManagementService.dispatchAction(this.tabManagementService.addTab(tab));
|
|
136
169
|
}
|
|
137
170
|
deleteTab(tabKey) {
|
|
138
171
|
this.tabManagementService.dispatchAction(this.tabManagementService.deleteTab(tabKey));
|
|
139
172
|
}
|
|
140
173
|
editTab(tab) {
|
|
174
|
+
if (!this.enableCaseWidgets)
|
|
175
|
+
delete tab.showTasks;
|
|
141
176
|
this.tabManagementService.dispatchAction(this.tabManagementService.editTab(tab, tab.key));
|
|
142
177
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
temp[index1] = temp.splice(index2, 1, temp[index1])[0];
|
|
146
|
-
return temp;
|
|
147
|
-
}
|
|
148
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementTabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.IconService }, { token: i2.TabManagementService }, { token: i2.TabService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
149
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementTabsComponent, selector: "valtimo-dossier-management-tabs", inputs: { documentDefinitionName: "documentDefinitionName" }, viewQueries: [{ propertyName: "tabContentColumnTemplate", first: true, predicate: ["tabContentColumn"], descendants: true }, { propertyName: "tabTypeColumnTemplate", first: true, predicate: ["tabTypeColumn"], descendants: true }, { propertyName: "moveButtonsTemplate", first: true, predicate: ["moveButtonsTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"{fields: fields$ | async, loading: loading$ | async, tabs: tabs$ | async} as obs\"\n [actionItems]=\"actionItems\"\n [items]=\"obs.tabs\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"onRowClicked($event)\"\n (moveRow)=\"onMoveRowClick($event)\"\n>\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTabButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTabButton\"\n [description]=\"'dossier.tabs.noResultsDescription' | translate\"\n [title]=\"'dossier.tabs.noResults' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #tabTypeColumn let-data=\"data\">\n {{\n isTranslated('dossierManagement.tabType.' + data.item.type)\n ? ('dossierManagement.tabType.' + data.item.type | translate)\n : data.item.type\n }}\n</ng-template>\n\n<ng-template #tabContentColumn let-data=\"data\">\n {{\n isTranslated('dossier.tabs.' + data.item.contentKey)\n ? ('dossier.tabs.' + data.item.contentKey | translate)\n : data.item.contentKey\n }}\n</ng-template>\n\n<ng-template #addTabButton>\n <button cdsButton=\"primary\" (click)=\"openAddTabModal()\">\n {{ 'dossierManagement.tabManagement.addModal.addTab' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<valtimo-dossier-management-add-tab-modal\n *ngIf=\"openAddModal$ | async\"\n [documentDefinitionName]=\"documentDefinitionName\"\n [open]=\"openAddModal$ | async\"\n (closeModalEvent)=\"onCloseAddModalEvent($event)\"\n></valtimo-dossier-management-add-tab-modal>\n\n<valtimo-dossier-management-edit-tab-modal\n *ngIf=\"openEditModal$ | async\"\n [tab]=\"tab$ | async\"\n (closeModalEvent)=\"onCloseEditModalEvent($event)\"\n [open]=\"openEditModal$ | async\"\n></valtimo-dossier-management-edit-tab-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.tabManagement.deleteModal.description\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"dossierManagement.tabManagement.deleteModal.title\"\n (confirmEvent)=\"onConfirmEvent($event)\"\n></valtimo-confirmation-modal>\n", styles: [".valtimo-dossier-management-tabs__actions{width:1px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i5.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i5.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "component", type: i6.DossierManagementAddTabModalComponent, selector: "valtimo-dossier-management-add-tab-modal", inputs: ["documentDefinitionName", "open"], outputs: ["closeModalEvent"] }, { kind: "component", type: i7.DossierManagementEditTabModalComponent, selector: "valtimo-dossier-management-edit-tab-modal", inputs: ["open", "tab"], outputs: ["closeModalEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
178
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementTabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.IconService }, { token: i2.TabManagementService }, { token: i2.TabService }, { token: i3.TranslateService }, { token: i4.Router }, { token: i5.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
179
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementTabsComponent, selector: "valtimo-dossier-management-tabs", inputs: { documentDefinitionName: "documentDefinitionName" }, viewQueries: [{ propertyName: "tabContentColumnTemplate", first: true, predicate: ["tabContentColumn"], descendants: true }, { propertyName: "tabTypeColumnTemplate", first: true, predicate: ["tabTypeColumn"], descendants: true }, { propertyName: "moveButtonsTemplate", first: true, predicate: ["moveButtonsTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"{fields: fields$ | async, loading: loading$ | async, tabs: tabs$ | async} as obs\"\n [actionItems]=\"actionItems\"\n [items]=\"obs.tabs\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n (rowClicked)=\"onRowClicked($event)\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"dragAndDropDisabled()\"\n (itemsReordered)=\"onItemsReorderedEvent($event)\"\n>\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTabButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTabButton\"\n [description]=\"'dossier.tabs.noResultsDescription' | translate\"\n [title]=\"'dossier.tabs.noResults' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #tabTypeColumn let-data=\"data\">\n {{\n isTranslated('dossierManagement.tabType.' + data.item.type)\n ? ('dossierManagement.tabType.' + data.item.type | translate)\n : data.item.type\n }}\n</ng-template>\n\n<ng-template #tabContentColumn let-data=\"data\">\n {{\n isTranslated('dossier.tabs.' + data.item.contentKey)\n ? ('dossier.tabs.' + data.item.contentKey | translate)\n : data.item.contentKey\n }}\n</ng-template>\n\n<ng-template #addTabButton>\n <button cdsButton=\"primary\" (click)=\"openAddTabModal()\">\n {{ 'dossierManagement.tabManagement.addModal.addTab' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<valtimo-dossier-management-add-tab-modal\n *ngIf=\"openAddModal$ | async\"\n [documentDefinitionName]=\"documentDefinitionName\"\n [open]=\"openAddModal$ | async\"\n (closeModalEvent)=\"onCloseAddModalEvent($event)\"\n></valtimo-dossier-management-add-tab-modal>\n\n<valtimo-dossier-management-edit-tab-modal\n *ngIf=\"openEditModal$ | async\"\n [tab]=\"tab$ | async\"\n (closeModalEvent)=\"onCloseEditModalEvent($event)\"\n [open]=\"openEditModal$ | async\"\n></valtimo-dossier-management-edit-tab-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.tabManagement.deleteModal.description\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"dossierManagement.tabManagement.deleteModal.title\"\n (confirmEvent)=\"onConfirmEvent($event)\"\n></valtimo-confirmation-modal>\n", styles: [".valtimo-dossier-management-tabs__actions{width:1px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i8.DossierManagementAddTabModalComponent, selector: "valtimo-dossier-management-add-tab-modal", inputs: ["documentDefinitionName", "open"], outputs: ["closeModalEvent"] }, { kind: "component", type: i9.DossierManagementEditTabModalComponent, selector: "valtimo-dossier-management-edit-tab-modal", inputs: ["open", "tab"], outputs: ["closeModalEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
150
180
|
}
|
|
151
181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementTabsComponent, decorators: [{
|
|
152
182
|
type: Component,
|
|
153
|
-
args: [{ selector: 'valtimo-dossier-management-tabs', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"{fields: fields$ | async, loading: loading$ | async, tabs: tabs$ | async} as obs\"\n [actionItems]=\"actionItems\"\n [items]=\"obs.tabs\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [
|
|
154
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.IconService }, { type: i2.TabManagementService }, { type: i2.TabService }, { type: i3.TranslateService }], propDecorators: { tabContentColumnTemplate: [{
|
|
183
|
+
args: [{ selector: 'valtimo-dossier-management-tabs', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"{fields: fields$ | async, loading: loading$ | async, tabs: tabs$ | async} as obs\"\n [actionItems]=\"actionItems\"\n [items]=\"obs.tabs\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n (rowClicked)=\"onRowClicked($event)\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"dragAndDropDisabled()\"\n (itemsReordered)=\"onItemsReorderedEvent($event)\"\n>\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTabButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTabButton\"\n [description]=\"'dossier.tabs.noResultsDescription' | translate\"\n [title]=\"'dossier.tabs.noResults' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #tabTypeColumn let-data=\"data\">\n {{\n isTranslated('dossierManagement.tabType.' + data.item.type)\n ? ('dossierManagement.tabType.' + data.item.type | translate)\n : data.item.type\n }}\n</ng-template>\n\n<ng-template #tabContentColumn let-data=\"data\">\n {{\n isTranslated('dossier.tabs.' + data.item.contentKey)\n ? ('dossier.tabs.' + data.item.contentKey | translate)\n : data.item.contentKey\n }}\n</ng-template>\n\n<ng-template #addTabButton>\n <button cdsButton=\"primary\" (click)=\"openAddTabModal()\">\n {{ 'dossierManagement.tabManagement.addModal.addTab' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<valtimo-dossier-management-add-tab-modal\n *ngIf=\"openAddModal$ | async\"\n [documentDefinitionName]=\"documentDefinitionName\"\n [open]=\"openAddModal$ | async\"\n (closeModalEvent)=\"onCloseAddModalEvent($event)\"\n></valtimo-dossier-management-add-tab-modal>\n\n<valtimo-dossier-management-edit-tab-modal\n *ngIf=\"openEditModal$ | async\"\n [tab]=\"tab$ | async\"\n (closeModalEvent)=\"onCloseEditModalEvent($event)\"\n [open]=\"openEditModal$ | async\"\n></valtimo-dossier-management-edit-tab-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"dossierManagement.tabManagement.deleteModal.description\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"dossierManagement.tabManagement.deleteModal.title\"\n (confirmEvent)=\"onConfirmEvent($event)\"\n></valtimo-confirmation-modal>\n", styles: [".valtimo-dossier-management-tabs__actions{width:1px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
184
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.IconService }, { type: i2.TabManagementService }, { type: i2.TabService }, { type: i3.TranslateService }, { type: i4.Router }, { type: i5.ConfigService }], propDecorators: { tabContentColumnTemplate: [{
|
|
155
185
|
type: ViewChild,
|
|
156
186
|
args: ['tabContentColumn']
|
|
157
187
|
}], tabTypeColumnTemplate: [{
|
|
@@ -163,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
163
193
|
}], documentDefinitionName: [{
|
|
164
194
|
type: Input
|
|
165
195
|
}] } });
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFHTCxnQkFBZ0IsRUFFaEIsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7QUFHN0IsT0FBTyxFQUFDLGVBQWUsRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFVM0QsTUFBTSxPQUFPLDhCQUE4QjtJQU16QyxJQUFvQixzQkFBc0IsQ0FBQyxLQUFhO1FBQ3RELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQztRQUNyQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFB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TyxRQUFRLENBQUMsUUFBc0IsRUFBRSxNQUFjLEVBQUUsTUFBYztRQUNyRSxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBMUpVLDhCQUE4QjtrR0FBOUIsOEJBQThCLHlkQzlDM0MsZ2hHQXFGQTs7MkZEdkNhLDhCQUE4QjtrQkFQMUMsU0FBUzsrQkFDRSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7Mk1BR04sd0JBQXdCO3NCQUF0RCxTQUFTO3VCQUFDLGtCQUFrQjtnQkFDRCxxQkFBcUI7c0JBQWhELFNBQVM7dUJBQUMsZUFBZTtnQkFDUSxtQkFBbUI7c0JBQXBELFNBQVM7dUJBQUMscUJBQXFCO2dCQUdaLHNCQUFzQjtzQkFBekMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXJyb3dEb3duMTYsIEFycm93VXAxNn0gZnJvbSAnQGNhcmJvbi9pY29ucyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aW9uSXRlbSxcbiAgQ29sdW1uQ29uZmlnLFxuICBNb3ZlUm93RGlyZWN0aW9uLFxuICBNb3ZlUm93RXZlbnQsXG4gIFZpZXdUeXBlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7QXBpVGFiSXRlbX0gZnJvbSAnQHZhbHRpbW8vZG9zc2llcic7XG5pbXBvcnQge0ljb25TZXJ2aWNlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RhYk1hbmFnZW1lbnRTZXJ2aWNlLCBUYWJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXRhYnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1tYW5hZ2VtZW50LXRhYnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRG9zc2llck1hbmFnZW1lbnRUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3RhYkNvbnRlbnRDb2x1bW4nKSB0YWJDb250ZW50Q29sdW1uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBWaWV3Q2hpbGQoJ3RhYlR5cGVDb2x1bW4nKSB0YWJUeXBlQ29sdW1uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBWaWV3Q2hpbGQoJ21vdmVCdXR0b25zVGVtcGxhdGUnKSBtb3ZlQnV0dG9uc1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgX2RvY3VtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHNldCBkb2N1bWVudERlZmluaXRpb25OYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbk5hbWUgPSB2YWx1ZTtcbiAgICB0aGlzLnRhYk1hbmFnZW1lbnRTZXJ2aWNlLnNldENhc2VEZWZpbml0aW9uSWQodmFsdWUpO1xuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UubG9hZFRhYnMoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnREZWZpbml0aW9uTmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpb25JdGVtczogQWN0aW9uSXRlbVtdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnaW50ZXJmYWNlLmRlbGV0ZScsXG4gICAgICBjYWxsYmFjazogdGhpcy5vcGVuRGVsZXRlQ29uZmlybWF0aW9uTW9kYWwuYmluZCh0aGlzKSxcbiAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgIH0sXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBkZWxldGVSb3dLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dEZWxldGVNb2RhbCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmRlbGV0ZVJvd0tleSQucGlwZShcbiAgICBtYXAoKGtleTogc3RyaW5nIHwgbnVsbCkgPT4gISFrZXkpXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBvcGVuRWRpdE1vZGFsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29sdW1uQ29uZmlnW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5sb2FkaW5nJDtcbiAgcHVibGljIHJlYWRvbmx5IG9wZW5BZGRNb2RhbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGxhc3RJdGVtSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KC0xKTtcblxuICBwcml2YXRlIF90YWJzOiBBcGlUYWJJdGVtW107XG4gIHB1YmxpYyByZWFkb25seSB0YWJzJCA9IHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UudGFicyQucGlwZShcbiAgICB0YXAoKHRhYnM6IEFwaVRhYkl0ZW1bXSkgPT4ge1xuICAgICAgdGhpcy5fdGFicyA9IHRhYnM7XG4gICAgICB0aGlzLnRhYlNlcnZpY2UuY29uZmlndXJlZENvbnRlbnRLZXlzID0gdGFicy5tYXAoKHRhYjogQXBpVGFiSXRlbSkgPT4gdGFiLmNvbnRlbnRLZXkpO1xuICAgICAgdGhpcy50YWJTZXJ2aWNlLmNvbmZpZ3VyZWRUYWJLZXlzID0gdGFicy5tYXAoKHRhYjogQXBpVGFiSXRlbSkgPT4gdGFiLmtleSk7XG4gICAgICB0aGlzLmxhc3RJdGVtSW5kZXgkLm5leHQodGFicy5sZW5ndGggLSAxKTtcbiAgICB9KVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgdGFiJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXBpVGFiSXRlbSB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFiTWFuYWdlbWVudFNlcnZpY2U6IFRhYk1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFiU2VydmljZTogVGFiU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pY29uU2VydmljZS5yZWdpc3RlckFsbChbQXJyb3dEb3duMTYsIEFycm93VXAxNl0pO1xuICAgIHRoaXMuZmllbGRzJC5uZXh0KFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnbmFtZScsXG4gICAgICAgIGxhYmVsOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb2x1bW5zLm5hbWUnLFxuICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuVEVYVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2tleScsXG4gICAgICAgIGxhYmVsOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb2x1bW5zLmtleScsXG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFTVBMQVRFLFxuICAgICAgICB0ZW1wbGF0ZTogdGhpcy50YWJUeXBlQ29sdW1uVGVtcGxhdGUsXG4gICAgICAgIGtleTogJycsXG4gICAgICAgIGxhYmVsOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb2x1bW5zLnR5cGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFTVBMQVRFLFxuICAgICAgICB0ZW1wbGF0ZTogdGhpcy50YWJDb250ZW50Q29sdW1uVGVtcGxhdGUsXG4gICAgICAgIGtleTogJycsXG4gICAgICAgIGxhYmVsOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb2x1bW5zLmNvbnRlbnQnLFxuICAgICAgfSxcbiAgICBdKTtcblxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGlzVHJhbnNsYXRlZChrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChrZXkpICE9PSBrZXk7XG4gIH1cblxuICBwdWJsaWMgb25Nb3ZlUm93Q2xpY2soZXZlbnQ6IE1vdmVSb3dFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHtkaXJlY3Rpb24sIGluZGV4fSA9IGV2ZW50O1xuXG4gICAgY29uc3Qgb3JkZXJlZFRhYnM6IEFwaVRhYkl0ZW1bXSA9XG4gICAgICBkaXJlY3Rpb24gPT09IE1vdmVSb3dEaXJlY3Rpb24uVVBcbiAgICAgICAgPyB0aGlzLnN3YXBUYWJzKHRoaXMuX3RhYnMsIGluZGV4IC0gMSwgaW5kZXgpXG4gICAgICAgIDogdGhpcy5zd2FwVGFicyh0aGlzLl90YWJzLCBpbmRleCwgaW5kZXggKyAxKTtcblxuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24odGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5lZGl0VGFic09yZGVyKG9yZGVyZWRUYWJzKSk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkFkZFRhYk1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkFkZE1vZGFsJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uUm93Q2xpY2tlZCh0YWI6IEFwaVRhYkl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnRhYiQubmV4dCh0YWIpO1xuICAgIHRoaXMub3BlbkVkaXRNb2RhbCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlQWRkTW9kYWxFdmVudCh0YWI6IEFwaVRhYkl0ZW0gfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuQWRkTW9kYWwkLm5leHQoZmFsc2UpO1xuXG4gICAgaWYgKCF0YWIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFkZFRhYih0YWIpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2VFZGl0TW9kYWxFdmVudCh0YWI6IEFwaVRhYkl0ZW0gfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuRWRpdE1vZGFsJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLnRhYiQubmV4dChudWxsKTtcblxuICAgIGlmICghdGFiKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5lZGl0VGFiKHRhYik7XG4gIH1cblxuICBwdWJsaWMgb3BlbkRlbGV0ZUNvbmZpcm1hdGlvbk1vZGFsKHRhYjogQXBpVGFiSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuZGVsZXRlUm93S2V5JC5uZXh0KHRhYi5rZXkpO1xuICB9XG5cbiAgcHVibGljIG9uQ29uZmlybUV2ZW50KHRhYktleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kZWxldGVUYWIodGFiS2V5KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkVGFiKHRhYjogUGFydGlhbDxBcGlUYWJJdGVtPik6IHZvaWQge1xuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24odGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5hZGRUYWIodGFiKSk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZVRhYih0YWJLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24odGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5kZWxldGVUYWIodGFiS2V5KSk7XG4gIH1cblxuICBwcml2YXRlIGVkaXRUYWIodGFiOiBBcGlUYWJJdGVtKTogdm9pZCB7XG4gICAgdGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5kaXNwYXRjaEFjdGlvbih0aGlzLnRhYk1hbmFnZW1lbnRTZXJ2aWNlLmVkaXRUYWIodGFiLCB0YWIua2V5KSk7XG4gIH1cblxuICBwcml2YXRlIHN3YXBUYWJzKHRhYkl0ZW1zOiBBcGlUYWJJdGVtW10sIGluZGV4MTogbnVtYmVyLCBpbmRleDI6IG51bWJlcik6IEFwaVRhYkl0ZW1bXSB7XG4gICAgY29uc3QgdGVtcCA9IFsuLi50YWJJdGVtc107XG4gICAgdGVtcFtpbmRleDFdID0gdGVtcC5zcGxpY2UoaW5kZXgyLCAxLCB0ZW1wW2luZGV4MV0pWzBdO1xuXG4gICAgcmV0dXJuIHRlbXA7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHZhbHRpbW8tY2FyYm9uLWxpc3RcbiAgKm5nSWY9XCJ7ZmllbGRzOiBmaWVsZHMkIHwgYXN5bmMsIGxvYWRpbmc6IGxvYWRpbmckIHwgYXN5bmMsIHRhYnM6IHRhYnMkIHwgYXN5bmN9IGFzIG9ic1wiXG4gIFthY3Rpb25JdGVtc109XCJhY3Rpb25JdGVtc1wiXG4gIFtpdGVtc109XCJvYnMudGFic1wiXG4gIFtmaWVsZHNdPVwib2JzLmZpZWxkc1wiXG4gIFtoZWFkZXJdPVwiZmFsc2VcIlxuICBbbG9hZGluZ109XCJvYnMubG9hZGluZ1wiXG4gIFttb3ZpbmdSb3dzRW5hYmxlZF09XCJ0cnVlXCJcbiAgKHJvd0NsaWNrZWQpPVwib25Sb3dDbGlja2VkKCRldmVudClcIlxuICAobW92ZVJvdyk9XCJvbk1vdmVSb3dDbGljaygkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBjYXJib25Ub29sYmFyQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZFRhYkJ1dHRvblwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgW2FjdGlvbl09XCJhZGRUYWJCdXR0b25cIlxuICAgIFtkZXNjcmlwdGlvbl09XCInZG9zc2llci50YWJzLm5vUmVzdWx0c0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3RpdGxlXT1cIidkb3NzaWVyLnRhYnMubm9SZXN1bHRzJyB8IHRyYW5zbGF0ZVwiXG4gID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbjwvdmFsdGltby1jYXJib24tbGlzdD5cblxuPG5nLXRlbXBsYXRlICN0YWJUeXBlQ29sdW1uIGxldC1kYXRhPVwiZGF0YVwiPlxuICB7e1xuICAgIGlzVHJhbnNsYXRlZCgnZG9zc2llck1hbmFnZW1lbnQudGFiVHlwZS4nICsgZGF0YS5pdGVtLnR5cGUpXG4gICAgICA/ICgnZG9zc2llck1hbmFnZW1lbnQudGFiVHlwZS4nICsgZGF0YS5pdGVtLnR5cGUgfCB0cmFuc2xhdGUpXG4gICAgICA6IGRhdGEuaXRlbS50eXBlXG4gIH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYkNvbnRlbnRDb2x1bW4gbGV0LWRhdGE9XCJkYXRhXCI+XG4gIHt7XG4gICAgaXNUcmFuc2xhdGVkKCdkb3NzaWVyLnRhYnMuJyArIGRhdGEuaXRlbS5jb250ZW50S2V5KVxuICAgICAgPyAoJ2Rvc3NpZXIudGFicy4nICsgZGF0YS5pdGVtLmNvbnRlbnRLZXkgfCB0cmFuc2xhdGUpXG4gICAgICA6IGRhdGEuaXRlbS5jb250ZW50S2V5XG4gIH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2FkZFRhYkJ1dHRvbj5cbiAgPGJ1dHRvbiBjZHNCdXR0b249XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5BZGRUYWJNb2RhbCgpXCI+XG4gICAge3sgJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwuYWRkVGFiJyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgPHN2ZyBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCIgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiPjwvc3ZnPlxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1hZGQtdGFiLW1vZGFsXG4gICpuZ0lmPVwib3BlbkFkZE1vZGFsJCB8IGFzeW5jXCJcbiAgW2RvY3VtZW50RGVmaW5pdGlvbk5hbWVdPVwiZG9jdW1lbnREZWZpbml0aW9uTmFtZVwiXG4gIFtvcGVuXT1cIm9wZW5BZGRNb2RhbCQgfCBhc3luY1wiXG4gIChjbG9zZU1vZGFsRXZlbnQpPVwib25DbG9zZUFkZE1vZGFsRXZlbnQoJGV2ZW50KVwiXG4+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1hZGQtdGFiLW1vZGFsPlxuXG48dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtZWRpdC10YWItbW9kYWxcbiAgKm5nSWY9XCJvcGVuRWRpdE1vZGFsJCB8IGFzeW5jXCJcbiAgW3RhYl09XCJ0YWIkIHwgYXN5bmNcIlxuICAoY2xvc2VNb2RhbEV2ZW50KT1cIm9uQ2xvc2VFZGl0TW9kYWxFdmVudCgkZXZlbnQpXCJcbiAgW29wZW5dPVwib3BlbkVkaXRNb2RhbCQgfCBhc3luY1wiXG4+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1lZGl0LXRhYi1tb2RhbD5cblxuPHZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsXG4gIGNvbmZpcm1CdXR0b25UZXh0VHJhbnNsYXRpb25LZXk9XCJpbnRlcmZhY2UuZGVsZXRlXCJcbiAgY29uZmlybUJ1dHRvblR5cGU9XCJkYW5nZXJcIlxuICBjb250ZW50VHJhbnNsYXRpb25LZXk9XCJkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmRlbGV0ZU1vZGFsLmRlc2NyaXB0aW9uXCJcbiAgW291dHB1dE9uQ29uZmlybV09XCJkZWxldGVSb3dLZXkkIHwgYXN5bmNcIlxuICBbc2hvd01vZGFsU3ViamVjdCRdPVwic2hvd0RlbGV0ZU1vZGFsJFwiXG4gIHRpdGxlVHJhbnNsYXRpb25LZXk9XCJkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmRlbGV0ZU1vZGFsLnRpdGxlXCJcbiAgKGNvbmZpcm1FdmVudCk9XCJvbkNvbmZpcm1FdmVudCgkZXZlbnQpXCJcbj48L3ZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsPlxuIl19
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQTJCLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBYSxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLEVBQUMsZUFBZSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBWTNELE1BQU0sT0FBTyw4QkFBOEI7SUFNekMsSUFBb0Isc0JBQXNCLENBQUMsS0FBYTtRQUN0RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixDQUFDLEtB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aUIsQ0FBQyxJQUFJOzRQQUdOLHdCQUF3QjtzQkFBdEQsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ0QscUJBQXFCO3NCQUFoRCxTQUFTO3VCQUFDLGVBQWU7Z0JBQ1EsbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQjtnQkFHWixzQkFBc0I7c0JBQXpDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBzaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXJyb3dEb3duMTYsIEFycm93VXAxNn0gZnJvbSAnQGNhcmJvbi9pY29ucyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtBY3Rpb25JdGVtLCBDb2x1bW5Db25maWcsIFZpZXdUeXBlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7QXBpVGFiSXRlbSwgQXBpVGFiVHlwZX0gZnJvbSAnQHZhbHRpbW8vZG9zc2llcic7XG5pbXBvcnQge0ljb25TZXJ2aWNlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RhYk1hbmFnZW1lbnRTZXJ2aWNlLCBUYWJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtdGFicycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudFRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgndGFiQ29udGVudENvbHVtbicpIHRhYkNvbnRlbnRDb2x1bW5UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgndGFiVHlwZUNvbHVtbicpIHRhYlR5cGVDb2x1bW5UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnbW92ZUJ1dHRvbnNUZW1wbGF0ZScpIG1vdmVCdXR0b25zVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHJpdmF0ZSBfZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9IHZhbHVlO1xuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2Uuc2V0Q2FzZURlZmluaXRpb25JZCh2YWx1ZSk7XG4gICAgdGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5sb2FkVGFicygpO1xuICB9XG4gIHB1YmxpYyBnZXQgZG9jdW1lbnREZWZpbml0aW9uTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lO1xuICB9XG5cbiAgcHVibGljIGFjdGlvbkl0ZW1zOiBBY3Rpb25JdGVtW10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdpbnRlcmZhY2UuZWRpdCcsXG4gICAgICBjYWxsYmFjazogdGhpcy5vcGVuRWRpdE1vZGFsLmJpbmQodGhpcyksXG4gICAgICB0eXBlOiAnbm9ybWFsJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnaW50ZXJmYWNlLmRlbGV0ZScsXG4gICAgICBjYWxsYmFjazogdGhpcy5vcGVuRGVsZXRlQ29uZmlybWF0aW9uTW9kYWwuYmluZCh0aGlzKSxcbiAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgIH0sXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBkZWxldGVSb3dLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dEZWxldGVNb2RhbCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmRlbGV0ZVJvd0tleSQucGlwZShcbiAgICBtYXAoKGtleTogc3RyaW5nIHwgbnVsbCkgPT4gISFrZXkpXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBvcGVuRWRpdE1vZGFsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29sdW1uQ29uZmlnW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5sb2FkaW5nJDtcbiAgcHVibGljIHJlYWRvbmx5IG9wZW5BZGRNb2RhbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGxhc3RJdGVtSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KC0xKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGFicyQ6IE9ic2VydmFibGU8QXBpVGFiSXRlbVtdPiA9IHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UudGFicyQucGlwZShcbiAgICB0YXAodGFicyA9PiB7XG4gICAgICB0aGlzLnRhYlNlcnZpY2UuY29uZmlndXJlZENvbnRlbnRLZXlzID0gdGFicy5tYXAoKHRhYjogQXBpVGFiSXRlbSkgPT4gdGFiLmNvbnRlbnRLZXkpO1xuICAgICAgdGhpcy50YWJTZXJ2aWNlLmNvbmZpZ3VyZWRUYWJLZXlzID0gdGFicy5tYXAoKHRhYjogQXBpVGFiSXRlbSkgPT4gdGFiLmtleSk7XG4gICAgICB0aGlzLmxhc3RJdGVtSW5kZXgkLm5leHQodGFicy5sZW5ndGggLSAxKTtcbiAgICAgIHRoaXMuZHJhZ0FuZERyb3BEaXNhYmxlZC5zZXQoZmFsc2UpO1xuICAgIH0pXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSB0YWIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcGlUYWJJdGVtIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBkcmFnQW5kRHJvcERpc2FibGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGVuYWJsZUNhc2VXaWRnZXRzID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldEZlYXR1cmVUb2dnbGUoJ2VuYWJsZUNhc2VXaWRnZXRzJyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJNYW5hZ2VtZW50U2VydmljZTogVGFiTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJTZXJ2aWNlOiBUYWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdGVyQWxsKFtBcnJvd0Rvd24xNiwgQXJyb3dVcDE2XSk7XG5cbiAgICB0aGlzLmZpZWxkcyQubmV4dChbXG4gICAgICB7XG4gICAgICAgIGtleTogJ25hbWUnLFxuICAgICAgICBsYWJlbDogJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuY29sdW1ucy5uYW1lJyxcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdrZXknLFxuICAgICAgICBsYWJlbDogJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuY29sdW1ucy5rZXknLFxuICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuVEVYVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URU1QTEFURSxcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMudGFiVHlwZUNvbHVtblRlbXBsYXRlLFxuICAgICAgICBrZXk6ICcnLFxuICAgICAgICBsYWJlbDogJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuY29sdW1ucy50eXBlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URU1QTEFURSxcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMudGFiQ29udGVudENvbHVtblRlbXBsYXRlLFxuICAgICAgICBrZXk6ICcnLFxuICAgICAgICBsYWJlbDogJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuY29sdW1ucy5jb250ZW50JyxcbiAgICAgIH0sXG4gICAgICAuLi4odGhpcy5lbmFibGVDYXNlV2lkZ2V0c1xuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLkJPT0xFQU4sXG4gICAgICAgICAgICAgIGtleTogJ3Nob3dUYXNrcycsXG4gICAgICAgICAgICAgIGxhYmVsOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb2x1bW5zLnNob3dUYXNrcycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgXSk7XG5cbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RyYW5zbGF0ZWQoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoa2V5KSAhPT0ga2V5O1xuICB9XG5cbiAgcHVibGljIG9wZW5BZGRUYWJNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5BZGRNb2RhbCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuRWRpdE1vZGFsKHRhYjogQXBpVGFiSXRlbSk6IHZvaWQge1xuICAgIHRoaXMudGFiJC5uZXh0KHRhYik7XG4gICAgdGhpcy5vcGVuRWRpdE1vZGFsJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uUm93Q2xpY2tlZCh0YWI6IEFwaVRhYkl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnRhYiQubmV4dCh0YWIpO1xuICAgIGlmICh0YWIudHlwZSA9PT0gQXBpVGFiVHlwZS5XSURHRVRTKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXG4gICAgICAgIGAvZG9zc2llci1tYW5hZ2VtZW50L2Rvc3NpZXIvJHt0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lfS93aWRnZXQtdGFiLyR7dGFiLmtleX1gLFxuICAgICAgXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbkVkaXRNb2RhbCQubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZUFkZE1vZGFsRXZlbnQodGFiOiBBcGlUYWJJdGVtIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkFkZE1vZGFsJC5uZXh0KGZhbHNlKTtcblxuICAgIGlmICghdGFiKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hZGRUYWIodGFiKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlRWRpdE1vZGFsRXZlbnQodGFiOiBBcGlUYWJJdGVtIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkVkaXRNb2RhbCQubmV4dChmYWxzZSk7XG4gICAgdGhpcy50YWIkLm5leHQobnVsbCk7XG5cbiAgICBpZiAoIXRhYikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZWRpdFRhYih0YWIpO1xuICB9XG5cbiAgcHVibGljIG9wZW5EZWxldGVDb25maXJtYXRpb25Nb2RhbCh0YWI6IEFwaVRhYkl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZVJvd0tleSQubmV4dCh0YWIua2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNvbmZpcm1FdmVudCh0YWJLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZGVsZXRlVGFiKHRhYktleSk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVtc1Jlb3JkZXJlZEV2ZW50KHJlb3JkZXJlZEl0ZW1zOiBBcGlUYWJJdGVtW10pOiB2b2lkIHtcbiAgICBpZiAoIXJlb3JkZXJlZEl0ZW1zKSByZXR1cm47XG5cbiAgICB0aGlzLmRyYWdBbmREcm9wRGlzYWJsZWQuc2V0KHRydWUpO1xuXG4gICAgdGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5kaXNwYXRjaEFjdGlvbihcbiAgICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZWRpdFRhYnNPcmRlcihyZW9yZGVyZWRJdGVtcylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUYWIodGFiOiBQYXJ0aWFsPEFwaVRhYkl0ZW0+KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVuYWJsZUNhc2VXaWRnZXRzKSBkZWxldGUgdGFiLnNob3dUYXNrcztcblxuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24odGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5hZGRUYWIodGFiKSk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZVRhYih0YWJLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24odGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5kZWxldGVUYWIodGFiS2V5KSk7XG4gIH1cblxuICBwcml2YXRlIGVkaXRUYWIodGFiOiBBcGlUYWJJdGVtKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVuYWJsZUNhc2VXaWRnZXRzKSBkZWxldGUgdGFiLnNob3dUYXNrcztcblxuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24odGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5lZGl0VGFiKHRhYiwgdGFiLmtleSkpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2YWx0aW1vLWNhcmJvbi1saXN0XG4gICpuZ0lmPVwie2ZpZWxkczogZmllbGRzJCB8IGFzeW5jLCBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jLCB0YWJzOiB0YWJzJCB8IGFzeW5jfSBhcyBvYnNcIlxuICBbYWN0aW9uSXRlbXNdPVwiYWN0aW9uSXRlbXNcIlxuICBbaXRlbXNdPVwib2JzLnRhYnNcIlxuICBbZmllbGRzXT1cIm9icy5maWVsZHNcIlxuICBbaGVhZGVyXT1cImZhbHNlXCJcbiAgW2xvYWRpbmddPVwib2JzLmxvYWRpbmdcIlxuICAocm93Q2xpY2tlZCk9XCJvblJvd0NsaWNrZWQoJGV2ZW50KVwiXG4gIFtkcmFnQW5kRHJvcF09XCJ0cnVlXCJcbiAgW2RyYWdBbmREcm9wRGlzYWJsZWRdPVwiZHJhZ0FuZERyb3BEaXNhYmxlZCgpXCJcbiAgKGl0ZW1zUmVvcmRlcmVkKT1cIm9uSXRlbXNSZW9yZGVyZWRFdmVudCgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBjYXJib25Ub29sYmFyQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZFRhYkJ1dHRvblwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgW2FjdGlvbl09XCJhZGRUYWJCdXR0b25cIlxuICAgIFtkZXNjcmlwdGlvbl09XCInZG9zc2llci50YWJzLm5vUmVzdWx0c0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3RpdGxlXT1cIidkb3NzaWVyLnRhYnMubm9SZXN1bHRzJyB8IHRyYW5zbGF0ZVwiXG4gID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbjwvdmFsdGltby1jYXJib24tbGlzdD5cblxuPG5nLXRlbXBsYXRlICN0YWJUeXBlQ29sdW1uIGxldC1kYXRhPVwiZGF0YVwiPlxuICB7e1xuICAgIGlzVHJhbnNsYXRlZCgnZG9zc2llck1hbmFnZW1lbnQudGFiVHlwZS4nICsgZGF0YS5pdGVtLnR5cGUpXG4gICAgICA/ICgnZG9zc2llck1hbmFnZW1lbnQudGFiVHlwZS4nICsgZGF0YS5pdGVtLnR5cGUgfCB0cmFuc2xhdGUpXG4gICAgICA6IGRhdGEuaXRlbS50eXBlXG4gIH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYkNvbnRlbnRDb2x1bW4gbGV0LWRhdGE9XCJkYXRhXCI+XG4gIHt7XG4gICAgaXNUcmFuc2xhdGVkKCdkb3NzaWVyLnRhYnMuJyArIGRhdGEuaXRlbS5jb250ZW50S2V5KVxuICAgICAgPyAoJ2Rvc3NpZXIudGFicy4nICsgZGF0YS5pdGVtLmNvbnRlbnRLZXkgfCB0cmFuc2xhdGUpXG4gICAgICA6IGRhdGEuaXRlbS5jb250ZW50S2V5XG4gIH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2FkZFRhYkJ1dHRvbj5cbiAgPGJ1dHRvbiBjZHNCdXR0b249XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5BZGRUYWJNb2RhbCgpXCI+XG4gICAge3sgJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwuYWRkVGFiJyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgPHN2ZyBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCIgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiPjwvc3ZnPlxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1hZGQtdGFiLW1vZGFsXG4gICpuZ0lmPVwib3BlbkFkZE1vZGFsJCB8IGFzeW5jXCJcbiAgW2RvY3VtZW50RGVmaW5pdGlvbk5hbWVdPVwiZG9jdW1lbnREZWZpbml0aW9uTmFtZVwiXG4gIFtvcGVuXT1cIm9wZW5BZGRNb2RhbCQgfCBhc3luY1wiXG4gIChjbG9zZU1vZGFsRXZlbnQpPVwib25DbG9zZUFkZE1vZGFsRXZlbnQoJGV2ZW50KVwiXG4+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1hZGQtdGFiLW1vZGFsPlxuXG48dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtZWRpdC10YWItbW9kYWxcbiAgKm5nSWY9XCJvcGVuRWRpdE1vZGFsJCB8IGFzeW5jXCJcbiAgW3RhYl09XCJ0YWIkIHwgYXN5bmNcIlxuICAoY2xvc2VNb2RhbEV2ZW50KT1cIm9uQ2xvc2VFZGl0TW9kYWxFdmVudCgkZXZlbnQpXCJcbiAgW29wZW5dPVwib3BlbkVkaXRNb2RhbCQgfCBhc3luY1wiXG4+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1lZGl0LXRhYi1tb2RhbD5cblxuPHZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsXG4gIGNvbmZpcm1CdXR0b25UZXh0VHJhbnNsYXRpb25LZXk9XCJpbnRlcmZhY2UuZGVsZXRlXCJcbiAgY29uZmlybUJ1dHRvblR5cGU9XCJkYW5nZXJcIlxuICBjb250ZW50VHJhbnNsYXRpb25LZXk9XCJkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmRlbGV0ZU1vZGFsLmRlc2NyaXB0aW9uXCJcbiAgW291dHB1dE9uQ29uZmlybV09XCJkZWxldGVSb3dLZXkkIHwgYXN5bmNcIlxuICBbc2hvd01vZGFsU3ViamVjdCRdPVwic2hvd0RlbGV0ZU1vZGFsJFwiXG4gIHRpdGxlVHJhbnNsYXRpb25LZXk9XCJkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmRlbGV0ZU1vZGFsLnRpdGxlXCJcbiAgKGNvbmZpcm1FdmVudCk9XCJvbkNvbmZpcm1FdmVudCgkZXZlbnQpXCJcbj48L3ZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsPlxuIl19
|
|
@@ -13,19 +13,22 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
17
|
-
import { ApiTabType } from '@valtimo/dossier';
|
|
18
|
-
import { combineLatest, map, startWith } from 'rxjs';
|
|
16
|
+
import { ChangeDetectionStrategy, Component, Input, signal } from '@angular/core';
|
|
17
|
+
import { ApiTabType, DefaultTabs } from '@valtimo/dossier';
|
|
18
|
+
import { combineLatest, map, startWith, Subscription } from 'rxjs';
|
|
19
19
|
import * as i0 from "@angular/core";
|
|
20
|
-
import * as i1 from "
|
|
21
|
-
import * as i2 from "
|
|
22
|
-
import * as i3 from "@angular/
|
|
23
|
-
import * as i4 from "
|
|
24
|
-
import * as i5 from "
|
|
20
|
+
import * as i1 from "@valtimo/config";
|
|
21
|
+
import * as i2 from "../../../services";
|
|
22
|
+
import * as i3 from "@angular/forms";
|
|
23
|
+
import * as i4 from "@angular/common";
|
|
24
|
+
import * as i5 from "carbon-components-angular";
|
|
25
|
+
import * as i6 from "@ngx-translate/core";
|
|
25
26
|
export class TabFormComponent {
|
|
26
|
-
constructor(tabService, formGroupDirective) {
|
|
27
|
+
constructor(configService, tabService, formGroupDirective) {
|
|
28
|
+
this.configService = configService;
|
|
27
29
|
this.tabService = tabService;
|
|
28
30
|
this.formGroupDirective = formGroupDirective;
|
|
31
|
+
this.disableTaskListVisibleToggle = signal(false);
|
|
29
32
|
this.listItems$ = combineLatest([
|
|
30
33
|
this.tabService.configuredContentKeys$,
|
|
31
34
|
this.tabService.formDefinitions$,
|
|
@@ -39,11 +42,26 @@ export class TabFormComponent {
|
|
|
39
42
|
return this.getListItems(customComponentKeys, tabKeys);
|
|
40
43
|
case ApiTabType.FORMIO:
|
|
41
44
|
return this.getListItems(formDefinitions, tabKeys);
|
|
45
|
+
case ApiTabType.WIDGETS:
|
|
46
|
+
return [];
|
|
42
47
|
}
|
|
43
48
|
}), startWith([]));
|
|
49
|
+
this.enableCaseWidgets$ = this.configService.getFeatureToggleObservable('enableCaseWidgets');
|
|
50
|
+
this._subscriptions = new Subscription();
|
|
44
51
|
}
|
|
45
52
|
ngOnInit() {
|
|
46
53
|
this.form = this.formGroupDirective.control;
|
|
54
|
+
this.showTasks = this.form.get('showTasks');
|
|
55
|
+
this.openTaskListToggleSubscription();
|
|
56
|
+
if (this.tabType == ApiTabType.WIDGETS) {
|
|
57
|
+
this.form.get('contentKey')?.disable();
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.form.get('contentKey')?.enable();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
ngOnDestroy() {
|
|
64
|
+
this._subscriptions.unsubscribe();
|
|
47
65
|
}
|
|
48
66
|
onSearch() {
|
|
49
67
|
if (this._searchActive) {
|
|
@@ -55,6 +73,21 @@ export class TabFormComponent {
|
|
|
55
73
|
onSelected() {
|
|
56
74
|
this._searchActive = false;
|
|
57
75
|
}
|
|
76
|
+
toggleCheckedChange(event) {
|
|
77
|
+
this.showTasks?.patchValue(!!event);
|
|
78
|
+
}
|
|
79
|
+
openTaskListToggleSubscription() {
|
|
80
|
+
this.form.get('contentKey').valueChanges.subscribe(contentKey => {
|
|
81
|
+
const summarySelected = contentKey === DefaultTabs.summary;
|
|
82
|
+
if (summarySelected) {
|
|
83
|
+
this.toggleCheckedChange(true);
|
|
84
|
+
this.disableTaskListVisibleToggle.set(true);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.disableTaskListVisibleToggle.set(false);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
58
91
|
getListItems(tabItems, configuredContentKeys) {
|
|
59
92
|
return tabItems
|
|
60
93
|
.filter((tabItem) => !configuredContentKeys.includes(tabItem.contentKey) ||
|
|
@@ -64,13 +97,13 @@ export class TabFormComponent {
|
|
|
64
97
|
selected: this.form?.get('contentKey')?.value === tabItem.contentKey,
|
|
65
98
|
}));
|
|
66
99
|
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TabFormComponent, deps: [{ token: i1.
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TabFormComponent, deps: [{ token: i1.ConfigService }, { token: i2.TabService }, { token: i3.FormGroupDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: TabFormComponent, selector: "valtimo-tab-form", inputs: { tabType: "tabType" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\">\n <cds-label>\n {{ 'dossierManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [invalidText]=\"'dossierManagement.tabManagement.addModal.uniqueKeyError' | translate\"\n >\n {{ 'dossierManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n *ngIf=\"tabType !== 'widgets'\"\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'dossierManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n @if (enableCaseWidgets$ | async) {\n <cds-toggle\n [label]=\"'dossierManagement.tabManagement.addModal.visibleTitle' | translate\"\n [onText]=\"'dossierManagement.tabManagement.addModal.visible' | translate\"\n [offText]=\"'dossierManagement.tabManagement.addModal.invisible' | translate\"\n [checked]=\"showTasks?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n [disabled]=\"disableTaskListVisibleToggle()\"\n ></cds-toggle>\n }\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i5.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i5.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i5.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "items", "type", "size", "itemValueKey", "label", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
69
102
|
}
|
|
70
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TabFormComponent, decorators: [{
|
|
71
104
|
type: Component,
|
|
72
|
-
args: [{ selector: 'valtimo-tab-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\">\n <cds-label>\n {{ 'dossierManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [invalidText]=\"'dossierManagement.tabManagement.addModal.uniqueKeyError' | translate\"\n >\n {{ 'dossierManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'dossierManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
73
|
-
}], ctorParameters: () => [{ type: i1.
|
|
105
|
+
args: [{ selector: 'valtimo-tab-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\">\n <cds-label>\n {{ 'dossierManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [invalidText]=\"'dossierManagement.tabManagement.addModal.uniqueKeyError' | translate\"\n >\n {{ 'dossierManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n *ngIf=\"tabType !== 'widgets'\"\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'dossierManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n @if (enableCaseWidgets$ | async) {\n <cds-toggle\n [label]=\"'dossierManagement.tabManagement.addModal.visibleTitle' | translate\"\n [onText]=\"'dossierManagement.tabManagement.addModal.visible' | translate\"\n [offText]=\"'dossierManagement.tabManagement.addModal.invisible' | translate\"\n [checked]=\"showTasks?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n [disabled]=\"disableTaskListVisibleToggle()\"\n ></cds-toggle>\n }\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
106
|
+
}], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.TabService }, { type: i3.FormGroupDirective }], propDecorators: { tabType: [{
|
|
74
107
|
type: Input
|
|
75
108
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzL3RhYi1mb3JtL3RhYi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy90YWItZm9ybS90YWItZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFTbkQsTUFBTSxPQUFPLGdCQUFnQjtJQXlCM0IsWUFDbUIsVUFBc0IsRUFDdEIsa0JBQXNDO1FBRHRDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQXhCekMsZUFBVSxHQUFHLGFBQWEsQ0FBQztZQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQjtZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQjtZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVk7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0I7U0FDckMsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsRUFBRTtZQUNuRSxRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxVQUFVLENBQUMsUUFBUTtvQkFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDakQsS0FBSyxVQUFVLENBQUMsTUFBTTtvQkFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUN6RCxLQUFLLFVBQVUsQ0FBQyxNQUFNO29CQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsRUFBRSxDQUFDLENBQ2QsQ0FBQztJQVFDLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO0lBQzlDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRU8sWUFBWSxDQUFDLFFBQW9CLEVBQUUscUJBQStCO1FBQ3hFLE9BQU8sUUFBUTthQUNaLE1BQU0sQ0FDTCxDQUFDLE9BQWlCLEVBQUUsRUFBRSxDQUNwQixDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ25ELElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssS0FBSyxPQUFPLENBQUMsVUFBVSxDQUM3RDthQUNBLEdBQUcsQ0FBQyxDQUFDLE9BQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0IsR0FBRyxPQUFPO1lBQ1YsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssS0FBSyxPQUFPLENBQUMsVUFBVTtTQUNyRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7OEdBMURVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHdGQzVCN0Isa3VEQWlEQTs7MkZEckJhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTtnSEFHdEMsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Hcm91cCwgRm9ybUdyb3VwRGlyZWN0aXZlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0FwaVRhYlR5cGV9IGZyb20gJ0B2YWx0aW1vL2Rvc3NpZXInO1xuaW1wb3J0IHtMaXN0SXRlbX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIG1hcCwgc3RhcnRXaXRofSBmcm9tICdyeGpzJztcbmltcG9ydCB7VGFiU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRhYi1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRhYkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB0YWJUeXBlOiBBcGlUYWJUeXBlO1xuXG4gIHB1YmxpYyByZWFkb25seSBsaXN0SXRlbXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy50YWJTZXJ2aWNlLmNvbmZpZ3VyZWRDb250ZW50S2V5cyQsXG4gICAgdGhpcy50YWJTZXJ2aWNlLmZvcm1EZWZpbml0aW9ucyQsXG4gICAgdGhpcy50YWJTZXJ2aWNlLmRlZmF1bHRUYWJzJCxcbiAgICB0aGlzLnRhYlNlcnZpY2UuY3VzdG9tQ29tcG9uZW50S2V5cyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbdGFiS2V5cywgZm9ybURlZmluaXRpb25zLCBkZWZhdWx0VGFicywgY3VzdG9tQ29tcG9uZW50S2V5c10pID0+IHtcbiAgICAgIHN3aXRjaCAodGhpcy50YWJUeXBlKSB7XG4gICAgICAgIGNhc2UgQXBpVGFiVHlwZS5TVEFOREFSRDpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0SXRlbXMoZGVmYXVsdFRhYnMsIHRhYktleXMpO1xuICAgICAgICBjYXNlIEFwaVRhYlR5cGUuQ1VTVE9NOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldExpc3RJdGVtcyhjdXN0b21Db21wb25lbnRLZXlzLCB0YWJLZXlzKTtcbiAgICAgICAgY2FzZSBBcGlUYWJUeXBlLkZPUk1JTzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0SXRlbXMoZm9ybURlZmluaXRpb25zLCB0YWJLZXlzKTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzdGFydFdpdGgoW10pXG4gICk7XG4gIHB1YmxpYyBmb3JtITogRm9ybUdyb3VwO1xuXG4gIHByaXZhdGUgX3NlYXJjaEFjdGl2ZTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYlNlcnZpY2U6IFRhYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtR3JvdXBEaXJlY3RpdmU6IEZvcm1Hcm91cERpcmVjdGl2ZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUdyb3VwRGlyZWN0aXZlLmNvbnRyb2w7XG4gIH1cblxuICBwdWJsaWMgb25TZWFyY2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlYXJjaEFjdGl2ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3NlYXJjaEFjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5mb3JtLmdldCgnY29udGVudEtleScpPy5yZXNldCgnJyk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWFyY2hBY3RpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGlzdEl0ZW1zKHRhYkl0ZW1zOiBMaXN0SXRlbVtdLCBjb25maWd1cmVkQ29udGVudEtleXM6IHN0cmluZ1tdKTogTGlzdEl0ZW1bXSB7XG4gICAgcmV0dXJuIHRhYkl0ZW1zXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAodGFiSXRlbTogTGlzdEl0ZW0pID0+XG4gICAgICAgICAgIWNvbmZpZ3VyZWRDb250ZW50S2V5cy5pbmNsdWRlcyh0YWJJdGVtLmNvbnRlbnRLZXkpIHx8XG4gICAgICAgICAgdGhpcy5mb3JtPy5nZXQoJ2NvbnRlbnRLZXknKT8udmFsdWUgPT09IHRhYkl0ZW0uY29udGVudEtleVxuICAgICAgKVxuICAgICAgLm1hcCgodGFiSXRlbTogTGlzdEl0ZW0pID0+ICh7XG4gICAgICAgIC4uLnRhYkl0ZW0sXG4gICAgICAgIHNlbGVjdGVkOiB0aGlzLmZvcm0/LmdldCgnY29udGVudEtleScpPy52YWx1ZSA9PT0gdGFiSXRlbS5jb250ZW50S2V5LFxuICAgICAgfSkpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxmb3JtICpuZ0lmPVwiZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwidmFsdGltby10YWItZm9ybS1tb2RhbFwiPlxuICA8Y2RzLWxhYmVsPlxuICAgIHt7ICdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLnRhYk5hbWVMYWJlbCcgfCB0cmFuc2xhdGUgfX1cblxuICAgIDxpbnB1dCBjZHNUZXh0IGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiBbYXR0ci5tb2RhbC1wcmltYXJ5LWZvY3VzXT1cInRydWVcIiAvPlxuICA8L2Nkcy1sYWJlbD5cblxuICA8Y2RzLWxhYmVsXG4gICAgW2ludmFsaWRdPVwiISF0aGlzLmZvcm0uZ2V0KCdrZXknKS5lcnJvcnM/LnVuaXF1ZUtleVwiXG4gICAgW2ludmFsaWRUZXh0XT1cIidkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLnVuaXF1ZUtleUVycm9yJyB8IHRyYW5zbGF0ZVwiXG4gID5cbiAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC50YWJLZXlMYWJlbCcgfCB0cmFuc2xhdGUgfX1cblxuICAgIDxpbnB1dFxuICAgICAgY2RzVGV4dFxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwia2V5XCJcbiAgICAgIFtpbnZhbGlkXT1cIiEhdGhpcy5mb3JtLmdldCgna2V5JykuZXJyb3JzPy51bmlxdWVLZXlcIlxuICAgICAgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCJcbiAgICAvPlxuICA8L2Nkcy1sYWJlbD5cblxuICA8Y2RzLWNvbWJvLWJveFxuICAgIFtkcm9wVXBdPVwiZmFsc2VcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cImNvbnRlbnRLZXlcIlxuICAgIFtpdGVtc109XCJsaXN0SXRlbXMkIHwgYXN5bmNcIlxuICAgIGl0ZW1WYWx1ZUtleT1cImNvbnRlbnRLZXlcIlxuICAgIFtsYWJlbF09XCInZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb250ZW50TGFiZWxzLicgKyB0YWJUeXBlIHwgdHJhbnNsYXRlXCJcbiAgICAoc2VhcmNoKT1cIm9uU2VhcmNoKCRldmVudClcIlxuICAgIChzZWxlY3RlZCk9XCJvblNlbGVjdGVkKCRldmVudClcIlxuICA+XG4gICAgPGNkcy1kcm9wZG93bi1saXN0PjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gIDwvY2RzLWNvbWJvLWJveD5cbjwvZm9ybT5cbiJdfQ==
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzL3RhYi1mb3JtL3RhYi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy90YWItZm9ybS90YWItZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkcsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCxPQUFPLEVBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQVVqRSxNQUFNLE9BQU8sZ0JBQWdCO0lBcUMzQixZQUNtQixhQUE0QixFQUM1QixVQUFzQixFQUN0QixrQkFBc0M7UUFGdEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBckNsRCxpQ0FBNEIsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsZUFBVSxHQUFHLGFBQWEsQ0FBQztZQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQjtZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQjtZQUNoQyxJQUFJLENBQUMs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QUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUFDLFFBQW9CLEVBQUUscUJBQStCO1FBQ3hFLE9BQU8sUUFBUTthQUNaLE1BQU0sQ0FDTCxDQUFDLE9BQWlCLEVBQUUsRUFBRSxDQUNwQixDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ25ELElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssS0FBSyxPQUFPLENBQUMsVUFBVSxDQUM3RDthQUNBLEdBQUcsQ0FBQyxDQUFDLE9BQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0IsR0FBRyxPQUFPO1lBQ1YsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssS0FBSyxPQUFPLENBQUMsVUFBVTtTQUNyRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7OEdBcEdVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHdGQzdCN0IsMnVFQTZEQTs7MkZEaENhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs0SUFHL0IsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIEZvcm1Hcm91cERpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBcGlUYWJUeXBlLCBEZWZhdWx0VGFic30gZnJvbSAnQHZhbHRpbW8vZG9zc2llcic7XG5pbXBvcnQge0xpc3RJdGVtfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgbWFwLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RhYlNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby10YWItZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYi1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwdWJsaWMgdGFiVHlwZTogQXBpVGFiVHlwZTtcblxuICBwdWJsaWMgZGlzYWJsZVRhc2tMaXN0VmlzaWJsZVRvZ2dsZSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxpc3RJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnRhYlNlcnZpY2UuY29uZmlndXJlZENvbnRlbnRLZXlzJCxcbiAgICB0aGlzLnRhYlNlcnZpY2UuZm9ybURlZmluaXRpb25zJCxcbiAgICB0aGlzLnRhYlNlcnZpY2UuZGVmYXVsdFRhYnMkLFxuICAgIHRoaXMudGFiU2VydmljZS5jdXN0b21Db21wb25lbnRLZXlzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFt0YWJLZXlzLCBmb3JtRGVmaW5pdGlvbnMsIGRlZmF1bHRUYWJzLCBjdXN0b21Db21wb25lbnRLZXlzXSkgPT4ge1xuICAgICAgc3dpdGNoICh0aGlzLnRhYlR5cGUpIHtcbiAgICAgICAgY2FzZSBBcGlUYWJUeXBlLlNUQU5EQVJEOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldExpc3RJdGVtcyhkZWZhdWx0VGFicywgdGFiS2V5cyk7XG4gICAgICAgIGNhc2UgQXBpVGFiVHlwZS5DVVNUT006XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGlzdEl0ZW1zKGN1c3RvbUNvbXBvbmVudEtleXMsIHRhYktleXMpO1xuICAgICAgICBjYXNlIEFwaVRhYlR5cGUuRk9STUlPOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldExpc3RJdGVtcyhmb3JtRGVmaW5pdGlvbnMsIHRhYktleXMpO1xuICAgICAgICBjYXNlIEFwaVRhYlR5cGUuV0lER0VUUzpcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgfSksXG4gICAgc3RhcnRXaXRoKFtdKVxuICApO1xuXG4gIHB1YmxpYyBmb3JtITogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBzaG93VGFza3MhOiBBYnN0cmFjdENvbnRyb2w8Ym9vbGVhbj47XG5cbiAgcHVibGljIHJlYWRvbmx5IGVuYWJsZUNhc2VXaWRnZXRzJCA9XG4gICAgdGhpcy5jb25maWdTZXJ2aWNlLmdldEZlYXR1cmVUb2dnbGVPYnNlcnZhYmxlKCdlbmFibGVDYXNlV2lkZ2V0cycpO1xuXG4gIHByaXZhdGUgX3NlYXJjaEFjdGl2ZTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYlNlcnZpY2U6IFRhYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtR3JvdXBEaXJlY3RpdmU6IEZvcm1Hcm91cERpcmVjdGl2ZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUdyb3VwRGlyZWN0aXZlLmNvbnRyb2w7XG4gICAgdGhpcy5zaG93VGFza3MgPSB0aGlzLmZvcm0uZ2V0KCdzaG93VGFza3MnKTtcbiAgICB0aGlzLm9wZW5UYXNrTGlzdFRvZ2dsZVN1YnNjcmlwdGlvbigpO1xuXG4gICAgaWYgKHRoaXMudGFiVHlwZSA9PSBBcGlUYWJUeXBlLldJREdFVFMpIHtcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2NvbnRlbnRLZXknKT8uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCdjb250ZW50S2V5Jyk/LmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgb25TZWFyY2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlYXJjaEFjdGl2ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3NlYXJjaEFjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5mb3JtLmdldCgnY29udGVudEtleScpPy5yZXNldCgnJyk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWFyY2hBY3RpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDaGVja2VkQ2hhbmdlKGV2ZW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zaG93VGFza3M/LnBhdGNoVmFsdWUoISFldmVudCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5UYXNrTGlzdFRvZ2dsZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uZ2V0KCdjb250ZW50S2V5JykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjb250ZW50S2V5ID0+IHtcbiAgICAgIGNvbnN0IHN1bW1hcnlTZWxlY3RlZCA9IGNvbnRlbnRLZXkgPT09IERlZmF1bHRUYWJzLnN1bW1hcnk7XG5cbiAgICAgIGlmIChzdW1tYXJ5U2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy50b2dnbGVDaGVja2VkQ2hhbmdlKHRydWUpO1xuICAgICAgICB0aGlzLmRpc2FibGVUYXNrTGlzdFZpc2libGVUb2dnbGUuc2V0KHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlVGFza0xpc3RWaXNpYmxlVG9nZ2xlLnNldChmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldExpc3RJdGVtcyh0YWJJdGVtczogTGlzdEl0ZW1bXSwgY29uZmlndXJlZENvbnRlbnRLZXlzOiBzdHJpbmdbXSk6IExpc3RJdGVtW10ge1xuICAgIHJldHVybiB0YWJJdGVtc1xuICAgICAgLmZpbHRlcihcbiAgICAgICAgKHRhYkl0ZW06IExpc3RJdGVtKSA9PlxuICAgICAgICAgICFjb25maWd1cmVkQ29udGVudEtleXMuaW5jbHVkZXModGFiSXRlbS5jb250ZW50S2V5KSB8fFxuICAgICAgICAgIHRoaXMuZm9ybT8uZ2V0KCdjb250ZW50S2V5Jyk/LnZhbHVlID09PSB0YWJJdGVtLmNvbnRlbnRLZXlcbiAgICAgIClcbiAgICAgIC5tYXAoKHRhYkl0ZW06IExpc3RJdGVtKSA9PiAoe1xuICAgICAgICAuLi50YWJJdGVtLFxuICAgICAgICBzZWxlY3RlZDogdGhpcy5mb3JtPy5nZXQoJ2NvbnRlbnRLZXknKT8udmFsdWUgPT09IHRhYkl0ZW0uY29udGVudEtleSxcbiAgICAgIH0pKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Zm9ybSAqbmdJZj1cImZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cInZhbHRpbW8tdGFiLWZvcm0tbW9kYWxcIj5cbiAgPGNkcy1sYWJlbD5cbiAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC50YWJOYW1lTGFiZWwnIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8aW5wdXQgY2RzVGV4dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCIgLz5cbiAgPC9jZHMtbGFiZWw+XG5cbiAgPGNkcy1sYWJlbFxuICAgIFtpbnZhbGlkXT1cIiEhdGhpcy5mb3JtLmdldCgna2V5JykuZXJyb3JzPy51bmlxdWVLZXlcIlxuICAgIFtpbnZhbGlkVGV4dF09XCInZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC51bmlxdWVLZXlFcnJvcicgfCB0cmFuc2xhdGVcIlxuICA+XG4gICAge3sgJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwudGFiS2V5TGFiZWwnIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8aW5wdXRcbiAgICAgIGNkc1RleHRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImtleVwiXG4gICAgICBbaW52YWxpZF09XCIhIXRoaXMuZm9ybS5nZXQoJ2tleScpLmVycm9ycz8udW5pcXVlS2V5XCJcbiAgICAgIFthdHRyLm1vZGFsLXByaW1hcnktZm9jdXNdPVwidHJ1ZVwiXG4gICAgLz5cbiAgPC9jZHMtbGFiZWw+XG5cbiAgPGNkcy1jb21iby1ib3hcbiAgICAqbmdJZj1cInRhYlR5cGUgIT09ICd3aWRnZXRzJ1wiXG4gICAgW2Ryb3BVcF09XCJmYWxzZVwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udGVudEtleVwiXG4gICAgW2l0ZW1zXT1cImxpc3RJdGVtcyQgfCBhc3luY1wiXG4gICAgaXRlbVZhbHVlS2V5PVwiY29udGVudEtleVwiXG4gICAgW2xhYmVsXT1cIidkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmNvbnRlbnRMYWJlbHMuJyArIHRhYlR5cGUgfCB0cmFuc2xhdGVcIlxuICAgIChzZWFyY2gpPVwib25TZWFyY2goJGV2ZW50KVwiXG4gICAgKHNlbGVjdGVkKT1cIm9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gID5cbiAgICA8Y2RzLWRyb3Bkb3duLWxpc3Q+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgPC9jZHMtY29tYm8tYm94PlxuXG4gIEBpZiAoZW5hYmxlQ2FzZVdpZGdldHMkIHwgYXN5bmMpIHtcbiAgICA8Y2RzLXRvZ2dsZVxuICAgICAgW2xhYmVsXT1cIidkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLnZpc2libGVUaXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgW29uVGV4dF09XCInZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC52aXNpYmxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbb2ZmVGV4dF09XCInZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC5pbnZpc2libGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtjaGVja2VkXT1cInNob3dUYXNrcz8udmFsdWVcIlxuICAgICAgKGNoZWNrZWRDaGFuZ2UpPVwidG9nZ2xlQ2hlY2tlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlVGFza0xpc3RWaXNpYmxlVG9nZ2xlKClcIlxuICAgID48L2Nkcy10b2dnbGU+XG4gIH1cbjwvZm9ybT5cbiJdfQ==
|