@valtimo/form-flow-management 13.36.1 → 13.38.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.
@@ -88,10 +88,10 @@ class FormFlowService extends BaseApiService {
88
88
  updateBuildingBlockFormFlowDefinition(buildingBlockKey, versionTag, definitionKey, updatedDefinition) {
89
89
  return this.httpClient.put(this.getApiUrl(`management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${definitionKey}`), updatedDefinition);
90
90
  }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
92
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowService, providedIn: 'root' }); }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
92
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowService, providedIn: 'root' }); }
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowService, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowService, decorators: [{
95
95
  type: Injectable,
96
96
  args: [{
97
97
  providedIn: 'root',
@@ -161,10 +161,10 @@ class NewFormFlowModalComponent {
161
161
  this.form.reset();
162
162
  }, CARBON_CONSTANTS.modalAnimationMs);
163
163
  }
164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NewFormFlowModalComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
165
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: NewFormFlowModalComponent, isStandalone: true, selector: "valtimo-new-form-flow-modal", inputs: { open: "open" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n [open]=\"open\"\n showFooter=\"true\"\n [title]=\"'formFlow.add' | translate\"\n valtimoCdsModal\n (close)=\"onCancel()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'formFlow.add' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'formFlow.key' | translate }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'formFlow.key' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ 'interface.create' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i3.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i3.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i3.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i3.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i3.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
164
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: NewFormFlowModalComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
165
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: NewFormFlowModalComponent, isStandalone: true, selector: "valtimo-new-form-flow-modal", inputs: { open: "open" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n [open]=\"open\"\n showFooter=\"true\"\n [title]=\"'formFlow.add' | translate\"\n valtimoCdsModal\n (close)=\"onCancel()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'formFlow.add' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'formFlow.key' | translate }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'formFlow.key' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ 'interface.create' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i3.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i3.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i3.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i3.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i3.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i3.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i3.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
166
166
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NewFormFlowModalComponent, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: NewFormFlowModalComponent, decorators: [{
168
168
  type: Component,
169
169
  args: [{ standalone: true, selector: 'valtimo-new-form-flow-modal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
170
170
  ReactiveFormsModule,
@@ -289,10 +289,10 @@ class FormFlowOverviewComponent {
289
289
  this._refresh$.next(null);
290
290
  });
291
291
  }
292
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowOverviewComponent, deps: [{ token: FormFlowService }, { token: i2.GlobalNotificationService }, { token: i3$1.ActivatedRoute }, { token: i3$1.Router }, { token: i4.TranslateService }, { token: i2.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
293
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: FormFlowOverviewComponent, isStandalone: false, selector: "ng-component", viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [header]=\"false\"\n [items]=\"formFlowDefinitions$ | async\"\n [fields]=\"FIELDS\"\n [loading]=\"loading$ | async\"\n (rowClicked)=\"editFormFlowDetails($event)\"\n>\n <ng-container header> {{ 'formFlow.title' | translate }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addFormFlowButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addFormFlowButton\"\n description=\"{{ 'formFlow.noResults.description' | translate }}\"\n title=\"{{ 'formFlow.noResults.title' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-new-form-flow-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-new-form-flow-modal>\n\n<ng-template #addFormFlowButton>\n <button *ngIf=\"hasEditPermissions$ | async\" cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'formFlow.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteDefinitionKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i1$2.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i1$2.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i1$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: NewFormFlowModalComponent, selector: "valtimo-new-form-flow-modal", inputs: ["open"], outputs: ["closeEvent"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowOverviewComponent, deps: [{ token: FormFlowService }, { token: i2.GlobalNotificationService }, { token: i3$1.ActivatedRoute }, { token: i3$1.Router }, { token: i4.TranslateService }, { token: i2.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
293
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: FormFlowOverviewComponent, isStandalone: false, selector: "ng-component", viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [header]=\"false\"\n [items]=\"formFlowDefinitions$ | async\"\n [fields]=\"FIELDS\"\n [loading]=\"loading$ | async\"\n (rowClicked)=\"editFormFlowDetails($event)\"\n>\n <ng-container header> {{ 'formFlow.title' | translate }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addFormFlowButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addFormFlowButton\"\n description=\"{{ 'formFlow.noResults.description' | translate }}\"\n title=\"{{ 'formFlow.noResults.title' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-new-form-flow-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-new-form-flow-modal>\n\n<ng-template #addFormFlowButton>\n <button *ngIf=\"hasEditPermissions$ | async\" cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'formFlow.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteDefinitionKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i1$2.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i1$2.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "initialSearchValue", "searchDebounceMs", "invalidSearchFields", "searchFields", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled", "expandedRowTemplate", "expandedRowKey"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i1$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: NewFormFlowModalComponent, selector: "valtimo-new-form-flow-modal", inputs: ["open"], outputs: ["closeEvent"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
294
294
  }
295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowOverviewComponent, decorators: [{
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowOverviewComponent, decorators: [{
296
296
  type: Component,
297
297
  args: [{ standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [header]=\"false\"\n [items]=\"formFlowDefinitions$ | async\"\n [fields]=\"FIELDS\"\n [loading]=\"loading$ | async\"\n (rowClicked)=\"editFormFlowDetails($event)\"\n>\n <ng-container header> {{ 'formFlow.title' | translate }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addFormFlowButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addFormFlowButton\"\n description=\"{{ 'formFlow.noResults.description' | translate }}\"\n title=\"{{ 'formFlow.noResults.title' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-new-form-flow-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-new-form-flow-modal>\n\n<ng-template #addFormFlowButton>\n <button *ngIf=\"hasEditPermissions$ | async\" cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'formFlow.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteDefinitionKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n" }]
298
298
  }], ctorParameters: () => [{ type: FormFlowService }, { type: i2.GlobalNotificationService }, { type: i3$1.ActivatedRoute }, { type: i3$1.Router }, { type: i4.TranslateService }, { type: i2.EditPermissionsService }], propDecorators: { carbonList: [{
@@ -326,10 +326,10 @@ class FormFlowDownloadService {
326
326
  element.click(); // simulate click
327
327
  document.body.removeChild(element);
328
328
  }
329
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowDownloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
330
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowDownloadService, providedIn: 'root' }); }
329
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowDownloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
330
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowDownloadService, providedIn: 'root' }); }
331
331
  }
332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowDownloadService, decorators: [{
332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowDownloadService, decorators: [{
333
333
  type: Injectable,
334
334
  args: [{ providedIn: 'root' }]
335
335
  }] });
@@ -510,10 +510,10 @@ class FormFlowEditorComponent {
510
510
  });
511
511
  }
512
512
  }
513
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowEditorComponent, deps: [{ token: i1$2.BreadcrumbService }, { token: FormFlowDownloadService }, { token: FormFlowService }, { token: i3.IconService }, { token: i2.GlobalNotificationService }, { token: i1$2.PageHeaderService }, { token: i1$2.PageTitleService }, { token: i3$1.ActivatedRoute }, { token: i3$1.Router }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
514
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: FormFlowEditorComponent, isStandalone: false, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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@if ({model: model$ | async, schema: formFlowSchemaJson$ | async}; as obs) {\n @if (obs.model && obs.schema) {\n <valtimo-editor\n [disabled]=\"(loading$ | async) === false && readOnly$ | async\"\n [editorOptions]=\"editorOptions\"\n [model]=\"obs.model\"\n [jsonSchema]=\"obs.schema\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n ></valtimo-editor>\n } @else {\n <cds-loading></cds-loading>\n }\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div\n *ngIf=\"{\n compactMode: compactMode$ | async,\n valid: valid$ | async,\n readOnly: readOnly$ | async,\n model: model$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <v-overflow-menu placement=\"bottom-end\">\n <v-overflow-menu-trigger overflowTrigger></v-overflow-menu-trigger>\n <v-overflow-menu-option\n [disabled]=\"!obs.valid && !obs.readOnly\"\n (selected)=\"downloadFormFlowDefinition(obs.model)\"\n >{{ 'interface.export' | translate }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [disabled]=\"obs.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n\n <button cdsButton=\"secondary\" [size]=\"obs.compactMode ? 'sm' : 'md'\" (click)=\"navigateBack()\">\n {{ 'interface.back' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n </button>\n\n <button\n [disabled]=\"!obs.valid || obs.readOnly\"\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"updateFormFlowDefinition()\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </div>\n </ng-template>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete()\"\n></valtimo-confirmation-modal>\n", styles: ["cds-loading{display:flex;justify-content:center}.buttons-container{display:flex;align-items:center;justify-self:flex-end;gap:16px}\n/*!\n * Copyright 2015-2025 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: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i1$2.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i1$2.EditorComponent, selector: "valtimo-editor", inputs: ["editorOptions", "model", "disabled", "formatOnLoad", "widthPx", "heightPx", "heightStyle", "jsonSchema", "fitPage"], outputs: ["validEvent", "valueChangeEvent"] }, { kind: "directive", type: i1$2.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i3.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i1$2.OverflowMenuComponent, selector: "v-overflow-menu", inputs: ["open", "placement", "menuWidth", "offsetX", "offsetY", "closeOnSelect", "useHostAsReference", "portalToBody"], outputs: ["openChange"] }, { kind: "component", type: i1$2.OverflowMenuOptionComponent, selector: "v-overflow-menu-option", inputs: ["disabled", "type", "testId", "optionId"], outputs: ["selected"] }, { kind: "component", type: i1$2.OverflowMenuTriggerComponent, selector: "v-overflow-menu-trigger", inputs: ["compact"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
513
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowEditorComponent, deps: [{ token: i1$2.BreadcrumbService }, { token: FormFlowDownloadService }, { token: FormFlowService }, { token: i3.IconService }, { token: i2.GlobalNotificationService }, { token: i1$2.PageHeaderService }, { token: i1$2.PageTitleService }, { token: i3$1.ActivatedRoute }, { token: i3$1.Router }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
514
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: FormFlowEditorComponent, isStandalone: false, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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@if ({model: model$ | async, schema: formFlowSchemaJson$ | async}; as obs) {\n @if (obs.model && obs.schema) {\n <valtimo-editor\n [disabled]=\"(loading$ | async) === false && readOnly$ | async\"\n [editorOptions]=\"editorOptions\"\n [model]=\"obs.model\"\n [jsonSchema]=\"obs.schema\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n ></valtimo-editor>\n } @else {\n <cds-loading></cds-loading>\n }\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div\n *ngIf=\"{\n compactMode: compactMode$ | async,\n valid: valid$ | async,\n readOnly: readOnly$ | async,\n model: model$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <v-overflow-menu placement=\"bottom-end\">\n <v-overflow-menu-trigger overflowTrigger></v-overflow-menu-trigger>\n <v-overflow-menu-option\n [disabled]=\"!obs.valid && !obs.readOnly\"\n (selected)=\"downloadFormFlowDefinition(obs.model)\"\n >{{ 'interface.export' | translate }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [disabled]=\"obs.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n\n <button cdsButton=\"secondary\" [size]=\"obs.compactMode ? 'sm' : 'md'\" (click)=\"navigateBack()\">\n {{ 'interface.back' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n </button>\n\n <button\n [disabled]=\"!obs.valid || obs.readOnly\"\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"updateFormFlowDefinition()\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </div>\n </ng-template>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete()\"\n></valtimo-confirmation-modal>\n", styles: ["cds-loading{display:flex;justify-content:center}.buttons-container{display:flex;align-items:center;justify-self:flex-end;gap:16px}\n/*!\n * Copyright 2015-2025 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: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i1$2.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i1$2.EditorComponent, selector: "valtimo-editor", inputs: ["editorOptions", "model", "disabled", "formatOnLoad", "widthPx", "heightPx", "heightStyle", "jsonSchema", "fitPage"], outputs: ["validEvent", "valueChangeEvent"] }, { kind: "directive", type: i1$2.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i3.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i1$2.OverflowMenuComponent, selector: "v-overflow-menu", inputs: ["open", "placement", "menuWidth", "offsetX", "offsetY", "closeOnSelect", "useHostAsReference", "portalToBody"], outputs: ["openChange"] }, { kind: "component", type: i1$2.OverflowMenuOptionComponent, selector: "v-overflow-menu-option", inputs: ["disabled", "type", "testId", "optionId"], outputs: ["selected"] }, { kind: "component", type: i1$2.OverflowMenuTriggerComponent, selector: "v-overflow-menu-trigger", inputs: ["compact"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
515
515
  }
516
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowEditorComponent, decorators: [{
516
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowEditorComponent, decorators: [{
517
517
  type: Component,
518
518
  args: [{ standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2025 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@if ({model: model$ | async, schema: formFlowSchemaJson$ | async}; as obs) {\n @if (obs.model && obs.schema) {\n <valtimo-editor\n [disabled]=\"(loading$ | async) === false && readOnly$ | async\"\n [editorOptions]=\"editorOptions\"\n [model]=\"obs.model\"\n [jsonSchema]=\"obs.schema\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n ></valtimo-editor>\n } @else {\n <cds-loading></cds-loading>\n }\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div\n *ngIf=\"{\n compactMode: compactMode$ | async,\n valid: valid$ | async,\n readOnly: readOnly$ | async,\n model: model$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <v-overflow-menu placement=\"bottom-end\">\n <v-overflow-menu-trigger overflowTrigger></v-overflow-menu-trigger>\n <v-overflow-menu-option\n [disabled]=\"!obs.valid && !obs.readOnly\"\n (selected)=\"downloadFormFlowDefinition(obs.model)\"\n >{{ 'interface.export' | translate }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [disabled]=\"obs.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n\n <button cdsButton=\"secondary\" [size]=\"obs.compactMode ? 'sm' : 'md'\" (click)=\"navigateBack()\">\n {{ 'interface.back' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n </button>\n\n <button\n [disabled]=\"!obs.valid || obs.readOnly\"\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"updateFormFlowDefinition()\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </div>\n </ng-template>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete()\"\n></valtimo-confirmation-modal>\n", styles: ["cds-loading{display:flex;justify-content:center}.buttons-container{display:flex;align-items:center;justify-self:flex-end;gap:16px}\n/*!\n * Copyright 2015-2025 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"] }]
519
519
  }], ctorParameters: () => [{ type: i1$2.BreadcrumbService }, { type: FormFlowDownloadService }, { type: FormFlowService }, { type: i3.IconService }, { type: i2.GlobalNotificationService }, { type: i1$2.PageHeaderService }, { type: i1$2.PageTitleService }, { type: i3$1.ActivatedRoute }, { type: i3$1.Router }, { type: i4.TranslateService }] });
@@ -540,10 +540,10 @@ class DeleteFormFlowModalComponent {
540
540
  onDelete(formFlowDefinitionKey) {
541
541
  this.deleteEvent.emit(formFlowDefinitionKey);
542
542
  }
543
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DeleteFormFlowModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
544
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: DeleteFormFlowModalComponent, isStandalone: false, selector: "valtimo-delete-form-flow-modal", inputs: { deleteFormFlowDefinitionKey: "deleteFormFlowDefinitionKey", showDeleteModal$: "showDeleteModal$" }, outputs: { deleteEvent: "deleteEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteFormFlowDefinitionKey\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "component", type: i1$2.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
543
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DeleteFormFlowModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
544
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: DeleteFormFlowModalComponent, isStandalone: false, selector: "valtimo-delete-form-flow-modal", inputs: { deleteFormFlowDefinitionKey: "deleteFormFlowDefinitionKey", showDeleteModal$: "showDeleteModal$" }, outputs: { deleteEvent: "deleteEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteFormFlowDefinitionKey\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n", dependencies: [{ kind: "component", type: i1$2.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
545
545
  }
546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DeleteFormFlowModalComponent, decorators: [{
546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DeleteFormFlowModalComponent, decorators: [{
547
547
  type: Component,
548
548
  args: [{ standalone: false, selector: 'valtimo-delete-form-flow-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2025 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteFormFlowDefinitionKey\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n" }]
549
549
  }], propDecorators: { deleteFormFlowDefinitionKey: [{
@@ -570,8 +570,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
570
570
  * limitations under the License.
571
571
  */
572
572
  class FormFlowManagementModule {
573
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
574
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: FormFlowManagementModule, declarations: [FormFlowOverviewComponent,
573
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
574
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: FormFlowManagementModule, declarations: [FormFlowOverviewComponent,
575
575
  FormFlowEditorComponent,
576
576
  DeleteFormFlowModalComponent], imports: [CommonModule,
577
577
  ButtonModule,
@@ -594,7 +594,7 @@ class FormFlowManagementModule {
594
594
  DropdownModule,
595
595
  ConfirmationModalModule,
596
596
  NewFormFlowModalComponent] }); }
597
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowManagementModule, imports: [CommonModule,
597
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowManagementModule, imports: [CommonModule,
598
598
  ButtonModule,
599
599
  FormsModule,
600
600
  ModalModule,
@@ -615,7 +615,7 @@ class FormFlowManagementModule {
615
615
  ConfirmationModalModule,
616
616
  NewFormFlowModalComponent] }); }
617
617
  }
618
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FormFlowManagementModule, decorators: [{
618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormFlowManagementModule, decorators: [{
619
619
  type: NgModule,
620
620
  args: [{
621
621
  declarations: [
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-form-flow-management.mjs","sources":["../../../../projects/valtimo/form-flow-management/src/lib/models/form-flow.model.ts","../../../../projects/valtimo/form-flow-management/src/lib/models/index.ts","../../../../projects/valtimo/form-flow-management/src/lib/services/form-flow.service.ts","../../../../projects/valtimo/form-flow-management/src/lib/services/index.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/new-form-flow-modal/new-form-flow-modal.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/new-form-flow-modal/new-form-flow-modal.component.html","../../../../projects/valtimo/form-flow-management/src/lib/components/overview/form-flow-overview.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/overview/form-flow-overview.component.html","../../../../projects/valtimo/form-flow-management/src/lib/services/form-flow-download.service.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/editor/form-flow-editor.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/editor/form-flow-editor.component.html","../../../../projects/valtimo/form-flow-management/src/lib/components/delete-form-flow-modal/delete-form-flow-modal.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/delete-form-flow-modal/delete-form-flow-modal.component.html","../../../../projects/valtimo/form-flow-management/src/lib/form-flow-management.module.ts","../../../../projects/valtimo/form-flow-management/src/public-api.ts","../../../../projects/valtimo/form-flow-management/src/valtimo-form-flow-management.ts"],"sourcesContent":["/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface ListFormFlowDefinition {\n key: string;\n versions: Array<number>;\n readOnly?: boolean;\n}\n\ninterface FormFlowDefinition {\n key: string;\n readOnly?: boolean;\n startStep: string;\n steps: Array<FormFlowStep>;\n}\n\ninterface FormFlowDefinitionId {\n key: string;\n version: number;\n}\n\ninterface FormFlowStep {\n key: string;\n nextSteps: Array<FormFlowNextStep>;\n onBack: Array<string>;\n onOpen: Array<string>;\n onComplete: Array<string>;\n type: FormFlowStepType;\n}\n\ninterface FormFlowNextStep {\n condition?: string;\n step: string;\n}\n\ninterface FormFlowStepType {\n name: string;\n properties: FormStepTypeProperties | CustomComponentStepTypeProperties;\n}\n\ninterface FormStepTypeProperties {\n definition: string;\n}\n\ninterface CustomComponentStepTypeProperties {\n componentId: string;\n}\n\ninterface DeleteFormFlowsRequest {\n formFlowKeys: Array<string>;\n}\n\ninterface LoadedValue<T> {\n isLoading: boolean;\n value?: T;\n}\n\ninterface FormFlowEditorParams {\n formFlowDefinitionKey: string;\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n}\n\ninterface FormFlowRouteParams {\n formFlowDefinitionKey: string;\n}\n\nexport {\n ListFormFlowDefinition,\n FormFlowDefinition,\n FormFlowDefinitionId,\n FormFlowStep,\n FormFlowNextStep,\n FormFlowStepType,\n FormStepTypeProperties,\n CustomComponentStepTypeProperties,\n DeleteFormFlowsRequest,\n LoadedValue,\n FormFlowEditorParams,\n FormFlowRouteParams,\n};\n","/*\n * Copyright 2015-2025 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-flow.model';\n","/*\n * Copyright 2015-2025 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 {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {ConfigService, Page, BaseApiService} from '@valtimo/shared';\nimport {BehaviorSubject, catchError, Observable, of, switchMap, take, tap} from 'rxjs';\nimport {FormFlowDefinition, FormFlowDefinitionId, ListFormFlowDefinition} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FormFlowService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public getFormFlowDefinitionSchema(): Observable<object> {\n return this.httpClient.get<object>(this.getApiUrl('management/v1/form-flow-definition/schema'));\n }\n\n public getFormFlowDefinitions(\n caseDefinitionKey: string,\n caseVersionTag: string\n ): Observable<Page<ListFormFlowDefinition>> {\n return this.httpClient.get<Page<ListFormFlowDefinition>>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition`\n )\n );\n }\n\n public getFormFlowDefinitionByKey(\n caseDefinitionKey: string,\n caseVersionTag: string,\n formFlowDefinitionKey: string\n ): Observable<FormFlowDefinition> {\n return this.httpClient.get<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${formFlowDefinitionKey}`\n )\n );\n }\n\n public createFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.post<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition`\n ),\n definition\n );\n }\n\n public deleteFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definitionKey: string\n ): Observable<null> {\n return this.httpClient.delete<null>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${definitionKey}`\n )\n );\n }\n\n public updateFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definitionKey: string,\n updatedDefinition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.put<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${definitionKey}`\n ),\n updatedDefinition\n );\n }\n\n public getBuildingBlockFormFlowDefinitions(\n buildingBlockKey: string,\n versionTag: string\n ): Observable<Page<ListFormFlowDefinition>> {\n return this.httpClient.get<Page<ListFormFlowDefinition>>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition`\n )\n );\n }\n\n public getBuildingBlockFormFlowDefinitionByKey(\n buildingBlockKey: string,\n versionTag: string,\n formFlowDefinitionKey: string\n ): Observable<FormFlowDefinition> {\n return this.httpClient.get<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${formFlowDefinitionKey}`\n )\n );\n }\n\n public createBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.post<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition`\n ),\n definition\n );\n }\n\n public deleteBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definitionKey: string\n ): Observable<null> {\n return this.httpClient.delete<null>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${definitionKey}`\n )\n );\n }\n\n public updateBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definitionKey: string,\n updatedDefinition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.put<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${definitionKey}`\n ),\n updatedDefinition\n );\n }\n}\n","/*\n * Copyright 2015-2025 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-flow.service';\n","/*\n * Copyright 2015-2025 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 {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {FormBuilder, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {FormFlowDefinition} from '../../models';\nimport {CARBON_CONSTANTS, ValtimoCdsModalDirective} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ButtonModule, InputModule, ModalModule} from 'carbon-components-angular';\n\n@Component({\n standalone: true,\n selector: 'valtimo-new-form-flow-modal',\n templateUrl: './new-form-flow-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n TranslateModule,\n ModalModule,\n InputModule,\n ButtonModule,\n ValtimoCdsModalDirective,\n ],\n})\nexport class NewFormFlowModalComponent {\n @Input() open = false;\n @Output() closeEvent = new EventEmitter<FormFlowDefinition | null>();\n\n public form = this.fb.group({\n key: this.fb.control('', Validators.required),\n });\n\n public get key() {\n return this.form?.get('key');\n }\n\n constructor(private readonly fb: FormBuilder) {}\n\n public onCancel(): void {\n this.closeEvent.emit(null);\n this.resetForm();\n }\n\n public onConfirm(): void {\n if (!this.key) {\n return;\n }\n\n this.closeEvent.emit({\n key: this.key.value ?? '',\n startStep: 'start-step',\n steps: [],\n });\n this.resetForm();\n }\n\n private resetForm(): void {\n setTimeout(() => {\n this.form.reset();\n }, CARBON_CONSTANTS.modalAnimationMs);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n [open]=\"open\"\n showFooter=\"true\"\n [title]=\"'formFlow.add' | translate\"\n valtimoCdsModal\n (close)=\"onCancel()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'formFlow.add' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'formFlow.key' | translate }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'formFlow.key' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ 'interface.create' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n","/*\n * Copyright 2015-2025 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 */\nimport {ChangeDetectionStrategy, Component, ViewChild} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ActionItem, CarbonListComponent, ColumnConfig, ViewType} from '@valtimo/components';\nimport {\n CaseManagementParams,\n EditPermissionsService,\n getCaseManagementRouteParams,\n GlobalNotificationService,\n Page,\n} from '@valtimo/shared';\nimport {BehaviorSubject, combineLatest, map, Observable, of, switchMap, tap} from 'rxjs';\nimport {FormFlowDefinition, ListFormFlowDefinition} from '../../models';\nimport {FormFlowService} from '../../services';\n\n@Component({\n standalone: false,\n templateUrl: './form-flow-overview.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormFlowOverviewComponent {\n @ViewChild(CarbonListComponent) carbonList: CarbonListComponent;\n\n public readonly FIELDS: ColumnConfig[] = [\n {\n viewType: ViewType.TEXT,\n key: 'key',\n label: 'formFlow.key',\n },\n {\n viewType: ViewType.TEXT,\n key: 'versions.0',\n label: 'formFlow.version',\n },\n {\n viewType: ViewType.BOOLEAN,\n key: 'readOnly',\n label: 'formFlow.readOnly',\n },\n ];\n\n public readonly ACTION_ITEMS: ActionItem[] = [\n {\n callback: this.editFormFlowDetails.bind(this),\n label: 'interface.edit',\n },\n {\n callback: this.deleteFormFlow.bind(this),\n label: 'interface.delete',\n type: 'danger',\n },\n ];\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly showDeleteModal$ = new BehaviorSubject<boolean>(false);\n public readonly deleteDefinitionKey$ = new BehaviorSubject<string | null>(null);\n\n private _params: CaseManagementParams | undefined = undefined;\n private readonly _refresh$ = new BehaviorSubject<null>(null);\n public readonly formFlowDefinitions$: Observable<ListFormFlowDefinition[]> = combineLatest([\n getCaseManagementRouteParams(this.route),\n this._refresh$,\n ]).pipe(\n tap(([params]) => {\n this.loading$.next(true);\n this._params = params;\n }),\n switchMap(([params]) =>\n !params\n ? of(null)\n : this.formFlowService.getFormFlowDefinitions(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n ),\n map((formFlows: Page<ListFormFlowDefinition> | null) => {\n this.loading$.next(false);\n return !formFlows ? [] : formFlows.content;\n })\n );\n public readonly showAddModal$ = new BehaviorSubject<boolean>(false);\n\n public readonly params$ = getCaseManagementRouteParams(this.route);\n\n public readonly hasEditPermissions$: Observable<boolean> = this.params$.pipe(\n switchMap(params =>\n this.editPermissionsService.hasEditPermissions(\n params?.caseDefinitionKey,\n params?.caseDefinitionVersionTag\n )\n )\n );\n\n constructor(\n private readonly formFlowService: FormFlowService,\n private readonly globalNotificationService: GlobalNotificationService,\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly translateService: TranslateService,\n private readonly editPermissionsService: EditPermissionsService\n ) {}\n\n public openAddModal(): void {\n this.showAddModal$.next(true);\n }\n\n public onAdd(formFlowDefinition: FormFlowDefinition | null): void {\n this.showAddModal$.next(false);\n\n if (!formFlowDefinition || !this._params) return;\n\n this.formFlowService\n .createFormFlowDefinition(\n this._params.caseDefinitionKey,\n this._params.caseDefinitionVersionTag,\n formFlowDefinition\n )\n .subscribe((formFlowDefinition: FormFlowDefinition) => {\n this.showAddModal$.next(false);\n this.router.navigate([formFlowDefinition.key], {relativeTo: this.route});\n });\n }\n\n public editFormFlowDetails(formFlowDefinition: ListFormFlowDefinition): void {\n this.router.navigate([formFlowDefinition.key], {relativeTo: this.route});\n }\n\n public deleteFormFlow(item: ListFormFlowDefinition): void {\n this.deleteDefinitionKey$.next(item.key);\n this.showDeleteModal$.next(true);\n }\n\n public onDelete(definitionKey: string): void {\n if (!this._params) return;\n\n this.formFlowService\n .deleteFormFlowDefinition(\n this._params.caseDefinitionKey,\n this._params.caseDefinitionVersionTag,\n definitionKey\n )\n .subscribe(() => {\n this.globalNotificationService.showToast({\n title: this.translateService.instant('interface.delete'),\n caption: this.translateService.instant('formFlow.deletedSuccessfully', {\n key: definitionKey,\n }),\n type: 'success',\n });\n this._refresh$.next(null);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [header]=\"false\"\n [items]=\"formFlowDefinitions$ | async\"\n [fields]=\"FIELDS\"\n [loading]=\"loading$ | async\"\n (rowClicked)=\"editFormFlowDetails($event)\"\n>\n <ng-container header> {{ 'formFlow.title' | translate }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addFormFlowButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addFormFlowButton\"\n description=\"{{ 'formFlow.noResults.description' | translate }}\"\n title=\"{{ 'formFlow.noResults.title' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-new-form-flow-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-new-form-flow-modal>\n\n<ng-template #addFormFlowButton>\n <button *ngIf=\"hasEditPermissions$ | async\" cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'formFlow.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteDefinitionKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n","/*\n * Copyright 2015-2025 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 */\nimport {Injectable} from '@angular/core';\nimport {FormFlowEditorParams} from '../models';\n\n@Injectable({providedIn: 'root'})\nexport class FormFlowDownloadService {\n public downloadJson(\n json: object,\n params: FormFlowEditorParams\n ): void {\n const sJson = JSON.stringify(json, null, 2);\n const element = document.createElement('a');\n element.setAttribute('href', 'data:text/json;charset=UTF-8,' + encodeURIComponent(sJson));\n element.setAttribute(\n 'download',\n `${params.caseDefinitionKey}-${params.caseDefinitionVersionTag}-${params.formFlowDefinitionKey}.formflow.json`\n );\n element.style.display = 'none';\n document.body.appendChild(element);\n element.click(); // simulate click\n document.body.removeChild(element);\n }\n}\n","/*\n * Copyright 2015-2025 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 */\nimport {ChangeDetectionStrategy, Component, OnDestroy} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {ArrowLeft16} from '@carbon/icons';\nimport {TranslateService} from '@ngx-translate/core';\nimport {\n BreadcrumbService,\n EditorModel,\n PageHeaderService,\n PageTitleService,\n} from '@valtimo/components';\nimport {\n getBuildingBlockManagementRouteParams,\n getCaseManagementRouteParams,\n getContextObservable,\n GlobalNotificationService,\n ManagementContext,\n} from '@valtimo/shared';\nimport {IconService} from 'carbon-components-angular';\nimport {editor} from 'monaco-editor';\nimport {\n BehaviorSubject,\n combineLatest,\n finalize,\n map,\n Observable,\n shareReplay,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {FormFlowDefinition, FormFlowEditorParams, FormFlowRouteParams} from '../../models';\nimport {FormFlowService} from '../../services';\nimport {FormFlowDownloadService} from '../../services/form-flow-download.service';\n\n@Component({\n standalone: false,\n templateUrl: './form-flow-editor.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./form-flow-editor.component.scss'],\n})\nexport class FormFlowEditorComponent implements OnDestroy {\n public readonly readOnly$ = new BehaviorSubject<boolean>(false);\n public readonly valid$ = new BehaviorSubject<boolean>(false);\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly showDeleteModal$ = new BehaviorSubject<boolean>(false);\n public readonly CARBON_THEME = 'g10';\n\n private readonly _context$: Observable<ManagementContext | null> = getContextObservable(\n this.route\n );\n\n private readonly _params$: Observable<FormFlowEditorParams> = this._context$.pipe(\n switchMap(context => {\n if (context === 'buildingBlock') {\n return combineLatest([\n getBuildingBlockManagementRouteParams(this.route),\n this.route.params as Observable<FormFlowRouteParams>,\n ]).pipe(\n map(([bbParams, params]) => ({\n caseDefinitionKey: bbParams?.buildingBlockDefinitionKey ?? '',\n caseDefinitionVersionTag: bbParams?.buildingBlockDefinitionVersionTag ?? '',\n formFlowDefinitionKey: params.formFlowDefinitionKey,\n }))\n );\n }\n\n return combineLatest([\n getCaseManagementRouteParams(this.route),\n this.route.params as Observable<FormFlowRouteParams>,\n ]).pipe(\n map(([caseManagementParams, params]) => ({\n ...(caseManagementParams ?? {caseDefinitionKey: '', caseDefinitionVersionTag: ''}),\n ...params,\n }))\n );\n })\n );\n\n public readonly formFlowSchemaJson$: Observable<object> = this.formFlowService\n .getFormFlowDefinitionSchema()\n .pipe(shareReplay(1));\n\n public readonly editorOptions: editor.IEditorOptions = {\n quickSuggestions: {other: true, comments: false, strings: true},\n };\n\n private readonly _formFlowDefinition2$ = combineLatest([this._params$, this._context$]).pipe(\n tap(() => this.loading$.next(true)),\n switchMap(([params, context]) => {\n this.initBreadcrumbs(params, context);\n\n if (context === 'buildingBlock') {\n return this.formFlowService.getBuildingBlockFormFlowDefinitionByKey(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }\n\n return this.formFlowService.getFormFlowDefinitionByKey(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }),\n tap((formFlowDefinition: FormFlowDefinition) => {\n this.pageTitleService.setCustomPageTitle(formFlowDefinition.key);\n this.readOnly$.next(formFlowDefinition.readOnly === true);\n this.loading$.next(false);\n })\n );\n public readonly model$: Observable<EditorModel> = this._formFlowDefinition2$.pipe(\n map((formFlowDefinition: FormFlowDefinition) => this.getEditorModel(formFlowDefinition))\n );\n\n private readonly _updatedModelValue$ = new BehaviorSubject<string>('');\n\n public readonly compactMode$ = this.pageHeaderService.compactMode$;\n\n constructor(\n private readonly breadcrumbService: BreadcrumbService,\n private readonly formFlowDownloadService: FormFlowDownloadService,\n private readonly formFlowService: FormFlowService,\n private readonly iconService: IconService,\n private readonly notificationService: GlobalNotificationService,\n private readonly pageHeaderService: PageHeaderService,\n private readonly pageTitleService: PageTitleService,\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly translateService: TranslateService\n ) {\n this.iconService.registerAll([ArrowLeft16]);\n this.pageTitleService.disableReset();\n }\n\n public ngOnDestroy(): void {\n this.pageTitleService.enableReset();\n this.breadcrumbService.clearThirdBreadcrumb();\n this.breadcrumbService.clearFourthBreadcrumb();\n }\n\n public onValid(valid: boolean): void {\n this.valid$.next(valid);\n }\n\n public onValueChange(value: string): void {\n this._updatedModelValue$.next(value);\n }\n\n public updateFormFlowDefinition(): void {\n this.loading$.next(true);\n\n combineLatest([this._params$, this._updatedModelValue$, this._context$])\n .pipe(\n take(1),\n switchMap(([params, updatedModelValue, context]) => {\n const updatedDefinition = {\n ...(JSON.parse(updatedModelValue) as FormFlowDefinition),\n key: params.formFlowDefinitionKey,\n };\n\n if (context === 'buildingBlock') {\n return this.formFlowService.updateBuildingBlockFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey,\n updatedDefinition\n );\n }\n\n return this.formFlowService.updateFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey,\n updatedDefinition\n );\n }),\n finalize(() => this.loading$.next(false))\n )\n .subscribe(result => {\n this.showSuccessMessage(result.key);\n });\n }\n\n public onDelete(): void {\n this.loading$.next(true);\n combineLatest([this._params$, this._context$])\n .pipe(\n take(1),\n switchMap(([params, context]) => {\n if (context === 'buildingBlock') {\n return this.formFlowService.deleteBuildingBlockFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }\n\n return this.formFlowService.deleteFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n })\n )\n .subscribe(() => {\n this.router.navigate(['../'], {relativeTo: this.route});\n });\n }\n\n public showDeleteModal(): void {\n this.showDeleteModal$.next(true);\n }\n\n public downloadFormFlowDefinition(model: EditorModel): void {\n this._params$\n .pipe(take(1))\n .subscribe((params: FormFlowEditorParams) =>\n this.formFlowDownloadService.downloadJson(JSON.parse(model.value), params)\n );\n }\n\n public navigateBack(): void {\n this.router.navigate(['../'], {relativeTo: this.route});\n }\n\n private getEditorModel(formFlowDefinition: FormFlowDefinition): EditorModel {\n const clone = {...formFlowDefinition};\n delete clone.readOnly;\n return {\n value: JSON.stringify(clone),\n language: 'json',\n uri: `inmemory://form-flow/${formFlowDefinition.key}.formflow.json`,\n };\n }\n\n private showSuccessMessage(formFlowDefinitionKey: string): void {\n this.notificationService.showToast({\n caption: this.translateService.instant('formFlow.savedSuccessTitleMessage', {\n key: formFlowDefinitionKey,\n }),\n type: 'success',\n title: this.translateService.instant('formFlow.savedSuccessTitle'),\n });\n }\n\n private initBreadcrumbs(params: FormFlowEditorParams, context: ManagementContext | null): void {\n if (context === 'buildingBlock') {\n const route = `/building-block-management/building-block/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}`;\n const generalRoute = `${route}/general`;\n\n this.breadcrumbService.setThirdBreadcrumb({\n route: [generalRoute],\n content: `${params.caseDefinitionKey} (${params.caseDefinitionVersionTag})`,\n href: generalRoute,\n });\n\n const routeWithFormFlows = `${route}/form-flows`;\n\n this.breadcrumbService.setFourthBreadcrumb({\n route: [routeWithFormFlows],\n content: this.translateService.instant('buildingBlockManagement.tabs.formFlows'),\n href: routeWithFormFlows,\n });\n } else {\n const route = `/case-management/case/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}`;\n\n this.breadcrumbService.setThirdBreadcrumb({\n route: [route],\n content: `${params.caseDefinitionKey} (${params.caseDefinitionVersionTag})`,\n href: route,\n });\n\n const routeWithFormFlows = `${route}/form-flows`;\n\n this.breadcrumbService.setFourthBreadcrumb({\n route: [routeWithFormFlows],\n content: this.translateService.instant('caseManagement.tabs.formFlows'),\n href: routeWithFormFlows,\n });\n }\n }\n}\n","<!--\n ~ Copyright 2015-2025 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@if ({model: model$ | async, schema: formFlowSchemaJson$ | async}; as obs) {\n @if (obs.model && obs.schema) {\n <valtimo-editor\n [disabled]=\"(loading$ | async) === false && readOnly$ | async\"\n [editorOptions]=\"editorOptions\"\n [model]=\"obs.model\"\n [jsonSchema]=\"obs.schema\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n ></valtimo-editor>\n } @else {\n <cds-loading></cds-loading>\n }\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div\n *ngIf=\"{\n compactMode: compactMode$ | async,\n valid: valid$ | async,\n readOnly: readOnly$ | async,\n model: model$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <v-overflow-menu placement=\"bottom-end\">\n <v-overflow-menu-trigger overflowTrigger></v-overflow-menu-trigger>\n <v-overflow-menu-option\n [disabled]=\"!obs.valid && !obs.readOnly\"\n (selected)=\"downloadFormFlowDefinition(obs.model)\"\n >{{ 'interface.export' | translate }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [disabled]=\"obs.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n\n <button cdsButton=\"secondary\" [size]=\"obs.compactMode ? 'sm' : 'md'\" (click)=\"navigateBack()\">\n {{ 'interface.back' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n </button>\n\n <button\n [disabled]=\"!obs.valid || obs.readOnly\"\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"updateFormFlowDefinition()\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </div>\n </ng-template>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete()\"\n></valtimo-confirmation-modal>\n","/*\n * Copyright 2015-2025 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 {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {Observable} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-form-flow-modal',\n templateUrl: './delete-form-flow-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DeleteFormFlowModalComponent {\n @Input() deleteFormFlowDefinitionKey: string;\n @Input() showDeleteModal$: Observable<boolean>;\n @Output() deleteEvent = new EventEmitter<string>();\n\n public onDelete(formFlowDefinitionKey: string): void {\n this.deleteEvent.emit(formFlowDefinitionKey);\n }\n}\n","<!--\n ~ Copyright 2015-2025 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteFormFlowDefinitionKey\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n","/*\n * Copyright 2015-2025 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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {\n CarbonListModule,\n ConfirmationModalModule,\n EditorModule,\n OverflowMenuComponent,\n OverflowMenuOptionComponent,\n OverflowMenuTriggerComponent,\n RenderInPageHeaderDirective,\n} from '@valtimo/components';\nimport {FormFlowOverviewComponent} from './components/overview/form-flow-overview.component';\nimport {NewFormFlowModalComponent} from './components/new-form-flow-modal/new-form-flow-modal.component';\nimport {\n ButtonModule,\n DropdownModule,\n IconModule,\n InputModule,\n LoadingModule,\n ModalModule,\n NotificationModule,\n} from 'carbon-components-angular';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {FormFlowEditorComponent} from './components/editor/form-flow-editor.component';\nimport {DeleteFormFlowModalComponent} from './components/delete-form-flow-modal/delete-form-flow-modal.component';\n\n@NgModule({\n declarations: [\n FormFlowOverviewComponent,\n FormFlowEditorComponent,\n DeleteFormFlowModalComponent,\n ],\n imports: [\n CommonModule,\n ButtonModule,\n FormsModule,\n ModalModule,\n TranslateModule,\n ReactiveFormsModule,\n InputModule,\n IconModule,\n ConfirmationModalModule,\n EditorModule,\n RenderInPageHeaderDirective,\n LoadingModule,\n IconModule,\n OverflowMenuComponent,\n OverflowMenuOptionComponent,\n OverflowMenuTriggerComponent,\n NotificationModule,\n CarbonListModule,\n DropdownModule,\n ConfirmationModalModule,\n NewFormFlowModalComponent,\n ],\n})\nexport class FormFlowManagementModule {}\n","/*\n * Copyright 2015-2025 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-flow\n */\n\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/components/overview/form-flow-overview.component';\nexport * from './lib/components/editor/form-flow-editor.component';\nexport * from './lib/components/new-form-flow-modal/new-form-flow-modal.component';\nexport * from './lib/form-flow-management.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.FormFlowService","i3","i6","i7","i8.NewFormFlowModalComponent","i2.FormFlowDownloadService","i3.FormFlowService","i4","i5","i8"],"mappings":"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"}
1
+ {"version":3,"file":"valtimo-form-flow-management.mjs","sources":["../../../../projects/valtimo/form-flow-management/src/lib/models/form-flow.model.ts","../../../../projects/valtimo/form-flow-management/src/lib/models/index.ts","../../../../projects/valtimo/form-flow-management/src/lib/services/form-flow.service.ts","../../../../projects/valtimo/form-flow-management/src/lib/services/index.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/new-form-flow-modal/new-form-flow-modal.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/new-form-flow-modal/new-form-flow-modal.component.html","../../../../projects/valtimo/form-flow-management/src/lib/components/overview/form-flow-overview.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/overview/form-flow-overview.component.html","../../../../projects/valtimo/form-flow-management/src/lib/services/form-flow-download.service.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/editor/form-flow-editor.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/editor/form-flow-editor.component.html","../../../../projects/valtimo/form-flow-management/src/lib/components/delete-form-flow-modal/delete-form-flow-modal.component.ts","../../../../projects/valtimo/form-flow-management/src/lib/components/delete-form-flow-modal/delete-form-flow-modal.component.html","../../../../projects/valtimo/form-flow-management/src/lib/form-flow-management.module.ts","../../../../projects/valtimo/form-flow-management/src/public-api.ts","../../../../projects/valtimo/form-flow-management/src/valtimo-form-flow-management.ts"],"sourcesContent":["/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface ListFormFlowDefinition {\n key: string;\n versions: Array<number>;\n readOnly?: boolean;\n}\n\ninterface FormFlowDefinition {\n key: string;\n readOnly?: boolean;\n startStep: string;\n steps: Array<FormFlowStep>;\n}\n\ninterface FormFlowDefinitionId {\n key: string;\n version: number;\n}\n\ninterface FormFlowStep {\n key: string;\n nextSteps: Array<FormFlowNextStep>;\n onBack: Array<string>;\n onOpen: Array<string>;\n onComplete: Array<string>;\n type: FormFlowStepType;\n}\n\ninterface FormFlowNextStep {\n condition?: string;\n step: string;\n}\n\ninterface FormFlowStepType {\n name: string;\n properties: FormStepTypeProperties | CustomComponentStepTypeProperties;\n}\n\ninterface FormStepTypeProperties {\n definition: string;\n}\n\ninterface CustomComponentStepTypeProperties {\n componentId: string;\n}\n\ninterface DeleteFormFlowsRequest {\n formFlowKeys: Array<string>;\n}\n\ninterface LoadedValue<T> {\n isLoading: boolean;\n value?: T;\n}\n\ninterface FormFlowEditorParams {\n formFlowDefinitionKey: string;\n caseDefinitionKey: string;\n caseDefinitionVersionTag: string;\n}\n\ninterface FormFlowRouteParams {\n formFlowDefinitionKey: string;\n}\n\nexport {\n ListFormFlowDefinition,\n FormFlowDefinition,\n FormFlowDefinitionId,\n FormFlowStep,\n FormFlowNextStep,\n FormFlowStepType,\n FormStepTypeProperties,\n CustomComponentStepTypeProperties,\n DeleteFormFlowsRequest,\n LoadedValue,\n FormFlowEditorParams,\n FormFlowRouteParams,\n};\n","/*\n * Copyright 2015-2025 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-flow.model';\n","/*\n * Copyright 2015-2025 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 {HttpClient} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {ConfigService, Page, BaseApiService} from '@valtimo/shared';\nimport {BehaviorSubject, catchError, Observable, of, switchMap, take, tap} from 'rxjs';\nimport {FormFlowDefinition, FormFlowDefinitionId, ListFormFlowDefinition} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FormFlowService extends BaseApiService {\n constructor(\n protected readonly httpClient: HttpClient,\n protected readonly configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n public getFormFlowDefinitionSchema(): Observable<object> {\n return this.httpClient.get<object>(this.getApiUrl('management/v1/form-flow-definition/schema'));\n }\n\n public getFormFlowDefinitions(\n caseDefinitionKey: string,\n caseVersionTag: string\n ): Observable<Page<ListFormFlowDefinition>> {\n return this.httpClient.get<Page<ListFormFlowDefinition>>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition`\n )\n );\n }\n\n public getFormFlowDefinitionByKey(\n caseDefinitionKey: string,\n caseVersionTag: string,\n formFlowDefinitionKey: string\n ): Observable<FormFlowDefinition> {\n return this.httpClient.get<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${formFlowDefinitionKey}`\n )\n );\n }\n\n public createFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.post<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition`\n ),\n definition\n );\n }\n\n public deleteFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definitionKey: string\n ): Observable<null> {\n return this.httpClient.delete<null>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${definitionKey}`\n )\n );\n }\n\n public updateFormFlowDefinition(\n caseDefinitionKey: string,\n caseVersionTag: string,\n definitionKey: string,\n updatedDefinition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.put<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/case-definition/${caseDefinitionKey}/version/${caseVersionTag}/form-flow-definition/${definitionKey}`\n ),\n updatedDefinition\n );\n }\n\n public getBuildingBlockFormFlowDefinitions(\n buildingBlockKey: string,\n versionTag: string\n ): Observable<Page<ListFormFlowDefinition>> {\n return this.httpClient.get<Page<ListFormFlowDefinition>>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition`\n )\n );\n }\n\n public getBuildingBlockFormFlowDefinitionByKey(\n buildingBlockKey: string,\n versionTag: string,\n formFlowDefinitionKey: string\n ): Observable<FormFlowDefinition> {\n return this.httpClient.get<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${formFlowDefinitionKey}`\n )\n );\n }\n\n public createBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.post<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition`\n ),\n definition\n );\n }\n\n public deleteBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definitionKey: string\n ): Observable<null> {\n return this.httpClient.delete<null>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${definitionKey}`\n )\n );\n }\n\n public updateBuildingBlockFormFlowDefinition(\n buildingBlockKey: string,\n versionTag: string,\n definitionKey: string,\n updatedDefinition: FormFlowDefinition\n ): Observable<FormFlowDefinition> {\n return this.httpClient.put<FormFlowDefinition>(\n this.getApiUrl(\n `management/v1/building-block/${buildingBlockKey}/version/${versionTag}/form-flow-definition/${definitionKey}`\n ),\n updatedDefinition\n );\n }\n}\n","/*\n * Copyright 2015-2025 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-flow.service';\n","/*\n * Copyright 2015-2025 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 {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {FormBuilder, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {FormFlowDefinition} from '../../models';\nimport {CARBON_CONSTANTS, ValtimoCdsModalDirective} from '@valtimo/components';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {ButtonModule, InputModule, ModalModule} from 'carbon-components-angular';\n\n@Component({\n standalone: true,\n selector: 'valtimo-new-form-flow-modal',\n templateUrl: './new-form-flow-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n TranslateModule,\n ModalModule,\n InputModule,\n ButtonModule,\n ValtimoCdsModalDirective,\n ],\n})\nexport class NewFormFlowModalComponent {\n @Input() open = false;\n @Output() closeEvent = new EventEmitter<FormFlowDefinition | null>();\n\n public form = this.fb.group({\n key: this.fb.control('', Validators.required),\n });\n\n public get key() {\n return this.form?.get('key');\n }\n\n constructor(private readonly fb: FormBuilder) {}\n\n public onCancel(): void {\n this.closeEvent.emit(null);\n this.resetForm();\n }\n\n public onConfirm(): void {\n if (!this.key) {\n return;\n }\n\n this.closeEvent.emit({\n key: this.key.value ?? '',\n startStep: 'start-step',\n steps: [],\n });\n this.resetForm();\n }\n\n private resetForm(): void {\n setTimeout(() => {\n this.form.reset();\n }, CARBON_CONSTANTS.modalAnimationMs);\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal\n [open]=\"open\"\n showFooter=\"true\"\n [title]=\"'formFlow.add' | translate\"\n valtimoCdsModal\n (close)=\"onCancel()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'formFlow.add' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\">\n <cds-label [invalid]=\"key.dirty && key.invalid\">\n {{ 'formFlow.key' | translate }}\n\n <input\n formControlName=\"key\"\n cdsText\n placeholder=\"{{ 'formFlow.key' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n [invalid]=\"key.dirty && key.invalid\"\n />\n </cds-label>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"this.form.invalid\" (click)=\"onConfirm()\" cdsButton=\"primary\">\n {{ 'interface.create' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n","/*\n * Copyright 2015-2025 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 */\nimport {ChangeDetectionStrategy, Component, ViewChild} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ActionItem, CarbonListComponent, ColumnConfig, ViewType} from '@valtimo/components';\nimport {\n CaseManagementParams,\n EditPermissionsService,\n getCaseManagementRouteParams,\n GlobalNotificationService,\n Page,\n} from '@valtimo/shared';\nimport {BehaviorSubject, combineLatest, map, Observable, of, switchMap, tap} from 'rxjs';\nimport {FormFlowDefinition, ListFormFlowDefinition} from '../../models';\nimport {FormFlowService} from '../../services';\n\n@Component({\n standalone: false,\n templateUrl: './form-flow-overview.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormFlowOverviewComponent {\n @ViewChild(CarbonListComponent) carbonList: CarbonListComponent;\n\n public readonly FIELDS: ColumnConfig[] = [\n {\n viewType: ViewType.TEXT,\n key: 'key',\n label: 'formFlow.key',\n },\n {\n viewType: ViewType.TEXT,\n key: 'versions.0',\n label: 'formFlow.version',\n },\n {\n viewType: ViewType.BOOLEAN,\n key: 'readOnly',\n label: 'formFlow.readOnly',\n },\n ];\n\n public readonly ACTION_ITEMS: ActionItem[] = [\n {\n callback: this.editFormFlowDetails.bind(this),\n label: 'interface.edit',\n },\n {\n callback: this.deleteFormFlow.bind(this),\n label: 'interface.delete',\n type: 'danger',\n },\n ];\n\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly showDeleteModal$ = new BehaviorSubject<boolean>(false);\n public readonly deleteDefinitionKey$ = new BehaviorSubject<string | null>(null);\n\n private _params: CaseManagementParams | undefined = undefined;\n private readonly _refresh$ = new BehaviorSubject<null>(null);\n public readonly formFlowDefinitions$: Observable<ListFormFlowDefinition[]> = combineLatest([\n getCaseManagementRouteParams(this.route),\n this._refresh$,\n ]).pipe(\n tap(([params]) => {\n this.loading$.next(true);\n this._params = params;\n }),\n switchMap(([params]) =>\n !params\n ? of(null)\n : this.formFlowService.getFormFlowDefinitions(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag\n )\n ),\n map((formFlows: Page<ListFormFlowDefinition> | null) => {\n this.loading$.next(false);\n return !formFlows ? [] : formFlows.content;\n })\n );\n public readonly showAddModal$ = new BehaviorSubject<boolean>(false);\n\n public readonly params$ = getCaseManagementRouteParams(this.route);\n\n public readonly hasEditPermissions$: Observable<boolean> = this.params$.pipe(\n switchMap(params =>\n this.editPermissionsService.hasEditPermissions(\n params?.caseDefinitionKey,\n params?.caseDefinitionVersionTag\n )\n )\n );\n\n constructor(\n private readonly formFlowService: FormFlowService,\n private readonly globalNotificationService: GlobalNotificationService,\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly translateService: TranslateService,\n private readonly editPermissionsService: EditPermissionsService\n ) {}\n\n public openAddModal(): void {\n this.showAddModal$.next(true);\n }\n\n public onAdd(formFlowDefinition: FormFlowDefinition | null): void {\n this.showAddModal$.next(false);\n\n if (!formFlowDefinition || !this._params) return;\n\n this.formFlowService\n .createFormFlowDefinition(\n this._params.caseDefinitionKey,\n this._params.caseDefinitionVersionTag,\n formFlowDefinition\n )\n .subscribe((formFlowDefinition: FormFlowDefinition) => {\n this.showAddModal$.next(false);\n this.router.navigate([formFlowDefinition.key], {relativeTo: this.route});\n });\n }\n\n public editFormFlowDetails(formFlowDefinition: ListFormFlowDefinition): void {\n this.router.navigate([formFlowDefinition.key], {relativeTo: this.route});\n }\n\n public deleteFormFlow(item: ListFormFlowDefinition): void {\n this.deleteDefinitionKey$.next(item.key);\n this.showDeleteModal$.next(true);\n }\n\n public onDelete(definitionKey: string): void {\n if (!this._params) return;\n\n this.formFlowService\n .deleteFormFlowDefinition(\n this._params.caseDefinitionKey,\n this._params.caseDefinitionVersionTag,\n definitionKey\n )\n .subscribe(() => {\n this.globalNotificationService.showToast({\n title: this.translateService.instant('interface.delete'),\n caption: this.translateService.instant('formFlow.deletedSuccessfully', {\n key: definitionKey,\n }),\n type: 'success',\n });\n this._refresh$.next(null);\n });\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [header]=\"false\"\n [items]=\"formFlowDefinitions$ | async\"\n [fields]=\"FIELDS\"\n [loading]=\"loading$ | async\"\n (rowClicked)=\"editFormFlowDetails($event)\"\n>\n <ng-container header> {{ 'formFlow.title' | translate }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addFormFlowButton\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"addFormFlowButton\"\n description=\"{{ 'formFlow.noResults.description' | translate }}\"\n title=\"{{ 'formFlow.noResults.title' | translate }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-new-form-flow-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-new-form-flow-modal>\n\n<ng-template #addFormFlowButton>\n <button *ngIf=\"hasEditPermissions$ | async\" cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'formFlow.add' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteDefinitionKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n","/*\n * Copyright 2015-2025 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 */\nimport {Injectable} from '@angular/core';\nimport {FormFlowEditorParams} from '../models';\n\n@Injectable({providedIn: 'root'})\nexport class FormFlowDownloadService {\n public downloadJson(\n json: object,\n params: FormFlowEditorParams\n ): void {\n const sJson = JSON.stringify(json, null, 2);\n const element = document.createElement('a');\n element.setAttribute('href', 'data:text/json;charset=UTF-8,' + encodeURIComponent(sJson));\n element.setAttribute(\n 'download',\n `${params.caseDefinitionKey}-${params.caseDefinitionVersionTag}-${params.formFlowDefinitionKey}.formflow.json`\n );\n element.style.display = 'none';\n document.body.appendChild(element);\n element.click(); // simulate click\n document.body.removeChild(element);\n }\n}\n","/*\n * Copyright 2015-2025 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 */\nimport {ChangeDetectionStrategy, Component, OnDestroy} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {ArrowLeft16} from '@carbon/icons';\nimport {TranslateService} from '@ngx-translate/core';\nimport {\n BreadcrumbService,\n EditorModel,\n PageHeaderService,\n PageTitleService,\n} from '@valtimo/components';\nimport {\n getBuildingBlockManagementRouteParams,\n getCaseManagementRouteParams,\n getContextObservable,\n GlobalNotificationService,\n ManagementContext,\n} from '@valtimo/shared';\nimport {IconService} from 'carbon-components-angular';\nimport {editor} from 'monaco-editor';\nimport {\n BehaviorSubject,\n combineLatest,\n finalize,\n map,\n Observable,\n shareReplay,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {FormFlowDefinition, FormFlowEditorParams, FormFlowRouteParams} from '../../models';\nimport {FormFlowService} from '../../services';\nimport {FormFlowDownloadService} from '../../services/form-flow-download.service';\n\n@Component({\n standalone: false,\n templateUrl: './form-flow-editor.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./form-flow-editor.component.scss'],\n})\nexport class FormFlowEditorComponent implements OnDestroy {\n public readonly readOnly$ = new BehaviorSubject<boolean>(false);\n public readonly valid$ = new BehaviorSubject<boolean>(false);\n public readonly loading$ = new BehaviorSubject<boolean>(true);\n public readonly showDeleteModal$ = new BehaviorSubject<boolean>(false);\n public readonly CARBON_THEME = 'g10';\n\n private readonly _context$: Observable<ManagementContext | null> = getContextObservable(\n this.route\n );\n\n private readonly _params$: Observable<FormFlowEditorParams> = this._context$.pipe(\n switchMap(context => {\n if (context === 'buildingBlock') {\n return combineLatest([\n getBuildingBlockManagementRouteParams(this.route),\n this.route.params as Observable<FormFlowRouteParams>,\n ]).pipe(\n map(([bbParams, params]) => ({\n caseDefinitionKey: bbParams?.buildingBlockDefinitionKey ?? '',\n caseDefinitionVersionTag: bbParams?.buildingBlockDefinitionVersionTag ?? '',\n formFlowDefinitionKey: params.formFlowDefinitionKey,\n }))\n );\n }\n\n return combineLatest([\n getCaseManagementRouteParams(this.route),\n this.route.params as Observable<FormFlowRouteParams>,\n ]).pipe(\n map(([caseManagementParams, params]) => ({\n ...(caseManagementParams ?? {caseDefinitionKey: '', caseDefinitionVersionTag: ''}),\n ...params,\n }))\n );\n })\n );\n\n public readonly formFlowSchemaJson$: Observable<object> = this.formFlowService\n .getFormFlowDefinitionSchema()\n .pipe(shareReplay(1));\n\n public readonly editorOptions: editor.IEditorOptions = {\n quickSuggestions: {other: true, comments: false, strings: true},\n };\n\n private readonly _formFlowDefinition2$ = combineLatest([this._params$, this._context$]).pipe(\n tap(() => this.loading$.next(true)),\n switchMap(([params, context]) => {\n this.initBreadcrumbs(params, context);\n\n if (context === 'buildingBlock') {\n return this.formFlowService.getBuildingBlockFormFlowDefinitionByKey(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }\n\n return this.formFlowService.getFormFlowDefinitionByKey(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }),\n tap((formFlowDefinition: FormFlowDefinition) => {\n this.pageTitleService.setCustomPageTitle(formFlowDefinition.key);\n this.readOnly$.next(formFlowDefinition.readOnly === true);\n this.loading$.next(false);\n })\n );\n public readonly model$: Observable<EditorModel> = this._formFlowDefinition2$.pipe(\n map((formFlowDefinition: FormFlowDefinition) => this.getEditorModel(formFlowDefinition))\n );\n\n private readonly _updatedModelValue$ = new BehaviorSubject<string>('');\n\n public readonly compactMode$ = this.pageHeaderService.compactMode$;\n\n constructor(\n private readonly breadcrumbService: BreadcrumbService,\n private readonly formFlowDownloadService: FormFlowDownloadService,\n private readonly formFlowService: FormFlowService,\n private readonly iconService: IconService,\n private readonly notificationService: GlobalNotificationService,\n private readonly pageHeaderService: PageHeaderService,\n private readonly pageTitleService: PageTitleService,\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly translateService: TranslateService\n ) {\n this.iconService.registerAll([ArrowLeft16]);\n this.pageTitleService.disableReset();\n }\n\n public ngOnDestroy(): void {\n this.pageTitleService.enableReset();\n this.breadcrumbService.clearThirdBreadcrumb();\n this.breadcrumbService.clearFourthBreadcrumb();\n }\n\n public onValid(valid: boolean): void {\n this.valid$.next(valid);\n }\n\n public onValueChange(value: string): void {\n this._updatedModelValue$.next(value);\n }\n\n public updateFormFlowDefinition(): void {\n this.loading$.next(true);\n\n combineLatest([this._params$, this._updatedModelValue$, this._context$])\n .pipe(\n take(1),\n switchMap(([params, updatedModelValue, context]) => {\n const updatedDefinition = {\n ...(JSON.parse(updatedModelValue) as FormFlowDefinition),\n key: params.formFlowDefinitionKey,\n };\n\n if (context === 'buildingBlock') {\n return this.formFlowService.updateBuildingBlockFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey,\n updatedDefinition\n );\n }\n\n return this.formFlowService.updateFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey,\n updatedDefinition\n );\n }),\n finalize(() => this.loading$.next(false))\n )\n .subscribe(result => {\n this.showSuccessMessage(result.key);\n });\n }\n\n public onDelete(): void {\n this.loading$.next(true);\n combineLatest([this._params$, this._context$])\n .pipe(\n take(1),\n switchMap(([params, context]) => {\n if (context === 'buildingBlock') {\n return this.formFlowService.deleteBuildingBlockFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n }\n\n return this.formFlowService.deleteFormFlowDefinition(\n params.caseDefinitionKey,\n params.caseDefinitionVersionTag,\n params.formFlowDefinitionKey\n );\n })\n )\n .subscribe(() => {\n this.router.navigate(['../'], {relativeTo: this.route});\n });\n }\n\n public showDeleteModal(): void {\n this.showDeleteModal$.next(true);\n }\n\n public downloadFormFlowDefinition(model: EditorModel): void {\n this._params$\n .pipe(take(1))\n .subscribe((params: FormFlowEditorParams) =>\n this.formFlowDownloadService.downloadJson(JSON.parse(model.value), params)\n );\n }\n\n public navigateBack(): void {\n this.router.navigate(['../'], {relativeTo: this.route});\n }\n\n private getEditorModel(formFlowDefinition: FormFlowDefinition): EditorModel {\n const clone = {...formFlowDefinition};\n delete clone.readOnly;\n return {\n value: JSON.stringify(clone),\n language: 'json',\n uri: `inmemory://form-flow/${formFlowDefinition.key}.formflow.json`,\n };\n }\n\n private showSuccessMessage(formFlowDefinitionKey: string): void {\n this.notificationService.showToast({\n caption: this.translateService.instant('formFlow.savedSuccessTitleMessage', {\n key: formFlowDefinitionKey,\n }),\n type: 'success',\n title: this.translateService.instant('formFlow.savedSuccessTitle'),\n });\n }\n\n private initBreadcrumbs(params: FormFlowEditorParams, context: ManagementContext | null): void {\n if (context === 'buildingBlock') {\n const route = `/building-block-management/building-block/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}`;\n const generalRoute = `${route}/general`;\n\n this.breadcrumbService.setThirdBreadcrumb({\n route: [generalRoute],\n content: `${params.caseDefinitionKey} (${params.caseDefinitionVersionTag})`,\n href: generalRoute,\n });\n\n const routeWithFormFlows = `${route}/form-flows`;\n\n this.breadcrumbService.setFourthBreadcrumb({\n route: [routeWithFormFlows],\n content: this.translateService.instant('buildingBlockManagement.tabs.formFlows'),\n href: routeWithFormFlows,\n });\n } else {\n const route = `/case-management/case/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}`;\n\n this.breadcrumbService.setThirdBreadcrumb({\n route: [route],\n content: `${params.caseDefinitionKey} (${params.caseDefinitionVersionTag})`,\n href: route,\n });\n\n const routeWithFormFlows = `${route}/form-flows`;\n\n this.breadcrumbService.setFourthBreadcrumb({\n route: [routeWithFormFlows],\n content: this.translateService.instant('caseManagement.tabs.formFlows'),\n href: routeWithFormFlows,\n });\n }\n }\n}\n","<!--\n ~ Copyright 2015-2025 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@if ({model: model$ | async, schema: formFlowSchemaJson$ | async}; as obs) {\n @if (obs.model && obs.schema) {\n <valtimo-editor\n [disabled]=\"(loading$ | async) === false && readOnly$ | async\"\n [editorOptions]=\"editorOptions\"\n [model]=\"obs.model\"\n [jsonSchema]=\"obs.schema\"\n (validEvent)=\"onValid($event)\"\n (valueChangeEvent)=\"onValueChange($event)\"\n [fitPage]=\"true\"\n ></valtimo-editor>\n } @else {\n <cds-loading></cds-loading>\n }\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <div\n *ngIf=\"{\n compactMode: compactMode$ | async,\n valid: valid$ | async,\n readOnly: readOnly$ | async,\n model: model$ | async,\n } as obs\"\n class=\"buttons-container\"\n >\n <v-overflow-menu placement=\"bottom-end\">\n <v-overflow-menu-trigger overflowTrigger></v-overflow-menu-trigger>\n <v-overflow-menu-option\n [disabled]=\"!obs.valid && !obs.readOnly\"\n (selected)=\"downloadFormFlowDefinition(obs.model)\"\n >{{ 'interface.export' | translate }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [disabled]=\"obs.readOnly\"\n type=\"danger\"\n (selected)=\"showDeleteModal()\"\n >{{ 'interface.delete' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n\n <button cdsButton=\"secondary\" [size]=\"obs.compactMode ? 'sm' : 'md'\" (click)=\"navigateBack()\">\n {{ 'interface.back' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"arrow--left\" size=\"16\"></svg>\n </button>\n\n <button\n [disabled]=\"!obs.valid || obs.readOnly\"\n cdsButton=\"primary\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"updateFormFlowDefinition()\"\n >\n {{ 'interface.save' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"save\" size=\"16\"></svg>\n </button>\n </div>\n </ng-template>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete()\"\n></valtimo-confirmation-modal>\n","/*\n * Copyright 2015-2025 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 {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {Observable} from 'rxjs';\n\n@Component({\n standalone: false,\n selector: 'valtimo-delete-form-flow-modal',\n templateUrl: './delete-form-flow-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DeleteFormFlowModalComponent {\n @Input() deleteFormFlowDefinitionKey: string;\n @Input() showDeleteModal$: Observable<boolean>;\n @Output() deleteEvent = new EventEmitter<string>();\n\n public onDelete(formFlowDefinitionKey: string): void {\n this.deleteEvent.emit(formFlowDefinitionKey);\n }\n}\n","<!--\n ~ Copyright 2015-2025 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-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"formFlow.deleteModalContent\"\n [outputOnConfirm]=\"deleteFormFlowDefinitionKey\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDelete($event)\"\n></valtimo-confirmation-modal>\n","/*\n * Copyright 2015-2025 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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {\n CarbonListModule,\n ConfirmationModalModule,\n EditorModule,\n OverflowMenuComponent,\n OverflowMenuOptionComponent,\n OverflowMenuTriggerComponent,\n RenderInPageHeaderDirective,\n} from '@valtimo/components';\nimport {FormFlowOverviewComponent} from './components/overview/form-flow-overview.component';\nimport {NewFormFlowModalComponent} from './components/new-form-flow-modal/new-form-flow-modal.component';\nimport {\n ButtonModule,\n DropdownModule,\n IconModule,\n InputModule,\n LoadingModule,\n ModalModule,\n NotificationModule,\n} from 'carbon-components-angular';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {FormFlowEditorComponent} from './components/editor/form-flow-editor.component';\nimport {DeleteFormFlowModalComponent} from './components/delete-form-flow-modal/delete-form-flow-modal.component';\n\n@NgModule({\n declarations: [\n FormFlowOverviewComponent,\n FormFlowEditorComponent,\n DeleteFormFlowModalComponent,\n ],\n imports: [\n CommonModule,\n ButtonModule,\n FormsModule,\n ModalModule,\n TranslateModule,\n ReactiveFormsModule,\n InputModule,\n IconModule,\n ConfirmationModalModule,\n EditorModule,\n RenderInPageHeaderDirective,\n LoadingModule,\n IconModule,\n OverflowMenuComponent,\n OverflowMenuOptionComponent,\n OverflowMenuTriggerComponent,\n NotificationModule,\n CarbonListModule,\n DropdownModule,\n ConfirmationModalModule,\n NewFormFlowModalComponent,\n ],\n})\nexport class FormFlowManagementModule {}\n","/*\n * Copyright 2015-2025 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-flow\n */\n\nexport * from './lib/models';\nexport * from './lib/services';\nexport * from './lib/components/overview/form-flow-overview.component';\nexport * from './lib/components/editor/form-flow-editor.component';\nexport * from './lib/components/new-form-flow-modal/new-form-flow-modal.component';\nexport * from './lib/form-flow-management.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.FormFlowService","i3","i6","i7","i8.NewFormFlowModalComponent","i2.FormFlowDownloadService","i3.FormFlowService","i4","i5","i8"],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@valtimo/form-flow-management",
3
- "version": "13.36.1",
3
+ "version": "13.38.0",
4
4
  "peerDependencies": {
5
- "@angular/common": "19.2.20",
6
- "@angular/core": "19.2.20"
5
+ "@angular/common": "19.2.25",
6
+ "@angular/core": "19.2.25"
7
7
  },
8
8
  "dependencies": {
9
9
  "tslib": "2.8.1"