@valtimo/case-migration 12.2.1 → 12.4.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.
|
@@ -109,10 +109,10 @@ export class CaseMigrationComponent {
|
|
|
109
109
|
.subscribe();
|
|
110
110
|
}
|
|
111
111
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseMigrationComponent, deps: [{ token: i1.DocumentService }, { token: i2.CaseMigrationService }, { token: i3.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
112
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CaseMigrationComponent, selector: "valtimo-case-migration", 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<ng-container\n class=\"case-count-configuration-form\"\n *ngIf=\"{\n sourceDocumentDefinitionNameItems: sourceDocumentDefinitionNameItems$ | async,\n sourceDocumentDefinitionVersionItems: sourceDocumentDefinitionVersionItems$ | async,\n targetDocumentDefinitionNameItems: targetDocumentDefinitionNameItems$ | async,\n targetDocumentDefinitionVersionItems: targetDocumentDefinitionVersionItems$ | async,\n sourceDocumentDefinitionNameSelected: sourceDocumentDefinitionNameSelected$ | async,\n sourceDocumentDefinitionVersionSelected: sourceDocumentDefinitionVersionSelected$ | async,\n targetDocumentDefinitionNameSelected: targetDocumentDefinitionNameSelected$ | async,\n targetDocumentDefinitionVersionSelected: targetDocumentDefinitionVersionSelected$ | async,\n patchItems: patchItems$ | async,\n errors: errors$ | async,\n showConfirmationModal: showConfirmationModal$\n } as obs\"\n>\n <ng-container>\n <div class=\"pb-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseMigration.warningBeta' | translate,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.caseDefinition' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n (selected)=\"sourceDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n sourceDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"targetDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n targetDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2 pb-2\">\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.patches' | translate }}</h2>\n </div>\n </div>\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event)\"\n [title]=\"' '\"\n [tooltip]=\"'caseMigration.patchTooltip' | translate\"\n [defaultValues]=\"[]\"\n [keyColumnTitle]=\"'caseMigration.patchSource' | translate\"\n [valueColumnTitle]=\"'caseMigration.patchTarget' | translate\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2\">\n <div *ngIf=\"obs.errors?.length >= 1\" class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.errors' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"pb-2\" *ngFor=\"let error of obs.errors\">\n <cds-notification\n [notificationObj]=\"{\n type: 'error',\n title: error,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n </div>\n </ng-container>\n\n <ng-container>\n <button\n class=\"mt-2 mb-2 mr-2\"\n cdsButton=\"secondary\"\n size=\"md\"\n (click)=\"checkPatches()\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.checkPatches' | translate }}\n </button>\n <button\n class=\"mt-2 mb-2 ml-2\"\n cdsButton=\"primary\"\n size=\"md\"\n (click)=\"showConfirmationModal$.next(true)\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.migrate' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"watsonHealthStackedMove\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"migrate()\"\n (cancelEvent)=\"showConfirmationModal$.next(false)\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"caseMigration.modalTitle\"\n titleTranslationKey=\"caseMigration.modalTitle\"\n contentTranslationKey=\"caseMigration.modalContent\"\n ></valtimo-confirmation-modal>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i5.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "arbitraryValueAmount", "arbitraryAmountTitles", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth", "carbonTheme"], outputs: ["valueChange", "allValuesValidEvent"] }, { 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: i3.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
112
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CaseMigrationComponent, selector: "valtimo-case-migration", 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<ng-container\n class=\"case-count-configuration-form\"\n *ngIf=\"{\n sourceDocumentDefinitionNameItems: sourceDocumentDefinitionNameItems$ | async,\n sourceDocumentDefinitionVersionItems: sourceDocumentDefinitionVersionItems$ | async,\n targetDocumentDefinitionNameItems: targetDocumentDefinitionNameItems$ | async,\n targetDocumentDefinitionVersionItems: targetDocumentDefinitionVersionItems$ | async,\n sourceDocumentDefinitionNameSelected: sourceDocumentDefinitionNameSelected$ | async,\n sourceDocumentDefinitionVersionSelected: sourceDocumentDefinitionVersionSelected$ | async,\n targetDocumentDefinitionNameSelected: targetDocumentDefinitionNameSelected$ | async,\n targetDocumentDefinitionVersionSelected: targetDocumentDefinitionVersionSelected$ | async,\n patchItems: patchItems$ | async,\n errors: errors$ | async,\n showConfirmationModal: showConfirmationModal$,\n } as obs\"\n>\n <ng-container>\n <div class=\"pb-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseMigration.warningBeta' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.caseDefinition' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n (selected)=\"sourceDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n sourceDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"targetDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n targetDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2 pb-2\">\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.patches' | translate }}</h2>\n </div>\n </div>\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event)\"\n [title]=\"' '\"\n [tooltip]=\"'caseMigration.patchTooltip' | translate\"\n [defaultValues]=\"[]\"\n [keyColumnTitle]=\"'caseMigration.patchSource' | translate\"\n [valueColumnTitle]=\"'caseMigration.patchTarget' | translate\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2\">\n <div *ngIf=\"obs.errors?.length >= 1\" class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.errors' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"pb-2\" *ngFor=\"let error of obs.errors\">\n <cds-notification\n [notificationObj]=\"{\n type: 'error',\n title: error,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n </div>\n </ng-container>\n\n <ng-container>\n <button\n class=\"mt-2 mb-2 mr-2\"\n cdsButton=\"secondary\"\n size=\"md\"\n (click)=\"checkPatches()\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.checkPatches' | translate }}\n </button>\n <button\n class=\"mt-2 mb-2 ml-2\"\n cdsButton=\"primary\"\n size=\"md\"\n (click)=\"showConfirmationModal$.next(true)\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.migrate' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"watsonHealthStackedMove\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"migrate()\"\n (cancelEvent)=\"showConfirmationModal$.next(false)\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"caseMigration.modalTitle\"\n titleTranslationKey=\"caseMigration.modalTitle\"\n contentTranslationKey=\"caseMigration.modalContent\"\n ></valtimo-confirmation-modal>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i5.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "arbitraryValueAmount", "arbitraryAmountTitles", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth", "carbonTheme"], outputs: ["valueChange", "allValuesValidEvent"] }, { 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: i3.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
113
113
|
}
|
|
114
114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseMigrationComponent, decorators: [{
|
|
115
115
|
type: Component,
|
|
116
|
-
args: [{ selector: 'valtimo-case-migration', 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<ng-container\n class=\"case-count-configuration-form\"\n *ngIf=\"{\n sourceDocumentDefinitionNameItems: sourceDocumentDefinitionNameItems$ | async,\n sourceDocumentDefinitionVersionItems: sourceDocumentDefinitionVersionItems$ | async,\n targetDocumentDefinitionNameItems: targetDocumentDefinitionNameItems$ | async,\n targetDocumentDefinitionVersionItems: targetDocumentDefinitionVersionItems$ | async,\n sourceDocumentDefinitionNameSelected: sourceDocumentDefinitionNameSelected$ | async,\n sourceDocumentDefinitionVersionSelected: sourceDocumentDefinitionVersionSelected$ | async,\n targetDocumentDefinitionNameSelected: targetDocumentDefinitionNameSelected$ | async,\n targetDocumentDefinitionVersionSelected: targetDocumentDefinitionVersionSelected$ | async,\n patchItems: patchItems$ | async,\n errors: errors$ | async,\n showConfirmationModal: showConfirmationModal
|
|
116
|
+
args: [{ selector: 'valtimo-case-migration', 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<ng-container\n class=\"case-count-configuration-form\"\n *ngIf=\"{\n sourceDocumentDefinitionNameItems: sourceDocumentDefinitionNameItems$ | async,\n sourceDocumentDefinitionVersionItems: sourceDocumentDefinitionVersionItems$ | async,\n targetDocumentDefinitionNameItems: targetDocumentDefinitionNameItems$ | async,\n targetDocumentDefinitionVersionItems: targetDocumentDefinitionVersionItems$ | async,\n sourceDocumentDefinitionNameSelected: sourceDocumentDefinitionNameSelected$ | async,\n sourceDocumentDefinitionVersionSelected: sourceDocumentDefinitionVersionSelected$ | async,\n targetDocumentDefinitionNameSelected: targetDocumentDefinitionNameSelected$ | async,\n targetDocumentDefinitionVersionSelected: targetDocumentDefinitionVersionSelected$ | async,\n patchItems: patchItems$ | async,\n errors: errors$ | async,\n showConfirmationModal: showConfirmationModal$,\n } as obs\"\n>\n <ng-container>\n <div class=\"pb-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseMigration.warningBeta' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.caseDefinition' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n (selected)=\"sourceDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n sourceDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"targetDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n targetDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2 pb-2\">\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.patches' | translate }}</h2>\n </div>\n </div>\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event)\"\n [title]=\"' '\"\n [tooltip]=\"'caseMigration.patchTooltip' | translate\"\n [defaultValues]=\"[]\"\n [keyColumnTitle]=\"'caseMigration.patchSource' | translate\"\n [valueColumnTitle]=\"'caseMigration.patchTarget' | translate\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2\">\n <div *ngIf=\"obs.errors?.length >= 1\" class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.errors' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"pb-2\" *ngFor=\"let error of obs.errors\">\n <cds-notification\n [notificationObj]=\"{\n type: 'error',\n title: error,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n </div>\n </ng-container>\n\n <ng-container>\n <button\n class=\"mt-2 mb-2 mr-2\"\n cdsButton=\"secondary\"\n size=\"md\"\n (click)=\"checkPatches()\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.checkPatches' | translate }}\n </button>\n <button\n class=\"mt-2 mb-2 ml-2\"\n cdsButton=\"primary\"\n size=\"md\"\n (click)=\"showConfirmationModal$.next(true)\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.migrate' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"watsonHealthStackedMove\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"migrate()\"\n (cancelEvent)=\"showConfirmationModal$.next(false)\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"caseMigration.modalTitle\"\n titleTranslationKey=\"caseMigration.modalTitle\"\n contentTranslationKey=\"caseMigration.modalContent\"\n ></valtimo-confirmation-modal>\n</ng-container>\n" }]
|
|
117
117
|
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2.CaseMigrationService }, { type: i3.IconService }] });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1taWdyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jYXNlLW1pZ3JhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvY2FzZS1taWdyYXRpb24tY29tcG9uZW50L2Nhc2UtbWlncmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY2FzZS1taWdyYXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2Nhc2UtbWlncmF0aW9uLWNvbXBvbmVudC9jYXNlLW1pZ3JhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHeEMsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsTUFBTSxFQUNOLEdBQUcsRUFFSCxXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFJZCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBT3hELE1BQU0sT0FBTyxzQkFBc0I7SUFhakMsWUFDbUIsZUFBZ0MsRUFDaEMsb0JBQTBDLEVBQzFDLFdBQXdCO1FBRnhCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBZjNCLDBDQUFxQyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUNqRiw2Q0FBd0MsR0FBRyxJQUFJLGVBQWUsQ0FDNUUsSUFBSSxDQUNMLENBQUM7UUFDYywwQ0FBcUMsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFDakYsNkNBQXdDLEdBQUcsSUFB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LENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE9BQU87UUFDTCxhQUFhLENBQUM7WUFDWixJQUFJLENBQUMscUNBQXFDO1lBQzFDLElBQUksQ0FBQyx3Q0FBd0M7WUFDN0MsSUFBSSxDQUFDLHFDQUFxQztZQUMxQyxJQUFJLENBQUMsd0NBQXdDO1lBQzdDLElBQUksQ0FBQyxRQUFRO1NBQ2QsQ0FBQzthQUNDLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUNELENBQUMsQ0FDQyw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLDRCQUE0QixFQUM1QiwrQkFBK0IsRUFDL0IsT0FBTyxFQUNSLEVBQUUsRUFBRSxDQUNILENBQUM7WUFDQyw0QkFBNEI7WUFDNUIsK0JBQStCO1lBQy9CLDRCQUE0QjtZQUM1QiwrQkFBK0I7WUFDL0IsT0FBTztTQUNSLENBQXFDLENBQ3pDLEVBQ0QsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQ2xCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBMkMsQ0FBQyxDQUMvRSxDQUNGO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzsrR0F4TFUsc0JBQXNCO21HQUF0QixzQkFBc0IsOERDeENuQyxnd09Bd01BOzs0RkRoS2Esc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9jdW1lbnREZWZpbml0aW9uSWQsIERvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtNdWx0aUlucHV0VmFsdWVzfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIHNoYXJlUmVwbGF5LFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xpc3RJdGVtfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2Ryb3Bkb3duJztcbmltcG9ydCB7RG9jdW1lbnRNaWdyYXRpb25Db25mbGljdFJlcXVlc3QsIERvY3VtZW50TWlncmF0aW9uUGF0Y2gsIExvYWRlZFZhbHVlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtDYXNlTWlncmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtXYXRzb25IZWFsdGhTdGFja2VkTW92ZTE2fSBmcm9tICdAY2FyYm9uL2ljb25zJztcbmltcG9ydCB7SWNvblNlcnZpY2V9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWNhc2UtbWlncmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2UtbWlncmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZU1pZ3JhdGlvbkNvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHNvdXJjZURvY3VtZW50RGVmaW5pdGlvblZlcnNpb25TZWxlY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlciB8IG51bGw+KFxuICAgIG51bGxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblNlbGVjdGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4oXG4gICAgbnVsbFxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgcGF0Y2hJdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE11bHRpSW5wdXRWYWx1ZXM+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IGVycm9ycyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PHN0cmluZz4+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dDb25maXJtYXRpb25Nb2RhbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU1pZ3JhdGlvblNlcnZpY2U6IENhc2VNaWdyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaWNvblNlcnZpY2UucmVnaXN0ZXJBbGwoW1dhdHNvbkhlYWx0aFN0YWNrZWRNb3ZlMTZdKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudERlZmluaXRpb25JZHMkOiBPYnNlcnZhYmxlPEFycmF5PERvY3VtZW50RGVmaW5pdGlvbklkPj4gPVxuICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldEFsbERlZmluaXRpb25zKCkucGlwZShcbiAgICAgIG1hcChkZWZpbml0aW9ucyA9PiBkZWZpbml0aW9ucy5jb250ZW50Lm1hcChkZWZpbml0aW9uID0+IGRlZmluaXRpb24uaWQpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVJdGVtcyQ6IE9ic2VydmFibGU8TG9hZGVkVmFsdWU8QXJyYXk8TGlzdEl0ZW0+Pj4gPVxuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uSWRzJC5waXBlKFxuICAgICAgbWFwKGRvY3VtZW50RGVmaW5pdGlvbklkcyA9PlxuICAgICAgICBkb2N1bWVudERlZmluaXRpb25JZHMubWFwKFxuICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbklkID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25OYW1lOiBkb2N1bWVudERlZmluaXRpb25JZC5uYW1lLFxuICAgICAgICAgICAgICBjb250ZW50OiBkb2N1bWVudERlZmluaXRpb25JZC5uYW1lLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICB9KSBhcyBMaXN0SXRlbVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgbWFwKGl0ZW1zID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtcyxcbiAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgIH0pKSxcbiAgICAgIHN0YXJ0V2l0aCh7aXNMb2FkaW5nOiB0cnVlfSlcbiAgICApO1xuICBwdWJsaWMgcmVhZG9ubHkgc291cmNlRG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbkl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQsIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uSWRzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtzb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQsIGRvY3VtZW50RGVmaW5pdGlvbklkc10pID0+XG4gICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbklkcy5maW5kKGlkID0+IGlkLm5hbWUgPT09IHNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZClcbiAgICAgICksXG4gICAgICBmaWx0ZXIoZG9jdW1lbnREZWZpbml0aW9uSWQgPT4gISFkb2N1bWVudERlZmluaXRpb25JZCksXG4gICAgICBtYXAoZG9jdW1lbnREZWZpbml0aW9uSWQgPT4gWy4uLkFycmF5KGRvY3VtZW50RGVmaW5pdGlvbklkLnZlcnNpb24pLmtleXMoKV0ubWFwKHYgPT4gdiArIDEpKSxcbiAgICAgIG1hcCh2ZXJzaW9ucyA9PlxuICAgICAgICB2ZXJzaW9ucy5tYXAoXG4gICAgICAgICAgdmVyc2lvbiA9PlxuICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbjogdmVyc2lvbixcbiAgICAgICAgICAgICAgY29udGVudDogdmVyc2lvbi50b1N0cmluZygpLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICB9KSBhcyBMaXN0SXRlbVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVJdGVtcyQ6IE9ic2VydmFibGU8TG9hZGVkVmFsdWU8QXJyYXk8TGlzdEl0ZW0+Pj4gPVxuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uSWRzJC5waXBlKFxuICAgICAgbWFwKGRvY3VtZW50RGVmaW5pdGlvbklkcyA9PlxuICAgICAgICBkb2N1bWVudERlZmluaXRpb25JZHMubWFwKFxuICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbklkID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25OYW1lOiBkb2N1bWVudERlZmluaXRpb25JZC5uYW1lLFxuICAgICAgICAgICAgICBjb250ZW50OiBkb2N1bWVudERlZmluaXRpb25JZC5uYW1lLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICB9KSBhcyBMaXN0SXRlbVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgbWFwKGl0ZW1zID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtcyxcbiAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgIH0pKSxcbiAgICAgIHN0YXJ0V2l0aCh7aXNMb2FkaW5nOiB0cnVlfSlcbiAgICApO1xuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbkl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQsIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uSWRzJF0pLnBpcGUoXG4gICAgICBtYXAoKFt0YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQsIGRvY3VtZW50RGVmaW5pdGlvbklkc10pID0+XG4gICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbklkcy5maW5kKGlkID0+IGlkLm5hbWUgPT09IHRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZClcbiAgICAgICksXG4gICAgICBmaWx0ZXIoZG9jdW1lbnREZWZpbml0aW9uSWQgPT4gISFkb2N1bWVudERlZmluaXRpb25JZCksXG4gICAgICBtYXAoZG9jdW1lbnREZWZpbml0aW9uSWQgPT4gWy4uLkFycmF5KGRvY3VtZW50RGVmaW5pdGlvbklkLnZlcnNpb24pLmtleXMoKV0ubWFwKHYgPT4gdiArIDEpKSxcbiAgICAgIG1hcCh2ZXJzaW9ucyA9PlxuICAgICAgICB2ZXJzaW9ucy5tYXAoXG4gICAgICAgICAgdmVyc2lvbiA9PlxuICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbjogdmVyc2lvbixcbiAgICAgICAgICAgICAgY29udGVudDogdmVyc2lvbi50b1N0cmluZygpLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICB9KSBhcyBMaXN0SXRlbVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHBhdGNoZXMkOiBPYnNlcnZhYmxlPEFycmF5PERvY3VtZW50TWlncmF0aW9uUGF0Y2g+PiA9IHRoaXMucGF0Y2hJdGVtcyQucGlwZShcbiAgICBtYXAocGF0Y2hJdGVtcyA9PlxuICAgICAgcGF0Y2hJdGVtcy5tYXAoXG4gICAgICAgIHBhdGNoSXRlbSA9PlxuICAgICAgICAgICh7XG4gICAgICAgICAgICBzb3VyY2U6IHBhdGNoSXRlbS5rZXksXG4gICAgICAgICAgICB0YXJnZXQ6IHBhdGNoSXRlbS52YWx1ZSxcbiAgICAgICAgICB9KSBhcyBEb2N1bWVudE1pZ3JhdGlvblBhdGNoXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIG1hcHBpbmdWYWx1ZUNoYW5nZShwYXRjaGVzOiBNdWx0aUlucHV0VmFsdWVzKTogdm9pZCB7XG4gICAgdGhpcy5wYXRjaEl0ZW1zJC5uZXh0KHBhdGNoZXMpO1xuICB9XG5cbiAgY2hlY2tQYXRjaGVzKCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQkLFxuICAgICAgdGhpcy5zb3VyY2VEb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQkLFxuICAgICAgdGhpcy50YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQkLFxuICAgICAgdGhpcy50YXJnZXREb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQkLFxuICAgICAgdGhpcy5wYXRjaGVzJCxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIG1hcChcbiAgICAgICAgICAoW1xuICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZVNvdXJjZSxcbiAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvblZlcnNpb25Tb3VyY2UsXG4gICAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25OYW1lVGFyZ2V0LFxuICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblRhcmdldCxcbiAgICAgICAgICAgIHBhdGNoZXMsXG4gICAgICAgICAgXSkgPT5cbiAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVTb3VyY2UsXG4gICAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvblZlcnNpb25Tb3VyY2UsXG4gICAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVUYXJnZXQsXG4gICAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvblZlcnNpb25UYXJnZXQsXG4gICAgICAgICAgICAgIHBhdGNoZXMsXG4gICAgICAgICAgICB9KSBhcyBEb2N1bWVudE1pZ3JhdGlvbkNvbmZsaWN0UmVxdWVzdFxuICAgICAgICApLFxuICAgICAgICBzd2l0Y2hNYXAocmVxdWVzdCA9PlxuICAgICAgICAgIHRoaXMuY2FzZU1pZ3JhdGlvblNlcnZpY2UuZ2V0Q29uZmxpY3RzKHJlcXVlc3QgYXMgRG9jdW1lbnRNaWdyYXRpb25Db25mbGljdFJlcXVlc3QpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICB0aGlzLmVycm9ycyQubmV4dChcbiAgICAgICAgICByZXNwb25zZS5lcnJvcnMuY29uY2F0KFxuICAgICAgICAgICAgcmVzcG9uc2UuY29uZmxpY3RzLmZpbHRlcihjID0+ICEhYy5lcnJvcikubWFwKGMgPT4gYy5zb3VyY2UgKyAnOiAnICsgYy5lcnJvcilcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG1pZ3JhdGUoKSB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQsXG4gICAgICB0aGlzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvblZlcnNpb25TZWxlY3RlZCQsXG4gICAgICB0aGlzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQsXG4gICAgICB0aGlzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvblZlcnNpb25TZWxlY3RlZCQsXG4gICAgICB0aGlzLnBhdGNoZXMkLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgbWFwKFxuICAgICAgICAgIChbXG4gICAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25OYW1lU291cmNlLFxuICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblNvdXJjZSxcbiAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVUYXJnZXQsXG4gICAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25WZXJzaW9uVGFyZ2V0LFxuICAgICAgICAgICAgcGF0Y2hlcyxcbiAgICAgICAgICBdKSA9PlxuICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZVNvdXJjZSxcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblNvdXJjZSxcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZVRhcmdldCxcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblRhcmdldCxcbiAgICAgICAgICAgICAgcGF0Y2hlcyxcbiAgICAgICAgICAgIH0pIGFzIERvY3VtZW50TWlncmF0aW9uQ29uZmxpY3RSZXF1ZXN0XG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcChyZXF1ZXN0ID0+XG4gICAgICAgICAgdGhpcy5jYXNlTWlncmF0aW9uU2VydmljZS5taWdyYXRlKHJlcXVlc3QgYXMgRG9jdW1lbnRNaWdyYXRpb25Db25mbGljdFJlcXVlc3QpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBDQVJCT05fVEhFTUUgPSAnZzEwJztcbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICBjbGFzcz1cImNhc2UtY291bnQtY29uZmlndXJhdGlvbi1mb3JtXCJcbiAgKm5nSWY9XCJ7XG4gICAgc291cmNlRG9jdW1lbnREZWZpbml0aW9uTmFtZUl0ZW1zOiBzb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lSXRlbXMkIHwgYXN5bmMsXG4gICAgc291cmNlRG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbkl0ZW1zOiBzb3VyY2VEb2N1bWVudERlZmluaXRpb25WZXJzaW9uSXRlbXMkIHwgYXN5bmMsXG4gICAgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZUl0ZW1zOiB0YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lSXRlbXMkIHwgYXN5bmMsXG4gICAgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbkl0ZW1zOiB0YXJnZXREb2N1bWVudERlZmluaXRpb25WZXJzaW9uSXRlbXMkIHwgYXN5bmMsXG4gICAgc291cmNlRG9jdW1lbnREZWZpbml0aW9uTmFtZVNlbGVjdGVkOiBzb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQkIHwgYXN5bmMsXG4gICAgc291cmNlRG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblNlbGVjdGVkOiBzb3VyY2VEb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQkIHwgYXN5bmMsXG4gICAgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZVNlbGVjdGVkOiB0YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQkIHwgYXN5bmMsXG4gICAgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblNlbGVjdGVkOiB0YXJnZXREb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQkIHwgYXN5bmMsXG4gICAgcGF0Y2hJdGVtczogcGF0Y2hJdGVtcyQgfCBhc3luYyxcbiAgICBlcnJvcnM6IGVycm9ycyQgfCBhc3luYyxcbiAgICBzaG93Q29uZmlybWF0aW9uTW9kYWw6IHNob3dDb25maXJtYXRpb25Nb2RhbCRcbiAgfSBhcyBvYnNcIlxuPlxuICA8bmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJwYi0yXCI+XG4gICAgICA8Y2RzLW5vdGlmaWNhdGlvblxuICAgICAgICBbbm90aWZpY2F0aW9uT2JqXT1cIntcbiAgICAgICAgICB0eXBlOiAnd2FybmluZycsXG4gICAgICAgICAgdGl0bGU6ICdjYXNlTWlncmF0aW9uLndhcm5pbmdCZXRhJyB8IHRyYW5zbGF0ZSxcbiAgICAgICAgICBzaG93Q2xvc2U6IGZhbHNlXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgPC9jZHMtbm90aWZpY2F0aW9uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBtdC00IG1iLTIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aDI+e3sgJ2Nhc2VNaWdyYXRpb24uY2FzZURlZmluaXRpb24nIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInJvdyBtLTBcIj5cbiAgICAgIDxjZHMtZHJvcGRvd25cbiAgICAgICAgY2xhc3M9XCJwci0yIHBiLTJcIlxuICAgICAgICBbbGFiZWxdPVwiJ2Nhc2VNaWdyYXRpb24uc291cmNlRG9jdW1lbnREZWZpbml0aW9uTmFtZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiMzUwXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5zb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lSXRlbXMuaXNMb2FkaW5nXCJcbiAgICAgICAgW2Ryb3BVcF09XCJmYWxzZVwiXG4gICAgICAgIFtza2VsZXRvbl09XCJvYnMuc291cmNlRG9jdW1lbnREZWZpbml0aW9uTmFtZUl0ZW1zLmlzTG9hZGluZ1wiXG4gICAgICAgIChzZWxlY3RlZCk9XCJzb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQkLm5leHQoJGV2ZW50Lml0ZW0uZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcIlxuICAgICAgPlxuICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3RcbiAgICAgICAgICBbaXRlbXNdPVwib2JzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVJdGVtcy52YWx1ZSB8fCBbXVwiXG4gICAgICAgID48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgICAgPC9jZHMtZHJvcGRvd24+XG4gICAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICAgIGNsYXNzPVwicHItMiBwYi0yXCJcbiAgICAgICAgW2xhYmVsXT1cIidjYXNlTWlncmF0aW9uLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvblZlcnNpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIjMwMFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMudGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZUl0ZW1zLmlzTG9hZGluZ1wiXG4gICAgICAgIFtkcm9wVXBdPVwiZmFsc2VcIlxuICAgICAgICBbc2tlbGV0b25dPVwib2JzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVJdGVtcy5pc0xvYWRpbmdcIlxuICAgICAgICAoc2VsZWN0ZWQpPVwiXG4gICAgICAgICAgc291cmNlRG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblNlbGVjdGVkJC5uZXh0KCRldmVudC5pdGVtLmRvY3VtZW50RGVmaW5pdGlvblZlcnNpb24pXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxjZHMtZHJvcGRvd24tbGlzdFxuICAgICAgICAgIFtpdGVtc109XCJvYnMuc291cmNlRG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbkl0ZW1zIHx8IFtdXCJcbiAgICAgICAgPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICA8L2Nkcy1kcm9wZG93bj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG0tMFwiPlxuICAgICAgPGNkcy1kcm9wZG93blxuICAgICAgICBjbGFzcz1cInByLTIgcGItMlwiXG4gICAgICAgIFtsYWJlbF09XCInY2FzZU1pZ3JhdGlvbi50YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtzdHlsZS53aWR0aC5weF09XCIzNTBcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVJdGVtcy5pc0xvYWRpbmdcIlxuICAgICAgICBbZHJvcFVwXT1cImZhbHNlXCJcbiAgICAgICAgW3NrZWxldG9uXT1cIm9icy50YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lSXRlbXMuaXNMb2FkaW5nXCJcbiAgICAgICAgKHNlbGVjdGVkKT1cInRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQubmV4dCgkZXZlbnQuaXRlbS5kb2N1bWVudERlZmluaXRpb25OYW1lKVwiXG4gICAgICA+XG4gICAgICAgIDxjZHMtZHJvcGRvd24tbGlzdFxuICAgICAgICAgIFtpdGVtc109XCJvYnMudGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZUl0ZW1zLnZhbHVlIHx8IFtdXCJcbiAgICAgICAgPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICA8L2Nkcy1kcm9wZG93bj5cbiAgICAgIDxjZHMtZHJvcGRvd25cbiAgICAgICAgY2xhc3M9XCJwci0yIHBiLTJcIlxuICAgICAgICBbbGFiZWxdPVwiJ2Nhc2VNaWdyYXRpb24udGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiMzAwXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy50YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lSXRlbXMuaXNMb2FkaW5nXCJcbiAgICAgICAgW2Ryb3BVcF09XCJmYWxzZVwiXG4gICAgICAgIFtza2VsZXRvbl09XCJvYnMudGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZUl0ZW1zLmlzTG9hZGluZ1wiXG4gICAgICAgIChzZWxlY3RlZCk9XCJcbiAgICAgICAgICB0YXJnZXREb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQkLm5leHQoJGV2ZW50Lml0ZW0uZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbilcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0XG4gICAgICAgICAgW2l0ZW1zXT1cIm9icy50YXJnZXREb2N1bWVudERlZmluaXRpb25WZXJzaW9uSXRlbXMgfHwgW11cIlxuICAgICAgICA+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJwdC0yIHBiLTJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBtdC00IG1iLTIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgyPnt7ICdjYXNlTWlncmF0aW9uLnBhdGNoZXMnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx2YWx0aW1vLWNhcmJvbi1tdWx0aS1pbnB1dFxuICAgICAgICB0eXBlPVwia2V5VmFsdWVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwibWFwcGluZ1ZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbdGl0bGVdPVwiJyAnXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiJ2Nhc2VNaWdyYXRpb24ucGF0Y2hUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVzXT1cIltdXCJcbiAgICAgICAgW2tleUNvbHVtblRpdGxlXT1cIidjYXNlTWlncmF0aW9uLnBhdGNoU291cmNlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt2YWx1ZUNvbHVtblRpdGxlXT1cIidjYXNlTWlncmF0aW9uLnBhdGNoVGFyZ2V0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICA+PC92YWx0aW1vLWNhcmJvbi1tdWx0aS1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwicHQtMlwiPlxuICAgICAgPGRpdiAqbmdJZj1cIm9icy5lcnJvcnM/Lmxlbmd0aCA+PSAxXCIgY2xhc3M9XCJpbnB1dC1ncm91cCBtdC00IG1iLTIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgyPnt7ICdjYXNlTWlncmF0aW9uLmVycm9ycycgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicGItMlwiICpuZ0Zvcj1cImxldCBlcnJvciBvZiBvYnMuZXJyb3JzXCI+XG4gICAgICAgIDxjZHMtbm90aWZpY2F0aW9uXG4gICAgICAgICAgW25vdGlmaWNhdGlvbk9ial09XCJ7XG4gICAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgICAgdGl0bGU6IGVycm9yLFxuICAgICAgICAgICAgc2hvd0Nsb3NlOiBmYWxzZVxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvY2RzLW5vdGlmaWNhdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwibXQtMiBtYi0yIG1yLTJcIlxuICAgICAgY2RzQnV0dG9uPVwic2Vjb25kYXJ5XCJcbiAgICAgIHNpemU9XCJtZFwiXG4gICAgICAoY2xpY2spPVwiY2hlY2tQYXRjaGVzKClcIlxuICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAhb2JzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCB8fFxuICAgICAgICAhb2JzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvblZlcnNpb25TZWxlY3RlZCB8fFxuICAgICAgICAhb2JzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCB8fFxuICAgICAgICAhb2JzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvblZlcnNpb25TZWxlY3RlZFxuICAgICAgXCJcbiAgICA+XG4gICAgICB7eyAnY2FzZU1pZ3JhdGlvbi5jaGVja1BhdGNoZXMnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJtdC0yIG1iLTIgbWwtMlwiXG4gICAgICBjZHNCdXR0b249XCJwcmltYXJ5XCJcbiAgICAgIHNpemU9XCJtZFwiXG4gICAgICAoY2xpY2spPVwic2hvd0NvbmZpcm1hdGlvbk1vZGFsJC5uZXh0KHRydWUpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgIW9icy5zb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQgfHxcbiAgICAgICAgIW9icy5zb3VyY2VEb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQgfHxcbiAgICAgICAgIW9icy50YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQgfHxcbiAgICAgICAgIW9icy50YXJnZXREb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWRcbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgJ2Nhc2VNaWdyYXRpb24ubWlncmF0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJ3YXRzb25IZWFsdGhTdGFja2VkTW92ZVwiIHNpemU9XCIxNlwiPjwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8dmFsdGltby1jb25maXJtYXRpb24tbW9kYWxcbiAgICBbc2hvd01vZGFsU3ViamVjdCRdPVwib2JzLnNob3dDb25maXJtYXRpb25Nb2RhbFwiXG4gICAgKGNvbmZpcm1FdmVudCk9XCJtaWdyYXRlKClcIlxuICAgIChjYW5jZWxFdmVudCk9XCJzaG93Q29uZmlybWF0aW9uTW9kYWwkLm5leHQoZmFsc2UpXCJcbiAgICBjYW5jZWxCdXR0b25UeXBlPVwiZ2hvc3RcIlxuICAgIGNvbmZpcm1CdXR0b25UZXh0VHJhbnNsYXRpb25LZXk9XCJjYXNlTWlncmF0aW9uLm1vZGFsVGl0bGVcIlxuICAgIHRpdGxlVHJhbnNsYXRpb25LZXk9XCJjYXNlTWlncmF0aW9uLm1vZGFsVGl0bGVcIlxuICAgIGNvbnRlbnRUcmFuc2xhdGlvbktleT1cImNhc2VNaWdyYXRpb24ubW9kYWxDb250ZW50XCJcbiAgPjwvdmFsdGltby1jb25maXJtYXRpb24tbW9kYWw+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1taWdyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jYXNlLW1pZ3JhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvY2FzZS1taWdyYXRpb24tY29tcG9uZW50L2Nhc2UtbWlncmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY2FzZS1taWdyYXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2Nhc2UtbWlncmF0aW9uLWNvbXBvbmVudC9jYXNlLW1pZ3JhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHeEMsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsTUFBTSxFQUNOLEdBQUcsRUFFSCxXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFJZCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBT3hELE1BQU0sT0FBTyxzQkFBc0I7SUFhakMsWUFDbUIsZUFBZ0MsRUFDaEMsb0JBQTBDLEVBQzFDLFdBQXdCO1FBRnhCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBZjNCLDBDQUFxQyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUNqRiw2Q0FBd0MsR0FBRyxJQUFJLGVBQWUsQ0FDNUUsSUFBSSxDQUNMLENBQUM7UUFDYywwQ0FBcUMsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFDakYsNkNBQXdDLEdBQUcsSUFB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LENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE9BQU87UUFDTCxhQUFhLENBQUM7WUFDWixJQUFJLENBQUMscUNBQXFDO1lBQzFDLElBQUksQ0FBQyx3Q0FBd0M7WUFDN0MsSUFBSSxDQUFDLHFDQUFxQztZQUMxQyxJQUFJLENBQUMsd0NBQXdDO1lBQzdDLElBQUksQ0FBQyxRQUFRO1NBQ2QsQ0FBQzthQUNDLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUNELENBQUMsQ0FDQyw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLDRCQUE0QixFQUM1QiwrQkFBK0IsRUFDL0IsT0FBTyxFQUNSLEVBQUUsRUFBRSxDQUNILENBQUM7WUFDQyw0QkFBNEI7WUFDNUIsK0JBQStCO1lBQy9CLDRCQUE0QjtZQUM1QiwrQkFBK0I7WUFDL0IsT0FBTztTQUNSLENBQXFDLENBQ3pDLEVBQ0QsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQ2xCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBMkMsQ0FBQyxDQUMvRSxDQUNGO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzsrR0F4TFUsc0JBQXNCO21HQUF0QixzQkFBc0IsOERDeENuQyxtd09Bd01BOzs0RkRoS2Esc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9jdW1lbnREZWZpbml0aW9uSWQsIERvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtNdWx0aUlucHV0VmFsdWVzfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIHNoYXJlUmVwbGF5LFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xpc3RJdGVtfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2Ryb3Bkb3duJztcbmltcG9ydCB7RG9jdW1lbnRNaWdyYXRpb25Db25mbGljdFJlcXVlc3QsIERvY3VtZW50TWlncmF0aW9uUGF0Y2gsIExvYWRlZFZhbHVlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtDYXNlTWlncmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtXYXRzb25IZWFsdGhTdGFja2VkTW92ZTE2fSBmcm9tICdAY2FyYm9uL2ljb25zJztcbmltcG9ydCB7SWNvblNlcnZpY2V9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWNhc2UtbWlncmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2UtbWlncmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZU1pZ3JhdGlvbkNvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHNvdXJjZURvY3VtZW50RGVmaW5pdGlvblZlcnNpb25TZWxlY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlciB8IG51bGw+KFxuICAgIG51bGxcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblNlbGVjdGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4oXG4gICAgbnVsbFxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgcGF0Y2hJdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE11bHRpSW5wdXRWYWx1ZXM+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IGVycm9ycyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PHN0cmluZz4+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dDb25maXJtYXRpb25Nb2RhbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU1pZ3JhdGlvblNlcnZpY2U6IENhc2VNaWdyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaWNvblNlcnZpY2UucmVnaXN0ZXJBbGwoW1dhdHNvbkhlYWx0aFN0YWNrZWRNb3ZlMTZdKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudERlZmluaXRpb25JZHMkOiBPYnNlcnZhYmxlPEFycmF5PERvY3VtZW50RGVmaW5pdGlvbklkPj4gPVxuICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldEFsbERlZmluaXRpb25zKCkucGlwZShcbiAgICAgIG1hcChkZWZpbml0aW9ucyA9PiBkZWZpbml0aW9ucy5jb250ZW50Lm1hcChkZWZpbml0aW9uID0+IGRlZmluaXRpb24uaWQpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVJdGVtcyQ6IE9ic2VydmFibGU8TG9hZGVkVmFsdWU8QXJyYXk8TGlzdEl0ZW0+Pj4gPVxuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uSWRzJC5waXBlKFxuICAgICAgbWFwKGRvY3VtZW50RGVmaW5pdGlvbklkcyA9PlxuICAgICAgICBkb2N1bWVudERlZmluaXRpb25JZHMubWFwKFxuICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbklkID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25OYW1lOiBkb2N1bWVudERlZmluaXRpb25JZC5uYW1lLFxuICAgICAgICAgICAgICBjb250ZW50OiBkb2N1bWVudERlZmluaXRpb25JZC5uYW1lLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICB9KSBhcyBMaXN0SXRlbVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgbWFwKGl0ZW1zID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtcyxcbiAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgIH0pKSxcbiAgICAgIHN0YXJ0V2l0aCh7aXNMb2FkaW5nOiB0cnVlfSlcbiAgICApO1xuICBwdWJsaWMgcmVhZG9ubHkgc291cmNlRG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbkl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQsIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uSWRzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtzb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQsIGRvY3VtZW50RGVmaW5pdGlvbklkc10pID0+XG4gICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbklkcy5maW5kKGlkID0+IGlkLm5hbWUgPT09IHNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZClcbiAgICAgICksXG4gICAgICBmaWx0ZXIoZG9jdW1lbnREZWZpbml0aW9uSWQgPT4gISFkb2N1bWVudERlZmluaXRpb25JZCksXG4gICAgICBtYXAoZG9jdW1lbnREZWZpbml0aW9uSWQgPT4gWy4uLkFycmF5KGRvY3VtZW50RGVmaW5pdGlvbklkLnZlcnNpb24pLmtleXMoKV0ubWFwKHYgPT4gdiArIDEpKSxcbiAgICAgIG1hcCh2ZXJzaW9ucyA9PlxuICAgICAgICB2ZXJzaW9ucy5tYXAoXG4gICAgICAgICAgdmVyc2lvbiA9PlxuICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbjogdmVyc2lvbixcbiAgICAgICAgICAgICAgY29udGVudDogdmVyc2lvbi50b1N0cmluZygpLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICB9KSBhcyBMaXN0SXRlbVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVJdGVtcyQ6IE9ic2VydmFibGU8TG9hZGVkVmFsdWU8QXJyYXk8TGlzdEl0ZW0+Pj4gPVxuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uSWRzJC5waXBlKFxuICAgICAgbWFwKGRvY3VtZW50RGVmaW5pdGlvbklkcyA9PlxuICAgICAgICBkb2N1bWVudERlZmluaXRpb25JZHMubWFwKFxuICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbklkID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25OYW1lOiBkb2N1bWVudERlZmluaXRpb25JZC5uYW1lLFxuICAgICAgICAgICAgICBjb250ZW50OiBkb2N1bWVudERlZmluaXRpb25JZC5uYW1lLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICB9KSBhcyBMaXN0SXRlbVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgbWFwKGl0ZW1zID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtcyxcbiAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgIH0pKSxcbiAgICAgIHN0YXJ0V2l0aCh7aXNMb2FkaW5nOiB0cnVlfSlcbiAgICApO1xuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbkl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQsIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uSWRzJF0pLnBpcGUoXG4gICAgICBtYXAoKFt0YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQsIGRvY3VtZW50RGVmaW5pdGlvbklkc10pID0+XG4gICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbklkcy5maW5kKGlkID0+IGlkLm5hbWUgPT09IHRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZClcbiAgICAgICksXG4gICAgICBmaWx0ZXIoZG9jdW1lbnREZWZpbml0aW9uSWQgPT4gISFkb2N1bWVudERlZmluaXRpb25JZCksXG4gICAgICBtYXAoZG9jdW1lbnREZWZpbml0aW9uSWQgPT4gWy4uLkFycmF5KGRvY3VtZW50RGVmaW5pdGlvbklkLnZlcnNpb24pLmtleXMoKV0ubWFwKHYgPT4gdiArIDEpKSxcbiAgICAgIG1hcCh2ZXJzaW9ucyA9PlxuICAgICAgICB2ZXJzaW9ucy5tYXAoXG4gICAgICAgICAgdmVyc2lvbiA9PlxuICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbjogdmVyc2lvbixcbiAgICAgICAgICAgICAgY29udGVudDogdmVyc2lvbi50b1N0cmluZygpLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICB9KSBhcyBMaXN0SXRlbVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHBhdGNoZXMkOiBPYnNlcnZhYmxlPEFycmF5PERvY3VtZW50TWlncmF0aW9uUGF0Y2g+PiA9IHRoaXMucGF0Y2hJdGVtcyQucGlwZShcbiAgICBtYXAocGF0Y2hJdGVtcyA9PlxuICAgICAgcGF0Y2hJdGVtcy5tYXAoXG4gICAgICAgIHBhdGNoSXRlbSA9PlxuICAgICAgICAgICh7XG4gICAgICAgICAgICBzb3VyY2U6IHBhdGNoSXRlbS5rZXksXG4gICAgICAgICAgICB0YXJnZXQ6IHBhdGNoSXRlbS52YWx1ZSxcbiAgICAgICAgICB9KSBhcyBEb2N1bWVudE1pZ3JhdGlvblBhdGNoXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIG1hcHBpbmdWYWx1ZUNoYW5nZShwYXRjaGVzOiBNdWx0aUlucHV0VmFsdWVzKTogdm9pZCB7XG4gICAgdGhpcy5wYXRjaEl0ZW1zJC5uZXh0KHBhdGNoZXMpO1xuICB9XG5cbiAgY2hlY2tQYXRjaGVzKCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQkLFxuICAgICAgdGhpcy5zb3VyY2VEb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQkLFxuICAgICAgdGhpcy50YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQkLFxuICAgICAgdGhpcy50YXJnZXREb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQkLFxuICAgICAgdGhpcy5wYXRjaGVzJCxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIG1hcChcbiAgICAgICAgICAoW1xuICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZVNvdXJjZSxcbiAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvblZlcnNpb25Tb3VyY2UsXG4gICAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25OYW1lVGFyZ2V0LFxuICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblRhcmdldCxcbiAgICAgICAgICAgIHBhdGNoZXMsXG4gICAgICAgICAgXSkgPT5cbiAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVTb3VyY2UsXG4gICAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvblZlcnNpb25Tb3VyY2UsXG4gICAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVUYXJnZXQsXG4gICAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvblZlcnNpb25UYXJnZXQsXG4gICAgICAgICAgICAgIHBhdGNoZXMsXG4gICAgICAgICAgICB9KSBhcyBEb2N1bWVudE1pZ3JhdGlvbkNvbmZsaWN0UmVxdWVzdFxuICAgICAgICApLFxuICAgICAgICBzd2l0Y2hNYXAocmVxdWVzdCA9PlxuICAgICAgICAgIHRoaXMuY2FzZU1pZ3JhdGlvblNlcnZpY2UuZ2V0Q29uZmxpY3RzKHJlcXVlc3QgYXMgRG9jdW1lbnRNaWdyYXRpb25Db25mbGljdFJlcXVlc3QpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICB0aGlzLmVycm9ycyQubmV4dChcbiAgICAgICAgICByZXNwb25zZS5lcnJvcnMuY29uY2F0KFxuICAgICAgICAgICAgcmVzcG9uc2UuY29uZmxpY3RzLmZpbHRlcihjID0+ICEhYy5lcnJvcikubWFwKGMgPT4gYy5zb3VyY2UgKyAnOiAnICsgYy5lcnJvcilcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG1pZ3JhdGUoKSB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQsXG4gICAgICB0aGlzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvblZlcnNpb25TZWxlY3RlZCQsXG4gICAgICB0aGlzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQsXG4gICAgICB0aGlzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvblZlcnNpb25TZWxlY3RlZCQsXG4gICAgICB0aGlzLnBhdGNoZXMkLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgbWFwKFxuICAgICAgICAgIChbXG4gICAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25OYW1lU291cmNlLFxuICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblNvdXJjZSxcbiAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVUYXJnZXQsXG4gICAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25WZXJzaW9uVGFyZ2V0LFxuICAgICAgICAgICAgcGF0Y2hlcyxcbiAgICAgICAgICBdKSA9PlxuICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZVNvdXJjZSxcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblNvdXJjZSxcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZVRhcmdldCxcbiAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblRhcmdldCxcbiAgICAgICAgICAgICAgcGF0Y2hlcyxcbiAgICAgICAgICAgIH0pIGFzIERvY3VtZW50TWlncmF0aW9uQ29uZmxpY3RSZXF1ZXN0XG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcChyZXF1ZXN0ID0+XG4gICAgICAgICAgdGhpcy5jYXNlTWlncmF0aW9uU2VydmljZS5taWdyYXRlKHJlcXVlc3QgYXMgRG9jdW1lbnRNaWdyYXRpb25Db25mbGljdFJlcXVlc3QpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBDQVJCT05fVEhFTUUgPSAnZzEwJztcbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICBjbGFzcz1cImNhc2UtY291bnQtY29uZmlndXJhdGlvbi1mb3JtXCJcbiAgKm5nSWY9XCJ7XG4gICAgc291cmNlRG9jdW1lbnREZWZpbml0aW9uTmFtZUl0ZW1zOiBzb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lSXRlbXMkIHwgYXN5bmMsXG4gICAgc291cmNlRG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbkl0ZW1zOiBzb3VyY2VEb2N1bWVudERlZmluaXRpb25WZXJzaW9uSXRlbXMkIHwgYXN5bmMsXG4gICAgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZUl0ZW1zOiB0YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lSXRlbXMkIHwgYXN5bmMsXG4gICAgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbkl0ZW1zOiB0YXJnZXREb2N1bWVudERlZmluaXRpb25WZXJzaW9uSXRlbXMkIHwgYXN5bmMsXG4gICAgc291cmNlRG9jdW1lbnREZWZpbml0aW9uTmFtZVNlbGVjdGVkOiBzb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQkIHwgYXN5bmMsXG4gICAgc291cmNlRG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblNlbGVjdGVkOiBzb3VyY2VEb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQkIHwgYXN5bmMsXG4gICAgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZVNlbGVjdGVkOiB0YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQkIHwgYXN5bmMsXG4gICAgdGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uVmVyc2lvblNlbGVjdGVkOiB0YXJnZXREb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQkIHwgYXN5bmMsXG4gICAgcGF0Y2hJdGVtczogcGF0Y2hJdGVtcyQgfCBhc3luYyxcbiAgICBlcnJvcnM6IGVycm9ycyQgfCBhc3luYyxcbiAgICBzaG93Q29uZmlybWF0aW9uTW9kYWw6IHNob3dDb25maXJtYXRpb25Nb2RhbCQsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPG5nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwicGItMlwiPlxuICAgICAgPGNkcy1ub3RpZmljYXRpb25cbiAgICAgICAgW25vdGlmaWNhdGlvbk9ial09XCJ7XG4gICAgICAgICAgdHlwZTogJ3dhcm5pbmcnLFxuICAgICAgICAgIHRpdGxlOiAnY2FzZU1pZ3JhdGlvbi53YXJuaW5nQmV0YScgfCB0cmFuc2xhdGUsXG4gICAgICAgICAgc2hvd0Nsb3NlOiBmYWxzZSxcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICA8L2Nkcy1ub3RpZmljYXRpb24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIG10LTQgbWItMiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoMj57eyAnY2FzZU1pZ3JhdGlvbi5jYXNlRGVmaW5pdGlvbicgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwicm93IG0tMFwiPlxuICAgICAgPGNkcy1kcm9wZG93blxuICAgICAgICBjbGFzcz1cInByLTIgcGItMlwiXG4gICAgICAgIFtsYWJlbF09XCInY2FzZU1pZ3JhdGlvbi5zb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtzdHlsZS53aWR0aC5weF09XCIzNTBcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVJdGVtcy5pc0xvYWRpbmdcIlxuICAgICAgICBbZHJvcFVwXT1cImZhbHNlXCJcbiAgICAgICAgW3NrZWxldG9uXT1cIm9icy5zb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lSXRlbXMuaXNMb2FkaW5nXCJcbiAgICAgICAgKHNlbGVjdGVkKT1cInNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCQubmV4dCgkZXZlbnQuaXRlbS5kb2N1bWVudERlZmluaXRpb25OYW1lKVwiXG4gICAgICA+XG4gICAgICAgIDxjZHMtZHJvcGRvd24tbGlzdFxuICAgICAgICAgIFtpdGVtc109XCJvYnMuc291cmNlRG9jdW1lbnREZWZpbml0aW9uTmFtZUl0ZW1zLnZhbHVlIHx8IFtdXCJcbiAgICAgICAgPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICA8L2Nkcy1kcm9wZG93bj5cbiAgICAgIDxjZHMtZHJvcGRvd25cbiAgICAgICAgY2xhc3M9XCJwci0yIHBiLTJcIlxuICAgICAgICBbbGFiZWxdPVwiJ2Nhc2VNaWdyYXRpb24uc291cmNlRG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiMzAwXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy50YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lSXRlbXMuaXNMb2FkaW5nXCJcbiAgICAgICAgW2Ryb3BVcF09XCJmYWxzZVwiXG4gICAgICAgIFtza2VsZXRvbl09XCJvYnMudGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZUl0ZW1zLmlzTG9hZGluZ1wiXG4gICAgICAgIChzZWxlY3RlZCk9XCJcbiAgICAgICAgICBzb3VyY2VEb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQkLm5leHQoJGV2ZW50Lml0ZW0uZG9jdW1lbnREZWZpbml0aW9uVmVyc2lvbilcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0XG4gICAgICAgICAgW2l0ZW1zXT1cIm9icy5zb3VyY2VEb2N1bWVudERlZmluaXRpb25WZXJzaW9uSXRlbXMgfHwgW11cIlxuICAgICAgICA+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgbS0wXCI+XG4gICAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICAgIGNsYXNzPVwicHItMiBwYi0yXCJcbiAgICAgICAgW2xhYmVsXT1cIidjYXNlTWlncmF0aW9uLnRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIjM1MFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMudGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZUl0ZW1zLmlzTG9hZGluZ1wiXG4gICAgICAgIFtkcm9wVXBdPVwiZmFsc2VcIlxuICAgICAgICBbc2tlbGV0b25dPVwib2JzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVJdGVtcy5pc0xvYWRpbmdcIlxuICAgICAgICAoc2VsZWN0ZWQpPVwidGFyZ2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZVNlbGVjdGVkJC5uZXh0KCRldmVudC5pdGVtLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXCJcbiAgICAgID5cbiAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0XG4gICAgICAgICAgW2l0ZW1zXT1cIm9icy50YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lSXRlbXMudmFsdWUgfHwgW11cIlxuICAgICAgICA+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgICAgPGNkcy1kcm9wZG93blxuICAgICAgICBjbGFzcz1cInByLTIgcGItMlwiXG4gICAgICAgIFtsYWJlbF09XCInY2FzZU1pZ3JhdGlvbi50YXJnZXREb2N1bWVudERlZmluaXRpb25WZXJzaW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtzdHlsZS53aWR0aC5weF09XCIzMDBcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVJdGVtcy5pc0xvYWRpbmdcIlxuICAgICAgICBbZHJvcFVwXT1cImZhbHNlXCJcbiAgICAgICAgW3NrZWxldG9uXT1cIm9icy50YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lSXRlbXMuaXNMb2FkaW5nXCJcbiAgICAgICAgKHNlbGVjdGVkKT1cIlxuICAgICAgICAgIHRhcmdldERvY3VtZW50RGVmaW5pdGlvblZlcnNpb25TZWxlY3RlZCQubmV4dCgkZXZlbnQuaXRlbS5kb2N1bWVudERlZmluaXRpb25WZXJzaW9uKVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3RcbiAgICAgICAgICBbaXRlbXNdPVwib2JzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvblZlcnNpb25JdGVtcyB8fCBbXVwiXG4gICAgICAgID48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgICAgPC9jZHMtZHJvcGRvd24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cInB0LTIgcGItMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIG10LTQgbWItMiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDI+e3sgJ2Nhc2VNaWdyYXRpb24ucGF0Y2hlcycgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHZhbHRpbW8tY2FyYm9uLW11bHRpLWlucHV0XG4gICAgICAgIHR5cGU9XCJrZXlWYWx1ZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJtYXBwaW5nVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFt0aXRsZV09XCInICdcIlxuICAgICAgICBbdG9vbHRpcF09XCInY2FzZU1pZ3JhdGlvbi5wYXRjaFRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW2RlZmF1bHRWYWx1ZXNdPVwiW11cIlxuICAgICAgICBba2V5Q29sdW1uVGl0bGVdPVwiJ2Nhc2VNaWdyYXRpb24ucGF0Y2hTb3VyY2UnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3ZhbHVlQ29sdW1uVGl0bGVdPVwiJ2Nhc2VNaWdyYXRpb24ucGF0Y2hUYXJnZXQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW2Z1bGxXaWR0aF09XCJ0cnVlXCJcbiAgICAgID48L3ZhbHRpbW8tY2FyYm9uLW11bHRpLWlucHV0PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJwdC0yXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwib2JzLmVycm9ycz8ubGVuZ3RoID49IDFcIiBjbGFzcz1cImlucHV0LWdyb3VwIG10LTQgbWItMiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDI+e3sgJ2Nhc2VNaWdyYXRpb24uZXJyb3JzJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYi0yXCIgKm5nRm9yPVwibGV0IGVycm9yIG9mIG9icy5lcnJvcnNcIj5cbiAgICAgICAgPGNkcy1ub3RpZmljYXRpb25cbiAgICAgICAgICBbbm90aWZpY2F0aW9uT2JqXT1cIntcbiAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICB0aXRsZTogZXJyb3IsXG4gICAgICAgICAgICBzaG93Q2xvc2U6IGZhbHNlLFxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvY2RzLW5vdGlmaWNhdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwibXQtMiBtYi0yIG1yLTJcIlxuICAgICAgY2RzQnV0dG9uPVwic2Vjb25kYXJ5XCJcbiAgICAgIHNpemU9XCJtZFwiXG4gICAgICAoY2xpY2spPVwiY2hlY2tQYXRjaGVzKClcIlxuICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAhb2JzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCB8fFxuICAgICAgICAhb2JzLnNvdXJjZURvY3VtZW50RGVmaW5pdGlvblZlcnNpb25TZWxlY3RlZCB8fFxuICAgICAgICAhb2JzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvbk5hbWVTZWxlY3RlZCB8fFxuICAgICAgICAhb2JzLnRhcmdldERvY3VtZW50RGVmaW5pdGlvblZlcnNpb25TZWxlY3RlZFxuICAgICAgXCJcbiAgICA+XG4gICAgICB7eyAnY2FzZU1pZ3JhdGlvbi5jaGVja1BhdGNoZXMnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJtdC0yIG1iLTIgbWwtMlwiXG4gICAgICBjZHNCdXR0b249XCJwcmltYXJ5XCJcbiAgICAgIHNpemU9XCJtZFwiXG4gICAgICAoY2xpY2spPVwic2hvd0NvbmZpcm1hdGlvbk1vZGFsJC5uZXh0KHRydWUpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgIW9icy5zb3VyY2VEb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQgfHxcbiAgICAgICAgIW9icy5zb3VyY2VEb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWQgfHxcbiAgICAgICAgIW9icy50YXJnZXREb2N1bWVudERlZmluaXRpb25OYW1lU2VsZWN0ZWQgfHxcbiAgICAgICAgIW9icy50YXJnZXREb2N1bWVudERlZmluaXRpb25WZXJzaW9uU2VsZWN0ZWRcbiAgICAgIFwiXG4gICAgPlxuICAgICAge3sgJ2Nhc2VNaWdyYXRpb24ubWlncmF0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJ3YXRzb25IZWFsdGhTdGFja2VkTW92ZVwiIHNpemU9XCIxNlwiPjwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8dmFsdGltby1jb25maXJtYXRpb24tbW9kYWxcbiAgICBbc2hvd01vZGFsU3ViamVjdCRdPVwib2JzLnNob3dDb25maXJtYXRpb25Nb2RhbFwiXG4gICAgKGNvbmZpcm1FdmVudCk9XCJtaWdyYXRlKClcIlxuICAgIChjYW5jZWxFdmVudCk9XCJzaG93Q29uZmlybWF0aW9uTW9kYWwkLm5leHQoZmFsc2UpXCJcbiAgICBjYW5jZWxCdXR0b25UeXBlPVwiZ2hvc3RcIlxuICAgIGNvbmZpcm1CdXR0b25UZXh0VHJhbnNsYXRpb25LZXk9XCJjYXNlTWlncmF0aW9uLm1vZGFsVGl0bGVcIlxuICAgIHRpdGxlVHJhbnNsYXRpb25LZXk9XCJjYXNlTWlncmF0aW9uLm1vZGFsVGl0bGVcIlxuICAgIGNvbnRlbnRUcmFuc2xhdGlvbktleT1cImNhc2VNaWdyYXRpb24ubW9kYWxDb250ZW50XCJcbiAgPjwvdmFsdGltby1jb25maXJtYXRpb24tbW9kYWw+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -204,11 +204,11 @@ class CaseMigrationComponent {
|
|
|
204
204
|
.subscribe();
|
|
205
205
|
}
|
|
206
206
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseMigrationComponent, deps: [{ token: i1$1.DocumentService }, { token: CaseMigrationService }, { token: i3.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
207
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CaseMigrationComponent, selector: "valtimo-case-migration", 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<ng-container\n class=\"case-count-configuration-form\"\n *ngIf=\"{\n sourceDocumentDefinitionNameItems: sourceDocumentDefinitionNameItems$ | async,\n sourceDocumentDefinitionVersionItems: sourceDocumentDefinitionVersionItems$ | async,\n targetDocumentDefinitionNameItems: targetDocumentDefinitionNameItems$ | async,\n targetDocumentDefinitionVersionItems: targetDocumentDefinitionVersionItems$ | async,\n sourceDocumentDefinitionNameSelected: sourceDocumentDefinitionNameSelected$ | async,\n sourceDocumentDefinitionVersionSelected: sourceDocumentDefinitionVersionSelected$ | async,\n targetDocumentDefinitionNameSelected: targetDocumentDefinitionNameSelected$ | async,\n targetDocumentDefinitionVersionSelected: targetDocumentDefinitionVersionSelected$ | async,\n patchItems: patchItems$ | async,\n errors: errors$ | async,\n showConfirmationModal: showConfirmationModal$\n } as obs\"\n>\n <ng-container>\n <div class=\"pb-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseMigration.warningBeta' | translate,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.caseDefinition' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n (selected)=\"sourceDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n sourceDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"targetDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n targetDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2 pb-2\">\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.patches' | translate }}</h2>\n </div>\n </div>\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event)\"\n [title]=\"' '\"\n [tooltip]=\"'caseMigration.patchTooltip' | translate\"\n [defaultValues]=\"[]\"\n [keyColumnTitle]=\"'caseMigration.patchSource' | translate\"\n [valueColumnTitle]=\"'caseMigration.patchTarget' | translate\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2\">\n <div *ngIf=\"obs.errors?.length >= 1\" class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.errors' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"pb-2\" *ngFor=\"let error of obs.errors\">\n <cds-notification\n [notificationObj]=\"{\n type: 'error',\n title: error,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n </div>\n </ng-container>\n\n <ng-container>\n <button\n class=\"mt-2 mb-2 mr-2\"\n cdsButton=\"secondary\"\n size=\"md\"\n (click)=\"checkPatches()\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.checkPatches' | translate }}\n </button>\n <button\n class=\"mt-2 mb-2 ml-2\"\n cdsButton=\"primary\"\n size=\"md\"\n (click)=\"showConfirmationModal$.next(true)\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.migrate' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"watsonHealthStackedMove\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"migrate()\"\n (cancelEvent)=\"showConfirmationModal$.next(false)\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"caseMigration.modalTitle\"\n titleTranslationKey=\"caseMigration.modalTitle\"\n contentTranslationKey=\"caseMigration.modalContent\"\n ></valtimo-confirmation-modal>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i5.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "arbitraryValueAmount", "arbitraryAmountTitles", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth", "carbonTheme"], outputs: ["valueChange", "allValuesValidEvent"] }, { 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: i3.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
207
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CaseMigrationComponent, selector: "valtimo-case-migration", 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<ng-container\n class=\"case-count-configuration-form\"\n *ngIf=\"{\n sourceDocumentDefinitionNameItems: sourceDocumentDefinitionNameItems$ | async,\n sourceDocumentDefinitionVersionItems: sourceDocumentDefinitionVersionItems$ | async,\n targetDocumentDefinitionNameItems: targetDocumentDefinitionNameItems$ | async,\n targetDocumentDefinitionVersionItems: targetDocumentDefinitionVersionItems$ | async,\n sourceDocumentDefinitionNameSelected: sourceDocumentDefinitionNameSelected$ | async,\n sourceDocumentDefinitionVersionSelected: sourceDocumentDefinitionVersionSelected$ | async,\n targetDocumentDefinitionNameSelected: targetDocumentDefinitionNameSelected$ | async,\n targetDocumentDefinitionVersionSelected: targetDocumentDefinitionVersionSelected$ | async,\n patchItems: patchItems$ | async,\n errors: errors$ | async,\n showConfirmationModal: showConfirmationModal$,\n } as obs\"\n>\n <ng-container>\n <div class=\"pb-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseMigration.warningBeta' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.caseDefinition' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n (selected)=\"sourceDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n sourceDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"targetDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n targetDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2 pb-2\">\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.patches' | translate }}</h2>\n </div>\n </div>\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event)\"\n [title]=\"' '\"\n [tooltip]=\"'caseMigration.patchTooltip' | translate\"\n [defaultValues]=\"[]\"\n [keyColumnTitle]=\"'caseMigration.patchSource' | translate\"\n [valueColumnTitle]=\"'caseMigration.patchTarget' | translate\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2\">\n <div *ngIf=\"obs.errors?.length >= 1\" class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.errors' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"pb-2\" *ngFor=\"let error of obs.errors\">\n <cds-notification\n [notificationObj]=\"{\n type: 'error',\n title: error,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n </div>\n </ng-container>\n\n <ng-container>\n <button\n class=\"mt-2 mb-2 mr-2\"\n cdsButton=\"secondary\"\n size=\"md\"\n (click)=\"checkPatches()\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.checkPatches' | translate }}\n </button>\n <button\n class=\"mt-2 mb-2 ml-2\"\n cdsButton=\"primary\"\n size=\"md\"\n (click)=\"showConfirmationModal$.next(true)\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.migrate' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"watsonHealthStackedMove\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"migrate()\"\n (cancelEvent)=\"showConfirmationModal$.next(false)\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"caseMigration.modalTitle\"\n titleTranslationKey=\"caseMigration.modalTitle\"\n contentTranslationKey=\"caseMigration.modalContent\"\n ></valtimo-confirmation-modal>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i3.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i5.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "arbitraryValueAmount", "arbitraryAmountTitles", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth", "carbonTheme"], outputs: ["valueChange", "allValuesValidEvent"] }, { 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: i3.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
208
208
|
}
|
|
209
209
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseMigrationComponent, decorators: [{
|
|
210
210
|
type: Component,
|
|
211
|
-
args: [{ selector: 'valtimo-case-migration', 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<ng-container\n class=\"case-count-configuration-form\"\n *ngIf=\"{\n sourceDocumentDefinitionNameItems: sourceDocumentDefinitionNameItems$ | async,\n sourceDocumentDefinitionVersionItems: sourceDocumentDefinitionVersionItems$ | async,\n targetDocumentDefinitionNameItems: targetDocumentDefinitionNameItems$ | async,\n targetDocumentDefinitionVersionItems: targetDocumentDefinitionVersionItems$ | async,\n sourceDocumentDefinitionNameSelected: sourceDocumentDefinitionNameSelected$ | async,\n sourceDocumentDefinitionVersionSelected: sourceDocumentDefinitionVersionSelected$ | async,\n targetDocumentDefinitionNameSelected: targetDocumentDefinitionNameSelected$ | async,\n targetDocumentDefinitionVersionSelected: targetDocumentDefinitionVersionSelected$ | async,\n patchItems: patchItems$ | async,\n errors: errors$ | async,\n showConfirmationModal: showConfirmationModal
|
|
211
|
+
args: [{ selector: 'valtimo-case-migration', 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<ng-container\n class=\"case-count-configuration-form\"\n *ngIf=\"{\n sourceDocumentDefinitionNameItems: sourceDocumentDefinitionNameItems$ | async,\n sourceDocumentDefinitionVersionItems: sourceDocumentDefinitionVersionItems$ | async,\n targetDocumentDefinitionNameItems: targetDocumentDefinitionNameItems$ | async,\n targetDocumentDefinitionVersionItems: targetDocumentDefinitionVersionItems$ | async,\n sourceDocumentDefinitionNameSelected: sourceDocumentDefinitionNameSelected$ | async,\n sourceDocumentDefinitionVersionSelected: sourceDocumentDefinitionVersionSelected$ | async,\n targetDocumentDefinitionNameSelected: targetDocumentDefinitionNameSelected$ | async,\n targetDocumentDefinitionVersionSelected: targetDocumentDefinitionVersionSelected$ | async,\n patchItems: patchItems$ | async,\n errors: errors$ | async,\n showConfirmationModal: showConfirmationModal$,\n } as obs\"\n>\n <ng-container>\n <div class=\"pb-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseMigration.warningBeta' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.caseDefinition' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n (selected)=\"sourceDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n sourceDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"targetDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n targetDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2 pb-2\">\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.patches' | translate }}</h2>\n </div>\n </div>\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event)\"\n [title]=\"' '\"\n [tooltip]=\"'caseMigration.patchTooltip' | translate\"\n [defaultValues]=\"[]\"\n [keyColumnTitle]=\"'caseMigration.patchSource' | translate\"\n [valueColumnTitle]=\"'caseMigration.patchTarget' | translate\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2\">\n <div *ngIf=\"obs.errors?.length >= 1\" class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.errors' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"pb-2\" *ngFor=\"let error of obs.errors\">\n <cds-notification\n [notificationObj]=\"{\n type: 'error',\n title: error,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n </div>\n </ng-container>\n\n <ng-container>\n <button\n class=\"mt-2 mb-2 mr-2\"\n cdsButton=\"secondary\"\n size=\"md\"\n (click)=\"checkPatches()\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.checkPatches' | translate }}\n </button>\n <button\n class=\"mt-2 mb-2 ml-2\"\n cdsButton=\"primary\"\n size=\"md\"\n (click)=\"showConfirmationModal$.next(true)\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.migrate' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"watsonHealthStackedMove\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"migrate()\"\n (cancelEvent)=\"showConfirmationModal$.next(false)\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"caseMigration.modalTitle\"\n titleTranslationKey=\"caseMigration.modalTitle\"\n contentTranslationKey=\"caseMigration.modalContent\"\n ></valtimo-confirmation-modal>\n</ng-container>\n" }]
|
|
212
212
|
}], ctorParameters: () => [{ type: i1$1.DocumentService }, { type: CaseMigrationService }, { type: i3.IconService }] });
|
|
213
213
|
|
|
214
214
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-case-migration.mjs","sources":["../../../../projects/valtimo/case-migration/src/lib/models/case-migration.model.ts","../../../../projects/valtimo/case-migration/src/lib/models/index.ts","../../../../projects/valtimo/case-migration/src/lib/services/case-migration.service.ts","../../../../projects/valtimo/case-migration/src/lib/services/index.ts","../../../../projects/valtimo/case-migration/src/lib/components/case-migration-component/case-migration.component.ts","../../../../projects/valtimo/case-migration/src/lib/components/case-migration-component/case-migration.component.html","../../../../projects/valtimo/case-migration/src/lib/case-migration-routing.module.ts","../../../../projects/valtimo/case-migration/src/lib/case-migration.module.ts","../../../../projects/valtimo/case-migration/src/public-api.ts","../../../../projects/valtimo/case-migration/src/valtimo-case-migration.ts"],"sourcesContent":["/*\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\ninterface LoadedValue<T> {\n isLoading: boolean;\n value?: T;\n}\n\ninterface DocumentMigrationConflictRequest {\n documentDefinitionNameSource: string;\n documentDefinitionVersionSource: number;\n documentDefinitionNameTarget: string;\n documentDefinitionVersionTarget: number;\n patches: DocumentMigrationPatch[];\n}\n\ninterface DocumentMigrationConflictResponse {\n documentDefinitionNameSource: string;\n documentDefinitionVersionSource: number;\n documentDefinitionNameTarget: string;\n documentDefinitionVersionTarget: number;\n conflicts: DocumentMigrationPatch[];\n errors: Array<string>;\n documentCount: number;\n}\n\ninterface DocumentMigrationPatch {\n source: string;\n target?: string;\n error?: string;\n}\n\nexport {\n LoadedValue,\n DocumentMigrationConflictRequest,\n DocumentMigrationConflictResponse,\n DocumentMigrationPatch,\n};\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\nexport * from './case-migration.model';\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\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {DocumentMigrationConflictRequest, DocumentMigrationConflictResponse} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CaseMigrationService {\n private readonly valtimoEndpointUri!: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getConflicts(\n request: DocumentMigrationConflictRequest\n ): Observable<DocumentMigrationConflictResponse> {\n return this.http.post<DocumentMigrationConflictResponse>(\n `${this.valtimoEndpointUri}management/v1/document-definition/migration/conflicts`,\n request\n );\n }\n\n public migrate(request: DocumentMigrationConflictRequest): Observable<void> {\n return this.http.post<void>(\n `${this.valtimoEndpointUri}management/v1/document-definition/migrate`,\n request\n );\n }\n}\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\nexport * from './case-migration.service';\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\nimport {Component} from '@angular/core';\nimport {DocumentDefinitionId, DocumentService} from '@valtimo/document';\nimport {MultiInputValues} from '@valtimo/components';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n shareReplay,\n startWith,\n switchMap,\n take,\n} from 'rxjs';\nimport {ListItem} from 'carbon-components-angular/dropdown';\nimport {DocumentMigrationConflictRequest, DocumentMigrationPatch, LoadedValue} from '../../models';\nimport {CaseMigrationService} from '../../services';\nimport {WatsonHealthStackedMove16} from '@carbon/icons';\nimport {IconService} from 'carbon-components-angular';\n\n@Component({\n selector: 'valtimo-case-migration',\n templateUrl: './case-migration.component.html',\n})\nexport class CaseMigrationComponent {\n public readonly sourceDocumentDefinitionNameSelected$ = new BehaviorSubject<string | null>(null);\n public readonly sourceDocumentDefinitionVersionSelected$ = new BehaviorSubject<number | null>(\n null\n );\n public readonly targetDocumentDefinitionNameSelected$ = new BehaviorSubject<string | null>(null);\n public readonly targetDocumentDefinitionVersionSelected$ = new BehaviorSubject<number | null>(\n null\n );\n public readonly patchItems$ = new BehaviorSubject<MultiInputValues>([]);\n public readonly errors$ = new BehaviorSubject<Array<string>>([]);\n public readonly showConfirmationModal$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly documentService: DocumentService,\n private readonly caseMigrationService: CaseMigrationService,\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([WatsonHealthStackedMove16]);\n }\n\n public readonly documentDefinitionIds$: Observable<Array<DocumentDefinitionId>> =\n this.documentService.getAllDefinitions().pipe(\n map(definitions => definitions.content.map(definition => definition.id)),\n shareReplay(1)\n );\n public readonly sourceDocumentDefinitionNameItems$: Observable<LoadedValue<Array<ListItem>>> =\n this.documentDefinitionIds$.pipe(\n map(documentDefinitionIds =>\n documentDefinitionIds.map(\n documentDefinitionId =>\n ({\n documentDefinitionName: documentDefinitionId.name,\n content: documentDefinitionId.name,\n selected: false,\n }) as ListItem\n )\n ),\n map(items => ({\n value: items,\n isLoading: false,\n })),\n startWith({isLoading: true})\n );\n public readonly sourceDocumentDefinitionVersionItems$: Observable<Array<ListItem>> =\n combineLatest([this.sourceDocumentDefinitionNameSelected$, this.documentDefinitionIds$]).pipe(\n map(([sourceDocumentDefinitionNameSelected, documentDefinitionIds]) =>\n documentDefinitionIds.find(id => id.name === sourceDocumentDefinitionNameSelected)\n ),\n filter(documentDefinitionId => !!documentDefinitionId),\n map(documentDefinitionId => [...Array(documentDefinitionId.version).keys()].map(v => v + 1)),\n map(versions =>\n versions.map(\n version =>\n ({\n documentDefinitionVersion: version,\n content: version.toString(),\n selected: false,\n }) as ListItem\n )\n )\n );\n public readonly targetDocumentDefinitionNameItems$: Observable<LoadedValue<Array<ListItem>>> =\n this.documentDefinitionIds$.pipe(\n map(documentDefinitionIds =>\n documentDefinitionIds.map(\n documentDefinitionId =>\n ({\n documentDefinitionName: documentDefinitionId.name,\n content: documentDefinitionId.name,\n selected: false,\n }) as ListItem\n )\n ),\n map(items => ({\n value: items,\n isLoading: false,\n })),\n startWith({isLoading: true})\n );\n public readonly targetDocumentDefinitionVersionItems$: Observable<Array<ListItem>> =\n combineLatest([this.targetDocumentDefinitionNameSelected$, this.documentDefinitionIds$]).pipe(\n map(([targetDocumentDefinitionNameSelected, documentDefinitionIds]) =>\n documentDefinitionIds.find(id => id.name === targetDocumentDefinitionNameSelected)\n ),\n filter(documentDefinitionId => !!documentDefinitionId),\n map(documentDefinitionId => [...Array(documentDefinitionId.version).keys()].map(v => v + 1)),\n map(versions =>\n versions.map(\n version =>\n ({\n documentDefinitionVersion: version,\n content: version.toString(),\n selected: false,\n }) as ListItem\n )\n )\n );\n public readonly patches$: Observable<Array<DocumentMigrationPatch>> = this.patchItems$.pipe(\n map(patchItems =>\n patchItems.map(\n patchItem =>\n ({\n source: patchItem.key,\n target: patchItem.value,\n }) as DocumentMigrationPatch\n )\n )\n );\n\n mappingValueChange(patches: MultiInputValues): void {\n this.patchItems$.next(patches);\n }\n\n checkPatches() {\n combineLatest([\n this.sourceDocumentDefinitionNameSelected$,\n this.sourceDocumentDefinitionVersionSelected$,\n this.targetDocumentDefinitionNameSelected$,\n this.targetDocumentDefinitionVersionSelected$,\n this.patches$,\n ])\n .pipe(\n take(1),\n map(\n ([\n documentDefinitionNameSource,\n documentDefinitionVersionSource,\n documentDefinitionNameTarget,\n documentDefinitionVersionTarget,\n patches,\n ]) =>\n ({\n documentDefinitionNameSource,\n documentDefinitionVersionSource,\n documentDefinitionNameTarget,\n documentDefinitionVersionTarget,\n patches,\n }) as DocumentMigrationConflictRequest\n ),\n switchMap(request =>\n this.caseMigrationService.getConflicts(request as DocumentMigrationConflictRequest)\n )\n )\n .subscribe(response => {\n this.errors$.next(\n response.errors.concat(\n response.conflicts.filter(c => !!c.error).map(c => c.source + ': ' + c.error)\n )\n );\n });\n }\n\n migrate() {\n combineLatest([\n this.sourceDocumentDefinitionNameSelected$,\n this.sourceDocumentDefinitionVersionSelected$,\n this.targetDocumentDefinitionNameSelected$,\n this.targetDocumentDefinitionVersionSelected$,\n this.patches$,\n ])\n .pipe(\n take(1),\n map(\n ([\n documentDefinitionNameSource,\n documentDefinitionVersionSource,\n documentDefinitionNameTarget,\n documentDefinitionVersionTarget,\n patches,\n ]) =>\n ({\n documentDefinitionNameSource,\n documentDefinitionVersionSource,\n documentDefinitionNameTarget,\n documentDefinitionVersionTarget,\n patches,\n }) as DocumentMigrationConflictRequest\n ),\n switchMap(request =>\n this.caseMigrationService.migrate(request as DocumentMigrationConflictRequest)\n )\n )\n .subscribe();\n }\n\n protected readonly CARBON_THEME = 'g10';\n}\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\n<ng-container\n class=\"case-count-configuration-form\"\n *ngIf=\"{\n sourceDocumentDefinitionNameItems: sourceDocumentDefinitionNameItems$ | async,\n sourceDocumentDefinitionVersionItems: sourceDocumentDefinitionVersionItems$ | async,\n targetDocumentDefinitionNameItems: targetDocumentDefinitionNameItems$ | async,\n targetDocumentDefinitionVersionItems: targetDocumentDefinitionVersionItems$ | async,\n sourceDocumentDefinitionNameSelected: sourceDocumentDefinitionNameSelected$ | async,\n sourceDocumentDefinitionVersionSelected: sourceDocumentDefinitionVersionSelected$ | async,\n targetDocumentDefinitionNameSelected: targetDocumentDefinitionNameSelected$ | async,\n targetDocumentDefinitionVersionSelected: targetDocumentDefinitionVersionSelected$ | async,\n patchItems: patchItems$ | async,\n errors: errors$ | async,\n showConfirmationModal: showConfirmationModal$\n } as obs\"\n>\n <ng-container>\n <div class=\"pb-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseMigration.warningBeta' | translate,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.caseDefinition' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n (selected)=\"sourceDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n sourceDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"targetDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n targetDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2 pb-2\">\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.patches' | translate }}</h2>\n </div>\n </div>\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event)\"\n [title]=\"' '\"\n [tooltip]=\"'caseMigration.patchTooltip' | translate\"\n [defaultValues]=\"[]\"\n [keyColumnTitle]=\"'caseMigration.patchSource' | translate\"\n [valueColumnTitle]=\"'caseMigration.patchTarget' | translate\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2\">\n <div *ngIf=\"obs.errors?.length >= 1\" class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.errors' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"pb-2\" *ngFor=\"let error of obs.errors\">\n <cds-notification\n [notificationObj]=\"{\n type: 'error',\n title: error,\n showClose: false\n }\"\n >\n </cds-notification>\n </div>\n </div>\n </ng-container>\n\n <ng-container>\n <button\n class=\"mt-2 mb-2 mr-2\"\n cdsButton=\"secondary\"\n size=\"md\"\n (click)=\"checkPatches()\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.checkPatches' | translate }}\n </button>\n <button\n class=\"mt-2 mb-2 ml-2\"\n cdsButton=\"primary\"\n size=\"md\"\n (click)=\"showConfirmationModal$.next(true)\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.migrate' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"watsonHealthStackedMove\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"migrate()\"\n (cancelEvent)=\"showConfirmationModal$.next(false)\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"caseMigration.modalTitle\"\n titleTranslationKey=\"caseMigration.modalTitle\"\n contentTranslationKey=\"caseMigration.modalContent\"\n ></valtimo-confirmation-modal>\n</ng-container>\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\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/config';\nimport {CaseMigrationComponent} from './components/case-migration-component/case-migration.component';\n\nconst routes: Routes = [\n {\n path: 'case-migration',\n component: CaseMigrationComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Case migration', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class CaseMigrationRoutingModule {}\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\nimport {NgModule} from '@angular/core';\nimport {CaseMigrationRoutingModule} from './case-migration-routing.module';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n CarbonMultiInputModule,\n ConfirmationModalModule,\n RenderInPageHeaderDirectiveModule,\n TooltipIconModule,\n WidgetModule,\n} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {CaseMigrationComponent} from './components/case-migration-component/case-migration.component';\nimport {\n ButtonModule,\n DropdownModule,\n IconModule,\n InputModule,\n NotificationModule,\n} from 'carbon-components-angular';\n\n@NgModule({\n declarations: [CaseMigrationComponent],\n imports: [\n CommonModule,\n CaseMigrationRoutingModule,\n ReactiveFormsModule,\n WidgetModule,\n FormsModule,\n TranslateModule,\n DropdownModule,\n RenderInPageHeaderDirectiveModule,\n InputModule,\n TooltipIconModule,\n ButtonModule,\n IconModule,\n CarbonMultiInputModule,\n ConfirmationModalModule,\n NotificationModule,\n ],\n})\nexport class CaseMigrationModule {}\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\n/*\n * Public API Surface of case-migration\n */\n\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/case-migration.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.CaseMigrationService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-case-migration.mjs","sources":["../../../../projects/valtimo/case-migration/src/lib/models/case-migration.model.ts","../../../../projects/valtimo/case-migration/src/lib/models/index.ts","../../../../projects/valtimo/case-migration/src/lib/services/case-migration.service.ts","../../../../projects/valtimo/case-migration/src/lib/services/index.ts","../../../../projects/valtimo/case-migration/src/lib/components/case-migration-component/case-migration.component.ts","../../../../projects/valtimo/case-migration/src/lib/components/case-migration-component/case-migration.component.html","../../../../projects/valtimo/case-migration/src/lib/case-migration-routing.module.ts","../../../../projects/valtimo/case-migration/src/lib/case-migration.module.ts","../../../../projects/valtimo/case-migration/src/public-api.ts","../../../../projects/valtimo/case-migration/src/valtimo-case-migration.ts"],"sourcesContent":["/*\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\ninterface LoadedValue<T> {\n isLoading: boolean;\n value?: T;\n}\n\ninterface DocumentMigrationConflictRequest {\n documentDefinitionNameSource: string;\n documentDefinitionVersionSource: number;\n documentDefinitionNameTarget: string;\n documentDefinitionVersionTarget: number;\n patches: DocumentMigrationPatch[];\n}\n\ninterface DocumentMigrationConflictResponse {\n documentDefinitionNameSource: string;\n documentDefinitionVersionSource: number;\n documentDefinitionNameTarget: string;\n documentDefinitionVersionTarget: number;\n conflicts: DocumentMigrationPatch[];\n errors: Array<string>;\n documentCount: number;\n}\n\ninterface DocumentMigrationPatch {\n source: string;\n target?: string;\n error?: string;\n}\n\nexport {\n LoadedValue,\n DocumentMigrationConflictRequest,\n DocumentMigrationConflictResponse,\n DocumentMigrationPatch,\n};\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\nexport * from './case-migration.model';\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\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {DocumentMigrationConflictRequest, DocumentMigrationConflictResponse} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CaseMigrationService {\n private readonly valtimoEndpointUri!: string;\n\n constructor(\n private http: HttpClient,\n configService: ConfigService\n ) {\n this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;\n }\n\n public getConflicts(\n request: DocumentMigrationConflictRequest\n ): Observable<DocumentMigrationConflictResponse> {\n return this.http.post<DocumentMigrationConflictResponse>(\n `${this.valtimoEndpointUri}management/v1/document-definition/migration/conflicts`,\n request\n );\n }\n\n public migrate(request: DocumentMigrationConflictRequest): Observable<void> {\n return this.http.post<void>(\n `${this.valtimoEndpointUri}management/v1/document-definition/migrate`,\n request\n );\n }\n}\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\nexport * from './case-migration.service';\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\nimport {Component} from '@angular/core';\nimport {DocumentDefinitionId, DocumentService} from '@valtimo/document';\nimport {MultiInputValues} from '@valtimo/components';\nimport {\n BehaviorSubject,\n combineLatest,\n filter,\n map,\n Observable,\n shareReplay,\n startWith,\n switchMap,\n take,\n} from 'rxjs';\nimport {ListItem} from 'carbon-components-angular/dropdown';\nimport {DocumentMigrationConflictRequest, DocumentMigrationPatch, LoadedValue} from '../../models';\nimport {CaseMigrationService} from '../../services';\nimport {WatsonHealthStackedMove16} from '@carbon/icons';\nimport {IconService} from 'carbon-components-angular';\n\n@Component({\n selector: 'valtimo-case-migration',\n templateUrl: './case-migration.component.html',\n})\nexport class CaseMigrationComponent {\n public readonly sourceDocumentDefinitionNameSelected$ = new BehaviorSubject<string | null>(null);\n public readonly sourceDocumentDefinitionVersionSelected$ = new BehaviorSubject<number | null>(\n null\n );\n public readonly targetDocumentDefinitionNameSelected$ = new BehaviorSubject<string | null>(null);\n public readonly targetDocumentDefinitionVersionSelected$ = new BehaviorSubject<number | null>(\n null\n );\n public readonly patchItems$ = new BehaviorSubject<MultiInputValues>([]);\n public readonly errors$ = new BehaviorSubject<Array<string>>([]);\n public readonly showConfirmationModal$ = new BehaviorSubject<boolean>(false);\n\n constructor(\n private readonly documentService: DocumentService,\n private readonly caseMigrationService: CaseMigrationService,\n private readonly iconService: IconService\n ) {\n this.iconService.registerAll([WatsonHealthStackedMove16]);\n }\n\n public readonly documentDefinitionIds$: Observable<Array<DocumentDefinitionId>> =\n this.documentService.getAllDefinitions().pipe(\n map(definitions => definitions.content.map(definition => definition.id)),\n shareReplay(1)\n );\n public readonly sourceDocumentDefinitionNameItems$: Observable<LoadedValue<Array<ListItem>>> =\n this.documentDefinitionIds$.pipe(\n map(documentDefinitionIds =>\n documentDefinitionIds.map(\n documentDefinitionId =>\n ({\n documentDefinitionName: documentDefinitionId.name,\n content: documentDefinitionId.name,\n selected: false,\n }) as ListItem\n )\n ),\n map(items => ({\n value: items,\n isLoading: false,\n })),\n startWith({isLoading: true})\n );\n public readonly sourceDocumentDefinitionVersionItems$: Observable<Array<ListItem>> =\n combineLatest([this.sourceDocumentDefinitionNameSelected$, this.documentDefinitionIds$]).pipe(\n map(([sourceDocumentDefinitionNameSelected, documentDefinitionIds]) =>\n documentDefinitionIds.find(id => id.name === sourceDocumentDefinitionNameSelected)\n ),\n filter(documentDefinitionId => !!documentDefinitionId),\n map(documentDefinitionId => [...Array(documentDefinitionId.version).keys()].map(v => v + 1)),\n map(versions =>\n versions.map(\n version =>\n ({\n documentDefinitionVersion: version,\n content: version.toString(),\n selected: false,\n }) as ListItem\n )\n )\n );\n public readonly targetDocumentDefinitionNameItems$: Observable<LoadedValue<Array<ListItem>>> =\n this.documentDefinitionIds$.pipe(\n map(documentDefinitionIds =>\n documentDefinitionIds.map(\n documentDefinitionId =>\n ({\n documentDefinitionName: documentDefinitionId.name,\n content: documentDefinitionId.name,\n selected: false,\n }) as ListItem\n )\n ),\n map(items => ({\n value: items,\n isLoading: false,\n })),\n startWith({isLoading: true})\n );\n public readonly targetDocumentDefinitionVersionItems$: Observable<Array<ListItem>> =\n combineLatest([this.targetDocumentDefinitionNameSelected$, this.documentDefinitionIds$]).pipe(\n map(([targetDocumentDefinitionNameSelected, documentDefinitionIds]) =>\n documentDefinitionIds.find(id => id.name === targetDocumentDefinitionNameSelected)\n ),\n filter(documentDefinitionId => !!documentDefinitionId),\n map(documentDefinitionId => [...Array(documentDefinitionId.version).keys()].map(v => v + 1)),\n map(versions =>\n versions.map(\n version =>\n ({\n documentDefinitionVersion: version,\n content: version.toString(),\n selected: false,\n }) as ListItem\n )\n )\n );\n public readonly patches$: Observable<Array<DocumentMigrationPatch>> = this.patchItems$.pipe(\n map(patchItems =>\n patchItems.map(\n patchItem =>\n ({\n source: patchItem.key,\n target: patchItem.value,\n }) as DocumentMigrationPatch\n )\n )\n );\n\n mappingValueChange(patches: MultiInputValues): void {\n this.patchItems$.next(patches);\n }\n\n checkPatches() {\n combineLatest([\n this.sourceDocumentDefinitionNameSelected$,\n this.sourceDocumentDefinitionVersionSelected$,\n this.targetDocumentDefinitionNameSelected$,\n this.targetDocumentDefinitionVersionSelected$,\n this.patches$,\n ])\n .pipe(\n take(1),\n map(\n ([\n documentDefinitionNameSource,\n documentDefinitionVersionSource,\n documentDefinitionNameTarget,\n documentDefinitionVersionTarget,\n patches,\n ]) =>\n ({\n documentDefinitionNameSource,\n documentDefinitionVersionSource,\n documentDefinitionNameTarget,\n documentDefinitionVersionTarget,\n patches,\n }) as DocumentMigrationConflictRequest\n ),\n switchMap(request =>\n this.caseMigrationService.getConflicts(request as DocumentMigrationConflictRequest)\n )\n )\n .subscribe(response => {\n this.errors$.next(\n response.errors.concat(\n response.conflicts.filter(c => !!c.error).map(c => c.source + ': ' + c.error)\n )\n );\n });\n }\n\n migrate() {\n combineLatest([\n this.sourceDocumentDefinitionNameSelected$,\n this.sourceDocumentDefinitionVersionSelected$,\n this.targetDocumentDefinitionNameSelected$,\n this.targetDocumentDefinitionVersionSelected$,\n this.patches$,\n ])\n .pipe(\n take(1),\n map(\n ([\n documentDefinitionNameSource,\n documentDefinitionVersionSource,\n documentDefinitionNameTarget,\n documentDefinitionVersionTarget,\n patches,\n ]) =>\n ({\n documentDefinitionNameSource,\n documentDefinitionVersionSource,\n documentDefinitionNameTarget,\n documentDefinitionVersionTarget,\n patches,\n }) as DocumentMigrationConflictRequest\n ),\n switchMap(request =>\n this.caseMigrationService.migrate(request as DocumentMigrationConflictRequest)\n )\n )\n .subscribe();\n }\n\n protected readonly CARBON_THEME = 'g10';\n}\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\n<ng-container\n class=\"case-count-configuration-form\"\n *ngIf=\"{\n sourceDocumentDefinitionNameItems: sourceDocumentDefinitionNameItems$ | async,\n sourceDocumentDefinitionVersionItems: sourceDocumentDefinitionVersionItems$ | async,\n targetDocumentDefinitionNameItems: targetDocumentDefinitionNameItems$ | async,\n targetDocumentDefinitionVersionItems: targetDocumentDefinitionVersionItems$ | async,\n sourceDocumentDefinitionNameSelected: sourceDocumentDefinitionNameSelected$ | async,\n sourceDocumentDefinitionVersionSelected: sourceDocumentDefinitionVersionSelected$ | async,\n targetDocumentDefinitionNameSelected: targetDocumentDefinitionNameSelected$ | async,\n targetDocumentDefinitionVersionSelected: targetDocumentDefinitionVersionSelected$ | async,\n patchItems: patchItems$ | async,\n errors: errors$ | async,\n showConfirmationModal: showConfirmationModal$,\n } as obs\"\n>\n <ng-container>\n <div class=\"pb-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseMigration.warningBeta' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.caseDefinition' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.sourceDocumentDefinitionNameItems.isLoading\"\n (selected)=\"sourceDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.sourceDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n sourceDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.sourceDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"row m-0\">\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionName' | translate\"\n [style.width.px]=\"350\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"targetDocumentDefinitionNameSelected$.next($event.item.documentDefinitionName)\"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionNameItems.value || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n <cds-dropdown\n class=\"pr-2 pb-2\"\n [label]=\"'caseMigration.targetDocumentDefinitionVersion' | translate\"\n [style.width.px]=\"300\"\n [disabled]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n [dropUp]=\"false\"\n [skeleton]=\"obs.targetDocumentDefinitionNameItems.isLoading\"\n (selected)=\"\n targetDocumentDefinitionVersionSelected$.next($event.item.documentDefinitionVersion)\n \"\n >\n <cds-dropdown-list\n [items]=\"obs.targetDocumentDefinitionVersionItems || []\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2 pb-2\">\n <div class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.patches' | translate }}</h2>\n </div>\n </div>\n <valtimo-carbon-multi-input\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event)\"\n [title]=\"' '\"\n [tooltip]=\"'caseMigration.patchTooltip' | translate\"\n [defaultValues]=\"[]\"\n [keyColumnTitle]=\"'caseMigration.patchSource' | translate\"\n [valueColumnTitle]=\"'caseMigration.patchTarget' | translate\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </ng-container>\n\n <ng-container>\n <div class=\"pt-2\">\n <div *ngIf=\"obs.errors?.length >= 1\" class=\"input-group mt-4 mb-2 align-items-center\">\n <div>\n <h2>{{ 'caseMigration.errors' | translate }}</h2>\n </div>\n </div>\n\n <div class=\"pb-2\" *ngFor=\"let error of obs.errors\">\n <cds-notification\n [notificationObj]=\"{\n type: 'error',\n title: error,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n </div>\n </ng-container>\n\n <ng-container>\n <button\n class=\"mt-2 mb-2 mr-2\"\n cdsButton=\"secondary\"\n size=\"md\"\n (click)=\"checkPatches()\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.checkPatches' | translate }}\n </button>\n <button\n class=\"mt-2 mb-2 ml-2\"\n cdsButton=\"primary\"\n size=\"md\"\n (click)=\"showConfirmationModal$.next(true)\"\n [disabled]=\"\n !obs.sourceDocumentDefinitionNameSelected ||\n !obs.sourceDocumentDefinitionVersionSelected ||\n !obs.targetDocumentDefinitionNameSelected ||\n !obs.targetDocumentDefinitionVersionSelected\n \"\n >\n {{ 'caseMigration.migrate' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"watsonHealthStackedMove\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"obs.showConfirmationModal\"\n (confirmEvent)=\"migrate()\"\n (cancelEvent)=\"showConfirmationModal$.next(false)\"\n cancelButtonType=\"ghost\"\n confirmButtonTextTranslationKey=\"caseMigration.modalTitle\"\n titleTranslationKey=\"caseMigration.modalTitle\"\n contentTranslationKey=\"caseMigration.modalContent\"\n ></valtimo-confirmation-modal>\n</ng-container>\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\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/config';\nimport {CaseMigrationComponent} from './components/case-migration-component/case-migration.component';\n\nconst routes: Routes = [\n {\n path: 'case-migration',\n component: CaseMigrationComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Case migration', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class CaseMigrationRoutingModule {}\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\nimport {NgModule} from '@angular/core';\nimport {CaseMigrationRoutingModule} from './case-migration-routing.module';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n CarbonMultiInputModule,\n ConfirmationModalModule,\n RenderInPageHeaderDirectiveModule,\n TooltipIconModule,\n WidgetModule,\n} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {CaseMigrationComponent} from './components/case-migration-component/case-migration.component';\nimport {\n ButtonModule,\n DropdownModule,\n IconModule,\n InputModule,\n NotificationModule,\n} from 'carbon-components-angular';\n\n@NgModule({\n declarations: [CaseMigrationComponent],\n imports: [\n CommonModule,\n CaseMigrationRoutingModule,\n ReactiveFormsModule,\n WidgetModule,\n FormsModule,\n TranslateModule,\n DropdownModule,\n RenderInPageHeaderDirectiveModule,\n InputModule,\n TooltipIconModule,\n ButtonModule,\n IconModule,\n CarbonMultiInputModule,\n ConfirmationModalModule,\n NotificationModule,\n ],\n})\nexport class CaseMigrationModule {}\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\n/*\n * Public API Surface of case-migration\n */\n\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/case-migration.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.CaseMigrationService"],"mappings":"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"}
|