@valtimo/form-management 10.5.1 → 10.6.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.
@@ -77,12 +77,12 @@ export class FormManagementDuplicateComponent extends BaseModal {
77
77
  }
78
78
  }
79
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-2023 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-2023 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" }] });
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-2023 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\n valtimoIbmModal\n [open]=\"open\"\n (overlaySelected)=\"closeModal()\"\n [formGroup]=\"duplicateForm\"\n>\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-2023 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: "directive", type: i3.ValtimoIbmModalDirective, selector: "[valtimoIbmModal]" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
81
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementDuplicateComponent, decorators: [{
82
82
  type: Component,
83
- args: [{ selector: 'valtimo-form-management-duplicate-modal', template: "<!--\n ~ Copyright 2015-2023 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-2023 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"] }]
83
+ args: [{ selector: 'valtimo-form-management-duplicate-modal', template: "<!--\n ~ Copyright 2015-2023 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\n valtimoIbmModal\n [open]=\"open\"\n (overlaySelected)=\"closeModal()\"\n [formGroup]=\"duplicateForm\"\n>\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-2023 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
84
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
85
85
  type: Inject,
86
86
  args: ['formToDuplicate']
87
87
  }] }, { type: i1.ModalService }, { type: i2.FormManagementService }, { type: i3.AlertService }, { type: i4.ActivatedRoute }, { type: i4.Router }]; } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUvZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUvZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BDLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUkxRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7OztBQU9uRixNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsU0FBUztJQVM3RCxZQUNvQyxlQUFlLEVBQ3ZDLFlBQTBCLEVBQzFCLHFCQUE0QyxFQUM5QyxZQUEwQixFQUN4QixLQUFxQixFQUN2QixNQUFjO1FBRXRCLEtBQUssRUFBRSxDQUFDO1FBUDBCLG9CQUFlLEdBQWYsZUFBZSxDQUFBO1FBQ3ZDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDOUMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWR4QixrQkFBYSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzVCLGlCQUFpQixFQUFFLElBQUksV0FBVyxDQUNoQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDekMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUN2RDtTQUNGLENBQUMsQ0FBQztRQVdELElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0sU0FBUztRQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUV2QyxNQUFNLE9BQU8sR0FBZ0M7WUFDM0MsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQzlCLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDO1NBQ3BFLENBQUM7UUFDRixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDO1lBQ3hELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVztTQUN2QixDQUFDO2FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FDUixDQUFDLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsTUFBTTtpQkFDUixhQUFhLENBQUMseUJBQXlCLGNBQWMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztpQkFDM0QsSUFBSSxDQUFDLFVBQVUsTUFBTTtnQkFDcEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRTtZQUNKLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUM3QyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO0lBQ2xELENBQUM7OzhIQTFEVSxnQ0FBZ0Msa0JBVWpDLGlCQUFpQjtrSEFWaEIsZ0NBQWdDLHNHQ2pDN0MsOC9EQW9EQTs0RkRuQmEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLHlDQUF5Qzs7MEJBY2hELE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01vZGFsU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vdXNlci1pbnRlcmZhY2UnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NyZWF0ZUZvcm1EZWZpbml0aW9uUmVxdWVzdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7QmFzZU1vZGFsfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL21vZGFsJztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi9mb3JtLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge25vRHVwbGljYXRlRm9ybVZhbGlkYXRvcn0gZnJvbSAnLi4vdmFsaWRhdG9ycy9uby1kdXBsaWNhdGUtZm9ybS52YWxpZGF0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWZvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZW1lbnREdXBsaWNhdGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlTW9kYWwge1xuICBkdXBsaWNhdGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgZHVwbGljYXRlRm9ybU5hbWU6IG5ldyBGb3JtQ29udHJvbChcbiAgICAgIHRoaXMuZ2V0RGVmYXVsdE5hbWUoKSxcbiAgICAgIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgW25vRHVwbGljYXRlRm9ybVZhbGlkYXRvcih0aGlzLmZvcm1NYW5hZ2VtZW50U2VydmljZSldXG4gICAgKSxcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnZm9ybVRvRHVwbGljYXRlJykgcHVibGljIGZvcm1Ub0R1cGxpY2F0ZSxcbiAgICBwcm90ZWN0ZWQgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGZvcm1NYW5hZ2VtZW50U2VydmljZTogRm9ybU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kdXBsaWNhdGVGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBkdXBsaWNhdGUoKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZHVwbGljYXRlRm9ybU5hbWU7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBDcmVhdGVGb3JtRGVmaW5pdGlvblJlcXVlc3QgPSB7XG4gICAgICBuYW1lOiBjb250cm9sLnZhbHVlLnRvU3RyaW5nKCksXG4gICAgICBmb3JtRGVmaW5pdGlvbjogSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtVG9EdXBsaWNhdGUuZm9ybURlZmluaXRpb24pLFxuICAgIH07XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmZvcm1NYW5hZ2VtZW50U2VydmljZS5jcmVhdGVGb3JtRGVmaW5pdGlvbihyZXF1ZXN0KSxcbiAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMsXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoW2Zvcm1EZWZpbml0aW9uLCBwYXJhbXNdKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcygnQ3JlYXRlZCBuZXcgRm9ybScpO1xuICAgICAgICAgIHRoaXMucm91dGVyXG4gICAgICAgICAgICAubmF2aWdhdGVCeVVybChgL2Zvcm0tbWFuYWdlbWVudC9lZGl0LyR7Zm9ybURlZmluaXRpb24uaWR9YClcbiAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgaWYgKGVyci50b1N0cmluZygpLmluY2x1ZGVzKCdEdXBsaWNhdGUgbmFtZScpKSB7XG4gICAgICAgICAgICBjb250cm9sLnNldEVycm9ycyh7ZHVwbGljYXRlOiB0cnVlfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKHtpbmNvcnJlY3Q6IHRydWV9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXQgZHVwbGljYXRlRm9ybU5hbWUoKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmR1cGxpY2F0ZUZvcm0uY29udHJvbHNbJ2R1cGxpY2F0ZUZvcm1OYW1lJ107XG4gIH1cblxuICBwdWJsaWMgZ2V0RGVmYXVsdE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVG9EdXBsaWNhdGUubmFtZSArICctZHVwbGljYXRlJztcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuPGlibS1tb2RhbCBbb3Blbl09XCJvcGVuXCIgKG92ZXJsYXlTZWxlY3RlZCk9XCJjbG9zZU1vZGFsKClcIiBbZm9ybUdyb3VwXT1cImR1cGxpY2F0ZUZvcm1cIj5cbiAgPGlibS1tb2RhbC1oZWFkZXIgKGNsb3NlU2VsZWN0KT1cImNsb3NlTW9kYWwoKVwiPnt7XG4gICAgJ2Zvcm1NYW5hZ2VtZW50LmR1cGxpY2F0ZScgfCB0cmFuc2xhdGVcbiAgfX08L2libS1tb2RhbC1oZWFkZXI+XG4gIDxzZWN0aW9uIGNsYXNzPVwiYngtLW1vZGFsLWNvbnRlbnQgcC0yXCI+XG4gICAgPGlibS1sYWJlbCBsYWJlbFN0YXRlPVwiZXJyb3JcIj5cbiAgICAgIHt7ICdmb3JtTWFuYWdlbWVudC5uYW1lJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGlucHV0IGlibVRleHQgZm9ybUNvbnRyb2xOYW1lPVwiZHVwbGljYXRlRm9ybU5hbWVcIiBbaW52YWxpZF09XCJkdXBsaWNhdGVGb3JtTmFtZS5pbnZhbGlkXCIgLz5cbiAgICA8L2libS1sYWJlbD5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImR1cGxpY2F0ZUZvcm1OYW1lLmludmFsaWQgJiYgKGR1cGxpY2F0ZUZvcm1OYW1lLmRpcnR5IHx8IGR1cGxpY2F0ZUZvcm1OYW1lLnRvdWNoZWQpXCJcbiAgICAgIGNsYXNzPVwiYmctd2FybmluZyB0ZXh0LWJsYWNrIG1iLTAgcC0yIHBsLTMgcHItM1wiXG4gICAgICByb2xlPVwiYWxlcnRcIlxuICAgID5cbiAgICAgIDxkaXYgKm5nSWY9XCJkdXBsaWNhdGVGb3JtTmFtZS5lcnJvcnMucmVxdWlyZWRcIj5cbiAgICAgICAge3sgJ2Zvcm1NYW5hZ2VtZW50Lm5hbWVJc1JlcXVpcmVkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZHVwbGljYXRlRm9ybU5hbWUuZXJyb3JzLmR1cGxpY2F0ZVwiPlxuICAgICAgICB7eyAnZm9ybU1hbmFnZW1lbnQubmFtZUlzSW5Vc2UnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8aWJtLW1vZGFsLWZvb3Rlcj5cbiAgICA8YnV0dG9uIGlibUJ1dHRvbj1cInNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj5cbiAgICAgIHt7ICdpbnRlcmZhY2UuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGlibUJ1dHRvbj1cInByaW1hcnlcIlxuICAgICAgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCJcbiAgICAgIG1vZGFsLXByaW1hcnktZm9jdXNcbiAgICAgIChjbGljayk9XCJkdXBsaWNhdGUoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZHVwbGljYXRlRm9ybS5pbnZhbGlkXCJcbiAgICA+XG4gICAgICB7eyAnZm9ybU1hbmFnZW1lbnQuc3VibWl0JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2libS1tb2RhbC1mb290ZXI+XG48L2libS1tb2RhbD5cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUvZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Zvcm0tbWFuYWdlbWVudC9zcmMvbGliL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUvZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BDLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUkxRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7OztBQU9uRixNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsU0FBUztJQVM3RCxZQUNvQyxlQUFlLEVBQ3ZDLFlBQTBCLEVBQzFCLHFCQUE0QyxFQUM5QyxZQUEwQixFQUN4QixLQUFxQixFQUN2QixNQUFjO1FBRXRCLEtBQUssRUFBRSxDQUFDO1FBUDBCLG9CQUFlLEdBQWYsZUFBZSxDQUFBO1FBQ3ZDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDOUMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWR4QixrQkFBYSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzVCLGlCQUFpQixFQUFFLElBQUksV0FBVyxDQUNoQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDekMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUN2RDtTQUNGLENBQUMsQ0FBQztRQVdELElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0sU0FBUztRQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUV2QyxNQUFNLE9BQU8sR0FBZ0M7WUFDM0MsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQzlCLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDO1NBQ3BFLENBQUM7UUFDRixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDO1lBQ3hELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVztTQUN2QixDQUFDO2FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FDUixDQUFDLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsTUFBTTtpQkFDUixhQUFhLENBQUMseUJBQXlCLGNBQWMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztpQkFDM0QsSUFBSSxDQUFDLFVBQVUsTUFBTTtnQkFDcEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRTtZQUNKLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUM3QyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO0lBQ2xELENBQUM7OzhIQTFEVSxnQ0FBZ0Msa0JBVWpDLGlCQUFpQjtrSEFWaEIsZ0NBQWdDLHNHQ2pDN0MsNGhFQXlEQTs0RkR4QmEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLHlDQUF5Qzs7MEJBY2hELE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01vZGFsU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vdXNlci1pbnRlcmZhY2UnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NyZWF0ZUZvcm1EZWZpbml0aW9uUmVxdWVzdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7QmFzZU1vZGFsfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL21vZGFsJztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi9mb3JtLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge25vRHVwbGljYXRlRm9ybVZhbGlkYXRvcn0gZnJvbSAnLi4vdmFsaWRhdG9ycy9uby1kdXBsaWNhdGUtZm9ybS52YWxpZGF0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWZvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZW1lbnREdXBsaWNhdGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlTW9kYWwge1xuICBkdXBsaWNhdGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgZHVwbGljYXRlRm9ybU5hbWU6IG5ldyBGb3JtQ29udHJvbChcbiAgICAgIHRoaXMuZ2V0RGVmYXVsdE5hbWUoKSxcbiAgICAgIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgW25vRHVwbGljYXRlRm9ybVZhbGlkYXRvcih0aGlzLmZvcm1NYW5hZ2VtZW50U2VydmljZSldXG4gICAgKSxcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnZm9ybVRvRHVwbGljYXRlJykgcHVibGljIGZvcm1Ub0R1cGxpY2F0ZSxcbiAgICBwcm90ZWN0ZWQgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGZvcm1NYW5hZ2VtZW50U2VydmljZTogRm9ybU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kdXBsaWNhdGVGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBkdXBsaWNhdGUoKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZHVwbGljYXRlRm9ybU5hbWU7XG5cbiAgICBjb25zdCByZXF1ZXN0OiBDcmVhdGVGb3JtRGVmaW5pdGlvblJlcXVlc3QgPSB7XG4gICAgICBuYW1lOiBjb250cm9sLnZhbHVlLnRvU3RyaW5nKCksXG4gICAgICBmb3JtRGVmaW5pdGlvbjogSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtVG9EdXBsaWNhdGUuZm9ybURlZmluaXRpb24pLFxuICAgIH07XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmZvcm1NYW5hZ2VtZW50U2VydmljZS5jcmVhdGVGb3JtRGVmaW5pdGlvbihyZXF1ZXN0KSxcbiAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMsXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoW2Zvcm1EZWZpbml0aW9uLCBwYXJhbXNdKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcygnQ3JlYXRlZCBuZXcgRm9ybScpO1xuICAgICAgICAgIHRoaXMucm91dGVyXG4gICAgICAgICAgICAubmF2aWdhdGVCeVVybChgL2Zvcm0tbWFuYWdlbWVudC9lZGl0LyR7Zm9ybURlZmluaXRpb24uaWR9YClcbiAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgaWYgKGVyci50b1N0cmluZygpLmluY2x1ZGVzKCdEdXBsaWNhdGUgbmFtZScpKSB7XG4gICAgICAgICAgICBjb250cm9sLnNldEVycm9ycyh7ZHVwbGljYXRlOiB0cnVlfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKHtpbmNvcnJlY3Q6IHRydWV9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXQgZHVwbGljYXRlRm9ybU5hbWUoKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmR1cGxpY2F0ZUZvcm0uY29udHJvbHNbJ2R1cGxpY2F0ZUZvcm1OYW1lJ107XG4gIH1cblxuICBwdWJsaWMgZ2V0RGVmYXVsdE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVG9EdXBsaWNhdGUubmFtZSArICctZHVwbGljYXRlJztcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuPGlibS1tb2RhbFxuICB2YWx0aW1vSWJtTW9kYWxcbiAgW29wZW5dPVwib3BlblwiXG4gIChvdmVybGF5U2VsZWN0ZWQpPVwiY2xvc2VNb2RhbCgpXCJcbiAgW2Zvcm1Hcm91cF09XCJkdXBsaWNhdGVGb3JtXCJcbj5cbiAgPGlibS1tb2RhbC1oZWFkZXIgKGNsb3NlU2VsZWN0KT1cImNsb3NlTW9kYWwoKVwiPnt7XG4gICAgJ2Zvcm1NYW5hZ2VtZW50LmR1cGxpY2F0ZScgfCB0cmFuc2xhdGVcbiAgfX08L2libS1tb2RhbC1oZWFkZXI+XG4gIDxzZWN0aW9uIGNsYXNzPVwiYngtLW1vZGFsLWNvbnRlbnQgcC0yXCI+XG4gICAgPGlibS1sYWJlbCBsYWJlbFN0YXRlPVwiZXJyb3JcIj5cbiAgICAgIHt7ICdmb3JtTWFuYWdlbWVudC5uYW1lJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGlucHV0IGlibVRleHQgZm9ybUNvbnRyb2xOYW1lPVwiZHVwbGljYXRlRm9ybU5hbWVcIiBbaW52YWxpZF09XCJkdXBsaWNhdGVGb3JtTmFtZS5pbnZhbGlkXCIgLz5cbiAgICA8L2libS1sYWJlbD5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImR1cGxpY2F0ZUZvcm1OYW1lLmludmFsaWQgJiYgKGR1cGxpY2F0ZUZvcm1OYW1lLmRpcnR5IHx8IGR1cGxpY2F0ZUZvcm1OYW1lLnRvdWNoZWQpXCJcbiAgICAgIGNsYXNzPVwiYmctd2FybmluZyB0ZXh0LWJsYWNrIG1iLTAgcC0yIHBsLTMgcHItM1wiXG4gICAgICByb2xlPVwiYWxlcnRcIlxuICAgID5cbiAgICAgIDxkaXYgKm5nSWY9XCJkdXBsaWNhdGVGb3JtTmFtZS5lcnJvcnMucmVxdWlyZWRcIj5cbiAgICAgICAge3sgJ2Zvcm1NYW5hZ2VtZW50Lm5hbWVJc1JlcXVpcmVkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZHVwbGljYXRlRm9ybU5hbWUuZXJyb3JzLmR1cGxpY2F0ZVwiPlxuICAgICAgICB7eyAnZm9ybU1hbmFnZW1lbnQubmFtZUlzSW5Vc2UnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuICA8aWJtLW1vZGFsLWZvb3Rlcj5cbiAgICA8YnV0dG9uIGlibUJ1dHRvbj1cInNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj5cbiAgICAgIHt7ICdpbnRlcmZhY2UuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGlibUJ1dHRvbj1cInByaW1hcnlcIlxuICAgICAgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCJcbiAgICAgIG1vZGFsLXByaW1hcnktZm9jdXNcbiAgICAgIChjbGljayk9XCJkdXBsaWNhdGUoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZHVwbGljYXRlRm9ybS5pbnZhbGlkXCJcbiAgICA+XG4gICAgICB7eyAnZm9ybU1hbmFnZW1lbnQuc3VibWl0JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2libS1tb2RhbC1mb290ZXI+XG48L2libS1tb2RhbD5cbiJdfQ==
@@ -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 as vcModalModule, WidgetModule, } from '@valtimo/components';
19
+ import { DropzoneModule, FormIoModule, ListModule, ModalModule as vcModalModule, ValtimoIbmModalDirectiveModule, 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';
@@ -58,7 +58,8 @@ FormManagementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
58
58
  ModalModule,
59
59
  InputModule,
60
60
  PlaceholderModule,
61
- cButtonModule], exports: [FormManagementComponent] });
61
+ cButtonModule,
62
+ ValtimoIbmModalDirectiveModule], exports: [FormManagementComponent] });
62
63
  FormManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementModule, imports: [FormManagementRoutingModule,
63
64
  FormIoModule,
64
65
  CommonModule,
@@ -80,7 +81,8 @@ FormManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
80
81
  ModalModule,
81
82
  InputModule,
82
83
  PlaceholderModule,
83
- cButtonModule] });
84
+ cButtonModule,
85
+ ValtimoIbmModalDirectiveModule] });
84
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementModule, decorators: [{
85
87
  type: NgModule,
86
88
  args: [{
@@ -115,8 +117,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
115
117
  InputModule,
116
118
  PlaceholderModule,
117
119
  cButtonModule,
120
+ ValtimoIbmModalDirectiveModule,
118
121
  ],
119
122
  exports: [FormManagementComponent],
120
123
  }]
121
124
  }] });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZm9ybS1tYW5hZ2VtZW50L3NyYy9saWIvZm9ybS1tYW5hZ2VtZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUNMLGNBQWMsRUFDZCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsSUFBSSxhQUFhLEVBQzVCLFlBQVksR0FDYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDeEcsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbEcsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbEcsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ2pILE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsSUFBSSxZQUFZLEVBQzNCLFdBQVcsSUFBSSxZQUFZLEVBQzNCLFdBQVcsR0FDWixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDTCxZQUFZLElBQUksYUFBYSxFQUM3QixXQUFXLEVBQ1gsV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLDJCQUEyQixDQUFDOztBQXFDbkMsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLGlCQWpDN0IsdUJBQXVCO1FBQ3ZCLDZCQUE2QjtRQUM3QiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLDZCQUE2QjtRQUM3QixnQ0FBZ0MsYUFHaEMsMkJBQTJCO1FBQzNCLFlBQVk7UUFDWixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxZQUFZO1FBQ1osVUFBVTtRQUNWLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLFdBQVc7UUFDWCxZQUFZO1FBQ1osYUFBYTtRQUNiLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTtRQUNaLFdBQVc7UUFDWCxVQUFVO1FBQ1YsV0FBVztRQUNYLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsYUFBYSxhQUVMLHVCQUF1QjttSEFFdEIsb0JBQW9CLFlBekI3QiwyQkFBMkI7UUFDM0IsWUFBWTtRQUNaLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLFlBQVk7UUFDWixVQUFVO1FBQ1YsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsV0FBVztRQUNYLFlBQVk7UUFDWixhQUFhO1FBQ2IsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osV0FBVztRQUNYLFVBQVU7UUFDVixXQUFXO1FBQ1gsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixhQUFhOzRGQUlKLG9CQUFvQjtrQkFuQ2hDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3dCQUM3QiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3QixnQ0FBZ0M7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDUCwyQkFBMkI7d0JBQzNCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudENvbXBvbmVudH0gZnJvbSAnLi9mb3JtLW1hbmFnZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlfSBmcm9tICcuL2Zvcm0tbWFuYWdlbWVudC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQge1xuICBEcm9wem9uZU1vZHVsZSxcbiAgRm9ybUlvTW9kdWxlLFxuICBMaXN0TW9kdWxlLFxuICBNb2RhbE1vZHVsZSBhcyB2Y01vZGFsTW9kdWxlLFxuICBXaWRnZXRNb2R1bGUsXG59IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Zvcm1NYW5hZ2VtZW50Q3JlYXRlQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0tbWFuYWdlbWVudC1jcmVhdGUvZm9ybS1tYW5hZ2VtZW50LWNyZWF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudExpc3RDb21wb25lbnR9IGZyb20gJy4vZm9ybS1tYW5hZ2VtZW50LWxpc3QvZm9ybS1tYW5hZ2VtZW50LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRFZGl0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm0tbWFuYWdlbWVudC1lZGl0L2Zvcm0tbWFuYWdlbWVudC1lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge05nYlRvb2x0aXBNb2R1bGV9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRVcGxvYWRDb21wb25lbnR9IGZyb20gJy4vZm9ybS1tYW5hZ2VtZW50LXVwbG9hZC9mb3JtLW1hbmFnZW1lbnQtdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1NYW5hZ2VtZW50RHVwbGljYXRlQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUvZm9ybS1tYW5hZ2VtZW50LWR1cGxpY2F0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQnV0dG9uTW9kdWxlLFxuICBGb3JtTW9kdWxlLFxuICBJbnB1dE1vZHVsZSBhcyB2SW5wdXRNb2R1bGUsXG4gIE1vZGFsTW9kdWxlIGFzIHZNb2RhbE1vZHVsZSxcbiAgVGl0bGVNb2R1bGUsXG59IGZyb20gJ0B2YWx0aW1vL3VzZXItaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSBhcyBjQnV0dG9uTW9kdWxlLFxuICBJbnB1dE1vZHVsZSxcbiAgTW9kYWxNb2R1bGUsXG4gIFBsYWNlaG9sZGVyTW9kdWxlLFxufSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRm9ybU1hbmFnZW1lbnRDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZW1lbnRDcmVhdGVDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZW1lbnRMaXN0Q29tcG9uZW50LFxuICAgIEZvcm1NYW5hZ2VtZW50RWRpdENvbXBvbmVudCxcbiAgICBGb3JtTWFuYWdlbWVudFVwbG9hZENvbXBvbmVudCxcbiAgICBGb3JtTWFuYWdlbWVudER1cGxpY2F0ZUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1NYW5hZ2VtZW50Um91dGluZ01vZHVsZSxcbiAgICBGb3JtSW9Nb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgV2lkZ2V0TW9kdWxlLFxuICAgIExpc3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIE5nYlRvb2x0aXBNb2R1bGUsXG4gICAgRHJvcHpvbmVNb2R1bGUsXG4gICAgTW9kYWxNb2R1bGUsXG4gICAgdk1vZGFsTW9kdWxlLFxuICAgIHZjTW9kYWxNb2R1bGUsXG4gICAgdklucHV0TW9kdWxlLFxuICAgIFRpdGxlTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBGb3JtTW9kdWxlLFxuICAgIE1vZGFsTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIFBsYWNlaG9sZGVyTW9kdWxlLFxuICAgIGNCdXR0b25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtGb3JtTWFuYWdlbWVudENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1NYW5hZ2VtZW50TW9kdWxlIHt9XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZm9ybS1tYW5hZ2VtZW50L3NyYy9saWIvZm9ybS1tYW5hZ2VtZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUNMLGNBQWMsRUFDZCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsSUFBSSxhQUFhLEVBQzVCLDhCQUE4QixFQUM5QixZQUFZLEdBQ2IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUN4RyxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUNqSCxPQUFPLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLElBQUksWUFBWSxFQUMzQixXQUFXLElBQUksWUFBWSxFQUMzQixXQUFXLEdBQ1osTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsWUFBWSxJQUFJLGFBQWEsRUFDN0IsV0FBVyxFQUNYLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSwyQkFBMkIsQ0FBQzs7QUFzQ25DLE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixpQkFsQzdCLHVCQUF1QjtRQUN2Qiw2QkFBNkI7UUFDN0IsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQiw2QkFBNkI7UUFDN0IsZ0NBQWdDLGFBR2hDLDJCQUEyQjtRQUMzQixZQUFZO1FBQ1osWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsWUFBWTtRQUNaLFVBQVU7UUFDVixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxXQUFXO1FBQ1gsWUFBWTtRQUNaLGFBQWE7UUFDYixZQUFZO1FBQ1osV0FBVztRQUNYLFlBQVk7UUFDWixXQUFXO1FBQ1gsVUFBVTtRQUNWLFdBQVc7UUFDWCxXQUFXO1FBQ1gsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYiw4QkFBOEIsYUFFdEIsdUJBQXVCO21IQUV0QixvQkFBb0IsWUExQjdCLDJCQUEyQjtRQUMzQixZQUFZO1FBQ1osWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsWUFBWTtRQUNaLFVBQVU7UUFDVixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxXQUFXO1FBQ1gsWUFBWTtRQUNaLGFBQWE7UUFDYixZQUFZO1FBQ1osV0FBVztRQUNYLFlBQVk7UUFDWixXQUFXO1FBQ1gsVUFBVTtRQUNWLFdBQVc7UUFDWCxXQUFXO1FBQ1gsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYiw4QkFBOEI7NEZBSXJCLG9CQUFvQjtrQkFwQ2hDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3dCQUM3QiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3QixnQ0FBZ0M7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDUCwyQkFBMkI7d0JBQzNCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1NYW5hZ2VtZW50Q29tcG9uZW50fSBmcm9tICcuL2Zvcm0tbWFuYWdlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudFJvdXRpbmdNb2R1bGV9IGZyb20gJy4vZm9ybS1tYW5hZ2VtZW50LXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7XG4gIERyb3B6b25lTW9kdWxlLFxuICBGb3JtSW9Nb2R1bGUsXG4gIExpc3RNb2R1bGUsXG4gIE1vZGFsTW9kdWxlIGFzIHZjTW9kYWxNb2R1bGUsXG4gIFZhbHRpbW9JYm1Nb2RhbERpcmVjdGl2ZU1vZHVsZSxcbiAgV2lkZ2V0TW9kdWxlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudENyZWF0ZUNvbXBvbmVudH0gZnJvbSAnLi9mb3JtLW1hbmFnZW1lbnQtY3JlYXRlL2Zvcm0tbWFuYWdlbWVudC1jcmVhdGUuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRMaXN0Q29tcG9uZW50fSBmcm9tICcuL2Zvcm0tbWFuYWdlbWVudC1saXN0L2Zvcm0tbWFuYWdlbWVudC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1NYW5hZ2VtZW50RWRpdENvbXBvbmVudH0gZnJvbSAnLi9mb3JtLW1hbmFnZW1lbnQtZWRpdC9mb3JtLW1hbmFnZW1lbnQtZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtOZ2JUb29sdGlwTW9kdWxlfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQge0Zvcm1NYW5hZ2VtZW50VXBsb2FkQ29tcG9uZW50fSBmcm9tICcuL2Zvcm0tbWFuYWdlbWVudC11cGxvYWQvZm9ybS1tYW5hZ2VtZW50LXVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudER1cGxpY2F0ZUNvbXBvbmVudH0gZnJvbSAnLi9mb3JtLW1hbmFnZW1lbnQtZHVwbGljYXRlL2Zvcm0tbWFuYWdlbWVudC1kdXBsaWNhdGUuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSxcbiAgRm9ybU1vZHVsZSxcbiAgSW5wdXRNb2R1bGUgYXMgdklucHV0TW9kdWxlLFxuICBNb2RhbE1vZHVsZSBhcyB2TW9kYWxNb2R1bGUsXG4gIFRpdGxlTW9kdWxlLFxufSBmcm9tICdAdmFsdGltby91c2VyLWludGVyZmFjZSc7XG5pbXBvcnQge1xuICBCdXR0b25Nb2R1bGUgYXMgY0J1dHRvbk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIE1vZGFsTW9kdWxlLFxuICBQbGFjZWhvbGRlck1vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZvcm1NYW5hZ2VtZW50Q29tcG9uZW50LFxuICAgIEZvcm1NYW5hZ2VtZW50Q3JlYXRlQ29tcG9uZW50LFxuICAgIEZvcm1NYW5hZ2VtZW50TGlzdENvbXBvbmVudCxcbiAgICBGb3JtTWFuYWdlbWVudEVkaXRDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZW1lbnRVcGxvYWRDb21wb25lbnQsXG4gICAgRm9ybU1hbmFnZW1lbnREdXBsaWNhdGVDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBGb3JtTWFuYWdlbWVudFJvdXRpbmdNb2R1bGUsXG4gICAgRm9ybUlvTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFdpZGdldE1vZHVsZSxcbiAgICBMaXN0TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBOZ2JUb29sdGlwTW9kdWxlLFxuICAgIERyb3B6b25lTW9kdWxlLFxuICAgIE1vZGFsTW9kdWxlLFxuICAgIHZNb2RhbE1vZHVsZSxcbiAgICB2Y01vZGFsTW9kdWxlLFxuICAgIHZJbnB1dE1vZHVsZSxcbiAgICBUaXRsZU1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgRm9ybU1vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBQbGFjZWhvbGRlck1vZHVsZSxcbiAgICBjQnV0dG9uTW9kdWxlLFxuICAgIFZhbHRpbW9JYm1Nb2RhbERpcmVjdGl2ZU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW0Zvcm1NYW5hZ2VtZW50Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1hbmFnZW1lbnRNb2R1bGUge31cbiJdfQ==
@@ -6,7 +6,7 @@ import { ROLE_ADMIN } from '@valtimo/config';
6
6
  import * as i3 from '@angular/router';
7
7
  import { RouterModule } from '@angular/router';
8
8
  import * as i4 from '@valtimo/components';
9
- import { FormIoModule, WidgetModule, ListModule, DropzoneModule, ModalModule as ModalModule$2 } from '@valtimo/components';
9
+ import { FormIoModule, WidgetModule, ListModule, DropzoneModule, ModalModule as ModalModule$2, ValtimoIbmModalDirectiveModule } from '@valtimo/components';
10
10
  import * as i2$1 from '@ngx-translate/core';
11
11
  import { TranslateModule } from '@ngx-translate/core';
12
12
  import { AuthGuardService } from '@valtimo/security';
@@ -325,10 +325,10 @@ class FormManagementDuplicateComponent extends BaseModal {
325
325
  }
326
326
  }
327
327
  FormManagementDuplicateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementDuplicateComponent, deps: [{ token: 'formToDuplicate' }, { token: i1$1.ModalService }, { token: FormManagementService }, { token: i4.AlertService }, { token: i3.ActivatedRoute }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
328
- 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-2023 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-2023 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: i2$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.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: i2$1.TranslatePipe, name: "translate" }] });
328
+ 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-2023 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\n valtimoIbmModal\n [open]=\"open\"\n (overlaySelected)=\"closeModal()\"\n [formGroup]=\"duplicateForm\"\n>\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-2023 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: i2$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.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: "directive", type: i4.ValtimoIbmModalDirective, selector: "[valtimoIbmModal]" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
329
329
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementDuplicateComponent, decorators: [{
330
330
  type: Component,
331
- args: [{ selector: 'valtimo-form-management-duplicate-modal', template: "<!--\n ~ Copyright 2015-2023 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-2023 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"] }]
331
+ args: [{ selector: 'valtimo-form-management-duplicate-modal', template: "<!--\n ~ Copyright 2015-2023 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\n valtimoIbmModal\n [open]=\"open\"\n (overlaySelected)=\"closeModal()\"\n [formGroup]=\"duplicateForm\"\n>\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-2023 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"] }]
332
332
  }], ctorParameters: function () {
333
333
  return [{ type: undefined, decorators: [{
334
334
  type: Inject,
@@ -718,7 +718,8 @@ FormManagementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
718
718
  ModalModule,
719
719
  InputModule$1,
720
720
  PlaceholderModule,
721
- ButtonModule$1], exports: [FormManagementComponent] });
721
+ ButtonModule$1,
722
+ ValtimoIbmModalDirectiveModule], exports: [FormManagementComponent] });
722
723
  FormManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementModule, imports: [FormManagementRoutingModule,
723
724
  FormIoModule,
724
725
  CommonModule,
@@ -740,7 +741,8 @@ FormManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
740
741
  ModalModule,
741
742
  InputModule$1,
742
743
  PlaceholderModule,
743
- ButtonModule$1] });
744
+ ButtonModule$1,
745
+ ValtimoIbmModalDirectiveModule] });
744
746
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementModule, decorators: [{
745
747
  type: NgModule,
746
748
  args: [{
@@ -775,6 +777,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
775
777
  InputModule$1,
776
778
  PlaceholderModule,
777
779
  ButtonModule$1,
780
+ ValtimoIbmModalDirectiveModule,
778
781
  ],
779
782
  exports: [FormManagementComponent],
780
783
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-form-management.mjs","sources":["../../../../projects/valtimo/form-management/src/lib/form-management.service.ts","../../../../projects/valtimo/form-management/src/lib/form-management-list/form-management-list.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-list/form-management-list.component.html","../../../../projects/valtimo/form-management/src/lib/form-management.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management.component.html","../../../../projects/valtimo/form-management/src/lib/validators/no-duplicate-form.validator.ts","../../../../projects/valtimo/form-management/src/lib/form-management-create/form-management-create.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-create/form-management-create.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-duplicate/form-management-duplicate.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-duplicate/form-management-duplicate.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-upload/form-management-upload.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-upload/form-management-upload.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-edit/form-management-edit.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-edit/form-management-edit.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-routing.module.ts","../../../../projects/valtimo/form-management/src/lib/form-management.module.ts","../../../../projects/valtimo/form-management/src/lib/models/form-definition.model.ts","../../../../projects/valtimo/form-management/src/lib/models/index.ts","../../../../projects/valtimo/form-management/src/public-api.ts","../../../../projects/valtimo/form-management/src/valtimo-form-management.ts"],"sourcesContent":["/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {CreateFormDefinitionRequest, FormDefinition, ModifyFormDefinitionRequest} from './models';\nimport {Observable} from 'rxjs';\nimport {ConfigService} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FormManagementService {\n private valtimoApiConfig: any;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n getFormDefinition(formDefinitionId: string): Observable<FormDefinition> {\n return this.http.get<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/${formDefinitionId}`\n );\n }\n\n existsFormDefinition(formDefinitionName: string): Observable<boolean> {\n return this.http.get<boolean>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/exists/${formDefinitionName}`\n );\n }\n\n queryFormDefinitions(params?: any): Observable<any> {\n return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/form-management`, {\n observe: 'response',\n params,\n });\n }\n\n createFormDefinition(request: CreateFormDefinitionRequest): Observable<FormDefinition> {\n return this.http.post<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management`,\n request\n );\n }\n\n modifyFormDefinition(request: ModifyFormDefinitionRequest): Observable<FormDefinition> {\n return this.http.put<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management`,\n request\n );\n }\n\n deleteFormDefinition(formDefinitionId: string): Observable<void> {\n return this.http.delete<void>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/${formDefinitionId}`\n );\n }\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {FormDefinition} from '../models';\nimport {FormManagementService} from '../form-management.service';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'valtimo-form-management-list',\n templateUrl: './form-management-list.component.html',\n styleUrls: ['./form-management-list.component.scss'],\n})\nexport class FormManagementListComponent implements OnInit {\n public formDefinitions: FormDefinition[] = [];\n public formDefinitionFields: any[] = [\n {key: 'name', label: 'Name'},\n {key: 'readOnly', label: 'Read-only'},\n ];\n public pagination = {\n collectionSize: 0,\n page: 1,\n size: 10,\n maxPaginationItemSize: 5,\n };\n public pageParam = 0;\n\n public paginationClicked(page) {\n this.pageParam = page - 1;\n this.loadFormDefinitions();\n }\n\n constructor(private formManagementService: FormManagementService, private router: Router) {}\n\n ngOnInit() {}\n\n paginationSet() {\n this.loadFormDefinitions();\n }\n\n loadFormDefinitions(searchTerm?: string) {\n const params = {page: this.pageParam, size: this.pagination.size};\n if (searchTerm) {\n params['searchTerm'] = searchTerm;\n }\n this.formManagementService.queryFormDefinitions(params).subscribe(results => {\n this.pagination.collectionSize = results.body.totalElements;\n this.formDefinitions = results.body.content;\n });\n }\n\n editFormDefinition(formDefinition: FormDefinition) {\n this.router.navigate(['/form-management/edit', formDefinition.id]);\n }\n\n searchTermEntered(searchTerm: string) {\n this.loadFormDefinitions(searchTerm);\n }\n}\n","<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-list\n [items]=\"formDefinitions\"\n [fields]=\"formDefinitionFields\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"formManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet()\"\n (rowClicked)=\"editFormDefinition($event)\"\n [header]=\"true\"\n (search)=\"searchTermEntered($event)\"\n>\n <div header>\n <h3 class=\"list-header-title\">{{ 'Forms' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'Overview of all Forms' | translate }}</h5>\n </div>\n</valtimo-list>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'valtimo-form-management',\n templateUrl: './form-management.component.html',\n styleUrls: ['./form-management.component.scss'],\n})\nexport class FormManagementComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n","<!--\n ~ Copyright 2015-2023 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\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button\n [routerLink]=\"'create'\"\n [queryParams]=\"{upload: 'true'}\"\n class=\"btn btn-secondary btn-space\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload' | translate }}\n </button>\n <button [routerLink]=\"'create'\" class=\"btn btn-primary btn-space mr-0\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n <span>{{ 'Create new Form' | translate }}</span>\n </button>\n </div>\n </div>\n <valtimo-widget>\n <valtimo-form-management-list></valtimo-form-management-list>\n </valtimo-widget>\n </div>\n</div>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {FormManagementService} from '../form-management.service';\nimport {AbstractControl, AsyncValidatorFn, ValidationErrors} from '@angular/forms';\nimport {map, Observable} from 'rxjs';\n\nexport function noDuplicateFormValidator(\n formManagementService: FormManagementService\n): AsyncValidatorFn {\n return (control: AbstractControl): Observable<ValidationErrors> =>\n formManagementService\n .existsFormDefinition(control.value.toString())\n .pipe(map((result: boolean) => (result ? {duplicate: true} : null)));\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {AlertService} from '@valtimo/components';\nimport {FormManagementService} from '../form-management.service';\nimport {CreateFormDefinitionRequest} from '../models';\nimport {combineLatest} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {noDuplicateFormValidator} from '../validators/no-duplicate-form.validator';\n\n@Component({\n selector: 'valtimo-form-management-create',\n templateUrl: './form-management-create.component.html',\n styleUrls: ['./form-management-create.component.scss'],\n})\nexport class FormManagementCreateComponent implements OnInit {\n public form: FormGroup;\n\n constructor(\n private formManagementService: FormManagementService,\n private formBuilder: FormBuilder,\n private router: Router,\n private alertService: AlertService,\n private route: ActivatedRoute\n ) {}\n\n get formControls() {\n return this.form.controls;\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n name: new FormControl('', Validators.required, [\n noDuplicateFormValidator(this.formManagementService),\n ]),\n });\n }\n\n reset() {\n this.form.setValue({\n name: '',\n });\n }\n\n createFormDefinition() {\n const emptyForm = {\n display: 'form',\n components: [],\n };\n const request: CreateFormDefinitionRequest = {\n name: this.form.value.name,\n formDefinition: JSON.stringify(emptyForm),\n };\n combineLatest([\n this.formManagementService.createFormDefinition(request),\n this.route.queryParams,\n ])\n .pipe(take(1))\n .subscribe(\n ([formDefinition, params]) => {\n this.alertService.success('Created new Form');\n\n if (params?.upload === 'true') {\n this.router.navigate(['/form-management/edit', formDefinition.id], {\n queryParams: {upload: 'true'},\n });\n } else {\n this.router.navigate(['/form-management/edit', formDefinition.id]);\n }\n },\n err => {\n this.alertService.error('Error creating new Form');\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2023 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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Inject} from '@angular/core';\nimport {ModalService} from '@valtimo/user-interface';\nimport {combineLatest} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {CreateFormDefinitionRequest} from '../models';\nimport {BaseModal} from 'carbon-components-angular/modal';\nimport {FormManagementService} from '../form-management.service';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {AlertService} from '@valtimo/components';\nimport {noDuplicateFormValidator} from '../validators/no-duplicate-form.validator';\n\n@Component({\n selector: 'valtimo-form-management-duplicate-modal',\n templateUrl: './form-management-duplicate.component.html',\n styleUrls: ['./form-management-duplicate.component.scss'],\n})\nexport class FormManagementDuplicateComponent extends BaseModal {\n duplicateForm = new FormGroup({\n duplicateFormName: new FormControl(\n this.getDefaultName(),\n Validators.compose([Validators.required]),\n [noDuplicateFormValidator(this.formManagementService)]\n ),\n });\n\n constructor(\n @Inject('formToDuplicate') public formToDuplicate,\n protected modalService: ModalService,\n protected formManagementService: FormManagementService,\n private alertService: AlertService,\n protected route: ActivatedRoute,\n private router: Router\n ) {\n super();\n this.duplicateForm.markAllAsTouched();\n }\n\n public duplicate() {\n const control = this.duplicateFormName;\n\n const request: CreateFormDefinitionRequest = {\n name: control.value.toString(),\n formDefinition: JSON.stringify(this.formToDuplicate.formDefinition),\n };\n combineLatest([\n this.formManagementService.createFormDefinition(request),\n this.route.queryParams,\n ])\n .pipe(take(1))\n .subscribe(\n ([formDefinition, params]) => {\n this.alertService.success('Created new Form');\n this.router\n .navigateByUrl(`/form-management/edit/${formDefinition.id}`)\n .then(function (result) {\n window.location.reload();\n });\n },\n err => {\n if (err.toString().includes('Duplicate name')) {\n control.setErrors({duplicate: true});\n } else {\n control.setErrors({incorrect: true});\n }\n }\n );\n }\n\n get duplicateFormName(): FormControl {\n return this.duplicateForm.controls['duplicateFormName'];\n }\n\n public getDefaultName(): string {\n return this.formToDuplicate.name + '-duplicate';\n }\n}\n","<!--\n ~ Copyright 2015-2023 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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ModalComponent} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {BehaviorSubject, Observable, Subject, Subscription} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\n@Component({\n selector: 'valtimo-form-management-upload',\n templateUrl: './form-management-upload.component.html',\n styleUrls: ['./form-management-upload.component.scss'],\n})\nexport class FormManagementUploadComponent implements AfterViewInit, OnDestroy {\n @ViewChild('uploadFormDefinitionModal') modal: ModalComponent;\n\n @Input() show$: Observable<boolean>;\n @Output() definitionUploaded: EventEmitter<any> = new EventEmitter();\n\n readonly clear$ = new Subject();\n readonly jsonString$ = new BehaviorSubject<string>('');\n readonly error$ = new BehaviorSubject<string>('');\n readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n private showSubscription: Subscription;\n private fileSubscription: Subscription;\n private errorSubscription: Subscription;\n\n private readonly file$ = new BehaviorSubject<File>(undefined);\n\n constructor(\n private readonly documentService: DocumentService,\n private readonly translateService: TranslateService\n ) {}\n\n ngAfterViewInit(): void {\n this.openShowSubscription();\n this.openFileSubscription();\n }\n\n ngOnDestroy(): void {\n this.showSubscription.unsubscribe();\n this.fileSubscription.unsubscribe();\n this.closeErrorSubscription();\n }\n\n setFile(file: File): void {\n this.clearError();\n this.file$.next(file);\n }\n\n uploadDefinition(): void {\n this.disable();\n\n this.jsonString$.pipe(take(1)).subscribe(definition => {\n this.closeErrorSubscription();\n this.clearError();\n this.enable();\n this.hideModal();\n this.definitionUploaded.emit(definition);\n });\n }\n\n private openErrorSubscription(errorCode: string): void {\n this.closeErrorSubscription();\n this.errorSubscription = this.translateService.stream(errorCode).subscribe(error => {\n this.error$.next(error);\n });\n }\n\n private closeErrorSubscription(): void {\n if (this.errorSubscription) {\n this.errorSubscription.unsubscribe();\n }\n }\n\n private clearError(): void {\n this.error$.next('');\n }\n\n private openFileSubscription(): void {\n this.fileSubscription = this.file$.subscribe(file => {\n if (file) {\n const reader = new FileReader();\n\n reader.onloadend = () => {\n const result = reader.result.toString();\n if (this.stringIsValidJson(result)) {\n this.jsonString$.next(result);\n } else {\n this.clearJsonString();\n this.error$.next(this.translateService.instant('dropzone.error.invalidJson'));\n }\n };\n\n reader.readAsText(file);\n } else {\n this.clearJsonString();\n }\n });\n }\n\n private openShowSubscription(): void {\n this.showSubscription = this.show$.subscribe(show => {\n if (show) {\n this.showModal();\n } else {\n this.hideModal();\n }\n\n this.clearJsonString();\n this.clearError();\n this.clearDropzone();\n });\n }\n\n private clearJsonString(): void {\n this.jsonString$.next('');\n }\n\n private clearDropzone(): void {\n this.clear$.next(null);\n }\n\n private showModal(): void {\n this.modal.show();\n }\n\n private hideModal(): void {\n this.modal.hide();\n }\n\n private stringIsValidJson(string: string) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n JSON.parse(string)?.formDefinition?.components;\n } catch (e) {\n this.clearDropzone();\n this.openErrorSubscription('dropzone.error.invalidFormDef');\n return false;\n }\n return true;\n }\n\n private disable(): void {\n this.disabled$.next(true);\n }\n\n private enable(): void {\n this.disabled$.next(false);\n }\n}\n","<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #uploadFormDefinitionModal\n [title]=\"'uploadFormDefinition' | translate\"\n showFooter=\"true\"\n>\n <div class=\"mt-2\" body>\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.formJsonDocDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </div>\n <div footer>\n <ng-container *ngIf=\"(jsonString$ | async) && (error$ | async) === ''; else disabledUpload\">\n <button [disabled]=\"disabled$ | async\" class=\"btn btn-primary\" (click)=\"uploadDefinition()\">\n {{ 'Upload' | translate }}\n </button>\n </ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #disabledUpload>\n <button [disabled]=\"true\" class=\"btn btn-primary\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload' | translate }}\n </button>\n</ng-template>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\nimport {FormManagementService} from '../form-management.service';\nimport {AlertService} from '@valtimo/components';\nimport {FormDefinition, ModifyFormDefinitionRequest} from '../models';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {first, take} from 'rxjs/operators';\nimport {BehaviorSubject, Subscription} from 'rxjs';\nimport {FormioForm} from '@formio/angular';\nimport {FormManagementDuplicateComponent} from '../form-management-duplicate/form-management-duplicate.component';\nimport {ModalService} from 'carbon-components-angular';\n\n@Component({\n selector: 'valtimo-form-management-edit',\n templateUrl: './form-management-edit.component.html',\n styleUrls: ['./form-management-edit.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FormManagementEditComponent implements OnInit, OnDestroy {\n readonly showModal$ = new BehaviorSubject<boolean>(false);\n readonly reloading$ = new BehaviorSubject<boolean>(false);\n public modifiedFormDefinition: FormioForm = null;\n public formDefinition: FormDefinition | null = null;\n private alertSub: Subscription = Subscription.EMPTY;\n private formDefinitionId: string | null = null;\n\n constructor(\n private formManagementService: FormManagementService,\n private alertService: AlertService,\n private route: ActivatedRoute,\n private router: Router,\n private modalService: ModalService\n ) {}\n\n ngOnInit() {\n this.loadFormDefinition();\n this.checkToOpenUploadModal();\n }\n\n ngOnDestroy() {\n this.alertSub.unsubscribe();\n }\n\n loadFormDefinition() {\n this.formDefinitionId = this.route.snapshot.paramMap.get('id');\n this.formManagementService.getFormDefinition(this.formDefinitionId).subscribe(\n formDefinition => {\n this.formDefinition = formDefinition;\n },\n () => {\n this.alertService.error('Error retrieving Form Definition');\n }\n );\n }\n\n modifyFormDefinition() {\n const form = JSON.stringify(\n this.modifiedFormDefinition != null\n ? this.modifiedFormDefinition\n : this.formDefinition.formDefinition\n );\n const request: ModifyFormDefinitionRequest = {\n id: this.formDefinition.id,\n name: this.formDefinition.name,\n formDefinition: form,\n };\n this.formManagementService.modifyFormDefinition(request).subscribe(\n () => {\n this.router.navigate(['/form-management']);\n this.alertService.success('Form deployed');\n },\n err => {\n this.alertService.error('Error deploying Form');\n }\n );\n }\n\n public formBuilderChanged(event) {\n this.modifiedFormDefinition = event.form;\n }\n\n public delete() {\n if (!this.alertSub.closed) {\n return;\n }\n const mssg = 'Delete Form?';\n const confirmations = [\n {\n label: 'Cancel',\n class: 'btn btn-default',\n value: false,\n },\n {\n label: 'Delete',\n class: 'btn btn-primary',\n value: true,\n },\n ];\n this.alertService.notification(mssg, confirmations);\n this.alertSub = this.alertService\n .getAlertConfirmChangeEmitter()\n .pipe(first())\n .subscribe(alert => {\n if (alert.confirm === true) {\n this.deleteFormDefinition();\n }\n });\n }\n\n deleteFormDefinition() {\n this.formManagementService.deleteFormDefinition(this.formDefinition.id).subscribe(\n () => {\n this.router.navigate(['/form-management']);\n this.alertService.success('Form deleted');\n },\n err => {\n this.alertService.error('Error deleting Form');\n }\n );\n }\n\n downloadFormDefinition() {\n const file = new Blob([JSON.stringify(this.formDefinition.formDefinition)], {\n type: 'text/json',\n });\n const link = document.createElement('a');\n link.download = `form_${this.formDefinition.name}.json`;\n link.href = window.URL.createObjectURL(file);\n link.click();\n window.URL.revokeObjectURL(link.href);\n link.remove();\n }\n\n showUploadModal() {\n this.showModal$.next(true);\n }\n\n showDuplicateModal() {\n this.modalService.create({\n component: FormManagementDuplicateComponent,\n inputs: {\n formToDuplicate: this.formDefinition,\n },\n });\n }\n\n setFormDefinition(formDefinition: any) {\n this.reloading$.next(true);\n\n const definition = JSON.parse(formDefinition);\n const components = definition?.formDefinition?.components;\n const currentDefinition = this.modifiedFormDefinition || this.formDefinition.formDefinition;\n const newDefinition = {...currentDefinition, ...(components && {components})};\n\n this.modifiedFormDefinition = newDefinition;\n this.formDefinition.formDefinition = newDefinition;\n\n this.reloading$.next(false);\n }\n\n private checkToOpenUploadModal(): void {\n this.route.queryParams.pipe(take(1)).subscribe(params => {\n if (params?.upload === 'true') {\n this.showUploadModal();\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2023 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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {FormManagementComponent} from './form-management.component';\nimport {AuthGuardService} from '@valtimo/security';\nimport {FormManagementCreateComponent} from './form-management-create/form-management-create.component';\nimport {FormManagementEditComponent} from './form-management-edit/form-management-edit.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'form-management',\n component: FormManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Form management', roles: [ROLE_ADMIN]},\n },\n {\n path: 'form-management/create',\n component: FormManagementCreateComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Create new Form', roles: [ROLE_ADMIN]},\n },\n {\n path: 'form-management/edit/:id',\n component: FormManagementEditComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Form Builder', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n declarations: [],\n})\nexport class FormManagementRoutingModule {}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {FormManagementComponent} from './form-management.component';\nimport {FormManagementRoutingModule} from './form-management-routing.module';\nimport {\n DropzoneModule,\n FormIoModule,\n ListModule,\n ModalModule as vcModalModule,\n WidgetModule,\n} from '@valtimo/components';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {FormManagementCreateComponent} from './form-management-create/form-management-create.component';\nimport {FormManagementListComponent} from './form-management-list/form-management-list.component';\nimport {FormManagementEditComponent} from './form-management-edit/form-management-edit.component';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';\nimport {FormManagementUploadComponent} from './form-management-upload/form-management-upload.component';\nimport {FormManagementDuplicateComponent} from './form-management-duplicate/form-management-duplicate.component';\nimport {\n ButtonModule,\n FormModule,\n InputModule as vInputModule,\n ModalModule as vModalModule,\n TitleModule,\n} from '@valtimo/user-interface';\nimport {\n ButtonModule as cButtonModule,\n InputModule,\n ModalModule,\n PlaceholderModule,\n} from 'carbon-components-angular';\n\n@NgModule({\n declarations: [\n FormManagementComponent,\n FormManagementCreateComponent,\n FormManagementListComponent,\n FormManagementEditComponent,\n FormManagementUploadComponent,\n FormManagementDuplicateComponent,\n ],\n imports: [\n FormManagementRoutingModule,\n FormIoModule,\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n WidgetModule,\n ListModule,\n TranslateModule,\n NgbTooltipModule,\n DropzoneModule,\n ModalModule,\n vModalModule,\n vcModalModule,\n vInputModule,\n TitleModule,\n ButtonModule,\n InputModule,\n FormModule,\n ModalModule,\n InputModule,\n PlaceholderModule,\n cButtonModule,\n ],\n exports: [FormManagementComponent],\n})\nexport class FormManagementModule {}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {FormioForm} from '@formio/angular';\n\nexport function compareFormDefinitions(fd1: FormDefinition, fd2: FormDefinition) {\n if (fd1 === null && fd2 === null) {\n return true;\n }\n if (fd1 === null || fd2 === null) {\n return false;\n }\n return fd1.id === fd2.id;\n}\n\nexport interface FormDefinition {\n id: string;\n name: string;\n formDefinition: FormioForm;\n readOnly: boolean;\n}\n\nexport interface CreateFormDefinitionRequest {\n name: string;\n formDefinition: string;\n}\n\nexport interface ModifyFormDefinitionRequest {\n id: string;\n name: string;\n formDefinition: string;\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './form-definition.model';\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of form-management\n */\n\nexport * from './lib/form-management.service';\nexport * from './lib/form-management.component';\nexport * from './lib/form-management.module';\nexport * from './lib/models';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FormManagementService","i2","i3","i4","i1","i3.FormManagementListComponent","i6","i2.FormManagementService","i8","i6.FormManagementUploadComponent","i7","vModalModule","vcModalModule","vInputModule","InputModule","cButtonModule"],"mappings":"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"}
1
+ {"version":3,"file":"valtimo-form-management.mjs","sources":["../../../../projects/valtimo/form-management/src/lib/form-management.service.ts","../../../../projects/valtimo/form-management/src/lib/form-management-list/form-management-list.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-list/form-management-list.component.html","../../../../projects/valtimo/form-management/src/lib/form-management.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management.component.html","../../../../projects/valtimo/form-management/src/lib/validators/no-duplicate-form.validator.ts","../../../../projects/valtimo/form-management/src/lib/form-management-create/form-management-create.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-create/form-management-create.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-duplicate/form-management-duplicate.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-duplicate/form-management-duplicate.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-upload/form-management-upload.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-upload/form-management-upload.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-edit/form-management-edit.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-edit/form-management-edit.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-routing.module.ts","../../../../projects/valtimo/form-management/src/lib/form-management.module.ts","../../../../projects/valtimo/form-management/src/lib/models/form-definition.model.ts","../../../../projects/valtimo/form-management/src/lib/models/index.ts","../../../../projects/valtimo/form-management/src/public-api.ts","../../../../projects/valtimo/form-management/src/valtimo-form-management.ts"],"sourcesContent":["/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {CreateFormDefinitionRequest, FormDefinition, ModifyFormDefinitionRequest} from './models';\nimport {Observable} from 'rxjs';\nimport {ConfigService} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FormManagementService {\n private valtimoApiConfig: any;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n getFormDefinition(formDefinitionId: string): Observable<FormDefinition> {\n return this.http.get<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/${formDefinitionId}`\n );\n }\n\n existsFormDefinition(formDefinitionName: string): Observable<boolean> {\n return this.http.get<boolean>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/exists/${formDefinitionName}`\n );\n }\n\n queryFormDefinitions(params?: any): Observable<any> {\n return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/form-management`, {\n observe: 'response',\n params,\n });\n }\n\n createFormDefinition(request: CreateFormDefinitionRequest): Observable<FormDefinition> {\n return this.http.post<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management`,\n request\n );\n }\n\n modifyFormDefinition(request: ModifyFormDefinitionRequest): Observable<FormDefinition> {\n return this.http.put<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management`,\n request\n );\n }\n\n deleteFormDefinition(formDefinitionId: string): Observable<void> {\n return this.http.delete<void>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/${formDefinitionId}`\n );\n }\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {FormDefinition} from '../models';\nimport {FormManagementService} from '../form-management.service';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'valtimo-form-management-list',\n templateUrl: './form-management-list.component.html',\n styleUrls: ['./form-management-list.component.scss'],\n})\nexport class FormManagementListComponent implements OnInit {\n public formDefinitions: FormDefinition[] = [];\n public formDefinitionFields: any[] = [\n {key: 'name', label: 'Name'},\n {key: 'readOnly', label: 'Read-only'},\n ];\n public pagination = {\n collectionSize: 0,\n page: 1,\n size: 10,\n maxPaginationItemSize: 5,\n };\n public pageParam = 0;\n\n public paginationClicked(page) {\n this.pageParam = page - 1;\n this.loadFormDefinitions();\n }\n\n constructor(private formManagementService: FormManagementService, private router: Router) {}\n\n ngOnInit() {}\n\n paginationSet() {\n this.loadFormDefinitions();\n }\n\n loadFormDefinitions(searchTerm?: string) {\n const params = {page: this.pageParam, size: this.pagination.size};\n if (searchTerm) {\n params['searchTerm'] = searchTerm;\n }\n this.formManagementService.queryFormDefinitions(params).subscribe(results => {\n this.pagination.collectionSize = results.body.totalElements;\n this.formDefinitions = results.body.content;\n });\n }\n\n editFormDefinition(formDefinition: FormDefinition) {\n this.router.navigate(['/form-management/edit', formDefinition.id]);\n }\n\n searchTermEntered(searchTerm: string) {\n this.loadFormDefinitions(searchTerm);\n }\n}\n","<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-list\n [items]=\"formDefinitions\"\n [fields]=\"formDefinitionFields\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"formManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet()\"\n (rowClicked)=\"editFormDefinition($event)\"\n [header]=\"true\"\n (search)=\"searchTermEntered($event)\"\n>\n <div header>\n <h3 class=\"list-header-title\">{{ 'Forms' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'Overview of all Forms' | translate }}</h5>\n </div>\n</valtimo-list>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'valtimo-form-management',\n templateUrl: './form-management.component.html',\n styleUrls: ['./form-management.component.scss'],\n})\nexport class FormManagementComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n","<!--\n ~ Copyright 2015-2023 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\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button\n [routerLink]=\"'create'\"\n [queryParams]=\"{upload: 'true'}\"\n class=\"btn btn-secondary btn-space\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload' | translate }}\n </button>\n <button [routerLink]=\"'create'\" class=\"btn btn-primary btn-space mr-0\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n <span>{{ 'Create new Form' | translate }}</span>\n </button>\n </div>\n </div>\n <valtimo-widget>\n <valtimo-form-management-list></valtimo-form-management-list>\n </valtimo-widget>\n </div>\n</div>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {FormManagementService} from '../form-management.service';\nimport {AbstractControl, AsyncValidatorFn, ValidationErrors} from '@angular/forms';\nimport {map, Observable} from 'rxjs';\n\nexport function noDuplicateFormValidator(\n formManagementService: FormManagementService\n): AsyncValidatorFn {\n return (control: AbstractControl): Observable<ValidationErrors> =>\n formManagementService\n .existsFormDefinition(control.value.toString())\n .pipe(map((result: boolean) => (result ? {duplicate: true} : null)));\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {AlertService} from '@valtimo/components';\nimport {FormManagementService} from '../form-management.service';\nimport {CreateFormDefinitionRequest} from '../models';\nimport {combineLatest} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {noDuplicateFormValidator} from '../validators/no-duplicate-form.validator';\n\n@Component({\n selector: 'valtimo-form-management-create',\n templateUrl: './form-management-create.component.html',\n styleUrls: ['./form-management-create.component.scss'],\n})\nexport class FormManagementCreateComponent implements OnInit {\n public form: FormGroup;\n\n constructor(\n private formManagementService: FormManagementService,\n private formBuilder: FormBuilder,\n private router: Router,\n private alertService: AlertService,\n private route: ActivatedRoute\n ) {}\n\n get formControls() {\n return this.form.controls;\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n name: new FormControl('', Validators.required, [\n noDuplicateFormValidator(this.formManagementService),\n ]),\n });\n }\n\n reset() {\n this.form.setValue({\n name: '',\n });\n }\n\n createFormDefinition() {\n const emptyForm = {\n display: 'form',\n components: [],\n };\n const request: CreateFormDefinitionRequest = {\n name: this.form.value.name,\n formDefinition: JSON.stringify(emptyForm),\n };\n combineLatest([\n this.formManagementService.createFormDefinition(request),\n this.route.queryParams,\n ])\n .pipe(take(1))\n .subscribe(\n ([formDefinition, params]) => {\n this.alertService.success('Created new Form');\n\n if (params?.upload === 'true') {\n this.router.navigate(['/form-management/edit', formDefinition.id], {\n queryParams: {upload: 'true'},\n });\n } else {\n this.router.navigate(['/form-management/edit', formDefinition.id]);\n }\n },\n err => {\n this.alertService.error('Error creating new Form');\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2023 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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Inject} from '@angular/core';\nimport {ModalService} from '@valtimo/user-interface';\nimport {combineLatest} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {CreateFormDefinitionRequest} from '../models';\nimport {BaseModal} from 'carbon-components-angular/modal';\nimport {FormManagementService} from '../form-management.service';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {AlertService} from '@valtimo/components';\nimport {noDuplicateFormValidator} from '../validators/no-duplicate-form.validator';\n\n@Component({\n selector: 'valtimo-form-management-duplicate-modal',\n templateUrl: './form-management-duplicate.component.html',\n styleUrls: ['./form-management-duplicate.component.scss'],\n})\nexport class FormManagementDuplicateComponent extends BaseModal {\n duplicateForm = new FormGroup({\n duplicateFormName: new FormControl(\n this.getDefaultName(),\n Validators.compose([Validators.required]),\n [noDuplicateFormValidator(this.formManagementService)]\n ),\n });\n\n constructor(\n @Inject('formToDuplicate') public formToDuplicate,\n protected modalService: ModalService,\n protected formManagementService: FormManagementService,\n private alertService: AlertService,\n protected route: ActivatedRoute,\n private router: Router\n ) {\n super();\n this.duplicateForm.markAllAsTouched();\n }\n\n public duplicate() {\n const control = this.duplicateFormName;\n\n const request: CreateFormDefinitionRequest = {\n name: control.value.toString(),\n formDefinition: JSON.stringify(this.formToDuplicate.formDefinition),\n };\n combineLatest([\n this.formManagementService.createFormDefinition(request),\n this.route.queryParams,\n ])\n .pipe(take(1))\n .subscribe(\n ([formDefinition, params]) => {\n this.alertService.success('Created new Form');\n this.router\n .navigateByUrl(`/form-management/edit/${formDefinition.id}`)\n .then(function (result) {\n window.location.reload();\n });\n },\n err => {\n if (err.toString().includes('Duplicate name')) {\n control.setErrors({duplicate: true});\n } else {\n control.setErrors({incorrect: true});\n }\n }\n );\n }\n\n get duplicateFormName(): FormControl {\n return this.duplicateForm.controls['duplicateFormName'];\n }\n\n public getDefaultName(): string {\n return this.formToDuplicate.name + '-duplicate';\n }\n}\n","<!--\n ~ Copyright 2015-2023 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\n valtimoIbmModal\n [open]=\"open\"\n (overlaySelected)=\"closeModal()\"\n [formGroup]=\"duplicateForm\"\n>\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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ModalComponent} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {BehaviorSubject, Observable, Subject, Subscription} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\n@Component({\n selector: 'valtimo-form-management-upload',\n templateUrl: './form-management-upload.component.html',\n styleUrls: ['./form-management-upload.component.scss'],\n})\nexport class FormManagementUploadComponent implements AfterViewInit, OnDestroy {\n @ViewChild('uploadFormDefinitionModal') modal: ModalComponent;\n\n @Input() show$: Observable<boolean>;\n @Output() definitionUploaded: EventEmitter<any> = new EventEmitter();\n\n readonly clear$ = new Subject();\n readonly jsonString$ = new BehaviorSubject<string>('');\n readonly error$ = new BehaviorSubject<string>('');\n readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n private showSubscription: Subscription;\n private fileSubscription: Subscription;\n private errorSubscription: Subscription;\n\n private readonly file$ = new BehaviorSubject<File>(undefined);\n\n constructor(\n private readonly documentService: DocumentService,\n private readonly translateService: TranslateService\n ) {}\n\n ngAfterViewInit(): void {\n this.openShowSubscription();\n this.openFileSubscription();\n }\n\n ngOnDestroy(): void {\n this.showSubscription.unsubscribe();\n this.fileSubscription.unsubscribe();\n this.closeErrorSubscription();\n }\n\n setFile(file: File): void {\n this.clearError();\n this.file$.next(file);\n }\n\n uploadDefinition(): void {\n this.disable();\n\n this.jsonString$.pipe(take(1)).subscribe(definition => {\n this.closeErrorSubscription();\n this.clearError();\n this.enable();\n this.hideModal();\n this.definitionUploaded.emit(definition);\n });\n }\n\n private openErrorSubscription(errorCode: string): void {\n this.closeErrorSubscription();\n this.errorSubscription = this.translateService.stream(errorCode).subscribe(error => {\n this.error$.next(error);\n });\n }\n\n private closeErrorSubscription(): void {\n if (this.errorSubscription) {\n this.errorSubscription.unsubscribe();\n }\n }\n\n private clearError(): void {\n this.error$.next('');\n }\n\n private openFileSubscription(): void {\n this.fileSubscription = this.file$.subscribe(file => {\n if (file) {\n const reader = new FileReader();\n\n reader.onloadend = () => {\n const result = reader.result.toString();\n if (this.stringIsValidJson(result)) {\n this.jsonString$.next(result);\n } else {\n this.clearJsonString();\n this.error$.next(this.translateService.instant('dropzone.error.invalidJson'));\n }\n };\n\n reader.readAsText(file);\n } else {\n this.clearJsonString();\n }\n });\n }\n\n private openShowSubscription(): void {\n this.showSubscription = this.show$.subscribe(show => {\n if (show) {\n this.showModal();\n } else {\n this.hideModal();\n }\n\n this.clearJsonString();\n this.clearError();\n this.clearDropzone();\n });\n }\n\n private clearJsonString(): void {\n this.jsonString$.next('');\n }\n\n private clearDropzone(): void {\n this.clear$.next(null);\n }\n\n private showModal(): void {\n this.modal.show();\n }\n\n private hideModal(): void {\n this.modal.hide();\n }\n\n private stringIsValidJson(string: string) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n JSON.parse(string)?.formDefinition?.components;\n } catch (e) {\n this.clearDropzone();\n this.openErrorSubscription('dropzone.error.invalidFormDef');\n return false;\n }\n return true;\n }\n\n private disable(): void {\n this.disabled$.next(true);\n }\n\n private enable(): void {\n this.disabled$.next(false);\n }\n}\n","<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #uploadFormDefinitionModal\n [title]=\"'uploadFormDefinition' | translate\"\n showFooter=\"true\"\n>\n <div class=\"mt-2\" body>\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.formJsonDocDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </div>\n <div footer>\n <ng-container *ngIf=\"(jsonString$ | async) && (error$ | async) === ''; else disabledUpload\">\n <button [disabled]=\"disabled$ | async\" class=\"btn btn-primary\" (click)=\"uploadDefinition()\">\n {{ 'Upload' | translate }}\n </button>\n </ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #disabledUpload>\n <button [disabled]=\"true\" class=\"btn btn-primary\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload' | translate }}\n </button>\n</ng-template>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\nimport {FormManagementService} from '../form-management.service';\nimport {AlertService} from '@valtimo/components';\nimport {FormDefinition, ModifyFormDefinitionRequest} from '../models';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {first, take} from 'rxjs/operators';\nimport {BehaviorSubject, Subscription} from 'rxjs';\nimport {FormioForm} from '@formio/angular';\nimport {FormManagementDuplicateComponent} from '../form-management-duplicate/form-management-duplicate.component';\nimport {ModalService} from 'carbon-components-angular';\n\n@Component({\n selector: 'valtimo-form-management-edit',\n templateUrl: './form-management-edit.component.html',\n styleUrls: ['./form-management-edit.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FormManagementEditComponent implements OnInit, OnDestroy {\n readonly showModal$ = new BehaviorSubject<boolean>(false);\n readonly reloading$ = new BehaviorSubject<boolean>(false);\n public modifiedFormDefinition: FormioForm = null;\n public formDefinition: FormDefinition | null = null;\n private alertSub: Subscription = Subscription.EMPTY;\n private formDefinitionId: string | null = null;\n\n constructor(\n private formManagementService: FormManagementService,\n private alertService: AlertService,\n private route: ActivatedRoute,\n private router: Router,\n private modalService: ModalService\n ) {}\n\n ngOnInit() {\n this.loadFormDefinition();\n this.checkToOpenUploadModal();\n }\n\n ngOnDestroy() {\n this.alertSub.unsubscribe();\n }\n\n loadFormDefinition() {\n this.formDefinitionId = this.route.snapshot.paramMap.get('id');\n this.formManagementService.getFormDefinition(this.formDefinitionId).subscribe(\n formDefinition => {\n this.formDefinition = formDefinition;\n },\n () => {\n this.alertService.error('Error retrieving Form Definition');\n }\n );\n }\n\n modifyFormDefinition() {\n const form = JSON.stringify(\n this.modifiedFormDefinition != null\n ? this.modifiedFormDefinition\n : this.formDefinition.formDefinition\n );\n const request: ModifyFormDefinitionRequest = {\n id: this.formDefinition.id,\n name: this.formDefinition.name,\n formDefinition: form,\n };\n this.formManagementService.modifyFormDefinition(request).subscribe(\n () => {\n this.router.navigate(['/form-management']);\n this.alertService.success('Form deployed');\n },\n err => {\n this.alertService.error('Error deploying Form');\n }\n );\n }\n\n public formBuilderChanged(event) {\n this.modifiedFormDefinition = event.form;\n }\n\n public delete() {\n if (!this.alertSub.closed) {\n return;\n }\n const mssg = 'Delete Form?';\n const confirmations = [\n {\n label: 'Cancel',\n class: 'btn btn-default',\n value: false,\n },\n {\n label: 'Delete',\n class: 'btn btn-primary',\n value: true,\n },\n ];\n this.alertService.notification(mssg, confirmations);\n this.alertSub = this.alertService\n .getAlertConfirmChangeEmitter()\n .pipe(first())\n .subscribe(alert => {\n if (alert.confirm === true) {\n this.deleteFormDefinition();\n }\n });\n }\n\n deleteFormDefinition() {\n this.formManagementService.deleteFormDefinition(this.formDefinition.id).subscribe(\n () => {\n this.router.navigate(['/form-management']);\n this.alertService.success('Form deleted');\n },\n err => {\n this.alertService.error('Error deleting Form');\n }\n );\n }\n\n downloadFormDefinition() {\n const file = new Blob([JSON.stringify(this.formDefinition.formDefinition)], {\n type: 'text/json',\n });\n const link = document.createElement('a');\n link.download = `form_${this.formDefinition.name}.json`;\n link.href = window.URL.createObjectURL(file);\n link.click();\n window.URL.revokeObjectURL(link.href);\n link.remove();\n }\n\n showUploadModal() {\n this.showModal$.next(true);\n }\n\n showDuplicateModal() {\n this.modalService.create({\n component: FormManagementDuplicateComponent,\n inputs: {\n formToDuplicate: this.formDefinition,\n },\n });\n }\n\n setFormDefinition(formDefinition: any) {\n this.reloading$.next(true);\n\n const definition = JSON.parse(formDefinition);\n const components = definition?.formDefinition?.components;\n const currentDefinition = this.modifiedFormDefinition || this.formDefinition.formDefinition;\n const newDefinition = {...currentDefinition, ...(components && {components})};\n\n this.modifiedFormDefinition = newDefinition;\n this.formDefinition.formDefinition = newDefinition;\n\n this.reloading$.next(false);\n }\n\n private checkToOpenUploadModal(): void {\n this.route.queryParams.pipe(take(1)).subscribe(params => {\n if (params?.upload === 'true') {\n this.showUploadModal();\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2023 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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {FormManagementComponent} from './form-management.component';\nimport {AuthGuardService} from '@valtimo/security';\nimport {FormManagementCreateComponent} from './form-management-create/form-management-create.component';\nimport {FormManagementEditComponent} from './form-management-edit/form-management-edit.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'form-management',\n component: FormManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Form management', roles: [ROLE_ADMIN]},\n },\n {\n path: 'form-management/create',\n component: FormManagementCreateComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Create new Form', roles: [ROLE_ADMIN]},\n },\n {\n path: 'form-management/edit/:id',\n component: FormManagementEditComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Form Builder', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n declarations: [],\n})\nexport class FormManagementRoutingModule {}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {FormManagementComponent} from './form-management.component';\nimport {FormManagementRoutingModule} from './form-management-routing.module';\nimport {\n DropzoneModule,\n FormIoModule,\n ListModule,\n ModalModule as vcModalModule,\n ValtimoIbmModalDirectiveModule,\n WidgetModule,\n} from '@valtimo/components';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {FormManagementCreateComponent} from './form-management-create/form-management-create.component';\nimport {FormManagementListComponent} from './form-management-list/form-management-list.component';\nimport {FormManagementEditComponent} from './form-management-edit/form-management-edit.component';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';\nimport {FormManagementUploadComponent} from './form-management-upload/form-management-upload.component';\nimport {FormManagementDuplicateComponent} from './form-management-duplicate/form-management-duplicate.component';\nimport {\n ButtonModule,\n FormModule,\n InputModule as vInputModule,\n ModalModule as vModalModule,\n TitleModule,\n} from '@valtimo/user-interface';\nimport {\n ButtonModule as cButtonModule,\n InputModule,\n ModalModule,\n PlaceholderModule,\n} from 'carbon-components-angular';\n\n@NgModule({\n declarations: [\n FormManagementComponent,\n FormManagementCreateComponent,\n FormManagementListComponent,\n FormManagementEditComponent,\n FormManagementUploadComponent,\n FormManagementDuplicateComponent,\n ],\n imports: [\n FormManagementRoutingModule,\n FormIoModule,\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n WidgetModule,\n ListModule,\n TranslateModule,\n NgbTooltipModule,\n DropzoneModule,\n ModalModule,\n vModalModule,\n vcModalModule,\n vInputModule,\n TitleModule,\n ButtonModule,\n InputModule,\n FormModule,\n ModalModule,\n InputModule,\n PlaceholderModule,\n cButtonModule,\n ValtimoIbmModalDirectiveModule,\n ],\n exports: [FormManagementComponent],\n})\nexport class FormManagementModule {}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {FormioForm} from '@formio/angular';\n\nexport function compareFormDefinitions(fd1: FormDefinition, fd2: FormDefinition) {\n if (fd1 === null && fd2 === null) {\n return true;\n }\n if (fd1 === null || fd2 === null) {\n return false;\n }\n return fd1.id === fd2.id;\n}\n\nexport interface FormDefinition {\n id: string;\n name: string;\n formDefinition: FormioForm;\n readOnly: boolean;\n}\n\nexport interface CreateFormDefinitionRequest {\n name: string;\n formDefinition: string;\n}\n\nexport interface ModifyFormDefinitionRequest {\n id: string;\n name: string;\n formDefinition: string;\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './form-definition.model';\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of form-management\n */\n\nexport * from './lib/form-management.service';\nexport * from './lib/form-management.component';\nexport * from './lib/form-management.module';\nexport * from './lib/models';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FormManagementService","i2","i3","i4","i1","i3.FormManagementListComponent","i6","i2.FormManagementService","i8","i6.FormManagementUploadComponent","i7","vModalModule","vcModalModule","vInputModule","InputModule","cButtonModule"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { ROLE_ADMIN } from '@valtimo/config';
6
6
  import * as i3 from '@angular/router';
7
7
  import { RouterModule } from '@angular/router';
8
8
  import * as i4 from '@valtimo/components';
9
- import { FormIoModule, WidgetModule, ListModule, DropzoneModule, ModalModule as ModalModule$2 } from '@valtimo/components';
9
+ import { FormIoModule, WidgetModule, ListModule, DropzoneModule, ModalModule as ModalModule$2, ValtimoIbmModalDirectiveModule } from '@valtimo/components';
10
10
  import * as i2$1 from '@ngx-translate/core';
11
11
  import { TranslateModule } from '@ngx-translate/core';
12
12
  import { AuthGuardService } from '@valtimo/security';
@@ -325,10 +325,10 @@ class FormManagementDuplicateComponent extends BaseModal {
325
325
  }
326
326
  }
327
327
  FormManagementDuplicateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementDuplicateComponent, deps: [{ token: 'formToDuplicate' }, { token: i1$1.ModalService }, { token: FormManagementService }, { token: i4.AlertService }, { token: i3.ActivatedRoute }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
328
- 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-2023 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-2023 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: i2$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.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: i2$1.TranslatePipe, name: "translate" }] });
328
+ 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-2023 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\n valtimoIbmModal\n [open]=\"open\"\n (overlaySelected)=\"closeModal()\"\n [formGroup]=\"duplicateForm\"\n>\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-2023 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: i2$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.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: "directive", type: i4.ValtimoIbmModalDirective, selector: "[valtimoIbmModal]" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
329
329
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementDuplicateComponent, decorators: [{
330
330
  type: Component,
331
- args: [{ selector: 'valtimo-form-management-duplicate-modal', template: "<!--\n ~ Copyright 2015-2023 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-2023 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"] }]
331
+ args: [{ selector: 'valtimo-form-management-duplicate-modal', template: "<!--\n ~ Copyright 2015-2023 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\n valtimoIbmModal\n [open]=\"open\"\n (overlaySelected)=\"closeModal()\"\n [formGroup]=\"duplicateForm\"\n>\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-2023 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"] }]
332
332
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
333
333
  type: Inject,
334
334
  args: ['formToDuplicate']
@@ -714,7 +714,8 @@ FormManagementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
714
714
  ModalModule,
715
715
  InputModule$1,
716
716
  PlaceholderModule,
717
- ButtonModule$1], exports: [FormManagementComponent] });
717
+ ButtonModule$1,
718
+ ValtimoIbmModalDirectiveModule], exports: [FormManagementComponent] });
718
719
  FormManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementModule, imports: [FormManagementRoutingModule,
719
720
  FormIoModule,
720
721
  CommonModule,
@@ -736,7 +737,8 @@ FormManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
736
737
  ModalModule,
737
738
  InputModule$1,
738
739
  PlaceholderModule,
739
- ButtonModule$1] });
740
+ ButtonModule$1,
741
+ ValtimoIbmModalDirectiveModule] });
740
742
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormManagementModule, decorators: [{
741
743
  type: NgModule,
742
744
  args: [{
@@ -771,6 +773,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
771
773
  InputModule$1,
772
774
  PlaceholderModule,
773
775
  ButtonModule$1,
776
+ ValtimoIbmModalDirectiveModule,
774
777
  ],
775
778
  exports: [FormManagementComponent],
776
779
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-form-management.mjs","sources":["../../../../projects/valtimo/form-management/src/lib/form-management.service.ts","../../../../projects/valtimo/form-management/src/lib/form-management-list/form-management-list.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-list/form-management-list.component.html","../../../../projects/valtimo/form-management/src/lib/form-management.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management.component.html","../../../../projects/valtimo/form-management/src/lib/validators/no-duplicate-form.validator.ts","../../../../projects/valtimo/form-management/src/lib/form-management-create/form-management-create.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-create/form-management-create.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-duplicate/form-management-duplicate.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-duplicate/form-management-duplicate.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-upload/form-management-upload.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-upload/form-management-upload.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-edit/form-management-edit.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-edit/form-management-edit.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-routing.module.ts","../../../../projects/valtimo/form-management/src/lib/form-management.module.ts","../../../../projects/valtimo/form-management/src/lib/models/form-definition.model.ts","../../../../projects/valtimo/form-management/src/lib/models/index.ts","../../../../projects/valtimo/form-management/src/public-api.ts","../../../../projects/valtimo/form-management/src/valtimo-form-management.ts"],"sourcesContent":["/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {CreateFormDefinitionRequest, FormDefinition, ModifyFormDefinitionRequest} from './models';\nimport {Observable} from 'rxjs';\nimport {ConfigService} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FormManagementService {\n private valtimoApiConfig: any;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n getFormDefinition(formDefinitionId: string): Observable<FormDefinition> {\n return this.http.get<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/${formDefinitionId}`\n );\n }\n\n existsFormDefinition(formDefinitionName: string): Observable<boolean> {\n return this.http.get<boolean>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/exists/${formDefinitionName}`\n );\n }\n\n queryFormDefinitions(params?: any): Observable<any> {\n return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/form-management`, {\n observe: 'response',\n params,\n });\n }\n\n createFormDefinition(request: CreateFormDefinitionRequest): Observable<FormDefinition> {\n return this.http.post<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management`,\n request\n );\n }\n\n modifyFormDefinition(request: ModifyFormDefinitionRequest): Observable<FormDefinition> {\n return this.http.put<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management`,\n request\n );\n }\n\n deleteFormDefinition(formDefinitionId: string): Observable<void> {\n return this.http.delete<void>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/${formDefinitionId}`\n );\n }\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {FormDefinition} from '../models';\nimport {FormManagementService} from '../form-management.service';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'valtimo-form-management-list',\n templateUrl: './form-management-list.component.html',\n styleUrls: ['./form-management-list.component.scss'],\n})\nexport class FormManagementListComponent implements OnInit {\n public formDefinitions: FormDefinition[] = [];\n public formDefinitionFields: any[] = [\n {key: 'name', label: 'Name'},\n {key: 'readOnly', label: 'Read-only'},\n ];\n public pagination = {\n collectionSize: 0,\n page: 1,\n size: 10,\n maxPaginationItemSize: 5,\n };\n public pageParam = 0;\n\n public paginationClicked(page) {\n this.pageParam = page - 1;\n this.loadFormDefinitions();\n }\n\n constructor(private formManagementService: FormManagementService, private router: Router) {}\n\n ngOnInit() {}\n\n paginationSet() {\n this.loadFormDefinitions();\n }\n\n loadFormDefinitions(searchTerm?: string) {\n const params = {page: this.pageParam, size: this.pagination.size};\n if (searchTerm) {\n params['searchTerm'] = searchTerm;\n }\n this.formManagementService.queryFormDefinitions(params).subscribe(results => {\n this.pagination.collectionSize = results.body.totalElements;\n this.formDefinitions = results.body.content;\n });\n }\n\n editFormDefinition(formDefinition: FormDefinition) {\n this.router.navigate(['/form-management/edit', formDefinition.id]);\n }\n\n searchTermEntered(searchTerm: string) {\n this.loadFormDefinitions(searchTerm);\n }\n}\n","<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-list\n [items]=\"formDefinitions\"\n [fields]=\"formDefinitionFields\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"formManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet()\"\n (rowClicked)=\"editFormDefinition($event)\"\n [header]=\"true\"\n (search)=\"searchTermEntered($event)\"\n>\n <div header>\n <h3 class=\"list-header-title\">{{ 'Forms' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'Overview of all Forms' | translate }}</h5>\n </div>\n</valtimo-list>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'valtimo-form-management',\n templateUrl: './form-management.component.html',\n styleUrls: ['./form-management.component.scss'],\n})\nexport class FormManagementComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n","<!--\n ~ Copyright 2015-2023 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\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button\n [routerLink]=\"'create'\"\n [queryParams]=\"{upload: 'true'}\"\n class=\"btn btn-secondary btn-space\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload' | translate }}\n </button>\n <button [routerLink]=\"'create'\" class=\"btn btn-primary btn-space mr-0\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n <span>{{ 'Create new Form' | translate }}</span>\n </button>\n </div>\n </div>\n <valtimo-widget>\n <valtimo-form-management-list></valtimo-form-management-list>\n </valtimo-widget>\n </div>\n</div>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {FormManagementService} from '../form-management.service';\nimport {AbstractControl, AsyncValidatorFn, ValidationErrors} from '@angular/forms';\nimport {map, Observable} from 'rxjs';\n\nexport function noDuplicateFormValidator(\n formManagementService: FormManagementService\n): AsyncValidatorFn {\n return (control: AbstractControl): Observable<ValidationErrors> =>\n formManagementService\n .existsFormDefinition(control.value.toString())\n .pipe(map((result: boolean) => (result ? {duplicate: true} : null)));\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {AlertService} from '@valtimo/components';\nimport {FormManagementService} from '../form-management.service';\nimport {CreateFormDefinitionRequest} from '../models';\nimport {combineLatest} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {noDuplicateFormValidator} from '../validators/no-duplicate-form.validator';\n\n@Component({\n selector: 'valtimo-form-management-create',\n templateUrl: './form-management-create.component.html',\n styleUrls: ['./form-management-create.component.scss'],\n})\nexport class FormManagementCreateComponent implements OnInit {\n public form: FormGroup;\n\n constructor(\n private formManagementService: FormManagementService,\n private formBuilder: FormBuilder,\n private router: Router,\n private alertService: AlertService,\n private route: ActivatedRoute\n ) {}\n\n get formControls() {\n return this.form.controls;\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n name: new FormControl('', Validators.required, [\n noDuplicateFormValidator(this.formManagementService),\n ]),\n });\n }\n\n reset() {\n this.form.setValue({\n name: '',\n });\n }\n\n createFormDefinition() {\n const emptyForm = {\n display: 'form',\n components: [],\n };\n const request: CreateFormDefinitionRequest = {\n name: this.form.value.name,\n formDefinition: JSON.stringify(emptyForm),\n };\n combineLatest([\n this.formManagementService.createFormDefinition(request),\n this.route.queryParams,\n ])\n .pipe(take(1))\n .subscribe(\n ([formDefinition, params]) => {\n this.alertService.success('Created new Form');\n\n if (params?.upload === 'true') {\n this.router.navigate(['/form-management/edit', formDefinition.id], {\n queryParams: {upload: 'true'},\n });\n } else {\n this.router.navigate(['/form-management/edit', formDefinition.id]);\n }\n },\n err => {\n this.alertService.error('Error creating new Form');\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2023 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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Inject} from '@angular/core';\nimport {ModalService} from '@valtimo/user-interface';\nimport {combineLatest} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {CreateFormDefinitionRequest} from '../models';\nimport {BaseModal} from 'carbon-components-angular/modal';\nimport {FormManagementService} from '../form-management.service';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {AlertService} from '@valtimo/components';\nimport {noDuplicateFormValidator} from '../validators/no-duplicate-form.validator';\n\n@Component({\n selector: 'valtimo-form-management-duplicate-modal',\n templateUrl: './form-management-duplicate.component.html',\n styleUrls: ['./form-management-duplicate.component.scss'],\n})\nexport class FormManagementDuplicateComponent extends BaseModal {\n duplicateForm = new FormGroup({\n duplicateFormName: new FormControl(\n this.getDefaultName(),\n Validators.compose([Validators.required]),\n [noDuplicateFormValidator(this.formManagementService)]\n ),\n });\n\n constructor(\n @Inject('formToDuplicate') public formToDuplicate,\n protected modalService: ModalService,\n protected formManagementService: FormManagementService,\n private alertService: AlertService,\n protected route: ActivatedRoute,\n private router: Router\n ) {\n super();\n this.duplicateForm.markAllAsTouched();\n }\n\n public duplicate() {\n const control = this.duplicateFormName;\n\n const request: CreateFormDefinitionRequest = {\n name: control.value.toString(),\n formDefinition: JSON.stringify(this.formToDuplicate.formDefinition),\n };\n combineLatest([\n this.formManagementService.createFormDefinition(request),\n this.route.queryParams,\n ])\n .pipe(take(1))\n .subscribe(\n ([formDefinition, params]) => {\n this.alertService.success('Created new Form');\n this.router\n .navigateByUrl(`/form-management/edit/${formDefinition.id}`)\n .then(function (result) {\n window.location.reload();\n });\n },\n err => {\n if (err.toString().includes('Duplicate name')) {\n control.setErrors({duplicate: true});\n } else {\n control.setErrors({incorrect: true});\n }\n }\n );\n }\n\n get duplicateFormName(): FormControl {\n return this.duplicateForm.controls['duplicateFormName'];\n }\n\n public getDefaultName(): string {\n return this.formToDuplicate.name + '-duplicate';\n }\n}\n","<!--\n ~ Copyright 2015-2023 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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ModalComponent} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {BehaviorSubject, Observable, Subject, Subscription} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\n@Component({\n selector: 'valtimo-form-management-upload',\n templateUrl: './form-management-upload.component.html',\n styleUrls: ['./form-management-upload.component.scss'],\n})\nexport class FormManagementUploadComponent implements AfterViewInit, OnDestroy {\n @ViewChild('uploadFormDefinitionModal') modal: ModalComponent;\n\n @Input() show$: Observable<boolean>;\n @Output() definitionUploaded: EventEmitter<any> = new EventEmitter();\n\n readonly clear$ = new Subject();\n readonly jsonString$ = new BehaviorSubject<string>('');\n readonly error$ = new BehaviorSubject<string>('');\n readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n private showSubscription: Subscription;\n private fileSubscription: Subscription;\n private errorSubscription: Subscription;\n\n private readonly file$ = new BehaviorSubject<File>(undefined);\n\n constructor(\n private readonly documentService: DocumentService,\n private readonly translateService: TranslateService\n ) {}\n\n ngAfterViewInit(): void {\n this.openShowSubscription();\n this.openFileSubscription();\n }\n\n ngOnDestroy(): void {\n this.showSubscription.unsubscribe();\n this.fileSubscription.unsubscribe();\n this.closeErrorSubscription();\n }\n\n setFile(file: File): void {\n this.clearError();\n this.file$.next(file);\n }\n\n uploadDefinition(): void {\n this.disable();\n\n this.jsonString$.pipe(take(1)).subscribe(definition => {\n this.closeErrorSubscription();\n this.clearError();\n this.enable();\n this.hideModal();\n this.definitionUploaded.emit(definition);\n });\n }\n\n private openErrorSubscription(errorCode: string): void {\n this.closeErrorSubscription();\n this.errorSubscription = this.translateService.stream(errorCode).subscribe(error => {\n this.error$.next(error);\n });\n }\n\n private closeErrorSubscription(): void {\n if (this.errorSubscription) {\n this.errorSubscription.unsubscribe();\n }\n }\n\n private clearError(): void {\n this.error$.next('');\n }\n\n private openFileSubscription(): void {\n this.fileSubscription = this.file$.subscribe(file => {\n if (file) {\n const reader = new FileReader();\n\n reader.onloadend = () => {\n const result = reader.result.toString();\n if (this.stringIsValidJson(result)) {\n this.jsonString$.next(result);\n } else {\n this.clearJsonString();\n this.error$.next(this.translateService.instant('dropzone.error.invalidJson'));\n }\n };\n\n reader.readAsText(file);\n } else {\n this.clearJsonString();\n }\n });\n }\n\n private openShowSubscription(): void {\n this.showSubscription = this.show$.subscribe(show => {\n if (show) {\n this.showModal();\n } else {\n this.hideModal();\n }\n\n this.clearJsonString();\n this.clearError();\n this.clearDropzone();\n });\n }\n\n private clearJsonString(): void {\n this.jsonString$.next('');\n }\n\n private clearDropzone(): void {\n this.clear$.next(null);\n }\n\n private showModal(): void {\n this.modal.show();\n }\n\n private hideModal(): void {\n this.modal.hide();\n }\n\n private stringIsValidJson(string: string) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n JSON.parse(string)?.formDefinition?.components;\n } catch (e) {\n this.clearDropzone();\n this.openErrorSubscription('dropzone.error.invalidFormDef');\n return false;\n }\n return true;\n }\n\n private disable(): void {\n this.disabled$.next(true);\n }\n\n private enable(): void {\n this.disabled$.next(false);\n }\n}\n","<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #uploadFormDefinitionModal\n [title]=\"'uploadFormDefinition' | translate\"\n showFooter=\"true\"\n>\n <div class=\"mt-2\" body>\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.formJsonDocDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </div>\n <div footer>\n <ng-container *ngIf=\"(jsonString$ | async) && (error$ | async) === ''; else disabledUpload\">\n <button [disabled]=\"disabled$ | async\" class=\"btn btn-primary\" (click)=\"uploadDefinition()\">\n {{ 'Upload' | translate }}\n </button>\n </ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #disabledUpload>\n <button [disabled]=\"true\" class=\"btn btn-primary\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload' | translate }}\n </button>\n</ng-template>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\nimport {FormManagementService} from '../form-management.service';\nimport {AlertService} from '@valtimo/components';\nimport {FormDefinition, ModifyFormDefinitionRequest} from '../models';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {first, take} from 'rxjs/operators';\nimport {BehaviorSubject, Subscription} from 'rxjs';\nimport {FormioForm} from '@formio/angular';\nimport {FormManagementDuplicateComponent} from '../form-management-duplicate/form-management-duplicate.component';\nimport {ModalService} from 'carbon-components-angular';\n\n@Component({\n selector: 'valtimo-form-management-edit',\n templateUrl: './form-management-edit.component.html',\n styleUrls: ['./form-management-edit.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FormManagementEditComponent implements OnInit, OnDestroy {\n readonly showModal$ = new BehaviorSubject<boolean>(false);\n readonly reloading$ = new BehaviorSubject<boolean>(false);\n public modifiedFormDefinition: FormioForm = null;\n public formDefinition: FormDefinition | null = null;\n private alertSub: Subscription = Subscription.EMPTY;\n private formDefinitionId: string | null = null;\n\n constructor(\n private formManagementService: FormManagementService,\n private alertService: AlertService,\n private route: ActivatedRoute,\n private router: Router,\n private modalService: ModalService\n ) {}\n\n ngOnInit() {\n this.loadFormDefinition();\n this.checkToOpenUploadModal();\n }\n\n ngOnDestroy() {\n this.alertSub.unsubscribe();\n }\n\n loadFormDefinition() {\n this.formDefinitionId = this.route.snapshot.paramMap.get('id');\n this.formManagementService.getFormDefinition(this.formDefinitionId).subscribe(\n formDefinition => {\n this.formDefinition = formDefinition;\n },\n () => {\n this.alertService.error('Error retrieving Form Definition');\n }\n );\n }\n\n modifyFormDefinition() {\n const form = JSON.stringify(\n this.modifiedFormDefinition != null\n ? this.modifiedFormDefinition\n : this.formDefinition.formDefinition\n );\n const request: ModifyFormDefinitionRequest = {\n id: this.formDefinition.id,\n name: this.formDefinition.name,\n formDefinition: form,\n };\n this.formManagementService.modifyFormDefinition(request).subscribe(\n () => {\n this.router.navigate(['/form-management']);\n this.alertService.success('Form deployed');\n },\n err => {\n this.alertService.error('Error deploying Form');\n }\n );\n }\n\n public formBuilderChanged(event) {\n this.modifiedFormDefinition = event.form;\n }\n\n public delete() {\n if (!this.alertSub.closed) {\n return;\n }\n const mssg = 'Delete Form?';\n const confirmations = [\n {\n label: 'Cancel',\n class: 'btn btn-default',\n value: false,\n },\n {\n label: 'Delete',\n class: 'btn btn-primary',\n value: true,\n },\n ];\n this.alertService.notification(mssg, confirmations);\n this.alertSub = this.alertService\n .getAlertConfirmChangeEmitter()\n .pipe(first())\n .subscribe(alert => {\n if (alert.confirm === true) {\n this.deleteFormDefinition();\n }\n });\n }\n\n deleteFormDefinition() {\n this.formManagementService.deleteFormDefinition(this.formDefinition.id).subscribe(\n () => {\n this.router.navigate(['/form-management']);\n this.alertService.success('Form deleted');\n },\n err => {\n this.alertService.error('Error deleting Form');\n }\n );\n }\n\n downloadFormDefinition() {\n const file = new Blob([JSON.stringify(this.formDefinition.formDefinition)], {\n type: 'text/json',\n });\n const link = document.createElement('a');\n link.download = `form_${this.formDefinition.name}.json`;\n link.href = window.URL.createObjectURL(file);\n link.click();\n window.URL.revokeObjectURL(link.href);\n link.remove();\n }\n\n showUploadModal() {\n this.showModal$.next(true);\n }\n\n showDuplicateModal() {\n this.modalService.create({\n component: FormManagementDuplicateComponent,\n inputs: {\n formToDuplicate: this.formDefinition,\n },\n });\n }\n\n setFormDefinition(formDefinition: any) {\n this.reloading$.next(true);\n\n const definition = JSON.parse(formDefinition);\n const components = definition?.formDefinition?.components;\n const currentDefinition = this.modifiedFormDefinition || this.formDefinition.formDefinition;\n const newDefinition = {...currentDefinition, ...(components && {components})};\n\n this.modifiedFormDefinition = newDefinition;\n this.formDefinition.formDefinition = newDefinition;\n\n this.reloading$.next(false);\n }\n\n private checkToOpenUploadModal(): void {\n this.route.queryParams.pipe(take(1)).subscribe(params => {\n if (params?.upload === 'true') {\n this.showUploadModal();\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2023 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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {FormManagementComponent} from './form-management.component';\nimport {AuthGuardService} from '@valtimo/security';\nimport {FormManagementCreateComponent} from './form-management-create/form-management-create.component';\nimport {FormManagementEditComponent} from './form-management-edit/form-management-edit.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'form-management',\n component: FormManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Form management', roles: [ROLE_ADMIN]},\n },\n {\n path: 'form-management/create',\n component: FormManagementCreateComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Create new Form', roles: [ROLE_ADMIN]},\n },\n {\n path: 'form-management/edit/:id',\n component: FormManagementEditComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Form Builder', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n declarations: [],\n})\nexport class FormManagementRoutingModule {}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {FormManagementComponent} from './form-management.component';\nimport {FormManagementRoutingModule} from './form-management-routing.module';\nimport {\n DropzoneModule,\n FormIoModule,\n ListModule,\n ModalModule as vcModalModule,\n WidgetModule,\n} from '@valtimo/components';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {FormManagementCreateComponent} from './form-management-create/form-management-create.component';\nimport {FormManagementListComponent} from './form-management-list/form-management-list.component';\nimport {FormManagementEditComponent} from './form-management-edit/form-management-edit.component';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';\nimport {FormManagementUploadComponent} from './form-management-upload/form-management-upload.component';\nimport {FormManagementDuplicateComponent} from './form-management-duplicate/form-management-duplicate.component';\nimport {\n ButtonModule,\n FormModule,\n InputModule as vInputModule,\n ModalModule as vModalModule,\n TitleModule,\n} from '@valtimo/user-interface';\nimport {\n ButtonModule as cButtonModule,\n InputModule,\n ModalModule,\n PlaceholderModule,\n} from 'carbon-components-angular';\n\n@NgModule({\n declarations: [\n FormManagementComponent,\n FormManagementCreateComponent,\n FormManagementListComponent,\n FormManagementEditComponent,\n FormManagementUploadComponent,\n FormManagementDuplicateComponent,\n ],\n imports: [\n FormManagementRoutingModule,\n FormIoModule,\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n WidgetModule,\n ListModule,\n TranslateModule,\n NgbTooltipModule,\n DropzoneModule,\n ModalModule,\n vModalModule,\n vcModalModule,\n vInputModule,\n TitleModule,\n ButtonModule,\n InputModule,\n FormModule,\n ModalModule,\n InputModule,\n PlaceholderModule,\n cButtonModule,\n ],\n exports: [FormManagementComponent],\n})\nexport class FormManagementModule {}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {FormioForm} from '@formio/angular';\n\nexport function compareFormDefinitions(fd1: FormDefinition, fd2: FormDefinition) {\n if (fd1 === null && fd2 === null) {\n return true;\n }\n if (fd1 === null || fd2 === null) {\n return false;\n }\n return fd1.id === fd2.id;\n}\n\nexport interface FormDefinition {\n id: string;\n name: string;\n formDefinition: FormioForm;\n readOnly: boolean;\n}\n\nexport interface CreateFormDefinitionRequest {\n name: string;\n formDefinition: string;\n}\n\nexport interface ModifyFormDefinitionRequest {\n id: string;\n name: string;\n formDefinition: string;\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './form-definition.model';\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of form-management\n */\n\nexport * from './lib/form-management.service';\nexport * from './lib/form-management.component';\nexport * from './lib/form-management.module';\nexport * from './lib/models';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FormManagementService","i2","i3","i4","i1","i3.FormManagementListComponent","i6","i2.FormManagementService","i8","i6.FormManagementUploadComponent","i7","vModalModule","vcModalModule","vInputModule","InputModule","cButtonModule"],"mappings":"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"}
1
+ {"version":3,"file":"valtimo-form-management.mjs","sources":["../../../../projects/valtimo/form-management/src/lib/form-management.service.ts","../../../../projects/valtimo/form-management/src/lib/form-management-list/form-management-list.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-list/form-management-list.component.html","../../../../projects/valtimo/form-management/src/lib/form-management.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management.component.html","../../../../projects/valtimo/form-management/src/lib/validators/no-duplicate-form.validator.ts","../../../../projects/valtimo/form-management/src/lib/form-management-create/form-management-create.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-create/form-management-create.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-duplicate/form-management-duplicate.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-duplicate/form-management-duplicate.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-upload/form-management-upload.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-upload/form-management-upload.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-edit/form-management-edit.component.ts","../../../../projects/valtimo/form-management/src/lib/form-management-edit/form-management-edit.component.html","../../../../projects/valtimo/form-management/src/lib/form-management-routing.module.ts","../../../../projects/valtimo/form-management/src/lib/form-management.module.ts","../../../../projects/valtimo/form-management/src/lib/models/form-definition.model.ts","../../../../projects/valtimo/form-management/src/lib/models/index.ts","../../../../projects/valtimo/form-management/src/public-api.ts","../../../../projects/valtimo/form-management/src/valtimo-form-management.ts"],"sourcesContent":["/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {CreateFormDefinitionRequest, FormDefinition, ModifyFormDefinitionRequest} from './models';\nimport {Observable} from 'rxjs';\nimport {ConfigService} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FormManagementService {\n private valtimoApiConfig: any;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n getFormDefinition(formDefinitionId: string): Observable<FormDefinition> {\n return this.http.get<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/${formDefinitionId}`\n );\n }\n\n existsFormDefinition(formDefinitionName: string): Observable<boolean> {\n return this.http.get<boolean>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/exists/${formDefinitionName}`\n );\n }\n\n queryFormDefinitions(params?: any): Observable<any> {\n return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/form-management`, {\n observe: 'response',\n params,\n });\n }\n\n createFormDefinition(request: CreateFormDefinitionRequest): Observable<FormDefinition> {\n return this.http.post<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management`,\n request\n );\n }\n\n modifyFormDefinition(request: ModifyFormDefinitionRequest): Observable<FormDefinition> {\n return this.http.put<FormDefinition>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management`,\n request\n );\n }\n\n deleteFormDefinition(formDefinitionId: string): Observable<void> {\n return this.http.delete<void>(\n `${this.valtimoApiConfig.endpointUri}v1/form-management/${formDefinitionId}`\n );\n }\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {FormDefinition} from '../models';\nimport {FormManagementService} from '../form-management.service';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'valtimo-form-management-list',\n templateUrl: './form-management-list.component.html',\n styleUrls: ['./form-management-list.component.scss'],\n})\nexport class FormManagementListComponent implements OnInit {\n public formDefinitions: FormDefinition[] = [];\n public formDefinitionFields: any[] = [\n {key: 'name', label: 'Name'},\n {key: 'readOnly', label: 'Read-only'},\n ];\n public pagination = {\n collectionSize: 0,\n page: 1,\n size: 10,\n maxPaginationItemSize: 5,\n };\n public pageParam = 0;\n\n public paginationClicked(page) {\n this.pageParam = page - 1;\n this.loadFormDefinitions();\n }\n\n constructor(private formManagementService: FormManagementService, private router: Router) {}\n\n ngOnInit() {}\n\n paginationSet() {\n this.loadFormDefinitions();\n }\n\n loadFormDefinitions(searchTerm?: string) {\n const params = {page: this.pageParam, size: this.pagination.size};\n if (searchTerm) {\n params['searchTerm'] = searchTerm;\n }\n this.formManagementService.queryFormDefinitions(params).subscribe(results => {\n this.pagination.collectionSize = results.body.totalElements;\n this.formDefinitions = results.body.content;\n });\n }\n\n editFormDefinition(formDefinition: FormDefinition) {\n this.router.navigate(['/form-management/edit', formDefinition.id]);\n }\n\n searchTermEntered(searchTerm: string) {\n this.loadFormDefinitions(searchTerm);\n }\n}\n","<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-list\n [items]=\"formDefinitions\"\n [fields]=\"formDefinitionFields\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"formManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet()\"\n (rowClicked)=\"editFormDefinition($event)\"\n [header]=\"true\"\n (search)=\"searchTermEntered($event)\"\n>\n <div header>\n <h3 class=\"list-header-title\">{{ 'Forms' | translate }}</h3>\n <h5 class=\"list-header-description\">{{ 'Overview of all Forms' | translate }}</h5>\n </div>\n</valtimo-list>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'valtimo-form-management',\n templateUrl: './form-management.component.html',\n styleUrls: ['./form-management.component.scss'],\n})\nexport class FormManagementComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n","<!--\n ~ Copyright 2015-2023 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\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button\n [routerLink]=\"'create'\"\n [queryParams]=\"{upload: 'true'}\"\n class=\"btn btn-secondary btn-space\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload' | translate }}\n </button>\n <button [routerLink]=\"'create'\" class=\"btn btn-primary btn-space mr-0\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n <span>{{ 'Create new Form' | translate }}</span>\n </button>\n </div>\n </div>\n <valtimo-widget>\n <valtimo-form-management-list></valtimo-form-management-list>\n </valtimo-widget>\n </div>\n</div>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {FormManagementService} from '../form-management.service';\nimport {AbstractControl, AsyncValidatorFn, ValidationErrors} from '@angular/forms';\nimport {map, Observable} from 'rxjs';\n\nexport function noDuplicateFormValidator(\n formManagementService: FormManagementService\n): AsyncValidatorFn {\n return (control: AbstractControl): Observable<ValidationErrors> =>\n formManagementService\n .existsFormDefinition(control.value.toString())\n .pipe(map((result: boolean) => (result ? {duplicate: true} : null)));\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {AlertService} from '@valtimo/components';\nimport {FormManagementService} from '../form-management.service';\nimport {CreateFormDefinitionRequest} from '../models';\nimport {combineLatest} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {noDuplicateFormValidator} from '../validators/no-duplicate-form.validator';\n\n@Component({\n selector: 'valtimo-form-management-create',\n templateUrl: './form-management-create.component.html',\n styleUrls: ['./form-management-create.component.scss'],\n})\nexport class FormManagementCreateComponent implements OnInit {\n public form: FormGroup;\n\n constructor(\n private formManagementService: FormManagementService,\n private formBuilder: FormBuilder,\n private router: Router,\n private alertService: AlertService,\n private route: ActivatedRoute\n ) {}\n\n get formControls() {\n return this.form.controls;\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n name: new FormControl('', Validators.required, [\n noDuplicateFormValidator(this.formManagementService),\n ]),\n });\n }\n\n reset() {\n this.form.setValue({\n name: '',\n });\n }\n\n createFormDefinition() {\n const emptyForm = {\n display: 'form',\n components: [],\n };\n const request: CreateFormDefinitionRequest = {\n name: this.form.value.name,\n formDefinition: JSON.stringify(emptyForm),\n };\n combineLatest([\n this.formManagementService.createFormDefinition(request),\n this.route.queryParams,\n ])\n .pipe(take(1))\n .subscribe(\n ([formDefinition, params]) => {\n this.alertService.success('Created new Form');\n\n if (params?.upload === 'true') {\n this.router.navigate(['/form-management/edit', formDefinition.id], {\n queryParams: {upload: 'true'},\n });\n } else {\n this.router.navigate(['/form-management/edit', formDefinition.id]);\n }\n },\n err => {\n this.alertService.error('Error creating new Form');\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2023 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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Inject} from '@angular/core';\nimport {ModalService} from '@valtimo/user-interface';\nimport {combineLatest} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {CreateFormDefinitionRequest} from '../models';\nimport {BaseModal} from 'carbon-components-angular/modal';\nimport {FormManagementService} from '../form-management.service';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {AlertService} from '@valtimo/components';\nimport {noDuplicateFormValidator} from '../validators/no-duplicate-form.validator';\n\n@Component({\n selector: 'valtimo-form-management-duplicate-modal',\n templateUrl: './form-management-duplicate.component.html',\n styleUrls: ['./form-management-duplicate.component.scss'],\n})\nexport class FormManagementDuplicateComponent extends BaseModal {\n duplicateForm = new FormGroup({\n duplicateFormName: new FormControl(\n this.getDefaultName(),\n Validators.compose([Validators.required]),\n [noDuplicateFormValidator(this.formManagementService)]\n ),\n });\n\n constructor(\n @Inject('formToDuplicate') public formToDuplicate,\n protected modalService: ModalService,\n protected formManagementService: FormManagementService,\n private alertService: AlertService,\n protected route: ActivatedRoute,\n private router: Router\n ) {\n super();\n this.duplicateForm.markAllAsTouched();\n }\n\n public duplicate() {\n const control = this.duplicateFormName;\n\n const request: CreateFormDefinitionRequest = {\n name: control.value.toString(),\n formDefinition: JSON.stringify(this.formToDuplicate.formDefinition),\n };\n combineLatest([\n this.formManagementService.createFormDefinition(request),\n this.route.queryParams,\n ])\n .pipe(take(1))\n .subscribe(\n ([formDefinition, params]) => {\n this.alertService.success('Created new Form');\n this.router\n .navigateByUrl(`/form-management/edit/${formDefinition.id}`)\n .then(function (result) {\n window.location.reload();\n });\n },\n err => {\n if (err.toString().includes('Duplicate name')) {\n control.setErrors({duplicate: true});\n } else {\n control.setErrors({incorrect: true});\n }\n }\n );\n }\n\n get duplicateFormName(): FormControl {\n return this.duplicateForm.controls['duplicateFormName'];\n }\n\n public getDefaultName(): string {\n return this.formToDuplicate.name + '-duplicate';\n }\n}\n","<!--\n ~ Copyright 2015-2023 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\n valtimoIbmModal\n [open]=\"open\"\n (overlaySelected)=\"closeModal()\"\n [formGroup]=\"duplicateForm\"\n>\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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ModalComponent} from '@valtimo/components';\nimport {DocumentService} from '@valtimo/document';\nimport {BehaviorSubject, Observable, Subject, Subscription} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\n@Component({\n selector: 'valtimo-form-management-upload',\n templateUrl: './form-management-upload.component.html',\n styleUrls: ['./form-management-upload.component.scss'],\n})\nexport class FormManagementUploadComponent implements AfterViewInit, OnDestroy {\n @ViewChild('uploadFormDefinitionModal') modal: ModalComponent;\n\n @Input() show$: Observable<boolean>;\n @Output() definitionUploaded: EventEmitter<any> = new EventEmitter();\n\n readonly clear$ = new Subject();\n readonly jsonString$ = new BehaviorSubject<string>('');\n readonly error$ = new BehaviorSubject<string>('');\n readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n private showSubscription: Subscription;\n private fileSubscription: Subscription;\n private errorSubscription: Subscription;\n\n private readonly file$ = new BehaviorSubject<File>(undefined);\n\n constructor(\n private readonly documentService: DocumentService,\n private readonly translateService: TranslateService\n ) {}\n\n ngAfterViewInit(): void {\n this.openShowSubscription();\n this.openFileSubscription();\n }\n\n ngOnDestroy(): void {\n this.showSubscription.unsubscribe();\n this.fileSubscription.unsubscribe();\n this.closeErrorSubscription();\n }\n\n setFile(file: File): void {\n this.clearError();\n this.file$.next(file);\n }\n\n uploadDefinition(): void {\n this.disable();\n\n this.jsonString$.pipe(take(1)).subscribe(definition => {\n this.closeErrorSubscription();\n this.clearError();\n this.enable();\n this.hideModal();\n this.definitionUploaded.emit(definition);\n });\n }\n\n private openErrorSubscription(errorCode: string): void {\n this.closeErrorSubscription();\n this.errorSubscription = this.translateService.stream(errorCode).subscribe(error => {\n this.error$.next(error);\n });\n }\n\n private closeErrorSubscription(): void {\n if (this.errorSubscription) {\n this.errorSubscription.unsubscribe();\n }\n }\n\n private clearError(): void {\n this.error$.next('');\n }\n\n private openFileSubscription(): void {\n this.fileSubscription = this.file$.subscribe(file => {\n if (file) {\n const reader = new FileReader();\n\n reader.onloadend = () => {\n const result = reader.result.toString();\n if (this.stringIsValidJson(result)) {\n this.jsonString$.next(result);\n } else {\n this.clearJsonString();\n this.error$.next(this.translateService.instant('dropzone.error.invalidJson'));\n }\n };\n\n reader.readAsText(file);\n } else {\n this.clearJsonString();\n }\n });\n }\n\n private openShowSubscription(): void {\n this.showSubscription = this.show$.subscribe(show => {\n if (show) {\n this.showModal();\n } else {\n this.hideModal();\n }\n\n this.clearJsonString();\n this.clearError();\n this.clearDropzone();\n });\n }\n\n private clearJsonString(): void {\n this.jsonString$.next('');\n }\n\n private clearDropzone(): void {\n this.clear$.next(null);\n }\n\n private showModal(): void {\n this.modal.show();\n }\n\n private hideModal(): void {\n this.modal.hide();\n }\n\n private stringIsValidJson(string: string) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n JSON.parse(string)?.formDefinition?.components;\n } catch (e) {\n this.clearDropzone();\n this.openErrorSubscription('dropzone.error.invalidFormDef');\n return false;\n }\n return true;\n }\n\n private disable(): void {\n this.disabled$.next(true);\n }\n\n private enable(): void {\n this.disabled$.next(false);\n }\n}\n","<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #uploadFormDefinitionModal\n [title]=\"'uploadFormDefinition' | translate\"\n showFooter=\"true\"\n>\n <div class=\"mt-2\" body>\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.formJsonDocDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </div>\n <div footer>\n <ng-container *ngIf=\"(jsonString$ | async) && (error$ | async) === ''; else disabledUpload\">\n <button [disabled]=\"disabled$ | async\" class=\"btn btn-primary\" (click)=\"uploadDefinition()\">\n {{ 'Upload' | translate }}\n </button>\n </ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #disabledUpload>\n <button [disabled]=\"true\" class=\"btn btn-primary\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>\n {{ 'Upload' | translate }}\n </button>\n</ng-template>\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\nimport {FormManagementService} from '../form-management.service';\nimport {AlertService} from '@valtimo/components';\nimport {FormDefinition, ModifyFormDefinitionRequest} from '../models';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {first, take} from 'rxjs/operators';\nimport {BehaviorSubject, Subscription} from 'rxjs';\nimport {FormioForm} from '@formio/angular';\nimport {FormManagementDuplicateComponent} from '../form-management-duplicate/form-management-duplicate.component';\nimport {ModalService} from 'carbon-components-angular';\n\n@Component({\n selector: 'valtimo-form-management-edit',\n templateUrl: './form-management-edit.component.html',\n styleUrls: ['./form-management-edit.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FormManagementEditComponent implements OnInit, OnDestroy {\n readonly showModal$ = new BehaviorSubject<boolean>(false);\n readonly reloading$ = new BehaviorSubject<boolean>(false);\n public modifiedFormDefinition: FormioForm = null;\n public formDefinition: FormDefinition | null = null;\n private alertSub: Subscription = Subscription.EMPTY;\n private formDefinitionId: string | null = null;\n\n constructor(\n private formManagementService: FormManagementService,\n private alertService: AlertService,\n private route: ActivatedRoute,\n private router: Router,\n private modalService: ModalService\n ) {}\n\n ngOnInit() {\n this.loadFormDefinition();\n this.checkToOpenUploadModal();\n }\n\n ngOnDestroy() {\n this.alertSub.unsubscribe();\n }\n\n loadFormDefinition() {\n this.formDefinitionId = this.route.snapshot.paramMap.get('id');\n this.formManagementService.getFormDefinition(this.formDefinitionId).subscribe(\n formDefinition => {\n this.formDefinition = formDefinition;\n },\n () => {\n this.alertService.error('Error retrieving Form Definition');\n }\n );\n }\n\n modifyFormDefinition() {\n const form = JSON.stringify(\n this.modifiedFormDefinition != null\n ? this.modifiedFormDefinition\n : this.formDefinition.formDefinition\n );\n const request: ModifyFormDefinitionRequest = {\n id: this.formDefinition.id,\n name: this.formDefinition.name,\n formDefinition: form,\n };\n this.formManagementService.modifyFormDefinition(request).subscribe(\n () => {\n this.router.navigate(['/form-management']);\n this.alertService.success('Form deployed');\n },\n err => {\n this.alertService.error('Error deploying Form');\n }\n );\n }\n\n public formBuilderChanged(event) {\n this.modifiedFormDefinition = event.form;\n }\n\n public delete() {\n if (!this.alertSub.closed) {\n return;\n }\n const mssg = 'Delete Form?';\n const confirmations = [\n {\n label: 'Cancel',\n class: 'btn btn-default',\n value: false,\n },\n {\n label: 'Delete',\n class: 'btn btn-primary',\n value: true,\n },\n ];\n this.alertService.notification(mssg, confirmations);\n this.alertSub = this.alertService\n .getAlertConfirmChangeEmitter()\n .pipe(first())\n .subscribe(alert => {\n if (alert.confirm === true) {\n this.deleteFormDefinition();\n }\n });\n }\n\n deleteFormDefinition() {\n this.formManagementService.deleteFormDefinition(this.formDefinition.id).subscribe(\n () => {\n this.router.navigate(['/form-management']);\n this.alertService.success('Form deleted');\n },\n err => {\n this.alertService.error('Error deleting Form');\n }\n );\n }\n\n downloadFormDefinition() {\n const file = new Blob([JSON.stringify(this.formDefinition.formDefinition)], {\n type: 'text/json',\n });\n const link = document.createElement('a');\n link.download = `form_${this.formDefinition.name}.json`;\n link.href = window.URL.createObjectURL(file);\n link.click();\n window.URL.revokeObjectURL(link.href);\n link.remove();\n }\n\n showUploadModal() {\n this.showModal$.next(true);\n }\n\n showDuplicateModal() {\n this.modalService.create({\n component: FormManagementDuplicateComponent,\n inputs: {\n formToDuplicate: this.formDefinition,\n },\n });\n }\n\n setFormDefinition(formDefinition: any) {\n this.reloading$.next(true);\n\n const definition = JSON.parse(formDefinition);\n const components = definition?.formDefinition?.components;\n const currentDefinition = this.modifiedFormDefinition || this.formDefinition.formDefinition;\n const newDefinition = {...currentDefinition, ...(components && {components})};\n\n this.modifiedFormDefinition = newDefinition;\n this.formDefinition.formDefinition = newDefinition;\n\n this.reloading$.next(false);\n }\n\n private checkToOpenUploadModal(): void {\n this.route.queryParams.pipe(take(1)).subscribe(params => {\n if (params?.upload === 'true') {\n this.showUploadModal();\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2023 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","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {FormManagementComponent} from './form-management.component';\nimport {AuthGuardService} from '@valtimo/security';\nimport {FormManagementCreateComponent} from './form-management-create/form-management-create.component';\nimport {FormManagementEditComponent} from './form-management-edit/form-management-edit.component';\nimport {ROLE_ADMIN} from '@valtimo/config';\n\nconst routes: Routes = [\n {\n path: 'form-management',\n component: FormManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Form management', roles: [ROLE_ADMIN]},\n },\n {\n path: 'form-management/create',\n component: FormManagementCreateComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Create new Form', roles: [ROLE_ADMIN]},\n },\n {\n path: 'form-management/edit/:id',\n component: FormManagementEditComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Form Builder', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n declarations: [],\n})\nexport class FormManagementRoutingModule {}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {FormManagementComponent} from './form-management.component';\nimport {FormManagementRoutingModule} from './form-management-routing.module';\nimport {\n DropzoneModule,\n FormIoModule,\n ListModule,\n ModalModule as vcModalModule,\n ValtimoIbmModalDirectiveModule,\n WidgetModule,\n} from '@valtimo/components';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {FormManagementCreateComponent} from './form-management-create/form-management-create.component';\nimport {FormManagementListComponent} from './form-management-list/form-management-list.component';\nimport {FormManagementEditComponent} from './form-management-edit/form-management-edit.component';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';\nimport {FormManagementUploadComponent} from './form-management-upload/form-management-upload.component';\nimport {FormManagementDuplicateComponent} from './form-management-duplicate/form-management-duplicate.component';\nimport {\n ButtonModule,\n FormModule,\n InputModule as vInputModule,\n ModalModule as vModalModule,\n TitleModule,\n} from '@valtimo/user-interface';\nimport {\n ButtonModule as cButtonModule,\n InputModule,\n ModalModule,\n PlaceholderModule,\n} from 'carbon-components-angular';\n\n@NgModule({\n declarations: [\n FormManagementComponent,\n FormManagementCreateComponent,\n FormManagementListComponent,\n FormManagementEditComponent,\n FormManagementUploadComponent,\n FormManagementDuplicateComponent,\n ],\n imports: [\n FormManagementRoutingModule,\n FormIoModule,\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n WidgetModule,\n ListModule,\n TranslateModule,\n NgbTooltipModule,\n DropzoneModule,\n ModalModule,\n vModalModule,\n vcModalModule,\n vInputModule,\n TitleModule,\n ButtonModule,\n InputModule,\n FormModule,\n ModalModule,\n InputModule,\n PlaceholderModule,\n cButtonModule,\n ValtimoIbmModalDirectiveModule,\n ],\n exports: [FormManagementComponent],\n})\nexport class FormManagementModule {}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {FormioForm} from '@formio/angular';\n\nexport function compareFormDefinitions(fd1: FormDefinition, fd2: FormDefinition) {\n if (fd1 === null && fd2 === null) {\n return true;\n }\n if (fd1 === null || fd2 === null) {\n return false;\n }\n return fd1.id === fd2.id;\n}\n\nexport interface FormDefinition {\n id: string;\n name: string;\n formDefinition: FormioForm;\n readOnly: boolean;\n}\n\nexport interface CreateFormDefinitionRequest {\n name: string;\n formDefinition: string;\n}\n\nexport interface ModifyFormDefinitionRequest {\n id: string;\n name: string;\n formDefinition: string;\n}\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './form-definition.model';\n","/*\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of form-management\n */\n\nexport * from './lib/form-management.service';\nexport * from './lib/form-management.component';\nexport * from './lib/form-management.module';\nexport * from './lib/models';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FormManagementService","i2","i3","i4","i1","i3.FormManagementListComponent","i6","i2.FormManagementService","i8","i6.FormManagementUploadComponent","i7","vModalModule","vcModalModule","vInputModule","InputModule","cButtonModule"],"mappings":"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"}
@@ -15,7 +15,7 @@ import * as i13 from "carbon-components-angular";
15
15
  import * as i14 from "@valtimo/user-interface";
16
16
  export declare class FormManagementModule {
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<FormManagementModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDeclaration<FormManagementModule, [typeof i1.FormManagementComponent, typeof i2.FormManagementCreateComponent, typeof i3.FormManagementListComponent, typeof i4.FormManagementEditComponent, typeof i5.FormManagementUploadComponent, typeof i6.FormManagementDuplicateComponent], [typeof i7.FormManagementRoutingModule, typeof i8.FormIoModule, typeof i9.CommonModule, typeof i10.ReactiveFormsModule, typeof i10.FormsModule, typeof i8.WidgetModule, typeof i8.ListModule, typeof i11.TranslateModule, typeof i12.NgbTooltipModule, typeof i8.DropzoneModule, typeof i13.ModalModule, typeof i14.ModalModule, typeof i8.ModalModule, typeof i14.InputModule, typeof i14.TitleModule, typeof i14.ButtonModule, typeof i13.InputModule, typeof i14.FormModule, typeof i13.ModalModule, typeof i13.InputModule, typeof i13.PlaceholderModule, typeof i13.ButtonModule], [typeof i1.FormManagementComponent]>;
18
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FormManagementModule, [typeof i1.FormManagementComponent, typeof i2.FormManagementCreateComponent, typeof i3.FormManagementListComponent, typeof i4.FormManagementEditComponent, typeof i5.FormManagementUploadComponent, typeof i6.FormManagementDuplicateComponent], [typeof i7.FormManagementRoutingModule, typeof i8.FormIoModule, typeof i9.CommonModule, typeof i10.ReactiveFormsModule, typeof i10.FormsModule, typeof i8.WidgetModule, typeof i8.ListModule, typeof i11.TranslateModule, typeof i12.NgbTooltipModule, typeof i8.DropzoneModule, typeof i13.ModalModule, typeof i14.ModalModule, typeof i8.ModalModule, typeof i14.InputModule, typeof i14.TitleModule, typeof i14.ButtonModule, typeof i13.InputModule, typeof i14.FormModule, typeof i13.ModalModule, typeof i13.InputModule, typeof i13.PlaceholderModule, typeof i13.ButtonModule, typeof i8.ValtimoIbmModalDirectiveModule], [typeof i1.FormManagementComponent]>;
19
19
  static ɵinj: i0.ɵɵInjectorDeclaration<FormManagementModule>;
20
20
  }
21
21
  //# sourceMappingURL=form-management.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-management.module.d.ts","sourceRoot":"","sources":["../../../../projects/valtimo/form-management/src/lib/form-management.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAiDA,qBAmCa,oBAAoB;yCAApB,oBAAoB;0CAApB,oBAAoB;0CAApB,oBAAoB;CAAG"}
1
+ {"version":3,"file":"form-management.module.d.ts","sourceRoot":"","sources":["../../../../projects/valtimo/form-management/src/lib/form-management.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAkDA,qBAoCa,oBAAoB;yCAApB,oBAAoB;0CAApB,oBAAoB;0CAApB,oBAAoB;CAAG"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@valtimo/form-management",
3
3
  "license": "EUPL-1.2",
4
- "version": "10.5.1",
4
+ "version": "10.6.0",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^14.2.5",
7
7
  "@angular/core": "^14.2.5"