@valtimo/case-management 13.23.0 → 13.24.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.
Files changed (24) hide show
  1. package/fesm2022/valtimo-case-management.mjs +868 -133
  2. package/fesm2022/valtimo-case-management.mjs.map +1 -1
  3. package/lib/case-management-routing.module.d.ts.map +1 -1
  4. package/lib/case-management.module.d.ts +3 -2
  5. package/lib/case-management.module.d.ts.map +1 -1
  6. package/lib/components/case-management-detail/tabs/case-management-actions/case-management-actions-modal/case-management-actions-modal.component.d.ts +54 -0
  7. package/lib/components/case-management-detail/tabs/case-management-actions/case-management-actions-modal/case-management-actions-modal.component.d.ts.map +1 -0
  8. package/lib/components/case-management-detail/tabs/case-management-actions/case-management-actions.component.d.ts +55 -0
  9. package/lib/components/case-management-detail/tabs/case-management-actions/case-management-actions.component.d.ts.map +1 -0
  10. package/lib/models/case-management-actions-modal.model.d.ts +13 -0
  11. package/lib/models/case-management-actions-modal.model.d.ts.map +1 -0
  12. package/lib/models/index.d.ts +2 -0
  13. package/lib/models/index.d.ts.map +1 -1
  14. package/lib/models/startable-item.model.d.ts +39 -0
  15. package/lib/models/startable-item.model.d.ts.map +1 -0
  16. package/lib/models/tab.model.d.ts +1 -0
  17. package/lib/models/tab.model.d.ts.map +1 -1
  18. package/lib/services/index.d.ts +2 -0
  19. package/lib/services/index.d.ts.map +1 -1
  20. package/lib/services/startable-item-api.service.d.ts +21 -0
  21. package/lib/services/startable-item-api.service.d.ts.map +1 -0
  22. package/lib/services/startable-item-management.service.d.ts +45 -0
  23. package/lib/services/startable-item-management.service.d.ts.map +1 -0
  24. package/package.json +3 -3
@@ -9,12 +9,12 @@ import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
9
9
  import * as i3 from '@ngx-translate/core';
10
10
  import { TranslateModule } from '@ngx-translate/core';
11
11
  import * as i7 from '@valtimo/components';
12
- import { ViewType, CARBON_CONSTANTS, ValuePathSelectorPrefix, MuuriItemComponent, ValtimoCdsModalDirective, RenderInPageHeaderDirective, WidgetModule, DropzoneModule, ModalModule as ModalModule$1, MultiselectDropdownModule, ParagraphModule, SelectModule, SpinnerModule, InputModule as InputModule$1, FormModule, TooltipIconModule, CarbonMultiInputModule, ConfirmationModalModule, TableModule, CarbonListModule, OverflowMenuComponent, OverflowMenuOptionComponent, EditorModule, ValuePathSelectorComponent, EllipsisPipe, MuuriDirectiveModule, ReadOnlyDirective, JsonEditorComponent, AutoKeyInputComponent } from '@valtimo/components';
12
+ import { runAfterCarbonModalClosed, ViewType, CARBON_CONSTANTS, ValuePathSelectorPrefix, MuuriItemComponent, ValtimoCdsModalDirective, RenderInPageHeaderDirective, TooltipModule, CarbonListModule, ConfirmationModalModule, WidgetModule, DropzoneModule, ModalModule as ModalModule$1, MultiselectDropdownModule, ParagraphModule, SelectModule, SpinnerModule, InputModule as InputModule$1, FormModule, TooltipIconModule, CarbonMultiInputModule, TableModule, OverflowMenuComponent, OverflowMenuOptionComponent, EditorModule, ValuePathSelectorComponent, EllipsisPipe, MuuriDirectiveModule, ReadOnlyDirective, JsonEditorComponent, AutoKeyInputComponent } from '@valtimo/components';
13
13
  import { FormManagementComponent, FormManagementEditComponent } from '@valtimo/form-management';
14
14
  import * as i3$1 from '@valtimo/shared';
15
15
  import { BaseApiService, InterceptorSkip, getCaseManagementRouteParams, CASE_MANAGEMENT_TAB_TOKEN, InterceptorSkipHeader, TagColor, getDisplayTypeParametersView, CASE_CONFIGURATION_EXTENSIONS_TOKEN, ROLE_ADMIN, ConfigModule } from '@valtimo/shared';
16
16
  import * as i2 from 'carbon-components-angular';
17
- import { NotificationModule, Tab, ModalModule, InputModule, ButtonModule, IconModule, TabsModule, DropdownModule, CheckboxModule, LoadingModule, LinkModule, ComboBoxModule, DialogModule, TagModule, FileUploaderModule, ProgressBarModule, ToggleModule, TooltipModule, LayerModule, NumberModule } from 'carbon-components-angular';
17
+ import { NotificationModule, Tab, ModalModule, InputModule, ButtonModule, IconModule, TabsModule, LayerModule, ComboBoxModule, ProgressIndicatorModule, LoadingModule, TagModule, DropdownModule, CheckboxModule, LinkModule, DialogModule, FileUploaderModule, ProgressBarModule, ToggleModule, TooltipModule as TooltipModule$1, NumberModule } from 'carbon-components-angular';
18
18
  import * as i2$1 from '@angular/router';
19
19
  import { NavigationEnd, RouterModule } from '@angular/router';
20
20
  import { DecisionListComponent, DecisionModelerComponent } from '@valtimo/decision';
@@ -22,26 +22,28 @@ import { FormFlowOverviewComponent, FormFlowEditorComponent } from '@valtimo/for
22
22
  import { ProcessManagementComponent, ProcessManagementBuilderComponent } from '@valtimo/process-management';
23
23
  import { AuthGuardService } from '@valtimo/security';
24
24
  import { TaskManagementDetailComponent } from '@valtimo/task-management';
25
- import { BehaviorSubject, combineLatest, map, filter, switchMap, catchError, of, Subscription, distinctUntilChanged, Subject, startWith, tap, take as take$1, delay, shareReplay, finalize, debounceTime } from 'rxjs';
25
+ import { BehaviorSubject, combineLatest, map, filter, switchMap, catchError, of, Subscription, distinctUntilChanged, Subject, startWith, tap, take as take$1, delay, shareReplay, finalize, EMPTY, debounceTime } from 'rxjs';
26
26
  import * as i1$1 from '@valtimo/layout';
27
27
  import { ManagementWidgetDetailsComponent, WidgetType, WidgetWizardStep, WIDGET_MANAGEMENT_SERVICE, WidgetManagementComponent } from '@valtimo/layout';
28
28
  import * as i1 from '@angular/common/http';
29
29
  import { HttpHeaders, HttpParams } from '@angular/common/http';
30
30
  import { isEqual } from 'lodash';
31
- import { Code16, Development16, TableBuilt16, WatsonHealthPageScroll16, ArrowDown16, ArrowUp16, Edit16, Information16, Return16, TrashCan16, Save16, Version16, Deploy16, Search20, TrashCan20, Upload16 } from '@carbon/icons';
31
+ import { Code16, Development16, TableBuilt16, WatsonHealthPageScroll16, ArrowDown16, ArrowUp16, Edit16, Information16, Return16, TrashCan16, Save16, Version16, Deploy16, FlowModeler20, BlockStorageAlt20, Search20, TrashCan20, Upload16 } from '@carbon/icons';
32
32
  import { DefaultTabs, CASE_TAB_TOKEN, ApiTabType } from '@valtimo/case';
33
33
  import * as i1$2 from '@valtimo/document';
34
34
  import { InternalCaseStatusUtils, CaseTagsUtils, DocumentDefinitionCreateRequest } from '@valtimo/document';
35
- import { take, tap as tap$1, switchMap as switchMap$1, catchError as catchError$1, withLatestFrom, map as map$1 } from 'rxjs/operators';
35
+ import { take, tap as tap$1, switchMap as switchMap$1, catchError as catchError$1, map as map$1, filter as filter$1, withLatestFrom } from 'rxjs/operators';
36
36
  import * as i1$3 from '@valtimo/form';
37
+ import * as i2$2 from 'ngx-logger';
37
38
  import { v4 } from 'uuid';
38
39
  import * as semver from 'semver';
39
40
  import { valid, lt } from 'semver';
40
41
  import * as i7$1 from '@valtimo/sse';
41
- import * as i5 from 'ngx-logger';
42
42
  import moment from 'moment/moment';
43
+ import * as i4 from '@valtimo/process-link';
44
+ import { ensureDocPrefix, ProcessLinkModule, ProcessLinkStateService, ProcessLinkStepService, ProcessLinkButtonService } from '@valtimo/process-link';
43
45
  import moment$1 from 'moment';
44
- import * as i4 from '@valtimo/process';
46
+ import * as i4$1 from '@valtimo/process';
45
47
 
46
48
  /*
47
49
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -96,6 +98,7 @@ var TabEnum;
96
98
  TabEnum["DOCUMENT"] = "document";
97
99
  TabEnum["CASE"] = "case";
98
100
  TabEnum["PROCESSES"] = "processes";
101
+ TabEnum["ACTIONS"] = "actions";
99
102
  TabEnum["SEARCH"] = "search";
100
103
  TabEnum["LIST"] = "list";
101
104
  TabEnum["TABS"] = "tabs";
@@ -152,6 +155,43 @@ class ReleaseInformationData {
152
155
  class DraftVersion {
153
156
  }
154
157
 
158
+ /*
159
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
160
+ *
161
+ * Licensed under EUPL, Version 1.2 (the "License");
162
+ * you may not use this file except in compliance with the License.
163
+ * You may obtain a copy of the License at
164
+ *
165
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
166
+ *
167
+ * Unless required by applicable law or agreed to in writing, software
168
+ * distributed under the License is distributed on an "AS IS" basis,
169
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
170
+ * See the License for the specific language governing permissions and
171
+ * limitations under the License.
172
+ */
173
+ var StartableItemType;
174
+ (function (StartableItemType) {
175
+ StartableItemType["PROCESS"] = "PROCESS";
176
+ StartableItemType["BUILDING_BLOCK"] = "BUILDING_BLOCK";
177
+ })(StartableItemType || (StartableItemType = {}));
178
+
179
+ /*
180
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
181
+ *
182
+ * Licensed under EUPL, Version 1.2 (the "License");
183
+ * you may not use this file except in compliance with the License.
184
+ * You may obtain a copy of the License at
185
+ *
186
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
187
+ *
188
+ * Unless required by applicable law or agreed to in writing, software
189
+ * distributed under the License is distributed on an "AS IS" basis,
190
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
191
+ * See the License for the specific language governing permissions and
192
+ * limitations under the License.
193
+ */
194
+
155
195
  /*
156
196
  * Copyright 2015-2026 Ritense BV, the Netherlands.
157
197
  *
@@ -201,10 +241,10 @@ class CaseManagementDraftWarningComponent {
201
241
  showClose: false,
202
242
  })));
203
243
  }
204
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementDraftWarningComponent, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
205
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementDraftWarningComponent, isStandalone: true, selector: "valtimo-case-management-draft-warning", inputs: { name: "name" }, 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-inline-notification [notificationObj]=\"notificationObj$ | async\"></cds-inline-notification>\n", styles: ["cds-inline-notification{max-inline-size:unset;margin-bottom: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: "ngmodule", type: CommonModule }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: NotificationModule }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
244
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDraftWarningComponent, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
245
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementDraftWarningComponent, isStandalone: true, selector: "valtimo-case-management-draft-warning", inputs: { name: "name" }, 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-inline-notification [notificationObj]=\"notificationObj$ | async\"></cds-inline-notification>\n", styles: ["cds-inline-notification{max-inline-size:unset;margin-bottom: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: "ngmodule", type: CommonModule }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: NotificationModule }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
206
246
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementDraftWarningComponent, decorators: [{
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDraftWarningComponent, decorators: [{
208
248
  type: Component,
209
249
  args: [{ selector: 'valtimo-case-management-draft-warning', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NotificationModule, TranslateModule], 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-inline-notification [notificationObj]=\"notificationObj$ | async\"></cds-inline-notification>\n", styles: ["cds-inline-notification{max-inline-size:unset;margin-bottom: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"] }]
210
250
  }], ctorParameters: () => [{ type: i3.TranslateService }], propDecorators: { name: [{
@@ -265,10 +305,10 @@ class CaseHeaderWidgetManagementService extends BaseApiService {
265
305
  createWidget(widget) {
266
306
  return this.paramsRequired$.pipe(switchMap(({ caseDefinitionKey, caseDefinitionVersionTag }) => this.httpClient.post(this.getApiUrl(`management/v1/case-definition/${encodeURIComponent(caseDefinitionKey)}/version/${encodeURIComponent(caseDefinitionVersionTag)}/header-widget`), widget)));
267
307
  }
268
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseHeaderWidgetManagementService, deps: [{ token: i1.HttpClient }, { token: i3$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
269
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseHeaderWidgetManagementService }); }
308
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseHeaderWidgetManagementService, deps: [{ token: i1.HttpClient }, { token: i3$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
309
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseHeaderWidgetManagementService }); }
270
310
  }
271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseHeaderWidgetManagementService, decorators: [{
311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseHeaderWidgetManagementService, decorators: [{
272
312
  type: Injectable
273
313
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i3$1.ConfigService }] });
274
314
 
@@ -312,15 +352,15 @@ class CaseManagementHeaderComponent extends ManagementWidgetDetailsComponent {
312
352
  ngOnDestroy() {
313
353
  this._subscriptions.unsubscribe();
314
354
  }
315
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementHeaderComponent, deps: [{ token: i1$1.WidgetWizardService }, { token: WIDGET_MANAGEMENT_SERVICE }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
316
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementHeaderComponent, isStandalone: true, selector: "valtimo-case-management-header", providers: [
355
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementHeaderComponent, deps: [{ token: i1$1.WidgetWizardService }, { token: WIDGET_MANAGEMENT_SERVICE }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
356
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementHeaderComponent, isStandalone: true, selector: "valtimo-case-management-header", providers: [
317
357
  {
318
358
  provide: WIDGET_MANAGEMENT_SERVICE,
319
359
  useClass: CaseHeaderWidgetManagementService,
320
360
  },
321
361
  ], usesInheritance: 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-widget-management\n [availableWidgetTypes]=\"AVAILABLE_WIDGET_TYPES\"\n [disableDuplicate]=\"true\"\n [enableWidgetDivider]=\"false\"\n [singleWidget]=\"true\"\n [disableJsonEditor]=\"true\"\n [defaultWidth]=\"4\"\n [widgetWizardSteps]=\"WIDGET_WIZARD_STEPS\"\n></valtimo-widget-management>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: WidgetManagementComponent, selector: "valtimo-widget-management", inputs: ["params", "availableWidgetTypes", "disableDuplicate", "enableWidgetDivider", "singleWidget", "disableJsonEditor", "defaultWidth", "widgetWizardSteps"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
322
362
  }
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementHeaderComponent, decorators: [{
363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementHeaderComponent, decorators: [{
324
364
  type: Component,
325
365
  args: [{ standalone: true, selector: 'valtimo-case-management-header', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, WidgetManagementComponent], providers: [
326
366
  {
@@ -420,10 +460,10 @@ class CaseDetailService {
420
460
  }))
421
461
  .subscribe());
422
462
  }
423
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailService, deps: [{ token: i1$2.DocumentService }, { token: i7.PageTitleService }], target: i0.ɵɵFactoryTarget.Injectable }); }
424
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailService }); }
463
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailService, deps: [{ token: i1$2.DocumentService }, { token: i7.PageTitleService }], target: i0.ɵɵFactoryTarget.Injectable }); }
464
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailService }); }
425
465
  }
426
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailService, decorators: [{
466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailService, decorators: [{
427
467
  type: Injectable
428
468
  }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i7.PageTitleService }] });
429
469
 
@@ -495,10 +535,10 @@ class TabManagementService {
495
535
  }
496
536
  return tab;
497
537
  }
498
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabManagementService, deps: [{ token: i3$1.ConfigService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
499
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabManagementService }); }
538
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabManagementService, deps: [{ token: i3$1.ConfigService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
539
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabManagementService }); }
500
540
  }
501
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabManagementService, decorators: [{
541
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabManagementService, decorators: [{
502
542
  type: Injectable
503
543
  }], ctorParameters: () => [{ type: i3$1.ConfigService }, { type: i1.HttpClient }] });
504
544
 
@@ -591,10 +631,10 @@ class TabService {
591
631
  : [caseManagementTabConfig];
592
632
  this._injectedCaseManagementTabs$.next(tabs.map(tab => ({ ...tab, enabled$: tab.enabled$ ?? of(true) })));
593
633
  }
594
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabService, deps: [{ token: CASE_TAB_TOKEN, optional: true }, { token: CASE_MANAGEMENT_TAB_TOKEN, optional: true }, { token: i1$3.FormService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
595
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabService, providedIn: 'root' }); }
634
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabService, deps: [{ token: CASE_TAB_TOKEN, optional: true }, { token: CASE_MANAGEMENT_TAB_TOKEN, optional: true }, { token: i1$3.FormService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
635
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabService, providedIn: 'root' }); }
596
636
  }
597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabService, decorators: [{
637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabService, decorators: [{
598
638
  type: Injectable,
599
639
  args: [{
600
640
  providedIn: 'root',
@@ -647,10 +687,10 @@ class CaseWidgetManagementApiService {
647
687
  updateWidgets(widgets) {
648
688
  return this.params$.pipe(switchMap((params) => this.http.post(`${this.valtimoEndpointBase}/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}/widget-tab/${params.key}`, { ...params, widgets })));
649
689
  }
650
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetManagementApiService, deps: [{ token: i1.HttpClient }, { token: i3$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
651
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetManagementApiService, providedIn: 'root' }); }
690
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetManagementApiService, deps: [{ token: i1.HttpClient }, { token: i3$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
691
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetManagementApiService, providedIn: 'root' }); }
652
692
  }
653
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetManagementApiService, decorators: [{
693
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetManagementApiService, decorators: [{
654
694
  type: Injectable,
655
695
  args: [{
656
696
  providedIn: 'root',
@@ -736,16 +776,189 @@ class CaseManagementService extends BaseApiService {
736
776
  getCaseDefinitionFinalizationCheck(caseDefinitionKey, caseDefinitionVersionTag) {
737
777
  return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/finalizable`));
738
778
  }
739
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementService, deps: [{ token: i1.HttpClient }, { token: i3$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
740
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementService, providedIn: 'root' }); }
779
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementService, deps: [{ token: i1.HttpClient }, { token: i3$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
780
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementService, providedIn: 'root' }); }
741
781
  }
742
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementService, decorators: [{
782
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementService, decorators: [{
743
783
  type: Injectable,
744
784
  args: [{
745
785
  providedIn: 'root',
746
786
  }]
747
787
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i3$1.ConfigService }] });
748
788
 
789
+ class StartableItemApiService extends BaseApiService {
790
+ constructor(configService, httpClient) {
791
+ super(httpClient, configService);
792
+ this.configService = configService;
793
+ this.httpClient = httpClient;
794
+ }
795
+ getCaseDefinitionUrl(params) {
796
+ return this.getApiUrl(`management/v1/case-definition/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}/startable-item`);
797
+ }
798
+ getItems(params) {
799
+ return this.httpClient.get(this.getCaseDefinitionUrl(params));
800
+ }
801
+ createItem(params, request) {
802
+ return this.httpClient.post(this.getCaseDefinitionUrl(params), request);
803
+ }
804
+ deleteItem(params, itemKey, versionTag) {
805
+ const versionSegment = versionTag ? `/version/${versionTag}` : '';
806
+ return this.httpClient.delete(`${this.getCaseDefinitionUrl(params)}/${itemKey}${versionSegment}`);
807
+ }
808
+ updateItem(params, itemKey, versionTag, request) {
809
+ const versionSegment = versionTag ? `/version/${versionTag}` : '';
810
+ return this.httpClient.put(`${this.getCaseDefinitionUrl(params)}/${itemKey}${versionSegment}`, request);
811
+ }
812
+ updateOrder(params, request) {
813
+ return this.httpClient.put(`${this.getCaseDefinitionUrl(params)}/order`, request);
814
+ }
815
+ getItemProperties(params, itemKey, versionTag, type) {
816
+ const versionSegment = versionTag ? `/version/${versionTag}` : '';
817
+ return this.httpClient.get(`${this.getCaseDefinitionUrl(params)}/${itemKey}${versionSegment}/properties`, { params: { type } });
818
+ }
819
+ getLinkedProcessDefinitions(params) {
820
+ return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}/process-definition`));
821
+ }
822
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemApiService, deps: [{ token: i3$1.ConfigService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
823
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemApiService, providedIn: 'root' }); }
824
+ }
825
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemApiService, decorators: [{
826
+ type: Injectable,
827
+ args: [{
828
+ providedIn: 'root',
829
+ }]
830
+ }], ctorParameters: () => [{ type: i3$1.ConfigService }, { type: i1.HttpClient }] });
831
+
832
+ /*
833
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
834
+ *
835
+ * Licensed under EUPL, Version 1.2 (the "License");
836
+ * you may not use this file except in compliance with the License.
837
+ * You may obtain a copy of the License at
838
+ *
839
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
840
+ *
841
+ * Unless required by applicable law or agreed to in writing, software
842
+ * distributed under the License is distributed on an "AS IS" basis,
843
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
844
+ * See the License for the specific language governing permissions and
845
+ * limitations under the License.
846
+ */
847
+ class StartableItemManagementService {
848
+ constructor(startableItemApiService, logger) {
849
+ this.startableItemApiService = startableItemApiService;
850
+ this.logger = logger;
851
+ this._params$ = new BehaviorSubject(null);
852
+ this._items$ = new BehaviorSubject([]);
853
+ this.items$ = this._items$.asObservable();
854
+ this._loading$ = new BehaviorSubject(false);
855
+ this.loading$ = this._loading$.asObservable();
856
+ this._showModal$ = new BehaviorSubject(false);
857
+ this.showModal$ = this._showModal$.asObservable();
858
+ this._editingItem$ = new BehaviorSubject(null);
859
+ this.editingItem$ = this._editingItem$.asObservable();
860
+ this._showDeleteModal$ = new BehaviorSubject(false);
861
+ this.showDeleteModal$ = this._showDeleteModal$.asObservable();
862
+ this._itemToDelete$ = new BehaviorSubject(null);
863
+ this.itemToDelete$ = this._itemToDelete$.asObservable();
864
+ this._reorderComplete$ = new Subject();
865
+ this.reorderComplete$ = this._reorderComplete$.asObservable();
866
+ this.usedProcessDefinitionIds$ = this._items$.pipe(map$1(items => items
867
+ .filter(item => item.type === StartableItemType.PROCESS && !!item.processDefinitionId)
868
+ .map(item => item.processDefinitionId)));
869
+ this.usedBuildingBlockKeys$ = this._items$.pipe(map$1(items => items.filter(item => item.type === StartableItemType.BUILDING_BLOCK).map(item => item.key)));
870
+ this.linkedProcessDefinitions$ = this._params$.pipe(filter$1((params) => params !== null), switchMap$1(params => this.startableItemApiService.getLinkedProcessDefinitions(params)));
871
+ }
872
+ setParams(params) {
873
+ this._params$.next(params);
874
+ }
875
+ getParams() {
876
+ const params = this._params$.value;
877
+ if (!params) {
878
+ this.logger.error('Params not initialized. Call setParams() first.');
879
+ }
880
+ return params;
881
+ }
882
+ loadItems() {
883
+ this._loading$.next(true);
884
+ this.startableItemApiService
885
+ .getItems(this.getParams())
886
+ .pipe(take(1))
887
+ .subscribe({
888
+ next: (items) => {
889
+ this._items$.next(items);
890
+ this._loading$.next(false);
891
+ },
892
+ error: error => {
893
+ console.error(error);
894
+ this._loading$.next(false);
895
+ },
896
+ });
897
+ }
898
+ showCreateModal() {
899
+ this._editingItem$.next(null);
900
+ this._showModal$.next(true);
901
+ }
902
+ showEditModal(item) {
903
+ this._editingItem$.next(item);
904
+ this._showModal$.next(true);
905
+ }
906
+ hideModal() {
907
+ this._showModal$.next(false);
908
+ runAfterCarbonModalClosed(() => this._editingItem$.next(null));
909
+ }
910
+ showDeleteConfirmation(item) {
911
+ this._itemToDelete$.next(item);
912
+ this._showDeleteModal$.next(true);
913
+ }
914
+ hideDeleteModal() {
915
+ this._showDeleteModal$.next(false);
916
+ this._itemToDelete$.next(null);
917
+ }
918
+ createItem(request) {
919
+ return this.startableItemApiService.createItem(this.getParams(), request);
920
+ }
921
+ updateItem(key, versionTag, request) {
922
+ return this.startableItemApiService.updateItem(this.getParams(), key, versionTag, request);
923
+ }
924
+ getItemProperties(itemKey, versionTag, type) {
925
+ return this.startableItemApiService.getItemProperties(this.getParams(), itemKey, versionTag, type);
926
+ }
927
+ deleteItem(item) {
928
+ return this.startableItemApiService.deleteItem(this.getParams(), item.key, item.versionTag);
929
+ }
930
+ updateOrder(items) {
931
+ this._items$.next(items);
932
+ const request = {
933
+ items: items.map((item, index) => ({
934
+ key: item.key,
935
+ type: item.type,
936
+ versionTag: item.versionTag,
937
+ sortOrder: index,
938
+ })),
939
+ };
940
+ this.startableItemApiService
941
+ .updateOrder(this.getParams(), request)
942
+ .pipe(take(1), catchError$1(() => {
943
+ this.loadItems();
944
+ return of([]);
945
+ }))
946
+ .subscribe({
947
+ next: (updatedItems) => {
948
+ if (updatedItems.length) {
949
+ this._items$.next(updatedItems);
950
+ }
951
+ this._reorderComplete$.next();
952
+ },
953
+ });
954
+ }
955
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemManagementService, deps: [{ token: StartableItemApiService }, { token: i2$2.NGXLogger }], target: i0.ɵɵFactoryTarget.Injectable }); }
956
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemManagementService }); }
957
+ }
958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemManagementService, decorators: [{
959
+ type: Injectable
960
+ }], ctorParameters: () => [{ type: StartableItemApiService }, { type: i2$2.NGXLogger }] });
961
+
749
962
  /*
750
963
  * Copyright 2015-2025 Ritense BV, the Netherlands.
751
964
  *
@@ -861,10 +1074,10 @@ class TabFormComponent {
861
1074
  selected: this.form?.get('contentKey')?.value === tabItem.contentKey,
862
1075
  }));
863
1076
  }
864
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabFormComponent, deps: [{ token: i3$1.ConfigService }, { token: TabService }, { token: i1$4.FormGroupDirective }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
865
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: TabFormComponent, isStandalone: false, selector: "valtimo-tab-form", inputs: { tabType: "tabType" }, 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<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\" [cdsLayer]=\"1\">\n <cds-label>\n {{ 'caseManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label [invalid]=\"!!isKeyError()\" [invalidText]=\"getKeyErrorMessage() | translate\">\n {{ 'caseManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n pattern=\"[a-zA-Z0-9\\-]+\"\n [invalid]=\"!!isKeyError()\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n *ngIf=\"tabType !== 'widgets'\"\n [cdsLayer]=\"1\"\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'caseManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list [cdsLayer]=\"1\"></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-toggle\n [label]=\"'caseManagement.tabManagement.addModal.visibleTitle' | translate\"\n [onText]=\"'caseManagement.tabManagement.addModal.visible' | translate\"\n [offText]=\"'caseManagement.tabManagement.addModal.invisible' | translate\"\n [checked]=\"showTasks?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n [disabled]=\"disableTaskListVisibleToggle()\"\n ></cds-toggle>\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1077
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabFormComponent, deps: [{ token: i3$1.ConfigService }, { token: TabService }, { token: i1$4.FormGroupDirective }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
1078
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: TabFormComponent, isStandalone: false, selector: "valtimo-tab-form", inputs: { tabType: "tabType" }, 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<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\" [cdsLayer]=\"1\">\n <cds-label>\n {{ 'caseManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label [invalid]=\"!!isKeyError()\" [invalidText]=\"getKeyErrorMessage() | translate\">\n {{ 'caseManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n pattern=\"[a-zA-Z0-9\\-]+\"\n [invalid]=\"!!isKeyError()\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n *ngIf=\"tabType !== 'widgets'\"\n [cdsLayer]=\"1\"\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'caseManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list [cdsLayer]=\"1\"></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-toggle\n [label]=\"'caseManagement.tabManagement.addModal.visibleTitle' | translate\"\n [onText]=\"'caseManagement.tabManagement.addModal.visible' | translate\"\n [offText]=\"'caseManagement.tabManagement.addModal.invisible' | translate\"\n [checked]=\"showTasks?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n [disabled]=\"disableTaskListVisibleToggle()\"\n ></cds-toggle>\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
866
1079
  }
867
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabFormComponent, decorators: [{
1080
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabFormComponent, decorators: [{
868
1081
  type: Component,
869
1082
  args: [{ standalone: false, selector: 'valtimo-tab-form', 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<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\" [cdsLayer]=\"1\">\n <cds-label>\n {{ 'caseManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label [invalid]=\"!!isKeyError()\" [invalidText]=\"getKeyErrorMessage() | translate\">\n {{ 'caseManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n pattern=\"[a-zA-Z0-9\\-]+\"\n [invalid]=\"!!isKeyError()\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n *ngIf=\"tabType !== 'widgets'\"\n [cdsLayer]=\"1\"\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'caseManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list [cdsLayer]=\"1\"></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-toggle\n [label]=\"'caseManagement.tabManagement.addModal.visibleTitle' | translate\"\n [onText]=\"'caseManagement.tabManagement.addModal.visible' | translate\"\n [offText]=\"'caseManagement.tabManagement.addModal.invisible' | translate\"\n [checked]=\"showTasks?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n [disabled]=\"disableTaskListVisibleToggle()\"\n ></cds-toggle>\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\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"] }]
870
1083
  }], ctorParameters: () => [{ type: i3$1.ConfigService }, { type: TabService }, { type: i1$4.FormGroupDirective }, { type: i2$1.ActivatedRoute }], propDecorators: { tabType: [{
@@ -966,10 +1179,10 @@ class CaseManagementAddTabModalComponent {
966
1179
  ? null
967
1180
  : { uniqueKey: { value: control.value } };
968
1181
  }
969
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementAddTabModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: i2.IconService }, { token: TabService }, { token: i3$1.ConfigService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
970
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementAddTabModalComponent, isStandalone: false, selector: "valtimo-case-management-add-tab-modal", inputs: { params: "params", open: "open" }, outputs: { closeModalEvent: "closeModalEvent" }, 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 valtimoCdsModal *ngIf=\"{selectedTabType: selectedTabType$ | async} as obs\" [open]=\"open\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{\n !obs.selectedTabType\n ? ('caseManagement.tabManagement.addModal.title'\n | translate: {documentDefinitionName: (params.caseDefinitionKey | titlecase)})\n : ('caseManagement.tabManagement.titles.' + obs.selectedTabType | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section [formGroup]=\"form\" cdsModalContent class=\"valtimo-add-tab-modal__content\" [cdsLayer]=\"1\">\n <valtimo-tab-form\n *ngIf=\"obs.selectedTabType; else tabTypeSelection\"\n [tabType]=\"obs.selectedTabType\"\n ></valtimo-tab-form>\n\n <ng-template #tabTypeSelection>\n <span> {{ 'caseManagement.tabManagement.addModal.description' | translate }} </span>\n\n <div *ngIf=\"tabTypes$ | async as tabTypes\" class=\"valtimo-add-tab-modal__types\">\n <cds-tooltip\n *ngFor=\"let tabType of tabTypes\"\n [caret]=\"true\"\n enterDelayMs=\"0\"\n leaveDelayMs=\"0\"\n [description]=\"tabType.disabledTooltipTranslationKey | translate\"\n [disabled]=\"!tabType.disabled\"\n align=\"bottom\"\n >\n <button\n cdsButton=\"secondary\"\n [disabled]=\"tabType.disabled\"\n (click)=\"onTabTypeSelect(tabType.type)\"\n >\n {{ tabType.title | translate }}\n\n <svg [cdsIcon]=\"tabType.icon\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </cds-tooltip>\n </div>\n </ng-template>\n </section>\n\n <cds-modal-footer class=\"valtimo-add-tab-modal__footer\" [cdsLayer]=\"1\">\n <button class=\"valtimo-add-tab-modal__cancel\" cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <div class=\"valtimo-add-tab-modal__actions\" *ngIf=\"obs.selectedTabType\">\n <button cdsButton=\"secondary\" (click)=\"backClick()\">\n {{ 'interface.back' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"addTab(obs.selectedTabType)\">\n {{ 'caseManagement.tabManagement.addModal.addTab' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-add-tab-modal__footer .cds--modal-footer{justify-content:unset;display:grid;grid-template-columns:1fr 1fr 2fr;grid-template-areas:\"cancel . actions\"}.valtimo-add-tab-modal__cancel{grid-area:cancel;width:100%}.valtimo-add-tab-modal__actions{grid-area:actions;display:flex}.valtimo-add-tab-modal__types{display:grid;grid-template:1fr/repeat(3,1fr);gap:16px}.valtimo-add-tab-modal__types button{width:100%}.valtimo-add-tab-modal__content{display:flex;flex-direction:column;gap:24px}.cds--popover--open{z-index:999999!important}\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: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: TabFormComponent, selector: "valtimo-tab-form", inputs: ["tabType"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1182
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementAddTabModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: i2.IconService }, { token: TabService }, { token: i3$1.ConfigService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
1183
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementAddTabModalComponent, isStandalone: false, selector: "valtimo-case-management-add-tab-modal", inputs: { params: "params", open: "open" }, outputs: { closeModalEvent: "closeModalEvent" }, 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 valtimoCdsModal *ngIf=\"{selectedTabType: selectedTabType$ | async} as obs\" [open]=\"open\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{\n !obs.selectedTabType\n ? ('caseManagement.tabManagement.addModal.title'\n | translate: {documentDefinitionName: (params.caseDefinitionKey | titlecase)})\n : ('caseManagement.tabManagement.titles.' + obs.selectedTabType | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section [formGroup]=\"form\" cdsModalContent class=\"valtimo-add-tab-modal__content\" [cdsLayer]=\"1\">\n <valtimo-tab-form\n *ngIf=\"obs.selectedTabType; else tabTypeSelection\"\n [tabType]=\"obs.selectedTabType\"\n ></valtimo-tab-form>\n\n <ng-template #tabTypeSelection>\n <span> {{ 'caseManagement.tabManagement.addModal.description' | translate }} </span>\n\n <div *ngIf=\"tabTypes$ | async as tabTypes\" class=\"valtimo-add-tab-modal__types\">\n <cds-tooltip\n *ngFor=\"let tabType of tabTypes\"\n [caret]=\"true\"\n enterDelayMs=\"0\"\n leaveDelayMs=\"0\"\n [description]=\"tabType.disabledTooltipTranslationKey | translate\"\n [disabled]=\"!tabType.disabled\"\n align=\"bottom\"\n >\n <button\n cdsButton=\"secondary\"\n [disabled]=\"tabType.disabled\"\n (click)=\"onTabTypeSelect(tabType.type)\"\n >\n {{ tabType.title | translate }}\n\n <svg [cdsIcon]=\"tabType.icon\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </cds-tooltip>\n </div>\n </ng-template>\n </section>\n\n <cds-modal-footer class=\"valtimo-add-tab-modal__footer\" [cdsLayer]=\"1\">\n <button class=\"valtimo-add-tab-modal__cancel\" cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <div class=\"valtimo-add-tab-modal__actions\" *ngIf=\"obs.selectedTabType\">\n <button cdsButton=\"secondary\" (click)=\"backClick()\">\n {{ 'interface.back' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"addTab(obs.selectedTabType)\">\n {{ 'caseManagement.tabManagement.addModal.addTab' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-add-tab-modal__footer .cds--modal-footer{justify-content:unset;display:grid;grid-template-columns:1fr 1fr 2fr;grid-template-areas:\"cancel . actions\"}.valtimo-add-tab-modal__cancel{grid-area:cancel;width:100%}.valtimo-add-tab-modal__actions{grid-area:actions;display:flex}.valtimo-add-tab-modal__types{display:grid;grid-template:1fr/repeat(3,1fr);gap:16px}.valtimo-add-tab-modal__types button{width:100%}.valtimo-add-tab-modal__content{display:flex;flex-direction:column;gap:24px}.cds--popover--open{z-index:999999!important}\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: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: TabFormComponent, selector: "valtimo-tab-form", inputs: ["tabType"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
971
1184
  }
972
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementAddTabModalComponent, decorators: [{
1185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementAddTabModalComponent, decorators: [{
973
1186
  type: Component,
974
1187
  args: [{ standalone: false, selector: 'valtimo-case-management-add-tab-modal', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, 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 valtimoCdsModal *ngIf=\"{selectedTabType: selectedTabType$ | async} as obs\" [open]=\"open\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{\n !obs.selectedTabType\n ? ('caseManagement.tabManagement.addModal.title'\n | translate: {documentDefinitionName: (params.caseDefinitionKey | titlecase)})\n : ('caseManagement.tabManagement.titles.' + obs.selectedTabType | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section [formGroup]=\"form\" cdsModalContent class=\"valtimo-add-tab-modal__content\" [cdsLayer]=\"1\">\n <valtimo-tab-form\n *ngIf=\"obs.selectedTabType; else tabTypeSelection\"\n [tabType]=\"obs.selectedTabType\"\n ></valtimo-tab-form>\n\n <ng-template #tabTypeSelection>\n <span> {{ 'caseManagement.tabManagement.addModal.description' | translate }} </span>\n\n <div *ngIf=\"tabTypes$ | async as tabTypes\" class=\"valtimo-add-tab-modal__types\">\n <cds-tooltip\n *ngFor=\"let tabType of tabTypes\"\n [caret]=\"true\"\n enterDelayMs=\"0\"\n leaveDelayMs=\"0\"\n [description]=\"tabType.disabledTooltipTranslationKey | translate\"\n [disabled]=\"!tabType.disabled\"\n align=\"bottom\"\n >\n <button\n cdsButton=\"secondary\"\n [disabled]=\"tabType.disabled\"\n (click)=\"onTabTypeSelect(tabType.type)\"\n >\n {{ tabType.title | translate }}\n\n <svg [cdsIcon]=\"tabType.icon\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </cds-tooltip>\n </div>\n </ng-template>\n </section>\n\n <cds-modal-footer class=\"valtimo-add-tab-modal__footer\" [cdsLayer]=\"1\">\n <button class=\"valtimo-add-tab-modal__cancel\" cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <div class=\"valtimo-add-tab-modal__actions\" *ngIf=\"obs.selectedTabType\">\n <button cdsButton=\"secondary\" (click)=\"backClick()\">\n {{ 'interface.back' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"addTab(obs.selectedTabType)\">\n {{ 'caseManagement.tabManagement.addModal.addTab' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-add-tab-modal__footer .cds--modal-footer{justify-content:unset;display:grid;grid-template-columns:1fr 1fr 2fr;grid-template-areas:\"cancel . actions\"}.valtimo-add-tab-modal__cancel{grid-area:cancel;width:100%}.valtimo-add-tab-modal__actions{grid-area:actions;display:flex}.valtimo-add-tab-modal__types{display:grid;grid-template:1fr/repeat(3,1fr);gap:16px}.valtimo-add-tab-modal__types button{width:100%}.valtimo-add-tab-modal__content{display:flex;flex-direction:column;gap:24px}.cds--popover--open{z-index:999999!important}\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"] }]
975
1188
  }], ctorParameters: () => [{ type: i1$4.FormBuilder }, { type: i2.IconService }, { type: TabService }, { type: i3$1.ConfigService }, { type: i2$1.ActivatedRoute }], propDecorators: { params: [{
@@ -1029,10 +1242,10 @@ class CaseManagementEditTabModalComponent {
1029
1242
  }
1030
1243
  this.closeModalEvent.emit({ ...this.tab, name, contentKey, showTasks });
1031
1244
  }
1032
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementEditTabModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: TabService }], target: i0.ɵɵFactoryTarget.Component }); }
1033
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementEditTabModalComponent, isStandalone: false, selector: "valtimo-case-management-edit-tab-modal", inputs: { open: "open", tab: "tab" }, outputs: { closeModalEvent: "closeModalEvent" }, 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 valtimoCdsModal *ngIf=\"form\" [open]=\"open\" (close)=\"onCloseModal()\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n 'caseManagement.tabManagement.editModal.title'\n | translate: {name: tab?.name ?? 'case.tabs.' + tab.key | translate}\n }}\n </h3>\n </cds-modal-header>\n\n <section\n [formGroup]=\"form\"\n cdsModalContent\n [cdsLayer]=\"1\"\n >\n <valtimo-tab-form\n [configuredContentKeys]=\"configuredKeysForEdit\"\n [tabType]=\"tab?.type\"\n ></valtimo-tab-form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"editTab()\">\n {{ 'caseManagement.tabManagement.editModal.updateTab' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: TabFormComponent, selector: "valtimo-tab-form", inputs: ["tabType"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
1245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementEditTabModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: TabService }], target: i0.ɵɵFactoryTarget.Component }); }
1246
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementEditTabModalComponent, isStandalone: false, selector: "valtimo-case-management-edit-tab-modal", inputs: { open: "open", tab: "tab" }, outputs: { closeModalEvent: "closeModalEvent" }, 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 valtimoCdsModal *ngIf=\"form\" [open]=\"open\" (close)=\"onCloseModal()\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n 'caseManagement.tabManagement.editModal.title'\n | translate: {name: tab?.name ?? 'case.tabs.' + tab.key | translate}\n }}\n </h3>\n </cds-modal-header>\n\n <section\n [formGroup]=\"form\"\n cdsModalContent\n [cdsLayer]=\"1\"\n >\n <valtimo-tab-form\n [configuredContentKeys]=\"configuredKeysForEdit\"\n [tabType]=\"tab?.type\"\n ></valtimo-tab-form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"editTab()\">\n {{ 'caseManagement.tabManagement.editModal.updateTab' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: TabFormComponent, selector: "valtimo-tab-form", inputs: ["tabType"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
1034
1247
  }
1035
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementEditTabModalComponent, decorators: [{
1248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementEditTabModalComponent, decorators: [{
1036
1249
  type: Component,
1037
1250
  args: [{ standalone: false, selector: 'valtimo-case-management-edit-tab-modal', 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 valtimoCdsModal *ngIf=\"form\" [open]=\"open\" (close)=\"onCloseModal()\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n 'caseManagement.tabManagement.editModal.title'\n | translate: {name: tab?.name ?? 'case.tabs.' + tab.key | translate}\n }}\n </h3>\n </cds-modal-header>\n\n <section\n [formGroup]=\"form\"\n cdsModalContent\n [cdsLayer]=\"1\"\n >\n <valtimo-tab-form\n [configuredContentKeys]=\"configuredKeysForEdit\"\n [tabType]=\"tab?.type\"\n ></valtimo-tab-form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"editTab()\">\n {{ 'caseManagement.tabManagement.editModal.updateTab' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n" }]
1038
1251
  }], ctorParameters: () => [{ type: i1$4.FormBuilder }, { type: TabService }], propDecorators: { open: [{
@@ -1197,10 +1410,10 @@ class CaseManagementTabsComponent {
1197
1410
  },
1198
1411
  ]);
1199
1412
  }
1200
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementTabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2.IconService }, { token: TabManagementService }, { token: TabService }, { token: i3.TranslateService }, { token: i2$1.Router }, { token: i2$1.ActivatedRoute }, { token: i3$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
1201
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementTabsComponent, isStandalone: false, selector: "valtimo-case-management-tabs", viewQueries: [{ propertyName: "tabContentColumnTemplate", first: true, predicate: ["tabContentColumn"], descendants: true }, { propertyName: "tabTypeColumnTemplate", first: true, predicate: ["tabTypeColumn"], descendants: true }, { propertyName: "moveButtonsTemplate", first: true, predicate: ["moveButtonsTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-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<ng-container\n *ngIf=\"{\n routeParams: caseManagementRouteParams$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n *ngIf=\"{fields: fields$ | async, loading: loading$ | async, tabs: tabs$ | async} as obs\"\n [actionItems]=\"actionItems\"\n [items]=\"obs.tabs\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n (rowClicked)=\"onRowClicked($event)\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"dragAndDropDisabled() || !(hasEditPermissions$ | async)\"\n (itemsReordered)=\"onItemsReorderedEvent($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTabButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTabButton\"\n [description]=\"'case.tabs.noResultsDescription' | translate\"\n [title]=\"'case.tabs.noResults' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <ng-template #tabTypeColumn let-data=\"data\">\n {{\n isTranslated('caseManagement.tabType.' + data.item.type)\n ? ('caseManagement.tabType.' + data.item.type | translate)\n : data.item.type\n }}\n </ng-template>\n\n <ng-template #tabContentColumn let-data=\"data\">\n {{\n isTranslated('case.tabs.' + data.item.contentKey)\n ? ('case.tabs.' + data.item.contentKey | translate)\n : data.item.contentKey\n }}\n </ng-template>\n\n <ng-template #addTabButton>\n <button cdsButton=\"primary\" *ngIf=\"obs.hasEditPermissions\" (click)=\"openAddTabModal()\">\n {{ 'caseManagement.tabManagement.addModal.addTab' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </ng-template>\n\n <valtimo-case-management-add-tab-modal\n *ngIf=\"openAddModal$ | async\"\n [params]=\"obs.routeParams\"\n [open]=\"openAddModal$ | async\"\n (closeModalEvent)=\"onCloseAddModalEvent($event)\"\n ></valtimo-case-management-add-tab-modal>\n\n <valtimo-case-management-edit-tab-modal\n *ngIf=\"openEditModal$ | async\"\n [tab]=\"tab$ | async\"\n (closeModalEvent)=\"onCloseEditModalEvent($event)\"\n [open]=\"openEditModal$ | async\"\n ></valtimo-case-management-edit-tab-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"caseManagement.tabManagement.deleteModal.description\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"caseManagement.tabManagement.deleteModal.title\"\n (confirmEvent)=\"onConfirmEvent($event)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: CaseManagementAddTabModalComponent, selector: "valtimo-case-management-add-tab-modal", inputs: ["params", "open"], outputs: ["closeModalEvent"] }, { kind: "component", type: CaseManagementEditTabModalComponent, selector: "valtimo-case-management-edit-tab-modal", inputs: ["open", "tab"], outputs: ["closeModalEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1413
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementTabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2.IconService }, { token: TabManagementService }, { token: TabService }, { token: i3.TranslateService }, { token: i2$1.Router }, { token: i2$1.ActivatedRoute }, { token: i3$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
1414
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementTabsComponent, isStandalone: false, selector: "valtimo-case-management-tabs", viewQueries: [{ propertyName: "tabContentColumnTemplate", first: true, predicate: ["tabContentColumn"], descendants: true }, { propertyName: "tabTypeColumnTemplate", first: true, predicate: ["tabTypeColumn"], descendants: true }, { propertyName: "moveButtonsTemplate", first: true, predicate: ["moveButtonsTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-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<ng-container\n *ngIf=\"{\n routeParams: caseManagementRouteParams$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n *ngIf=\"{fields: fields$ | async, loading: loading$ | async, tabs: tabs$ | async} as obs\"\n [actionItems]=\"actionItems\"\n [items]=\"obs.tabs\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n (rowClicked)=\"onRowClicked($event)\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"dragAndDropDisabled() || !(hasEditPermissions$ | async)\"\n (itemsReordered)=\"onItemsReorderedEvent($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTabButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTabButton\"\n [description]=\"'case.tabs.noResultsDescription' | translate\"\n [title]=\"'case.tabs.noResults' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <ng-template #tabTypeColumn let-data=\"data\">\n {{\n isTranslated('caseManagement.tabType.' + data.item.type)\n ? ('caseManagement.tabType.' + data.item.type | translate)\n : data.item.type\n }}\n </ng-template>\n\n <ng-template #tabContentColumn let-data=\"data\">\n {{\n isTranslated('case.tabs.' + data.item.contentKey)\n ? ('case.tabs.' + data.item.contentKey | translate)\n : data.item.contentKey\n }}\n </ng-template>\n\n <ng-template #addTabButton>\n <button cdsButton=\"primary\" *ngIf=\"obs.hasEditPermissions\" (click)=\"openAddTabModal()\">\n {{ 'caseManagement.tabManagement.addModal.addTab' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </ng-template>\n\n <valtimo-case-management-add-tab-modal\n *ngIf=\"openAddModal$ | async\"\n [params]=\"obs.routeParams\"\n [open]=\"openAddModal$ | async\"\n (closeModalEvent)=\"onCloseAddModalEvent($event)\"\n ></valtimo-case-management-add-tab-modal>\n\n <valtimo-case-management-edit-tab-modal\n *ngIf=\"openEditModal$ | async\"\n [tab]=\"tab$ | async\"\n (closeModalEvent)=\"onCloseEditModalEvent($event)\"\n [open]=\"openEditModal$ | async\"\n ></valtimo-case-management-edit-tab-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"caseManagement.tabManagement.deleteModal.description\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"caseManagement.tabManagement.deleteModal.title\"\n (confirmEvent)=\"onConfirmEvent($event)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: CaseManagementAddTabModalComponent, selector: "valtimo-case-management-add-tab-modal", inputs: ["params", "open"], outputs: ["closeModalEvent"] }, { kind: "component", type: CaseManagementEditTabModalComponent, selector: "valtimo-case-management-edit-tab-modal", inputs: ["open", "tab"], outputs: ["closeModalEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1202
1415
  }
1203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementTabsComponent, decorators: [{
1416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementTabsComponent, decorators: [{
1204
1417
  type: Component,
1205
1418
  args: [{ standalone: false, selector: 'valtimo-case-management-tabs', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, 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<ng-container\n *ngIf=\"{\n routeParams: caseManagementRouteParams$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n *ngIf=\"{fields: fields$ | async, loading: loading$ | async, tabs: tabs$ | async} as obs\"\n [actionItems]=\"actionItems\"\n [items]=\"obs.tabs\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n (rowClicked)=\"onRowClicked($event)\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"dragAndDropDisabled() || !(hasEditPermissions$ | async)\"\n (itemsReordered)=\"onItemsReorderedEvent($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTabButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTabButton\"\n [description]=\"'case.tabs.noResultsDescription' | translate\"\n [title]=\"'case.tabs.noResults' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <ng-template #tabTypeColumn let-data=\"data\">\n {{\n isTranslated('caseManagement.tabType.' + data.item.type)\n ? ('caseManagement.tabType.' + data.item.type | translate)\n : data.item.type\n }}\n </ng-template>\n\n <ng-template #tabContentColumn let-data=\"data\">\n {{\n isTranslated('case.tabs.' + data.item.contentKey)\n ? ('case.tabs.' + data.item.contentKey | translate)\n : data.item.contentKey\n }}\n </ng-template>\n\n <ng-template #addTabButton>\n <button cdsButton=\"primary\" *ngIf=\"obs.hasEditPermissions\" (click)=\"openAddTabModal()\">\n {{ 'caseManagement.tabManagement.addModal.addTab' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </ng-template>\n\n <valtimo-case-management-add-tab-modal\n *ngIf=\"openAddModal$ | async\"\n [params]=\"obs.routeParams\"\n [open]=\"openAddModal$ | async\"\n (closeModalEvent)=\"onCloseAddModalEvent($event)\"\n ></valtimo-case-management-add-tab-modal>\n\n <valtimo-case-management-edit-tab-modal\n *ngIf=\"openEditModal$ | async\"\n [tab]=\"tab$ | async\"\n (closeModalEvent)=\"onCloseEditModalEvent($event)\"\n [open]=\"openEditModal$ | async\"\n ></valtimo-case-management-edit-tab-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"caseManagement.tabManagement.deleteModal.description\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"caseManagement.tabManagement.deleteModal.title\"\n (confirmEvent)=\"onConfirmEvent($event)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n" }]
1206
1419
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2.IconService }, { type: TabManagementService }, { type: TabService }, { type: i3.TranslateService }, { type: i2$1.Router }, { type: i2$1.ActivatedRoute }, { type: i3$1.EditPermissionsService }], propDecorators: { tabContentColumnTemplate: [{
@@ -1582,10 +1795,10 @@ class CaseManagementStatusModalComponent {
1582
1795
  color: this.color.value,
1583
1796
  };
1584
1797
  }
1585
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementStatusModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: i2.IconService }, { token: i1$2.CaseStatusService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
1586
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementStatusModalComponent, isStandalone: false, selector: "valtimo-case-management-status-modal", inputs: { type: "type", prefill: "prefill", usedKeys: "usedKeys", caseDefinitionKey: "caseDefinitionKey" }, outputs: { closeModalEvent: "closeModalEvent" }, 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 valtimoCdsModal\n *ngIf=\"{\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n isClosed: isClosed$ | async,\n editingKey: editingKey$ | async,\n disabled: disabled$ | async,\n } as obs\"\n [open]=\"!obs.isClosed\"\n size=\"sm\"\n (close)=\"onClose()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ obs.isAdd ? ('caseManagement.statuses.add' | translate) : '' }}\n {{ obs.isEdit ? ('caseManagement.statuses.edit' | translate) : '' }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"statusForm; context: {obs: obs}\"></ng-container>\n </section>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"dropdown-color-tag\">\n <cds-tag *ngIf=\"item && item.content\" class=\"cds-tag--no-margin\" [type]=\"item?.tagType\">\n {{ 'interface.tagType.' + item?.tagType | translate }}\n </cds-tag>\n </div>\n</ng-template>\n\n<ng-template #statusForm let-obs=\"obs\">\n <form [formGroup]=\"statusFormGroup\" class=\"status-form\">\n <cds-label>\n {{ 'caseManagement.statuses.columns.title' | translate }}\n\n <input cdsText formControlName=\"title\" [attr.data-test-id]=\"testIds.titleInput\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.statuses.columns.key' | translate }}\n\n <div class=\"edit-key-input\">\n <input\n cdsText\n formControlName=\"key\"\n [attr.data-test-id]=\"testIds.keyInput\"\n [readOnly]=\"!obs.editingKey\"\n [placeholder]=\"\n obs.isAdd && !obs.editingKey\n ? ('caseManagement.statuses.keyAutoGenerated' | translate)\n : ''\n \"\n />\n\n <cds-icon-button\n *ngIf=\"!obs.editingKey && obs.isAdd\"\n [attr.data-test-id]=\"testIds.editKeyButton\"\n [disabled]=\"obs.disabled\"\n (click)=\"editKeyButtonClick()\"\n kind=\"secondary\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-label>\n\n <div class=\"horizontal-inputs\">\n <cds-label>\n {{ 'caseManagement.statuses.columns.color' | translate }}\n\n <cds-dropdown\n [id]=\"'status-color-dropdown'\"\n [attr.data-test-id]=\"testIds.colorDropdown\"\n [appendInline]=\"false\"\n [placeholder]=\"'caseManagement.statuses.colorPlaceholder' | translate\"\n (selected)=\"colorDropdownChange($event)\"\n >\n <cds-dropdown-list [items]=\"colorListItems$\" [listTpl]=\"colorDropdownItemTemplate\">\n </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-toggle\n [attr.data-test-id]=\"testIds.visibilityToggle\"\n [label]=\"'caseManagement.statuses.visibleTitle' | translate\"\n [onText]=\"'caseManagement.statuses.visible' | translate\"\n [offText]=\"'caseManagement.statuses.invisible' | translate\"\n [disabled]=\"obs.disabled\"\n [checked]=\"visibleInCaseListByDefault?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </div>\n\n <cds-toggle\n [label]=\"'caseManagement.statuses.showRetentionPeriod' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n [disabled]=\"obs.disabled\"\n [checked]=\"showRetentionPeriod$ | async\"\n (checkedChange)=\"toggleRetentionPeriod($event)\"\n ></cds-toggle>\n\n <cds-label class=\"status-form-retention-period__label\" *ngIf=\"showRetentionPeriod$ | async\">\n <div>\n {{ 'caseManagement.statuses.columns.retentionPeriod' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'caseManagement.statuses.columns.retentionPeriodTooltip' | translate\"\n ></v-tooltip-icon>\n </div>\n\n <input cdsText formControlName=\"retentionPeriodInDays\" />\n </cds-label>\n\n <cds-notification\n class=\"deployment-warning-notification\"\n *ngIf=\"!obs.editingKey && !obs.isAdd\"\n [notificationObj]=\"{\n type: 'warning',\n message:\n ('caseManagement.statuses.retentionPeriodExistingCasesWarning'\n | translate: notificationContent),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-notification>\n </form>\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <button cdsButton=\"ghost\" [attr.data-test-id]=\"testIds.cancelButton\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isAdd\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addConfirmButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"addStatus()\"\n >\n {{ 'interface.add' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isEdit\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.saveButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"editStatus()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n</ng-template>\n", styles: [".status-form{display:flex;flex-direction:column;gap:16px}::ng-deep .status-form-retention-period__label .cds--text-input__field-wrapper{flex-direction:column;gap:8px}::ng-deep .status-form-retention-period__label .cds--text-input__field-wrapper div{display:flex;align-items:center}.edit-key-input{height:40px;display:flex;width:100%;flex-direction:row;gap:16px;align-items:flex-end}.edit-key-input input:read-only{color:var(--cds-text-disabled)}::ng-deep .horizontal-inputs{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}::ng-deep .horizontal-inputs .cds--label{width:100%;display:flex;flex-direction:column;gap:8px}::ng-deep .dropdown-color-tag .cds--tag{margin-top:-4px;margin-left:2px}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.IconButton, selector: "cds-icon-button, ibm-icon-button", inputs: ["buttonNgClass", "buttonAttributes", "buttonId", "kind", "size", "type", "isExpressive", "disabled", "description", "showTooltipWhenDisabled"], outputs: ["click", "focus", "blur", "tooltipClick"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i7.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: i2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1798
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementStatusModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: i2.IconService }, { token: i1$2.CaseStatusService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
1799
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementStatusModalComponent, isStandalone: false, selector: "valtimo-case-management-status-modal", inputs: { type: "type", prefill: "prefill", usedKeys: "usedKeys", caseDefinitionKey: "caseDefinitionKey" }, outputs: { closeModalEvent: "closeModalEvent" }, 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 valtimoCdsModal\n *ngIf=\"{\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n isClosed: isClosed$ | async,\n editingKey: editingKey$ | async,\n disabled: disabled$ | async,\n } as obs\"\n [open]=\"!obs.isClosed\"\n size=\"sm\"\n (close)=\"onClose()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ obs.isAdd ? ('caseManagement.statuses.add' | translate) : '' }}\n {{ obs.isEdit ? ('caseManagement.statuses.edit' | translate) : '' }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"statusForm; context: {obs: obs}\"></ng-container>\n </section>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"dropdown-color-tag\">\n <cds-tag *ngIf=\"item && item.content\" class=\"cds-tag--no-margin\" [type]=\"item?.tagType\">\n {{ 'interface.tagType.' + item?.tagType | translate }}\n </cds-tag>\n </div>\n</ng-template>\n\n<ng-template #statusForm let-obs=\"obs\">\n <form [formGroup]=\"statusFormGroup\" class=\"status-form\">\n <cds-label>\n {{ 'caseManagement.statuses.columns.title' | translate }}\n\n <input cdsText formControlName=\"title\" [attr.data-test-id]=\"testIds.titleInput\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.statuses.columns.key' | translate }}\n\n <div class=\"edit-key-input\">\n <input\n cdsText\n formControlName=\"key\"\n [attr.data-test-id]=\"testIds.keyInput\"\n [readOnly]=\"!obs.editingKey\"\n [placeholder]=\"\n obs.isAdd && !obs.editingKey\n ? ('caseManagement.statuses.keyAutoGenerated' | translate)\n : ''\n \"\n />\n\n <cds-icon-button\n *ngIf=\"!obs.editingKey && obs.isAdd\"\n [attr.data-test-id]=\"testIds.editKeyButton\"\n [disabled]=\"obs.disabled\"\n (click)=\"editKeyButtonClick()\"\n kind=\"secondary\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-label>\n\n <div class=\"horizontal-inputs\">\n <cds-label>\n {{ 'caseManagement.statuses.columns.color' | translate }}\n\n <cds-dropdown\n [id]=\"'status-color-dropdown'\"\n [attr.data-test-id]=\"testIds.colorDropdown\"\n [appendInline]=\"false\"\n [placeholder]=\"'caseManagement.statuses.colorPlaceholder' | translate\"\n (selected)=\"colorDropdownChange($event)\"\n >\n <cds-dropdown-list [items]=\"colorListItems$\" [listTpl]=\"colorDropdownItemTemplate\">\n </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-toggle\n [attr.data-test-id]=\"testIds.visibilityToggle\"\n [label]=\"'caseManagement.statuses.visibleTitle' | translate\"\n [onText]=\"'caseManagement.statuses.visible' | translate\"\n [offText]=\"'caseManagement.statuses.invisible' | translate\"\n [disabled]=\"obs.disabled\"\n [checked]=\"visibleInCaseListByDefault?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </div>\n\n <cds-toggle\n [label]=\"'caseManagement.statuses.showRetentionPeriod' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n [disabled]=\"obs.disabled\"\n [checked]=\"showRetentionPeriod$ | async\"\n (checkedChange)=\"toggleRetentionPeriod($event)\"\n ></cds-toggle>\n\n <cds-label class=\"status-form-retention-period__label\" *ngIf=\"showRetentionPeriod$ | async\">\n <div>\n {{ 'caseManagement.statuses.columns.retentionPeriod' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'caseManagement.statuses.columns.retentionPeriodTooltip' | translate\"\n ></v-tooltip-icon>\n </div>\n\n <input cdsText formControlName=\"retentionPeriodInDays\" />\n </cds-label>\n\n <cds-notification\n class=\"deployment-warning-notification\"\n *ngIf=\"!obs.editingKey && !obs.isAdd\"\n [notificationObj]=\"{\n type: 'warning',\n message:\n ('caseManagement.statuses.retentionPeriodExistingCasesWarning'\n | translate: notificationContent),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-notification>\n </form>\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <button cdsButton=\"ghost\" [attr.data-test-id]=\"testIds.cancelButton\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isAdd\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addConfirmButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"addStatus()\"\n >\n {{ 'interface.add' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isEdit\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.saveButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"editStatus()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n</ng-template>\n", styles: [".status-form{display:flex;flex-direction:column;gap:16px}::ng-deep .status-form-retention-period__label .cds--text-input__field-wrapper{flex-direction:column;gap:8px}::ng-deep .status-form-retention-period__label .cds--text-input__field-wrapper div{display:flex;align-items:center}.edit-key-input{height:40px;display:flex;width:100%;flex-direction:row;gap:16px;align-items:flex-end}.edit-key-input input:read-only{color:var(--cds-text-disabled)}::ng-deep .horizontal-inputs{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}::ng-deep .horizontal-inputs .cds--label{width:100%;display:flex;flex-direction:column;gap:8px}::ng-deep .dropdown-color-tag .cds--tag{margin-top:-4px;margin-left:2px}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.IconButton, selector: "cds-icon-button, ibm-icon-button", inputs: ["buttonNgClass", "buttonAttributes", "buttonId", "kind", "size", "type", "isExpressive", "disabled", "description", "showTooltipWhenDisabled"], outputs: ["click", "focus", "blur", "tooltipClick"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i7.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: i2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1587
1800
  }
1588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementStatusModalComponent, decorators: [{
1801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementStatusModalComponent, decorators: [{
1589
1802
  type: Component,
1590
1803
  args: [{ standalone: false, selector: 'valtimo-case-management-status-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<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n isClosed: isClosed$ | async,\n editingKey: editingKey$ | async,\n disabled: disabled$ | async,\n } as obs\"\n [open]=\"!obs.isClosed\"\n size=\"sm\"\n (close)=\"onClose()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onClose()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{ obs.isAdd ? ('caseManagement.statuses.add' | translate) : '' }}\n {{ obs.isEdit ? ('caseManagement.statuses.edit' | translate) : '' }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"statusForm; context: {obs: obs}\"></ng-container>\n </section>\n\n <cds-modal-footer [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"buttons; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <div class=\"dropdown-color-tag\">\n <cds-tag *ngIf=\"item && item.content\" class=\"cds-tag--no-margin\" [type]=\"item?.tagType\">\n {{ 'interface.tagType.' + item?.tagType | translate }}\n </cds-tag>\n </div>\n</ng-template>\n\n<ng-template #statusForm let-obs=\"obs\">\n <form [formGroup]=\"statusFormGroup\" class=\"status-form\">\n <cds-label>\n {{ 'caseManagement.statuses.columns.title' | translate }}\n\n <input cdsText formControlName=\"title\" [attr.data-test-id]=\"testIds.titleInput\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.statuses.columns.key' | translate }}\n\n <div class=\"edit-key-input\">\n <input\n cdsText\n formControlName=\"key\"\n [attr.data-test-id]=\"testIds.keyInput\"\n [readOnly]=\"!obs.editingKey\"\n [placeholder]=\"\n obs.isAdd && !obs.editingKey\n ? ('caseManagement.statuses.keyAutoGenerated' | translate)\n : ''\n \"\n />\n\n <cds-icon-button\n *ngIf=\"!obs.editingKey && obs.isAdd\"\n [attr.data-test-id]=\"testIds.editKeyButton\"\n [disabled]=\"obs.disabled\"\n (click)=\"editKeyButtonClick()\"\n kind=\"secondary\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-label>\n\n <div class=\"horizontal-inputs\">\n <cds-label>\n {{ 'caseManagement.statuses.columns.color' | translate }}\n\n <cds-dropdown\n [id]=\"'status-color-dropdown'\"\n [attr.data-test-id]=\"testIds.colorDropdown\"\n [appendInline]=\"false\"\n [placeholder]=\"'caseManagement.statuses.colorPlaceholder' | translate\"\n (selected)=\"colorDropdownChange($event)\"\n >\n <cds-dropdown-list [items]=\"colorListItems$\" [listTpl]=\"colorDropdownItemTemplate\">\n </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-toggle\n [attr.data-test-id]=\"testIds.visibilityToggle\"\n [label]=\"'caseManagement.statuses.visibleTitle' | translate\"\n [onText]=\"'caseManagement.statuses.visible' | translate\"\n [offText]=\"'caseManagement.statuses.invisible' | translate\"\n [disabled]=\"obs.disabled\"\n [checked]=\"visibleInCaseListByDefault?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n ></cds-toggle>\n </div>\n\n <cds-toggle\n [label]=\"'caseManagement.statuses.showRetentionPeriod' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n [disabled]=\"obs.disabled\"\n [checked]=\"showRetentionPeriod$ | async\"\n (checkedChange)=\"toggleRetentionPeriod($event)\"\n ></cds-toggle>\n\n <cds-label class=\"status-form-retention-period__label\" *ngIf=\"showRetentionPeriod$ | async\">\n <div>\n {{ 'caseManagement.statuses.columns.retentionPeriod' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'caseManagement.statuses.columns.retentionPeriodTooltip' | translate\"\n ></v-tooltip-icon>\n </div>\n\n <input cdsText formControlName=\"retentionPeriodInDays\" />\n </cds-label>\n\n <cds-notification\n class=\"deployment-warning-notification\"\n *ngIf=\"!obs.editingKey && !obs.isAdd\"\n [notificationObj]=\"{\n type: 'warning',\n message:\n ('caseManagement.statuses.retentionPeriodExistingCasesWarning'\n | translate: notificationContent),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-notification>\n </form>\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <button cdsButton=\"ghost\" [attr.data-test-id]=\"testIds.cancelButton\" (click)=\"onClose()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isAdd\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addConfirmButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"addStatus()\"\n >\n {{ 'interface.add' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isEdit\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.saveButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"editStatus()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n</ng-template>\n", styles: [".status-form{display:flex;flex-direction:column;gap:16px}::ng-deep .status-form-retention-period__label .cds--text-input__field-wrapper{flex-direction:column;gap:8px}::ng-deep .status-form-retention-period__label .cds--text-input__field-wrapper div{display:flex;align-items:center}.edit-key-input{height:40px;display:flex;width:100%;flex-direction:row;gap:16px;align-items:flex-end}.edit-key-input input:read-only{color:var(--cds-text-disabled)}::ng-deep .horizontal-inputs{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}::ng-deep .horizontal-inputs .cds--label{width:100%;display:flex;flex-direction:column;gap:8px}::ng-deep .dropdown-color-tag .cds--tag{margin-top:-4px;margin-left:2px}\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"] }]
1591
1804
  }], ctorParameters: () => [{ type: i1$4.FormBuilder }, { type: i2.IconService }, { type: i1$2.CaseStatusService }, { type: i3.TranslateService }], propDecorators: { type: [{
@@ -1737,10 +1950,10 @@ class CaseManagementStatusesComponent {
1737
1950
  },
1738
1951
  ]);
1739
1952
  }
1740
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementStatusesComponent, deps: [{ token: i1$2.CaseStatusService }, { token: i2$1.ActivatedRoute }, { token: i3$1.EnvironmentService }, { token: i3$1.EditPermissionsService }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
1741
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseManagementStatusesComponent, isStandalone: false, selector: "valtimo-case-management-statuses", viewQueries: [{ propertyName: "colorColumnTemplate", first: true, predicate: ["colorColumnTemplate"], descendants: true }, { propertyName: "retentionPeriodColumnTemplate", first: true, predicate: ["retentionPeriodColumnTemplate"], 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 *ngIf=\"{\n loading: loading$ | async,\n caseStatuses: caseStatuses$ | async,\n isDraftVersion: isDraftVersion$ | async,\n } as obs\"\n [items]=\"obs.caseStatuses\"\n [fields]=\"fields$ | async\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"obs.loading || !(hasEditPermissions$ | async)\"\n [actionItems]=\"ACTION_ITEMS\"\n (rowClicked)=\"openEditModal($event)\"\n (itemsReordered)=\"onItemsReordered($event)\"\n>\n <ng-container carbonToolbarContent *ngTemplateOutlet=\"addStatusButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"addStatusButton\"\n [description]=\"\n obs.isDraftVersion\n ? ('caseManagement.statuses.noResults.description' | translate)\n : ('caseManagement.statuses.noResultsFinalVersion.description' | translate)\n \"\n [title]=\"'caseManagement.statuses.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-case-management-status-modal\n [type]=\"statusModalType$ | async\"\n [prefill]=\"prefillStatus$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n (closeModalEvent)=\"closeModal($event)\"\n></valtimo-case-management-status-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"caseManagement.statuses.deleteText\"\n [outputOnConfirm]=\"statusToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #addStatusButton>\n <button\n *ngIf=\"hasEditPermissions$ | async\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addButton\"\n [disabled]=\"loading$ | async\"\n (click)=\"openAddModal()\"\n >\n {{ 'caseManagement.statuses.add' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<ng-template #colorColumnTemplate let-data=\"data\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"data?.item?.tagType\">\n {{ 'interface.tagType.' + data?.item?.tagType | translate }}\n </cds-tag>\n</ng-template>\n\n<ng-template #retentionPeriodColumnTemplate let-data=\"data\">\n @if (data?.item?.retentionPeriodInDays === 0) {\n {{ 'caseManagement.statuses.columns.deletedImmediately' | translate }}\n } @else if (data?.item?.retentionPeriodInDays === -1 ) {\n {{ '-' }}\n } @else {\n {{ data?.item?.retentionPeriodInDays }}\n }\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}.loading-spinner{margin:16px 12px 12px}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: CaseManagementStatusModalComponent, selector: "valtimo-case-management-status-modal", inputs: ["type", "prefill", "usedKeys", "caseDefinitionKey"], outputs: ["closeModalEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1953
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementStatusesComponent, deps: [{ token: i1$2.CaseStatusService }, { token: i2$1.ActivatedRoute }, { token: i3$1.EnvironmentService }, { token: i3$1.EditPermissionsService }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
1954
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementStatusesComponent, isStandalone: false, selector: "valtimo-case-management-statuses", viewQueries: [{ propertyName: "colorColumnTemplate", first: true, predicate: ["colorColumnTemplate"], descendants: true }, { propertyName: "retentionPeriodColumnTemplate", first: true, predicate: ["retentionPeriodColumnTemplate"], 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 *ngIf=\"{\n loading: loading$ | async,\n caseStatuses: caseStatuses$ | async,\n isDraftVersion: isDraftVersion$ | async,\n } as obs\"\n [items]=\"obs.caseStatuses\"\n [fields]=\"fields$ | async\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"obs.loading || !(hasEditPermissions$ | async)\"\n [actionItems]=\"ACTION_ITEMS\"\n (rowClicked)=\"openEditModal($event)\"\n (itemsReordered)=\"onItemsReordered($event)\"\n>\n <ng-container carbonToolbarContent *ngTemplateOutlet=\"addStatusButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"addStatusButton\"\n [description]=\"\n obs.isDraftVersion\n ? ('caseManagement.statuses.noResults.description' | translate)\n : ('caseManagement.statuses.noResultsFinalVersion.description' | translate)\n \"\n [title]=\"'caseManagement.statuses.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-case-management-status-modal\n [type]=\"statusModalType$ | async\"\n [prefill]=\"prefillStatus$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n (closeModalEvent)=\"closeModal($event)\"\n></valtimo-case-management-status-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"caseManagement.statuses.deleteText\"\n [outputOnConfirm]=\"statusToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #addStatusButton>\n <button\n *ngIf=\"hasEditPermissions$ | async\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addButton\"\n [disabled]=\"loading$ | async\"\n (click)=\"openAddModal()\"\n >\n {{ 'caseManagement.statuses.add' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<ng-template #colorColumnTemplate let-data=\"data\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"data?.item?.tagType\">\n {{ 'interface.tagType.' + data?.item?.tagType | translate }}\n </cds-tag>\n</ng-template>\n\n<ng-template #retentionPeriodColumnTemplate let-data=\"data\">\n @if (data?.item?.retentionPeriodInDays === 0) {\n {{ 'caseManagement.statuses.columns.deletedImmediately' | translate }}\n } @else if (data?.item?.retentionPeriodInDays === -1 ) {\n {{ '-' }}\n } @else {\n {{ data?.item?.retentionPeriodInDays }}\n }\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}.loading-spinner{margin:16px 12px 12px}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: CaseManagementStatusModalComponent, selector: "valtimo-case-management-status-modal", inputs: ["type", "prefill", "usedKeys", "caseDefinitionKey"], outputs: ["closeModalEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1742
1955
  }
1743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementStatusesComponent, decorators: [{
1956
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementStatusesComponent, decorators: [{
1744
1957
  type: Component,
1745
1958
  args: [{ standalone: false, selector: 'valtimo-case-management-statuses', 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 *ngIf=\"{\n loading: loading$ | async,\n caseStatuses: caseStatuses$ | async,\n isDraftVersion: isDraftVersion$ | async,\n } as obs\"\n [items]=\"obs.caseStatuses\"\n [fields]=\"fields$ | async\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"obs.loading || !(hasEditPermissions$ | async)\"\n [actionItems]=\"ACTION_ITEMS\"\n (rowClicked)=\"openEditModal($event)\"\n (itemsReordered)=\"onItemsReordered($event)\"\n>\n <ng-container carbonToolbarContent *ngTemplateOutlet=\"addStatusButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"addStatusButton\"\n [description]=\"\n obs.isDraftVersion\n ? ('caseManagement.statuses.noResults.description' | translate)\n : ('caseManagement.statuses.noResultsFinalVersion.description' | translate)\n \"\n [title]=\"'caseManagement.statuses.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-case-management-status-modal\n [type]=\"statusModalType$ | async\"\n [prefill]=\"prefillStatus$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n (closeModalEvent)=\"closeModal($event)\"\n></valtimo-case-management-status-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"caseManagement.statuses.deleteText\"\n [outputOnConfirm]=\"statusToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteStatus($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #addStatusButton>\n <button\n *ngIf=\"hasEditPermissions$ | async\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addButton\"\n [disabled]=\"loading$ | async\"\n (click)=\"openAddModal()\"\n >\n {{ 'caseManagement.statuses.add' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<ng-template #colorColumnTemplate let-data=\"data\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"data?.item?.tagType\">\n {{ 'interface.tagType.' + data?.item?.tagType | translate }}\n </cds-tag>\n</ng-template>\n\n<ng-template #retentionPeriodColumnTemplate let-data=\"data\">\n @if (data?.item?.retentionPeriodInDays === 0) {\n {{ 'caseManagement.statuses.columns.deletedImmediately' | translate }}\n } @else if (data?.item?.retentionPeriodInDays === -1 ) {\n {{ '-' }}\n } @else {\n {{ data?.item?.retentionPeriodInDays }}\n }\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}.loading-spinner{margin:16px 12px 12px}\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"] }]
1746
1959
  }], ctorParameters: () => [{ type: i1$2.CaseStatusService }, { type: i2$1.ActivatedRoute }, { type: i3$1.EnvironmentService }, { type: i3$1.EditPermissionsService }, { type: CaseManagementService }], propDecorators: { colorColumnTemplate: [{
@@ -1981,10 +2194,10 @@ class CaseManagementTagsModalComponent {
1981
2194
  color: this.color.value,
1982
2195
  };
1983
2196
  }
1984
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementTagsModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: i2.IconService }, { token: i3.TranslateService }, { token: i1$2.CaseTagService }], target: i0.ɵɵFactoryTarget.Component }); }
1985
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementTagsModalComponent, isStandalone: false, selector: "valtimo-case-management-tags-modal", inputs: { type: "type", prefill: "prefill", usedKeys: "usedKeys", caseDefinitionKey: "caseDefinitionKey", caseDefinitionVersionTag: "caseDefinitionVersionTag" }, outputs: { closeModalEvent: "closeModalEvent" }, 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 valtimoCdsModal\n *ngIf=\"{\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n isClosed: isClosed$ | async,\n editingKey: editingKey$ | async,\n disabled: disabled$ | async,\n } as obs\"\n [open]=\"!obs.isClosed\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"close()\">\n <h3 cdsModalHeaderHeading>\n {{ obs.isEdit ? ('caseManagement.caseTags.edit' | translate) : '' }}\n {{ obs.isAdd ? ('caseManagement.caseTags.add' | translate) : '' }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"caseTagFormGroup\" class=\"case-tag-form\">\n <cds-label>\n {{ 'caseManagement.caseTags.columns.title' | translate }}\n <input cdsText formControlName=\"title\" [attr.data-test-id]=\"testIds.titleInput\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.caseTags.columns.key' | translate }}\n <div class=\"edit-key-input\">\n <input\n cdsText\n formControlName=\"key\"\n [attr.data-test-id]=\"testIds.keyInput\"\n [readOnly]=\"!obs.editingKey\"\n [placeholder]=\"\n obs.isAdd && !obs.editingKey\n ? ('caseManagement.caseTags.keyAutoGenerated' | translate)\n : ''\n \"\n />\n <cds-icon-button\n *ngIf=\"!obs.editingKey && obs.isAdd\"\n [attr.data-test-id]=\"testIds.editKeyButton\"\n [disabled]=\"obs.disabled\"\n (click)=\"editKeyButtonClick()\"\n kind=\"secondary\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-label>\n\n <div class=\"horizontal-inputs\">\n <cds-label>\n {{ 'caseManagement.caseTags.columns.color' | translate }}\n <cds-dropdown\n id=\"status-color-dropdown\"\n [attr.data-test-id]=\"testIds.colorDropdown\"\n [appendInline]=\"false\"\n [placeholder]=\"'caseManagement.caseTags.colorPlaceholder' | translate\"\n (selected)=\"colorDropdownChange($event)\"\n >\n <cds-dropdown-list\n [items]=\"colorListItems$\"\n [listTpl]=\"colorDropdownItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" [attr.data-test-id]=\"testIds.cancelButton\" (click)=\"close()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isAdd\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addConfirmButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"addCaseTag()\"\n >\n {{ 'interface.add' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isEdit\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.saveButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"editCaseTag()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <cds-tag\n *ngIf=\"item && item.content\"\n class=\"cds-tag--no-margin case-tag-margins\"\n [type]=\"item?.tagType\"\n >\n {{ 'interface.tagType.' + item?.tagType | translate }}\n </cds-tag>\n</ng-template>\n", styles: [".case-tag-form{display:flex;flex-direction:column;gap:16px}.edit-key-input{height:40px;display:flex;width:100%;flex-direction:row;gap:16px;align-items:flex-end}.edit-key-input input:read-only{color:var(--cds-text-disabled)}::ng-deep .horizontal-inputs{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}::ng-deep .horizontal-inputs .cds--label{width:100%;display:flex;flex-direction:column;gap:8px}.case-tag-margins{margin-top:-4px;margin-left:2px}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.IconButton, selector: "cds-icon-button, ibm-icon-button", inputs: ["buttonNgClass", "buttonAttributes", "buttonId", "kind", "size", "type", "isExpressive", "disabled", "description", "showTooltipWhenDisabled"], outputs: ["click", "focus", "blur", "tooltipClick"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementTagsModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: i2.IconService }, { token: i3.TranslateService }, { token: i1$2.CaseTagService }], target: i0.ɵɵFactoryTarget.Component }); }
2198
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementTagsModalComponent, isStandalone: false, selector: "valtimo-case-management-tags-modal", inputs: { type: "type", prefill: "prefill", usedKeys: "usedKeys", caseDefinitionKey: "caseDefinitionKey", caseDefinitionVersionTag: "caseDefinitionVersionTag" }, outputs: { closeModalEvent: "closeModalEvent" }, 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 valtimoCdsModal\n *ngIf=\"{\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n isClosed: isClosed$ | async,\n editingKey: editingKey$ | async,\n disabled: disabled$ | async,\n } as obs\"\n [open]=\"!obs.isClosed\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"close()\">\n <h3 cdsModalHeaderHeading>\n {{ obs.isEdit ? ('caseManagement.caseTags.edit' | translate) : '' }}\n {{ obs.isAdd ? ('caseManagement.caseTags.add' | translate) : '' }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"caseTagFormGroup\" class=\"case-tag-form\">\n <cds-label>\n {{ 'caseManagement.caseTags.columns.title' | translate }}\n <input cdsText formControlName=\"title\" [attr.data-test-id]=\"testIds.titleInput\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.caseTags.columns.key' | translate }}\n <div class=\"edit-key-input\">\n <input\n cdsText\n formControlName=\"key\"\n [attr.data-test-id]=\"testIds.keyInput\"\n [readOnly]=\"!obs.editingKey\"\n [placeholder]=\"\n obs.isAdd && !obs.editingKey\n ? ('caseManagement.caseTags.keyAutoGenerated' | translate)\n : ''\n \"\n />\n <cds-icon-button\n *ngIf=\"!obs.editingKey && obs.isAdd\"\n [attr.data-test-id]=\"testIds.editKeyButton\"\n [disabled]=\"obs.disabled\"\n (click)=\"editKeyButtonClick()\"\n kind=\"secondary\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-label>\n\n <div class=\"horizontal-inputs\">\n <cds-label>\n {{ 'caseManagement.caseTags.columns.color' | translate }}\n <cds-dropdown\n id=\"status-color-dropdown\"\n [attr.data-test-id]=\"testIds.colorDropdown\"\n [appendInline]=\"false\"\n [placeholder]=\"'caseManagement.caseTags.colorPlaceholder' | translate\"\n (selected)=\"colorDropdownChange($event)\"\n >\n <cds-dropdown-list\n [items]=\"colorListItems$\"\n [listTpl]=\"colorDropdownItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" [attr.data-test-id]=\"testIds.cancelButton\" (click)=\"close()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isAdd\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addConfirmButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"addCaseTag()\"\n >\n {{ 'interface.add' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isEdit\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.saveButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"editCaseTag()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <cds-tag\n *ngIf=\"item && item.content\"\n class=\"cds-tag--no-margin case-tag-margins\"\n [type]=\"item?.tagType\"\n >\n {{ 'interface.tagType.' + item?.tagType | translate }}\n </cds-tag>\n</ng-template>\n", styles: [".case-tag-form{display:flex;flex-direction:column;gap:16px}.edit-key-input{height:40px;display:flex;width:100%;flex-direction:row;gap:16px;align-items:flex-end}.edit-key-input input:read-only{color:var(--cds-text-disabled)}::ng-deep .horizontal-inputs{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}::ng-deep .horizontal-inputs .cds--label{width:100%;display:flex;flex-direction:column;gap:8px}.case-tag-margins{margin-top:-4px;margin-left:2px}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.IconButton, selector: "cds-icon-button, ibm-icon-button", inputs: ["buttonNgClass", "buttonAttributes", "buttonId", "kind", "size", "type", "isExpressive", "disabled", "description", "showTooltipWhenDisabled"], outputs: ["click", "focus", "blur", "tooltipClick"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1986
2199
  }
1987
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementTagsModalComponent, decorators: [{
2200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementTagsModalComponent, decorators: [{
1988
2201
  type: Component,
1989
2202
  args: [{ standalone: false, selector: 'valtimo-case-management-tags-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<cds-modal\n valtimoCdsModal\n *ngIf=\"{\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n isClosed: isClosed$ | async,\n editingKey: editingKey$ | async,\n disabled: disabled$ | async,\n } as obs\"\n [open]=\"!obs.isClosed\"\n size=\"sm\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"close()\">\n <h3 cdsModalHeaderHeading>\n {{ obs.isEdit ? ('caseManagement.caseTags.edit' | translate) : '' }}\n {{ obs.isAdd ? ('caseManagement.caseTags.add' | translate) : '' }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <form [formGroup]=\"caseTagFormGroup\" class=\"case-tag-form\">\n <cds-label>\n {{ 'caseManagement.caseTags.columns.title' | translate }}\n <input cdsText formControlName=\"title\" [attr.data-test-id]=\"testIds.titleInput\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.caseTags.columns.key' | translate }}\n <div class=\"edit-key-input\">\n <input\n cdsText\n formControlName=\"key\"\n [attr.data-test-id]=\"testIds.keyInput\"\n [readOnly]=\"!obs.editingKey\"\n [placeholder]=\"\n obs.isAdd && !obs.editingKey\n ? ('caseManagement.caseTags.keyAutoGenerated' | translate)\n : ''\n \"\n />\n <cds-icon-button\n *ngIf=\"!obs.editingKey && obs.isAdd\"\n [attr.data-test-id]=\"testIds.editKeyButton\"\n [disabled]=\"obs.disabled\"\n (click)=\"editKeyButtonClick()\"\n kind=\"secondary\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </cds-icon-button>\n </div>\n </cds-label>\n\n <div class=\"horizontal-inputs\">\n <cds-label>\n {{ 'caseManagement.caseTags.columns.color' | translate }}\n <cds-dropdown\n id=\"status-color-dropdown\"\n [attr.data-test-id]=\"testIds.colorDropdown\"\n [appendInline]=\"false\"\n [placeholder]=\"'caseManagement.caseTags.colorPlaceholder' | translate\"\n (selected)=\"colorDropdownChange($event)\"\n >\n <cds-dropdown-list\n [items]=\"colorListItems$\"\n [listTpl]=\"colorDropdownItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" [attr.data-test-id]=\"testIds.cancelButton\" (click)=\"close()\" [disabled]=\"obs.disabled\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isAdd\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addConfirmButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"addCaseTag()\"\n >\n {{ 'interface.add' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.isEdit\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.saveButton\"\n [disabled]=\"invalid || pristine || obs.disabled\"\n (click)=\"editCaseTag()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #colorDropdownItemTemplate let-item=\"item\">\n <cds-tag\n *ngIf=\"item && item.content\"\n class=\"cds-tag--no-margin case-tag-margins\"\n [type]=\"item?.tagType\"\n >\n {{ 'interface.tagType.' + item?.tagType | translate }}\n </cds-tag>\n</ng-template>\n", styles: [".case-tag-form{display:flex;flex-direction:column;gap:16px}.edit-key-input{height:40px;display:flex;width:100%;flex-direction:row;gap:16px;align-items:flex-end}.edit-key-input input:read-only{color:var(--cds-text-disabled)}::ng-deep .horizontal-inputs{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}::ng-deep .horizontal-inputs .cds--label{width:100%;display:flex;flex-direction:column;gap:8px}.case-tag-margins{margin-top:-4px;margin-left:2px}\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"] }]
1990
2203
  }], ctorParameters: () => [{ type: i1$4.FormBuilder }, { type: i2.IconService }, { type: i3.TranslateService }, { type: i1$2.CaseTagService }], propDecorators: { type: [{
@@ -2132,10 +2345,10 @@ class CaseManagementTagsComponent {
2132
2345
  },
2133
2346
  ]);
2134
2347
  }
2135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementTagsComponent, deps: [{ token: i1$2.CaseTagService }, { token: i2$1.ActivatedRoute }, { token: i3$1.EditPermissionsService }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
2136
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementTagsComponent, isStandalone: false, selector: "valtimo-case-management-tags", viewQueries: [{ propertyName: "colorColumnTemplate", first: true, predicate: ["colorColumnTemplate"], 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 *ngIf=\"{\n loading: loading$ | async,\n caseTags: caseTags$ | async,\n fields: fields$ | async,\n isDraftVersion: isDraftVersion$ | async,\n } as obs\"\n [items]=\"obs.caseTags\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [actionItems]=\"ACTION_ITEMS\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"!(hasEditPermissions$ | async)\"\n (itemsReordered)=\"onItemsReorderedEvent($event)\"\n (rowClicked)=\"openEditModal($event)\"\n>\n <ng-container carbonToolbarContent *ngTemplateOutlet=\"addTagButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"addTagButton\"\n [description]=\"\n obs.isDraftVersion\n ? ('caseManagement.caseTags.noResults.description' | translate)\n : ('caseManagement.caseTags.noResultsFinalVersion.description' | translate)\n \"\n [title]=\"'caseManagement.caseTags.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-case-management-tags-modal\n [type]=\"statusModalType$ | async\"\n [prefill]=\"prefillCaseTag$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [caseDefinitionVersionTag]=\"caseDefinitionVersionTag$ | async\"\n (closeModalEvent)=\"closeModal($event)\"\n></valtimo-case-management-tags-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"caseManagement.caseTags.deleteText\"\n [outputOnConfirm]=\"caseTagToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteCaseTag($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #addTagButton>\n <button\n *ngIf=\"hasEditPermissions$ | async\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addButton\"\n [disabled]=\"loading$ | async\"\n (click)=\"openAddModal()\"\n >\n {{ 'caseManagement.caseTags.add' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<ng-template #colorColumnTemplate let-data=\"data\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"data?.item?.tagType\">\n {{ 'interface.tagType.' + data?.item?.tagType | translate }}\n </cds-tag>\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: CaseManagementTagsModalComponent, selector: "valtimo-case-management-tags-modal", inputs: ["type", "prefill", "usedKeys", "caseDefinitionKey", "caseDefinitionVersionTag"], outputs: ["closeModalEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementTagsComponent, deps: [{ token: i1$2.CaseTagService }, { token: i2$1.ActivatedRoute }, { token: i3$1.EditPermissionsService }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
2349
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementTagsComponent, isStandalone: false, selector: "valtimo-case-management-tags", viewQueries: [{ propertyName: "colorColumnTemplate", first: true, predicate: ["colorColumnTemplate"], 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 *ngIf=\"{\n loading: loading$ | async,\n caseTags: caseTags$ | async,\n fields: fields$ | async,\n isDraftVersion: isDraftVersion$ | async,\n } as obs\"\n [items]=\"obs.caseTags\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [actionItems]=\"ACTION_ITEMS\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"!(hasEditPermissions$ | async)\"\n (itemsReordered)=\"onItemsReorderedEvent($event)\"\n (rowClicked)=\"openEditModal($event)\"\n>\n <ng-container carbonToolbarContent *ngTemplateOutlet=\"addTagButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"addTagButton\"\n [description]=\"\n obs.isDraftVersion\n ? ('caseManagement.caseTags.noResults.description' | translate)\n : ('caseManagement.caseTags.noResultsFinalVersion.description' | translate)\n \"\n [title]=\"'caseManagement.caseTags.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-case-management-tags-modal\n [type]=\"statusModalType$ | async\"\n [prefill]=\"prefillCaseTag$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [caseDefinitionVersionTag]=\"caseDefinitionVersionTag$ | async\"\n (closeModalEvent)=\"closeModal($event)\"\n></valtimo-case-management-tags-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"caseManagement.caseTags.deleteText\"\n [outputOnConfirm]=\"caseTagToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteCaseTag($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #addTagButton>\n <button\n *ngIf=\"hasEditPermissions$ | async\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addButton\"\n [disabled]=\"loading$ | async\"\n (click)=\"openAddModal()\"\n >\n {{ 'caseManagement.caseTags.add' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<ng-template #colorColumnTemplate let-data=\"data\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"data?.item?.tagType\">\n {{ 'interface.tagType.' + data?.item?.tagType | translate }}\n </cds-tag>\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: CaseManagementTagsModalComponent, selector: "valtimo-case-management-tags-modal", inputs: ["type", "prefill", "usedKeys", "caseDefinitionKey", "caseDefinitionVersionTag"], outputs: ["closeModalEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2137
2350
  }
2138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementTagsComponent, decorators: [{
2351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementTagsComponent, decorators: [{
2139
2352
  type: Component,
2140
2353
  args: [{ standalone: false, selector: 'valtimo-case-management-tags', 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 *ngIf=\"{\n loading: loading$ | async,\n caseTags: caseTags$ | async,\n fields: fields$ | async,\n isDraftVersion: isDraftVersion$ | async,\n } as obs\"\n [items]=\"obs.caseTags\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [loading]=\"obs.loading\"\n [actionItems]=\"ACTION_ITEMS\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"!(hasEditPermissions$ | async)\"\n (itemsReordered)=\"onItemsReorderedEvent($event)\"\n (rowClicked)=\"openEditModal($event)\"\n>\n <ng-container carbonToolbarContent *ngTemplateOutlet=\"addTagButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"addTagButton\"\n [description]=\"\n obs.isDraftVersion\n ? ('caseManagement.caseTags.noResults.description' | translate)\n : ('caseManagement.caseTags.noResultsFinalVersion.description' | translate)\n \"\n [title]=\"'caseManagement.caseTags.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-case-management-tags-modal\n [type]=\"statusModalType$ | async\"\n [prefill]=\"prefillCaseTag$ | async\"\n [usedKeys]=\"usedKeys$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [caseDefinitionVersionTag]=\"caseDefinitionVersionTag$ | async\"\n (closeModalEvent)=\"closeModal($event)\"\n></valtimo-case-management-tags-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"caseManagement.caseTags.deleteText\"\n [outputOnConfirm]=\"caseTagToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"confirmDeleteCaseTag($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #addTagButton>\n <button\n *ngIf=\"hasEditPermissions$ | async\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.addButton\"\n [disabled]=\"loading$ | async\"\n (click)=\"openAddModal()\"\n >\n {{ 'caseManagement.caseTags.add' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<ng-template #colorColumnTemplate let-data=\"data\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"data?.item?.tagType\">\n {{ 'interface.tagType.' + data?.item?.tagType | translate }}\n </cds-tag>\n</ng-template>\n", styles: ["::ng-deep .cds-tag--no-margin{margin:0}\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"] }]
2141
2354
  }], ctorParameters: () => [{ type: i1$2.CaseTagService }, { type: i2$1.ActivatedRoute }, { type: i3$1.EditPermissionsService }, { type: CaseManagementService }], propDecorators: { colorColumnTemplate: [{
@@ -2171,10 +2384,10 @@ class CaseManagementCaseDetailComponent {
2171
2384
  switchTab(tab) {
2172
2385
  this.currentTab$.next(tab);
2173
2386
  }
2174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementCaseDetailComponent, deps: [{ token: i3$1.DraftVersionService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
2175
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseManagementCaseDetailComponent, 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 (currentTab$ | async; as currentTab) {\n <valtimo-case-management-draft-warning\n *ngIf=\"(isDraftVersion$ | async) === true && currentTab === TabEnum.STATUSES\"\n [name]=\"'caseManagement.tabs.caseDetailsTab.statuses' | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n\n <cds-tabs class=\"case-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"currentTab === TabEnum.TABS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.tabs' | translate\"\n (selected)=\"switchTab(TabEnum.TABS)\"\n >\n <valtimo-case-management-tabs\n *ngIf=\"currentTab === TabEnum.TABS\"\n ></valtimo-case-management-tabs>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.STATUSES\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.statuses' | translate\"\n (selected)=\"switchTab(TabEnum.STATUSES)\"\n >\n <valtimo-case-management-statuses\n *ngIf=\"currentTab === TabEnum.STATUSES\"\n ></valtimo-case-management-statuses>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.TAGS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.tags' | translate\"\n (selected)=\"switchTab(TabEnum.TAGS)\"\n >\n <valtimo-case-management-tags\n *ngIf=\"currentTab === TabEnum.TAGS\"\n ></valtimo-case-management-tags>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.HEADER\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.header' | translate\"\n (selected)=\"switchTab(TabEnum.HEADER)\"\n >\n <valtimo-case-management-header\n *ngIf=\"currentTab === TabEnum.HEADER\"\n ></valtimo-case-management-header>\n </cds-tab>\n </cds-tabs>\n}\n", styles: [":host ::ng-deep .cds--tab-content{margin:0!important}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: CaseManagementDraftWarningComponent, selector: "valtimo-case-management-draft-warning", inputs: ["name"] }, { kind: "component", type: CaseManagementHeaderComponent, selector: "valtimo-case-management-header" }, { kind: "component", type: CaseManagementTabsComponent, selector: "valtimo-case-management-tabs" }, { kind: "component", type: CaseManagementStatusesComponent, selector: "valtimo-case-management-statuses" }, { kind: "component", type: CaseManagementTagsComponent, selector: "valtimo-case-management-tags" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCaseDetailComponent, deps: [{ token: i3$1.DraftVersionService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
2388
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementCaseDetailComponent, 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 (currentTab$ | async; as currentTab) {\n <valtimo-case-management-draft-warning\n *ngIf=\"(isDraftVersion$ | async) === true && currentTab === TabEnum.STATUSES\"\n [name]=\"'caseManagement.tabs.caseDetailsTab.statuses' | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n\n <cds-tabs class=\"case-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"currentTab === TabEnum.TABS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.tabs' | translate\"\n (selected)=\"switchTab(TabEnum.TABS)\"\n >\n <valtimo-case-management-tabs\n *ngIf=\"currentTab === TabEnum.TABS\"\n ></valtimo-case-management-tabs>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.STATUSES\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.statuses' | translate\"\n (selected)=\"switchTab(TabEnum.STATUSES)\"\n >\n <valtimo-case-management-statuses\n *ngIf=\"currentTab === TabEnum.STATUSES\"\n ></valtimo-case-management-statuses>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.TAGS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.tags' | translate\"\n (selected)=\"switchTab(TabEnum.TAGS)\"\n >\n <valtimo-case-management-tags\n *ngIf=\"currentTab === TabEnum.TAGS\"\n ></valtimo-case-management-tags>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.HEADER\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.header' | translate\"\n (selected)=\"switchTab(TabEnum.HEADER)\"\n >\n <valtimo-case-management-header\n *ngIf=\"currentTab === TabEnum.HEADER\"\n ></valtimo-case-management-header>\n </cds-tab>\n </cds-tabs>\n}\n", styles: [":host ::ng-deep .cds--tab-content{margin:0!important}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: CaseManagementDraftWarningComponent, selector: "valtimo-case-management-draft-warning", inputs: ["name"] }, { kind: "component", type: CaseManagementHeaderComponent, selector: "valtimo-case-management-header" }, { kind: "component", type: CaseManagementTabsComponent, selector: "valtimo-case-management-tabs" }, { kind: "component", type: CaseManagementStatusesComponent, selector: "valtimo-case-management-statuses" }, { kind: "component", type: CaseManagementTagsComponent, selector: "valtimo-case-management-tags" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2176
2389
  }
2177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementCaseDetailComponent, decorators: [{
2390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCaseDetailComponent, decorators: [{
2178
2391
  type: Component,
2179
2392
  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 (currentTab$ | async; as currentTab) {\n <valtimo-case-management-draft-warning\n *ngIf=\"(isDraftVersion$ | async) === true && currentTab === TabEnum.STATUSES\"\n [name]=\"'caseManagement.tabs.caseDetailsTab.statuses' | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n\n <cds-tabs class=\"case-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"currentTab === TabEnum.TABS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.tabs' | translate\"\n (selected)=\"switchTab(TabEnum.TABS)\"\n >\n <valtimo-case-management-tabs\n *ngIf=\"currentTab === TabEnum.TABS\"\n ></valtimo-case-management-tabs>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.STATUSES\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.statuses' | translate\"\n (selected)=\"switchTab(TabEnum.STATUSES)\"\n >\n <valtimo-case-management-statuses\n *ngIf=\"currentTab === TabEnum.STATUSES\"\n ></valtimo-case-management-statuses>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.TAGS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.tags' | translate\"\n (selected)=\"switchTab(TabEnum.TAGS)\"\n >\n <valtimo-case-management-tags\n *ngIf=\"currentTab === TabEnum.TAGS\"\n ></valtimo-case-management-tags>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.HEADER\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.header' | translate\"\n (selected)=\"switchTab(TabEnum.HEADER)\"\n >\n <valtimo-case-management-header\n *ngIf=\"currentTab === TabEnum.HEADER\"\n ></valtimo-case-management-header>\n </cds-tab>\n </cds-tabs>\n}\n", styles: [":host ::ng-deep .cds--tab-content{margin:0!important}\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"] }]
2180
2393
  }], ctorParameters: () => [{ type: i3$1.DraftVersionService }, { type: i2$1.ActivatedRoute }] });
@@ -2624,10 +2837,10 @@ class CaseManagementSearchFieldsComponent {
2624
2837
  showEditModal(searchField) {
2625
2838
  this.searchFieldClicked(searchField, false);
2626
2839
  }
2627
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementSearchFieldsComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$1.ActivatedRoute }, { token: i3.TranslateService }, { token: i2.IconService }, { token: i3$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
2628
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseManagementSearchFieldsComponent, isStandalone: false, selector: "valtimo-case-management-search-fields", 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<ng-container\n *ngIf=\"{\n caseDefinitionKey: caseDefinitionKey$ | async,\n disableInput: disableInput$ | async,\n downloadName: downloadName$ | async,\n downloadUrl: downloadUrl$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n jsonEditorModel: jsonEditorModel$ | async,\n searchFields: translatedSearchFields$ | async,\n showActionItems: showActionItems$ | async,\n valid: valid$ | async,\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"content; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"modal; context: {obs: obs}\"></ng-container>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"searchFieldsOverview.deleteSearchFieldConfirmation\"\n [outputOnConfirm]=\"selectedDeleteSearchField$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDeleteSelectedSearchFieldConfirm($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #buttons let-obs=\"obs\">\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n\n <button\n cdsButton=\"primary\"\n data-test-id=\"case-management-search-add\"\n *ngIf=\"obs.hasEditPermissions\"\n [disabled]=\"loadingSearchFields || obs.disableInput\"\n (click)=\"searchFieldClicked($event, true)\"\n >\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.addRow' | translate }}\n </button>\n</ng-template>\n\n<ng-template #content let-obs=\"obs\">\n @if (!jsonEditorActive()) {\n <valtimo-carbon-list\n data-test-id=\"searchFieldsList\"\n [actionItems]=\"actionItems\"\n [showActionItems]=\"obs.hasEditPermissions\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.searchFields\"\n [loading]=\"!obs.searchFields\"\n (rowClicked)=\"searchFieldClicked($event, false)\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"obs.disableInput\"\n (itemsReordered)=\"onItemsReordered(obs.caseDefinitionKey, $event)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n [title]=\"'searchFieldsOverview.noSearchfieldsTitle' | translate\"\n [description]=\"'searchFieldsOverview.noSearchfieldsDescription' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n } @else {\n <valtimo-json-editor\n [model]=\"obs.jsonEditorModel\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"248\"\n [showEditButton]=\"obs.hasEditPermissions\"\n (saveEvent)=\"updateSearchFields(obs.caseDefinitionKey, $event)\"\n >\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n </valtimo-json-editor>\n }\n</ng-template>\n\n<ng-template #modal let-obs=\"obs\">\n <cds-modal\n valtimoCdsModal\n [title]=\"\n searchFieldActionTypeIsAdd\n ? ('searchFieldsOverview.addRow' | translate)\n : ('searchFieldsOverview.edit' | translate)\n \"\n [open]=\"modalShowing$ | async\"\n [showFooter]=\"true\"\n size=\"sm\"\n (close)=\"onModalClose()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onModalClose()\">\n <h3 cdsModalHeaderHeading>\n {{\n (searchFieldActionTypeIsAdd ? 'searchFieldsOverview.addRow' : 'searchFieldsOverview.edit')\n | translate\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"\n (showFields$ | async) && {\n searchField: selectedSearchField$ | async,\n } as searchObs\n \"\n >\n <v-input\n name=\"title\"\n dataTestId=\"case-management-search-title\"\n [title]=\"'searchFieldsOverview.title' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.title\"\n [disabled]=\"obs.disableInput\"\n [required]=\"false\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <v-input\n name=\"key\"\n dataTestId=\"case-management-search-key\"\n [title]=\"'searchFieldsOverview.key' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.key\"\n [disabled]=\"obs.disableInput || !searchFieldActionTypeIsAdd\"\n [required]=\"true\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <valtimo-value-path-selector\n name=\"path\"\n [label]=\"'searchFieldsOverview.path' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n [marginXl]=\"true\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [caseDefinitionVersionTag]=\"caseDefinitionVersionTag$ | async\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [defaultValue]=\"searchObs.searchField?.path\"\n [disabled]=\"obs.disableInput\"\n ></valtimo-value-path-selector>\n\n <v-select\n *ngIf=\"dataTypeItems$ | async as dataTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"dataTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"dataType\"\n [defaultSelectionId]=\"searchObs.searchField?.dataType\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-dataTypes\"\n ></v-select>\n\n <v-select\n *ngIf=\"(showMatchTypes$ | async) && (matchTypeItems$ | async) as matchTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"matchTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"matchType\"\n [defaultSelectionId]=\"searchObs.searchField?.matchType\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-matchTypes\"\n ></v-select>\n\n <v-select\n *ngIf=\"fieldTypeItems$ | async as fieldTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"fieldTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"fieldType\"\n [defaultSelectionId]=\"searchObs.searchField?.fieldType\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-fieldTypes\"\n ></v-select>\n\n <v-select\n *ngIf=\"\n (fieldTypeIsDropdown$ | async) &&\n (dropdownDataProviderNames$ | async) as dropdownDataProviderNames\n \"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"dropdownDataProviderNames\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"false\"\n name=\"dropdownDataProvider\"\n [defaultSelectionId]=\"searchObs.searchField?.dropdownDataProvider\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-dropdownDataProvider\"\n ></v-select>\n\n <valtimo-carbon-multi-input\n *ngIf=\"\n (showInputDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n name=\"dropdownValues\"\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n type=\"keyValue\"\n [disabled]=\"obs.disableInput\"\n [defaultValues]=\"initialDropdownValues\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n (valueChange)=\"dropdownDatalistChange($event)\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </valtimo-carbon-multi-input>\n\n <v-table\n *ngIf=\"\n (showReadonlyDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n [items]=\"initialDropdownValues\"\n [columns]=\"dropdownColumns$ | async\"\n [showEditButtons]=\"false\"\n [itemsTranslationKey]=\"'searchFieldsOverview'\"\n [showPagination]=\"false\"\n [mobileBreakpointPx]=\"200\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-table>\n </v-form>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"buttonsFooterModal; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n </cds-modal>\n</ng-template>\n\n<ng-template #buttonsFooterModal let-obs=\"obs\">\n <button\n data-test-id=\"case-management-search-close\"\n cdsButton=\"secondary\"\n (click)=\"onModalClose()\"\n [disabled]=\"obs.disableInput\"\n >\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n data-test-id=\"case-management-search-save\"\n cdsButton=\"primary\"\n [disabled]=\"obs.disableInput || !obs.valid\"\n (click)=\"saveSearchField(obs.caseDefinitionKey)\"\n >\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n</ng-template>\n\n<ng-template #viewToggle>\n <cds-tooltip [description]=\"'JSON editor'\">\n <button\n [cdsButton]=\"buttonTheme()\"\n data-test-id=\"case-management-search-fields-switch-view\"\n iconOnly=\"true\"\n (click)=\"switchView()\"\n >\n <svg cdsIcon=\"code\" size=\"16\"></svg>\n </button>\n </cds-tooltip>\n</ng-template>\n\n<ng-template #downloadButton let-obs=\"obs\">\n <button\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n data-test-id=\"case-management-search-download\"\n [disabled]=\"\n !obs.downloadUrl || !obs.downloadName || obs.searchFields?.length <= 0 || obs.disableInput\n \"\n (click)=\"onDownloadClick()\"\n >\n <svg cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: ["valtimo-list::ng-deep table{border-top:1px solid rgba(0,0,0,.125)}.case-management-search-fields__buttons{display:flex;gap:16px}.case-management-search-fields__buttons .center-link{display:flex;align-items:center}.case-management-search-fields__move-buttons{width:100%;justify-content:flex-end;display:flex;flex-direction:row;position:relative}.case-management-search-fields__move-buttons button:not(:last-child){margin-right:8px}.list-actions{width:1px}.modal-header::ng-deep{background-color:#f3f4f7}::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--tab-content{padding-top:0!important}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "invalid", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "warn", "warnText", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: i7.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "component", type: i7.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i7.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addButtonType", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i7.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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "component", type: i7.ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i7.JsonEditorComponent, selector: "valtimo-json-editor", inputs: ["disabled", "model", "editorOptions", "fitPage", "fitPageSpaceAdjustment", "formatOnLoad", "heightPx", "heightStyle", "jsonSchema", "showEditButton", "widthPx"], outputs: ["changeEvent", "discardEvent", "keepEditingEvent", "saveEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2840
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementSearchFieldsComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$1.ActivatedRoute }, { token: i3.TranslateService }, { token: i2.IconService }, { token: i3$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
2841
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementSearchFieldsComponent, isStandalone: false, selector: "valtimo-case-management-search-fields", 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<ng-container\n *ngIf=\"{\n caseDefinitionKey: caseDefinitionKey$ | async,\n disableInput: disableInput$ | async,\n downloadName: downloadName$ | async,\n downloadUrl: downloadUrl$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n jsonEditorModel: jsonEditorModel$ | async,\n searchFields: translatedSearchFields$ | async,\n showActionItems: showActionItems$ | async,\n valid: valid$ | async,\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"content; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"modal; context: {obs: obs}\"></ng-container>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"searchFieldsOverview.deleteSearchFieldConfirmation\"\n [outputOnConfirm]=\"selectedDeleteSearchField$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDeleteSelectedSearchFieldConfirm($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #buttons let-obs=\"obs\">\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n\n <button\n cdsButton=\"primary\"\n data-test-id=\"case-management-search-add\"\n *ngIf=\"obs.hasEditPermissions\"\n [disabled]=\"loadingSearchFields || obs.disableInput\"\n (click)=\"searchFieldClicked($event, true)\"\n >\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.addRow' | translate }}\n </button>\n</ng-template>\n\n<ng-template #content let-obs=\"obs\">\n @if (!jsonEditorActive()) {\n <valtimo-carbon-list\n data-test-id=\"searchFieldsList\"\n [actionItems]=\"actionItems\"\n [showActionItems]=\"obs.hasEditPermissions\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.searchFields\"\n [loading]=\"!obs.searchFields\"\n (rowClicked)=\"searchFieldClicked($event, false)\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"obs.disableInput\"\n (itemsReordered)=\"onItemsReordered(obs.caseDefinitionKey, $event)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n [title]=\"'searchFieldsOverview.noSearchfieldsTitle' | translate\"\n [description]=\"'searchFieldsOverview.noSearchfieldsDescription' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n } @else {\n <valtimo-json-editor\n [model]=\"obs.jsonEditorModel\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"248\"\n [showEditButton]=\"obs.hasEditPermissions\"\n (saveEvent)=\"updateSearchFields(obs.caseDefinitionKey, $event)\"\n >\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n </valtimo-json-editor>\n }\n</ng-template>\n\n<ng-template #modal let-obs=\"obs\">\n <cds-modal\n valtimoCdsModal\n [title]=\"\n searchFieldActionTypeIsAdd\n ? ('searchFieldsOverview.addRow' | translate)\n : ('searchFieldsOverview.edit' | translate)\n \"\n [open]=\"modalShowing$ | async\"\n [showFooter]=\"true\"\n size=\"sm\"\n (close)=\"onModalClose()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onModalClose()\">\n <h3 cdsModalHeaderHeading>\n {{\n (searchFieldActionTypeIsAdd ? 'searchFieldsOverview.addRow' : 'searchFieldsOverview.edit')\n | translate\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"\n (showFields$ | async) && {\n searchField: selectedSearchField$ | async,\n } as searchObs\n \"\n >\n <v-input\n name=\"title\"\n dataTestId=\"case-management-search-title\"\n [title]=\"'searchFieldsOverview.title' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.title\"\n [disabled]=\"obs.disableInput\"\n [required]=\"false\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <v-input\n name=\"key\"\n dataTestId=\"case-management-search-key\"\n [title]=\"'searchFieldsOverview.key' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.key\"\n [disabled]=\"obs.disableInput || !searchFieldActionTypeIsAdd\"\n [required]=\"true\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <valtimo-value-path-selector\n name=\"path\"\n [label]=\"'searchFieldsOverview.path' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n [marginXl]=\"true\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [caseDefinitionVersionTag]=\"caseDefinitionVersionTag$ | async\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [defaultValue]=\"searchObs.searchField?.path\"\n [disabled]=\"obs.disableInput\"\n ></valtimo-value-path-selector>\n\n <v-select\n *ngIf=\"dataTypeItems$ | async as dataTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"dataTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"dataType\"\n [defaultSelectionId]=\"searchObs.searchField?.dataType\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-dataTypes\"\n ></v-select>\n\n <v-select\n *ngIf=\"(showMatchTypes$ | async) && (matchTypeItems$ | async) as matchTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"matchTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"matchType\"\n [defaultSelectionId]=\"searchObs.searchField?.matchType\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-matchTypes\"\n ></v-select>\n\n <v-select\n *ngIf=\"fieldTypeItems$ | async as fieldTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"fieldTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"fieldType\"\n [defaultSelectionId]=\"searchObs.searchField?.fieldType\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-fieldTypes\"\n ></v-select>\n\n <v-select\n *ngIf=\"\n (fieldTypeIsDropdown$ | async) &&\n (dropdownDataProviderNames$ | async) as dropdownDataProviderNames\n \"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"dropdownDataProviderNames\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"false\"\n name=\"dropdownDataProvider\"\n [defaultSelectionId]=\"searchObs.searchField?.dropdownDataProvider\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-dropdownDataProvider\"\n ></v-select>\n\n <valtimo-carbon-multi-input\n *ngIf=\"\n (showInputDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n name=\"dropdownValues\"\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n type=\"keyValue\"\n [disabled]=\"obs.disableInput\"\n [defaultValues]=\"initialDropdownValues\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n (valueChange)=\"dropdownDatalistChange($event)\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </valtimo-carbon-multi-input>\n\n <v-table\n *ngIf=\"\n (showReadonlyDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n [items]=\"initialDropdownValues\"\n [columns]=\"dropdownColumns$ | async\"\n [showEditButtons]=\"false\"\n [itemsTranslationKey]=\"'searchFieldsOverview'\"\n [showPagination]=\"false\"\n [mobileBreakpointPx]=\"200\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-table>\n </v-form>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"buttonsFooterModal; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n </cds-modal>\n</ng-template>\n\n<ng-template #buttonsFooterModal let-obs=\"obs\">\n <button\n data-test-id=\"case-management-search-close\"\n cdsButton=\"secondary\"\n (click)=\"onModalClose()\"\n [disabled]=\"obs.disableInput\"\n >\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n data-test-id=\"case-management-search-save\"\n cdsButton=\"primary\"\n [disabled]=\"obs.disableInput || !obs.valid\"\n (click)=\"saveSearchField(obs.caseDefinitionKey)\"\n >\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n</ng-template>\n\n<ng-template #viewToggle>\n <cds-tooltip [description]=\"'JSON editor'\">\n <button\n [cdsButton]=\"buttonTheme()\"\n data-test-id=\"case-management-search-fields-switch-view\"\n iconOnly=\"true\"\n (click)=\"switchView()\"\n >\n <svg cdsIcon=\"code\" size=\"16\"></svg>\n </button>\n </cds-tooltip>\n</ng-template>\n\n<ng-template #downloadButton let-obs=\"obs\">\n <button\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n data-test-id=\"case-management-search-download\"\n [disabled]=\"\n !obs.downloadUrl || !obs.downloadName || obs.searchFields?.length <= 0 || obs.disableInput\n \"\n (click)=\"onDownloadClick()\"\n >\n <svg cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: ["valtimo-list::ng-deep table{border-top:1px solid rgba(0,0,0,.125)}.case-management-search-fields__buttons{display:flex;gap:16px}.case-management-search-fields__buttons .center-link{display:flex;align-items:center}.case-management-search-fields__move-buttons{width:100%;justify-content:flex-end;display:flex;flex-direction:row;position:relative}.case-management-search-fields__move-buttons button:not(:last-child){margin-right:8px}.list-actions{width:1px}.modal-header::ng-deep{background-color:#f3f4f7}::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--tab-content{padding-top:0!important}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "invalid", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "clearable", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "warn", "warnText", "dataTestId"], outputs: ["selectedChange"] }, { kind: "component", type: i7.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim", "presetsTitle", "presetOptions"], outputs: ["valueChange"] }, { kind: "component", type: i7.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i7.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addButtonType", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i7.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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "component", type: i7.ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i7.JsonEditorComponent, selector: "valtimo-json-editor", inputs: ["disabled", "model", "editorOptions", "fitPage", "fitPageSpaceAdjustment", "formatOnLoad", "heightPx", "heightStyle", "jsonSchema", "showEditButton", "widthPx"], outputs: ["changeEvent", "discardEvent", "keepEditingEvent", "saveEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2629
2842
  }
2630
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementSearchFieldsComponent, decorators: [{
2843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementSearchFieldsComponent, decorators: [{
2631
2844
  type: Component,
2632
2845
  args: [{ standalone: false, selector: 'valtimo-case-management-search-fields', 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<ng-container\n *ngIf=\"{\n caseDefinitionKey: caseDefinitionKey$ | async,\n disableInput: disableInput$ | async,\n downloadName: downloadName$ | async,\n downloadUrl: downloadUrl$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n jsonEditorModel: jsonEditorModel$ | async,\n searchFields: translatedSearchFields$ | async,\n showActionItems: showActionItems$ | async,\n valid: valid$ | async,\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"content; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"modal; context: {obs: obs}\"></ng-container>\n</ng-container>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"searchFieldsOverview.deleteSearchFieldConfirmation\"\n [outputOnConfirm]=\"selectedDeleteSearchField$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"interface.delete\"\n (confirmEvent)=\"onDeleteSelectedSearchFieldConfirm($event)\"\n></valtimo-confirmation-modal>\n\n<ng-template #buttons let-obs=\"obs\">\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n\n <button\n cdsButton=\"primary\"\n data-test-id=\"case-management-search-add\"\n *ngIf=\"obs.hasEditPermissions\"\n [disabled]=\"loadingSearchFields || obs.disableInput\"\n (click)=\"searchFieldClicked($event, true)\"\n >\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.addRow' | translate }}\n </button>\n</ng-template>\n\n<ng-template #content let-obs=\"obs\">\n @if (!jsonEditorActive()) {\n <valtimo-carbon-list\n data-test-id=\"searchFieldsList\"\n [actionItems]=\"actionItems\"\n [showActionItems]=\"obs.hasEditPermissions\"\n [fields]=\"fields\"\n [header]=\"false\"\n [items]=\"obs.searchFields\"\n [loading]=\"!obs.searchFields\"\n (rowClicked)=\"searchFieldClicked($event, false)\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"obs.disableInput\"\n (itemsReordered)=\"onItemsReordered(obs.caseDefinitionKey, $event)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n [title]=\"'searchFieldsOverview.noSearchfieldsTitle' | translate\"\n [description]=\"'searchFieldsOverview.noSearchfieldsDescription' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n } @else {\n <valtimo-json-editor\n [model]=\"obs.jsonEditorModel\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"248\"\n [showEditButton]=\"obs.hasEditPermissions\"\n (saveEvent)=\"updateSearchFields(obs.caseDefinitionKey, $event)\"\n >\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n </valtimo-json-editor>\n }\n</ng-template>\n\n<ng-template #modal let-obs=\"obs\">\n <cds-modal\n valtimoCdsModal\n [title]=\"\n searchFieldActionTypeIsAdd\n ? ('searchFieldsOverview.addRow' | translate)\n : ('searchFieldsOverview.edit' | translate)\n \"\n [open]=\"modalShowing$ | async\"\n [showFooter]=\"true\"\n size=\"sm\"\n (close)=\"onModalClose()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onModalClose()\">\n <h3 cdsModalHeaderHeading>\n {{\n (searchFieldActionTypeIsAdd ? 'searchFieldsOverview.addRow' : 'searchFieldsOverview.edit')\n | translate\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"\n (showFields$ | async) && {\n searchField: selectedSearchField$ | async,\n } as searchObs\n \"\n >\n <v-input\n name=\"title\"\n dataTestId=\"case-management-search-title\"\n [title]=\"'searchFieldsOverview.title' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.title\"\n [disabled]=\"obs.disableInput\"\n [required]=\"false\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <v-input\n name=\"key\"\n dataTestId=\"case-management-search-key\"\n [title]=\"'searchFieldsOverview.key' | translate\"\n [margin]=\"true\"\n [defaultValue]=\"searchObs.searchField?.key\"\n [disabled]=\"obs.disableInput || !searchFieldActionTypeIsAdd\"\n [required]=\"true\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </v-input>\n\n <valtimo-value-path-selector\n name=\"path\"\n [label]=\"'searchFieldsOverview.path' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n [marginXl]=\"true\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [caseDefinitionVersionTag]=\"caseDefinitionVersionTag$ | async\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [defaultValue]=\"searchObs.searchField?.path\"\n [disabled]=\"obs.disableInput\"\n ></valtimo-value-path-selector>\n\n <v-select\n *ngIf=\"dataTypeItems$ | async as dataTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"dataTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"dataType\"\n [defaultSelectionId]=\"searchObs.searchField?.dataType\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-dataTypes\"\n ></v-select>\n\n <v-select\n *ngIf=\"(showMatchTypes$ | async) && (matchTypeItems$ | async) as matchTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"matchTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"matchType\"\n [defaultSelectionId]=\"searchObs.searchField?.matchType\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-matchTypes\"\n ></v-select>\n\n <v-select\n *ngIf=\"fieldTypeItems$ | async as fieldTypeItems\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"fieldTypeItems\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"true\"\n name=\"fieldType\"\n [defaultSelectionId]=\"searchObs.searchField?.fieldType\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-fieldTypes\"\n ></v-select>\n\n <v-select\n *ngIf=\"\n (fieldTypeIsDropdown$ | async) &&\n (dropdownDataProviderNames$ | async) as dropdownDataProviderNames\n \"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [items]=\"dropdownDataProviderNames\"\n [placeholder]=\"'searchFieldsOverview.searchFieldPlaceholder' | translate\"\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [disabled]=\"obs.disableInput\"\n [margin]=\"true\"\n [required]=\"false\"\n name=\"dropdownDataProvider\"\n [defaultSelectionId]=\"searchObs.searchField?.dropdownDataProvider\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n [carbonTheme]=\"CARBON_THEME\"\n dataTestId=\"case-management-search-dropdownDataProvider\"\n ></v-select>\n\n <valtimo-carbon-multi-input\n *ngIf=\"\n (showInputDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n name=\"dropdownValues\"\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n type=\"keyValue\"\n [disabled]=\"obs.disableInput\"\n [defaultValues]=\"initialDropdownValues\"\n [margin]=\"true\"\n [required]=\"false\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n (valueChange)=\"dropdownDatalistChange($event)\"\n [carbonTheme]=\"CARBON_THEME\"\n >\n </valtimo-carbon-multi-input>\n\n <v-table\n *ngIf=\"\n (showReadonlyDropdownTable$ | async) &&\n (initialDropdownValues$ | async) as initialDropdownValues\n \"\n [items]=\"initialDropdownValues\"\n [columns]=\"dropdownColumns$ | async\"\n [showEditButtons]=\"false\"\n [itemsTranslationKey]=\"'searchFieldsOverview'\"\n [showPagination]=\"false\"\n [mobileBreakpointPx]=\"200\"\n [carbonTheme]=\"CARBON_THEME\"\n ></v-table>\n </v-form>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"buttonsFooterModal; context: {obs: obs}\"></ng-container>\n </cds-modal-footer>\n </cds-modal>\n</ng-template>\n\n<ng-template #buttonsFooterModal let-obs=\"obs\">\n <button\n data-test-id=\"case-management-search-close\"\n cdsButton=\"secondary\"\n (click)=\"onModalClose()\"\n [disabled]=\"obs.disableInput\"\n >\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n data-test-id=\"case-management-search-save\"\n cdsButton=\"primary\"\n [disabled]=\"obs.disableInput || !obs.valid\"\n (click)=\"saveSearchField(obs.caseDefinitionKey)\"\n >\n {{ 'searchFieldsOverview.submit' | translate }}\n </button>\n</ng-template>\n\n<ng-template #viewToggle>\n <cds-tooltip [description]=\"'JSON editor'\">\n <button\n [cdsButton]=\"buttonTheme()\"\n data-test-id=\"case-management-search-fields-switch-view\"\n iconOnly=\"true\"\n (click)=\"switchView()\"\n >\n <svg cdsIcon=\"code\" size=\"16\"></svg>\n </button>\n </cds-tooltip>\n</ng-template>\n\n<ng-template #downloadButton let-obs=\"obs\">\n <button\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n data-test-id=\"case-management-search-download\"\n [disabled]=\"\n !obs.downloadUrl || !obs.downloadName || obs.searchFields?.length <= 0 || obs.disableInput\n \"\n (click)=\"onDownloadClick()\"\n >\n <svg cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: ["valtimo-list::ng-deep table{border-top:1px solid rgba(0,0,0,.125)}.case-management-search-fields__buttons{display:flex;gap:16px}.case-management-search-fields__buttons .center-link{display:flex;align-items:center}.case-management-search-fields__move-buttons{width:100%;justify-content:flex-end;display:flex;flex-direction:row;position:relative}.case-management-search-fields__move-buttons button:not(:last-child){margin-right:8px}.list-actions{width:1px}.modal-header::ng-deep{background-color:#f3f4f7}::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--tab-content{padding-top:0!important}\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"] }]
2633
2846
  }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$1.ActivatedRoute }, { type: i3.TranslateService }, { type: i2.IconService }, { type: i3$1.EditPermissionsService }] });
@@ -3064,10 +3277,10 @@ class CaseManagementListColumnsComponent {
3064
3277
  this.displayExportButton = pathMustStartWithCaseOrDocRegex.test(String(value));
3065
3278
  });
3066
3279
  }
3067
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementListColumnsComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$1.ActivatedRoute }, { token: i3.TranslateService }, { token: i2.IconService }, { token: i3$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
3068
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseManagementListColumnsComponent, isStandalone: false, selector: "valtimo-case-management-list-columns", 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<ng-container\n *ngIf=\"{\n caseListColumn: translatedCaseListColumns$ | async,\n disableInput: disableInput$ | async,\n downloadName: downloadName$ | async,\n downloadUrl: downloadUrl$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n jsonEditorModel: jsonEditorModel$ | async,\n loadingCaseListColumns: loadingCaseListColumns$ | async,\n params: params$ | async,\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"content; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"createEditModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteModal\"></ng-container>\n</ng-container>\n\n<ng-template #content let-obs=\"obs\">\n @if (!jsonEditorActive()) {\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [loading]=\"obs.loadingCaseListColumns\"\n [items]=\"obs?.caseListColumn || []\"\n [fields]=\"fields\"\n [viewMode]=\"false\"\n [header]=\"false\"\n (rowClicked)=\"columnRowClicked($event)\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"obs.disableInput\"\n (itemsReordered)=\"onItemsReordered(obs.params.caseDefinitionKey, $event)\"\n [attr.data-test-id]=\"testIds.columnsList\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n [title]=\"'listColumn.noConfigWarningTitle' | translate\"\n [description]=\"'listColumn.noConfigWarning' | translate\"\n illustration=\"valtimo-layout/img/emptystate-empty.svg\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n } @else {\n <valtimo-json-editor\n [model]=\"obs.jsonEditorModel\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"248\"\n [showEditButton]=\"obs.hasEditPermissions\"\n (saveEvent)=\"updateCaseListColumns(obs.params.caseDefinitionKey, $event)\"\n [attr.data-test-id]=\"testIds.jsonEditor\"\n >\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n </valtimo-json-editor>\n }\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n\n <button\n *ngIf=\"obs.hasEditPermissions\"\n (click)=\"openModal('create')\"\n cdsButton=\"primary\"\n [disabled]=\"obs.loadingCaseListColumns || !(hasEditPermissions$ | async)\"\n [attr.data-test-id]=\"testIds.addListColumn\"\n >\n {{ 'listColumn.addButtonText' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #noConfigWarning>\n <div class=\"pl-2 pr-2 pb-2 pt-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'info',\n title: 'listColumn.noConfigWarningTitle' | translate,\n message: 'listColumn.noConfigWarning' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #createEditModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n type: currentModalType$ | async,\n show: showModal$ | async,\n valid: valid$ | async,\n disableInput: disableInput$ | async,\n validKey: validKey$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n showEnum: showEnum$ | async,\n isYesNo: isYesNo$ | async,\n showTagAmount: showTagAmount$ | async,\n params: params$ | async,\n } as modalObs\"\n [open]=\"modalObs.show\"\n size=\"sm\"\n (close)=\"closeModal()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{\n modalObs.type === 'create'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <form [formGroup]=\"formGroup\" class=\"list-column-form\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"title\" [attr.data-test-id]=\"testIds.title\" />\n </cds-label>\n\n <cds-label\n [disabled]=\"modalObs.disableInput || modalObs.type === 'edit'\"\n [invalid]=\"modalObs.validKey === false\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <input\n cdsText\n formControlName=\"key\"\n [invalid]=\"modalObs.validKey === false\"\n [attr.data-test-id]=\"testIds.key\"\n />\n </cds-label>\n\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-value-path-selector\n formControlName=\"path\"\n [caseDefinitionKey]=\"modalObs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"modalObs.params?.caseDefinitionVersionTag\"\n [attr.data-test-id]=\"testIds.valuePathSelector\"\n ></valtimo-value-path-selector>\n </cds-label>\n\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n formControlName=\"displayType\"\n [disabled]=\"modalObs.disableInput\"\n (selected)=\"selectedDisplayType($event)\"\n [attr.data-test-id]=\"testIds.displayType\"\n >\n <cds-dropdown-list [items]=\"(viewTypeItems$ | async) || []\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-label *ngIf=\"modalObs.showTagAmount\" [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.tagAmount' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.tagAmountTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-number\n formControlName=\"tagAmount\"\n [min]=\"1\"\n [step]=\"1\"\n [attr.data-test-id]=\"testIds.tagAmount\"\n ></cds-number>\n </cds-label>\n\n <cds-label *ngIf=\"showDateFormat$ | async\" [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"dateFormat\" [attr.data-test-id]=\"testIds.dateFormat\" />\n </cds-label>\n\n <cds-label *ngIf=\"modalObs.showEnum || modalObs.isYesNo\" [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{\n modalObs.isYesNo\n ? ('listColumn.enumTitleOptional' | translate)\n : ('listColumn.enumTitle' | translate)\n }}\n\n <v-tooltip-icon\n [tooltip]=\"\n modalObs.isYesNo\n ? ('listColumn.enumTooltipOptional' | translate)\n : ('listColumn.enumTooltip' | translate)\n \"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"(showModal$ | async) || (modalShowing$ | async)\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n [defaultValues]=\"defaultEnumValues$ | async\"\n [hideAddButton]=\"modalObs.isYesNo\"\n [hideDeleteButton]=\"modalObs.isYesNo\"\n [maxRows]=\"modalObs.isYesNo ? 1 : null\"\n [keyColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.Yes' | translate)\"\n [valueColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.No' | translate)\"\n [attr.data-test-id]=\"testIds.multiInput\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n\n <cds-checkbox\n formControlName=\"sortable\"\n [disabled]=\"modalObs.showTagAmount || modalObs.disableInput\"\n [attr.data-test-id]=\"testIds.sortableCheckbox\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n\n <cds-label\n [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort || modalObs.showTagAmount\"\n >\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n formControlName=\"defaultSort\"\n [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort || modalObs.showTagAmount\"\n [attr.data-test-id]=\"testIds.defaultSort\"\n >\n <cds-dropdown-list [items]=\"(sortItems$ | async) || []\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-label *ngIf=\"displayExportButton\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.exportField' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.exportTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-toggle\n formControlName=\"exportable\"\n data-testid=\"export-selector-toggle\"\n [onText]=\"'listColumn.sortableYes' | translate\"\n [offText]=\"'listColumn.sortableNo' | translate\"\n [keyColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.Yes' | translate)\"\n [valueColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.No' | translate)\"\n [required]=\"false\"\n [size]=\"'sm'\"\n [attr.data-test-id]=\"testIds.exportable\"\n ></cds-toggle>\n </cds-label>\n </form>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer [cdsLayer]=\"1\">\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n [attr.data-test-id]=\"testIds.cancelButton\"\n >\n {{ 'listColumn.close' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"modalObs.valid === false\"\n (click)=\"saveCaseListColumns()\"\n [disabled]=\"\n modalObs.disableInput || modalObs.valid === false || modalObs.validKey === false\n \"\n [attr.data-test-id]=\"testIds.saveButton\"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #deleteModal>\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n (confirmEvent)=\"deleteRowConfirmation($event)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n [attr.data-test-id]=\"testIds.confirmationModal\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #viewToggle>\n <cds-tooltip [description]=\"'JSON editor'\">\n <button\n [cdsButton]=\"buttonTheme()\"\n [attr.data-test-id]=\"testIds.switchView\"\n iconOnly=\"true\"\n (click)=\"switchView()\"\n >\n <svg cdsIcon=\"code\" size=\"16\"></svg>\n </button>\n </cds-tooltip>\n</ng-template>\n\n<ng-template #downloadButton let-obs=\"obs\">\n <button\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n (click)=\"onDownloadClick()\"\n [disabled]=\"\n !obs.downloadUrl ||\n !obs.downloadName ||\n obs.caseListColumn?.length < 1 ||\n obs.disableInput ||\n obs.loadingCaseListColumns\n \"\n [attr.data-test-id]=\"testIds.downloadButton\"\n >\n <svg cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: ["::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--inline-notification{max-width:100%}::ng-deep .cds--label{width:100%}.label-with-tooltip{display:flex;align-items:center}.display-type-dropdown{width:300px}.list-column-form{display:flex;flex-direction:column;gap:16px;margin-bottom:3rem}.select-label{padding-bottom:.5rem;width:250px}.center-link{display:flex;align-items:center}.case-list-columns__actions{display:flex;gap:8px}.list-columns__buttons{display:flex;gap:16px;flex-direction:row;justify-content:flex-end}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "component", type: i7.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "component", type: i7.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addButtonType", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i7.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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "component", type: i7.ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i2.NumberComponent, selector: "cds-number, ibm-number", inputs: ["readonly", "theme", "disabled", "skeleton", "invalid", "id", "placeholder", "size", "required", "value", "min", "max", "label", "helperText", "invalidText", "step", "precision", "warn", "warnText", "ariaLabel", "decrementLabel", "incrementLabel", "fluid"], outputs: ["change"] }, { kind: "component", type: i7.JsonEditorComponent, selector: "valtimo-json-editor", inputs: ["disabled", "model", "editorOptions", "fitPage", "fitPageSpaceAdjustment", "formatOnLoad", "heightPx", "heightStyle", "jsonSchema", "showEditButton", "widthPx"], outputs: ["changeEvent", "discardEvent", "keepEditingEvent", "saveEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementListColumnsComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$1.ActivatedRoute }, { token: i3.TranslateService }, { token: i2.IconService }, { token: i3$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
3281
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementListColumnsComponent, isStandalone: false, selector: "valtimo-case-management-list-columns", 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<ng-container\n *ngIf=\"{\n caseListColumn: translatedCaseListColumns$ | async,\n disableInput: disableInput$ | async,\n downloadName: downloadName$ | async,\n downloadUrl: downloadUrl$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n jsonEditorModel: jsonEditorModel$ | async,\n loadingCaseListColumns: loadingCaseListColumns$ | async,\n params: params$ | async,\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"content; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"createEditModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteModal\"></ng-container>\n</ng-container>\n\n<ng-template #content let-obs=\"obs\">\n @if (!jsonEditorActive()) {\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [loading]=\"obs.loadingCaseListColumns\"\n [items]=\"obs?.caseListColumn || []\"\n [fields]=\"fields\"\n [viewMode]=\"false\"\n [header]=\"false\"\n (rowClicked)=\"columnRowClicked($event)\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"obs.disableInput\"\n (itemsReordered)=\"onItemsReordered(obs.params.caseDefinitionKey, $event)\"\n [attr.data-test-id]=\"testIds.columnsList\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n [title]=\"'listColumn.noConfigWarningTitle' | translate\"\n [description]=\"'listColumn.noConfigWarning' | translate\"\n illustration=\"valtimo-layout/img/emptystate-empty.svg\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n } @else {\n <valtimo-json-editor\n [model]=\"obs.jsonEditorModel\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"248\"\n [showEditButton]=\"obs.hasEditPermissions\"\n (saveEvent)=\"updateCaseListColumns(obs.params.caseDefinitionKey, $event)\"\n [attr.data-test-id]=\"testIds.jsonEditor\"\n >\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n </valtimo-json-editor>\n }\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n\n <button\n *ngIf=\"obs.hasEditPermissions\"\n (click)=\"openModal('create')\"\n cdsButton=\"primary\"\n [disabled]=\"obs.loadingCaseListColumns || !(hasEditPermissions$ | async)\"\n [attr.data-test-id]=\"testIds.addListColumn\"\n >\n {{ 'listColumn.addButtonText' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #noConfigWarning>\n <div class=\"pl-2 pr-2 pb-2 pt-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'info',\n title: 'listColumn.noConfigWarningTitle' | translate,\n message: 'listColumn.noConfigWarning' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #createEditModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n type: currentModalType$ | async,\n show: showModal$ | async,\n valid: valid$ | async,\n disableInput: disableInput$ | async,\n validKey: validKey$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n showEnum: showEnum$ | async,\n isYesNo: isYesNo$ | async,\n showTagAmount: showTagAmount$ | async,\n params: params$ | async,\n } as modalObs\"\n [open]=\"modalObs.show\"\n size=\"sm\"\n (close)=\"closeModal()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{\n modalObs.type === 'create'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <form [formGroup]=\"formGroup\" class=\"list-column-form\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"title\" [attr.data-test-id]=\"testIds.title\" />\n </cds-label>\n\n <cds-label\n [disabled]=\"modalObs.disableInput || modalObs.type === 'edit'\"\n [invalid]=\"modalObs.validKey === false\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <input\n cdsText\n formControlName=\"key\"\n [invalid]=\"modalObs.validKey === false\"\n [attr.data-test-id]=\"testIds.key\"\n />\n </cds-label>\n\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-value-path-selector\n formControlName=\"path\"\n [caseDefinitionKey]=\"modalObs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"modalObs.params?.caseDefinitionVersionTag\"\n [attr.data-test-id]=\"testIds.valuePathSelector\"\n ></valtimo-value-path-selector>\n </cds-label>\n\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n formControlName=\"displayType\"\n [disabled]=\"modalObs.disableInput\"\n (selected)=\"selectedDisplayType($event)\"\n [attr.data-test-id]=\"testIds.displayType\"\n >\n <cds-dropdown-list [items]=\"(viewTypeItems$ | async) || []\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-label *ngIf=\"modalObs.showTagAmount\" [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.tagAmount' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.tagAmountTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-number\n formControlName=\"tagAmount\"\n [min]=\"1\"\n [step]=\"1\"\n [attr.data-test-id]=\"testIds.tagAmount\"\n ></cds-number>\n </cds-label>\n\n <cds-label *ngIf=\"showDateFormat$ | async\" [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"dateFormat\" [attr.data-test-id]=\"testIds.dateFormat\" />\n </cds-label>\n\n <cds-label *ngIf=\"modalObs.showEnum || modalObs.isYesNo\" [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{\n modalObs.isYesNo\n ? ('listColumn.enumTitleOptional' | translate)\n : ('listColumn.enumTitle' | translate)\n }}\n\n <v-tooltip-icon\n [tooltip]=\"\n modalObs.isYesNo\n ? ('listColumn.enumTooltipOptional' | translate)\n : ('listColumn.enumTooltip' | translate)\n \"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"(showModal$ | async) || (modalShowing$ | async)\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n [defaultValues]=\"defaultEnumValues$ | async\"\n [hideAddButton]=\"modalObs.isYesNo\"\n [hideDeleteButton]=\"modalObs.isYesNo\"\n [maxRows]=\"modalObs.isYesNo ? 1 : null\"\n [keyColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.Yes' | translate)\"\n [valueColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.No' | translate)\"\n [attr.data-test-id]=\"testIds.multiInput\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n\n <cds-checkbox\n formControlName=\"sortable\"\n [disabled]=\"modalObs.showTagAmount || modalObs.disableInput\"\n [attr.data-test-id]=\"testIds.sortableCheckbox\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n\n <cds-label\n [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort || modalObs.showTagAmount\"\n >\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n formControlName=\"defaultSort\"\n [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort || modalObs.showTagAmount\"\n [attr.data-test-id]=\"testIds.defaultSort\"\n >\n <cds-dropdown-list [items]=\"(sortItems$ | async) || []\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-label *ngIf=\"displayExportButton\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.exportField' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.exportTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-toggle\n formControlName=\"exportable\"\n data-testid=\"export-selector-toggle\"\n [onText]=\"'listColumn.sortableYes' | translate\"\n [offText]=\"'listColumn.sortableNo' | translate\"\n [keyColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.Yes' | translate)\"\n [valueColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.No' | translate)\"\n [required]=\"false\"\n [size]=\"'sm'\"\n [attr.data-test-id]=\"testIds.exportable\"\n ></cds-toggle>\n </cds-label>\n </form>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer [cdsLayer]=\"1\">\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n [attr.data-test-id]=\"testIds.cancelButton\"\n >\n {{ 'listColumn.close' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"modalObs.valid === false\"\n (click)=\"saveCaseListColumns()\"\n [disabled]=\"\n modalObs.disableInput || modalObs.valid === false || modalObs.validKey === false\n \"\n [attr.data-test-id]=\"testIds.saveButton\"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #deleteModal>\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n (confirmEvent)=\"deleteRowConfirmation($event)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n [attr.data-test-id]=\"testIds.confirmationModal\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #viewToggle>\n <cds-tooltip [description]=\"'JSON editor'\">\n <button\n [cdsButton]=\"buttonTheme()\"\n [attr.data-test-id]=\"testIds.switchView\"\n iconOnly=\"true\"\n (click)=\"switchView()\"\n >\n <svg cdsIcon=\"code\" size=\"16\"></svg>\n </button>\n </cds-tooltip>\n</ng-template>\n\n<ng-template #downloadButton let-obs=\"obs\">\n <button\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n (click)=\"onDownloadClick()\"\n [disabled]=\"\n !obs.downloadUrl ||\n !obs.downloadName ||\n obs.caseListColumn?.length < 1 ||\n obs.disableInput ||\n obs.loadingCaseListColumns\n \"\n [attr.data-test-id]=\"testIds.downloadButton\"\n >\n <svg cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: ["::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--inline-notification{max-width:100%}::ng-deep .cds--label{width:100%}.label-with-tooltip{display:flex;align-items:center}.display-type-dropdown{width:300px}.list-column-form{display:flex;flex-direction:column;gap:16px;margin-bottom:3rem}.select-label{padding-bottom:.5rem;width:250px}.center-link{display:flex;align-items:center}.case-list-columns__actions{display:flex;gap:8px}.list-columns__buttons{display:flex;gap:16px;flex-direction:row;justify-content:flex-end}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "component", type: i7.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "component", type: i7.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addButtonType", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i7.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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "component", type: i7.ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "buildingBlockDefinitionKey", "buildingBlockDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "dropUp", "defaultValue", "type", "parentItem", "filterItems"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i2.NumberComponent, selector: "cds-number, ibm-number", inputs: ["readonly", "theme", "disabled", "skeleton", "invalid", "id", "placeholder", "size", "required", "value", "min", "max", "label", "helperText", "invalidText", "step", "precision", "warn", "warnText", "ariaLabel", "decrementLabel", "incrementLabel", "fluid"], outputs: ["change"] }, { kind: "component", type: i7.JsonEditorComponent, selector: "valtimo-json-editor", inputs: ["disabled", "model", "editorOptions", "fitPage", "fitPageSpaceAdjustment", "formatOnLoad", "heightPx", "heightStyle", "jsonSchema", "showEditButton", "widthPx"], outputs: ["changeEvent", "discardEvent", "keepEditingEvent", "saveEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3069
3282
  }
3070
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementListColumnsComponent, decorators: [{
3283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementListColumnsComponent, decorators: [{
3071
3284
  type: Component,
3072
3285
  args: [{ standalone: false, selector: 'valtimo-case-management-list-columns', 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<ng-container\n *ngIf=\"{\n caseListColumn: translatedCaseListColumns$ | async,\n disableInput: disableInput$ | async,\n downloadName: downloadName$ | async,\n downloadUrl: downloadUrl$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n jsonEditorModel: jsonEditorModel$ | async,\n loadingCaseListColumns: loadingCaseListColumns$ | async,\n params: params$ | async,\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"content; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"createEditModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteModal\"></ng-container>\n</ng-container>\n\n<ng-template #content let-obs=\"obs\">\n @if (!jsonEditorActive()) {\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [loading]=\"obs.loadingCaseListColumns\"\n [items]=\"obs?.caseListColumn || []\"\n [fields]=\"fields\"\n [viewMode]=\"false\"\n [header]=\"false\"\n (rowClicked)=\"columnRowClicked($event)\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"obs.disableInput\"\n (itemsReordered)=\"onItemsReordered(obs.params.caseDefinitionKey, $event)\"\n [attr.data-test-id]=\"testIds.columnsList\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\n [title]=\"'listColumn.noConfigWarningTitle' | translate\"\n [description]=\"'listColumn.noConfigWarning' | translate\"\n illustration=\"valtimo-layout/img/emptystate-empty.svg\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n } @else {\n <valtimo-json-editor\n [model]=\"obs.jsonEditorModel\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"248\"\n [showEditButton]=\"obs.hasEditPermissions\"\n (saveEvent)=\"updateCaseListColumns(obs.params.caseDefinitionKey, $event)\"\n [attr.data-test-id]=\"testIds.jsonEditor\"\n >\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n </valtimo-json-editor>\n }\n</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <ng-container *ngTemplateOutlet=\"viewToggle\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"downloadButton; context: {obs: obs}\"></ng-container>\n\n <button\n *ngIf=\"obs.hasEditPermissions\"\n (click)=\"openModal('create')\"\n cdsButton=\"primary\"\n [disabled]=\"obs.loadingCaseListColumns || !(hasEditPermissions$ | async)\"\n [attr.data-test-id]=\"testIds.addListColumn\"\n >\n {{ 'listColumn.addButtonText' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #noConfigWarning>\n <div class=\"pl-2 pr-2 pb-2 pt-2\">\n <cds-notification\n [notificationObj]=\"{\n type: 'info',\n title: 'listColumn.noConfigWarningTitle' | translate,\n message: 'listColumn.noConfigWarning' | translate,\n showClose: false,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #createEditModal>\n <cds-modal\n valtimoCdsModal\n *ngIf=\"{\n type: currentModalType$ | async,\n show: showModal$ | async,\n valid: valid$ | async,\n disableInput: disableInput$ | async,\n validKey: validKey$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n showEnum: showEnum$ | async,\n isYesNo: isYesNo$ | async,\n showTagAmount: showTagAmount$ | async,\n params: params$ | async,\n } as modalObs\"\n [open]=\"modalObs.show\"\n size=\"sm\"\n (close)=\"closeModal()\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\" [cdsLayer]=\"1\">\n <h3 cdsModalHeaderHeading>\n {{\n modalObs.type === 'create'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"modalContent; context: {modalObs: modalObs}\"></ng-container>\n </section>\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {modalObs: modalObs}\"></ng-container>\n </cds-modal>\n</ng-template>\n\n<ng-template #modalContent let-modalObs=\"modalObs\">\n <form [formGroup]=\"formGroup\" class=\"list-column-form\">\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"title\" [attr.data-test-id]=\"testIds.title\" />\n </cds-label>\n\n <cds-label\n [disabled]=\"modalObs.disableInput || modalObs.type === 'edit'\"\n [invalid]=\"modalObs.validKey === false\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <input\n cdsText\n formControlName=\"key\"\n [invalid]=\"modalObs.validKey === false\"\n [attr.data-test-id]=\"testIds.key\"\n />\n </cds-label>\n\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-value-path-selector\n formControlName=\"path\"\n [caseDefinitionKey]=\"modalObs.params?.caseDefinitionKey\"\n [caseDefinitionVersionTag]=\"modalObs.params?.caseDefinitionVersionTag\"\n [attr.data-test-id]=\"testIds.valuePathSelector\"\n ></valtimo-value-path-selector>\n </cds-label>\n\n <cds-label [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n formControlName=\"displayType\"\n [disabled]=\"modalObs.disableInput\"\n (selected)=\"selectedDisplayType($event)\"\n [attr.data-test-id]=\"testIds.displayType\"\n >\n <cds-dropdown-list [items]=\"(viewTypeItems$ | async) || []\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-label *ngIf=\"modalObs.showTagAmount\" [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.tagAmount' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.tagAmountTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-number\n formControlName=\"tagAmount\"\n [min]=\"1\"\n [step]=\"1\"\n [attr.data-test-id]=\"testIds.tagAmount\"\n ></cds-number>\n </cds-label>\n\n <cds-label *ngIf=\"showDateFormat$ | async\" [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"dateFormat\" [attr.data-test-id]=\"testIds.dateFormat\" />\n </cds-label>\n\n <cds-label *ngIf=\"modalObs.showEnum || modalObs.isYesNo\" [disabled]=\"modalObs.disableInput\">\n <span class=\"label-with-tooltip select-label\">\n {{\n modalObs.isYesNo\n ? ('listColumn.enumTitleOptional' | translate)\n : ('listColumn.enumTitle' | translate)\n }}\n\n <v-tooltip-icon\n [tooltip]=\"\n modalObs.isYesNo\n ? ('listColumn.enumTooltipOptional' | translate)\n : ('listColumn.enumTooltip' | translate)\n \"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"(showModal$ | async) || (modalShowing$ | async)\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n [defaultValues]=\"defaultEnumValues$ | async\"\n [hideAddButton]=\"modalObs.isYesNo\"\n [hideDeleteButton]=\"modalObs.isYesNo\"\n [maxRows]=\"modalObs.isYesNo ? 1 : null\"\n [keyColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.Yes' | translate)\"\n [valueColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.No' | translate)\"\n [attr.data-test-id]=\"testIds.multiInput\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n\n <cds-checkbox\n formControlName=\"sortable\"\n [disabled]=\"modalObs.showTagAmount || modalObs.disableInput\"\n [attr.data-test-id]=\"testIds.sortableCheckbox\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n\n <cds-label\n [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort || modalObs.showTagAmount\"\n >\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n formControlName=\"defaultSort\"\n [disabled]=\"modalObs.disableInput || modalObs.disableDefaultSort || modalObs.showTagAmount\"\n [attr.data-test-id]=\"testIds.defaultSort\"\n >\n <cds-dropdown-list [items]=\"(sortItems$ | async) || []\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n\n <cds-label *ngIf=\"displayExportButton\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.exportField' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.exportTooltip' | translate\"\n [disabled]=\"modalObs.disableInput\"\n ></v-tooltip-icon>\n </span>\n\n <cds-toggle\n formControlName=\"exportable\"\n data-testid=\"export-selector-toggle\"\n [onText]=\"'listColumn.sortableYes' | translate\"\n [offText]=\"'listColumn.sortableNo' | translate\"\n [keyColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.Yes' | translate)\"\n [valueColumnTitle]=\"modalObs.isYesNo && ('viewTypeConverter.No' | translate)\"\n [required]=\"false\"\n [size]=\"'sm'\"\n [attr.data-test-id]=\"testIds.exportable\"\n ></cds-toggle>\n </cds-label>\n </form>\n</ng-template>\n\n<ng-template #modalFooter let-modalObs=\"modalObs\">\n <cds-modal-footer [cdsLayer]=\"1\">\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeModal()\"\n [disabled]=\"modalObs.disableInput\"\n [attr.data-test-id]=\"testIds.cancelButton\"\n >\n {{ 'listColumn.close' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"modalObs.valid === false\"\n (click)=\"saveCaseListColumns()\"\n [disabled]=\"\n modalObs.disableInput || modalObs.valid === false || modalObs.validKey === false\n \"\n [attr.data-test-id]=\"testIds.saveButton\"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n\n<ng-template #deleteModal>\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n (confirmEvent)=\"deleteRowConfirmation($event)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n [attr.data-test-id]=\"testIds.confirmationModal\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #viewToggle>\n <cds-tooltip [description]=\"'JSON editor'\">\n <button\n [cdsButton]=\"buttonTheme()\"\n [attr.data-test-id]=\"testIds.switchView\"\n iconOnly=\"true\"\n (click)=\"switchView()\"\n >\n <svg cdsIcon=\"code\" size=\"16\"></svg>\n </button>\n </cds-tooltip>\n</ng-template>\n\n<ng-template #downloadButton let-obs=\"obs\">\n <button\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n (click)=\"onDownloadClick()\"\n [disabled]=\"\n !obs.downloadUrl ||\n !obs.downloadName ||\n obs.caseListColumn?.length < 1 ||\n obs.disableInput ||\n obs.loadingCaseListColumns\n \"\n [attr.data-test-id]=\"testIds.downloadButton\"\n >\n <svg cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n</ng-template>\n", styles: ["::ng-deep .tab-container{min-height:unset!important}::ng-deep .cds--inline-notification{max-width:100%}::ng-deep .cds--label{width:100%}.label-with-tooltip{display:flex;align-items:center}.display-type-dropdown{width:300px}.list-column-form{display:flex;flex-direction:column;gap:16px;margin-bottom:3rem}.select-label{padding-bottom:.5rem;width:250px}.center-link{display:flex;align-items:center}.case-list-columns__actions{display:flex;gap:8px}.list-columns__buttons{display:flex;gap:16px;flex-direction:row;justify-content:flex-end}\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"] }]
3073
3286
  }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$1.ActivatedRoute }, { type: i3.TranslateService }, { type: i2.IconService }, { type: i3$1.EditPermissionsService }] });
@@ -3104,10 +3317,10 @@ class CaseManagementCaseListComponent {
3104
3317
  switchTab(tab) {
3105
3318
  this.currentTab$.next(tab);
3106
3319
  }
3107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementCaseListComponent, deps: [{ token: i3$1.DraftVersionService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
3108
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseManagementCaseListComponent, 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@if (currentTab$ | async; as currentTab) {\n <valtimo-case-management-draft-warning\n *ngIf=\"isDraftVersion$ | async\"\n [name]=\"DRAFT_WARNING_MESSAGE[currentTab] | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n\n <cds-tabs class=\"case-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"currentTab === TabEnum.LIST\"\n [heading]=\"'caseManagement.tabs.caseListTab.columns' | translate\"\n [id]=\"'caseManagementListColumns'\"\n (selected)=\"switchTab(TabEnum.LIST)\"\n >\n <valtimo-case-management-list-columns\n *ngIf=\"currentTab === TabEnum.LIST\"\n ></valtimo-case-management-list-columns>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.SEARCH\"\n [heading]=\"'caseManagement.tabs.caseListTab.searchFields' | translate\"\n [id]=\"'caseManagementListSearchFields'\"\n (selected)=\"switchTab(TabEnum.SEARCH)\"\n >\n <valtimo-case-management-search-fields\n *ngIf=\"currentTab === TabEnum.SEARCH\"\n ></valtimo-case-management-search-fields>\n </cds-tab>\n </cds-tabs>\n}\n", styles: [":host ::ng-deep .cds--tab-content{margin:0!important}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: CaseManagementDraftWarningComponent, selector: "valtimo-case-management-draft-warning", inputs: ["name"] }, { kind: "component", type: CaseManagementSearchFieldsComponent, selector: "valtimo-case-management-search-fields" }, { kind: "component", type: CaseManagementListColumnsComponent, selector: "valtimo-case-management-list-columns" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3320
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCaseListComponent, deps: [{ token: i3$1.DraftVersionService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
3321
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementCaseListComponent, 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@if (currentTab$ | async; as currentTab) {\n <valtimo-case-management-draft-warning\n *ngIf=\"isDraftVersion$ | async\"\n [name]=\"DRAFT_WARNING_MESSAGE[currentTab] | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n\n <cds-tabs class=\"case-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"currentTab === TabEnum.LIST\"\n [heading]=\"'caseManagement.tabs.caseListTab.columns' | translate\"\n [id]=\"'caseManagementListColumns'\"\n (selected)=\"switchTab(TabEnum.LIST)\"\n >\n <valtimo-case-management-list-columns\n *ngIf=\"currentTab === TabEnum.LIST\"\n ></valtimo-case-management-list-columns>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.SEARCH\"\n [heading]=\"'caseManagement.tabs.caseListTab.searchFields' | translate\"\n [id]=\"'caseManagementListSearchFields'\"\n (selected)=\"switchTab(TabEnum.SEARCH)\"\n >\n <valtimo-case-management-search-fields\n *ngIf=\"currentTab === TabEnum.SEARCH\"\n ></valtimo-case-management-search-fields>\n </cds-tab>\n </cds-tabs>\n}\n", styles: [":host ::ng-deep .cds--tab-content{margin:0!important}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: CaseManagementDraftWarningComponent, selector: "valtimo-case-management-draft-warning", inputs: ["name"] }, { kind: "component", type: CaseManagementSearchFieldsComponent, selector: "valtimo-case-management-search-fields" }, { kind: "component", type: CaseManagementListColumnsComponent, selector: "valtimo-case-management-list-columns" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3109
3322
  }
3110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementCaseListComponent, decorators: [{
3323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCaseListComponent, decorators: [{
3111
3324
  type: Component,
3112
3325
  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@if (currentTab$ | async; as currentTab) {\n <valtimo-case-management-draft-warning\n *ngIf=\"isDraftVersion$ | async\"\n [name]=\"DRAFT_WARNING_MESSAGE[currentTab] | translate | lowercase\"\n ></valtimo-case-management-draft-warning>\n\n <cds-tabs class=\"case-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"currentTab === TabEnum.LIST\"\n [heading]=\"'caseManagement.tabs.caseListTab.columns' | translate\"\n [id]=\"'caseManagementListColumns'\"\n (selected)=\"switchTab(TabEnum.LIST)\"\n >\n <valtimo-case-management-list-columns\n *ngIf=\"currentTab === TabEnum.LIST\"\n ></valtimo-case-management-list-columns>\n </cds-tab>\n\n <cds-tab\n [active]=\"currentTab === TabEnum.SEARCH\"\n [heading]=\"'caseManagement.tabs.caseListTab.searchFields' | translate\"\n [id]=\"'caseManagementListSearchFields'\"\n (selected)=\"switchTab(TabEnum.SEARCH)\"\n >\n <valtimo-case-management-search-fields\n *ngIf=\"currentTab === TabEnum.SEARCH\"\n ></valtimo-case-management-search-fields>\n </cds-tab>\n </cds-tabs>\n}\n", styles: [":host ::ng-deep .cds--tab-content{margin:0!important}\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"] }]
3113
3326
  }], ctorParameters: () => [{ type: i3$1.DraftVersionService }, { type: i2$1.ActivatedRoute }] });
@@ -3204,10 +3417,10 @@ class CaseManagementCreateDraftVersionComponent {
3204
3417
  caseDefinitionVersionTag: params?.caseDefinitionVersionTag,
3205
3418
  })));
3206
3419
  }
3207
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementCreateDraftVersionComponent, deps: [{ token: i1$4.FormBuilder }, { token: i2.IconService }, { token: i3.TranslateService }, { token: i2$1.ActivatedRoute }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
3208
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementCreateDraftVersionComponent, isStandalone: false, selector: "valtimo-case-management-create-draft-version", inputs: { open: "open", caseDefinitionPayload: "caseDefinitionPayload" }, outputs: { closeModal: "closeModal" }, 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 *ngIf=\"{\n versionError: versionError$ | async,\n createDraftDescription: createDraftDescription$ | async,\n } as obs\"\n valtimoCdsModal\n showFooter=\"true\"\n class=\"valtimo-definition-create\"\n [open]=\"open\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'caseManagement.createDefinition.modalTitle' | translate }}\n </h3>\n </cds-modal-header>\n\n <div cdsModalContent [cdsLayer]=\"1\">\n <p class=\"valtimo-definition-create__description\">{{ obs.createDraftDescription }}</p>\n\n <form [formGroup]=\"draftVersionForm\" class=\"valtimo-definition-create__content\">\n <cds-label>\n {{ 'caseManagement.createDefinition.name' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.nameTooltip' | translate\"\n >\n <svg cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"name\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.namePlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.createDefinition.key' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.keyTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"caseDefinitionKey\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.versionPlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n />\n </cds-label>\n\n <cds-label [invalid]=\"!!obs.versionError\" [invalidText]=\"obs.versionError | translate\">\n {{ 'caseManagement.createDefinition.version' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.versionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"caseDefinitionVersion\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.versionPlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n [invalid]=\"!!obs.versionError\"\n />\n </cds-label>\n\n <cds-textarea-label>\n {{ 'caseManagement.createDefinition.description' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.descriptionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <textarea\n cdsTextArea\n formControlName=\"description\"\n placeholder=\"{{ 'caseManagement.createDefinition.descriptionPlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n [rows]=\"3\"\n [cols]=\"150\"\n ></textarea>\n </cds-textarea-label>\n </form>\n </div>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"draftVersionForm.invalid\" (click)=\"onCloseModal(true)\">\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-create__content{display:flex;flex-direction:column;gap:16px}.valtimo-definition-create__name{width:100%;display:flex;gap:8px}.valtimo-definition-create__description{margin-bottom:16px}:host ::ng-deep .cds--label{display:flex;align-items:center;gap:12px}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i2.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i2.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3420
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCreateDraftVersionComponent, deps: [{ token: i1$4.FormBuilder }, { token: i2.IconService }, { token: i3.TranslateService }, { token: i2$1.ActivatedRoute }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
3421
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementCreateDraftVersionComponent, isStandalone: false, selector: "valtimo-case-management-create-draft-version", inputs: { open: "open", caseDefinitionPayload: "caseDefinitionPayload" }, outputs: { closeModal: "closeModal" }, 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 *ngIf=\"{\n versionError: versionError$ | async,\n createDraftDescription: createDraftDescription$ | async,\n } as obs\"\n valtimoCdsModal\n showFooter=\"true\"\n class=\"valtimo-definition-create\"\n [open]=\"open\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'caseManagement.createDefinition.modalTitle' | translate }}\n </h3>\n </cds-modal-header>\n\n <div cdsModalContent [cdsLayer]=\"1\">\n <p class=\"valtimo-definition-create__description\">{{ obs.createDraftDescription }}</p>\n\n <form [formGroup]=\"draftVersionForm\" class=\"valtimo-definition-create__content\">\n <cds-label>\n {{ 'caseManagement.createDefinition.name' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.nameTooltip' | translate\"\n >\n <svg cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"name\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.namePlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.createDefinition.key' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.keyTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"caseDefinitionKey\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.versionPlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n />\n </cds-label>\n\n <cds-label [invalid]=\"!!obs.versionError\" [invalidText]=\"obs.versionError | translate\">\n {{ 'caseManagement.createDefinition.version' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.versionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"caseDefinitionVersion\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.versionPlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n [invalid]=\"!!obs.versionError\"\n />\n </cds-label>\n\n <cds-textarea-label>\n {{ 'caseManagement.createDefinition.description' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.descriptionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <textarea\n cdsTextArea\n formControlName=\"description\"\n placeholder=\"{{ 'caseManagement.createDefinition.descriptionPlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n [rows]=\"3\"\n [cols]=\"150\"\n ></textarea>\n </cds-textarea-label>\n </form>\n </div>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"draftVersionForm.invalid\" (click)=\"onCloseModal(true)\">\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-create__content{display:flex;flex-direction:column;gap:16px}.valtimo-definition-create__name{width:100%;display:flex;gap:8px}.valtimo-definition-create__description{margin-bottom:16px}:host ::ng-deep .cds--label{display:flex;align-items:center;gap:12px}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i2.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i2.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3209
3422
  }
3210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementCreateDraftVersionComponent, decorators: [{
3423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCreateDraftVersionComponent, decorators: [{
3211
3424
  type: Component,
3212
3425
  args: [{ standalone: false, selector: 'valtimo-case-management-create-draft-version', 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<cds-modal\n *ngIf=\"{\n versionError: versionError$ | async,\n createDraftDescription: createDraftDescription$ | async,\n } as obs\"\n valtimoCdsModal\n showFooter=\"true\"\n class=\"valtimo-definition-create\"\n [open]=\"open\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'caseManagement.createDefinition.modalTitle' | translate }}\n </h3>\n </cds-modal-header>\n\n <div cdsModalContent [cdsLayer]=\"1\">\n <p class=\"valtimo-definition-create__description\">{{ obs.createDraftDescription }}</p>\n\n <form [formGroup]=\"draftVersionForm\" class=\"valtimo-definition-create__content\">\n <cds-label>\n {{ 'caseManagement.createDefinition.name' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.nameTooltip' | translate\"\n >\n <svg cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"name\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.namePlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.createDefinition.key' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.keyTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"caseDefinitionKey\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.versionPlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n />\n </cds-label>\n\n <cds-label [invalid]=\"!!obs.versionError\" [invalidText]=\"obs.versionError | translate\">\n {{ 'caseManagement.createDefinition.version' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.versionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"caseDefinitionVersion\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.versionPlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n [invalid]=\"!!obs.versionError\"\n />\n </cds-label>\n\n <cds-textarea-label>\n {{ 'caseManagement.createDefinition.description' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.descriptionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <textarea\n cdsTextArea\n formControlName=\"description\"\n placeholder=\"{{ 'caseManagement.createDefinition.descriptionPlaceholder' | translate }}\"\n [cdsLayer]=\"1\"\n [rows]=\"3\"\n [cols]=\"150\"\n ></textarea>\n </cds-textarea-label>\n </form>\n </div>\n\n <cds-modal-footer>\n <button cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"draftVersionForm.invalid\" (click)=\"onCloseModal(true)\">\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-create__content{display:flex;flex-direction:column;gap:16px}.valtimo-definition-create__name{width:100%;display:flex;gap:8px}.valtimo-definition-create__description{margin-bottom:16px}:host ::ng-deep .cds--label{display:flex;align-items:center;gap:12px}\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"] }]
3213
3426
  }], ctorParameters: () => [{ type: i1$4.FormBuilder }, { type: i2.IconService }, { type: i3.TranslateService }, { type: i2$1.ActivatedRoute }, { type: CaseManagementService }], propDecorators: { open: [{
@@ -3519,10 +3732,10 @@ class CaseManagementDeploymentComponent {
3519
3732
  duration: 5000,
3520
3733
  });
3521
3734
  }
3522
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementDeploymentComponent, deps: [{ token: i7.BreadcrumbService }, { token: CaseManagementService }, { token: i6.DatePipe }, { token: i3$1.EnvironmentService }, { token: i2.IconService }, { token: i6.Location }, { token: i3$1.GlobalNotificationService }, { token: i2$1.ActivatedRoute }, { token: i2$1.Router }, { token: i7$1.SseService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
3523
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseManagementDeploymentComponent, isStandalone: false, selector: "ng-component", viewQueries: [{ propertyName: "_createDraftMessageTemplateRef", first: true, predicate: ["createDraftMessage"], descendants: true }, { propertyName: "_finalizeDraftMessageTemplateRef", first: true, predicate: ["finalizeDraftMessage"], descendants: true }, { propertyName: "_deleteDraftMessageTemplateRef", first: true, predicate: ["deleteDraftMessage"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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<ng-container\n *ngIf=\"{\n releaseVersionEntries: releaseVersionEntries$ | async,\n releaseInformationDataEntries: releaseInformationDataEntries$ | async,\n isDraftVersion: isDraftVersion$ | async,\n hasConflictingVersions: hasConflictingVersions$ | async,\n notificationContent: notificationContent$ | async,\n canUpdateGlobalConfiguration: canUpdateGlobalConfiguration$ | async,\n isGloballyActive: isGloballyActive$ | async,\n caseDefinitionFinalizationCheckResult: caseDefinitionFinalizationCheckResult$ | async,\n deploymentNotificationObject: deploymentNotificationObject$ | async,\n importOriginEntries: importOriginEntries$ | async,\n } as obs\"\n>\n <cds-notification\n *ngIf=\"\n obs.canUpdateGlobalConfiguration && obs.isDraftVersion && obs.deploymentNotificationObject\n \"\n class=\"deployment-warning-notification\"\n [notificationObj]=\"obs.deploymentNotificationObject\"\n ></cds-notification>\n\n <div class=\"header-buttons\">\n <button cdsButton=\"secondary\" (click)=\"goBack()\">\n {{ 'caseManagement.deployment.buttons.back' | translate }}\n <svg cdsIcon=\"return\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n @if (obs.canUpdateGlobalConfiguration) {\n @if (obs.isDraftVersion) {\n <div class=\"draft-buttons\">\n <button\n *ngIf=\"caseDefinitionVersions.length === 1 || !obs.isGloballyActive\"\n cdsButton=\"danger\"\n (click)=\"openDeleteDraftModal()\"\n >\n {{ 'caseManagement.deployment.buttons.delete' | translate }}\n <svg cdsIcon=\"trash-can\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"primary\"\n (click)=\"openFinalizeDraftConfirmationModal()\"\n [disabled]=\"!obs?.caseDefinitionFinalizationCheckResult?.finalizable\"\n >\n {{ 'caseManagement.deployment.buttons.finalize' | translate }}\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n } @else {\n <button cdsButton=\"primary\" (click)=\"openCreateDraftVersionConfirmationModal()\">\n {{ 'caseManagement.deployment.buttons.createDraft' | translate }}\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n }\n }\n </div>\n\n <div class=\"deployment-panels\">\n <ng-container\n *ngTemplateOutlet=\"\n releaseVersionPanel;\n context: {\n data: obs.releaseVersionEntries,\n showNotification: obs.hasConflictingVersions,\n notificationContent: {\n basedOnVersionTag: obs.notificationContent?.basedOnVersionTag,\n conflictingVersions: obs.notificationContent?.conflictingVersions,\n },\n }\n \"\n ></ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n releaseInformationPanel;\n context: {data: obs.releaseInformationDataEntries}\n \"\n ></ng-container>\n\n <div class=\"import-origin\" *ngIf=\"obs.importOriginEntries?.length > 0\">\n <p class=\"deployment-panel-title\">\n {{ 'caseManagement.deployment.importOrigin.title' | translate }}\n </p>\n\n <div class=\"release-version-columns\">\n <div *ngFor=\"let entry of obs.importOriginEntries\" class=\"release-version-data\">\n <label class=\"release-version-data__label\">\n {{ 'caseManagement.deployment.importOrigin.fields.' + entry.key | translate }}\n </label>\n <div class=\"release-version-data__value\">\n {{ entry.value }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template\n #releaseVersionPanel\n let-data=\"data\"\n let-showNotification=\"showNotification\"\n let-notificationContent=\"notificationContent\"\n>\n <div class=\"release-version\">\n <p class=\"deployment-panel-title\">\n {{ 'caseManagement.deployment.releaseVersion.title' | translate }}\n </p>\n\n <div class=\"release-version-columns\">\n <div *ngFor=\"let entry of data\" class=\"release-version-data\">\n <label class=\"release-version-data__label\">\n {{ 'caseManagement.deployment.releaseVersion.fields.' + entry.key | translate }}\n </label>\n <div class=\"release-version-data__value\">\n {{ entry.value }}\n </div>\n </div>\n </div>\n\n <cds-notification\n *ngIf=\"showNotification\"\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.deployment.releaseVersion.warning.title' | translate),\n message:\n ('caseManagement.deployment.releaseVersion.warning.description'\n | translate: notificationContent),\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #releaseInformationPanel let-data=\"data\">\n <div class=\"release-information\">\n <p class=\"deployment-panel-title\">\n {{ 'caseManagement.deployment.releaseInformation.title' | translate }}\n </p>\n\n <div class=\"release-version-columns\">\n <ng-container *ngFor=\"let entry of data\">\n <div class=\"release-version-data\" *ngIf=\"entry?.key && entry?.value !== undefined\">\n <label class=\"release-version-data__label\">\n {{ 'caseManagement.deployment.releaseInformation.fields.' + entry.key | translate }}\n </label>\n <div class=\"release-version-data__value\">\n {{ entry.value }}\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteDraftConfirmationModal$\"\n (confirmEvent)=\"deleteDraftCaseVersion()\"\n (cancelEvent)=\"closeDeleteDraftModal()\"\n cancelButtonType=\"ghost\"\n confirmButtonType=\"danger\"\n confirmButtonTextTranslationKey=\"caseManagement.deployment.deleteDraftConfirmationModal.confirm\"\n cancelButtonTextTranslationKey=\"interface.cancel\"\n titleTranslationKey=\"caseManagement.deployment.deleteDraftConfirmationModal.title\"\n contentTranslationKey=\"caseManagement.deployment.deleteDraftConfirmationModal.description\"\n>\n</valtimo-confirmation-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showFinalizeDraftConfirmationModal$\"\n [content]=\"finalizeDraftDescription$ | async\"\n (confirmEvent)=\"finalizeDraftCaseVersion()\"\n (cancelEvent)=\"closeFinalizeDraftModal()\"\n cancelButtonType=\"ghost\"\n confirmButtonType=\"primary\"\n confirmButtonTextTranslationKey=\"caseManagement.deployment.finalizeDraftConfirmationModal.confirm\"\n cancelButtonTextTranslationKey=\"interface.cancel\"\n titleTranslationKey=\"caseManagement.deployment.finalizeDraftConfirmationModal.title\"\n></valtimo-confirmation-modal>\n\n<valtimo-case-management-create-draft-version\n [open]=\"showCreateDraftVersionConfirmationModal$ | async\"\n [caseDefinitionPayload]=\"caseDefinitionPayload$ | async\"\n (closeModal)=\"onCloseCreateDraftVersionModal($event)\"\n></valtimo-case-management-create-draft-version>\n\n<ng-template #loadingMessage let-translationKey=\"translationKey\">\n <div>\n <span class=\"cds--inline-notification__title\">\n {{ translationKey | translate }}\n </span>\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #createDraftMessage>\n <ng-container\n *ngTemplateOutlet=\"\n loadingMessage;\n context: {\n translationKey: 'caseManagement.deployment.createDraftConfirmationModal.loadingText',\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template #finalizeDraftMessage>\n <ng-container\n *ngTemplateOutlet=\"\n loadingMessage;\n context: {\n translationKey: 'caseManagement.deployment.finalizeDraftConfirmationModal.loadingText',\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template #deleteDraftMessage>\n <ng-container\n *ngTemplateOutlet=\"\n loadingMessage;\n context: {\n translationKey: 'caseManagement.deployment.finalizeDraftConfirmationModal.loadingText',\n }\n \"\n >\n </ng-container>\n</ng-template>\n", styles: [".header-buttons{display:flex;justify-content:space-between;width:100%;margin-bottom:24px}.draft-buttons{display:flex;gap:16px}.deployment-panels{display:flex;gap:16px;flex-wrap:wrap}.deployment-panels>div{flex:1 1 300px;background-color:#fff;padding:24px}.deployment-panel-title{font-weight:600;font-size:16px;line-height:24px;margin-bottom:16px}.full-width-notification{max-inline-size:100%;min-inline-size:100%}.release-version-columns{display:flex;width:100%;margin-bottom:16px;gap:16px;flex-wrap:wrap}.release-version-data{flex:1 1 300px;padding:1rem;box-sizing:border-box}.release-version-data__label{font-size:12px;margin-bottom:16px;color:var(--cds-text-secondary)}.release-version-data__value{color:var(--cds-text-primary);padding:16px;border-bottom:1px solid var(--cds-border-subtle-01);font-size:14px}::ng-deep .cds--inline-notification__title{width:100%}.deployment-warning-notification{min-width:100%;margin-bottom:16px}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: CaseManagementCreateDraftVersionComponent, selector: "valtimo-case-management-create-draft-version", inputs: ["open", "caseDefinitionPayload"], outputs: ["closeModal"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3735
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDeploymentComponent, deps: [{ token: i7.BreadcrumbService }, { token: CaseManagementService }, { token: i6.DatePipe }, { token: i3$1.EnvironmentService }, { token: i2.IconService }, { token: i6.Location }, { token: i3$1.GlobalNotificationService }, { token: i2$1.ActivatedRoute }, { token: i2$1.Router }, { token: i7$1.SseService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
3736
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementDeploymentComponent, isStandalone: false, selector: "ng-component", viewQueries: [{ propertyName: "_createDraftMessageTemplateRef", first: true, predicate: ["createDraftMessage"], descendants: true }, { propertyName: "_finalizeDraftMessageTemplateRef", first: true, predicate: ["finalizeDraftMessage"], descendants: true }, { propertyName: "_deleteDraftMessageTemplateRef", first: true, predicate: ["deleteDraftMessage"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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<ng-container\n *ngIf=\"{\n releaseVersionEntries: releaseVersionEntries$ | async,\n releaseInformationDataEntries: releaseInformationDataEntries$ | async,\n isDraftVersion: isDraftVersion$ | async,\n hasConflictingVersions: hasConflictingVersions$ | async,\n notificationContent: notificationContent$ | async,\n canUpdateGlobalConfiguration: canUpdateGlobalConfiguration$ | async,\n isGloballyActive: isGloballyActive$ | async,\n caseDefinitionFinalizationCheckResult: caseDefinitionFinalizationCheckResult$ | async,\n deploymentNotificationObject: deploymentNotificationObject$ | async,\n importOriginEntries: importOriginEntries$ | async,\n } as obs\"\n>\n <cds-notification\n *ngIf=\"\n obs.canUpdateGlobalConfiguration && obs.isDraftVersion && obs.deploymentNotificationObject\n \"\n class=\"deployment-warning-notification\"\n [notificationObj]=\"obs.deploymentNotificationObject\"\n ></cds-notification>\n\n <div class=\"header-buttons\">\n <button cdsButton=\"secondary\" (click)=\"goBack()\">\n {{ 'caseManagement.deployment.buttons.back' | translate }}\n <svg cdsIcon=\"return\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n @if (obs.canUpdateGlobalConfiguration) {\n @if (obs.isDraftVersion) {\n <div class=\"draft-buttons\">\n <button\n *ngIf=\"caseDefinitionVersions.length === 1 || !obs.isGloballyActive\"\n cdsButton=\"danger\"\n (click)=\"openDeleteDraftModal()\"\n >\n {{ 'caseManagement.deployment.buttons.delete' | translate }}\n <svg cdsIcon=\"trash-can\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"primary\"\n (click)=\"openFinalizeDraftConfirmationModal()\"\n [disabled]=\"!obs?.caseDefinitionFinalizationCheckResult?.finalizable\"\n >\n {{ 'caseManagement.deployment.buttons.finalize' | translate }}\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n } @else {\n <button cdsButton=\"primary\" (click)=\"openCreateDraftVersionConfirmationModal()\">\n {{ 'caseManagement.deployment.buttons.createDraft' | translate }}\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n }\n }\n </div>\n\n <div class=\"deployment-panels\">\n <ng-container\n *ngTemplateOutlet=\"\n releaseVersionPanel;\n context: {\n data: obs.releaseVersionEntries,\n showNotification: obs.hasConflictingVersions,\n notificationContent: {\n basedOnVersionTag: obs.notificationContent?.basedOnVersionTag,\n conflictingVersions: obs.notificationContent?.conflictingVersions,\n },\n }\n \"\n ></ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n releaseInformationPanel;\n context: {data: obs.releaseInformationDataEntries}\n \"\n ></ng-container>\n\n <div class=\"import-origin\" *ngIf=\"obs.importOriginEntries?.length > 0\">\n <p class=\"deployment-panel-title\">\n {{ 'caseManagement.deployment.importOrigin.title' | translate }}\n </p>\n\n <div class=\"release-version-columns\">\n <div *ngFor=\"let entry of obs.importOriginEntries\" class=\"release-version-data\">\n <label class=\"release-version-data__label\">\n {{ 'caseManagement.deployment.importOrigin.fields.' + entry.key | translate }}\n </label>\n <div class=\"release-version-data__value\">\n {{ entry.value }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template\n #releaseVersionPanel\n let-data=\"data\"\n let-showNotification=\"showNotification\"\n let-notificationContent=\"notificationContent\"\n>\n <div class=\"release-version\">\n <p class=\"deployment-panel-title\">\n {{ 'caseManagement.deployment.releaseVersion.title' | translate }}\n </p>\n\n <div class=\"release-version-columns\">\n <div *ngFor=\"let entry of data\" class=\"release-version-data\">\n <label class=\"release-version-data__label\">\n {{ 'caseManagement.deployment.releaseVersion.fields.' + entry.key | translate }}\n </label>\n <div class=\"release-version-data__value\">\n {{ entry.value }}\n </div>\n </div>\n </div>\n\n <cds-notification\n *ngIf=\"showNotification\"\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.deployment.releaseVersion.warning.title' | translate),\n message:\n ('caseManagement.deployment.releaseVersion.warning.description'\n | translate: notificationContent),\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #releaseInformationPanel let-data=\"data\">\n <div class=\"release-information\">\n <p class=\"deployment-panel-title\">\n {{ 'caseManagement.deployment.releaseInformation.title' | translate }}\n </p>\n\n <div class=\"release-version-columns\">\n <ng-container *ngFor=\"let entry of data\">\n <div class=\"release-version-data\" *ngIf=\"entry?.key && entry?.value !== undefined\">\n <label class=\"release-version-data__label\">\n {{ 'caseManagement.deployment.releaseInformation.fields.' + entry.key | translate }}\n </label>\n <div class=\"release-version-data__value\">\n {{ entry.value }}\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteDraftConfirmationModal$\"\n (confirmEvent)=\"deleteDraftCaseVersion()\"\n (cancelEvent)=\"closeDeleteDraftModal()\"\n cancelButtonType=\"ghost\"\n confirmButtonType=\"danger\"\n confirmButtonTextTranslationKey=\"caseManagement.deployment.deleteDraftConfirmationModal.confirm\"\n cancelButtonTextTranslationKey=\"interface.cancel\"\n titleTranslationKey=\"caseManagement.deployment.deleteDraftConfirmationModal.title\"\n contentTranslationKey=\"caseManagement.deployment.deleteDraftConfirmationModal.description\"\n>\n</valtimo-confirmation-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showFinalizeDraftConfirmationModal$\"\n [content]=\"finalizeDraftDescription$ | async\"\n (confirmEvent)=\"finalizeDraftCaseVersion()\"\n (cancelEvent)=\"closeFinalizeDraftModal()\"\n cancelButtonType=\"ghost\"\n confirmButtonType=\"primary\"\n confirmButtonTextTranslationKey=\"caseManagement.deployment.finalizeDraftConfirmationModal.confirm\"\n cancelButtonTextTranslationKey=\"interface.cancel\"\n titleTranslationKey=\"caseManagement.deployment.finalizeDraftConfirmationModal.title\"\n></valtimo-confirmation-modal>\n\n<valtimo-case-management-create-draft-version\n [open]=\"showCreateDraftVersionConfirmationModal$ | async\"\n [caseDefinitionPayload]=\"caseDefinitionPayload$ | async\"\n (closeModal)=\"onCloseCreateDraftVersionModal($event)\"\n></valtimo-case-management-create-draft-version>\n\n<ng-template #loadingMessage let-translationKey=\"translationKey\">\n <div>\n <span class=\"cds--inline-notification__title\">\n {{ translationKey | translate }}\n </span>\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #createDraftMessage>\n <ng-container\n *ngTemplateOutlet=\"\n loadingMessage;\n context: {\n translationKey: 'caseManagement.deployment.createDraftConfirmationModal.loadingText',\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template #finalizeDraftMessage>\n <ng-container\n *ngTemplateOutlet=\"\n loadingMessage;\n context: {\n translationKey: 'caseManagement.deployment.finalizeDraftConfirmationModal.loadingText',\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template #deleteDraftMessage>\n <ng-container\n *ngTemplateOutlet=\"\n loadingMessage;\n context: {\n translationKey: 'caseManagement.deployment.finalizeDraftConfirmationModal.loadingText',\n }\n \"\n >\n </ng-container>\n</ng-template>\n", styles: [".header-buttons{display:flex;justify-content:space-between;width:100%;margin-bottom:24px}.draft-buttons{display:flex;gap:16px}.deployment-panels{display:flex;gap:16px;flex-wrap:wrap}.deployment-panels>div{flex:1 1 300px;background-color:#fff;padding:24px}.deployment-panel-title{font-weight:600;font-size:16px;line-height:24px;margin-bottom:16px}.full-width-notification{max-inline-size:100%;min-inline-size:100%}.release-version-columns{display:flex;width:100%;margin-bottom:16px;gap:16px;flex-wrap:wrap}.release-version-data{flex:1 1 300px;padding:1rem;box-sizing:border-box}.release-version-data__label{font-size:12px;margin-bottom:16px;color:var(--cds-text-secondary)}.release-version-data__value{color:var(--cds-text-primary);padding:16px;border-bottom:1px solid var(--cds-border-subtle-01);font-size:14px}::ng-deep .cds--inline-notification__title{width:100%}.deployment-warning-notification{min-width:100%;margin-bottom:16px}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: CaseManagementCreateDraftVersionComponent, selector: "valtimo-case-management-create-draft-version", inputs: ["open", "caseDefinitionPayload"], outputs: ["closeModal"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3524
3737
  }
3525
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementDeploymentComponent, decorators: [{
3738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDeploymentComponent, decorators: [{
3526
3739
  type: Component,
3527
3740
  args: [{ standalone: false, template: "<!--\n ~ Copyright 2015-2026 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<ng-container\n *ngIf=\"{\n releaseVersionEntries: releaseVersionEntries$ | async,\n releaseInformationDataEntries: releaseInformationDataEntries$ | async,\n isDraftVersion: isDraftVersion$ | async,\n hasConflictingVersions: hasConflictingVersions$ | async,\n notificationContent: notificationContent$ | async,\n canUpdateGlobalConfiguration: canUpdateGlobalConfiguration$ | async,\n isGloballyActive: isGloballyActive$ | async,\n caseDefinitionFinalizationCheckResult: caseDefinitionFinalizationCheckResult$ | async,\n deploymentNotificationObject: deploymentNotificationObject$ | async,\n importOriginEntries: importOriginEntries$ | async,\n } as obs\"\n>\n <cds-notification\n *ngIf=\"\n obs.canUpdateGlobalConfiguration && obs.isDraftVersion && obs.deploymentNotificationObject\n \"\n class=\"deployment-warning-notification\"\n [notificationObj]=\"obs.deploymentNotificationObject\"\n ></cds-notification>\n\n <div class=\"header-buttons\">\n <button cdsButton=\"secondary\" (click)=\"goBack()\">\n {{ 'caseManagement.deployment.buttons.back' | translate }}\n <svg cdsIcon=\"return\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n @if (obs.canUpdateGlobalConfiguration) {\n @if (obs.isDraftVersion) {\n <div class=\"draft-buttons\">\n <button\n *ngIf=\"caseDefinitionVersions.length === 1 || !obs.isGloballyActive\"\n cdsButton=\"danger\"\n (click)=\"openDeleteDraftModal()\"\n >\n {{ 'caseManagement.deployment.buttons.delete' | translate }}\n <svg cdsIcon=\"trash-can\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"primary\"\n (click)=\"openFinalizeDraftConfirmationModal()\"\n [disabled]=\"!obs?.caseDefinitionFinalizationCheckResult?.finalizable\"\n >\n {{ 'caseManagement.deployment.buttons.finalize' | translate }}\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n } @else {\n <button cdsButton=\"primary\" (click)=\"openCreateDraftVersionConfirmationModal()\">\n {{ 'caseManagement.deployment.buttons.createDraft' | translate }}\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n }\n }\n </div>\n\n <div class=\"deployment-panels\">\n <ng-container\n *ngTemplateOutlet=\"\n releaseVersionPanel;\n context: {\n data: obs.releaseVersionEntries,\n showNotification: obs.hasConflictingVersions,\n notificationContent: {\n basedOnVersionTag: obs.notificationContent?.basedOnVersionTag,\n conflictingVersions: obs.notificationContent?.conflictingVersions,\n },\n }\n \"\n ></ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n releaseInformationPanel;\n context: {data: obs.releaseInformationDataEntries}\n \"\n ></ng-container>\n\n <div class=\"import-origin\" *ngIf=\"obs.importOriginEntries?.length > 0\">\n <p class=\"deployment-panel-title\">\n {{ 'caseManagement.deployment.importOrigin.title' | translate }}\n </p>\n\n <div class=\"release-version-columns\">\n <div *ngFor=\"let entry of obs.importOriginEntries\" class=\"release-version-data\">\n <label class=\"release-version-data__label\">\n {{ 'caseManagement.deployment.importOrigin.fields.' + entry.key | translate }}\n </label>\n <div class=\"release-version-data__value\">\n {{ entry.value }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template\n #releaseVersionPanel\n let-data=\"data\"\n let-showNotification=\"showNotification\"\n let-notificationContent=\"notificationContent\"\n>\n <div class=\"release-version\">\n <p class=\"deployment-panel-title\">\n {{ 'caseManagement.deployment.releaseVersion.title' | translate }}\n </p>\n\n <div class=\"release-version-columns\">\n <div *ngFor=\"let entry of data\" class=\"release-version-data\">\n <label class=\"release-version-data__label\">\n {{ 'caseManagement.deployment.releaseVersion.fields.' + entry.key | translate }}\n </label>\n <div class=\"release-version-data__value\">\n {{ entry.value }}\n </div>\n </div>\n </div>\n\n <cds-notification\n *ngIf=\"showNotification\"\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.deployment.releaseVersion.warning.title' | translate),\n message:\n ('caseManagement.deployment.releaseVersion.warning.description'\n | translate: notificationContent),\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n </div>\n</ng-template>\n\n<ng-template #releaseInformationPanel let-data=\"data\">\n <div class=\"release-information\">\n <p class=\"deployment-panel-title\">\n {{ 'caseManagement.deployment.releaseInformation.title' | translate }}\n </p>\n\n <div class=\"release-version-columns\">\n <ng-container *ngFor=\"let entry of data\">\n <div class=\"release-version-data\" *ngIf=\"entry?.key && entry?.value !== undefined\">\n <label class=\"release-version-data__label\">\n {{ 'caseManagement.deployment.releaseInformation.fields.' + entry.key | translate }}\n </label>\n <div class=\"release-version-data__value\">\n {{ entry.value }}\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteDraftConfirmationModal$\"\n (confirmEvent)=\"deleteDraftCaseVersion()\"\n (cancelEvent)=\"closeDeleteDraftModal()\"\n cancelButtonType=\"ghost\"\n confirmButtonType=\"danger\"\n confirmButtonTextTranslationKey=\"caseManagement.deployment.deleteDraftConfirmationModal.confirm\"\n cancelButtonTextTranslationKey=\"interface.cancel\"\n titleTranslationKey=\"caseManagement.deployment.deleteDraftConfirmationModal.title\"\n contentTranslationKey=\"caseManagement.deployment.deleteDraftConfirmationModal.description\"\n>\n</valtimo-confirmation-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showFinalizeDraftConfirmationModal$\"\n [content]=\"finalizeDraftDescription$ | async\"\n (confirmEvent)=\"finalizeDraftCaseVersion()\"\n (cancelEvent)=\"closeFinalizeDraftModal()\"\n cancelButtonType=\"ghost\"\n confirmButtonType=\"primary\"\n confirmButtonTextTranslationKey=\"caseManagement.deployment.finalizeDraftConfirmationModal.confirm\"\n cancelButtonTextTranslationKey=\"interface.cancel\"\n titleTranslationKey=\"caseManagement.deployment.finalizeDraftConfirmationModal.title\"\n></valtimo-confirmation-modal>\n\n<valtimo-case-management-create-draft-version\n [open]=\"showCreateDraftVersionConfirmationModal$ | async\"\n [caseDefinitionPayload]=\"caseDefinitionPayload$ | async\"\n (closeModal)=\"onCloseCreateDraftVersionModal($event)\"\n></valtimo-case-management-create-draft-version>\n\n<ng-template #loadingMessage let-translationKey=\"translationKey\">\n <div>\n <span class=\"cds--inline-notification__title\">\n {{ translationKey | translate }}\n </span>\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #createDraftMessage>\n <ng-container\n *ngTemplateOutlet=\"\n loadingMessage;\n context: {\n translationKey: 'caseManagement.deployment.createDraftConfirmationModal.loadingText',\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template #finalizeDraftMessage>\n <ng-container\n *ngTemplateOutlet=\"\n loadingMessage;\n context: {\n translationKey: 'caseManagement.deployment.finalizeDraftConfirmationModal.loadingText',\n }\n \"\n >\n </ng-container>\n</ng-template>\n\n<ng-template #deleteDraftMessage>\n <ng-container\n *ngTemplateOutlet=\"\n loadingMessage;\n context: {\n translationKey: 'caseManagement.deployment.finalizeDraftConfirmationModal.loadingText',\n }\n \"\n >\n </ng-container>\n</ng-template>\n", styles: [".header-buttons{display:flex;justify-content:space-between;width:100%;margin-bottom:24px}.draft-buttons{display:flex;gap:16px}.deployment-panels{display:flex;gap:16px;flex-wrap:wrap}.deployment-panels>div{flex:1 1 300px;background-color:#fff;padding:24px}.deployment-panel-title{font-weight:600;font-size:16px;line-height:24px;margin-bottom:16px}.full-width-notification{max-inline-size:100%;min-inline-size:100%}.release-version-columns{display:flex;width:100%;margin-bottom:16px;gap:16px;flex-wrap:wrap}.release-version-data{flex:1 1 300px;padding:1rem;box-sizing:border-box}.release-version-data__label{font-size:12px;margin-bottom:16px;color:var(--cds-text-secondary)}.release-version-data__value{color:var(--cds-text-primary);padding:16px;border-bottom:1px solid var(--cds-border-subtle-01);font-size:14px}::ng-deep .cds--inline-notification__title{width:100%}.deployment-warning-notification{min-width:100%;margin-bottom:16px}\n/*!\n * Copyright 2015-2026 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"] }]
3528
3741
  }], ctorParameters: () => [{ type: i7.BreadcrumbService }, { type: CaseManagementService }, { type: i6.DatePipe }, { type: i3$1.EnvironmentService }, { type: i2.IconService }, { type: i6.Location }, { type: i3$1.GlobalNotificationService }, { type: i2$1.ActivatedRoute }, { type: i2$1.Router }, { type: i7$1.SseService }, { type: i3.TranslateService }], propDecorators: { _createDraftMessageTemplateRef: [{
@@ -3640,10 +3853,10 @@ class CaseManagementSelectVersionModalComponent {
3640
3853
  this.selectedVersion.emit(caseDefinitionVersionTag);
3641
3854
  this.closeEvent.emit();
3642
3855
  }
3643
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementSelectVersionModalComponent, deps: [{ token: i2$1.ActivatedRoute }, { token: i2$1.Router }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
3644
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementSelectVersionModalComponent, isStandalone: false, selector: "valtimo-case-management-select-version-modal", inputs: { open: "open", previousSelectedVersion: "previousSelectedVersion", caseDefinitionKey: "caseDefinitionKey", caseDefinitionTitle: "caseDefinitionTitle" }, outputs: { closeEvent: "closeEvent", selectedVersion: "selectedVersion" }, 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 valtimoCdsModal showFooter=\"true\" [open]=\"open\" (close)=\"onCloseModal()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n 'caseManagement.allVersionsModal.title'\n | translate: {value: (caseDefinitionTitle$ | async) ?? ''}\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <valtimo-carbon-list\n [hideToolbar]=\"true\"\n [items]=\"versionItems$ | async\"\n [fields]=\"FIELDS\"\n (rowClicked)=\"selectActiveVersion($event)\"\n [pagination]=\"pagination$ | async\"\n paginationIdentifier=\"caseManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n cdsLayer=\"1\"\n >\n <valtimo-no-results\n [title]=\"'caseManagement.allVersionsModal.noResults.description' | translate\"\n [description]=\"'caseManagement.allVersionsModal.noResults.title' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'caseManagement.allVersionsModal.closeButton' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .cds--modal-footer{justify-content:flex-start!important}\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: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i7.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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3856
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementSelectVersionModalComponent, deps: [{ token: i2$1.ActivatedRoute }, { token: i2$1.Router }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
3857
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementSelectVersionModalComponent, isStandalone: false, selector: "valtimo-case-management-select-version-modal", inputs: { open: "open", previousSelectedVersion: "previousSelectedVersion", caseDefinitionKey: "caseDefinitionKey", caseDefinitionTitle: "caseDefinitionTitle" }, outputs: { closeEvent: "closeEvent", selectedVersion: "selectedVersion" }, 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 valtimoCdsModal showFooter=\"true\" [open]=\"open\" (close)=\"onCloseModal()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n 'caseManagement.allVersionsModal.title'\n | translate: {value: (caseDefinitionTitle$ | async) ?? ''}\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <valtimo-carbon-list\n [hideToolbar]=\"true\"\n [items]=\"versionItems$ | async\"\n [fields]=\"FIELDS\"\n (rowClicked)=\"selectActiveVersion($event)\"\n [pagination]=\"pagination$ | async\"\n paginationIdentifier=\"caseManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n cdsLayer=\"1\"\n >\n <valtimo-no-results\n [title]=\"'caseManagement.allVersionsModal.noResults.description' | translate\"\n [description]=\"'caseManagement.allVersionsModal.noResults.title' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'caseManagement.allVersionsModal.closeButton' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .cds--modal-footer{justify-content:flex-start!important}\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: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i7.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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3645
3858
  }
3646
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementSelectVersionModalComponent, decorators: [{
3859
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementSelectVersionModalComponent, decorators: [{
3647
3860
  type: Component,
3648
3861
  args: [{ standalone: false, selector: 'valtimo-case-management-select-version-modal', 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 valtimoCdsModal showFooter=\"true\" [open]=\"open\" (close)=\"onCloseModal()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n 'caseManagement.allVersionsModal.title'\n | translate: {value: (caseDefinitionTitle$ | async) ?? ''}\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <valtimo-carbon-list\n [hideToolbar]=\"true\"\n [items]=\"versionItems$ | async\"\n [fields]=\"FIELDS\"\n (rowClicked)=\"selectActiveVersion($event)\"\n [pagination]=\"pagination$ | async\"\n paginationIdentifier=\"caseManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n cdsLayer=\"1\"\n >\n <valtimo-no-results\n [title]=\"'caseManagement.allVersionsModal.noResults.description' | translate\"\n [description]=\"'caseManagement.allVersionsModal.noResults.title' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'caseManagement.allVersionsModal.closeButton' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .cds--modal-footer{justify-content:flex-start!important}\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"] }]
3649
3862
  }], ctorParameters: () => [{ type: i2$1.ActivatedRoute }, { type: i2$1.Router }, { type: CaseManagementService }], propDecorators: { open: [{
@@ -3913,10 +4126,10 @@ class CaseManagementDetailActionsComponent {
3913
4126
  relativeTo: this.route,
3914
4127
  });
3915
4128
  }
3916
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementDetailActionsComponent, deps: [{ token: DOCUMENT }, { token: CaseManagementService }, { token: CaseDetailService }, { token: i3$1.GlobalNotificationService }, { token: i2.IconService }, { token: i7.PageHeaderService }, { token: i2$1.ActivatedRoute }, { token: i2$1.Router }, { token: i3.TranslateService }, { token: i3$1.ConfigurationIssueService }], target: i0.ɵɵFactoryTarget.Component }); }
3917
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementDetailActionsComponent, isStandalone: false, selector: "valtimo-case-management-detail-actions", inputs: { documentDefinitionTitle: "documentDefinitionTitle", caseDefinitionKey: "caseDefinitionKey" }, outputs: { versionSet: "versionSet" }, viewQueries: [{ propertyName: "_exportMessageTemplateRef", first: true, predicate: ["exportingMessage"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"case-actions\"\n *ngIf=\"{\n exporting: exporting$ | async,\n loadingVersion: loadingVersion$ | async,\n versionItems: versionSelectorItems$ | async,\n selectedDocumentDefinition: selectedDocumentDefinition$ | async,\n selectedDocumentDefinitionIsReadOnly: selectedDocumentDefinitionIsReadOnly$ | async,\n selectedVersionIsGloballyActive: selectedVersionIsGloballyActive$ | async,\n setActiveDisabled: setActiveDisabled$ | async,\n hasUnresolvedConfigurationIssues: hasUnresolvedConfigurationIssues$ | async,\n compactMode: compactMode$ | async,\n } as obs\"\n [ngClass]=\"{'--compact': obs.compactMode}\"\n>\n <div class=\"case-metadata\">\n <ng-container *ngTemplateOutlet=\"versionSelection; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"readOnly; context: {obs: obs}\"></ng-container>\n </div>\n\n <div class=\"case-buttons\">\n <ng-container *ngTemplateOutlet=\"deploymentButton; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"exportMenu; context: {obs: obs}\"></ng-container>\n </div>\n</div>\n\n<ng-template #versionSelection let-obs=\"obs\">\n <cds-dropdown\n class=\"version-selector\"\n [attr.data-test-id]=\"testIds.versionSelectDropdown\"\n selectionFeedback=\"fixed\"\n [displayValue]=\"versionItemTemplate\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n [appendInline]=\"false\"\n [disabled]=\"!obs?.versionItems?.length || obs?.versionItems?.length === 1\"\n [skeleton]=\"obs.loadingVersion\"\n (selected)=\"selectVersion($event)\"\n >\n <cds-dropdown-list\n [items]=\"obs?.versionItems || []\"\n [listTpl]=\"versionItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n</ng-template>\n\n<ng-template #versionItemTemplate let-item=\"item\">\n <div\n [attr.data-test-id]=\"item?.['data-test-id']\"\n *ngIf=\"item?.isAllVersionsOption; else regularVersionTemplate\"\n >\n <span>{{ item?.content }}</span>\n <svg cdsIcon=\"version\" size=\"16\"></svg>\n </div>\n\n <ng-template #regularVersionTemplate>\n <div [attr.data-test-id]=\"item?.['data-test-id']\" class=\"version-selector-dropdown-template\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"item?.tagType\" [title]=\"item?.content\">\n {{ item?.draft ? 'DRAFT: ' + item?.content : item?.content }}\n </cds-tag>\n\n <cds-tag\n *ngIf=\"item?.active\"\n [attr.data-test-id]=\"testIds.globallyActiveCaseVersion\"\n class=\"cds-tag--no-margin\"\n type=\"high-contrast\"\n >\n {{ 'caseManagement.globallyActive' | translate }}\n </cds-tag>\n </div>\n </ng-template>\n</ng-template>\n\n<ng-template #deploymentButton let-obs=\"obs\">\n <button\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.versionManagementButton\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"redirectToDeployment()\"\n >\n {{ 'caseManagement.deployment.title' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"deploy\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #exportMenu let-obs=\"obs\">\n <v-overflow-menu [menuWidth]=\"250\" placement=\"bottom-end\" class=\"overflow-button\">\n <button\n overflowTrigger\n cdsButton=\"tertiary\"\n [attr.data-test-id]=\"testIds.moreButton\"\n [size]=\"(compactMode$ | async) ? 'sm' : 'md'\"\n >\n {{ 'caseManagement.more' | translate }}\n\n <svg\n class=\"cds--btn__icon case-management-overflow-icon\"\n cdsIcon=\"overflow-menu--vertical\"\n size=\"16\"\n ></svg>\n </button>\n\n <v-overflow-menu-option\n [attr.data-test-id]=\"testIds.exportButton\"\n optionId=\"exportDocumentDefinition\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"export()\"\n >{{ 'caseManagement.export' | translate: {value: documentDefinitionTitle} }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [attr.data-test-id]=\"testIds.setActiveVersionButton\"\n optionId=\"setGlobalActiveVersion\"\n [disabled]=\"obs.setActiveDisabled\"\n (selected)=\"openGlobalActiveVersionModal()\"\n >{{ 'caseManagement.setGlobalActiveVersion' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n</ng-template>\n\n<ng-template #exportingMessage>\n <div class=\"exporting-message\">\n <span class=\"cds--inline-notification__title\">{{\n 'caseManagement.preparingDownload' | translate\n }}</span>\n\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #readOnly let-obs=\"obs\">\n <cds-tag *ngIf=\"obs.selectedDocumentDefinitionIsReadOnly\" type=\"blue\">{{\n 'caseManagement.readonly' | translate\n }}</cds-tag>\n</ng-template>\n\n<valtimo-case-management-select-version-modal\n [open]=\"showAllVersionsModal$ | async\"\n [caseDefinitionTitle]=\"_caseDefinitionTitle$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [previousSelectedVersion]=\"selectedVersion$ | async\"\n (closeEvent)=\"closeAllVersionsModal()\"\n (selectedVersion)=\"selectVersionFromModal($event)\"\n></valtimo-case-management-select-version-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showGlobalVersionModal$\"\n cancelButtonType=\"ghost\"\n cancelButtonTextTranslationKey=\"caseManagement.globalActiveVersionModal.cancel\"\n confirmButtonTextTranslationKey=\"caseManagement.globalActiveVersionModal.continue\"\n titleTranslationKey=\"caseManagement.globalActiveVersionModal.title\"\n contentTranslationKey=\"caseManagement.globalActiveVersionModal.description\"\n (cancelEvent)=\"closeGlobalVersionCaseModal()\"\n (confirmEvent)=\"openGlobalCaseVersionConfirmationModal()\"\n>\n <cds-notification\n *ngIf=\"isOlderVersionSelected$ | async\"\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseManagement.globalActiveVersionModal.warningTitle' | translate,\n message: 'caseManagement.globalActiveVersionModal.warningMessage' | translate,\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n</valtimo-confirmation-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showGlobalVersionConfirmationModal$\"\n cancelButtonType=\"ghost\"\n cancelButtonTextTranslationKey=\"caseManagement.confirmationGlobalVersionModal.cancel\"\n confirmButtonType=\"danger\"\n confirmButtonTextTranslationKey=\"caseManagement.confirmationGlobalVersionModal.confirm\"\n contentTranslationKey=\"caseManagement.confirmationGlobalVersionModal.description\"\n titleTranslationKey=\"caseManagement.confirmationGlobalVersionModal.title\"\n (cancelEvent)=\"closeGlobalCaseConfirmationModal()\"\n (confirmEvent)=\"setGlobalActiveCaseVersion()\"\n></valtimo-confirmation-modal>\n", styles: [".case-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end}.case-actions.--compact{align-items:center}.case-actions ::ng-deep .version-selection{width:160px}.case-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.exporting-message{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.case-metadata{display:flex;gap:24px;align-items:flex-end}.case-buttons{display:flex;align-items:center;gap:16px}::ng-deep .version-selector{margin-bottom:0;width:300px}::ng-deep .version-selector-dropdown-template{display:flex}::ng-deep .version-selector-dropdown-template .cds--tag{margin:0 8px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:24px;max-width:100%}::ng-deep .cds--list-box__field{display:flex;justify-content:space-between}::ng-deep .cds--list-box__menu-item__option{display:flex;justify-content:space-between;padding-inline-end:0}::ng-deep .cds--list-box__menu-item__option>div{margin-top:-4px}.full-width-notification{max-inline-size:100%;min-inline-size:100%}.case-management-overflow-icon{fill:var(--vcds-color-60)!important}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.OverflowMenuComponent, selector: "v-overflow-menu", inputs: ["open", "placement", "menuWidth", "offsetX", "offsetY", "closeOnSelect", "useHostAsReference", "portalToBody"], outputs: ["openChange"] }, { kind: "component", type: i7.OverflowMenuOptionComponent, selector: "v-overflow-menu-option", inputs: ["disabled", "type", "testId", "optionId"], outputs: ["selected"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: CaseManagementSelectVersionModalComponent, selector: "valtimo-case-management-select-version-modal", inputs: ["open", "previousSelectedVersion", "caseDefinitionKey", "caseDefinitionTitle"], outputs: ["closeEvent", "selectedVersion"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDetailActionsComponent, deps: [{ token: DOCUMENT }, { token: CaseManagementService }, { token: CaseDetailService }, { token: i3$1.GlobalNotificationService }, { token: i2.IconService }, { token: i7.PageHeaderService }, { token: i2$1.ActivatedRoute }, { token: i2$1.Router }, { token: i3.TranslateService }, { token: i3$1.ConfigurationIssueService }], target: i0.ɵɵFactoryTarget.Component }); }
4130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementDetailActionsComponent, isStandalone: false, selector: "valtimo-case-management-detail-actions", inputs: { documentDefinitionTitle: "documentDefinitionTitle", caseDefinitionKey: "caseDefinitionKey" }, outputs: { versionSet: "versionSet" }, viewQueries: [{ propertyName: "_exportMessageTemplateRef", first: true, predicate: ["exportingMessage"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"case-actions\"\n *ngIf=\"{\n exporting: exporting$ | async,\n loadingVersion: loadingVersion$ | async,\n versionItems: versionSelectorItems$ | async,\n selectedDocumentDefinition: selectedDocumentDefinition$ | async,\n selectedDocumentDefinitionIsReadOnly: selectedDocumentDefinitionIsReadOnly$ | async,\n selectedVersionIsGloballyActive: selectedVersionIsGloballyActive$ | async,\n setActiveDisabled: setActiveDisabled$ | async,\n hasUnresolvedConfigurationIssues: hasUnresolvedConfigurationIssues$ | async,\n compactMode: compactMode$ | async,\n } as obs\"\n [ngClass]=\"{'--compact': obs.compactMode}\"\n>\n <div class=\"case-metadata\">\n <ng-container *ngTemplateOutlet=\"versionSelection; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"readOnly; context: {obs: obs}\"></ng-container>\n </div>\n\n <div class=\"case-buttons\">\n <ng-container *ngTemplateOutlet=\"deploymentButton; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"exportMenu; context: {obs: obs}\"></ng-container>\n </div>\n</div>\n\n<ng-template #versionSelection let-obs=\"obs\">\n <cds-dropdown\n class=\"version-selector\"\n [attr.data-test-id]=\"testIds.versionSelectDropdown\"\n selectionFeedback=\"fixed\"\n [displayValue]=\"versionItemTemplate\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n [appendInline]=\"false\"\n [disabled]=\"!obs?.versionItems?.length || obs?.versionItems?.length === 1\"\n [skeleton]=\"obs.loadingVersion\"\n (selected)=\"selectVersion($event)\"\n >\n <cds-dropdown-list\n [items]=\"obs?.versionItems || []\"\n [listTpl]=\"versionItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n</ng-template>\n\n<ng-template #versionItemTemplate let-item=\"item\">\n <div\n [attr.data-test-id]=\"item?.['data-test-id']\"\n *ngIf=\"item?.isAllVersionsOption; else regularVersionTemplate\"\n >\n <span>{{ item?.content }}</span>\n <svg cdsIcon=\"version\" size=\"16\"></svg>\n </div>\n\n <ng-template #regularVersionTemplate>\n <div [attr.data-test-id]=\"item?.['data-test-id']\" class=\"version-selector-dropdown-template\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"item?.tagType\" [title]=\"item?.content\">\n {{ item?.draft ? 'DRAFT: ' + item?.content : item?.content }}\n </cds-tag>\n\n <cds-tag\n *ngIf=\"item?.active\"\n [attr.data-test-id]=\"testIds.globallyActiveCaseVersion\"\n class=\"cds-tag--no-margin\"\n type=\"high-contrast\"\n >\n {{ 'caseManagement.globallyActive' | translate }}\n </cds-tag>\n </div>\n </ng-template>\n</ng-template>\n\n<ng-template #deploymentButton let-obs=\"obs\">\n <button\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.versionManagementButton\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"redirectToDeployment()\"\n >\n {{ 'caseManagement.deployment.title' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"deploy\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #exportMenu let-obs=\"obs\">\n <v-overflow-menu [menuWidth]=\"250\" placement=\"bottom-end\" class=\"overflow-button\">\n <button\n overflowTrigger\n cdsButton=\"tertiary\"\n [attr.data-test-id]=\"testIds.moreButton\"\n [size]=\"(compactMode$ | async) ? 'sm' : 'md'\"\n >\n {{ 'caseManagement.more' | translate }}\n\n <svg\n class=\"cds--btn__icon case-management-overflow-icon\"\n cdsIcon=\"overflow-menu--vertical\"\n size=\"16\"\n ></svg>\n </button>\n\n <v-overflow-menu-option\n [attr.data-test-id]=\"testIds.exportButton\"\n optionId=\"exportDocumentDefinition\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"export()\"\n >{{ 'caseManagement.export' | translate: {value: documentDefinitionTitle} }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [attr.data-test-id]=\"testIds.setActiveVersionButton\"\n optionId=\"setGlobalActiveVersion\"\n [disabled]=\"obs.setActiveDisabled\"\n (selected)=\"openGlobalActiveVersionModal()\"\n >{{ 'caseManagement.setGlobalActiveVersion' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n</ng-template>\n\n<ng-template #exportingMessage>\n <div class=\"exporting-message\">\n <span class=\"cds--inline-notification__title\">{{\n 'caseManagement.preparingDownload' | translate\n }}</span>\n\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #readOnly let-obs=\"obs\">\n <cds-tag *ngIf=\"obs.selectedDocumentDefinitionIsReadOnly\" type=\"blue\">{{\n 'caseManagement.readonly' | translate\n }}</cds-tag>\n</ng-template>\n\n<valtimo-case-management-select-version-modal\n [open]=\"showAllVersionsModal$ | async\"\n [caseDefinitionTitle]=\"_caseDefinitionTitle$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [previousSelectedVersion]=\"selectedVersion$ | async\"\n (closeEvent)=\"closeAllVersionsModal()\"\n (selectedVersion)=\"selectVersionFromModal($event)\"\n></valtimo-case-management-select-version-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showGlobalVersionModal$\"\n cancelButtonType=\"ghost\"\n cancelButtonTextTranslationKey=\"caseManagement.globalActiveVersionModal.cancel\"\n confirmButtonTextTranslationKey=\"caseManagement.globalActiveVersionModal.continue\"\n titleTranslationKey=\"caseManagement.globalActiveVersionModal.title\"\n contentTranslationKey=\"caseManagement.globalActiveVersionModal.description\"\n (cancelEvent)=\"closeGlobalVersionCaseModal()\"\n (confirmEvent)=\"openGlobalCaseVersionConfirmationModal()\"\n>\n <cds-notification\n *ngIf=\"isOlderVersionSelected$ | async\"\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseManagement.globalActiveVersionModal.warningTitle' | translate,\n message: 'caseManagement.globalActiveVersionModal.warningMessage' | translate,\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n</valtimo-confirmation-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showGlobalVersionConfirmationModal$\"\n cancelButtonType=\"ghost\"\n cancelButtonTextTranslationKey=\"caseManagement.confirmationGlobalVersionModal.cancel\"\n confirmButtonType=\"danger\"\n confirmButtonTextTranslationKey=\"caseManagement.confirmationGlobalVersionModal.confirm\"\n contentTranslationKey=\"caseManagement.confirmationGlobalVersionModal.description\"\n titleTranslationKey=\"caseManagement.confirmationGlobalVersionModal.title\"\n (cancelEvent)=\"closeGlobalCaseConfirmationModal()\"\n (confirmEvent)=\"setGlobalActiveCaseVersion()\"\n></valtimo-confirmation-modal>\n", styles: [".case-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end}.case-actions.--compact{align-items:center}.case-actions ::ng-deep .version-selection{width:160px}.case-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.exporting-message{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.case-metadata{display:flex;gap:24px;align-items:flex-end}.case-buttons{display:flex;align-items:center;gap:16px}::ng-deep .version-selector{margin-bottom:0;width:300px}::ng-deep .version-selector-dropdown-template{display:flex}::ng-deep .version-selector-dropdown-template .cds--tag{margin:0 8px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:24px;max-width:100%}::ng-deep .cds--list-box__field{display:flex;justify-content:space-between}::ng-deep .cds--list-box__menu-item__option{display:flex;justify-content:space-between;padding-inline-end:0}::ng-deep .cds--list-box__menu-item__option>div{margin-top:-4px}.full-width-notification{max-inline-size:100%;min-inline-size:100%}.case-management-overflow-icon{fill:var(--vcds-color-60)!important}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i7.OverflowMenuComponent, selector: "v-overflow-menu", inputs: ["open", "placement", "menuWidth", "offsetX", "offsetY", "closeOnSelect", "useHostAsReference", "portalToBody"], outputs: ["openChange"] }, { kind: "component", type: i7.OverflowMenuOptionComponent, selector: "v-overflow-menu-option", inputs: ["disabled", "type", "testId", "optionId"], outputs: ["selected"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: CaseManagementSelectVersionModalComponent, selector: "valtimo-case-management-select-version-modal", inputs: ["open", "previousSelectedVersion", "caseDefinitionKey", "caseDefinitionTitle"], outputs: ["closeEvent", "selectedVersion"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3918
4131
  }
3919
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementDetailActionsComponent, decorators: [{
4132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDetailActionsComponent, decorators: [{
3920
4133
  type: Component,
3921
4134
  args: [{ standalone: false, selector: 'valtimo-case-management-detail-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"case-actions\"\n *ngIf=\"{\n exporting: exporting$ | async,\n loadingVersion: loadingVersion$ | async,\n versionItems: versionSelectorItems$ | async,\n selectedDocumentDefinition: selectedDocumentDefinition$ | async,\n selectedDocumentDefinitionIsReadOnly: selectedDocumentDefinitionIsReadOnly$ | async,\n selectedVersionIsGloballyActive: selectedVersionIsGloballyActive$ | async,\n setActiveDisabled: setActiveDisabled$ | async,\n hasUnresolvedConfigurationIssues: hasUnresolvedConfigurationIssues$ | async,\n compactMode: compactMode$ | async,\n } as obs\"\n [ngClass]=\"{'--compact': obs.compactMode}\"\n>\n <div class=\"case-metadata\">\n <ng-container *ngTemplateOutlet=\"versionSelection; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"readOnly; context: {obs: obs}\"></ng-container>\n </div>\n\n <div class=\"case-buttons\">\n <ng-container *ngTemplateOutlet=\"deploymentButton; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"exportMenu; context: {obs: obs}\"></ng-container>\n </div>\n</div>\n\n<ng-template #versionSelection let-obs=\"obs\">\n <cds-dropdown\n class=\"version-selector\"\n [attr.data-test-id]=\"testIds.versionSelectDropdown\"\n selectionFeedback=\"fixed\"\n [displayValue]=\"versionItemTemplate\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n [appendInline]=\"false\"\n [disabled]=\"!obs?.versionItems?.length || obs?.versionItems?.length === 1\"\n [skeleton]=\"obs.loadingVersion\"\n (selected)=\"selectVersion($event)\"\n >\n <cds-dropdown-list\n [items]=\"obs?.versionItems || []\"\n [listTpl]=\"versionItemTemplate\"\n ></cds-dropdown-list>\n </cds-dropdown>\n</ng-template>\n\n<ng-template #versionItemTemplate let-item=\"item\">\n <div\n [attr.data-test-id]=\"item?.['data-test-id']\"\n *ngIf=\"item?.isAllVersionsOption; else regularVersionTemplate\"\n >\n <span>{{ item?.content }}</span>\n <svg cdsIcon=\"version\" size=\"16\"></svg>\n </div>\n\n <ng-template #regularVersionTemplate>\n <div [attr.data-test-id]=\"item?.['data-test-id']\" class=\"version-selector-dropdown-template\">\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"item?.tagType\" [title]=\"item?.content\">\n {{ item?.draft ? 'DRAFT: ' + item?.content : item?.content }}\n </cds-tag>\n\n <cds-tag\n *ngIf=\"item?.active\"\n [attr.data-test-id]=\"testIds.globallyActiveCaseVersion\"\n class=\"cds-tag--no-margin\"\n type=\"high-contrast\"\n >\n {{ 'caseManagement.globallyActive' | translate }}\n </cds-tag>\n </div>\n </ng-template>\n</ng-template>\n\n<ng-template #deploymentButton let-obs=\"obs\">\n <button\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.versionManagementButton\"\n [size]=\"obs.compactMode ? 'sm' : 'md'\"\n (click)=\"redirectToDeployment()\"\n >\n {{ 'caseManagement.deployment.title' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"deploy\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #exportMenu let-obs=\"obs\">\n <v-overflow-menu [menuWidth]=\"250\" placement=\"bottom-end\" class=\"overflow-button\">\n <button\n overflowTrigger\n cdsButton=\"tertiary\"\n [attr.data-test-id]=\"testIds.moreButton\"\n [size]=\"(compactMode$ | async) ? 'sm' : 'md'\"\n >\n {{ 'caseManagement.more' | translate }}\n\n <svg\n class=\"cds--btn__icon case-management-overflow-icon\"\n cdsIcon=\"overflow-menu--vertical\"\n size=\"16\"\n ></svg>\n </button>\n\n <v-overflow-menu-option\n [attr.data-test-id]=\"testIds.exportButton\"\n optionId=\"exportDocumentDefinition\"\n [disabled]=\"obs.exporting || obs.loadingVersion\"\n (selected)=\"export()\"\n >{{ 'caseManagement.export' | translate: {value: documentDefinitionTitle} }}\n </v-overflow-menu-option>\n\n <v-overflow-menu-option\n [attr.data-test-id]=\"testIds.setActiveVersionButton\"\n optionId=\"setGlobalActiveVersion\"\n [disabled]=\"obs.setActiveDisabled\"\n (selected)=\"openGlobalActiveVersionModal()\"\n >{{ 'caseManagement.setGlobalActiveVersion' | translate }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n</ng-template>\n\n<ng-template #exportingMessage>\n <div class=\"exporting-message\">\n <span class=\"cds--inline-notification__title\">{{\n 'caseManagement.preparingDownload' | translate\n }}</span>\n\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #readOnly let-obs=\"obs\">\n <cds-tag *ngIf=\"obs.selectedDocumentDefinitionIsReadOnly\" type=\"blue\">{{\n 'caseManagement.readonly' | translate\n }}</cds-tag>\n</ng-template>\n\n<valtimo-case-management-select-version-modal\n [open]=\"showAllVersionsModal$ | async\"\n [caseDefinitionTitle]=\"_caseDefinitionTitle$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [previousSelectedVersion]=\"selectedVersion$ | async\"\n (closeEvent)=\"closeAllVersionsModal()\"\n (selectedVersion)=\"selectVersionFromModal($event)\"\n></valtimo-case-management-select-version-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showGlobalVersionModal$\"\n cancelButtonType=\"ghost\"\n cancelButtonTextTranslationKey=\"caseManagement.globalActiveVersionModal.cancel\"\n confirmButtonTextTranslationKey=\"caseManagement.globalActiveVersionModal.continue\"\n titleTranslationKey=\"caseManagement.globalActiveVersionModal.title\"\n contentTranslationKey=\"caseManagement.globalActiveVersionModal.description\"\n (cancelEvent)=\"closeGlobalVersionCaseModal()\"\n (confirmEvent)=\"openGlobalCaseVersionConfirmationModal()\"\n>\n <cds-notification\n *ngIf=\"isOlderVersionSelected$ | async\"\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'caseManagement.globalActiveVersionModal.warningTitle' | translate,\n message: 'caseManagement.globalActiveVersionModal.warningMessage' | translate,\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n</valtimo-confirmation-modal>\n\n<valtimo-confirmation-modal\n [showModalSubject$]=\"showGlobalVersionConfirmationModal$\"\n cancelButtonType=\"ghost\"\n cancelButtonTextTranslationKey=\"caseManagement.confirmationGlobalVersionModal.cancel\"\n confirmButtonType=\"danger\"\n confirmButtonTextTranslationKey=\"caseManagement.confirmationGlobalVersionModal.confirm\"\n contentTranslationKey=\"caseManagement.confirmationGlobalVersionModal.description\"\n titleTranslationKey=\"caseManagement.confirmationGlobalVersionModal.title\"\n (cancelEvent)=\"closeGlobalCaseConfirmationModal()\"\n (confirmEvent)=\"setGlobalActiveCaseVersion()\"\n></valtimo-confirmation-modal>\n", styles: [".case-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end}.case-actions.--compact{align-items:center}.case-actions ::ng-deep .version-selection{width:160px}.case-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.exporting-message{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.case-metadata{display:flex;gap:24px;align-items:flex-end}.case-buttons{display:flex;align-items:center;gap:16px}::ng-deep .version-selector{margin-bottom:0;width:300px}::ng-deep .version-selector-dropdown-template{display:flex}::ng-deep .version-selector-dropdown-template .cds--tag{margin:0 8px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:24px;max-width:100%}::ng-deep .cds--list-box__field{display:flex;justify-content:space-between}::ng-deep .cds--list-box__menu-item__option{display:flex;justify-content:space-between;padding-inline-end:0}::ng-deep .cds--list-box__menu-item__option>div{margin-top:-4px}.full-width-notification{max-inline-size:100%;min-inline-size:100%}.case-management-overflow-icon{fill:var(--vcds-color-60)!important}\n/*!\n * Copyright 2015-2026 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"] }]
3922
4135
  }], ctorParameters: () => [{ type: Document, decorators: [{
@@ -4052,12 +4265,12 @@ class CaseManagementDetailComponent {
4052
4265
  //TODO: Fix pending changes with new routing
4053
4266
  // this._documentDefinitionTab?.onCanDeactivate();
4054
4267
  }
4055
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementDetailComponent, deps: [{ token: i2$1.ActivatedRoute }, { token: CaseDetailService }, { token: CaseManagementService }, { token: i3$1.ConfigService }, { token: i3$1.ConfigurationIssueService }, { token: i7.PageTitleService }, { token: i2$1.Router }, { token: i7$1.SseService }, { token: TabService }], target: i0.ɵɵFactoryTarget.Component }); }
4056
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseManagementDetailComponent, isStandalone: false, selector: "ng-component", providers: [CaseDetailService], viewQueries: [{ propertyName: "_tabs", predicate: Tab, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentTab: currentTab$ | async,\n injectedTabs: injectedCaseManagementTabs$ | async,\n } as obs\"\n class=\"case-management-detail-container\"\n>\n @if (configurationIssues$ | async; as issues) {\n @if (issues.length > 0) {\n <cds-notification\n class=\"environment-config-warning\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.environmentConfig.bannerTitle' | translate),\n message: ('caseManagement.environmentConfig.bannerMessage' | translate),\n showClose: false,\n lowContrast: true\n }\"\n (click)=\"navigateToTab('zgw')\"\n ></cds-notification>\n }\n }\n\n <cds-tabs class=\"case-management-tabs\" type=\"inline\" [attr.data-test-id]=\"testIds.tabs\">\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.GENERAL\"\n [active]=\"obs.currentTab === TabEnum.GENERAL\"\n [heading]=\"'caseManagement.tabs.general' | translate\"\n (selected)=\"navigateToTab(TabEnum.GENERAL)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.PROCESSES\"\n [active]=\"obs.currentTab === TabEnum.PROCESSES\"\n [heading]=\"'caseManagement.tabs.processes' | translate\"\n (selected)=\"navigateToTab(TabEnum.PROCESSES)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.DECISIONS\"\n [active]=\"obs.currentTab === TabEnum.DECISIONS\"\n [heading]=\"'caseManagement.tabs.decision' | translate\"\n (selected)=\"navigateToTab(TabEnum.DECISIONS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.DOCUMENT\"\n [active]=\"obs.currentTab === TabEnum.DOCUMENT\"\n [heading]=\"'caseManagement.tabs.document' | translate\"\n (selected)=\"navigateToTab(TabEnum.DOCUMENT)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORMS\"\n [active]=\"obs.currentTab === TabEnum.FORMS\"\n [heading]=\"'caseManagement.tabs.forms' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORMS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORM_FLOWS\"\n [active]=\"obs.currentTab === TabEnum.FORM_FLOWS\"\n [heading]=\"'caseManagement.tabs.formFlows' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORM_FLOWS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.TASKS\"\n [active]=\"obs.currentTab === TabEnum.TASKS\"\n [heading]=\"'caseManagement.tabs.tasks' | translate\"\n (selected)=\"navigateToTab(TabEnum.TASKS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_LIST\"\n [active]=\"obs.currentTab === TabEnum.CASE_LIST\"\n [heading]=\"'caseManagement.tabs.caseListTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_LIST)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_DETAILS\"\n [active]=\"obs.currentTab === TabEnum.CASE_DETAILS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_DETAILS)\"\n >\n </cds-tab>\n\n @for (injectedTab of obs.injectedTabs; track injectedTab.translationKey) {\n @if (injectedTab.enabled$ | async) {\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === (injectedTab.tabRoute ?? injectedTab.translationKey)\"\n [heading]=\"injectedTab.translationKey | translate\"\n (selected)=\"navigateToTab(injectedTab.tabRoute ?? injectedTab.translationKey)\"\n >\n </cds-tab>\n }\n }\n </cds-tabs>\n\n <div class=\"case-management-detail-container__content\">\n <router-outlet></router-outlet>\n </div>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <valtimo-case-management-detail-actions\n [documentDefinitionTitle]=\"documentDefinitionTitle$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n (versionSet)=\"onVersionSet($event)\"\n ></valtimo-case-management-detail-actions>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .case-management-tabs .cds--tab-content{background-color:var(--cds-layer);padding:0!important;margin-top:24px}::ng-deep .case-management-tabs .cds--tab-content:focus{outline:none}::ng-deep .case-management-tabs .no-padding-left-right .cds--tab-content{padding-left:0;padding-right:0}::ng-deep .case-management-tabs .no-padding-top-bottom .cds--tab-content{padding-top:0;padding-bottom:0}::ng-deep .case-management-tabs .no-padding-bottom .cds--tab-content{padding-bottom:0}.tab-container{min-height:300px}.case-management-detail-container{display:flex;flex-direction:column;width:100%}.environment-config-warning{max-width:100%;margin-bottom:16px;cursor:pointer}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i7.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: CaseManagementDetailActionsComponent, selector: "valtimo-case-management-detail-actions", inputs: ["documentDefinitionTitle", "caseDefinitionKey"], outputs: ["versionSet"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4268
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDetailComponent, deps: [{ token: i2$1.ActivatedRoute }, { token: CaseDetailService }, { token: CaseManagementService }, { token: i3$1.ConfigService }, { token: i3$1.ConfigurationIssueService }, { token: i7.PageTitleService }, { token: i2$1.Router }, { token: i7$1.SseService }, { token: TabService }], target: i0.ɵɵFactoryTarget.Component }); }
4269
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementDetailComponent, isStandalone: false, selector: "ng-component", providers: [CaseDetailService], viewQueries: [{ propertyName: "_tabs", predicate: Tab, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentTab: currentTab$ | async,\n injectedTabs: injectedCaseManagementTabs$ | async,\n } as obs\"\n class=\"case-management-detail-container\"\n>\n @if (configurationIssues$ | async; as issues) {\n @if (issues.length > 0) {\n <cds-notification\n class=\"environment-config-warning\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.environmentConfig.bannerTitle' | translate),\n message: ('caseManagement.environmentConfig.bannerMessage' | translate),\n showClose: false,\n lowContrast: true\n }\"\n (click)=\"navigateToTab('zgw')\"\n ></cds-notification>\n }\n }\n\n <cds-tabs class=\"case-management-tabs\" type=\"inline\" [attr.data-test-id]=\"testIds.tabs\">\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.GENERAL\"\n [active]=\"obs.currentTab === TabEnum.GENERAL\"\n [heading]=\"'caseManagement.tabs.general' | translate\"\n (selected)=\"navigateToTab(TabEnum.GENERAL)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.PROCESSES\"\n [active]=\"obs.currentTab === TabEnum.PROCESSES\"\n [heading]=\"'caseManagement.tabs.processes' | translate\"\n (selected)=\"navigateToTab(TabEnum.PROCESSES)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.ACTIONS\"\n [active]=\"obs.currentTab === TabEnum.ACTIONS\"\n [heading]=\"'caseManagement.tabs.actions' | translate\"\n (selected)=\"navigateToTab(TabEnum.ACTIONS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.DECISIONS\"\n [active]=\"obs.currentTab === TabEnum.DECISIONS\"\n [heading]=\"'caseManagement.tabs.decision' | translate\"\n (selected)=\"navigateToTab(TabEnum.DECISIONS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.DOCUMENT\"\n [active]=\"obs.currentTab === TabEnum.DOCUMENT\"\n [heading]=\"'caseManagement.tabs.document' | translate\"\n (selected)=\"navigateToTab(TabEnum.DOCUMENT)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORMS\"\n [active]=\"obs.currentTab === TabEnum.FORMS\"\n [heading]=\"'caseManagement.tabs.forms' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORMS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORM_FLOWS\"\n [active]=\"obs.currentTab === TabEnum.FORM_FLOWS\"\n [heading]=\"'caseManagement.tabs.formFlows' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORM_FLOWS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.TASKS\"\n [active]=\"obs.currentTab === TabEnum.TASKS\"\n [heading]=\"'caseManagement.tabs.tasks' | translate\"\n (selected)=\"navigateToTab(TabEnum.TASKS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_LIST\"\n [active]=\"obs.currentTab === TabEnum.CASE_LIST\"\n [heading]=\"'caseManagement.tabs.caseListTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_LIST)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_DETAILS\"\n [active]=\"obs.currentTab === TabEnum.CASE_DETAILS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_DETAILS)\"\n >\n </cds-tab>\n\n @for (injectedTab of obs.injectedTabs; track injectedTab.translationKey) {\n @if (injectedTab.enabled$ | async) {\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === (injectedTab.tabRoute ?? injectedTab.translationKey)\"\n [heading]=\"injectedTab.translationKey | translate\"\n (selected)=\"navigateToTab(injectedTab.tabRoute ?? injectedTab.translationKey)\"\n >\n </cds-tab>\n }\n }\n </cds-tabs>\n\n <div class=\"case-management-detail-container__content\">\n <router-outlet></router-outlet>\n </div>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <valtimo-case-management-detail-actions\n [documentDefinitionTitle]=\"documentDefinitionTitle$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n (versionSet)=\"onVersionSet($event)\"\n ></valtimo-case-management-detail-actions>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .case-management-tabs .cds--tab-content{background-color:var(--cds-layer);padding:0!important;margin-top:24px}::ng-deep .case-management-tabs .cds--tab-content:focus{outline:none}::ng-deep .case-management-tabs .no-padding-left-right .cds--tab-content{padding-left:0;padding-right:0}::ng-deep .case-management-tabs .no-padding-top-bottom .cds--tab-content{padding-top:0;padding-bottom:0}::ng-deep .case-management-tabs .no-padding-bottom .cds--tab-content{padding-bottom:0}.tab-container{min-height:300px}.case-management-detail-container{display:flex;flex-direction:column;width:100%}.environment-config-warning{max-width:100%;margin-bottom:16px;cursor:pointer}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i7.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: CaseManagementDetailActionsComponent, selector: "valtimo-case-management-detail-actions", inputs: ["documentDefinitionTitle", "caseDefinitionKey"], outputs: ["versionSet"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4057
4270
  }
4058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementDetailComponent, decorators: [{
4271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDetailComponent, decorators: [{
4059
4272
  type: Component,
4060
- args: [{ standalone: false, providers: [CaseDetailService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentTab: currentTab$ | async,\n injectedTabs: injectedCaseManagementTabs$ | async,\n } as obs\"\n class=\"case-management-detail-container\"\n>\n @if (configurationIssues$ | async; as issues) {\n @if (issues.length > 0) {\n <cds-notification\n class=\"environment-config-warning\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.environmentConfig.bannerTitle' | translate),\n message: ('caseManagement.environmentConfig.bannerMessage' | translate),\n showClose: false,\n lowContrast: true\n }\"\n (click)=\"navigateToTab('zgw')\"\n ></cds-notification>\n }\n }\n\n <cds-tabs class=\"case-management-tabs\" type=\"inline\" [attr.data-test-id]=\"testIds.tabs\">\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.GENERAL\"\n [active]=\"obs.currentTab === TabEnum.GENERAL\"\n [heading]=\"'caseManagement.tabs.general' | translate\"\n (selected)=\"navigateToTab(TabEnum.GENERAL)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.PROCESSES\"\n [active]=\"obs.currentTab === TabEnum.PROCESSES\"\n [heading]=\"'caseManagement.tabs.processes' | translate\"\n (selected)=\"navigateToTab(TabEnum.PROCESSES)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.DECISIONS\"\n [active]=\"obs.currentTab === TabEnum.DECISIONS\"\n [heading]=\"'caseManagement.tabs.decision' | translate\"\n (selected)=\"navigateToTab(TabEnum.DECISIONS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.DOCUMENT\"\n [active]=\"obs.currentTab === TabEnum.DOCUMENT\"\n [heading]=\"'caseManagement.tabs.document' | translate\"\n (selected)=\"navigateToTab(TabEnum.DOCUMENT)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORMS\"\n [active]=\"obs.currentTab === TabEnum.FORMS\"\n [heading]=\"'caseManagement.tabs.forms' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORMS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORM_FLOWS\"\n [active]=\"obs.currentTab === TabEnum.FORM_FLOWS\"\n [heading]=\"'caseManagement.tabs.formFlows' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORM_FLOWS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.TASKS\"\n [active]=\"obs.currentTab === TabEnum.TASKS\"\n [heading]=\"'caseManagement.tabs.tasks' | translate\"\n (selected)=\"navigateToTab(TabEnum.TASKS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_LIST\"\n [active]=\"obs.currentTab === TabEnum.CASE_LIST\"\n [heading]=\"'caseManagement.tabs.caseListTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_LIST)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_DETAILS\"\n [active]=\"obs.currentTab === TabEnum.CASE_DETAILS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_DETAILS)\"\n >\n </cds-tab>\n\n @for (injectedTab of obs.injectedTabs; track injectedTab.translationKey) {\n @if (injectedTab.enabled$ | async) {\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === (injectedTab.tabRoute ?? injectedTab.translationKey)\"\n [heading]=\"injectedTab.translationKey | translate\"\n (selected)=\"navigateToTab(injectedTab.tabRoute ?? injectedTab.translationKey)\"\n >\n </cds-tab>\n }\n }\n </cds-tabs>\n\n <div class=\"case-management-detail-container__content\">\n <router-outlet></router-outlet>\n </div>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <valtimo-case-management-detail-actions\n [documentDefinitionTitle]=\"documentDefinitionTitle$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n (versionSet)=\"onVersionSet($event)\"\n ></valtimo-case-management-detail-actions>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .case-management-tabs .cds--tab-content{background-color:var(--cds-layer);padding:0!important;margin-top:24px}::ng-deep .case-management-tabs .cds--tab-content:focus{outline:none}::ng-deep .case-management-tabs .no-padding-left-right .cds--tab-content{padding-left:0;padding-right:0}::ng-deep .case-management-tabs .no-padding-top-bottom .cds--tab-content{padding-top:0;padding-bottom:0}::ng-deep .case-management-tabs .no-padding-bottom .cds--tab-content{padding-bottom:0}.tab-container{min-height:300px}.case-management-detail-container{display:flex;flex-direction:column;width:100%}.environment-config-warning{max-width:100%;margin-bottom:16px;cursor:pointer}\n/*!\n * Copyright 2015-2026 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"] }]
4273
+ args: [{ standalone: false, providers: [CaseDetailService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n currentTab: currentTab$ | async,\n injectedTabs: injectedCaseManagementTabs$ | async,\n } as obs\"\n class=\"case-management-detail-container\"\n>\n @if (configurationIssues$ | async; as issues) {\n @if (issues.length > 0) {\n <cds-notification\n class=\"environment-config-warning\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.environmentConfig.bannerTitle' | translate),\n message: ('caseManagement.environmentConfig.bannerMessage' | translate),\n showClose: false,\n lowContrast: true\n }\"\n (click)=\"navigateToTab('zgw')\"\n ></cds-notification>\n }\n }\n\n <cds-tabs class=\"case-management-tabs\" type=\"inline\" [attr.data-test-id]=\"testIds.tabs\">\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.GENERAL\"\n [active]=\"obs.currentTab === TabEnum.GENERAL\"\n [heading]=\"'caseManagement.tabs.general' | translate\"\n (selected)=\"navigateToTab(TabEnum.GENERAL)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.PROCESSES\"\n [active]=\"obs.currentTab === TabEnum.PROCESSES\"\n [heading]=\"'caseManagement.tabs.processes' | translate\"\n (selected)=\"navigateToTab(TabEnum.PROCESSES)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.ACTIONS\"\n [active]=\"obs.currentTab === TabEnum.ACTIONS\"\n [heading]=\"'caseManagement.tabs.actions' | translate\"\n (selected)=\"navigateToTab(TabEnum.ACTIONS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.DECISIONS\"\n [active]=\"obs.currentTab === TabEnum.DECISIONS\"\n [heading]=\"'caseManagement.tabs.decision' | translate\"\n (selected)=\"navigateToTab(TabEnum.DECISIONS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.DOCUMENT\"\n [active]=\"obs.currentTab === TabEnum.DOCUMENT\"\n [heading]=\"'caseManagement.tabs.document' | translate\"\n (selected)=\"navigateToTab(TabEnum.DOCUMENT)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORMS\"\n [active]=\"obs.currentTab === TabEnum.FORMS\"\n [heading]=\"'caseManagement.tabs.forms' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORMS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.FORM_FLOWS\"\n [active]=\"obs.currentTab === TabEnum.FORM_FLOWS\"\n [heading]=\"'caseManagement.tabs.formFlows' | translate\"\n (selected)=\"navigateToTab(TabEnum.FORM_FLOWS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [id]=\"TabEnum.TASKS\"\n [active]=\"obs.currentTab === TabEnum.TASKS\"\n [heading]=\"'caseManagement.tabs.tasks' | translate\"\n (selected)=\"navigateToTab(TabEnum.TASKS)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_LIST\"\n [active]=\"obs.currentTab === TabEnum.CASE_LIST\"\n [heading]=\"'caseManagement.tabs.caseListTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_LIST)\"\n >\n </cds-tab>\n\n <cds-tab\n class=\"main-content no-padding-left-right no-padding-bottom\"\n [id]=\"TabEnum.CASE_DETAILS\"\n [active]=\"obs.currentTab === TabEnum.CASE_DETAILS\"\n [heading]=\"'caseManagement.tabs.caseDetailsTab.title' | translate\"\n (selected)=\"navigateToTab(TabEnum.CASE_DETAILS)\"\n >\n </cds-tab>\n\n @for (injectedTab of obs.injectedTabs; track injectedTab.translationKey) {\n @if (injectedTab.enabled$ | async) {\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === (injectedTab.tabRoute ?? injectedTab.translationKey)\"\n [heading]=\"injectedTab.translationKey | translate\"\n (selected)=\"navigateToTab(injectedTab.tabRoute ?? injectedTab.translationKey)\"\n >\n </cds-tab>\n }\n }\n </cds-tabs>\n\n <div class=\"case-management-detail-container__content\">\n <router-outlet></router-outlet>\n </div>\n</div>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <valtimo-case-management-detail-actions\n [documentDefinitionTitle]=\"documentDefinitionTitle$ | async\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n (versionSet)=\"onVersionSet($event)\"\n ></valtimo-case-management-detail-actions>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .case-management-tabs .cds--tab-content{background-color:var(--cds-layer);padding:0!important;margin-top:24px}::ng-deep .case-management-tabs .cds--tab-content:focus{outline:none}::ng-deep .case-management-tabs .no-padding-left-right .cds--tab-content{padding-left:0;padding-right:0}::ng-deep .case-management-tabs .no-padding-top-bottom .cds--tab-content{padding-top:0;padding-bottom:0}::ng-deep .case-management-tabs .no-padding-bottom .cds--tab-content{padding-bottom:0}.tab-container{min-height:300px}.case-management-detail-container{display:flex;flex-direction:column;width:100%}.environment-config-warning{max-width:100%;margin-bottom:16px;cursor:pointer}\n/*!\n * Copyright 2015-2026 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"] }]
4061
4274
  }], ctorParameters: () => [{ type: i2$1.ActivatedRoute }, { type: CaseDetailService }, { type: CaseManagementService }, { type: i3$1.ConfigService }, { type: i3$1.ConfigurationIssueService }, { type: i7.PageTitleService }, { type: i2$1.Router }, { type: i7$1.SseService }, { type: TabService }], propDecorators: { _tabs: [{
4062
4275
  type: ViewChildren,
4063
4276
  args: [Tab]
@@ -4140,10 +4353,10 @@ class CaseManagementDocumentDefinitionComponent {
4140
4353
  onChangeEvent() {
4141
4354
  this._pendingChanges$.next(true);
4142
4355
  }
4143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementDocumentDefinitionComponent, deps: [{ token: i1$2.DocumentService }, { token: CaseDetailService }, { token: i2.IconService }, { token: i7.PageHeaderService }, { token: i2$1.ActivatedRoute }, { token: i3$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
4144
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementDocumentDefinitionComponent, isStandalone: false, selector: "ng-component", inputs: { caseDefinitionKey: "caseDefinitionKey" }, outputs: { cancelRedirect: "cancelRedirect", confirmRedirect: "confirmRedirect", pendingChangesUpdate: "pendingChangesUpdate" }, viewQueries: [{ propertyName: "cancelModal", first: true, predicate: ["cancelModal"], 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-json-editor\n [model]=\"documentDefinitionModel$ | async\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"128\"\n [showEditButton]=\"hasEditPermissions$ | async\"\n (changeEvent)=\"onChangeEvent()\"\n (discardEvent)=\"onDiscardEvent()\"\n (keepEditingEvent)=\"onKeepEditingEvent()\"\n (saveEvent)=\"onSaveEvent($event)\"\n>\n <button\n cdsButton=\"ghost\"\n [disabled]=\"\n (loadingDocumentDefinition$ | async) || (selectedDocumentDefinition$ | async) === null\n \"\n (click)=\"downloadDefinition()\"\n >\n {{ 'interface.download' | translate }}\n\n <svg cdsIcon=\"download\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</valtimo-json-editor>\n\n<a id=\"downloadAnchorElement\" style=\"display: none\"></a>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center;padding-top:16px;padding-bottom:16px}:host ::ng-deep .cds--toolbar-content{width:100%;background:var(--cds-layer-01)}\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: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i7.JsonEditorComponent, selector: "valtimo-json-editor", inputs: ["disabled", "model", "editorOptions", "fitPage", "fitPageSpaceAdjustment", "formatOnLoad", "heightPx", "heightStyle", "jsonSchema", "showEditButton", "widthPx"], outputs: ["changeEvent", "discardEvent", "keepEditingEvent", "saveEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4356
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDocumentDefinitionComponent, deps: [{ token: i1$2.DocumentService }, { token: CaseDetailService }, { token: i2.IconService }, { token: i7.PageHeaderService }, { token: i2$1.ActivatedRoute }, { token: i3$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
4357
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementDocumentDefinitionComponent, isStandalone: false, selector: "ng-component", inputs: { caseDefinitionKey: "caseDefinitionKey" }, outputs: { cancelRedirect: "cancelRedirect", confirmRedirect: "confirmRedirect", pendingChangesUpdate: "pendingChangesUpdate" }, viewQueries: [{ propertyName: "cancelModal", first: true, predicate: ["cancelModal"], 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-json-editor\n [model]=\"documentDefinitionModel$ | async\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"128\"\n [showEditButton]=\"hasEditPermissions$ | async\"\n (changeEvent)=\"onChangeEvent()\"\n (discardEvent)=\"onDiscardEvent()\"\n (keepEditingEvent)=\"onKeepEditingEvent()\"\n (saveEvent)=\"onSaveEvent($event)\"\n>\n <button\n cdsButton=\"ghost\"\n [disabled]=\"\n (loadingDocumentDefinition$ | async) || (selectedDocumentDefinition$ | async) === null\n \"\n (click)=\"downloadDefinition()\"\n >\n {{ 'interface.download' | translate }}\n\n <svg cdsIcon=\"download\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</valtimo-json-editor>\n\n<a id=\"downloadAnchorElement\" style=\"display: none\"></a>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center;padding-top:16px;padding-bottom:16px}:host ::ng-deep .cds--toolbar-content{width:100%;background:var(--cds-layer-01)}\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: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i7.JsonEditorComponent, selector: "valtimo-json-editor", inputs: ["disabled", "model", "editorOptions", "fitPage", "fitPageSpaceAdjustment", "formatOnLoad", "heightPx", "heightStyle", "jsonSchema", "showEditButton", "widthPx"], outputs: ["changeEvent", "discardEvent", "keepEditingEvent", "saveEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4145
4358
  }
4146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementDocumentDefinitionComponent, decorators: [{
4359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDocumentDefinitionComponent, decorators: [{
4147
4360
  type: Component,
4148
4361
  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-json-editor\n [model]=\"documentDefinitionModel$ | async\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"128\"\n [showEditButton]=\"hasEditPermissions$ | async\"\n (changeEvent)=\"onChangeEvent()\"\n (discardEvent)=\"onDiscardEvent()\"\n (keepEditingEvent)=\"onKeepEditingEvent()\"\n (saveEvent)=\"onSaveEvent($event)\"\n>\n <button\n cdsButton=\"ghost\"\n [disabled]=\"\n (loadingDocumentDefinition$ | async) || (selectedDocumentDefinition$ | async) === null\n \"\n (click)=\"downloadDefinition()\"\n >\n {{ 'interface.download' | translate }}\n\n <svg cdsIcon=\"download\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</valtimo-json-editor>\n\n<a id=\"downloadAnchorElement\" style=\"display: none\"></a>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".loading-container{display:flex;width:100%;justify-content:center;padding-top:16px;padding-bottom:16px}:host ::ng-deep .cds--toolbar-content{width:100%;background:var(--cds-layer-01)}\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"] }]
4149
4362
  }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: CaseDetailService }, { type: i2.IconService }, { type: i7.PageHeaderService }, { type: i2$1.ActivatedRoute }, { type: i3$1.EditPermissionsService }], propDecorators: { cancelModal: [{
@@ -4221,10 +4434,10 @@ class CaseManagementCaseHandlerComponent {
4221
4434
  autoAssignTasks: !currentSettings.autoAssignTasks,
4222
4435
  }, caseDefinitionKey, caseDefinitionVersionTag);
4223
4436
  }
4224
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementCaseHandlerComponent, deps: [{ token: i1$2.DocumentService }, { token: i2.IconService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
4225
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementCaseHandlerComponent, isStandalone: false, selector: "valtimo-case-management-case-handler", inputs: { isReadOnly: "isReadOnly" }, 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<div\n *ngIf=\"{\n currentValue: currentValue$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n caseDefinitionVersionTag: caseDefinitionVersionTag$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n } as obs\"\n class=\"case-handler-process\"\n [cdsLayer]=\"0\"\n>\n <p class=\"case-handler-process__title\">\n {{ 'caseManagement.tabs.generalTab.caseHandler.title' | translate }}\n </p>\n\n <div class=\"case-handler-process__toggles\">\n <cds-toggle\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n [checked]=\"obs?.currentValue?.canHaveAssignee\"\n [disabled]=\"obs.disabled || isReadOnly\"\n (checkedChange)=\"\n toggleAssignee(obs?.currentValue, obs.caseDefinitionKey, obs.caseDefinitionVersionTag)\n \"\n [label]=\"'caseManagement.tabs.generalTab.caseHandler.canHaveHandler' | translate\"\n [onText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.onText' | translate\"\n [offText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.offText' | translate\"\n [attr.data-test-id]=\"testIds.canHaveHandler\"\n ></cds-toggle>\n\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"\n 'caseManagement.tabs.generalTab.caseHandler.disabledAutoAssignTooltip' | translate\n \"\n [align]=\"'top'\"\n >\n <cds-toggle\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n [checked]=\"obs?.currentValue?.autoAssignTasks\"\n [disabled]=\"!obs?.currentValue?.canHaveAssignee || isReadOnly\"\n (checkedChange)=\"\n toggleTaskAssignment(\n obs?.currentValue,\n obs?.caseDefinitionKey,\n obs.caseDefinitionVersionTag\n )\n \"\n [label]=\"'caseManagement.toggleAutoAssignTasks.checkboxDescription' | translate\"\n [onText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.onText' | translate\"\n [offText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.offText' | translate\"\n [attr.data-test-id]=\"testIds.automaticallyAssign\"\n ></cds-toggle>\n </cds-tooltip>\n </div>\n</div>\n", styles: [".case-handler-process{background-color:var(--cds-layer);padding:24px}.case-handler-process__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}.case-handler-process__toggles{display:flex;flex-direction:column;gap:8px}.case-handler-process__helper-text{font-size:12px;color:var(--cds-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 0}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "directive", type: i7.ReadOnlyDirective, selector: "[valtimoReadOnly]", inputs: ["isReadOnly"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4437
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCaseHandlerComponent, deps: [{ token: i1$2.DocumentService }, { token: i2.IconService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
4438
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementCaseHandlerComponent, isStandalone: false, selector: "valtimo-case-management-case-handler", inputs: { isReadOnly: "isReadOnly" }, 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<div\n *ngIf=\"{\n currentValue: currentValue$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n caseDefinitionVersionTag: caseDefinitionVersionTag$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n } as obs\"\n class=\"case-handler-process\"\n [cdsLayer]=\"0\"\n>\n <p class=\"case-handler-process__title\">\n {{ 'caseManagement.tabs.generalTab.caseHandler.title' | translate }}\n </p>\n\n <div class=\"case-handler-process__toggles\">\n <cds-toggle\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n [checked]=\"obs?.currentValue?.canHaveAssignee\"\n [disabled]=\"obs.disabled || isReadOnly\"\n (checkedChange)=\"\n toggleAssignee(obs?.currentValue, obs.caseDefinitionKey, obs.caseDefinitionVersionTag)\n \"\n [label]=\"'caseManagement.tabs.generalTab.caseHandler.canHaveHandler' | translate\"\n [onText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.onText' | translate\"\n [offText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.offText' | translate\"\n [attr.data-test-id]=\"testIds.canHaveHandler\"\n ></cds-toggle>\n\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"\n 'caseManagement.tabs.generalTab.caseHandler.disabledAutoAssignTooltip' | translate\n \"\n [align]=\"'top'\"\n >\n <cds-toggle\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n [checked]=\"obs?.currentValue?.autoAssignTasks\"\n [disabled]=\"!obs?.currentValue?.canHaveAssignee || isReadOnly\"\n (checkedChange)=\"\n toggleTaskAssignment(\n obs?.currentValue,\n obs?.caseDefinitionKey,\n obs.caseDefinitionVersionTag\n )\n \"\n [label]=\"'caseManagement.toggleAutoAssignTasks.checkboxDescription' | translate\"\n [onText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.onText' | translate\"\n [offText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.offText' | translate\"\n [attr.data-test-id]=\"testIds.automaticallyAssign\"\n ></cds-toggle>\n </cds-tooltip>\n </div>\n</div>\n", styles: [".case-handler-process{background-color:var(--cds-layer);padding:24px}.case-handler-process__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}.case-handler-process__toggles{display:flex;flex-direction:column;gap:8px}.case-handler-process__helper-text{font-size:12px;color:var(--cds-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 0}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "directive", type: i7.ReadOnlyDirective, selector: "[valtimoReadOnly]", inputs: ["isReadOnly"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4226
4439
  }
4227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementCaseHandlerComponent, decorators: [{
4440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCaseHandlerComponent, decorators: [{
4228
4441
  type: Component,
4229
4442
  args: [{ standalone: false, selector: 'valtimo-case-management-case-handler', 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<div\n *ngIf=\"{\n currentValue: currentValue$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n caseDefinitionVersionTag: caseDefinitionVersionTag$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n } as obs\"\n class=\"case-handler-process\"\n [cdsLayer]=\"0\"\n>\n <p class=\"case-handler-process__title\">\n {{ 'caseManagement.tabs.generalTab.caseHandler.title' | translate }}\n </p>\n\n <div class=\"case-handler-process__toggles\">\n <cds-toggle\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n [checked]=\"obs?.currentValue?.canHaveAssignee\"\n [disabled]=\"obs.disabled || isReadOnly\"\n (checkedChange)=\"\n toggleAssignee(obs?.currentValue, obs.caseDefinitionKey, obs.caseDefinitionVersionTag)\n \"\n [label]=\"'caseManagement.tabs.generalTab.caseHandler.canHaveHandler' | translate\"\n [onText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.onText' | translate\"\n [offText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.offText' | translate\"\n [attr.data-test-id]=\"testIds.canHaveHandler\"\n ></cds-toggle>\n\n <cds-tooltip\n [isOpen]=\"false\"\n [description]=\"\n 'caseManagement.tabs.generalTab.caseHandler.disabledAutoAssignTooltip' | translate\n \"\n [align]=\"'top'\"\n >\n <cds-toggle\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n [checked]=\"obs?.currentValue?.autoAssignTasks\"\n [disabled]=\"!obs?.currentValue?.canHaveAssignee || isReadOnly\"\n (checkedChange)=\"\n toggleTaskAssignment(\n obs?.currentValue,\n obs?.caseDefinitionKey,\n obs.caseDefinitionVersionTag\n )\n \"\n [label]=\"'caseManagement.toggleAutoAssignTasks.checkboxDescription' | translate\"\n [onText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.onText' | translate\"\n [offText]=\"'caseManagement.tabs.generalTab.caseHandler.toggle.offText' | translate\"\n [attr.data-test-id]=\"testIds.automaticallyAssign\"\n ></cds-toggle>\n </cds-tooltip>\n </div>\n</div>\n", styles: [".case-handler-process{background-color:var(--cds-layer);padding:24px}.case-handler-process__title{font-size:16px;line-height:24px;font-weight:600;margin-bottom:16px}.case-handler-process__toggles{display:flex;flex-direction:column;gap:8px}.case-handler-process__helper-text{font-size:12px;color:var(--cds-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 0}\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"] }]
4230
4443
  }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2.IconService }, { type: i2$1.ActivatedRoute }], propDecorators: { isReadOnly: [{
@@ -4356,13 +4569,13 @@ class CaseManagementExternalStartFormComponent {
4356
4569
  },
4357
4570
  });
4358
4571
  }
4359
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementExternalStartFormComponent, deps: [{ token: i2$1.ActivatedRoute }, { token: i1$2.DocumentService }, { token: i1$4.FormBuilder }, { token: i3.TranslateService }, { token: i5.NGXLogger }, { token: i3$1.GlobalNotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
4360
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementExternalStartFormComponent, isStandalone: false, selector: "valtimo-case-management-external-start-form", inputs: { isReadOnly: "isReadOnly" }, 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-tile\n class=\"external-case-form-container\"\n *ngIf=\"{params: params$ | async, caseSettings: caseSettings$ | async} as obs\"\n>\n <h4 class=\"external-case-form-container__title\">\n {{ 'caseManagement.externalStartForm.title' | translate }}\n </h4>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" [cdsLayer]=\"1\">\n <cds-toggle\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n [disabled]=\"isReadOnly\"\n formControlName=\"hasExternalForm\"\n label=\"{{ 'caseManagement.externalStartForm.enabledToggle' | translate }}\"\n onText=\"{{ 'caseManagement.externalStartForm.enabledToggleOn' | translate }}\"\n offText=\"{{ 'caseManagement.externalStartForm.enabledToggleOff' | translate }}\"\n [attr.data-test-id]=\"testIds.hasExternalForm\"\n ></cds-toggle>\n\n <cds-label>\n {{ 'caseManagement.externalStartForm.externalUrl' | translate }}\n\n <input\n cdsText\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n type=\"text\"\n formControlName=\"externalFormUrl\"\n [attr.data-test-id]=\"testIds.externalFormUrl\"\n [placeholder]=\"\n isReadOnly ? '-' : ('caseManagement.externalStartForm.externalUrlPlaceholder' | translate)\n \"\n maxlength=\"512\"\n />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.externalStartForm.description' | translate }}\n\n <input\n cdsText\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n type=\"text\"\n formControlName=\"description\"\n [attr.data-test-id]=\"testIds.externalFormDescription\"\n [placeholder]=\"\n isReadOnly ? '-' : ('caseManagement.externalStartForm.descriptionPlaceholder' | translate)\n \"\n maxlength=\"512\"\n />\n </cds-label>\n\n <button\n *ngIf=\"!isReadOnly\"\n cdsButton=\"primary\"\n type=\"submit\"\n [disabled]=\"!form.valid || isReadOnly\"\n [attr.data-test-id]=\"testIds.externalFormSave\"\n >\n {{ 'caseManagement.externalStartForm.apply' | translate }}\n </button>\n </form>\n</cds-tile>\n", styles: [":host{display:flex;padding:24px;margin-bottom:16px;background:var(--cds-layer)}.external-case-form-container,.external-case-form-container form{display:flex;flex-direction:column;gap:16px;width:100%}.external-case-form-container__title,.external-case-form-container form__title{font-size:16px;line-height:24px;font-weight:600}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "directive", type: i7.ReadOnlyDirective, selector: "[valtimoReadOnly]", inputs: ["isReadOnly"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4572
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementExternalStartFormComponent, deps: [{ token: i2$1.ActivatedRoute }, { token: i1$2.DocumentService }, { token: i1$4.FormBuilder }, { token: i3.TranslateService }, { token: i2$2.NGXLogger }, { token: i3$1.GlobalNotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
4573
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementExternalStartFormComponent, isStandalone: false, selector: "valtimo-case-management-external-start-form", inputs: { isReadOnly: "isReadOnly" }, 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-tile\n class=\"external-case-form-container\"\n *ngIf=\"{params: params$ | async, caseSettings: caseSettings$ | async} as obs\"\n>\n <h4 class=\"external-case-form-container__title\">\n {{ 'caseManagement.externalStartForm.title' | translate }}\n </h4>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" [cdsLayer]=\"1\">\n <cds-toggle\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n [disabled]=\"isReadOnly\"\n formControlName=\"hasExternalForm\"\n label=\"{{ 'caseManagement.externalStartForm.enabledToggle' | translate }}\"\n onText=\"{{ 'caseManagement.externalStartForm.enabledToggleOn' | translate }}\"\n offText=\"{{ 'caseManagement.externalStartForm.enabledToggleOff' | translate }}\"\n [attr.data-test-id]=\"testIds.hasExternalForm\"\n ></cds-toggle>\n\n <cds-label>\n {{ 'caseManagement.externalStartForm.externalUrl' | translate }}\n\n <input\n cdsText\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n type=\"text\"\n formControlName=\"externalFormUrl\"\n [attr.data-test-id]=\"testIds.externalFormUrl\"\n [placeholder]=\"\n isReadOnly ? '-' : ('caseManagement.externalStartForm.externalUrlPlaceholder' | translate)\n \"\n maxlength=\"512\"\n />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.externalStartForm.description' | translate }}\n\n <input\n cdsText\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n type=\"text\"\n formControlName=\"description\"\n [attr.data-test-id]=\"testIds.externalFormDescription\"\n [placeholder]=\"\n isReadOnly ? '-' : ('caseManagement.externalStartForm.descriptionPlaceholder' | translate)\n \"\n maxlength=\"512\"\n />\n </cds-label>\n\n <button\n *ngIf=\"!isReadOnly\"\n cdsButton=\"primary\"\n type=\"submit\"\n [disabled]=\"!form.valid || isReadOnly\"\n [attr.data-test-id]=\"testIds.externalFormSave\"\n >\n {{ 'caseManagement.externalStartForm.apply' | translate }}\n </button>\n </form>\n</cds-tile>\n", styles: [":host{display:flex;padding:24px;margin-bottom:16px;background:var(--cds-layer)}.external-case-form-container,.external-case-form-container form{display:flex;flex-direction:column;gap:16px;width:100%}.external-case-form-container__title,.external-case-form-container form__title{font-size:16px;line-height:24px;font-weight:600}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "directive", type: i7.ReadOnlyDirective, selector: "[valtimoReadOnly]", inputs: ["isReadOnly"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4361
4574
  }
4362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementExternalStartFormComponent, decorators: [{
4575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementExternalStartFormComponent, decorators: [{
4363
4576
  type: Component,
4364
4577
  args: [{ standalone: false, selector: 'valtimo-case-management-external-start-form', 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-tile\n class=\"external-case-form-container\"\n *ngIf=\"{params: params$ | async, caseSettings: caseSettings$ | async} as obs\"\n>\n <h4 class=\"external-case-form-container__title\">\n {{ 'caseManagement.externalStartForm.title' | translate }}\n </h4>\n\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" [cdsLayer]=\"1\">\n <cds-toggle\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n [disabled]=\"isReadOnly\"\n formControlName=\"hasExternalForm\"\n label=\"{{ 'caseManagement.externalStartForm.enabledToggle' | translate }}\"\n onText=\"{{ 'caseManagement.externalStartForm.enabledToggleOn' | translate }}\"\n offText=\"{{ 'caseManagement.externalStartForm.enabledToggleOff' | translate }}\"\n [attr.data-test-id]=\"testIds.hasExternalForm\"\n ></cds-toggle>\n\n <cds-label>\n {{ 'caseManagement.externalStartForm.externalUrl' | translate }}\n\n <input\n cdsText\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n type=\"text\"\n formControlName=\"externalFormUrl\"\n [attr.data-test-id]=\"testIds.externalFormUrl\"\n [placeholder]=\"\n isReadOnly ? '-' : ('caseManagement.externalStartForm.externalUrlPlaceholder' | translate)\n \"\n maxlength=\"512\"\n />\n </cds-label>\n\n <cds-label>\n {{ 'caseManagement.externalStartForm.description' | translate }}\n\n <input\n cdsText\n valtimoReadOnly\n [isReadOnly]=\"isReadOnly\"\n type=\"text\"\n formControlName=\"description\"\n [attr.data-test-id]=\"testIds.externalFormDescription\"\n [placeholder]=\"\n isReadOnly ? '-' : ('caseManagement.externalStartForm.descriptionPlaceholder' | translate)\n \"\n maxlength=\"512\"\n />\n </cds-label>\n\n <button\n *ngIf=\"!isReadOnly\"\n cdsButton=\"primary\"\n type=\"submit\"\n [disabled]=\"!form.valid || isReadOnly\"\n [attr.data-test-id]=\"testIds.externalFormSave\"\n >\n {{ 'caseManagement.externalStartForm.apply' | translate }}\n </button>\n </form>\n</cds-tile>\n", styles: [":host{display:flex;padding:24px;margin-bottom:16px;background:var(--cds-layer)}.external-case-form-container,.external-case-form-container form{display:flex;flex-direction:column;gap:16px;width:100%}.external-case-form-container__title,.external-case-form-container form__title{font-size:16px;line-height:24px;font-weight:600}\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"] }]
4365
- }], ctorParameters: () => [{ type: i2$1.ActivatedRoute }, { type: i1$2.DocumentService }, { type: i1$4.FormBuilder }, { type: i3.TranslateService }, { type: i5.NGXLogger }, { type: i3$1.GlobalNotificationService }], propDecorators: { isReadOnly: [{
4578
+ }], ctorParameters: () => [{ type: i2$1.ActivatedRoute }, { type: i1$2.DocumentService }, { type: i1$4.FormBuilder }, { type: i3.TranslateService }, { type: i2$2.NGXLogger }, { type: i3$1.GlobalNotificationService }], propDecorators: { isReadOnly: [{
4366
4579
  type: Input
4367
4580
  }] } });
4368
4581
 
@@ -4415,10 +4628,10 @@ class CaseManagementGeneralComponent {
4415
4628
  });
4416
4629
  this.cdr.detectChanges();
4417
4630
  }
4418
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementGeneralComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: CaseManagementService }, { token: CASE_CONFIGURATION_EXTENSIONS_TOKEN, optional: true }, { token: i3$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
4419
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseManagementGeneralComponent, isStandalone: false, selector: "valtimo-case-management-general", viewQueries: [{ propertyName: "_extensions", first: true, predicate: ["extensions"], descendants: true, read: ViewContainerRef }], 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<ng-container\n *ngIf=\"{\n isReadOnly: isReadOnly$ | async,\n } as obs\"\n>\n @if (obs.isReadOnly) {\n <cds-notification\n class=\"read-only-notification\"\n [notificationObj]=\"{\n type: 'info',\n title: 'caseManagement.tabs.generalTab.readOnlyNotification.title' | translate,\n message: 'caseManagement.tabs.generalTab.readOnlyNotification.message' | translate,\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n }\n\n <div class=\"case-management-general-tab\" muuri [columnMinWidth]=\"350\">\n <ng-template #extensions></ng-template>\n\n <valtimo-muuri-item>\n <valtimo-case-management-case-handler\n muuriItem\n [isReadOnly]=\"obs.isReadOnly\"\n *ngIf=\"documentDefinition$ | async\"\n ></valtimo-case-management-case-handler>\n </valtimo-muuri-item>\n\n <valtimo-muuri-item>\n <valtimo-case-management-external-start-form [isReadOnly]=\"obs.isReadOnly\">\n </valtimo-case-management-external-start-form>\n </valtimo-muuri-item>\n </div>\n</ng-container>\n", styles: [".read-only-notification{margin-bottom:16px;max-inline-size:100%;min-inline-size:100%}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i7.MuuriDirective, selector: "[muuri]", inputs: ["columnMinWidth"] }, { kind: "component", type: i7.MuuriItemComponent, selector: "valtimo-muuri-item" }, { kind: "component", type: CaseManagementCaseHandlerComponent, selector: "valtimo-case-management-case-handler", inputs: ["isReadOnly"] }, { kind: "component", type: CaseManagementExternalStartFormComponent, selector: "valtimo-case-management-external-start-form", inputs: ["isReadOnly"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4631
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementGeneralComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: CaseManagementService }, { token: CASE_CONFIGURATION_EXTENSIONS_TOKEN, optional: true }, { token: i3$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
4632
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementGeneralComponent, isStandalone: false, selector: "valtimo-case-management-general", viewQueries: [{ propertyName: "_extensions", first: true, predicate: ["extensions"], descendants: true, read: ViewContainerRef }], 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<ng-container\n *ngIf=\"{\n isReadOnly: isReadOnly$ | async,\n } as obs\"\n>\n @if (obs.isReadOnly) {\n <cds-notification\n class=\"read-only-notification\"\n [notificationObj]=\"{\n type: 'info',\n title: 'caseManagement.tabs.generalTab.readOnlyNotification.title' | translate,\n message: 'caseManagement.tabs.generalTab.readOnlyNotification.message' | translate,\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n }\n\n <div class=\"case-management-general-tab\" muuri [columnMinWidth]=\"350\">\n <ng-template #extensions></ng-template>\n\n <valtimo-muuri-item>\n <valtimo-case-management-case-handler\n muuriItem\n [isReadOnly]=\"obs.isReadOnly\"\n *ngIf=\"documentDefinition$ | async\"\n ></valtimo-case-management-case-handler>\n </valtimo-muuri-item>\n\n <valtimo-muuri-item>\n <valtimo-case-management-external-start-form [isReadOnly]=\"obs.isReadOnly\">\n </valtimo-case-management-external-start-form>\n </valtimo-muuri-item>\n </div>\n</ng-container>\n", styles: [".read-only-notification{margin-bottom:16px;max-inline-size:100%;min-inline-size:100%}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i7.MuuriDirective, selector: "[muuri]", inputs: ["columnMinWidth"] }, { kind: "component", type: i7.MuuriItemComponent, selector: "valtimo-muuri-item" }, { kind: "component", type: CaseManagementCaseHandlerComponent, selector: "valtimo-case-management-case-handler", inputs: ["isReadOnly"] }, { kind: "component", type: CaseManagementExternalStartFormComponent, selector: "valtimo-case-management-external-start-form", inputs: ["isReadOnly"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4420
4633
  }
4421
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementGeneralComponent, decorators: [{
4634
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementGeneralComponent, decorators: [{
4422
4635
  type: Component,
4423
4636
  args: [{ standalone: false, selector: 'valtimo-case-management-general', 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<ng-container\n *ngIf=\"{\n isReadOnly: isReadOnly$ | async,\n } as obs\"\n>\n @if (obs.isReadOnly) {\n <cds-notification\n class=\"read-only-notification\"\n [notificationObj]=\"{\n type: 'info',\n title: 'caseManagement.tabs.generalTab.readOnlyNotification.title' | translate,\n message: 'caseManagement.tabs.generalTab.readOnlyNotification.message' | translate,\n showClose: false,\n lowContrast: true,\n }\"\n >\n </cds-notification>\n }\n\n <div class=\"case-management-general-tab\" muuri [columnMinWidth]=\"350\">\n <ng-template #extensions></ng-template>\n\n <valtimo-muuri-item>\n <valtimo-case-management-case-handler\n muuriItem\n [isReadOnly]=\"obs.isReadOnly\"\n *ngIf=\"documentDefinition$ | async\"\n ></valtimo-case-management-case-handler>\n </valtimo-muuri-item>\n\n <valtimo-muuri-item>\n <valtimo-case-management-external-start-form [isReadOnly]=\"obs.isReadOnly\">\n </valtimo-case-management-external-start-form>\n </valtimo-muuri-item>\n </div>\n</ng-container>\n", styles: [".read-only-notification{margin-bottom:16px;max-inline-size:100%;min-inline-size:100%}\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"] }]
4424
4637
  }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$1.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: CaseManagementService }, { type: undefined, decorators: [{
@@ -4504,10 +4717,10 @@ class CaseManagementWidgetTabEditModalComponent {
4504
4717
  enable() {
4505
4718
  this.disabled$.next(false);
4506
4719
  }
4507
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementWidgetTabEditModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: TabManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
4508
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementWidgetTabEditModalComponent, isStandalone: true, selector: "valtimo-case-management-widget-tab-edit-modal", inputs: { showModal$: "showModal$", tabItem: "tabItem" }, outputs: { saveEvent: "saveEvent" }, 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 *ngIf=\"{disabled: disabled$ | async} as obs\"\n valtimoCdsModal\n [open]=\"open$ | async\"\n showFooter=\"true\"\n title=\"{{ 'widgetTabManagement.tab.editWidgetTab' | translate }}\"\n class=\"edit-widget-tab-modal\"\n (close)=\"closeModal()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'widgetTabManagement.tab.editWidgetTab' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"editWidgetTabFormTemplate;context:{obs: obs}\"></ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"editWidgetTabButtons;context:{obs: obs}\"></ng-container>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #editWidgetTabFormTemplate let-obs=\"obs\">\n <form *ngIf=\"editWidgetTabForm\" [formGroup]=\"editWidgetTabForm\" class=\"widget-tab-modal__form\">\n <cds-label [disabled]=\"obs.disabled\" [invalid]=\"widgetTabName.dirty && widgetTabName.invalid\">\n {{ 'widgetTabManagement.tab.form.tabName' | translate }}\n\n <input\n cdsText\n [disabled]=\"obs.disabled\"\n [invalid]=\"widgetTabName.dirty && widgetTabName.invalid\"\n formControlName=\"name\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n </form>\n</ng-template>\n\n<ng-template #editWidgetTabButtons let-obs=\"obs\">\n <button cdsButton=\"secondary\" [disabled]=\"obs.disabled\" (click)=\"closeModal()\">\n {{ 'widgetTabManagement.tab.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"editWidgetTabForm.invalid || obs.disabled\"\n (click)=\"saveWidgetTab()\"\n >\n {{ 'widgetTabManagement.tab.save' | translate }}\n </button>\n</ng-template>\n", styles: [".edit-widget-tab-modal .form__row{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end}\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4720
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementWidgetTabEditModalComponent, deps: [{ token: i1$4.FormBuilder }, { token: TabManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
4721
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementWidgetTabEditModalComponent, isStandalone: true, selector: "valtimo-case-management-widget-tab-edit-modal", inputs: { showModal$: "showModal$", tabItem: "tabItem" }, outputs: { saveEvent: "saveEvent" }, 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 *ngIf=\"{disabled: disabled$ | async} as obs\"\n valtimoCdsModal\n [open]=\"open$ | async\"\n showFooter=\"true\"\n title=\"{{ 'widgetTabManagement.tab.editWidgetTab' | translate }}\"\n class=\"edit-widget-tab-modal\"\n (close)=\"closeModal()\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'widgetTabManagement.tab.editWidgetTab' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngTemplateOutlet=\"editWidgetTabFormTemplate;context:{obs: obs}\"></ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container *ngTemplateOutlet=\"editWidgetTabButtons;context:{obs: obs}\"></ng-container>\n </cds-modal-footer>\n</cds-modal>\n\n<ng-template #editWidgetTabFormTemplate let-obs=\"obs\">\n <form *ngIf=\"editWidgetTabForm\" [formGroup]=\"editWidgetTabForm\" class=\"widget-tab-modal__form\">\n <cds-label [disabled]=\"obs.disabled\" [invalid]=\"widgetTabName.dirty && widgetTabName.invalid\">\n {{ 'widgetTabManagement.tab.form.tabName' | translate }}\n\n <input\n cdsText\n [disabled]=\"obs.disabled\"\n [invalid]=\"widgetTabName.dirty && widgetTabName.invalid\"\n formControlName=\"name\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n </form>\n</ng-template>\n\n<ng-template #editWidgetTabButtons let-obs=\"obs\">\n <button cdsButton=\"secondary\" [disabled]=\"obs.disabled\" (click)=\"closeModal()\">\n {{ 'widgetTabManagement.tab.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"editWidgetTabForm.invalid || obs.disabled\"\n (click)=\"saveWidgetTab()\"\n >\n {{ 'widgetTabManagement.tab.save' | translate }}\n </button>\n</ng-template>\n", styles: [".edit-widget-tab-modal .form__row{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end}\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: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4509
4722
  }
4510
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementWidgetTabEditModalComponent, decorators: [{
4723
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementWidgetTabEditModalComponent, decorators: [{
4511
4724
  type: Component,
4512
4725
  args: [{ selector: 'valtimo-case-management-widget-tab-edit-modal', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
4513
4726
  CommonModule,
@@ -4634,15 +4847,15 @@ class CaseManagementWidgetTabComponent extends ManagementWidgetDetailsComponent
4634
4847
  });
4635
4848
  });
4636
4849
  }
4637
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementWidgetTabComponent, deps: [{ token: i1$1.WidgetWizardService }, { token: i7.BreadcrumbService }, { token: i2.IconService }, { token: i7.PageTitleService }, { token: i2$1.ActivatedRoute }, { token: TabManagementService }, { token: WIDGET_MANAGEMENT_SERVICE }, { token: i3.TranslateService }, { token: i7.PageHeaderService }], target: i0.ɵɵFactoryTarget.Component }); }
4638
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementWidgetTabComponent, isStandalone: true, selector: "ng-component", providers: [
4850
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementWidgetTabComponent, deps: [{ token: i1$1.WidgetWizardService }, { token: i7.BreadcrumbService }, { token: i2.IconService }, { token: i7.PageTitleService }, { token: i2$1.ActivatedRoute }, { token: TabManagementService }, { token: WIDGET_MANAGEMENT_SERVICE }, { token: i3.TranslateService }, { token: i7.PageHeaderService }], target: i0.ɵɵFactoryTarget.Component }); }
4851
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementWidgetTabComponent, isStandalone: true, selector: "ng-component", providers: [
4639
4852
  {
4640
4853
  provide: WIDGET_MANAGEMENT_SERVICE,
4641
4854
  useClass: CaseWidgetManagementApiService,
4642
4855
  },
4643
4856
  ], usesInheritance: 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-widget-management\n [availableWidgetTypes]=\"AVAILABLE_WIDGET_TYPES\"\n [params]=\"params$ | async\"\n></valtimo-widget-management>\n\n<valtimo-case-management-widget-tab-edit-modal\n [tabItem]=\"currentWidgetTabItem$ | async\"\n [showModal$]=\"showEditWidgetTabModal$\"\n (saveEvent)=\"refreshWidgetTab()\"\n>\n</valtimo-case-management-widget-tab-edit-modal>\n\n<ng-container renderInPageHeader>\n <ng-template>\n <button\n cdsButton=\"tertiary\"\n [size]=\"(compactMode$ | async) ? 'sm' : 'md'\"\n (click)=\"editWidgetTab()\"\n >\n {{ 'widgetTabManagement.tab.editButton' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n </ng-template>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: CaseManagementWidgetTabEditModalComponent, selector: "valtimo-case-management-widget-tab-edit-modal", inputs: ["showModal$", "tabItem"], outputs: ["saveEvent"] }, { kind: "directive", type: RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: WidgetManagementComponent, selector: "valtimo-widget-management", inputs: ["params", "availableWidgetTypes", "disableDuplicate", "enableWidgetDivider", "singleWidget", "disableJsonEditor", "defaultWidth", "widgetWizardSteps"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4644
4857
  }
4645
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementWidgetTabComponent, decorators: [{
4858
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementWidgetTabComponent, decorators: [{
4646
4859
  type: Component,
4647
4860
  args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
4648
4861
  CommonModule,
@@ -4664,6 +4877,524 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
4664
4877
  args: [WIDGET_MANAGEMENT_SERVICE]
4665
4878
  }] }, { type: i3.TranslateService }, { type: i7.PageHeaderService }] });
4666
4879
 
4880
+ /*
4881
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
4882
+ *
4883
+ * Licensed under EUPL, Version 1.2 (the "License");
4884
+ * you may not use this file except in compliance with the License.
4885
+ * You may obtain a copy of the License at
4886
+ *
4887
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4888
+ *
4889
+ * Unless required by applicable law or agreed to in writing, software
4890
+ * distributed under the License is distributed on an "AS IS" basis,
4891
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4892
+ * See the License for the specific language governing permissions and
4893
+ * limitations under the License.
4894
+ */
4895
+ class CaseManagementActionsModalComponent {
4896
+ get selectedItemControl() {
4897
+ return this.formGroup.get('selectedItem');
4898
+ }
4899
+ constructor(stateService, buildingBlockApiService, fb, translateService, iconService) {
4900
+ this.stateService = stateService;
4901
+ this.buildingBlockApiService = buildingBlockApiService;
4902
+ this.fb = fb;
4903
+ this.translateService = translateService;
4904
+ this.iconService = iconService;
4905
+ this.configureBuildingBlockEvent = new EventEmitter();
4906
+ this.showModal$ = this.stateService.showModal$;
4907
+ this.editingItem$ = this.stateService.editingItem$;
4908
+ this.$step = signal('selectType');
4909
+ this.$selectedType = signal(null);
4910
+ this.$saving = signal(false);
4911
+ this.$loading = signal(false);
4912
+ this.$processItemsEmpty = signal(false);
4913
+ this.$buildingBlockItemsEmpty = signal(false);
4914
+ this.StartableItemType = StartableItemType;
4915
+ this.formGroup = this.fb.group({
4916
+ selectedItem: this.fb.control(null, Validators.required),
4917
+ });
4918
+ this.availableProcessItems$ = combineLatest([
4919
+ this.stateService.linkedProcessDefinitions$.pipe(catchError(() => of([]))),
4920
+ this.stateService.usedProcessDefinitionIds$,
4921
+ this.stateService.editingItem$,
4922
+ ]).pipe(map(([definitions, usedIds, editingItem]) => definitions
4923
+ .filter((def) => !usedIds.includes(def.processDefinition.id) ||
4924
+ (editingItem?.type === StartableItemType.PROCESS &&
4925
+ editingItem?.processDefinitionId === def.processDefinition.id))
4926
+ .map((def) => ({
4927
+ content: def.processDefinition.name || def.processDefinition.key,
4928
+ key: def.processDefinition.key,
4929
+ id: def.processDefinition.id,
4930
+ selected: editingItem?.processDefinitionId === def.processDefinition.id,
4931
+ }))
4932
+ .sort((a, b) => a.content.localeCompare(b.content))));
4933
+ this.availableBuildingBlockItems$ = combineLatest([
4934
+ this.buildingBlockApiService
4935
+ .getBuildingBlockDefinitions({ includeArtwork: false })
4936
+ .pipe(catchError(() => of([]))),
4937
+ this.stateService.usedBuildingBlockKeys$,
4938
+ this.stateService.editingItem$,
4939
+ ]).pipe(map(([definitions, usedKeys, editingItem]) => definitions
4940
+ .filter((def) => !usedKeys.includes(def.key) ||
4941
+ (editingItem?.type === StartableItemType.BUILDING_BLOCK &&
4942
+ editingItem?.key === def.key))
4943
+ .map((def) => ({
4944
+ content: def.name || def.key,
4945
+ key: def.key,
4946
+ id: def.key,
4947
+ selected: editingItem?.key === def.key,
4948
+ versionTag: def.versionTag,
4949
+ }))
4950
+ .sort((a, b) => a.content.localeCompare(b.content))));
4951
+ this._buildingBlockItems = [];
4952
+ this._editingItem = null;
4953
+ this._subscriptions = new Subscription();
4954
+ this.iconService.registerAll([FlowModeler20, BlockStorageAlt20]);
4955
+ this._subscriptions.add(this.availableProcessItems$.subscribe(items => {
4956
+ this.$processItemsEmpty.set(items.length === 0);
4957
+ }));
4958
+ this._subscriptions.add(this.availableBuildingBlockItems$.subscribe(items => {
4959
+ this._buildingBlockItems = items;
4960
+ this.$buildingBlockItemsEmpty.set(items.length === 0);
4961
+ }));
4962
+ this._subscriptions.add(this.stateService.editingItem$.subscribe(item => {
4963
+ this._editingItem = item;
4964
+ if (item) {
4965
+ this.$selectedType.set(item.type);
4966
+ this.$step.set('selectItem');
4967
+ if (item.type === StartableItemType.PROCESS) {
4968
+ this.formGroup.patchValue({ selectedItem: item.processDefinitionId });
4969
+ }
4970
+ else {
4971
+ this.formGroup.patchValue({ selectedItem: item.key });
4972
+ }
4973
+ }
4974
+ }));
4975
+ }
4976
+ ngOnDestroy() {
4977
+ this._subscriptions.unsubscribe();
4978
+ }
4979
+ get isEditMode() {
4980
+ return this._editingItem !== null;
4981
+ }
4982
+ get isBuildingBlockEdit() {
4983
+ return (this.isEditMode && this._editingItem?.type === StartableItemType.BUILDING_BLOCK);
4984
+ }
4985
+ get modalTitle() {
4986
+ if (this.isEditMode) {
4987
+ return this._editingItem?.type === StartableItemType.PROCESS
4988
+ ? this.translateService.instant('caseManagement.actions.modal.editProcessTitle')
4989
+ : this.translateService.instant('caseManagement.actions.modal.editBuildingBlockTitle');
4990
+ }
4991
+ if (this.$step() === 'selectType') {
4992
+ return this.translateService.instant('caseManagement.actions.modal.addTitle');
4993
+ }
4994
+ return this.$selectedType() === StartableItemType.PROCESS
4995
+ ? this.translateService.instant('caseManagement.actions.modal.addProcessTitle')
4996
+ : this.translateService.instant('caseManagement.actions.modal.addBuildingBlockTitle');
4997
+ }
4998
+ get modalDescription() {
4999
+ if (this.$step() === 'selectType') {
5000
+ return this.translateService.instant('caseManagement.actions.modal.addDescription');
5001
+ }
5002
+ return this.$selectedType() === StartableItemType.PROCESS
5003
+ ? this.translateService.instant('caseManagement.actions.modal.selectProcessDescription')
5004
+ : this.translateService.instant('caseManagement.actions.modal.selectBuildingBlockDescription');
5005
+ }
5006
+ get primaryButtonLabel() {
5007
+ if (this.$step() === 'selectType')
5008
+ return '';
5009
+ if (this.$selectedType() === StartableItemType.BUILDING_BLOCK) {
5010
+ return this.translateService.instant('caseManagement.actions.modal.next');
5011
+ }
5012
+ if (this.isEditMode) {
5013
+ return this.translateService.instant('caseManagement.actions.modal.save');
5014
+ }
5015
+ return this.translateService.instant('caseManagement.actions.modal.add');
5016
+ }
5017
+ onSelectType(type) {
5018
+ this.$selectedType.set(type);
5019
+ this.$step.set('selectItem');
5020
+ this.formGroup.reset();
5021
+ }
5022
+ onComboBoxSelected(event) {
5023
+ if (event?.id) {
5024
+ this.formGroup.patchValue({ selectedItem: event.id });
5025
+ }
5026
+ else {
5027
+ this.formGroup.patchValue({ selectedItem: null });
5028
+ }
5029
+ }
5030
+ onSubmit() {
5031
+ if (this.formGroup.invalid || this.$saving())
5032
+ return;
5033
+ const selectedId = this.selectedItemControl.value;
5034
+ if (!selectedId)
5035
+ return;
5036
+ if (this.$selectedType() === StartableItemType.BUILDING_BLOCK) {
5037
+ this.configureBuildingBlockEvent.emit({
5038
+ buildingBlockDefinitionKey: selectedId,
5039
+ buildingBlockDefinitionVersionTag: this.getSelectedBuildingBlockVersionTag(selectedId),
5040
+ });
5041
+ this.onCloseModal();
5042
+ return;
5043
+ }
5044
+ this.$saving.set(true);
5045
+ if (this.isEditMode) {
5046
+ this.handleEdit();
5047
+ }
5048
+ else {
5049
+ this.handleCreate();
5050
+ }
5051
+ }
5052
+ onCloseModal() {
5053
+ this.stateService.hideModal();
5054
+ this.resetState();
5055
+ }
5056
+ onBack() {
5057
+ if (this.$step() === 'selectItem' && !this.isEditMode) {
5058
+ this.$step.set('selectType');
5059
+ this.$selectedType.set(null);
5060
+ this.formGroup.reset();
5061
+ }
5062
+ }
5063
+ handleCreate() {
5064
+ const selectedId = this.selectedItemControl.value;
5065
+ if (!selectedId)
5066
+ return;
5067
+ const request = this.$selectedType() === StartableItemType.PROCESS
5068
+ ? { type: StartableItemType.PROCESS, properties: { processDefinitionId: selectedId } }
5069
+ : {
5070
+ type: StartableItemType.BUILDING_BLOCK,
5071
+ properties: {
5072
+ buildingBlockDefinitionKey: selectedId,
5073
+ buildingBlockDefinitionVersionTag: this.getSelectedBuildingBlockVersionTag(selectedId),
5074
+ },
5075
+ };
5076
+ this.stateService
5077
+ .createItem(request)
5078
+ .pipe(catchError(() => of(null)))
5079
+ .subscribe(result => {
5080
+ this.$saving.set(false);
5081
+ if (result) {
5082
+ this.stateService.hideModal();
5083
+ this.resetState();
5084
+ this.stateService.loadItems();
5085
+ }
5086
+ });
5087
+ }
5088
+ handleEdit() {
5089
+ if (!this._editingItem)
5090
+ return;
5091
+ const selectedId = this.selectedItemControl.value;
5092
+ if (!selectedId)
5093
+ return;
5094
+ const request = this._editingItem.type === StartableItemType.PROCESS
5095
+ ? {
5096
+ type: StartableItemType.PROCESS,
5097
+ properties: { processDefinitionId: selectedId },
5098
+ }
5099
+ : {
5100
+ type: StartableItemType.BUILDING_BLOCK,
5101
+ properties: {
5102
+ buildingBlockDefinitionKey: selectedId,
5103
+ buildingBlockDefinitionVersionTag: this.getSelectedBuildingBlockVersionTag(selectedId),
5104
+ },
5105
+ };
5106
+ this.stateService
5107
+ .updateItem(this._editingItem.key, this._editingItem.versionTag, request)
5108
+ .pipe(catchError(() => {
5109
+ this.$saving.set(false);
5110
+ this.stateService.loadItems();
5111
+ return EMPTY;
5112
+ }))
5113
+ .subscribe(() => {
5114
+ this.$saving.set(false);
5115
+ this.stateService.hideModal();
5116
+ this.resetState();
5117
+ this.stateService.loadItems();
5118
+ });
5119
+ }
5120
+ getSelectedBuildingBlockVersionTag(key) {
5121
+ return this._buildingBlockItems.find(item => item.key === key)?.versionTag ?? '';
5122
+ }
5123
+ resetState() {
5124
+ runAfterCarbonModalClosed(() => {
5125
+ this.$step.set('selectType');
5126
+ this.$selectedType.set(null);
5127
+ this.$saving.set(false);
5128
+ this.formGroup.reset();
5129
+ this._editingItem = null;
5130
+ });
5131
+ }
5132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementActionsModalComponent, deps: [{ token: StartableItemManagementService }, { token: i4.ProcessLinkBuildingBlockApiService }, { token: i1$4.FormBuilder }, { token: i3.TranslateService }, { token: i2.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
5133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementActionsModalComponent, isStandalone: true, selector: "valtimo-case-management-actions-modal", outputs: { configureBuildingBlockEvent: "configureBuildingBlockEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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 *ngIf=\"{showModal: showModal$ | async, editingItem: editingItem$ | async} as obs\"\n [open]=\"obs.showModal\"\n showFooter=\"true\"\n valtimoCdsModal\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>{{ modalTitle }}</h3>\n\n <p cdsModalHeaderDescription>{{ modalDescription }}</p>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngIf=\"$step() === 'selectType'\">\n <div class=\"action-type-tiles\">\n <button\n class=\"action-type-tile\"\n [disabled]=\"$processItemsEmpty()\"\n [vTooltip]=\"'caseManagement.actions.modal.noProcessesAvailable' | translate\"\n [tooltipDisabled]=\"!$processItemsEmpty()\"\n (click)=\"onSelectType(StartableItemType.PROCESS)\"\n >\n <span class=\"action-type-tile__label\">\n {{ 'caseManagement.actions.type.PROCESS' | translate }}\n </span>\n <svg cdsIcon=\"flow--modeler\" size=\"20\" class=\"action-type-tile__icon\"></svg>\n </button>\n\n <button\n class=\"action-type-tile\"\n [disabled]=\"$buildingBlockItemsEmpty()\"\n [vTooltip]=\"'caseManagement.actions.modal.noBuildingBlocksAvailable' | translate\"\n [tooltipDisabled]=\"!$buildingBlockItemsEmpty()\"\n (click)=\"onSelectType(StartableItemType.BUILDING_BLOCK)\"\n >\n <span class=\"action-type-tile__label\">\n {{ 'caseManagement.actions.type.BUILDING_BLOCK' | translate }}\n </span>\n <svg cdsIcon=\"block-storage--alt\" size=\"20\" class=\"action-type-tile__icon\"></svg>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"$step() === 'selectItem'\">\n <form [formGroup]=\"formGroup\">\n <ng-container *ngIf=\"$selectedType() === StartableItemType.PROCESS\">\n <cds-combo-box\n [items]=\"(availableProcessItems$ | async) || []\"\n [label]=\"'caseManagement.actions.modal.selectProcess' | translate\"\n [placeholder]=\"'caseManagement.actions.modal.filterPlaceholder' | translate\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n (selected)=\"onComboBoxSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </ng-container>\n\n <ng-container *ngIf=\"$selectedType() === StartableItemType.BUILDING_BLOCK\">\n <cds-combo-box\n [items]=\"(availableBuildingBlockItems$ | async) || []\"\n [label]=\"'caseManagement.actions.modal.selectBuildingBlock' | translate\"\n [placeholder]=\"'caseManagement.actions.modal.filterPlaceholder' | translate\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n (selected)=\"onComboBoxSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </ng-container>\n </form>\n </ng-container>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <div class=\"footer-spacer\"></div>\n\n <button\n *ngIf=\"$step() === 'selectItem' && !isEditMode\"\n cdsButton=\"secondary\"\n (click)=\"onBack()\"\n >\n {{ 'caseManagement.actions.modal.back' | translate }}\n </button>\n\n <button\n *ngIf=\"$step() === 'selectItem'\"\n cdsButton=\"primary\"\n [disabled]=\"formGroup.invalid || $saving()\"\n (click)=\"onSubmit()\"\n >\n {{ primaryButtonLabel }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".action-type-tiles{display:flex;gap:1px}.action-type-tile{display:flex;flex:1 1 0;min-width:0;flex-direction:row;justify-content:space-between;align-items:center;padding:var(--cds-spacing-05, 1rem);background-color:var(--cds-background-inverse, #393939);color:var(--cds-text-inverse, #fff);border:none;cursor:pointer;transition:background-color .15s ease}.action-type-tile:hover:not(:disabled){background-color:var(--cds-background-inverse-hover, #474747)}.action-type-tile:disabled{opacity:.5;cursor:not-allowed}.action-type-tile__icon{fill:currentColor}.action-type-tile__label{font-size:var(--cds-body-compact-01-font-size, .875rem);font-weight:400}.footer-spacer{flex:1}:host ::ng-deep cds-modal-footer .cds--modal-footer{display:flex;align-items:center}\n/*!\n * Copyright 2015-2026 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ComboBoxModule }, { kind: "component", type: i2.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i7.TooltipDirective, selector: "[vTooltip]", inputs: ["vTooltip", "onBottom", "tooltipDisabled"] }, { kind: "ngmodule", type: ProgressIndicatorModule }, { kind: "ngmodule", type: LoadingModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5134
+ }
5135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementActionsModalComponent, decorators: [{
5136
+ type: Component,
5137
+ args: [{ standalone: true, selector: 'valtimo-case-management-actions-modal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
5138
+ CommonModule,
5139
+ TranslateModule,
5140
+ ModalModule,
5141
+ ButtonModule,
5142
+ IconModule,
5143
+ LayerModule,
5144
+ ReactiveFormsModule,
5145
+ ComboBoxModule,
5146
+ ValtimoCdsModalDirective,
5147
+ TooltipModule,
5148
+ ProgressIndicatorModule,
5149
+ LoadingModule,
5150
+ ], template: "<!--\n ~ Copyright 2015-2026 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 *ngIf=\"{showModal: showModal$ | async, editingItem: editingItem$ | async} as obs\"\n [open]=\"obs.showModal\"\n showFooter=\"true\"\n valtimoCdsModal\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>{{ modalTitle }}</h3>\n\n <p cdsModalHeaderDescription>{{ modalDescription }}</p>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-container *ngIf=\"$step() === 'selectType'\">\n <div class=\"action-type-tiles\">\n <button\n class=\"action-type-tile\"\n [disabled]=\"$processItemsEmpty()\"\n [vTooltip]=\"'caseManagement.actions.modal.noProcessesAvailable' | translate\"\n [tooltipDisabled]=\"!$processItemsEmpty()\"\n (click)=\"onSelectType(StartableItemType.PROCESS)\"\n >\n <span class=\"action-type-tile__label\">\n {{ 'caseManagement.actions.type.PROCESS' | translate }}\n </span>\n <svg cdsIcon=\"flow--modeler\" size=\"20\" class=\"action-type-tile__icon\"></svg>\n </button>\n\n <button\n class=\"action-type-tile\"\n [disabled]=\"$buildingBlockItemsEmpty()\"\n [vTooltip]=\"'caseManagement.actions.modal.noBuildingBlocksAvailable' | translate\"\n [tooltipDisabled]=\"!$buildingBlockItemsEmpty()\"\n (click)=\"onSelectType(StartableItemType.BUILDING_BLOCK)\"\n >\n <span class=\"action-type-tile__label\">\n {{ 'caseManagement.actions.type.BUILDING_BLOCK' | translate }}\n </span>\n <svg cdsIcon=\"block-storage--alt\" size=\"20\" class=\"action-type-tile__icon\"></svg>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"$step() === 'selectItem'\">\n <form [formGroup]=\"formGroup\">\n <ng-container *ngIf=\"$selectedType() === StartableItemType.PROCESS\">\n <cds-combo-box\n [items]=\"(availableProcessItems$ | async) || []\"\n [label]=\"'caseManagement.actions.modal.selectProcess' | translate\"\n [placeholder]=\"'caseManagement.actions.modal.filterPlaceholder' | translate\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n (selected)=\"onComboBoxSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </ng-container>\n\n <ng-container *ngIf=\"$selectedType() === StartableItemType.BUILDING_BLOCK\">\n <cds-combo-box\n [items]=\"(availableBuildingBlockItems$ | async) || []\"\n [label]=\"'caseManagement.actions.modal.selectBuildingBlock' | translate\"\n [placeholder]=\"'caseManagement.actions.modal.filterPlaceholder' | translate\"\n [appendInline]=\"false\"\n [dropUp]=\"false\"\n (selected)=\"onComboBoxSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </ng-container>\n </form>\n </ng-container>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <div class=\"footer-spacer\"></div>\n\n <button\n *ngIf=\"$step() === 'selectItem' && !isEditMode\"\n cdsButton=\"secondary\"\n (click)=\"onBack()\"\n >\n {{ 'caseManagement.actions.modal.back' | translate }}\n </button>\n\n <button\n *ngIf=\"$step() === 'selectItem'\"\n cdsButton=\"primary\"\n [disabled]=\"formGroup.invalid || $saving()\"\n (click)=\"onSubmit()\"\n >\n {{ primaryButtonLabel }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".action-type-tiles{display:flex;gap:1px}.action-type-tile{display:flex;flex:1 1 0;min-width:0;flex-direction:row;justify-content:space-between;align-items:center;padding:var(--cds-spacing-05, 1rem);background-color:var(--cds-background-inverse, #393939);color:var(--cds-text-inverse, #fff);border:none;cursor:pointer;transition:background-color .15s ease}.action-type-tile:hover:not(:disabled){background-color:var(--cds-background-inverse-hover, #474747)}.action-type-tile:disabled{opacity:.5;cursor:not-allowed}.action-type-tile__icon{fill:currentColor}.action-type-tile__label{font-size:var(--cds-body-compact-01-font-size, .875rem);font-weight:400}.footer-spacer{flex:1}:host ::ng-deep cds-modal-footer .cds--modal-footer{display:flex;align-items:center}\n/*!\n * Copyright 2015-2026 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"] }]
5151
+ }], ctorParameters: () => [{ type: StartableItemManagementService }, { type: i4.ProcessLinkBuildingBlockApiService }, { type: i1$4.FormBuilder }, { type: i3.TranslateService }, { type: i2.IconService }], propDecorators: { configureBuildingBlockEvent: [{
5152
+ type: Output
5153
+ }] } });
5154
+
5155
+ /*
5156
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
5157
+ *
5158
+ * Licensed under EUPL, Version 1.2 (the "License");
5159
+ * you may not use this file except in compliance with the License.
5160
+ * You may obtain a copy of the License at
5161
+ *
5162
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
5163
+ *
5164
+ * Unless required by applicable law or agreed to in writing, software
5165
+ * distributed under the License is distributed on an "AS IS" basis,
5166
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5167
+ * See the License for the specific language governing permissions and
5168
+ * limitations under the License.
5169
+ */
5170
+ class CaseManagementActionsComponent {
5171
+ constructor(cd, route, startableItemManagementService, editPermissionsService, processLinkStateService, processLinkStepService, buildingBlockStateService) {
5172
+ this.cd = cd;
5173
+ this.route = route;
5174
+ this.startableItemManagementService = startableItemManagementService;
5175
+ this.editPermissionsService = editPermissionsService;
5176
+ this.processLinkStateService = processLinkStateService;
5177
+ this.processLinkStepService = processLinkStepService;
5178
+ this.buildingBlockStateService = buildingBlockStateService;
5179
+ this.StartableItemType = StartableItemType;
5180
+ this.caseManagementRouteParams$ = getCaseManagementRouteParams(this.route).pipe(tap(params => {
5181
+ this.startableItemManagementService.setParams(params);
5182
+ this.startableItemManagementService.loadItems();
5183
+ }), shareReplay(1));
5184
+ this.fields$ = new BehaviorSubject([]);
5185
+ this.loading$ = this.startableItemManagementService.loading$;
5186
+ this.dragAndDropDisabled = signal(false);
5187
+ this.items$ = this.startableItemManagementService.items$;
5188
+ this.hasEditPermissions$ = this.caseManagementRouteParams$.pipe(switchMap(params => this.editPermissionsService.hasEditPermissions(params?.caseDefinitionKey, params?.caseDefinitionVersionTag)));
5189
+ this.showDeleteModal$ = this.startableItemManagementService.showDeleteModal$;
5190
+ this.itemToDelete$ = this.startableItemManagementService.itemToDelete$;
5191
+ this.ACTION_ITEMS = [
5192
+ {
5193
+ label: 'interface.edit',
5194
+ callback: this.onEditItem.bind(this),
5195
+ },
5196
+ {
5197
+ label: 'interface.delete',
5198
+ callback: this.onDeleteItem.bind(this),
5199
+ type: 'danger',
5200
+ },
5201
+ ];
5202
+ this._subscriptions = new Subscription();
5203
+ this.subscribeToProcessLinkEvents();
5204
+ this._subscriptions.add(this.startableItemManagementService.reorderComplete$.subscribe(() => {
5205
+ this.dragAndDropDisabled.set(false);
5206
+ }));
5207
+ }
5208
+ ngAfterViewInit() {
5209
+ this.cd.detectChanges();
5210
+ this.setFields();
5211
+ }
5212
+ ngOnDestroy() {
5213
+ this._subscriptions.unsubscribe();
5214
+ }
5215
+ onRowClicked(item) {
5216
+ this.hasEditPermissions$
5217
+ .pipe(filter$1(hasPermission => hasPermission), take(1))
5218
+ .subscribe(() => {
5219
+ this.onEditItem(item);
5220
+ });
5221
+ }
5222
+ onAddItemClick() {
5223
+ this.startableItemManagementService.showCreateModal();
5224
+ }
5225
+ onItemsReorderedEvent(reorderedItems) {
5226
+ if (!reorderedItems)
5227
+ return;
5228
+ this.dragAndDropDisabled.set(true);
5229
+ this.startableItemManagementService.updateOrder(reorderedItems);
5230
+ }
5231
+ onDeleteConfirm(item) {
5232
+ this.startableItemManagementService
5233
+ .deleteItem(item)
5234
+ .pipe(take(1), catchError$1(() => of(null)))
5235
+ .subscribe(() => {
5236
+ this.startableItemManagementService.hideDeleteModal();
5237
+ this.startableItemManagementService.loadItems();
5238
+ });
5239
+ }
5240
+ onConfigureBuildingBlock(request) {
5241
+ this.openProcessLinkModalForBuildingBlock(request.buildingBlockDefinitionKey, request.buildingBlockDefinitionVersionTag);
5242
+ }
5243
+ onEditItem(item) {
5244
+ if (item.type === StartableItemType.BUILDING_BLOCK) {
5245
+ this.openProcessLinkModalForBuildingBlockEdit(item);
5246
+ }
5247
+ else {
5248
+ this.startableItemManagementService.showEditModal(item);
5249
+ }
5250
+ }
5251
+ onDeleteItem(item) {
5252
+ this.startableItemManagementService.showDeleteConfirmation(item);
5253
+ }
5254
+ openProcessLinkModalForBuildingBlock(key, versionTag) {
5255
+ this.processLinkStepService.setSkipBuildingBlockSelectionStep(true);
5256
+ this.processLinkStateService.setModalParams({
5257
+ element: { id: 'ad-hoc', type: 'bpmn:CallActivity', name: key, activityListenerType: 'callActivity' },
5258
+ processDefinitionKey: '',
5259
+ processDefinitionId: '',
5260
+ });
5261
+ this.processLinkStateService.setElementName(key);
5262
+ this.buildingBlockStateService.setDefinitionKey(key, versionTag);
5263
+ // Set the process link type without triggering default step navigation
5264
+ this.processLinkStepService.setHasOneProcessLinkType(true);
5265
+ this.processLinkStateService.selectProcessLinkType('building-block', true);
5266
+ // Override: skip directly to the configureBuildingBlockPlugins step
5267
+ // since the building block is already selected in the actions modal
5268
+ this.processLinkStepService.setConfigureBuildingBlockPluginsStep(key);
5269
+ this.processLinkStateService.showModal();
5270
+ }
5271
+ openProcessLinkModalForBuildingBlockEdit(item) {
5272
+ this.processLinkStepService.setSkipBuildingBlockSelectionStep(true);
5273
+ this.startableItemManagementService
5274
+ .getItemProperties(item.key, item.versionTag, StartableItemType.BUILDING_BLOCK)
5275
+ .pipe(take(1))
5276
+ .subscribe(properties => {
5277
+ this.processLinkStateService.setModalParams({
5278
+ element: { id: 'ad-hoc', type: 'bpmn:CallActivity', name: item.name || item.key, activityListenerType: 'callActivity' },
5279
+ processDefinitionKey: '',
5280
+ processDefinitionId: '',
5281
+ });
5282
+ this.processLinkStateService.setElementName(item.name || item.key);
5283
+ this.processLinkStateService.selectProcessLink({
5284
+ id: `${item.key}:${item.versionTag}`,
5285
+ processDefinitionId: '',
5286
+ activityId: 'ad-hoc',
5287
+ activityType: 'callActivity',
5288
+ processLinkType: 'building-block',
5289
+ buildingBlockDefinitionKey: item.key,
5290
+ buildingBlockDefinitionVersionTag: item.versionTag ?? '',
5291
+ inputMappings: properties?.inputMappings ?? [],
5292
+ outputMappings: properties?.outputMappings ?? [],
5293
+ pluginConfigurationMappings: properties?.pluginConfigurationMappings ?? {},
5294
+ });
5295
+ this.processLinkStateService.showModal();
5296
+ });
5297
+ }
5298
+ subscribeToProcessLinkEvents() {
5299
+ this._subscriptions.add(this.processLinkStateService.processLinkCreateEvents$.subscribe(event => {
5300
+ this.processLinkStateService.stopSaving();
5301
+ this.processLinkStateService.closeModal();
5302
+ this.saveBuildingBlockStartableItem(event);
5303
+ }));
5304
+ this._subscriptions.add(this.processLinkStateService.processLinkUpdateEvents$.subscribe(event => {
5305
+ this.processLinkStateService.stopSaving();
5306
+ this.processLinkStateService.closeModal();
5307
+ this.updateBuildingBlockStartableItem(event);
5308
+ }));
5309
+ }
5310
+ saveBuildingBlockStartableItem(event) {
5311
+ const request = {
5312
+ type: StartableItemType.BUILDING_BLOCK,
5313
+ properties: {
5314
+ buildingBlockDefinitionKey: event.buildingBlockDefinitionKey,
5315
+ buildingBlockDefinitionVersionTag: event.buildingBlockDefinitionVersionTag,
5316
+ inputMappings: this.normalizeMappingsForSave(event.inputMappings || [], 'input'),
5317
+ outputMappings: this.normalizeMappingsForSave(event.outputMappings || [], 'output'),
5318
+ pluginConfigurationMappings: event.pluginConfigurationMappings || {},
5319
+ },
5320
+ };
5321
+ this.startableItemManagementService
5322
+ .createItem(request)
5323
+ .pipe(catchError$1(() => of(null)))
5324
+ .subscribe(() => {
5325
+ this.startableItemManagementService.loadItems();
5326
+ });
5327
+ }
5328
+ updateBuildingBlockStartableItem(event) {
5329
+ const key = event.buildingBlockDefinitionKey;
5330
+ const versionTag = event.buildingBlockDefinitionVersionTag;
5331
+ const request = {
5332
+ type: StartableItemType.BUILDING_BLOCK,
5333
+ properties: {
5334
+ buildingBlockDefinitionKey: key,
5335
+ buildingBlockDefinitionVersionTag: versionTag,
5336
+ inputMappings: this.normalizeMappingsForSave(event.inputMappings || [], 'input'),
5337
+ outputMappings: this.normalizeMappingsForSave(event.outputMappings || [], 'output'),
5338
+ pluginConfigurationMappings: event.pluginConfigurationMappings || {},
5339
+ },
5340
+ };
5341
+ this.startableItemManagementService
5342
+ .updateItem(key, versionTag, request)
5343
+ .pipe(catchError$1(() => of(null)))
5344
+ .subscribe(() => {
5345
+ this.startableItemManagementService.loadItems();
5346
+ });
5347
+ }
5348
+ /**
5349
+ * Ensures building block field references have the `doc:/` prefix for the backend value resolver.
5350
+ * For input mappings, the target is a building block field (needs prefix).
5351
+ * For output mappings, the source is a building block field (needs prefix).
5352
+ */
5353
+ normalizeMappingsForSave(mappings, direction) {
5354
+ return mappings.map(mapping => {
5355
+ if (direction === 'input') {
5356
+ return { ...mapping, target: ensureDocPrefix(mapping.target) };
5357
+ }
5358
+ return { ...mapping, source: ensureDocPrefix(mapping.source) };
5359
+ });
5360
+ }
5361
+ setFields() {
5362
+ this.fields$.next([
5363
+ {
5364
+ key: 'name',
5365
+ label: 'caseManagement.actions.columns.name',
5366
+ viewType: ViewType.TEXT,
5367
+ },
5368
+ {
5369
+ viewType: ViewType.TEMPLATE,
5370
+ template: this.typeColumnTemplate,
5371
+ key: '',
5372
+ label: 'caseManagement.actions.columns.type',
5373
+ },
5374
+ ]);
5375
+ }
5376
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementActionsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2$1.ActivatedRoute }, { token: StartableItemManagementService }, { token: i3$1.EditPermissionsService }, { token: i4.ProcessLinkStateService }, { token: i4.ProcessLinkStepService }, { token: i4.BuildingBlockStateService }], target: i0.ɵɵFactoryTarget.Component }); }
5377
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementActionsComponent, isStandalone: true, selector: "valtimo-case-management-actions", providers: [StartableItemManagementService, ProcessLinkStateService, ProcessLinkStepService, ProcessLinkButtonService], viewQueries: [{ propertyName: "typeColumnTemplate", first: true, predicate: ["typeColumn"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n routeParams: caseManagementRouteParams$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n } as obs\"\n>\n <cds-inline-notification\n [notificationObj]=\"{\n type: 'info',\n title: '',\n message: ('caseManagement.actions.infoNotification.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n\n <valtimo-carbon-list\n *ngIf=\"{fields: fields$ | async, loading: loading$ | async, items: items$ | async} as listObs\"\n [items]=\"listObs.items\"\n [fields]=\"listObs.fields\"\n [header]=\"false\"\n [loading]=\"listObs.loading\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"dragAndDropDisabled() || !obs.hasEditPermissions\"\n [actionItems]=\"ACTION_ITEMS\"\n [showActionItems]=\"obs.hasEditPermissions\"\n (rowClicked)=\"onRowClicked($event)\"\n (itemsReordered)=\"onItemsReorderedEvent($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addItemButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addItemButton\"\n [description]=\"'caseManagement.actions.noResultsDescription' | translate\"\n [title]=\"'caseManagement.actions.noResults' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <ng-template #typeColumn let-data=\"data\">\n <cds-tag\n class=\"cds-tag--no-margin\"\n [type]=\"data.item.type === StartableItemType.PROCESS ? 'blue' : 'purple'\"\n >\n {{ 'caseManagement.actions.type.' + data.item.type | translate }}\n </cds-tag>\n </ng-template>\n\n <ng-template #addItemButton>\n <button\n *ngIf=\"obs.hasEditPermissions\"\n cdsButton=\"primary\"\n (click)=\"onAddItemClick()\"\n >\n {{ 'caseManagement.actions.addItem' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </ng-template>\n</ng-container>\n\n<valtimo-case-management-actions-modal\n (configureBuildingBlockEvent)=\"onConfigureBuildingBlock($event)\"\n></valtimo-case-management-actions-modal>\n\n<valtimo-process-link-modal></valtimo-process-link-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"caseManagement.actions.deleteModal.content\"\n [outputOnConfirm]=\"itemToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"caseManagement.actions.deleteModal.title\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n", styles: [":host ::ng-deep cds-inline-notification{max-inline-size:unset;margin-bottom:16px}:host ::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2026 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i7.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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: NotificationModule }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: CaseManagementActionsModalComponent, selector: "valtimo-case-management-actions-modal", outputs: ["configureBuildingBlockEvent"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i7.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "ngmodule", type: ProcessLinkModule }, { kind: "component", type: i4.ProcessLinkModalComponent, selector: "valtimo-process-link-modal" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5378
+ }
5379
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementActionsComponent, decorators: [{
5380
+ type: Component,
5381
+ args: [{ standalone: true, selector: 'valtimo-case-management-actions', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
5382
+ CommonModule,
5383
+ TranslateModule,
5384
+ CarbonListModule,
5385
+ ButtonModule,
5386
+ IconModule,
5387
+ NotificationModule,
5388
+ TagModule,
5389
+ CaseManagementActionsModalComponent,
5390
+ ConfirmationModalModule,
5391
+ ProcessLinkModule,
5392
+ ], providers: [StartableItemManagementService, ProcessLinkStateService, ProcessLinkStepService, ProcessLinkButtonService], template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n routeParams: caseManagementRouteParams$ | async,\n hasEditPermissions: hasEditPermissions$ | async,\n } as obs\"\n>\n <cds-inline-notification\n [notificationObj]=\"{\n type: 'info',\n title: '',\n message: ('caseManagement.actions.infoNotification.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n\n <valtimo-carbon-list\n *ngIf=\"{fields: fields$ | async, loading: loading$ | async, items: items$ | async} as listObs\"\n [items]=\"listObs.items\"\n [fields]=\"listObs.fields\"\n [header]=\"false\"\n [loading]=\"listObs.loading\"\n [dragAndDrop]=\"true\"\n [dragAndDropDisabled]=\"dragAndDropDisabled() || !obs.hasEditPermissions\"\n [actionItems]=\"ACTION_ITEMS\"\n [showActionItems]=\"obs.hasEditPermissions\"\n (rowClicked)=\"onRowClicked($event)\"\n (itemsReordered)=\"onItemsReorderedEvent($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addItemButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addItemButton\"\n [description]=\"'caseManagement.actions.noResultsDescription' | translate\"\n [title]=\"'caseManagement.actions.noResults' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <ng-template #typeColumn let-data=\"data\">\n <cds-tag\n class=\"cds-tag--no-margin\"\n [type]=\"data.item.type === StartableItemType.PROCESS ? 'blue' : 'purple'\"\n >\n {{ 'caseManagement.actions.type.' + data.item.type | translate }}\n </cds-tag>\n </ng-template>\n\n <ng-template #addItemButton>\n <button\n *ngIf=\"obs.hasEditPermissions\"\n cdsButton=\"primary\"\n (click)=\"onAddItemClick()\"\n >\n {{ 'caseManagement.actions.addItem' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </ng-template>\n</ng-container>\n\n<valtimo-case-management-actions-modal\n (configureBuildingBlockEvent)=\"onConfigureBuildingBlock($event)\"\n></valtimo-case-management-actions-modal>\n\n<valtimo-process-link-modal></valtimo-process-link-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"caseManagement.actions.deleteModal.content\"\n [outputOnConfirm]=\"itemToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"caseManagement.actions.deleteModal.title\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n", styles: [":host ::ng-deep cds-inline-notification{max-inline-size:unset;margin-bottom:16px}:host ::ng-deep .cds-tag--no-margin{margin:0}\n/*!\n * Copyright 2015-2026 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"] }]
5393
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2$1.ActivatedRoute }, { type: StartableItemManagementService }, { type: i3$1.EditPermissionsService }, { type: i4.ProcessLinkStateService }, { type: i4.ProcessLinkStepService }, { type: i4.BuildingBlockStateService }], propDecorators: { typeColumnTemplate: [{
5394
+ type: ViewChild,
5395
+ args: ['typeColumn']
5396
+ }] } });
5397
+
4667
5398
  /*
4668
5399
  * Copyright 2015-2026 Ritense BV, the Netherlands.
4669
5400
  *
@@ -4726,10 +5457,10 @@ const STEPS = [
4726
5457
  * limitations under the License.
4727
5458
  */
4728
5459
  class CaseManagementUploadStepComponent {
4729
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementUploadStepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4730
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementUploadStepComponent, isStandalone: false, selector: "valtimo-case-management-upload-step", inputs: { illustration: "illustration", message: "message", title: "title" }, 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<div class=\"valtimo-upload-step__content\">\n <div class=\"valtimo-upload-step__title\">{{ title }}</div>\n\n <div class=\"valtimo-upload-step__message\">{{ message }}</div>\n</div>\n\n<img [src]=\"illustration\" alt=\"{{ illustration }}\" class=\"valtimo-upload-step__illustration\" />\n", styles: [":host{display:flex;justify-content:space-around;align-items:center;gap:32px;height:100%}:host label{color:unset}.valtimo-upload-step__content{display:flex;flex-direction:column;gap:16px}.valtimo-upload-step__title{font-weight:600;font-size:16px}.valtimo-upload-step__message{font-size:16px;line-height:28px}.valtimo-upload-step__illustration{max-width:200px}\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"] }); }
5460
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementUploadStepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5461
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementUploadStepComponent, isStandalone: false, selector: "valtimo-case-management-upload-step", inputs: { illustration: "illustration", message: "message", title: "title" }, 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<div class=\"valtimo-upload-step__content\">\n <div class=\"valtimo-upload-step__title\">{{ title }}</div>\n\n <div class=\"valtimo-upload-step__message\">{{ message }}</div>\n</div>\n\n<img [src]=\"illustration\" alt=\"{{ illustration }}\" class=\"valtimo-upload-step__illustration\" />\n", styles: [":host{display:flex;justify-content:space-around;align-items:center;gap:32px;height:100%}:host label{color:unset}.valtimo-upload-step__content{display:flex;flex-direction:column;gap:16px}.valtimo-upload-step__title{font-weight:600;font-size:16px}.valtimo-upload-step__message{font-size:16px;line-height:28px}.valtimo-upload-step__illustration{max-width:200px}\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"] }); }
4731
5462
  }
4732
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementUploadStepComponent, decorators: [{
5463
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementUploadStepComponent, decorators: [{
4733
5464
  type: Component,
4734
5465
  args: [{ standalone: false, selector: 'valtimo-case-management-upload-step', 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<div class=\"valtimo-upload-step__content\">\n <div class=\"valtimo-upload-step__title\">{{ title }}</div>\n\n <div class=\"valtimo-upload-step__message\">{{ message }}</div>\n</div>\n\n<img [src]=\"illustration\" alt=\"{{ illustration }}\" class=\"valtimo-upload-step__illustration\" />\n", styles: [":host{display:flex;justify-content:space-around;align-items:center;gap:32px;height:100%}:host label{color:unset}.valtimo-upload-step__content{display:flex;flex-direction:column;gap:16px}.valtimo-upload-step__title{font-weight:600;font-size:16px}.valtimo-upload-step__message{font-size:16px;line-height:28px}.valtimo-upload-step__illustration{max-width:200px}\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"] }]
4735
5466
  }], propDecorators: { illustration: [{
@@ -4963,10 +5694,10 @@ class CaseManagementUploadComponent {
4963
5694
  this.overrideConfirmed$.next(false);
4964
5695
  }, CARBON_CONSTANTS.modalAnimationMs);
4965
5696
  }
4966
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementUploadComponent, deps: [{ token: CaseManagementService }, { token: i1$4.FormBuilder }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
4967
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementUploadComponent, isStandalone: false, selector: "valtimo-case-management-upload", inputs: { open: "open" }, outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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 *ngIf=\"{\n activeStep: activeStep$ | async,\n backButtonEnabled: backButtonEnabled$ | async,\n isStepAfterUpload: isStepAfterUpload$ | async,\n nextButtonDisabled: nextButtonDisabled$ | async,\n showCloseButton: showCloseButton$ | async,\n uploadStatus: uploadStatus$ | async,\n preview: preview$ | async,\n importWarning: importWarning$ | async,\n } as obs\"\n valtimoCdsModal\n [open]=\"open\"\n showFooter=\"true\"\n class=\"valtimo-definition-uploader\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header\n [showCloseButton]=\"obs.showCloseButton\"\n (closeSelect)=\"onCloseModal(obs.isStepAfterUpload && obs.uploadStatus !== UPLOAD_STATUS.ERROR)\"\n >\n <h3 cdsModalHeaderHeading>\n {{ 'caseManagement.importDefinition.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section\n [ngSwitch]=\"obs.activeStep\"\n [cdsLayer]=\"1\"\n cdsModalContent\n class=\"valtimo-definition-uploader__content\"\n >\n <ng-template ngSwitchDefault>\n <valtimo-case-management-upload-step\n [message]=\"\n 'caseManagement.importDefinition.steps.' + obs.activeStep + '.message' | translate\n \"\n [title]=\"'caseManagement.importDefinition.steps.' + obs.activeStep + '.title' | translate\"\n [illustration]=\"'valtimo-layout/img/' + obs.activeStep + '.svg'\"\n >\n </valtimo-case-management-upload-step>\n </ng-template>\n\n <form *ngSwitchCase=\"UPLOAD_STEP.FILE_SELECT\" [formGroup]=\"form\">\n <cds-file-uploader\n [accept]=\"acceptedFiles\"\n [buttonText]=\"'caseManagement.importDefinition.upload.buttonText' | translate\"\n [description]=\"'caseManagement.importDefinition.upload.description' | translate\"\n [multiple]=\"false\"\n [title]=\"'caseManagement.importDefinition.upload.title' | translate\"\n buttonType=\"primary\"\n formControlName=\"file\"\n [attr.data-test-id]=\"testIds.fileUploader\"\n class=\"valtimo-definition-uploader__file-uploader\"\n >\n </cds-file-uploader>\n </form>\n\n <form\n *ngSwitchCase=\"UPLOAD_STEP.CONFIGURE\"\n [formGroup]=\"configureForm\"\n class=\"valtimo-definition-uploader__configure\"\n >\n <cds-label>\n {{ 'caseManagement.createDefinition.name' | translate }}\n <input\n formControlName=\"name\"\n cdsText\n [attr.data-test-id]=\"testIds.nameInput\"\n />\n </cds-label>\n\n <valtimo-auto-key-input\n [mode]=\"'add'\"\n [sourceText]=\"nameControl.value\"\n formControlName=\"caseDefinitionKey\"\n labelTranslationKey=\"caseManagement.createDefinition.key\"\n >\n </valtimo-auto-key-input>\n\n <div class=\"valtimo-definition-uploader__version-label\">\n <label class=\"cds--label\">\n {{ 'caseManagement.createDefinition.version' | translate }}\n </label>\n <div\n class=\"valtimo-definition-uploader__version-field\"\n [attr.data-test-id]=\"testIds.versionTag\"\n >\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"obs.preview?.isFinal ? 'green' : 'red'\">\n {{\n (obs.preview?.isFinal\n ? 'caseManagement.importDefinition.configure.finalTag'\n : 'caseManagement.importDefinition.configure.draftTag'\n ) | translate\n }}\n </cds-tag>\n <span>{{ obs.preview?.versionTag }}</span>\n </div>\n </div>\n\n <ng-container [ngSwitch]=\"obs.importWarning\">\n <cds-inline-notification\n *ngSwitchCase=\"IMPORT_WARNING.NEW_VERSION\"\n [notificationObj]=\"{\n type: 'info',\n title: ('caseManagement.importDefinition.configure.newVersionWarning.title' | translate),\n message: ('caseManagement.importDefinition.configure.newVersionWarning.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n\n <ng-container *ngSwitchCase=\"IMPORT_WARNING.EXISTING_DRAFT\">\n <cds-inline-notification\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.importDefinition.configure.existingDraftWarning.title' | translate),\n message: ('caseManagement.importDefinition.configure.existingDraftWarning.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n <cds-checkbox\n [attr.data-test-id]=\"testIds.overrideCheckbox\"\n (checkedChange)=\"overrideConfirmed$.next($event)\"\n >\n {{\n 'caseManagement.importDefinition.configure.overrideConfirm' | translate\n }}\n </cds-checkbox>\n </ng-container>\n\n <cds-inline-notification\n *ngSwitchCase=\"IMPORT_WARNING.EXISTING_FINAL\"\n [notificationObj]=\"{\n type: 'error',\n title: ('caseManagement.importDefinition.configure.existingFinalWarning.title' | translate),\n message: ('caseManagement.importDefinition.configure.existingFinalWarning.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n </ng-container>\n </form>\n\n <cds-progress-bar\n *ngSwitchCase=\"UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__progress-bar\"\n [label]=\"'caseManagement.importDefinition.progressBar.label' | translate\"\n [status]=\"obs.uploadStatus\"\n [helperText]=\"'caseManagement.importDefinition.progressBar.' + obs.uploadStatus | translate\"\n ></cds-progress-bar>\n </section>\n\n <cds-modal-footer\n class=\"valtimo-definition-uploader__footer\"\n [class.valtimo-definition-uploader__footer--double]=\"obs.activeStep === UPLOAD_STEP.PLUGINS\"\n >\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"ghost\"\n (click)=\"onCloseModal(obs.isStepAfterUpload)\"\n >\n {{ (obs.isStepAfterUpload ? 'interface.skip' : 'interface.cancel') | translate }}\n </button>\n\n <div class=\"valtimo-definition-uploader__actions\">\n <button\n *ngIf=\"obs.backButtonEnabled\"\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.cancelButton\"\n (click)=\"onBackClick(obs.activeStep)\"\n >\n {{ 'interface.back' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.DASHBOARD\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.nextButton\"\n [disabled]=\"obs.nextButtonDisabled\"\n (click)=\"onNextClick(obs.activeStep)\"\n >\n {{\n (obs.activeStep === UPLOAD_STEP.CONFIGURE\n ? 'caseManagement.importDefinition.startUpload'\n : 'interface.next'\n ) | translate\n }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus === UPLOAD_STATUS.ERROR || obs.activeStep === UPLOAD_STEP.DASHBOARD\"\n class=\"valtimo-definition-uploader__cancel\"\n [attr.data-test-id]=\"testIds.finishButton\"\n cdsButton=\"primary\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.finish' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-uploader__content,.valtimo-definition-uploader__content form{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__footer ::ng-deep .cds--modal-footer{justify-content:unset!important;display:grid!important;grid-template-columns:1fr 1fr 2fr!important;grid-template-areas:\"cancel . actions\"!important}.valtimo-definition-uploader__footer--double ::ng-deep .cds--modal-footer{grid-template-columns:1fr 1fr!important;grid-template-areas:\"cancel actions\"!important}.valtimo-definition-uploader__progress-bar{height:100%;display:flex;flex-direction:column;justify-content:center}.valtimo-definition-uploader__error{display:flex;align-items:center;gap:10px;color:#da1e28;fill:#da1e28;font-size:12px}.valtimo-definition-uploader__cancel{grid-area:cancel;width:100%}.valtimo-definition-uploader__actions{grid-area:actions;display:flex}.valtimo-definition-uploader__actions button{flex:unset;width:100%}.valtimo-definition-uploader__file-uploader ::ng-deep cds-file{max-width:unset}.valtimo-definition-uploader__configure{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__version-field{width:100%;display:flex;gap:8px;align-items:center;height:2.5rem;padding:0 1rem;background-color:var(--cds-layer-01);border-bottom:1px solid var(--cds-border-strong)}.valtimo-definition-uploader__version-field span{color:var(--cds-text-primary);font-size:.875rem;line-height:1.125rem;font-weight:400;letter-spacing:.16px}.valtimo-definition-uploader ::ng-deep .cds--modal-container{height:550px}.valtimo-definition-uploader ::ng-deep .cds--checkbox-label-text{color:#000}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: i2.FileUploader, selector: "cds-file-uploader, ibm-file-uploader", inputs: ["buttonText", "buttonType", "title", "description", "accept", "multiple", "skeleton", "size", "fileItemSize", "drop", "dropText", "fileUploaderId", "files", "disabled"], outputs: ["filesChange"] }, { kind: "component", type: i2.ProgressBar, selector: "cds-progress-bar, ibm-progress-bar", inputs: ["value", "id", "label", "helperText", "max", "type", "status", "size"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i7.AutoKeyInputComponent, selector: "valtimo-auto-key-input", inputs: ["labelTranslationKey", "placeholderTranslationKey", "mode", "usedKeys", "sourceText"] }, { kind: "component", type: CaseManagementUploadStepComponent, selector: "valtimo-case-management-upload-step", inputs: ["illustration", "message", "title"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5697
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementUploadComponent, deps: [{ token: CaseManagementService }, { token: i1$4.FormBuilder }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
5698
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementUploadComponent, isStandalone: false, selector: "valtimo-case-management-upload", inputs: { open: "open" }, outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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 *ngIf=\"{\n activeStep: activeStep$ | async,\n backButtonEnabled: backButtonEnabled$ | async,\n isStepAfterUpload: isStepAfterUpload$ | async,\n nextButtonDisabled: nextButtonDisabled$ | async,\n showCloseButton: showCloseButton$ | async,\n uploadStatus: uploadStatus$ | async,\n preview: preview$ | async,\n importWarning: importWarning$ | async,\n } as obs\"\n valtimoCdsModal\n [open]=\"open\"\n showFooter=\"true\"\n class=\"valtimo-definition-uploader\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header\n [showCloseButton]=\"obs.showCloseButton\"\n (closeSelect)=\"onCloseModal(obs.isStepAfterUpload && obs.uploadStatus !== UPLOAD_STATUS.ERROR)\"\n >\n <h3 cdsModalHeaderHeading>\n {{ 'caseManagement.importDefinition.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section\n [ngSwitch]=\"obs.activeStep\"\n [cdsLayer]=\"1\"\n cdsModalContent\n class=\"valtimo-definition-uploader__content\"\n >\n <ng-template ngSwitchDefault>\n <valtimo-case-management-upload-step\n [message]=\"\n 'caseManagement.importDefinition.steps.' + obs.activeStep + '.message' | translate\n \"\n [title]=\"'caseManagement.importDefinition.steps.' + obs.activeStep + '.title' | translate\"\n [illustration]=\"'valtimo-layout/img/' + obs.activeStep + '.svg'\"\n >\n </valtimo-case-management-upload-step>\n </ng-template>\n\n <form *ngSwitchCase=\"UPLOAD_STEP.FILE_SELECT\" [formGroup]=\"form\">\n <cds-file-uploader\n [accept]=\"acceptedFiles\"\n [buttonText]=\"'caseManagement.importDefinition.upload.buttonText' | translate\"\n [description]=\"'caseManagement.importDefinition.upload.description' | translate\"\n [multiple]=\"false\"\n [title]=\"'caseManagement.importDefinition.upload.title' | translate\"\n buttonType=\"primary\"\n formControlName=\"file\"\n [attr.data-test-id]=\"testIds.fileUploader\"\n class=\"valtimo-definition-uploader__file-uploader\"\n >\n </cds-file-uploader>\n </form>\n\n <form\n *ngSwitchCase=\"UPLOAD_STEP.CONFIGURE\"\n [formGroup]=\"configureForm\"\n class=\"valtimo-definition-uploader__configure\"\n >\n <cds-label>\n {{ 'caseManagement.createDefinition.name' | translate }}\n <input\n formControlName=\"name\"\n cdsText\n [attr.data-test-id]=\"testIds.nameInput\"\n />\n </cds-label>\n\n <valtimo-auto-key-input\n [mode]=\"'add'\"\n [sourceText]=\"nameControl.value\"\n formControlName=\"caseDefinitionKey\"\n labelTranslationKey=\"caseManagement.createDefinition.key\"\n >\n </valtimo-auto-key-input>\n\n <div class=\"valtimo-definition-uploader__version-label\">\n <label class=\"cds--label\">\n {{ 'caseManagement.createDefinition.version' | translate }}\n </label>\n <div\n class=\"valtimo-definition-uploader__version-field\"\n [attr.data-test-id]=\"testIds.versionTag\"\n >\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"obs.preview?.isFinal ? 'green' : 'red'\">\n {{\n (obs.preview?.isFinal\n ? 'caseManagement.importDefinition.configure.finalTag'\n : 'caseManagement.importDefinition.configure.draftTag'\n ) | translate\n }}\n </cds-tag>\n <span>{{ obs.preview?.versionTag }}</span>\n </div>\n </div>\n\n <ng-container [ngSwitch]=\"obs.importWarning\">\n <cds-inline-notification\n *ngSwitchCase=\"IMPORT_WARNING.NEW_VERSION\"\n [notificationObj]=\"{\n type: 'info',\n title: ('caseManagement.importDefinition.configure.newVersionWarning.title' | translate),\n message: ('caseManagement.importDefinition.configure.newVersionWarning.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n\n <ng-container *ngSwitchCase=\"IMPORT_WARNING.EXISTING_DRAFT\">\n <cds-inline-notification\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.importDefinition.configure.existingDraftWarning.title' | translate),\n message: ('caseManagement.importDefinition.configure.existingDraftWarning.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n <cds-checkbox\n [attr.data-test-id]=\"testIds.overrideCheckbox\"\n (checkedChange)=\"overrideConfirmed$.next($event)\"\n >\n {{\n 'caseManagement.importDefinition.configure.overrideConfirm' | translate\n }}\n </cds-checkbox>\n </ng-container>\n\n <cds-inline-notification\n *ngSwitchCase=\"IMPORT_WARNING.EXISTING_FINAL\"\n [notificationObj]=\"{\n type: 'error',\n title: ('caseManagement.importDefinition.configure.existingFinalWarning.title' | translate),\n message: ('caseManagement.importDefinition.configure.existingFinalWarning.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n </ng-container>\n </form>\n\n <cds-progress-bar\n *ngSwitchCase=\"UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__progress-bar\"\n [label]=\"'caseManagement.importDefinition.progressBar.label' | translate\"\n [status]=\"obs.uploadStatus\"\n [helperText]=\"'caseManagement.importDefinition.progressBar.' + obs.uploadStatus | translate\"\n ></cds-progress-bar>\n </section>\n\n <cds-modal-footer\n class=\"valtimo-definition-uploader__footer\"\n [class.valtimo-definition-uploader__footer--double]=\"obs.activeStep === UPLOAD_STEP.PLUGINS\"\n >\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"ghost\"\n (click)=\"onCloseModal(obs.isStepAfterUpload)\"\n >\n {{ (obs.isStepAfterUpload ? 'interface.skip' : 'interface.cancel') | translate }}\n </button>\n\n <div class=\"valtimo-definition-uploader__actions\">\n <button\n *ngIf=\"obs.backButtonEnabled\"\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.cancelButton\"\n (click)=\"onBackClick(obs.activeStep)\"\n >\n {{ 'interface.back' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.DASHBOARD\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.nextButton\"\n [disabled]=\"obs.nextButtonDisabled\"\n (click)=\"onNextClick(obs.activeStep)\"\n >\n {{\n (obs.activeStep === UPLOAD_STEP.CONFIGURE\n ? 'caseManagement.importDefinition.startUpload'\n : 'interface.next'\n ) | translate\n }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus === UPLOAD_STATUS.ERROR || obs.activeStep === UPLOAD_STEP.DASHBOARD\"\n class=\"valtimo-definition-uploader__cancel\"\n [attr.data-test-id]=\"testIds.finishButton\"\n cdsButton=\"primary\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.finish' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-uploader__content,.valtimo-definition-uploader__content form{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__footer ::ng-deep .cds--modal-footer{justify-content:unset!important;display:grid!important;grid-template-columns:1fr 1fr 2fr!important;grid-template-areas:\"cancel . actions\"!important}.valtimo-definition-uploader__footer--double ::ng-deep .cds--modal-footer{grid-template-columns:1fr 1fr!important;grid-template-areas:\"cancel actions\"!important}.valtimo-definition-uploader__progress-bar{height:100%;display:flex;flex-direction:column;justify-content:center}.valtimo-definition-uploader__error{display:flex;align-items:center;gap:10px;color:#da1e28;fill:#da1e28;font-size:12px}.valtimo-definition-uploader__cancel{grid-area:cancel;width:100%}.valtimo-definition-uploader__actions{grid-area:actions;display:flex}.valtimo-definition-uploader__actions button{flex:unset;width:100%}.valtimo-definition-uploader__file-uploader ::ng-deep cds-file{max-width:unset}.valtimo-definition-uploader__configure{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__version-field{width:100%;display:flex;gap:8px;align-items:center;height:2.5rem;padding:0 1rem;background-color:var(--cds-layer-01);border-bottom:1px solid var(--cds-border-strong)}.valtimo-definition-uploader__version-field span{color:var(--cds-text-primary);font-size:.875rem;line-height:1.125rem;font-weight:400;letter-spacing:.16px}.valtimo-definition-uploader ::ng-deep .cds--modal-container{height:550px}.valtimo-definition-uploader ::ng-deep .cds--checkbox-label-text{color:#000}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: i2.FileUploader, selector: "cds-file-uploader, ibm-file-uploader", inputs: ["buttonText", "buttonType", "title", "description", "accept", "multiple", "skeleton", "size", "fileItemSize", "drop", "dropText", "fileUploaderId", "files", "disabled"], outputs: ["filesChange"] }, { kind: "component", type: i2.ProgressBar, selector: "cds-progress-bar, ibm-progress-bar", inputs: ["value", "id", "label", "helperText", "max", "type", "status", "size"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i7.AutoKeyInputComponent, selector: "valtimo-auto-key-input", inputs: ["labelTranslationKey", "placeholderTranslationKey", "mode", "usedKeys", "sourceText"] }, { kind: "component", type: CaseManagementUploadStepComponent, selector: "valtimo-case-management-upload-step", inputs: ["illustration", "message", "title"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4968
5699
  }
4969
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementUploadComponent, decorators: [{
5700
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementUploadComponent, decorators: [{
4970
5701
  type: Component,
4971
5702
  args: [{ standalone: false, selector: 'valtimo-case-management-upload', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2026 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 *ngIf=\"{\n activeStep: activeStep$ | async,\n backButtonEnabled: backButtonEnabled$ | async,\n isStepAfterUpload: isStepAfterUpload$ | async,\n nextButtonDisabled: nextButtonDisabled$ | async,\n showCloseButton: showCloseButton$ | async,\n uploadStatus: uploadStatus$ | async,\n preview: preview$ | async,\n importWarning: importWarning$ | async,\n } as obs\"\n valtimoCdsModal\n [open]=\"open\"\n showFooter=\"true\"\n class=\"valtimo-definition-uploader\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header\n [showCloseButton]=\"obs.showCloseButton\"\n (closeSelect)=\"onCloseModal(obs.isStepAfterUpload && obs.uploadStatus !== UPLOAD_STATUS.ERROR)\"\n >\n <h3 cdsModalHeaderHeading>\n {{ 'caseManagement.importDefinition.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section\n [ngSwitch]=\"obs.activeStep\"\n [cdsLayer]=\"1\"\n cdsModalContent\n class=\"valtimo-definition-uploader__content\"\n >\n <ng-template ngSwitchDefault>\n <valtimo-case-management-upload-step\n [message]=\"\n 'caseManagement.importDefinition.steps.' + obs.activeStep + '.message' | translate\n \"\n [title]=\"'caseManagement.importDefinition.steps.' + obs.activeStep + '.title' | translate\"\n [illustration]=\"'valtimo-layout/img/' + obs.activeStep + '.svg'\"\n >\n </valtimo-case-management-upload-step>\n </ng-template>\n\n <form *ngSwitchCase=\"UPLOAD_STEP.FILE_SELECT\" [formGroup]=\"form\">\n <cds-file-uploader\n [accept]=\"acceptedFiles\"\n [buttonText]=\"'caseManagement.importDefinition.upload.buttonText' | translate\"\n [description]=\"'caseManagement.importDefinition.upload.description' | translate\"\n [multiple]=\"false\"\n [title]=\"'caseManagement.importDefinition.upload.title' | translate\"\n buttonType=\"primary\"\n formControlName=\"file\"\n [attr.data-test-id]=\"testIds.fileUploader\"\n class=\"valtimo-definition-uploader__file-uploader\"\n >\n </cds-file-uploader>\n </form>\n\n <form\n *ngSwitchCase=\"UPLOAD_STEP.CONFIGURE\"\n [formGroup]=\"configureForm\"\n class=\"valtimo-definition-uploader__configure\"\n >\n <cds-label>\n {{ 'caseManagement.createDefinition.name' | translate }}\n <input\n formControlName=\"name\"\n cdsText\n [attr.data-test-id]=\"testIds.nameInput\"\n />\n </cds-label>\n\n <valtimo-auto-key-input\n [mode]=\"'add'\"\n [sourceText]=\"nameControl.value\"\n formControlName=\"caseDefinitionKey\"\n labelTranslationKey=\"caseManagement.createDefinition.key\"\n >\n </valtimo-auto-key-input>\n\n <div class=\"valtimo-definition-uploader__version-label\">\n <label class=\"cds--label\">\n {{ 'caseManagement.createDefinition.version' | translate }}\n </label>\n <div\n class=\"valtimo-definition-uploader__version-field\"\n [attr.data-test-id]=\"testIds.versionTag\"\n >\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"obs.preview?.isFinal ? 'green' : 'red'\">\n {{\n (obs.preview?.isFinal\n ? 'caseManagement.importDefinition.configure.finalTag'\n : 'caseManagement.importDefinition.configure.draftTag'\n ) | translate\n }}\n </cds-tag>\n <span>{{ obs.preview?.versionTag }}</span>\n </div>\n </div>\n\n <ng-container [ngSwitch]=\"obs.importWarning\">\n <cds-inline-notification\n *ngSwitchCase=\"IMPORT_WARNING.NEW_VERSION\"\n [notificationObj]=\"{\n type: 'info',\n title: ('caseManagement.importDefinition.configure.newVersionWarning.title' | translate),\n message: ('caseManagement.importDefinition.configure.newVersionWarning.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n\n <ng-container *ngSwitchCase=\"IMPORT_WARNING.EXISTING_DRAFT\">\n <cds-inline-notification\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.importDefinition.configure.existingDraftWarning.title' | translate),\n message: ('caseManagement.importDefinition.configure.existingDraftWarning.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n <cds-checkbox\n [attr.data-test-id]=\"testIds.overrideCheckbox\"\n (checkedChange)=\"overrideConfirmed$.next($event)\"\n >\n {{\n 'caseManagement.importDefinition.configure.overrideConfirm' | translate\n }}\n </cds-checkbox>\n </ng-container>\n\n <cds-inline-notification\n *ngSwitchCase=\"IMPORT_WARNING.EXISTING_FINAL\"\n [notificationObj]=\"{\n type: 'error',\n title: ('caseManagement.importDefinition.configure.existingFinalWarning.title' | translate),\n message: ('caseManagement.importDefinition.configure.existingFinalWarning.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n </ng-container>\n </form>\n\n <cds-progress-bar\n *ngSwitchCase=\"UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__progress-bar\"\n [label]=\"'caseManagement.importDefinition.progressBar.label' | translate\"\n [status]=\"obs.uploadStatus\"\n [helperText]=\"'caseManagement.importDefinition.progressBar.' + obs.uploadStatus | translate\"\n ></cds-progress-bar>\n </section>\n\n <cds-modal-footer\n class=\"valtimo-definition-uploader__footer\"\n [class.valtimo-definition-uploader__footer--double]=\"obs.activeStep === UPLOAD_STEP.PLUGINS\"\n >\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.FILE_UPLOAD\"\n class=\"valtimo-definition-uploader__cancel\"\n cdsButton=\"ghost\"\n (click)=\"onCloseModal(obs.isStepAfterUpload)\"\n >\n {{ (obs.isStepAfterUpload ? 'interface.skip' : 'interface.cancel') | translate }}\n </button>\n\n <div class=\"valtimo-definition-uploader__actions\">\n <button\n *ngIf=\"obs.backButtonEnabled\"\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.cancelButton\"\n (click)=\"onBackClick(obs.activeStep)\"\n >\n {{ 'interface.back' | translate }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus !== UPLOAD_STATUS.ERROR && obs.activeStep !== UPLOAD_STEP.DASHBOARD\"\n cdsButton=\"primary\"\n [attr.data-test-id]=\"testIds.nextButton\"\n [disabled]=\"obs.nextButtonDisabled\"\n (click)=\"onNextClick(obs.activeStep)\"\n >\n {{\n (obs.activeStep === UPLOAD_STEP.CONFIGURE\n ? 'caseManagement.importDefinition.startUpload'\n : 'interface.next'\n ) | translate\n }}\n </button>\n\n <button\n *ngIf=\"obs.uploadStatus === UPLOAD_STATUS.ERROR || obs.activeStep === UPLOAD_STEP.DASHBOARD\"\n class=\"valtimo-definition-uploader__cancel\"\n [attr.data-test-id]=\"testIds.finishButton\"\n cdsButton=\"primary\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.finish' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-uploader__content,.valtimo-definition-uploader__content form{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__footer ::ng-deep .cds--modal-footer{justify-content:unset!important;display:grid!important;grid-template-columns:1fr 1fr 2fr!important;grid-template-areas:\"cancel . actions\"!important}.valtimo-definition-uploader__footer--double ::ng-deep .cds--modal-footer{grid-template-columns:1fr 1fr!important;grid-template-areas:\"cancel actions\"!important}.valtimo-definition-uploader__progress-bar{height:100%;display:flex;flex-direction:column;justify-content:center}.valtimo-definition-uploader__error{display:flex;align-items:center;gap:10px;color:#da1e28;fill:#da1e28;font-size:12px}.valtimo-definition-uploader__cancel{grid-area:cancel;width:100%}.valtimo-definition-uploader__actions{grid-area:actions;display:flex}.valtimo-definition-uploader__actions button{flex:unset;width:100%}.valtimo-definition-uploader__file-uploader ::ng-deep cds-file{max-width:unset}.valtimo-definition-uploader__configure{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__version-field{width:100%;display:flex;gap:8px;align-items:center;height:2.5rem;padding:0 1rem;background-color:var(--cds-layer-01);border-bottom:1px solid var(--cds-border-strong)}.valtimo-definition-uploader__version-field span{color:var(--cds-text-primary);font-size:.875rem;line-height:1.125rem;font-weight:400;letter-spacing:.16px}.valtimo-definition-uploader ::ng-deep .cds--modal-container{height:550px}.valtimo-definition-uploader ::ng-deep .cds--checkbox-label-text{color:#000}\n/*!\n * Copyright 2015-2026 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"] }]
4972
5703
  }], ctorParameters: () => [{ type: CaseManagementService }, { type: i1$4.FormBuilder }, { type: i3.TranslateService }], propDecorators: { open: [{
@@ -5077,10 +5808,10 @@ class CaseManagementCreateComponent {
5077
5808
  this.editDisabled$.next(true);
5078
5809
  }, CARBON_CONSTANTS.modalAnimationMs);
5079
5810
  }
5080
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementCreateComponent, deps: [{ token: i1$2.DocumentService }, { token: i1$4.FormBuilder }, { token: i2.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
5081
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementCreateComponent, isStandalone: false, selector: "valtimo-case-management-create", inputs: { open: "open" }, outputs: { closeModal: "closeModal" }, 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 *ngIf=\"{\n editDisabled: editDisabled$ | async,\n idError: idError$ | async,\n versionError: versionError$ | async,\n editActive: editActive$ | async,\n } as obs\"\n [open]=\"open\"\n showFooter=\"true\"\n valtimoCdsModal\n class=\"valtimo-definition-create\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'caseManagement.createDefinition.modalTitle' | translate }}\n </h3>\n </cds-modal-header>\n\n <form\n [formGroup]=\"formGroup\"\n cdsModalContent\n [cdsLayer]=\"1\"\n class=\"valtimo-definition-create__content\"\n >\n <cds-label>\n {{ 'caseManagement.createDefinition.name' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.nameTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"name\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.namePlaceholder' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n [attr.data-test-id]=\"testIds.nameInput\"\n (focusout)=\"onFocusOut()\"\n />\n </cds-label>\n\n <cds-label [invalid]=\"!!obs.idError\" [invalidText]=\"obs.idError | translate\">\n {{ 'caseManagement.createDefinition.key' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.keyTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <div class=\"valtimo-definition-create__name\">\n <input\n cdsText\n [attr.data-test-id]=\"testIds.keyInput\"\n formControlName=\"caseDefinitionKey\"\n [invalid]=\"!!obs.idError\"\n [placeholder]=\"'caseManagement.createDefinition.keyPlaceholder' | translate\"\n [attr.modal-primary-focus]=\"true\"\n />\n\n <button\n *ngIf=\"!obs.editActive\"\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.keyEditButton\"\n [disabled]=\"obs.editDisabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"enableEdit()\"\n >\n <svg cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n </div>\n </cds-label>\n\n <cds-label [invalid]=\"!!obs.versionError\" [invalidText]=\"obs.versionError | translate\">\n {{ 'caseManagement.createDefinition.version' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.versionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"caseDefinitionVersion\"\n [attr.data-test-id]=\"testIds.versionInput\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.versionPlaceholder' | translate }}\"\n [invalid]=\"!!obs.versionError\"\n [attr.modal-primary-focus]=\"true\"\n (focusout)=\"onFocusOut()\"\n />\n </cds-label>\n\n <cds-textarea-label>\n {{ 'caseManagement.createDefinition.description' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.descriptionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <textarea\n cdsTextArea\n formControlName=\"description\"\n [attr.data-test-id]=\"testIds.descriptionInput\"\n placeholder=\"{{ 'caseManagement.createDefinition.descriptionPlaceholder' | translate }}\"\n [rows]=\"3\"\n [cols]=\"150\"\n [attr.modal-primary-focus]=\"true\"\n (focusout)=\"onFocusOut()\"\n ></textarea>\n </cds-textarea-label>\n </form>\n\n <cds-modal-footer>\n <button [attr.data-test-id]=\"testIds.closeButton\" cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n [attr.data-test-id]=\"testIds.saveButton\"\n cdsButton=\"primary\"\n [disabled]=\"formGroup.invalid\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-create__content{display:flex;flex-direction:column;gap:16px}.valtimo-definition-create__name{width:100%;display:flex;gap:8px}:host ::ng-deep .cds--label{display:flex;align-items:center;gap:12px}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i2.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i2.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5811
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCreateComponent, deps: [{ token: i1$2.DocumentService }, { token: i1$4.FormBuilder }, { token: i2.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
5812
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementCreateComponent, isStandalone: false, selector: "valtimo-case-management-create", inputs: { open: "open" }, outputs: { closeModal: "closeModal" }, 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 *ngIf=\"{\n editDisabled: editDisabled$ | async,\n idError: idError$ | async,\n versionError: versionError$ | async,\n editActive: editActive$ | async,\n } as obs\"\n [open]=\"open\"\n showFooter=\"true\"\n valtimoCdsModal\n class=\"valtimo-definition-create\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'caseManagement.createDefinition.modalTitle' | translate }}\n </h3>\n </cds-modal-header>\n\n <form\n [formGroup]=\"formGroup\"\n cdsModalContent\n [cdsLayer]=\"1\"\n class=\"valtimo-definition-create__content\"\n >\n <cds-label>\n {{ 'caseManagement.createDefinition.name' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.nameTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"name\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.namePlaceholder' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n [attr.data-test-id]=\"testIds.nameInput\"\n (focusout)=\"onFocusOut()\"\n />\n </cds-label>\n\n <cds-label [invalid]=\"!!obs.idError\" [invalidText]=\"obs.idError | translate\">\n {{ 'caseManagement.createDefinition.key' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.keyTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <div class=\"valtimo-definition-create__name\">\n <input\n cdsText\n [attr.data-test-id]=\"testIds.keyInput\"\n formControlName=\"caseDefinitionKey\"\n [invalid]=\"!!obs.idError\"\n [placeholder]=\"'caseManagement.createDefinition.keyPlaceholder' | translate\"\n [attr.modal-primary-focus]=\"true\"\n />\n\n <button\n *ngIf=\"!obs.editActive\"\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.keyEditButton\"\n [disabled]=\"obs.editDisabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"enableEdit()\"\n >\n <svg cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n </div>\n </cds-label>\n\n <cds-label [invalid]=\"!!obs.versionError\" [invalidText]=\"obs.versionError | translate\">\n {{ 'caseManagement.createDefinition.version' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.versionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"caseDefinitionVersion\"\n [attr.data-test-id]=\"testIds.versionInput\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.versionPlaceholder' | translate }}\"\n [invalid]=\"!!obs.versionError\"\n [attr.modal-primary-focus]=\"true\"\n (focusout)=\"onFocusOut()\"\n />\n </cds-label>\n\n <cds-textarea-label>\n {{ 'caseManagement.createDefinition.description' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.descriptionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <textarea\n cdsTextArea\n formControlName=\"description\"\n [attr.data-test-id]=\"testIds.descriptionInput\"\n placeholder=\"{{ 'caseManagement.createDefinition.descriptionPlaceholder' | translate }}\"\n [rows]=\"3\"\n [cols]=\"150\"\n [attr.modal-primary-focus]=\"true\"\n (focusout)=\"onFocusOut()\"\n ></textarea>\n </cds-textarea-label>\n </form>\n\n <cds-modal-footer>\n <button [attr.data-test-id]=\"testIds.closeButton\" cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n [attr.data-test-id]=\"testIds.saveButton\"\n cdsButton=\"primary\"\n [disabled]=\"formGroup.invalid\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-create__content{display:flex;flex-direction:column;gap:16px}.valtimo-definition-create__name{width:100%;display:flex;gap:8px}:host ::ng-deep .cds--label{display:flex;align-items:center;gap:12px}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.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$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i2.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i2.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "directive", type: i2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5082
5813
  }
5083
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementCreateComponent, decorators: [{
5814
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCreateComponent, decorators: [{
5084
5815
  type: Component,
5085
5816
  args: [{ standalone: false, selector: 'valtimo-case-management-create', 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<cds-modal\n *ngIf=\"{\n editDisabled: editDisabled$ | async,\n idError: idError$ | async,\n versionError: versionError$ | async,\n editActive: editActive$ | async,\n } as obs\"\n [open]=\"open\"\n showFooter=\"true\"\n valtimoCdsModal\n class=\"valtimo-definition-create\"\n (close)=\"onCloseModal()\"\n>\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{ 'caseManagement.createDefinition.modalTitle' | translate }}\n </h3>\n </cds-modal-header>\n\n <form\n [formGroup]=\"formGroup\"\n cdsModalContent\n [cdsLayer]=\"1\"\n class=\"valtimo-definition-create__content\"\n >\n <cds-label>\n {{ 'caseManagement.createDefinition.name' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.nameTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"name\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.namePlaceholder' | translate }}\"\n [attr.modal-primary-focus]=\"true\"\n [attr.data-test-id]=\"testIds.nameInput\"\n (focusout)=\"onFocusOut()\"\n />\n </cds-label>\n\n <cds-label [invalid]=\"!!obs.idError\" [invalidText]=\"obs.idError | translate\">\n {{ 'caseManagement.createDefinition.key' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.keyTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <div class=\"valtimo-definition-create__name\">\n <input\n cdsText\n [attr.data-test-id]=\"testIds.keyInput\"\n formControlName=\"caseDefinitionKey\"\n [invalid]=\"!!obs.idError\"\n [placeholder]=\"'caseManagement.createDefinition.keyPlaceholder' | translate\"\n [attr.modal-primary-focus]=\"true\"\n />\n\n <button\n *ngIf=\"!obs.editActive\"\n cdsButton=\"secondary\"\n [attr.data-test-id]=\"testIds.keyEditButton\"\n [disabled]=\"obs.editDisabled\"\n [iconOnly]=\"true\"\n size=\"md\"\n (click)=\"enableEdit()\"\n >\n <svg cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n </div>\n </cds-label>\n\n <cds-label [invalid]=\"!!obs.versionError\" [invalidText]=\"obs.versionError | translate\">\n {{ 'caseManagement.createDefinition.version' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.versionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <input\n formControlName=\"caseDefinitionVersion\"\n [attr.data-test-id]=\"testIds.versionInput\"\n cdsText\n placeholder=\"{{ 'caseManagement.createDefinition.versionPlaceholder' | translate }}\"\n [invalid]=\"!!obs.versionError\"\n [attr.modal-primary-focus]=\"true\"\n (focusout)=\"onFocusOut()\"\n />\n </cds-label>\n\n <cds-textarea-label>\n {{ 'caseManagement.createDefinition.description' | translate }}\n\n <cds-tooltip\n [caret]=\"true\"\n [description]=\"'caseManagement.createDefinition.descriptionTooltip' | translate\"\n >\n <svg class=\"tooltip-trigger\" cdsIcon=\"information\" size=\"16\"></svg>\n </cds-tooltip>\n\n <textarea\n cdsTextArea\n formControlName=\"description\"\n [attr.data-test-id]=\"testIds.descriptionInput\"\n placeholder=\"{{ 'caseManagement.createDefinition.descriptionPlaceholder' | translate }}\"\n [rows]=\"3\"\n [cols]=\"150\"\n [attr.modal-primary-focus]=\"true\"\n (focusout)=\"onFocusOut()\"\n ></textarea>\n </cds-textarea-label>\n </form>\n\n <cds-modal-footer>\n <button [attr.data-test-id]=\"testIds.closeButton\" cdsButton=\"secondary\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n [attr.data-test-id]=\"testIds.saveButton\"\n cdsButton=\"primary\"\n [disabled]=\"formGroup.invalid\"\n (click)=\"onCloseModal(true)\"\n >\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-definition-create__content{display:flex;flex-direction:column;gap:16px}.valtimo-definition-create__name{width:100%;display:flex;gap:8px}:host ::ng-deep .cds--label{display:flex;align-items:center;gap:12px}\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"] }]
5086
5817
  }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i1$4.FormBuilder }, { type: i2.IconService }], propDecorators: { open: [{
@@ -5215,10 +5946,10 @@ class CaseManagementListComponent {
5215
5946
  showCreateModal() {
5216
5947
  this.showCreateModal$.next(true);
5217
5948
  }
5218
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementListComponent, deps: [{ token: CaseManagementService }, { token: i2.IconService }, { token: i7.MenuService }, { token: i2$1.ActivatedRoute }, { token: i2$1.Router }, { token: i3$1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
5219
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseManagementListComponent, isStandalone: false, selector: "valtimo-case-management-list", viewQueries: [{ propertyName: "statusColumnTemplate", first: true, predicate: ["statusColumnTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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 [items]=\"caseListItems$ | async\"\n [fields]=\"fields$ | async\"\n (rowClicked)=\"redirectToDetails($event)\"\n [pagination]=\"pagination$ | async\"\n paginationIdentifier=\"caseManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n>\n <ng-container carbonToolbarContent [ngTemplateOutlet]=\"importCaseDefinitionButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"importCaseDefinitionButton\"\n [description]=\"'caseManagement.noResults.description' | translate\"\n [title]=\"'caseManagement.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #loading>\n <valtimo-carbon-list loading=\"true\"></valtimo-carbon-list>\n</ng-template>\n\n<valtimo-case-management-upload\n [open]=\"showUploadModal$ | async\"\n (closeModal)=\"onCloseUploadModal($event)\"\n></valtimo-case-management-upload>\n\n<valtimo-case-management-create\n [open]=\"showCreateModal$ | async\"\n (closeModal)=\"onCloseCreateModal($event)\"\n></valtimo-case-management-create>\n\n<ng-template #statusColumnTemplate let-data=\"data\">\n @if (!data?.item?.active) {\n <cds-tag type=\"purple\" class=\"cds-tag--no-margin\">\n {{ 'caseManagement.inactive' | translate }}\n </cds-tag>\n }\n @if (data?.item?.hasConfigurationIssues) {\n <cds-tag type=\"red\" class=\"cds-tag--no-margin\">\n {{ 'caseManagement.needsConfiguration' | translate }}\n </cds-tag>\n }\n</ng-template>\n\n<ng-template #importCaseDefinitionButton>\n <div class=\"valtimo-case-management-list__actions\">\n <button [attr.data-test-id]=\"testIds.uploadButton\" cdsButton=\"ghost\" (click)=\"showUploadModal()\">\n {{ 'Upload' | translate }}\n\n <svg cdsIcon=\"upload\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n *ngIf=\"canUpdateGlobalConfiguration$ | async\"\n [attr.data-test-id]=\"testIds.createButton\"\n cdsButton=\"primary\"\n (click)=\"showCreateModal()\"\n >\n {{ 'interface.create' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".valtimo-case-management-list__actions{display:flex}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i7.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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: CaseManagementUploadComponent, selector: "valtimo-case-management-upload", inputs: ["open"], outputs: ["closeModal"] }, { kind: "component", type: CaseManagementCreateComponent, selector: "valtimo-case-management-create", inputs: ["open"], outputs: ["closeModal"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
5949
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementListComponent, deps: [{ token: CaseManagementService }, { token: i2.IconService }, { token: i7.MenuService }, { token: i2$1.ActivatedRoute }, { token: i2$1.Router }, { token: i3$1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
5950
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementListComponent, isStandalone: false, selector: "valtimo-case-management-list", viewQueries: [{ propertyName: "statusColumnTemplate", first: true, predicate: ["statusColumnTemplate"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 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 [items]=\"caseListItems$ | async\"\n [fields]=\"fields$ | async\"\n (rowClicked)=\"redirectToDetails($event)\"\n [pagination]=\"pagination$ | async\"\n paginationIdentifier=\"caseManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n>\n <ng-container carbonToolbarContent [ngTemplateOutlet]=\"importCaseDefinitionButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"importCaseDefinitionButton\"\n [description]=\"'caseManagement.noResults.description' | translate\"\n [title]=\"'caseManagement.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #loading>\n <valtimo-carbon-list loading=\"true\"></valtimo-carbon-list>\n</ng-template>\n\n<valtimo-case-management-upload\n [open]=\"showUploadModal$ | async\"\n (closeModal)=\"onCloseUploadModal($event)\"\n></valtimo-case-management-upload>\n\n<valtimo-case-management-create\n [open]=\"showCreateModal$ | async\"\n (closeModal)=\"onCloseCreateModal($event)\"\n></valtimo-case-management-create>\n\n<ng-template #statusColumnTemplate let-data=\"data\">\n @if (!data?.item?.active) {\n <cds-tag type=\"purple\" class=\"cds-tag--no-margin\">\n {{ 'caseManagement.inactive' | translate }}\n </cds-tag>\n }\n @if (data?.item?.hasConfigurationIssues) {\n <cds-tag type=\"red\" class=\"cds-tag--no-margin\">\n {{ 'caseManagement.needsConfiguration' | translate }}\n </cds-tag>\n }\n</ng-template>\n\n<ng-template #importCaseDefinitionButton>\n <div class=\"valtimo-case-management-list__actions\">\n <button [attr.data-test-id]=\"testIds.uploadButton\" cdsButton=\"ghost\" (click)=\"showUploadModal()\">\n {{ 'Upload' | translate }}\n\n <svg cdsIcon=\"upload\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n *ngIf=\"canUpdateGlobalConfiguration$ | async\"\n [attr.data-test-id]=\"testIds.createButton\"\n cdsButton=\"primary\"\n (click)=\"showCreateModal()\"\n >\n {{ 'interface.create' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".valtimo-case-management-list__actions{display:flex}\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i7.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: i7.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: CaseManagementUploadComponent, selector: "valtimo-case-management-upload", inputs: ["open"], outputs: ["closeModal"] }, { kind: "component", type: CaseManagementCreateComponent, selector: "valtimo-case-management-create", inputs: ["open"], outputs: ["closeModal"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
5220
5951
  }
5221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementListComponent, decorators: [{
5952
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementListComponent, decorators: [{
5222
5953
  type: Component,
5223
5954
  args: [{ standalone: false, selector: 'valtimo-case-management-list', template: "<!--\n ~ Copyright 2015-2026 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 [items]=\"caseListItems$ | async\"\n [fields]=\"fields$ | async\"\n (rowClicked)=\"redirectToDetails($event)\"\n [pagination]=\"pagination$ | async\"\n paginationIdentifier=\"caseManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n>\n <ng-container carbonToolbarContent [ngTemplateOutlet]=\"importCaseDefinitionButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"importCaseDefinitionButton\"\n [description]=\"'caseManagement.noResults.description' | translate\"\n [title]=\"'caseManagement.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #loading>\n <valtimo-carbon-list loading=\"true\"></valtimo-carbon-list>\n</ng-template>\n\n<valtimo-case-management-upload\n [open]=\"showUploadModal$ | async\"\n (closeModal)=\"onCloseUploadModal($event)\"\n></valtimo-case-management-upload>\n\n<valtimo-case-management-create\n [open]=\"showCreateModal$ | async\"\n (closeModal)=\"onCloseCreateModal($event)\"\n></valtimo-case-management-create>\n\n<ng-template #statusColumnTemplate let-data=\"data\">\n @if (!data?.item?.active) {\n <cds-tag type=\"purple\" class=\"cds-tag--no-margin\">\n {{ 'caseManagement.inactive' | translate }}\n </cds-tag>\n }\n @if (data?.item?.hasConfigurationIssues) {\n <cds-tag type=\"red\" class=\"cds-tag--no-margin\">\n {{ 'caseManagement.needsConfiguration' | translate }}\n </cds-tag>\n }\n</ng-template>\n\n<ng-template #importCaseDefinitionButton>\n <div class=\"valtimo-case-management-list__actions\">\n <button [attr.data-test-id]=\"testIds.uploadButton\" cdsButton=\"ghost\" (click)=\"showUploadModal()\">\n {{ 'Upload' | translate }}\n\n <svg cdsIcon=\"upload\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n *ngIf=\"canUpdateGlobalConfiguration$ | async\"\n [attr.data-test-id]=\"testIds.createButton\"\n cdsButton=\"primary\"\n (click)=\"showCreateModal()\"\n >\n {{ 'interface.create' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".valtimo-case-management-list__actions{display:flex}\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"] }]
5224
5955
  }], ctorParameters: () => [{ type: CaseManagementService }, { type: i2.IconService }, { type: i7.MenuService }, { type: i2$1.ActivatedRoute }, { type: i2$1.Router }, { type: i3$1.EnvironmentService }], propDecorators: { statusColumnTemplate: [{
@@ -5266,6 +5997,7 @@ const routes = [
5266
5997
  component: ProcessManagementComponent,
5267
5998
  data: { context: 'case' },
5268
5999
  },
6000
+ { path: TabEnum.ACTIONS, component: CaseManagementActionsComponent },
5269
6001
  {
5270
6002
  path: TabEnum.DECISIONS,
5271
6003
  component: DecisionListComponent,
@@ -5372,11 +6104,11 @@ class CaseManagementRoutingModule {
5372
6104
  component: tabConfig.component,
5373
6105
  })));
5374
6106
  }
5375
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementRoutingModule, deps: [{ token: CASE_MANAGEMENT_TAB_TOKEN, optional: true }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.NgModule }); }
5376
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementRoutingModule, imports: [i2$1.RouterModule], exports: [RouterModule] }); }
5377
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
6107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementRoutingModule, deps: [{ token: CASE_MANAGEMENT_TAB_TOKEN, optional: true }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.NgModule }); }
6108
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementRoutingModule, imports: [i2$1.RouterModule], exports: [RouterModule] }); }
6109
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
5378
6110
  }
5379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementRoutingModule, decorators: [{
6111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementRoutingModule, decorators: [{
5380
6112
  type: NgModule,
5381
6113
  args: [{ imports: [RouterModule.forChild(routes)], exports: [RouterModule], declarations: [] }]
5382
6114
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -5447,10 +6179,10 @@ class CaseManagementAssigneeComponent {
5447
6179
  autoAssignTasks: !currentSettings.autoAssignTasks,
5448
6180
  }, caseDefinitionKey, caseDefinitionVersionTag);
5449
6181
  }
5450
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementAssigneeComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
5451
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementAssigneeComponent, isStandalone: false, selector: "valtimo-case-management-assignee", 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<h2 class=\"mb-4\">{{ 'caseManagement.toggleAssignee.title' | translate }}</h2>\n\n<ng-container\n *ngIf=\"{\n currentValue: currentValue$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n params: params$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n >\n <input\n [checked]=\"obs?.currentValue?.canHaveAssignee\"\n class=\"custom-control-input\"\n type=\"checkbox\"\n [disabled]=\"obs.disabled\"\n (click)=\"toggleAssignee(obs?.currentValue, obs.params?.caseDefinitionKey)\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'caseManagement.toggleAssignee.checkboxDescription' | translate\n }}</span>\n </label>\n </ng-container>\n <ng-container *ngIf=\"obs?.currentValue?.canHaveAssignee\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n >\n <input\n [checked]=\"obs?.currentValue?.autoAssignTasks\"\n class=\"custom-control-input\"\n type=\"checkbox\"\n [disabled]=\"obs.disabled\"\n (click)=\"toggleTaskAssignment(obs?.currentValue, obs.params?.caseDefinitionKey)\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'caseManagement.toggleAutoAssignTasks.checkboxDescription' | translate\n }}</span>\n </label>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n", styles: ["/*!\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
6182
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementAssigneeComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
6183
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementAssigneeComponent, isStandalone: false, selector: "valtimo-case-management-assignee", 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<h2 class=\"mb-4\">{{ 'caseManagement.toggleAssignee.title' | translate }}</h2>\n\n<ng-container\n *ngIf=\"{\n currentValue: currentValue$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n params: params$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n >\n <input\n [checked]=\"obs?.currentValue?.canHaveAssignee\"\n class=\"custom-control-input\"\n type=\"checkbox\"\n [disabled]=\"obs.disabled\"\n (click)=\"toggleAssignee(obs?.currentValue, obs.params?.caseDefinitionKey)\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'caseManagement.toggleAssignee.checkboxDescription' | translate\n }}</span>\n </label>\n </ng-container>\n <ng-container *ngIf=\"obs?.currentValue?.canHaveAssignee\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n >\n <input\n [checked]=\"obs?.currentValue?.autoAssignTasks\"\n class=\"custom-control-input\"\n type=\"checkbox\"\n [disabled]=\"obs.disabled\"\n (click)=\"toggleTaskAssignment(obs?.currentValue, obs.params?.caseDefinitionKey)\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'caseManagement.toggleAutoAssignTasks.checkboxDescription' | translate\n }}</span>\n </label>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n", styles: ["/*!\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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
5452
6184
  }
5453
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementAssigneeComponent, decorators: [{
6185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementAssigneeComponent, decorators: [{
5454
6186
  type: Component,
5455
6187
  args: [{ standalone: false, selector: 'valtimo-case-management-assignee', 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<h2 class=\"mb-4\">{{ 'caseManagement.toggleAssignee.title' | translate }}</h2>\n\n<ng-container\n *ngIf=\"{\n currentValue: currentValue$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n params: params$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n >\n <input\n [checked]=\"obs?.currentValue?.canHaveAssignee\"\n class=\"custom-control-input\"\n type=\"checkbox\"\n [disabled]=\"obs.disabled\"\n (click)=\"toggleAssignee(obs?.currentValue, obs.params?.caseDefinitionKey)\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'caseManagement.toggleAssignee.checkboxDescription' | translate\n }}</span>\n </label>\n </ng-container>\n <ng-container *ngIf=\"obs?.currentValue?.canHaveAssignee\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mr-5\"\n placement=\"bottom\"\n >\n <input\n [checked]=\"obs?.currentValue?.autoAssignTasks\"\n class=\"custom-control-input\"\n type=\"checkbox\"\n [disabled]=\"obs.disabled\"\n (click)=\"toggleTaskAssignment(obs?.currentValue, obs.params?.caseDefinitionKey)\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'caseManagement.toggleAutoAssignTasks.checkboxDescription' | translate\n }}</span>\n </label>\n </ng-container>\n</ng-container>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n", styles: ["/*!\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"] }]
5456
6188
  }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$1.ActivatedRoute }] });
@@ -5550,13 +6282,13 @@ class CaseManagementConnectModalComponent {
5550
6282
  },
5551
6283
  });
5552
6284
  }
5553
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementConnectModalComponent, deps: [{ token: i1$2.DocumentService }, { token: CaseDetailService }, { token: i3$1.GlobalNotificationService }, { token: i4.ProcessService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
5554
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseManagementConnectModalComponent, isStandalone: false, selector: "valtimo-case-management-connect-modal", outputs: { reloadProcessDocumentDefinitions: "reloadProcessDocumentDefinitions" }, viewQueries: [{ propertyName: "_modal", first: true, predicate: ["caseConnectModal"], 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-modal\n #caseConnectModal\n elementId=\"caseConnectModal\"\n [title]=\"documentDefinition ? documentDefinition.schema.title : 'Document definition'\"\n subtitle=\"Connect document definition to process definition\"\n showFooter=\"true\"\n>\n <div body *ngIf=\"documentDefinition\">\n <p>\n {{ 'Select process definition for document definition' | translate }}\n <strong>{{ documentDefinition.id.name }} *</strong>\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <select class=\"form-control\" [(ngModel)]=\"newDocumentProcessDefinition\">\n <option [ngValue]=\"null\">{{ 'caseManagement.selectProcessDef' | translate }}</option>\n <option\n *ngFor=\"let processDefinition of processDefinitions\"\n [disabled]=\"processDocumentDefinitionExists[processDefinition.key]\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.name }} ({{ processDefinition.key }})\n </option>\n </select>\n </div>\n <p>\n {{ 'Select options for the selected process' | translate }}\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.processCreatesCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionInit\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.processCreatesCase' | translate\n }}</span>\n </label>\n <label\n class=\"custom-control custom-checkbox custom-control-inline ml-2 pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.startableWithinCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionStartableByUser\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.startableWithinCase' | translate\n }}</span>\n </label>\n </div>\n </div>\n <div footer>\n <button\n (click)=\"submit()\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\"\n [disabled]=\"!newDocumentProcessDefinition\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</valtimo-modal>\n", styles: ["/*!\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: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "directive", type: i9.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
6285
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementConnectModalComponent, deps: [{ token: i1$2.DocumentService }, { token: CaseDetailService }, { token: i3$1.GlobalNotificationService }, { token: i4$1.ProcessService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6286
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementConnectModalComponent, isStandalone: false, selector: "valtimo-case-management-connect-modal", outputs: { reloadProcessDocumentDefinitions: "reloadProcessDocumentDefinitions" }, viewQueries: [{ propertyName: "_modal", first: true, predicate: ["caseConnectModal"], 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-modal\n #caseConnectModal\n elementId=\"caseConnectModal\"\n [title]=\"documentDefinition ? documentDefinition.schema.title : 'Document definition'\"\n subtitle=\"Connect document definition to process definition\"\n showFooter=\"true\"\n>\n <div body *ngIf=\"documentDefinition\">\n <p>\n {{ 'Select process definition for document definition' | translate }}\n <strong>{{ documentDefinition.id.name }} *</strong>\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <select class=\"form-control\" [(ngModel)]=\"newDocumentProcessDefinition\">\n <option [ngValue]=\"null\">{{ 'caseManagement.selectProcessDef' | translate }}</option>\n <option\n *ngFor=\"let processDefinition of processDefinitions\"\n [disabled]=\"processDocumentDefinitionExists[processDefinition.key]\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.name }} ({{ processDefinition.key }})\n </option>\n </select>\n </div>\n <p>\n {{ 'Select options for the selected process' | translate }}\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.processCreatesCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionInit\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.processCreatesCase' | translate\n }}</span>\n </label>\n <label\n class=\"custom-control custom-checkbox custom-control-inline ml-2 pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.startableWithinCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionStartableByUser\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.startableWithinCase' | translate\n }}</span>\n </label>\n </div>\n </div>\n <div footer>\n <button\n (click)=\"submit()\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\"\n [disabled]=\"!newDocumentProcessDefinition\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</valtimo-modal>\n", styles: ["/*!\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: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "directive", type: i9.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
5555
6287
  }
5556
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementConnectModalComponent, decorators: [{
6288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementConnectModalComponent, decorators: [{
5557
6289
  type: Component,
5558
6290
  args: [{ standalone: false, selector: 'valtimo-case-management-connect-modal', 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-modal\n #caseConnectModal\n elementId=\"caseConnectModal\"\n [title]=\"documentDefinition ? documentDefinition.schema.title : 'Document definition'\"\n subtitle=\"Connect document definition to process definition\"\n showFooter=\"true\"\n>\n <div body *ngIf=\"documentDefinition\">\n <p>\n {{ 'Select process definition for document definition' | translate }}\n <strong>{{ documentDefinition.id.name }} *</strong>\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <select class=\"form-control\" [(ngModel)]=\"newDocumentProcessDefinition\">\n <option [ngValue]=\"null\">{{ 'caseManagement.selectProcessDef' | translate }}</option>\n <option\n *ngFor=\"let processDefinition of processDefinitions\"\n [disabled]=\"processDocumentDefinitionExists[processDefinition.key]\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.name }} ({{ processDefinition.key }})\n </option>\n </select>\n </div>\n <p>\n {{ 'Select options for the selected process' | translate }}\n </p>\n <div class=\"input-group mb-3 align-items-center\">\n <label\n class=\"custom-control custom-checkbox custom-control-inline pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.processCreatesCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionInit\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.processCreatesCase' | translate\n }}</span>\n </label>\n <label\n class=\"custom-control custom-checkbox custom-control-inline ml-2 pl-6 mb-0\"\n placement=\"bottom\"\n ngbTooltip=\"{{ 'processCaseConnection.startableWithinCaseTooltip' | translate }}\"\n >\n <input\n class=\"custom-control-input\"\n type=\"checkbox\"\n [(ngModel)]=\"newDocumentProcessDefinitionStartableByUser\"\n /><span class=\"custom-control-label custom-control-color\">{{\n 'processCaseConnection.startableWithinCase' | translate\n }}</span>\n </label>\n </div>\n </div>\n <div footer>\n <button\n (click)=\"submit()\"\n class=\"btn btn-primary\"\n data-dismiss=\"modal\"\n [disabled]=\"!newDocumentProcessDefinition\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</valtimo-modal>\n", styles: ["/*!\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"] }]
5559
- }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: CaseDetailService }, { type: i3$1.GlobalNotificationService }, { type: i4.ProcessService }, { type: i3.TranslateService }], propDecorators: { _modal: [{
6291
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: CaseDetailService }, { type: i3$1.GlobalNotificationService }, { type: i4$1.ProcessService }, { type: i3.TranslateService }], propDecorators: { _modal: [{
5560
6292
  type: ViewChild,
5561
6293
  args: ['caseConnectModal']
5562
6294
  }], reloadProcessDocumentDefinitions: [{
@@ -5579,8 +6311,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
5579
6311
  * limitations under the License.
5580
6312
  */
5581
6313
  class CaseManagementModule {
5582
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5583
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementModule, declarations: [CaseManagementListComponent,
6314
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6315
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementModule, declarations: [CaseManagementListComponent,
5584
6316
  CaseManagementConnectModalComponent,
5585
6317
  CaseManagementSelectVersionModalComponent,
5586
6318
  CaseManagementUploadComponent,
@@ -5651,7 +6383,7 @@ class CaseManagementModule {
5651
6383
  ProgressBarModule,
5652
6384
  ConfirmationModalModule,
5653
6385
  ToggleModule,
5654
- TooltipModule,
6386
+ TooltipModule$1,
5655
6387
  ValuePathSelectorComponent,
5656
6388
  LayerModule,
5657
6389
  FormManagementComponent,
@@ -5661,9 +6393,10 @@ class CaseManagementModule {
5661
6393
  ReadOnlyDirective,
5662
6394
  CaseManagementDraftWarningComponent,
5663
6395
  JsonEditorComponent,
6396
+ CaseManagementActionsComponent,
5664
6397
  CaseManagementHeaderComponent,
5665
6398
  AutoKeyInputComponent] }); }
5666
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementModule, providers: [TabManagementService], imports: [CommonModule,
6399
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementModule, providers: [TabManagementService], imports: [CommonModule,
5667
6400
  WidgetModule,
5668
6401
  DropzoneModule,
5669
6402
  CaseManagementRoutingModule,
@@ -5706,7 +6439,7 @@ class CaseManagementModule {
5706
6439
  ProgressBarModule,
5707
6440
  ConfirmationModalModule,
5708
6441
  ToggleModule,
5709
- TooltipModule,
6442
+ TooltipModule$1,
5710
6443
  ValuePathSelectorComponent,
5711
6444
  LayerModule,
5712
6445
  FormManagementComponent,
@@ -5714,10 +6447,11 @@ class CaseManagementModule {
5714
6447
  NumberModule,
5715
6448
  CaseManagementDraftWarningComponent,
5716
6449
  JsonEditorComponent,
6450
+ CaseManagementActionsComponent,
5717
6451
  CaseManagementHeaderComponent,
5718
6452
  AutoKeyInputComponent] }); }
5719
6453
  }
5720
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseManagementModule, decorators: [{
6454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementModule, decorators: [{
5721
6455
  type: NgModule,
5722
6456
  args: [{
5723
6457
  declarations: [
@@ -5795,7 +6529,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
5795
6529
  ProgressBarModule,
5796
6530
  ConfirmationModalModule,
5797
6531
  ToggleModule,
5798
- TooltipModule,
6532
+ TooltipModule$1,
5799
6533
  ValuePathSelectorComponent,
5800
6534
  LayerModule,
5801
6535
  FormManagementComponent,
@@ -5805,6 +6539,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
5805
6539
  ReadOnlyDirective,
5806
6540
  CaseManagementDraftWarningComponent,
5807
6541
  JsonEditorComponent,
6542
+ CaseManagementActionsComponent,
5808
6543
  CaseManagementHeaderComponent,
5809
6544
  AutoKeyInputComponent,
5810
6545
  ],
@@ -5835,5 +6570,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
5835
6570
  * Generated bundle index. Do not edit.
5836
6571
  */
5837
6572
 
5838
- export { CASE_MANAGEMENT_CASE_HANDLER_TEST_IDS, CASE_MANAGEMENT_CREATE_TEST_IDS, CASE_MANAGEMENT_DETAIL_ACTIONS_TEST_IDS, CASE_MANAGEMENT_DETAIL_TEST_IDS, CASE_MANAGEMENT_EXTERNAL_START_FORM_TEST_IDS, CASE_MANAGEMENT_LIST_COLUMNS_TEST_IDS, CASE_MANAGEMENT_LIST_TEST_IDS, CASE_MANAGEMENT_STATUSES_TEST_IDS, CASE_MANAGEMENT_STATUS_MODAL_TEST_IDS, CASE_MANAGEMENT_TAGS_MODAL_TEST_IDS, CASE_MANAGEMENT_TAGS_TEST_IDS, CASE_MANAGEMENT_UPLOAD_TEST_IDS, CaseDefinition, CaseDetailService, CaseListItem, CaseManagementDraftWarningComponent, CaseManagementListComponent, CaseManagementModule, CaseManagementService, CaseWidgetManagementApiService, DraftVersion, ReleaseInformationData, ReleaseVersionData, TabEnum, TabManagementService, TabService };
6573
+ export { CASE_MANAGEMENT_CASE_HANDLER_TEST_IDS, CASE_MANAGEMENT_CREATE_TEST_IDS, CASE_MANAGEMENT_DETAIL_ACTIONS_TEST_IDS, CASE_MANAGEMENT_DETAIL_TEST_IDS, CASE_MANAGEMENT_EXTERNAL_START_FORM_TEST_IDS, CASE_MANAGEMENT_LIST_COLUMNS_TEST_IDS, CASE_MANAGEMENT_LIST_TEST_IDS, CASE_MANAGEMENT_STATUSES_TEST_IDS, CASE_MANAGEMENT_STATUS_MODAL_TEST_IDS, CASE_MANAGEMENT_TAGS_MODAL_TEST_IDS, CASE_MANAGEMENT_TAGS_TEST_IDS, CASE_MANAGEMENT_UPLOAD_TEST_IDS, CaseDefinition, CaseDetailService, CaseListItem, CaseManagementDraftWarningComponent, CaseManagementListComponent, CaseManagementModule, CaseManagementService, CaseWidgetManagementApiService, DraftVersion, ReleaseInformationData, ReleaseVersionData, StartableItemApiService, StartableItemManagementService, StartableItemType, TabEnum, TabManagementService, TabService };
5839
6574
  //# sourceMappingURL=valtimo-case-management.mjs.map