@valtimo/form-management 10.2.1 → 10.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.
- package/esm2020/lib/form-management-create/form-management-create.component.mjs +7 -4
- package/esm2020/lib/form-management-duplicate/form-management-duplicate.component.mjs +88 -0
- package/esm2020/lib/form-management-edit/form-management-edit.component.mjs +22 -11
- package/esm2020/lib/form-management.module.mjs +43 -5
- package/esm2020/lib/form-management.service.mjs +4 -1
- package/esm2020/lib/validators/no-duplicate-form.validator.mjs +7 -0
- package/fesm2015/valtimo-form-management.mjs +155 -20
- package/fesm2015/valtimo-form-management.mjs.map +1 -1
- package/fesm2020/valtimo-form-management.mjs +153 -20
- package/fesm2020/valtimo-form-management.mjs.map +1 -1
- package/lib/form-management-create/form-management-create.component.d.ts.map +1 -1
- package/lib/form-management-duplicate/form-management-duplicate.component.d.ts +25 -0
- package/lib/form-management-duplicate/form-management-duplicate.component.d.ts.map +1 -0
- package/lib/form-management-edit/form-management-edit.component.d.ts +5 -2
- package/lib/form-management-edit/form-management-edit.component.d.ts.map +1 -1
- package/lib/form-management.module.d.ts +10 -7
- package/lib/form-management.module.d.ts.map +1 -1
- package/lib/form-management.service.d.ts +1 -0
- package/lib/form-management.service.d.ts.map +1 -1
- package/lib/validators/no-duplicate-form.validator.d.ts +4 -0
- package/lib/validators/no-duplicate-form.validator.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -17,6 +17,7 @@ import { Component } from '@angular/core';
|
|
|
17
17
|
import { FormControl, Validators } from '@angular/forms';
|
|
18
18
|
import { combineLatest } from 'rxjs';
|
|
19
19
|
import { take } from 'rxjs/operators';
|
|
20
|
+
import { noDuplicateFormValidator } from '../validators/no-duplicate-form.validator';
|
|
20
21
|
import * as i0 from "@angular/core";
|
|
21
22
|
import * as i1 from "../form-management.service";
|
|
22
23
|
import * as i2 from "@angular/forms";
|
|
@@ -37,7 +38,9 @@ export class FormManagementCreateComponent {
|
|
|
37
38
|
}
|
|
38
39
|
ngOnInit() {
|
|
39
40
|
this.form = this.formBuilder.group({
|
|
40
|
-
name: new FormControl('', Validators.required
|
|
41
|
+
name: new FormControl('', Validators.required, [
|
|
42
|
+
noDuplicateFormValidator(this.formManagementService),
|
|
43
|
+
]),
|
|
41
44
|
});
|
|
42
45
|
}
|
|
43
46
|
reset() {
|
|
@@ -75,9 +78,9 @@ export class FormManagementCreateComponent {
|
|
|
75
78
|
}
|
|
76
79
|
}
|
|
77
80
|
FormManagementCreateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementCreateComponent, deps: [{ token: i1.FormManagementService }, { token: i2.FormBuilder }, { token: i3.Router }, { token: i4.AlertService }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
-
FormManagementCreateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FormManagementCreateComponent, selector: "valtimo-form-management-create", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"createFormDefinition()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"name\">{{\n 'formManagement.name' | translate\n }}</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"name\"\n formControlName=\"name\"\n class=\"form-control\"\n placeholder=\"Form definition name\"\n [ngClass]=\"{\n 'is-valid': formControls.name.touched && formControls.name.valid,\n 'is-invalid': formControls.name.touched && formControls.name.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.name.touched && formControls.name.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.name.errors.required\">\n {{ 'formManagement.nameIsRequired' | translate }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'/
|
|
81
|
+
FormManagementCreateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FormManagementCreateComponent, selector: "valtimo-form-management-create", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"createFormDefinition()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"name\">{{\n 'formManagement.name' | translate\n }}</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"name\"\n formControlName=\"name\"\n class=\"form-control\"\n placeholder=\"Form definition name\"\n [ngClass]=\"{\n 'is-valid': formControls.name.touched && formControls.name.valid,\n 'is-invalid': formControls.name.touched && formControls.name.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.name.touched && formControls.name.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.name.errors.required\">\n {{ 'formManagement.nameIsRequired' | translate }}\n </div>\n <div *ngIf=\"formControls.name.errors.duplicate\">\n {{ 'formManagement.nameIsInUse' | translate }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'/form-management'\" class=\"btn btn-space btn-default\">{{\n 'formManagement.back' | translate\n }}</a>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">\n {{ 'formManagement.reset' | translate }}\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n {{ 'formManagement.submit' | translate }}\n </button>\n </div>\n </div>\n </form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
79
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementCreateComponent, decorators: [{
|
|
80
83
|
type: Component,
|
|
81
|
-
args: [{ selector: 'valtimo-form-management-create', template: "<!--\n ~ Copyright 2015-2020 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<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"createFormDefinition()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"name\">{{\n 'formManagement.name' | translate\n }}</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"name\"\n formControlName=\"name\"\n class=\"form-control\"\n placeholder=\"Form definition name\"\n [ngClass]=\"{\n 'is-valid': formControls.name.touched && formControls.name.valid,\n 'is-invalid': formControls.name.touched && formControls.name.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.name.touched && formControls.name.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.name.errors.required\">\n {{ 'formManagement.nameIsRequired' | translate }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'/
|
|
84
|
+
args: [{ selector: 'valtimo-form-management-create', template: "<!--\n ~ Copyright 2015-2020 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<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"createFormDefinition()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"name\">{{\n 'formManagement.name' | translate\n }}</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"name\"\n formControlName=\"name\"\n class=\"form-control\"\n placeholder=\"Form definition name\"\n [ngClass]=\"{\n 'is-valid': formControls.name.touched && formControls.name.valid,\n 'is-invalid': formControls.name.touched && formControls.name.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.name.touched && formControls.name.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.name.errors.required\">\n {{ 'formManagement.nameIsRequired' | translate }}\n </div>\n <div *ngIf=\"formControls.name.errors.duplicate\">\n {{ 'formManagement.nameIsInUse' | translate }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'/form-management'\" class=\"btn btn-space btn-default\">{{\n 'formManagement.back' | translate\n }}</a>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">\n {{ 'formManagement.reset' | translate }}\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n {{ 'formManagement.submit' | translate }}\n </button>\n </div>\n </div>\n </form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 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"] }]
|
|
82
85
|
}], ctorParameters: function () { return [{ type: i1.FormManagementService }, { type: i2.FormBuilder }, { type: i3.Router }, { type: i4.AlertService }, { type: i3.ActivatedRoute }]; } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VtZW50LWNyZWF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1jcmVhdGUvZm9ybS1tYW5hZ2VtZW50LWNyZWF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1jcmVhdGUvZm9ybS1tYW5hZ2VtZW50LWNyZWF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFjLFdBQVcsRUFBYSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUsvRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFPcEMsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxZQUNVLHFCQUE0QyxFQUM1QyxXQUF3QixFQUN4QixNQUFjLEVBQ2QsWUFBMEIsRUFDMUIsS0FBcUI7UUFKckIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFDNUIsQ0FBQztJQUVKLElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ2pDLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUMvQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2pCLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixNQUFNLFNBQVMsR0FBRztZQUNoQixPQUFPLEVBQUUsTUFBTTtZQUNmLFVBQVUsRUFBRSxFQUFFO1NBQ2YsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFnQztZQUMzQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUMxQixjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7U0FDMUMsQ0FBQztRQUNGLGFBQWEsQ0FBQztZQUNaLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7WUFDeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1NBQ3ZCLENBQUM7YUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUNSLENBQUMsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBRTlDLElBQUksTUFBTSxFQUFFLE1BQU0sS0FBSyxNQUFNLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsdUJBQXVCLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUNqRSxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDO2lCQUM5QixDQUFDLENBQUM7YUFDSjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHVCQUF1QixFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3BFO1FBQ0gsQ0FBQyxFQUNELEdBQUcsQ0FBQyxFQUFFO1lBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7OzJIQXpEVSw2QkFBNkI7K0dBQTdCLDZCQUE2QixzRUM5QjFDLHkzRkFzRUE7NEZEeENhLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QWxlcnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi9mb3JtLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge0NyZWF0ZUZvcm1EZWZpbml0aW9uUmVxdWVzdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1mb3JtLW1hbmFnZW1lbnQtY3JlYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tbWFuYWdlbWVudC1jcmVhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLW1hbmFnZW1lbnQtY3JlYXRlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1NYW5hZ2VtZW50Q3JlYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1NYW5hZ2VtZW50U2VydmljZTogRm9ybU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICApIHt9XG5cbiAgZ2V0IGZvcm1Db250cm9scygpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5mb3JtLnNldFZhbHVlKHtcbiAgICAgIG5hbWU6ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlRm9ybURlZmluaXRpb24oKSB7XG4gICAgY29uc3QgZW1wdHlGb3JtID0ge1xuICAgICAgZGlzcGxheTogJ2Zvcm0nLFxuICAgICAgY29tcG9uZW50czogW10sXG4gICAgfTtcbiAgICBjb25zdCByZXF1ZXN0OiBDcmVhdGVGb3JtRGVmaW5pdGlvblJlcXVlc3QgPSB7XG4gICAgICBuYW1lOiB0aGlzLmZvcm0udmFsdWUubmFtZSxcbiAgICAgIGZvcm1EZWZpbml0aW9uOiBKU09OLnN0cmluZ2lmeShlbXB0eUZvcm0pLFxuICAgIH07XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmZvcm1NYW5hZ2VtZW50U2VydmljZS5jcmVhdGVGb3JtRGVmaW5pdGlvbihyZXF1ZXN0KSxcbiAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMsXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoW2Zvcm1EZWZpbml0aW9uLCBwYXJhbXNdKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcygnQ3JlYXRlZCBuZXcgRm9ybScpO1xuXG4gICAgICAgICAgaWYgKHBhcmFtcz8udXBsb2FkID09PSAndHJ1ZScpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2Zvcm0tbWFuYWdlbWVudC9lZGl0JywgZm9ybURlZmluaXRpb24uaWRdLCB7XG4gICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7dXBsb2FkOiAndHJ1ZSd9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2Zvcm0tbWFuYWdlbWVudC9lZGl0JywgZm9ybURlZmluaXRpb24uaWRdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoJ0Vycm9yIGNyZWF0aW5nIG5ldyBGb3JtJyk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBweC0wIG1iLTVcIj5cbiAgICAgIDx2YWx0aW1vLXdpZGdldD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlIHAtNVwiPlxuICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJjcmVhdGVGb3JtRGVmaW5pdGlvbigpXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zIGNvbC1mb3JtLWxhYmVsIHRleHQtc20tcmlnaHRcIiBmb3I9XCJuYW1lXCI+e3tcbiAgICAgICAgICAgICAgICAnZm9ybU1hbmFnZW1lbnQubmFtZScgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS04IGNvbC1sZy02XCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBpZD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZvcm0gZGVmaW5pdGlvbiBuYW1lXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ2lzLXZhbGlkJzogZm9ybUNvbnRyb2xzLm5hbWUudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMubmFtZS52YWxpZCxcbiAgICAgICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBmb3JtQ29udHJvbHMubmFtZS50b3VjaGVkICYmIGZvcm1Db250cm9scy5uYW1lLmVycm9yc1xuICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmb3JtQ29udHJvbHMubmFtZS50b3VjaGVkICYmIGZvcm1Db250cm9scy5uYW1lLmVycm9yc1wiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmb3JtQ29udHJvbHMubmFtZS5lcnJvcnMucmVxdWlyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ2Zvcm1NYW5hZ2VtZW50Lm5hbWVJc1JlcXVpcmVkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB0LTMgbXQtMVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS02IHRleHQtbGVmdFwiPlxuICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIicvZm9ybXMnXCIgY2xhc3M9XCJidG4gYnRuLXNwYWNlIGJ0bi1kZWZhdWx0XCI+e3tcbiAgICAgICAgICAgICAgICAgICdmb3JtTWFuYWdlbWVudC5iYWNrJyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIH19PC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tNiB0ZXh0LXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc3BhY2UgYnRuLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicmVzZXQoKVwiPlxuICAgICAgICAgICAgICAgICAge3sgJ2Zvcm1NYW5hZ2VtZW50LnJlc2V0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNwYWNlIGJ0bi1wcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWRcIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdmb3JtTWFuYWdlbWVudC5zdWJtaXQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9mb3JtPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdmFsdGltby13aWRnZXQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VtZW50LWNyZWF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1jcmVhdGUvZm9ybS1tYW5hZ2VtZW50LWNyZWF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1jcmVhdGUvZm9ybS1tYW5hZ2VtZW50LWNyZWF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFjLFdBQVcsRUFBYSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUsvRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwQyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7QUFPbkYsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxZQUNVLHFCQUE0QyxFQUM1QyxXQUF3QixFQUN4QixNQUFjLEVBQ2QsWUFBMEIsRUFDMUIsS0FBcUI7UUFKckIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7SUFDNUIsQ0FBQztJQUVKLElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ2pDLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQkFDN0Msd0JBQXdCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO2FBQ3JELENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2pCLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixNQUFNLFNBQVMsR0FBRztZQUNoQixPQUFPLEVBQUUsTUFBTTtZQUNmLFVBQVUsRUFBRSxFQUFFO1NBQ2YsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFnQztZQUMzQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUMxQixjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7U0FDMUMsQ0FBQztRQUNGLGFBQWEsQ0FBQztZQUNaLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7WUFDeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1NBQ3ZCLENBQUM7YUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUNSLENBQUMsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBRTlDLElBQUksTUFBTSxFQUFFLE1BQU0sS0FBSyxNQUFNLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsdUJBQXVCLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUNqRSxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDO2lCQUM5QixDQUFDLENBQUM7YUFDSjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHVCQUF1QixFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3BFO1FBQ0gsQ0FBQyxFQUNELEdBQUcsQ0FBQyxFQUFFO1lBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7OzJIQTNEVSw2QkFBNkI7K0dBQTdCLDZCQUE2QixzRUMvQjFDLHVpR0F5RUE7NEZEMUNhLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7QWxlcnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi9mb3JtLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge0NyZWF0ZUZvcm1EZWZpbml0aW9uUmVxdWVzdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7bm9EdXBsaWNhdGVGb3JtVmFsaWRhdG9yfSBmcm9tICcuLi92YWxpZGF0b3JzL25vLWR1cGxpY2F0ZS1mb3JtLnZhbGlkYXRvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZm9ybS1tYW5hZ2VtZW50LWNyZWF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLW1hbmFnZW1lbnQtY3JlYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1tYW5hZ2VtZW50LWNyZWF0ZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtTWFuYWdlbWVudENyZWF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtTWFuYWdlbWVudFNlcnZpY2U6IEZvcm1NYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7fVxuXG4gIGdldCBmb3JtQ29udHJvbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9scztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgbmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkLCBbXG4gICAgICAgIG5vRHVwbGljYXRlRm9ybVZhbGlkYXRvcih0aGlzLmZvcm1NYW5hZ2VtZW50U2VydmljZSksXG4gICAgICBdKSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0KCkge1xuICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XG4gICAgICBuYW1lOiAnJyxcbiAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm1EZWZpbml0aW9uKCkge1xuICAgIGNvbnN0IGVtcHR5Rm9ybSA9IHtcbiAgICAgIGRpc3BsYXk6ICdmb3JtJyxcbiAgICAgIGNvbXBvbmVudHM6IFtdLFxuICAgIH07XG4gICAgY29uc3QgcmVxdWVzdDogQ3JlYXRlRm9ybURlZmluaXRpb25SZXF1ZXN0ID0ge1xuICAgICAgbmFtZTogdGhpcy5mb3JtLnZhbHVlLm5hbWUsXG4gICAgICBmb3JtRGVmaW5pdGlvbjogSlNPTi5zdHJpbmdpZnkoZW1wdHlGb3JtKSxcbiAgICB9O1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5mb3JtTWFuYWdlbWVudFNlcnZpY2UuY3JlYXRlRm9ybURlZmluaXRpb24ocmVxdWVzdCksXG4gICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLFxuICAgIF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKFtmb3JtRGVmaW5pdGlvbiwgcGFyYW1zXSkgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoJ0NyZWF0ZWQgbmV3IEZvcm0nKTtcblxuICAgICAgICAgIGlmIChwYXJhbXM/LnVwbG9hZCA9PT0gJ3RydWUnKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9mb3JtLW1hbmFnZW1lbnQvZWRpdCcsIGZvcm1EZWZpbml0aW9uLmlkXSwge1xuICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge3VwbG9hZDogJ3RydWUnfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9mb3JtLW1hbmFnZW1lbnQvZWRpdCcsIGZvcm1EZWZpbml0aW9uLmlkXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKCdFcnJvciBjcmVhdGluZyBuZXcgRm9ybScpO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgcHgtMCBtYi01XCI+XG4gICAgICA8dmFsdGltby13aWRnZXQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJiZy13aGl0ZSBwLTVcIj5cbiAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwiY3JlYXRlRm9ybURlZmluaXRpb24oKVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC0xMiBjb2wtc20tMyBjb2wtZm9ybS1sYWJlbCB0ZXh0LXNtLXJpZ2h0XCIgZm9yPVwibmFtZVwiPnt7XG4gICAgICAgICAgICAgICAgJ2Zvcm1NYW5hZ2VtZW50Lm5hbWUnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tOCBjb2wtbGctNlwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJGb3JtIGRlZmluaXRpb24gbmFtZVwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICdpcy12YWxpZCc6IGZvcm1Db250cm9scy5uYW1lLnRvdWNoZWQgJiYgZm9ybUNvbnRyb2xzLm5hbWUudmFsaWQsXG4gICAgICAgICAgICAgICAgICAgICdpcy1pbnZhbGlkJzogZm9ybUNvbnRyb2xzLm5hbWUudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMubmFtZS5lcnJvcnNcbiAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9ybUNvbnRyb2xzLm5hbWUudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMubmFtZS5lcnJvcnNcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUNvbnRyb2xzLm5hbWUuZXJyb3JzLnJlcXVpcmVkXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdmb3JtTWFuYWdlbWVudC5uYW1lSXNSZXF1aXJlZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvcm1Db250cm9scy5uYW1lLmVycm9ycy5kdXBsaWNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ2Zvcm1NYW5hZ2VtZW50Lm5hbWVJc0luVXNlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB0LTMgbXQtMVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS02IHRleHQtbGVmdFwiPlxuICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIicvZm9ybS1tYW5hZ2VtZW50J1wiIGNsYXNzPVwiYnRuIGJ0bi1zcGFjZSBidG4tZGVmYXVsdFwiPnt7XG4gICAgICAgICAgICAgICAgICAnZm9ybU1hbmFnZW1lbnQuYmFjaycgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICB9fTwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTYgdGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNwYWNlIGJ0bi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInJlc2V0KClcIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdmb3JtTWFuYWdlbWVudC5yZXNldCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zcGFjZSBidG4tcHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIiBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCI+XG4gICAgICAgICAgICAgICAgICB7eyAnZm9ybU1hbmFnZW1lbnQuc3VibWl0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3ZhbHRpbW8td2lkZ2V0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Component, Inject } from '@angular/core';
|
|
17
|
+
import { combineLatest } from 'rxjs';
|
|
18
|
+
import { take } from 'rxjs/operators';
|
|
19
|
+
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
20
|
+
import { BaseModal } from 'carbon-components-angular/modal';
|
|
21
|
+
import { noDuplicateFormValidator } from '../validators/no-duplicate-form.validator';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
import * as i1 from "@valtimo/user-interface";
|
|
24
|
+
import * as i2 from "../form-management.service";
|
|
25
|
+
import * as i3 from "@valtimo/components";
|
|
26
|
+
import * as i4 from "@angular/router";
|
|
27
|
+
import * as i5 from "@angular/common";
|
|
28
|
+
import * as i6 from "@angular/forms";
|
|
29
|
+
import * as i7 from "carbon-components-angular";
|
|
30
|
+
import * as i8 from "@ngx-translate/core";
|
|
31
|
+
export class FormManagementDuplicateComponent extends BaseModal {
|
|
32
|
+
constructor(formToDuplicate, modalService, formManagementService, alertService, route, router) {
|
|
33
|
+
super();
|
|
34
|
+
this.formToDuplicate = formToDuplicate;
|
|
35
|
+
this.modalService = modalService;
|
|
36
|
+
this.formManagementService = formManagementService;
|
|
37
|
+
this.alertService = alertService;
|
|
38
|
+
this.route = route;
|
|
39
|
+
this.router = router;
|
|
40
|
+
this.duplicateForm = new FormGroup({
|
|
41
|
+
duplicateFormName: new FormControl(this.getDefaultName(), Validators.compose([Validators.required]), [noDuplicateFormValidator(this.formManagementService)]),
|
|
42
|
+
});
|
|
43
|
+
this.duplicateForm.markAllAsTouched();
|
|
44
|
+
}
|
|
45
|
+
duplicate() {
|
|
46
|
+
const control = this.duplicateFormName;
|
|
47
|
+
const request = {
|
|
48
|
+
name: control.value.toString(),
|
|
49
|
+
formDefinition: JSON.stringify(this.formToDuplicate.formDefinition),
|
|
50
|
+
};
|
|
51
|
+
combineLatest([
|
|
52
|
+
this.formManagementService.createFormDefinition(request),
|
|
53
|
+
this.route.queryParams,
|
|
54
|
+
])
|
|
55
|
+
.pipe(take(1))
|
|
56
|
+
.subscribe(([formDefinition, params]) => {
|
|
57
|
+
this.alertService.success('Created new Form');
|
|
58
|
+
this.router
|
|
59
|
+
.navigateByUrl(`/form-management/edit/${formDefinition.id}`)
|
|
60
|
+
.then(function (result) {
|
|
61
|
+
window.location.reload();
|
|
62
|
+
});
|
|
63
|
+
}, err => {
|
|
64
|
+
if (err.toString().includes('Duplicate name')) {
|
|
65
|
+
control.setErrors({ duplicate: true });
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
control.setErrors({ incorrect: true });
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
get duplicateFormName() {
|
|
73
|
+
return this.duplicateForm.controls['duplicateFormName'];
|
|
74
|
+
}
|
|
75
|
+
getDefaultName() {
|
|
76
|
+
return this.formToDuplicate.name + '-duplicate';
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
FormManagementDuplicateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementDuplicateComponent, deps: [{ token: 'formToDuplicate' }, { token: i1.ModalService }, { token: i2.FormManagementService }, { token: i3.AlertService }, { token: i4.ActivatedRoute }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
+
FormManagementDuplicateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FormManagementDuplicateComponent, selector: "valtimo-form-management-duplicate-modal", usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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<ibm-modal [open]=\"open\" (overlaySelected)=\"closeModal()\" [formGroup]=\"duplicateForm\">\n <ibm-modal-header (closeSelect)=\"closeModal()\">{{\n 'formManagement.duplicate' | translate\n }}</ibm-modal-header>\n <section class=\"bx--modal-content p-2\">\n <ibm-label labelState=\"error\">\n {{ 'formManagement.name' | translate }}\n <input ibmText formControlName=\"duplicateFormName\" [invalid]=\"duplicateFormName.invalid\" />\n </ibm-label>\n <div\n *ngIf=\"duplicateFormName.invalid && (duplicateFormName.dirty || duplicateFormName.touched)\"\n class=\"bg-warning text-black mb-0 p-2 pl-3 pr-3\"\n role=\"alert\"\n >\n <div *ngIf=\"duplicateFormName.errors.required\">\n {{ 'formManagement.nameIsRequired' | translate }}\n </div>\n <div *ngIf=\"duplicateFormName.errors.duplicate\">\n {{ 'formManagement.nameIsInUse' | translate }}\n </div>\n </div>\n </section>\n <ibm-modal-footer>\n <button ibmButton=\"secondary\" (click)=\"closeModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n <button\n ibmButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n modal-primary-focus\n (click)=\"duplicate()\"\n [disabled]=\"duplicateForm.invalid\"\n >\n {{ 'formManagement.submit' | translate }}\n </button>\n </ibm-modal-footer>\n</ibm-modal>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.Modal, selector: "ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i7.ModalHeader, selector: "ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i7.ModalFooter, selector: "ibm-modal-footer" }, { kind: "component", type: i7.Label, selector: "ibm-label", inputs: ["labelInputID", "disabled", "labelState", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i7.TextInput, selector: "[ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i7.Button, selector: "[ibmButton]", inputs: ["ibmButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementDuplicateComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ selector: 'valtimo-form-management-duplicate-modal', template: "<!--\n ~ Copyright 2015-2020 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<ibm-modal [open]=\"open\" (overlaySelected)=\"closeModal()\" [formGroup]=\"duplicateForm\">\n <ibm-modal-header (closeSelect)=\"closeModal()\">{{\n 'formManagement.duplicate' | translate\n }}</ibm-modal-header>\n <section class=\"bx--modal-content p-2\">\n <ibm-label labelState=\"error\">\n {{ 'formManagement.name' | translate }}\n <input ibmText formControlName=\"duplicateFormName\" [invalid]=\"duplicateFormName.invalid\" />\n </ibm-label>\n <div\n *ngIf=\"duplicateFormName.invalid && (duplicateFormName.dirty || duplicateFormName.touched)\"\n class=\"bg-warning text-black mb-0 p-2 pl-3 pr-3\"\n role=\"alert\"\n >\n <div *ngIf=\"duplicateFormName.errors.required\">\n {{ 'formManagement.nameIsRequired' | translate }}\n </div>\n <div *ngIf=\"duplicateFormName.errors.duplicate\">\n {{ 'formManagement.nameIsInUse' | translate }}\n </div>\n </div>\n </section>\n <ibm-modal-footer>\n <button ibmButton=\"secondary\" (click)=\"closeModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n <button\n ibmButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n modal-primary-focus\n (click)=\"duplicate()\"\n [disabled]=\"duplicateForm.invalid\"\n >\n {{ 'formManagement.submit' | translate }}\n </button>\n </ibm-modal-footer>\n</ibm-modal>\n", styles: ["/*!\n * Copyright 2015-2020 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"] }]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
85
|
+
type: Inject,
|
|
86
|
+
args: ['formToDuplicate']
|
|
87
|
+
}] }, { type: i1.ModalService }, { type: i2.FormManagementService }, { type: i3.AlertService }, { type: i4.ActivatedRoute }, { type: i4.Router }]; } });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUvZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUvZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BDLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUkxRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7OztBQU9uRixNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsU0FBUztJQVM3RCxZQUNvQyxlQUFlLEVBQ3ZDLFlBQTBCLEVBQzFCLHFCQUE0QyxFQUM5QyxZQUEwQixFQUN4QixLQUFxQixFQUN2QixNQUFjO1FBRXRCLEtBQUssRUFBRSxDQUFDO1FBUDBCLG9CQUFlLEdBQWYsZUFBZSxDQUFBO1FBQ3ZDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDOUMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWR4QixrQkFBYSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzVCLGlCQUFpQixFQUFFLElBQUksV0FBVyxDQUNoQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDekMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUN2RDtTQUNGLENBQUMsQ0FBQztRQVdELElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0sU0FBUztRQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUV2QyxNQUFNLE9BQU8sR0FBZ0M7WUFDM0MsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQzlCLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDO1NBQ3BFLENBQUM7UUFDRixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDO1lBQ3hELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVztTQUN2QixDQUFDO2FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FDUixDQUFDLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsTUFBTTtpQkFDUixhQUFhLENBQUMseUJBQXlCLGNBQWMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztpQkFDM0QsSUFBSSxDQUFDLFVBQVUsTUFBTTtnQkFDcEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRTtZQUNKLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUM3QyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO0lBQ2xELENBQUM7OzhIQTFEVSxnQ0FBZ0Msa0JBVWpDLGlCQUFpQjtrSEFWaEIsZ0NBQWdDLHNHQ2pDN0MsOC9EQW9EQTs0RkRuQmEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLHlDQUF5Qzs7MEJBY2hELE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01vZGFsU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vdXNlci1pbnRlcmZhY2UnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NyZWF0ZUZvcm1EZWZpbml0aW9uUmVxdWVzdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7QmFzZU1vZGFsfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL21vZGFsJztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi9mb3JtLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge25vRHVwbGljYXRlRm9ybVZhbGlkYXRvcn0gZnJvbSAnLi4vdmFsaWRhdG9ycy9uby1kdXBsaWNhdGUtZm9ybS52YWxpZGF0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWZvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZW1lbnREdXBsaWNhdGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlTW9kYWwge1xuICBkdXBsaWNhdGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgZHVwbGljYXRlRm9ybU5hbWU6IG5ldyBGb3JtQ29udHJvbChcbiAgICAgIHRoaXMuZ2V0RGVmYXVsdE5hbWUoKSxcbiAgICAgIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgW25vRHVwbGljYXRlRm9ybVZhbGlkYXRvcih0aGlzLmZvcm1NYW5hZ2VtZW50U2VydmljZSldXG4gICAgKSxcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnZm9ybVRvRHVwbGljYXRlJykgcHVibGljIGZvcm1Ub0R1cGxpY2F0ZSxcbiAgICBwcm90ZWN0ZWQgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGZvcm1NYW5hZ2VtZW50U2VydmljZTogRm9ybU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kdXBsaWNhdGVGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBkdXBsaWNhdGUoKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZHVwbGljYXRlRm9ybU5hbWU7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBDcmVhdGVGb3JtRGVmaW5pdGlvblJlcXVlc3QgPSB7XG4gICAgICBuYW1lOiBjb250cm9sLnZhbHVlLnRvU3RyaW5nKCksXG4gICAgICBmb3JtRGVmaW5pdGlvbjogSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtVG9EdXBsaWNhdGUuZm9ybURlZmluaXRpb24pLFxuICAgIH07XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmZvcm1NYW5hZ2VtZW50U2VydmljZS5jcmVhdGVGb3JtRGVmaW5pdGlvbihyZXF1ZXN0KSxcbiAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMsXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoW2Zvcm1EZWZpbml0aW9uLCBwYXJhbXNdKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcygnQ3JlYXRlZCBuZXcgRm9ybScpO1xuICAgICAgICAgIHRoaXMucm91dGVyXG4gICAgICAgICAgICAubmF2aWdhdGVCeVVybChgL2Zvcm0tbWFuYWdlbWVudC9lZGl0LyR7Zm9ybURlZmluaXRpb24uaWR9YClcbiAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgaWYgKGVyci50b1N0cmluZygpLmluY2x1ZGVzKCdEdXBsaWNhdGUgbmFtZScpKSB7XG4gICAgICAgICAgICBjb250cm9sLnNldEVycm9ycyh7ZHVwbGljYXRlOiB0cnVlfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKHtpbmNvcnJlY3Q6IHRydWV9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXQgZHVwbGljYXRlRm9ybU5hbWUoKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmR1cGxpY2F0ZUZvcm0uY29udHJvbHNbJ2R1cGxpY2F0ZUZvcm1OYW1lJ107XG4gIH1cblxuICBwdWJsaWMgZ2V0RGVmYXVsdE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVG9EdXBsaWNhdGUubmFtZSArICctZHVwbGljYXRlJztcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuPGlibS1tb2RhbCBbb3Blbl09XCJvcGVuXCIgKG92ZXJsYXlTZWxlY3RlZCk9XCJjbG9zZU1vZGFsKClcIiBbZm9ybUdyb3VwXT1cImR1cGxpY2F0ZUZvcm1cIj5cbiAgPGlibS1tb2RhbC1oZWFkZXIgKGNsb3NlU2VsZWN0KT1cImNsb3NlTW9kYWwoKVwiPnt7XG4gICAgJ2Zvcm1NYW5hZ2VtZW50LmR1cGxpY2F0ZScgfCB0cmFuc2xhdGVcbiAgfX08L2libS1tb2RhbC1oZWFkZXI+XG4gIDxzZWN0aW9uIGNsYXNzPVwiYngtLW1vZGFsLWNvbnRlbnQgcC0yXCI+XG4gICAgPGlibS1sYWJlbCBsYWJlbFN0YXRlPVwiZXJyb3JcIj5cbiAgICAgIHt7ICdmb3JtTWFuYWdlbWVudC5uYW1lJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGlucHV0IGlibVRleHQgZm9ybUNvbnRyb2xOYW1lPVwiZHVwbGljYXRlRm9ybU5hbWVcIiBbaW52YWxpZF09XCJkdXBsaWNhdGVGb3JtTmFtZS5pbnZhbGlkXCIgLz5cbiAgICA8L2libS1sYWJlbD5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImR1cGxpY2F0ZUZvcm1OYW1lLmludmFsaWQgJiYgKGR1cGxpY2F0ZUZvcm1OYW1lLmRpcnR5IHx8IGR1cGxpY2F0ZUZvcm1OYW1lLnRvdWNoZWQpXCJcbiAgICAgIGNsYXNzPVwiYmctd2FybmluZyB0ZXh0LWJsYWNrIG1iLTAgcC0yIHBsLTMgcHItM1wiXG4gICAgICByb2xlPVwiYWxlcnRcIlxuICAgID5cbiAgICAgIDxkaXYgKm5nSWY9XCJkdXBsaWNhdGVGb3JtTmFtZS5lcnJvcnMucmVxdWlyZWRcIj5cbiAgICAgICAge3sgJ2Zvcm1NYW5hZ2VtZW50Lm5hbWVJc1JlcXVpcmVkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZHVwbGljYXRlRm9ybU5hbWUuZXJyb3JzLmR1cGxpY2F0ZVwiPlxuICAgICAgICB7eyAnZm9ybU1hbmFnZW1lbnQubmFtZUlzSW5Vc2UnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8aWJtLW1vZGFsLWZvb3Rlcj5cbiAgICA8YnV0dG9uIGlibUJ1dHRvbj1cInNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj5cbiAgICAgIHt7ICdpbnRlcmZhY2UuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGlibUJ1dHRvbj1cInByaW1hcnlcIlxuICAgICAgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCJcbiAgICAgIG1vZGFsLXByaW1hcnktZm9jdXNcbiAgICAgIChjbGljayk9XCJkdXBsaWNhdGUoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZHVwbGljYXRlRm9ybS5pbnZhbGlkXCJcbiAgICA+XG4gICAgICB7eyAnZm9ybU1hbmFnZW1lbnQuc3VibWl0JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2libS1tb2RhbC1mb290ZXI+XG48L2libS1tb2RhbD5cbiJdfQ==
|
|
@@ -16,19 +16,22 @@
|
|
|
16
16
|
import { Component, ViewEncapsulation } from '@angular/core';
|
|
17
17
|
import { first, take } from 'rxjs/operators';
|
|
18
18
|
import { BehaviorSubject, Subscription } from 'rxjs';
|
|
19
|
+
import { FormManagementDuplicateComponent } from '../form-management-duplicate/form-management-duplicate.component';
|
|
19
20
|
import * as i0 from "@angular/core";
|
|
20
21
|
import * as i1 from "../form-management.service";
|
|
21
22
|
import * as i2 from "@valtimo/components";
|
|
22
23
|
import * as i3 from "@angular/router";
|
|
23
|
-
import * as i4 from "
|
|
24
|
-
import * as i5 from "
|
|
25
|
-
import * as i6 from "
|
|
24
|
+
import * as i4 from "carbon-components-angular";
|
|
25
|
+
import * as i5 from "@angular/common";
|
|
26
|
+
import * as i6 from "../form-management-upload/form-management-upload.component";
|
|
27
|
+
import * as i7 from "@ngx-translate/core";
|
|
26
28
|
export class FormManagementEditComponent {
|
|
27
|
-
constructor(formManagementService, alertService, route, router) {
|
|
29
|
+
constructor(formManagementService, alertService, route, router, modalService) {
|
|
28
30
|
this.formManagementService = formManagementService;
|
|
29
31
|
this.alertService = alertService;
|
|
30
32
|
this.route = route;
|
|
31
33
|
this.router = router;
|
|
34
|
+
this.modalService = modalService;
|
|
32
35
|
this.showModal$ = new BehaviorSubject(false);
|
|
33
36
|
this.reloading$ = new BehaviorSubject(false);
|
|
34
37
|
this.modifiedFormDefinition = null;
|
|
@@ -116,9 +119,17 @@ export class FormManagementEditComponent {
|
|
|
116
119
|
window.URL.revokeObjectURL(link.href);
|
|
117
120
|
link.remove();
|
|
118
121
|
}
|
|
119
|
-
|
|
122
|
+
showUploadModal() {
|
|
120
123
|
this.showModal$.next(true);
|
|
121
124
|
}
|
|
125
|
+
showDuplicateModal() {
|
|
126
|
+
this.modalService.create({
|
|
127
|
+
component: FormManagementDuplicateComponent,
|
|
128
|
+
inputs: {
|
|
129
|
+
formToDuplicate: this.formDefinition,
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
}
|
|
122
133
|
setFormDefinition(formDefinition) {
|
|
123
134
|
this.reloading$.next(true);
|
|
124
135
|
const definition = JSON.parse(formDefinition);
|
|
@@ -132,15 +143,15 @@ export class FormManagementEditComponent {
|
|
|
132
143
|
checkToOpenUploadModal() {
|
|
133
144
|
this.route.queryParams.pipe(take(1)).subscribe(params => {
|
|
134
145
|
if (params?.upload === 'true') {
|
|
135
|
-
this.
|
|
146
|
+
this.showUploadModal();
|
|
136
147
|
}
|
|
137
148
|
});
|
|
138
149
|
}
|
|
139
150
|
}
|
|
140
|
-
FormManagementEditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementEditComponent, deps: [{ token: i1.FormManagementService }, { token: i2.AlertService }, { token: i3.ActivatedRoute }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
141
|
-
FormManagementEditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FormManagementEditComponent, selector: "valtimo-form-management-edit", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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<div class=\"main-content pt-0\">\n <div class=\"container-fluid\" *ngIf=\"formDefinition\">\n <div class=\"btn-group mt-m3px mb-3 float-right\">\n <button class=\"btn btn-primary btn-space\" (click)=\"downloadFormDefinition()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>\n {{ 'Download' | translate }}\n </button>\n <button\n class=\"btn btn-secondary btn-space\"\n (click)=\"
|
|
151
|
+
FormManagementEditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementEditComponent, deps: [{ token: i1.FormManagementService }, { token: i2.AlertService }, { token: i3.ActivatedRoute }, { token: i3.Router }, { token: i4.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
152
|
+
FormManagementEditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FormManagementEditComponent, selector: "valtimo-form-management-edit", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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<div class=\"main-content pt-0\">\n <div class=\"container-fluid\" *ngIf=\"formDefinition\">\n <div class=\"btn-group mt-m3px mb-3 float-right\">\n <button class=\"btn btn-primary btn-space\" (click)=\"downloadFormDefinition()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>\n {{ 'Download' | translate }}\n </button>\n <button\n class=\"btn btn-secondary btn-space\"\n (click)=\"showUploadModal()\"\n [disabled]=\"formDefinition.readOnly\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload' | translate }}\n </button>\n <button\n class=\"btn btn-danger btn-space\"\n (click)=\"delete()\"\n [disabled]=\"formDefinition.readOnly\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'formManagement.delete' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"modifyFormDefinition()\"\n [disabled]=\"formDefinition.readOnly\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'formManagement.deploy' | translate }}\n </button>\n <button class=\"btn btn-secondary btn-space\" (click)=\"showDuplicateModal()\">\n <i class=\"icon mdi mdi-content-duplicate mr-1\"></i\n >{{ 'formManagement.duplicate' | translate }}\n </button>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"bg-light formbuilder-header overflow-auto\">\n <h3 class=\"formbuilder-title\">\n {{ formDefinition.name }}\n <div *ngIf=\"formDefinition.readOnly\" class=\"pull-right\">\n <span class=\"badge badge-pill badge-info increase-size\">{{\n 'formManagement.readOnly' | translate\n }}</span>\n </div>\n </h3>\n </div>\n <ng-container *ngIf=\"(reloading$ | async) === false\">\n <valtimo-form-io-builder\n [form]=\"formDefinition.formDefinition\"\n (change)=\"formBuilderChanged($event)\"\n ></valtimo-form-io-builder>\n </ng-container>\n </div>\n</div>\n\n<valtimo-form-management-upload\n [show$]=\"showModal$\"\n (definitionUploaded)=\"setFormDefinition($event)\"\n></valtimo-form-management-upload>\n\n<ibm-placeholder></ibm-placeholder>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.formbuilder .btn.formcomponent.drag-copy,.btn.formcomponent.gu-mirror{font-weight:400;background-color:silver;border-color:silver;color:#fff}.formbuilder .btn.formcomponent.drag-copy:hover,.formbuilder .btn.formcomponent.drag-copy:active,.btn.formcomponent.gu-mirror:hover,.btn.formcomponent.gu-mirror:active{box-shadow:none}.formbuilder .btn.formcomponent.drag-copy:active,.btn.formcomponent.gu-mirror:active{background-color:silver;border-color:silver}.formbuilder-header{padding-left:18px;padding-right:18px;font-size:18px;height:80px;border:1px solid #dee2e6;border-bottom:0}.formbuilder-header .formbuilder-title{margin-top:21px;margin-bottom:7px}.formbuilder-header .formbuilder-subtitle{margin-top:0;margin-bottom:12px}.formbuilder{background:white;padding:1rem;border:1px solid #dee2e6;margin-right:0!important;margin-left:0!important}.formbuilder .form-builder-panel .builder-group-button[aria-expanded=false],.formbuilder .form-builder-panel .builder-group-button[aria-expanded=\"\"]{color:#a9a9a9}.formbuilder .form-builder-panel .builder-group-button[aria-expanded=true]{color:#000}.formbuilder .drag-and-drop-alert{display:none}.formbuilder .formarea{padding:10px;border:solid 1px silver;background-color:#fff}.increase-size{font-size:1rem}\n"], dependencies: [{ kind: "component", type: i2.FormioBuilderComponent, selector: "valtimo-form-io-builder", inputs: ["form"], outputs: ["change"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.Placeholder, selector: "ibm-placeholder", inputs: ["id"] }, { kind: "component", type: i6.FormManagementUploadComponent, selector: "valtimo-form-management-upload", inputs: ["show$"], outputs: ["definitionUploaded"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
142
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementEditComponent, decorators: [{
|
|
143
154
|
type: Component,
|
|
144
|
-
args: [{ selector: 'valtimo-form-management-edit', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2020 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<div class=\"main-content pt-0\">\n <div class=\"container-fluid\" *ngIf=\"formDefinition\">\n <div class=\"btn-group mt-m3px mb-3 float-right\">\n <button class=\"btn btn-primary btn-space\" (click)=\"downloadFormDefinition()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>\n {{ 'Download' | translate }}\n </button>\n <button\n class=\"btn btn-secondary btn-space\"\n (click)=\"
|
|
145
|
-
}], ctorParameters: function () { return [{ type: i1.FormManagementService }, { type: i2.AlertService }, { type: i3.ActivatedRoute }, { type: i3.Router }]; } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VtZW50LWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9mb3JtLW1hbmFnZW1lbnQvc3JjL2xpYi9mb3JtLW1hbmFnZW1lbnQtZWRpdC9mb3JtLW1hbmFnZW1lbnQtZWRpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1lZGl0L2Zvcm0tbWFuYWdlbWVudC1lZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBcUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFLOUUsT0FBTyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFTbkQsTUFBTSxPQUFPLDJCQUEyQjtJQVF0QyxZQUNVLHFCQUE0QyxFQUM1QyxZQUEwQixFQUMxQixLQUFxQixFQUNyQixNQUFjO1FBSGQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWGYsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuRCwyQkFBc0IsR0FBZSxJQUFJLENBQUM7UUFDMUMsbUJBQWMsR0FBMEIsSUFBSSxDQUFDO1FBQzVDLGFBQVEsR0FBaUIsWUFBWSxDQUFDLEtBQUssQ0FBQztR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QUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUMsTUFBTSxVQUFVLEdBQUcsVUFBVSxFQUFFLGNBQWMsRUFBRSxVQUFVLENBQUM7UUFDMUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUM7UUFDNUYsTUFBTSxhQUFhLEdBQUcsRUFBQyxHQUFHLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBQyxVQUFVLEVBQUMsQ0FBQyxFQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLGFBQWEsQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFFbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RELElBQUksTUFBTSxFQUFFLE1BQU0sS0FBSyxNQUFNLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7eUhBMUlVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLG9FQy9CeEMseWxGQXNFQTs0RkR2Q2EsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNFLDhCQUE4QixpQkFHekIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uL2Zvcm0tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7QWxlcnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybURlZmluaXRpb24sIE1vZGlmeUZvcm1EZWZpbml0aW9uUmVxdWVzdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Zmlyc3QsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGb3JtaW9Gb3JtfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWZvcm0tbWFuYWdlbWVudC1lZGl0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tbWFuYWdlbWVudC1lZGl0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1tYW5hZ2VtZW50LWVkaXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZW1lbnRFZGl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWFkb25seSBzaG93TW9kYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHJlbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIG1vZGlmaWVkRm9ybURlZmluaXRpb246IEZvcm1pb0Zvcm0gPSBudWxsO1xuICBwdWJsaWMgZm9ybURlZmluaXRpb246IEZvcm1EZWZpbml0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgYWxlcnRTdWI6IFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgcHJpdmF0ZSBmb3JtRGVmaW5pdGlvbklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1NYW5hZ2VtZW50U2VydmljZTogRm9ybU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkRm9ybURlZmluaXRpb24oKTtcbiAgICB0aGlzLmNoZWNrVG9PcGVuVXBsb2FkTW9kYWwoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuYWxlcnRTdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGxvYWRGb3JtRGVmaW5pdGlvbigpIHtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKTtcbiAgICB0aGlzLmZvcm1NYW5hZ2VtZW50U2VydmljZS5nZXRGb3JtRGVmaW5pdGlvbih0aGlzLmZvcm1EZWZpbml0aW9uSWQpLnN1YnNjcmliZShcbiAgICAgIGZvcm1EZWZpbml0aW9uID0+IHtcbiAgICAgICAgdGhpcy5mb3JtRGVmaW5pdGlvbiA9IGZvcm1EZWZpbml0aW9uO1xuICAgICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoJ0Vycm9yIHJldHJpZXZpbmcgRm9ybSBEZWZpbml0aW9uJyk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIG1vZGlmeUZvcm1EZWZpbml0aW9uKCkge1xuICAgIGNvbnN0IGZvcm0gPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIHRoaXMubW9kaWZpZWRGb3JtRGVmaW5pdGlvbiAhPSBudWxsXG4gICAgICAgID8gdGhpcy5tb2RpZmllZEZvcm1EZWZpbml0aW9uXG4gICAgICAgIDogdGhpcy5mb3JtRGVmaW5pdGlvbi5mb3JtRGVmaW5pdGlvblxuICAgICk7XG4gICAgY29uc3QgcmVxdWVzdDogTW9kaWZ5Rm9ybURlZmluaXRpb25SZXF1ZXN0ID0ge1xuICAgICAgaWQ6IHRoaXMuZm9ybURlZmluaXRpb24uaWQsXG4gICAgICBuYW1lOiB0aGlzLmZvcm1EZWZpbml0aW9uLm5hbWUsXG4gICAgICBmb3JtRGVmaW5pdGlvbjogZm9ybSxcbiAgICB9O1xuICAgIHRoaXMuZm9ybU1hbmFnZW1lbnRTZXJ2aWNlLm1vZGlmeUZvcm1EZWZpbml0aW9uKHJlcXVlc3QpLnN1YnNjcmliZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZm9ybS1tYW5hZ2VtZW50J10pO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKCdGb3JtIGRlcGxveWVkJyk7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoJ0Vycm9yIGRlcGxveWluZyBGb3JtJyk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtQnVpbGRlckNoYW5nZWQoZXZlbnQpIHtcbiAgICB0aGlzLm1vZGlmaWVkRm9ybURlZmluaXRpb24gPSBldmVudC5mb3JtO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZSgpIHtcbiAgICBpZiAoIXRoaXMuYWxlcnRTdWIuY2xvc2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG1zc2cgPSAnRGVsZXRlIEZvcm0/JztcbiAgICBjb25zdCBjb25maXJtYXRpb25zID0gW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ0NhbmNlbCcsXG4gICAgICAgIGNsYXNzOiAnYnRuIGJ0bi1kZWZhdWx0JyxcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdEZWxldGUnLFxuICAgICAgICBjbGFzczogJ2J0biBidG4tcHJpbWFyeScsXG4gICAgICAgIHZhbHVlOiB0cnVlLFxuICAgICAgfSxcbiAgICBdO1xuICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm5vdGlmaWNhdGlvbihtc3NnLCBjb25maXJtYXRpb25zKTtcbiAgICB0aGlzLmFsZXJ0U3ViID0gdGhpcy5hbGVydFNlcnZpY2VcbiAgICAgIC5nZXRBbGVydENvbmZpcm1DaGFuZ2VFbWl0dGVyKClcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKGFsZXJ0ID0+IHtcbiAgICAgICAgaWYgKGFsZXJ0LmNvbmZpcm0gPT09IHRydWUpIHtcbiAgICAgICAgICB0aGlzLmRlbGV0ZUZvcm1EZWZpbml0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlRm9ybURlZmluaXRpb24oKSB7XG4gICAgdGhpcy5mb3JtTWFuYWdlbWVudFNlcnZpY2UuZGVsZXRlRm9ybURlZmluaXRpb24odGhpcy5mb3JtRGVmaW5pdGlvbi5pZCkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9mb3JtLW1hbmFnZW1lbnQnXSk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoJ0Zvcm0gZGVsZXRlZCcpO1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKCdFcnJvciBkZWxldGluZyBGb3JtJyk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGRvd25sb2FkRm9ybURlZmluaXRpb24oKSB7XG4gICAgY29uc3QgZmlsZSA9IG5ldyBCbG9iKFtKU09OLnN0cmluZ2lmeSh0aGlzLmZvcm1EZWZpbml0aW9uLmZvcm1EZWZpbml0aW9uKV0sIHtcbiAgICAgIHR5cGU6ICd0ZXh0L2pzb24nLFxuICAgIH0pO1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5kb3dubG9hZCA9IGBmb3JtXyR7dGhpcy5mb3JtRGVmaW5pdGlvbi5uYW1lfS5qc29uYDtcbiAgICBsaW5rLmhyZWYgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcbiAgICBsaW5rLmNsaWNrKCk7XG4gICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwobGluay5ocmVmKTtcbiAgICBsaW5rLnJlbW92ZSgpO1xuICB9XG5cbiAgc2hvd01vZGFsKCkge1xuICAgIHRoaXMuc2hvd01vZGFsJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgc2V0Rm9ybURlZmluaXRpb24oZm9ybURlZmluaXRpb246IGFueSkge1xuICAgIHRoaXMucmVsb2FkaW5nJC5uZXh0KHRydWUpO1xuXG4gICAgY29uc3QgZGVmaW5pdGlvbiA9IEpTT04ucGFyc2UoZm9ybURlZmluaXRpb24pO1xuICAgIGNvbnN0IGNvbXBvbmVudHMgPSBkZWZpbml0aW9uPy5mb3JtRGVmaW5pdGlvbj8uY29tcG9uZW50cztcbiAgICBjb25zdCBjdXJyZW50RGVmaW5pdGlvbiA9IHRoaXMubW9kaWZpZWRGb3JtRGVmaW5pdGlvbiB8fCB0aGlzLmZvcm1EZWZpbml0aW9uLmZvcm1EZWZpbml0aW9uO1xuICAgIGNvbnN0IG5ld0RlZmluaXRpb24gPSB7Li4uY3VycmVudERlZmluaXRpb24sIC4uLihjb21wb25lbnRzICYmIHtjb21wb25lbnRzfSl9O1xuXG4gICAgdGhpcy5tb2RpZmllZEZvcm1EZWZpbml0aW9uID0gbmV3RGVmaW5pdGlvbjtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uLmZvcm1EZWZpbml0aW9uID0gbmV3RGVmaW5pdGlvbjtcblxuICAgIHRoaXMucmVsb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tUb09wZW5VcGxvYWRNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICBpZiAocGFyYW1zPy51cGxvYWQgPT09ICd0cnVlJykge1xuICAgICAgICB0aGlzLnNob3dNb2RhbCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQgcHQtMFwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCIgKm5nSWY9XCJmb3JtRGVmaW5pdGlvblwiPlxuICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbXQtbTNweCBtYi0zIGZsb2F0LXJpZ2h0XCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zcGFjZVwiIChjbGljayk9XCJkb3dubG9hZEZvcm1EZWZpbml0aW9uKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktZG93bmxvYWQgbXItMVwiPjwvaT5cbiAgICAgICAge3sgJ0Rvd25sb2FkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNwYWNlXCJcbiAgICAgICAgKGNsaWNrKT1cInNob3dNb2RhbCgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1EZWZpbml0aW9uLnJlYWRPbmx5XCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktdXBsb2FkIG1yLTFcIj48L2k+XG4gICAgICAgIHt7ICdVcGxvYWQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRhbmdlciBidG4tc3BhY2VcIlxuICAgICAgICAoY2xpY2spPVwiZGVsZXRlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybURlZmluaXRpb24ucmVhZE9ubHlcIlxuICAgICAgPlxuICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1kZWxldGUgbXItMVwiPjwvaT57eyAnZm9ybU1hbmFnZW1lbnQuZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zcGFjZVwiXG4gICAgICAgIChjbGljayk9XCJtb2RpZnlGb3JtRGVmaW5pdGlvbigpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1EZWZpbml0aW9uLnJlYWRPbmx5XCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktdXBsb2FkIG1yLTFcIj48L2k+e3sgJ2Zvcm1NYW5hZ2VtZW50LmRlcGxveScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJiZy1saWdodCBmb3JtYnVpbGRlci1oZWFkZXIgb3ZlcmZsb3ctYXV0b1wiPlxuICAgICAgPGgzIGNsYXNzPVwiZm9ybWJ1aWxkZXItdGl0bGVcIj5cbiAgICAgICAge3sgZm9ybURlZmluaXRpb24ubmFtZSB9fVxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9ybURlZmluaXRpb24ucmVhZE9ubHlcIiBjbGFzcz1cInB1bGwtcmlnaHRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLXBpbGwgYmFkZ2UtaW5mbyBpbmNyZWFzZS1zaXplXCI+e3tcbiAgICAgICAgICAgICdmb3JtTWFuYWdlbWVudC5yZWFkT25seScgfCB0cmFuc2xhdGVcbiAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2gzPlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIocmVsb2FkaW5nJCB8IGFzeW5jKSA9PT0gZmFsc2VcIj5cbiAgICAgIDx2YWx0aW1vLWZvcm0taW8tYnVpbGRlclxuICAgICAgICBbZm9ybV09XCJmb3JtRGVmaW5pdGlvbi5mb3JtRGVmaW5pdGlvblwiXG4gICAgICAgIChjaGFuZ2UpPVwiZm9ybUJ1aWxkZXJDaGFuZ2VkKCRldmVudClcIlxuICAgICAgPjwvdmFsdGltby1mb3JtLWlvLWJ1aWxkZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjx2YWx0aW1vLWZvcm0tbWFuYWdlbWVudC11cGxvYWRcbiAgW3Nob3ckXT1cInNob3dNb2RhbCRcIlxuICAoZGVmaW5pdGlvblVwbG9hZGVkKT1cInNldEZvcm1EZWZpbml0aW9uKCRldmVudClcIlxuPjwvdmFsdGltby1mb3JtLW1hbmFnZW1lbnQtdXBsb2FkPlxuIl19
|
|
155
|
+
args: [{ selector: 'valtimo-form-management-edit', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2020 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<div class=\"main-content pt-0\">\n <div class=\"container-fluid\" *ngIf=\"formDefinition\">\n <div class=\"btn-group mt-m3px mb-3 float-right\">\n <button class=\"btn btn-primary btn-space\" (click)=\"downloadFormDefinition()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>\n {{ 'Download' | translate }}\n </button>\n <button\n class=\"btn btn-secondary btn-space\"\n (click)=\"showUploadModal()\"\n [disabled]=\"formDefinition.readOnly\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload' | translate }}\n </button>\n <button\n class=\"btn btn-danger btn-space\"\n (click)=\"delete()\"\n [disabled]=\"formDefinition.readOnly\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'formManagement.delete' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"modifyFormDefinition()\"\n [disabled]=\"formDefinition.readOnly\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'formManagement.deploy' | translate }}\n </button>\n <button class=\"btn btn-secondary btn-space\" (click)=\"showDuplicateModal()\">\n <i class=\"icon mdi mdi-content-duplicate mr-1\"></i\n >{{ 'formManagement.duplicate' | translate }}\n </button>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"bg-light formbuilder-header overflow-auto\">\n <h3 class=\"formbuilder-title\">\n {{ formDefinition.name }}\n <div *ngIf=\"formDefinition.readOnly\" class=\"pull-right\">\n <span class=\"badge badge-pill badge-info increase-size\">{{\n 'formManagement.readOnly' | translate\n }}</span>\n </div>\n </h3>\n </div>\n <ng-container *ngIf=\"(reloading$ | async) === false\">\n <valtimo-form-io-builder\n [form]=\"formDefinition.formDefinition\"\n (change)=\"formBuilderChanged($event)\"\n ></valtimo-form-io-builder>\n </ng-container>\n </div>\n</div>\n\n<valtimo-form-management-upload\n [show$]=\"showModal$\"\n (definitionUploaded)=\"setFormDefinition($event)\"\n></valtimo-form-management-upload>\n\n<ibm-placeholder></ibm-placeholder>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.formbuilder .btn.formcomponent.drag-copy,.btn.formcomponent.gu-mirror{font-weight:400;background-color:silver;border-color:silver;color:#fff}.formbuilder .btn.formcomponent.drag-copy:hover,.formbuilder .btn.formcomponent.drag-copy:active,.btn.formcomponent.gu-mirror:hover,.btn.formcomponent.gu-mirror:active{box-shadow:none}.formbuilder .btn.formcomponent.drag-copy:active,.btn.formcomponent.gu-mirror:active{background-color:silver;border-color:silver}.formbuilder-header{padding-left:18px;padding-right:18px;font-size:18px;height:80px;border:1px solid #dee2e6;border-bottom:0}.formbuilder-header .formbuilder-title{margin-top:21px;margin-bottom:7px}.formbuilder-header .formbuilder-subtitle{margin-top:0;margin-bottom:12px}.formbuilder{background:white;padding:1rem;border:1px solid #dee2e6;margin-right:0!important;margin-left:0!important}.formbuilder .form-builder-panel .builder-group-button[aria-expanded=false],.formbuilder .form-builder-panel .builder-group-button[aria-expanded=\"\"]{color:#a9a9a9}.formbuilder .form-builder-panel .builder-group-button[aria-expanded=true]{color:#000}.formbuilder .drag-and-drop-alert{display:none}.formbuilder .formarea{padding:10px;border:solid 1px silver;background-color:#fff}.increase-size{font-size:1rem}\n"] }]
|
|
156
|
+
}], ctorParameters: function () { return [{ type: i1.FormManagementService }, { type: i2.AlertService }, { type: i3.ActivatedRoute }, { type: i3.Router }, { type: i4.ModalService }]; } });
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VtZW50LWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9mb3JtLW1hbmFnZW1lbnQvc3JjL2xpYi9mb3JtLW1hbmFnZW1lbnQtZWRpdC9mb3JtLW1hbmFnZW1lbnQtZWRpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1lZGl0L2Zvcm0tbWFuYWdlbWVudC1lZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBcUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFLOUUsT0FBTyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQzs7Ozs7Ozs7O0FBU2xILE1BQU0sT0FBTywyQkFBMkI7SUFRdEMsWUFDVSxxQkFBNEMsRUFDNUMsWUFBMEIsRUFDMUIsS0FBcUIsRUFDckIsTUFBYyxFQUNkLFlBQTBCO1FBSjFCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBWjNCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqRCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkQsMkJB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Q0FBQyxDQUFDO0lBQ0wsQ0FBQzs7eUhBcEpVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLG9FQ2pDeEMsbTJGQTRFQTs0RkQzQ2EsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNFLDhCQUE4QixpQkFHekIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uL2Zvcm0tbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7QWxlcnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybURlZmluaXRpb24sIE1vZGlmeUZvcm1EZWZpbml0aW9uUmVxdWVzdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Zmlyc3QsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGb3JtaW9Gb3JtfSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudER1cGxpY2F0ZUNvbXBvbmVudH0gZnJvbSAnLi4vZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS9mb3JtLW1hbmFnZW1lbnQtZHVwbGljYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge01vZGFsU2VydmljZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZm9ybS1tYW5hZ2VtZW50LWVkaXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1tYW5hZ2VtZW50LWVkaXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLW1hbmFnZW1lbnQtZWRpdC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtTWFuYWdlbWVudEVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IHNob3dNb2RhbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcmVsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgbW9kaWZpZWRGb3JtRGVmaW5pdGlvbjogRm9ybWlvRm9ybSA9IG51bGw7XG4gIHB1YmxpYyBmb3JtRGVmaW5pdGlvbjogRm9ybURlZmluaXRpb24gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBhbGVydFN1YjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICBwcml2YXRlIGZvcm1EZWZpbml0aW9uSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybU1hbmFnZW1lbnRTZXJ2aWNlOiBGb3JtTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZEZvcm1EZWZpbml0aW9uKCk7XG4gICAgdGhpcy5jaGVja1RvT3BlblVwbG9hZE1vZGFsKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmFsZXJ0U3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBsb2FkRm9ybURlZmluaXRpb24oKSB7XG4gICAgdGhpcy5mb3JtRGVmaW5pdGlvbklkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ2lkJyk7XG4gICAgdGhpcy5mb3JtTWFuYWdlbWVudFNlcnZpY2UuZ2V0Rm9ybURlZmluaXRpb24odGhpcy5mb3JtRGVmaW5pdGlvbklkKS5zdWJzY3JpYmUoXG4gICAgICBmb3JtRGVmaW5pdGlvbiA9PiB7XG4gICAgICAgIHRoaXMuZm9ybURlZmluaXRpb24gPSBmb3JtRGVmaW5pdGlvbjtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKCdFcnJvciByZXRyaWV2aW5nIEZvcm0gRGVmaW5pdGlvbicpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBtb2RpZnlGb3JtRGVmaW5pdGlvbigpIHtcbiAgICBjb25zdCBmb3JtID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB0aGlzLm1vZGlmaWVkRm9ybURlZmluaXRpb24gIT0gbnVsbFxuICAgICAgICA/IHRoaXMubW9kaWZpZWRGb3JtRGVmaW5pdGlvblxuICAgICAgICA6IHRoaXMuZm9ybURlZmluaXRpb24uZm9ybURlZmluaXRpb25cbiAgICApO1xuICAgIGNvbnN0IHJlcXVlc3Q6IE1vZGlmeUZvcm1EZWZpbml0aW9uUmVxdWVzdCA9IHtcbiAgICAgIGlkOiB0aGlzLmZvcm1EZWZpbml0aW9uLmlkLFxuICAgICAgbmFtZTogdGhpcy5mb3JtRGVmaW5pdGlvbi5uYW1lLFxuICAgICAgZm9ybURlZmluaXRpb246IGZvcm0sXG4gICAgfTtcbiAgICB0aGlzLmZvcm1NYW5hZ2VtZW50U2VydmljZS5tb2RpZnlGb3JtRGVmaW5pdGlvbihyZXF1ZXN0KS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2Zvcm0tbWFuYWdlbWVudCddKTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcygnRm9ybSBkZXBsb3llZCcpO1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmVycm9yKCdFcnJvciBkZXBsb3lpbmcgRm9ybScpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZm9ybUJ1aWxkZXJDaGFuZ2VkKGV2ZW50KSB7XG4gICAgdGhpcy5tb2RpZmllZEZvcm1EZWZpbml0aW9uID0gZXZlbnQuZm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUoKSB7XG4gICAgaWYgKCF0aGlzLmFsZXJ0U3ViLmNsb3NlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBtc3NnID0gJ0RlbGV0ZSBGb3JtPyc7XG4gICAgY29uc3QgY29uZmlybWF0aW9ucyA9IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdDYW5jZWwnLFxuICAgICAgICBjbGFzczogJ2J0biBidG4tZGVmYXVsdCcsXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnRGVsZXRlJyxcbiAgICAgICAgY2xhc3M6ICdidG4gYnRuLXByaW1hcnknLFxuICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5ub3RpZmljYXRpb24obXNzZywgY29uZmlybWF0aW9ucyk7XG4gICAgdGhpcy5hbGVydFN1YiA9IHRoaXMuYWxlcnRTZXJ2aWNlXG4gICAgICAuZ2V0QWxlcnRDb25maXJtQ2hhbmdlRW1pdHRlcigpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZShhbGVydCA9PiB7XG4gICAgICAgIGlmIChhbGVydC5jb25maXJtID09PSB0cnVlKSB7XG4gICAgICAgICAgdGhpcy5kZWxldGVGb3JtRGVmaW5pdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZUZvcm1EZWZpbml0aW9uKCkge1xuICAgIHRoaXMuZm9ybU1hbmFnZW1lbnRTZXJ2aWNlLmRlbGV0ZUZvcm1EZWZpbml0aW9uKHRoaXMuZm9ybURlZmluaXRpb24uaWQpLnN1YnNjcmliZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZm9ybS1tYW5hZ2VtZW50J10pO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKCdGb3JtIGRlbGV0ZWQnKTtcbiAgICAgIH0sXG4gICAgICBlcnIgPT4ge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcignRXJyb3IgZGVsZXRpbmcgRm9ybScpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBkb3dubG9hZEZvcm1EZWZpbml0aW9uKCkge1xuICAgIGNvbnN0IGZpbGUgPSBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtRGVmaW5pdGlvbi5mb3JtRGVmaW5pdGlvbildLCB7XG4gICAgICB0eXBlOiAndGV4dC9qc29uJyxcbiAgICB9KTtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmsuZG93bmxvYWQgPSBgZm9ybV8ke3RoaXMuZm9ybURlZmluaXRpb24ubmFtZX0uanNvbmA7XG4gICAgbGluay5ocmVmID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSk7XG4gICAgbGluay5jbGljaygpO1xuICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKGxpbmsuaHJlZik7XG4gICAgbGluay5yZW1vdmUoKTtcbiAgfVxuXG4gIHNob3dVcGxvYWRNb2RhbCgpIHtcbiAgICB0aGlzLnNob3dNb2RhbCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHNob3dEdXBsaWNhdGVNb2RhbCgpIHtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBGb3JtTWFuYWdlbWVudER1cGxpY2F0ZUNvbXBvbmVudCxcbiAgICAgIGlucHV0czoge1xuICAgICAgICBmb3JtVG9EdXBsaWNhdGU6IHRoaXMuZm9ybURlZmluaXRpb24sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgc2V0Rm9ybURlZmluaXRpb24oZm9ybURlZmluaXRpb246IGFueSkge1xuICAgIHRoaXMucmVsb2FkaW5nJC5uZXh0KHRydWUpO1xuXG4gICAgY29uc3QgZGVmaW5pdGlvbiA9IEpTT04ucGFyc2UoZm9ybURlZmluaXRpb24pO1xuICAgIGNvbnN0IGNvbXBvbmVudHMgPSBkZWZpbml0aW9uPy5mb3JtRGVmaW5pdGlvbj8uY29tcG9uZW50cztcbiAgICBjb25zdCBjdXJyZW50RGVmaW5pdGlvbiA9IHRoaXMubW9kaWZpZWRGb3JtRGVmaW5pdGlvbiB8fCB0aGlzLmZvcm1EZWZpbml0aW9uLmZvcm1EZWZpbml0aW9uO1xuICAgIGNvbnN0IG5ld0RlZmluaXRpb24gPSB7Li4uY3VycmVudERlZmluaXRpb24sIC4uLihjb21wb25lbnRzICYmIHtjb21wb25lbnRzfSl9O1xuXG4gICAgdGhpcy5tb2RpZmllZEZvcm1EZWZpbml0aW9uID0gbmV3RGVmaW5pdGlvbjtcbiAgICB0aGlzLmZvcm1EZWZpbml0aW9uLmZvcm1EZWZpbml0aW9uID0gbmV3RGVmaW5pdGlvbjtcblxuICAgIHRoaXMucmVsb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tUb09wZW5VcGxvYWRNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICBpZiAocGFyYW1zPy51cGxvYWQgPT09ICd0cnVlJykge1xuICAgICAgICB0aGlzLnNob3dVcGxvYWRNb2RhbCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnQgcHQtMFwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCIgKm5nSWY9XCJmb3JtRGVmaW5pdGlvblwiPlxuICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbXQtbTNweCBtYi0zIGZsb2F0LXJpZ2h0XCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zcGFjZVwiIChjbGljayk9XCJkb3dubG9hZEZvcm1EZWZpbml0aW9uKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktZG93bmxvYWQgbXItMVwiPjwvaT5cbiAgICAgICAge3sgJ0Rvd25sb2FkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNwYWNlXCJcbiAgICAgICAgKGNsaWNrKT1cInNob3dVcGxvYWRNb2RhbCgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1EZWZpbml0aW9uLnJlYWRPbmx5XCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktdXBsb2FkIG1yLTFcIj48L2k+XG4gICAgICAgIHt7ICdVcGxvYWQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRhbmdlciBidG4tc3BhY2VcIlxuICAgICAgICAoY2xpY2spPVwiZGVsZXRlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybURlZmluaXRpb24ucmVhZE9ubHlcIlxuICAgICAgPlxuICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1kZWxldGUgbXItMVwiPjwvaT57eyAnZm9ybU1hbmFnZW1lbnQuZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zcGFjZVwiXG4gICAgICAgIChjbGljayk9XCJtb2RpZnlGb3JtRGVmaW5pdGlvbigpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZvcm1EZWZpbml0aW9uLnJlYWRPbmx5XCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktdXBsb2FkIG1yLTFcIj48L2k+e3sgJ2Zvcm1NYW5hZ2VtZW50LmRlcGxveScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zcGFjZVwiIChjbGljayk9XCJzaG93RHVwbGljYXRlTW9kYWwoKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1jb250ZW50LWR1cGxpY2F0ZSBtci0xXCI+PC9pXG4gICAgICAgID57eyAnZm9ybU1hbmFnZW1lbnQuZHVwbGljYXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNsZWFyZml4XCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJnLWxpZ2h0IGZvcm1idWlsZGVyLWhlYWRlciBvdmVyZmxvdy1hdXRvXCI+XG4gICAgICA8aDMgY2xhc3M9XCJmb3JtYnVpbGRlci10aXRsZVwiPlxuICAgICAgICB7eyBmb3JtRGVmaW5pdGlvbi5uYW1lIH19XG4gICAgICAgIDxkaXYgKm5nSWY9XCJmb3JtRGVmaW5pdGlvbi5yZWFkT25seVwiIGNsYXNzPVwicHVsbC1yaWdodFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtcGlsbCBiYWRnZS1pbmZvIGluY3JlYXNlLXNpemVcIj57e1xuICAgICAgICAgICAgJ2Zvcm1NYW5hZ2VtZW50LnJlYWRPbmx5JyB8IHRyYW5zbGF0ZVxuICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaDM+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihyZWxvYWRpbmckIHwgYXN5bmMpID09PSBmYWxzZVwiPlxuICAgICAgPHZhbHRpbW8tZm9ybS1pby1idWlsZGVyXG4gICAgICAgIFtmb3JtXT1cImZvcm1EZWZpbml0aW9uLmZvcm1EZWZpbml0aW9uXCJcbiAgICAgICAgKGNoYW5nZSk9XCJmb3JtQnVpbGRlckNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICA+PC92YWx0aW1vLWZvcm0taW8tYnVpbGRlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPHZhbHRpbW8tZm9ybS1tYW5hZ2VtZW50LXVwbG9hZFxuICBbc2hvdyRdPVwic2hvd01vZGFsJFwiXG4gIChkZWZpbml0aW9uVXBsb2FkZWQpPVwic2V0Rm9ybURlZmluaXRpb24oJGV2ZW50KVwiXG4+PC92YWx0aW1vLWZvcm0tbWFuYWdlbWVudC11cGxvYWQ+XG5cbjxpYm0tcGxhY2Vob2xkZXI+PC9pYm0tcGxhY2Vob2xkZXI+XG4iXX0=
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { NgModule } from '@angular/core';
|
|
17
17
|
import { FormManagementComponent } from './form-management.component';
|
|
18
18
|
import { FormManagementRoutingModule } from './form-management-routing.module';
|
|
19
|
-
import { DropzoneModule, FormIoModule, ListModule, ModalModule, WidgetModule, } from '@valtimo/components';
|
|
19
|
+
import { DropzoneModule, FormIoModule, ListModule, ModalModule as vcModalModule, WidgetModule, } from '@valtimo/components';
|
|
20
20
|
import { CommonModule } from '@angular/common';
|
|
21
21
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
22
22
|
import { FormManagementCreateComponent } from './form-management-create/form-management-create.component';
|
|
@@ -25,6 +25,9 @@ import { FormManagementEditComponent } from './form-management-edit/form-managem
|
|
|
25
25
|
import { TranslateModule } from '@ngx-translate/core';
|
|
26
26
|
import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
27
27
|
import { FormManagementUploadComponent } from './form-management-upload/form-management-upload.component';
|
|
28
|
+
import { FormManagementDuplicateComponent } from './form-management-duplicate/form-management-duplicate.component';
|
|
29
|
+
import { ButtonModule, FormModule, InputModule as vInputModule, ModalModule as vModalModule, TitleModule, } from '@valtimo/user-interface';
|
|
30
|
+
import { ButtonModule as cButtonModule, InputModule, ModalModule, PlaceholderModule, } from 'carbon-components-angular';
|
|
28
31
|
import * as i0 from "@angular/core";
|
|
29
32
|
export class FormManagementModule {
|
|
30
33
|
}
|
|
@@ -33,7 +36,8 @@ FormManagementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
|
|
|
33
36
|
FormManagementCreateComponent,
|
|
34
37
|
FormManagementListComponent,
|
|
35
38
|
FormManagementEditComponent,
|
|
36
|
-
FormManagementUploadComponent
|
|
39
|
+
FormManagementUploadComponent,
|
|
40
|
+
FormManagementDuplicateComponent], imports: [FormManagementRoutingModule,
|
|
37
41
|
FormIoModule,
|
|
38
42
|
CommonModule,
|
|
39
43
|
ReactiveFormsModule,
|
|
@@ -43,7 +47,18 @@ FormManagementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
|
|
|
43
47
|
TranslateModule,
|
|
44
48
|
NgbTooltipModule,
|
|
45
49
|
DropzoneModule,
|
|
46
|
-
ModalModule
|
|
50
|
+
ModalModule,
|
|
51
|
+
vModalModule,
|
|
52
|
+
vcModalModule,
|
|
53
|
+
vInputModule,
|
|
54
|
+
TitleModule,
|
|
55
|
+
ButtonModule,
|
|
56
|
+
InputModule,
|
|
57
|
+
FormModule,
|
|
58
|
+
ModalModule,
|
|
59
|
+
InputModule,
|
|
60
|
+
PlaceholderModule,
|
|
61
|
+
cButtonModule], exports: [FormManagementComponent] });
|
|
47
62
|
FormManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementModule, imports: [FormManagementRoutingModule,
|
|
48
63
|
FormIoModule,
|
|
49
64
|
CommonModule,
|
|
@@ -54,7 +69,18 @@ FormManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
|
|
|
54
69
|
TranslateModule,
|
|
55
70
|
NgbTooltipModule,
|
|
56
71
|
DropzoneModule,
|
|
57
|
-
ModalModule
|
|
72
|
+
ModalModule,
|
|
73
|
+
vModalModule,
|
|
74
|
+
vcModalModule,
|
|
75
|
+
vInputModule,
|
|
76
|
+
TitleModule,
|
|
77
|
+
ButtonModule,
|
|
78
|
+
InputModule,
|
|
79
|
+
FormModule,
|
|
80
|
+
ModalModule,
|
|
81
|
+
InputModule,
|
|
82
|
+
PlaceholderModule,
|
|
83
|
+
cButtonModule] });
|
|
58
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementModule, decorators: [{
|
|
59
85
|
type: NgModule,
|
|
60
86
|
args: [{
|
|
@@ -64,6 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
64
90
|
FormManagementListComponent,
|
|
65
91
|
FormManagementEditComponent,
|
|
66
92
|
FormManagementUploadComponent,
|
|
93
|
+
FormManagementDuplicateComponent,
|
|
67
94
|
],
|
|
68
95
|
imports: [
|
|
69
96
|
FormManagementRoutingModule,
|
|
@@ -77,8 +104,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
77
104
|
NgbTooltipModule,
|
|
78
105
|
DropzoneModule,
|
|
79
106
|
ModalModule,
|
|
107
|
+
vModalModule,
|
|
108
|
+
vcModalModule,
|
|
109
|
+
vInputModule,
|
|
110
|
+
TitleModule,
|
|
111
|
+
ButtonModule,
|
|
112
|
+
InputModule,
|
|
113
|
+
FormModule,
|
|
114
|
+
ModalModule,
|
|
115
|
+
InputModule,
|
|
116
|
+
PlaceholderModule,
|
|
117
|
+
cButtonModule,
|
|
80
118
|
],
|
|
81
119
|
exports: [FormManagementComponent],
|
|
82
120
|
}]
|
|
83
121
|
}] });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZm9ybS1tYW5hZ2VtZW50L3NyYy9saWIvZm9ybS1tYW5hZ2VtZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUNMLGNBQWMsRUFDZCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsSUFBSSxhQUFhLEVBQzVCLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbEcsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbEcsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ2pILE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsSUFBSSxZQUFZLEVBQzNCLFdBQVcsSUFBSSxZQUFZLEVBQzNCLFdBQVcsR0FDWixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDTCxZQUFZLElBQUksYUFBYSxFQUM3QixXQUFXLEVBQ1gsV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLDJCQUEyQixDQUFDOztBQXFDbkMsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLGlCQWpDN0IsdUJBQXVCO1FBQ3ZCLDZCQUE2QjtRQUM3QiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLDZCQUE2QjtRQUM3QixnQ0FBZ0MsYUFHaEMsMkJBQTJCO1FBQzNCLFlBQVk7UUFDWixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxZQUFZO1FBQ1osVUFBVTtRQUNWLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLFdBQVc7UUFDWCxZQUFZO1FBQ1osYUFBYTtRQUNiLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTtRQUNaLFdBQVc7UUFDWCxVQUFVO1FBQ1YsV0FBVztRQUNYLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsYUFBYSxhQUVMLHVCQUF1QjttSEFFdEIsb0JBQW9CLFlBekI3QiwyQkFBMkI7UUFDM0IsWUFBWTtRQUNaLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLFlBQVk7UUFDWixVQUFVO1FBQ1YsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsV0FBVztRQUNYLFlBQVk7UUFDWixhQUFhO1FBQ2IsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osV0FBVztRQUNYLFVBQVU7UUFDVixXQUFXO1FBQ1gsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixhQUFhOzRGQUlKLG9CQUFvQjtrQkFuQ2hDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3dCQUM3QiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3QixnQ0FBZ0M7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDUCwyQkFBMkI7d0JBQzNCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudENvbXBvbmVudH0gZnJvbSAnLi9mb3JtLW1hbmFnZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlfSBmcm9tICcuL2Zvcm0tbWFuYWdlbWVudC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQge1xuICBEcm9wem9uZU1vZHVsZSxcbiAgRm9ybUlvTW9kdWxlLFxuICBMaXN0TW9kdWxlLFxuICBNb2RhbE1vZHVsZSBhcyB2Y01vZGFsTW9kdWxlLFxuICBXaWRnZXRNb2R1bGUsXG59IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Zvcm1NYW5hZ2VtZW50Q3JlYXRlQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0tbWFuYWdlbWVudC1jcmVhdGUvZm9ybS1tYW5hZ2VtZW50LWNyZWF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudExpc3RDb21wb25lbnR9IGZyb20gJy4vZm9ybS1tYW5hZ2VtZW50LWxpc3QvZm9ybS1tYW5hZ2VtZW50LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRFZGl0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm0tbWFuYWdlbWVudC1lZGl0L2Zvcm0tbWFuYWdlbWVudC1lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge05nYlRvb2x0aXBNb2R1bGV9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRVcGxvYWRDb21wb25lbnR9IGZyb20gJy4vZm9ybS1tYW5hZ2VtZW50LXVwbG9hZC9mb3JtLW1hbmFnZW1lbnQtdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1NYW5hZ2VtZW50RHVwbGljYXRlQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUvZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQnV0dG9uTW9kdWxlLFxuICBGb3JtTW9kdWxlLFxuICBJbnB1dE1vZHVsZSBhcyB2SW5wdXRNb2R1bGUsXG4gIE1vZGFsTW9kdWxlIGFzIHZNb2RhbE1vZHVsZSxcbiAgVGl0bGVNb2R1bGUsXG59IGZyb20gJ0B2YWx0aW1vL3VzZXItaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSBhcyBjQnV0dG9uTW9kdWxlLFxuICBJbnB1dE1vZHVsZSxcbiAgTW9kYWxNb2R1bGUsXG4gIFBsYWNlaG9sZGVyTW9kdWxlLFxufSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRm9ybU1hbmFnZW1lbnRDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZW1lbnRDcmVhdGVDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZW1lbnRMaXN0Q29tcG9uZW50LFxuICAgIEZvcm1NYW5hZ2VtZW50RWRpdENvbXBvbmVudCxcbiAgICBGb3JtTWFuYWdlbWVudFVwbG9hZENvbXBvbmVudCxcbiAgICBGb3JtTWFuYWdlbWVudER1cGxpY2F0ZUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1NYW5hZ2VtZW50Um91dGluZ01vZHVsZSxcbiAgICBGb3JtSW9Nb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgV2lkZ2V0TW9kdWxlLFxuICAgIExpc3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIE5nYlRvb2x0aXBNb2R1bGUsXG4gICAgRHJvcHpvbmVNb2R1bGUsXG4gICAgTW9kYWxNb2R1bGUsXG4gICAgdk1vZGFsTW9kdWxlLFxuICAgIHZjTW9kYWxNb2R1bGUsXG4gICAgdklucHV0TW9kdWxlLFxuICAgIFRpdGxlTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBGb3JtTW9kdWxlLFxuICAgIE1vZGFsTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIFBsYWNlaG9sZGVyTW9kdWxlLFxuICAgIGNCdXR0b25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtGb3JtTWFuYWdlbWVudENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1NYW5hZ2VtZW50TW9kdWxlIHt9XG4iXX0=
|