@valtimo/case-management 13.26.0 → 13.28.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 (23) hide show
  1. package/fesm2022/valtimo-case-management.mjs +497 -130
  2. package/fesm2022/valtimo-case-management.mjs.map +1 -1
  3. package/lib/case-management.module.d.ts +2 -1
  4. package/lib/case-management.module.d.ts.map +1 -1
  5. package/lib/components/case-management-detail/case-management-detail.component.d.ts +8 -3
  6. package/lib/components/case-management-detail/case-management-detail.component.d.ts.map +1 -1
  7. package/lib/components/case-management-detail/tabs/case-management-general/components/case-management-missing-plugin-configurations/case-management-missing-plugin-configurations.component.d.ts +42 -0
  8. package/lib/components/case-management-detail/tabs/case-management-general/components/case-management-missing-plugin-configurations/case-management-missing-plugin-configurations.component.d.ts.map +1 -0
  9. package/lib/components/case-management-detail/tabs/case-management-header/case-management-header.component.d.ts.map +1 -1
  10. package/lib/components/case-management-detail/tabs/case-management-statuses/case-management-status-modal/case-management-status-modal.component.d.ts +3 -0
  11. package/lib/components/case-management-detail/tabs/case-management-statuses/case-management-status-modal/case-management-status-modal.component.d.ts.map +1 -1
  12. package/lib/components/case-management-detail/tabs/case-management-statuses/case-management-statuses.component.d.ts +1 -0
  13. package/lib/components/case-management-detail/tabs/case-management-statuses/case-management-statuses.component.d.ts.map +1 -1
  14. package/lib/components/case-management-detail/tabs/case-management-tabs/widget-tab/case-management-widget-tab/case-management-widget-tab.component.d.ts.map +1 -1
  15. package/lib/components/case-management-upload/case-management-upload.component.d.ts +33 -1
  16. package/lib/components/case-management-upload/case-management-upload.component.d.ts.map +1 -1
  17. package/lib/constants/case-management.test-ids.d.ts +3 -0
  18. package/lib/constants/case-management.test-ids.d.ts.map +1 -1
  19. package/lib/models/case-deployment.model.d.ts +22 -0
  20. package/lib/models/case-deployment.model.d.ts.map +1 -1
  21. package/lib/services/case-management.service.d.ts +4 -2
  22. package/lib/services/case-management.service.d.ts.map +1 -1
  23. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
- import * as i6 from '@angular/common';
1
+ import * as i5 from '@angular/common';
2
2
  import { CommonModule, DOCUMENT } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Input, ChangeDetectionStrategy, Component, Injectable, Inject, Optional, signal, EventEmitter, Output, ViewEncapsulation, ViewChild, computed, ViewChildren, ViewContainerRef, NgModule } from '@angular/core';
4
+ import { Input, ChangeDetectionStrategy, Component, Injectable, Inject, Optional, signal, EventEmitter, Output, ViewEncapsulation, ViewChild, computed, ViewChildren, inject, DestroyRef, ViewContainerRef, NgModule } from '@angular/core';
5
5
  import * as i1$4 from '@angular/forms';
6
6
  import { Validators, FormControl, FormGroup, ReactiveFormsModule, FormsModule } from '@angular/forms';
7
7
  import * as i9 from '@ng-bootstrap/ng-bootstrap';
@@ -9,41 +9,43 @@ 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 { 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';
12
+ import { runAfterCarbonModalClosed, ViewType, CARBON_CONSTANTS, ValuePathSelectorPrefix, SelectModule, MuuriItemComponent, ValtimoCdsModalDirective, RenderInPageHeaderDirective, TooltipModule, CarbonListModule, ConfirmationModalModule, WidgetModule, DropzoneModule, ModalModule as ModalModule$1, MultiselectDropdownModule, ParagraphModule, 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
- import * as i3$1 from '@valtimo/shared';
14
+ import * as i2$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, LayerModule, ComboBoxModule, ProgressIndicatorModule, LoadingModule, TagModule, DropdownModule, CheckboxModule, LinkModule, DialogModule, FileUploaderModule, ProgressBarModule, ToggleModule, TooltipModule as TooltipModule$1, NumberModule } from 'carbon-components-angular';
18
- import * as i2$1 from '@angular/router';
17
+ import { NotificationModule, Tab, ButtonModule, IconModule, LayerModule, ModalModule, InputModule, TabsModule, ComboBoxModule, ProgressIndicatorModule, LoadingModule, TagModule, DropdownModule, CheckboxModule, LinkModule, DialogModule, FileUploaderModule, ProgressBarModule, ToggleModule, TooltipModule as TooltipModule$1, NumberModule } from 'carbon-components-angular';
18
+ import * as i2$2 from '@angular/router';
19
19
  import { NavigationEnd, RouterModule } from '@angular/router';
20
20
  import { DecisionListComponent, DecisionModelerComponent } from '@valtimo/decision';
21
21
  import { FormFlowOverviewComponent, FormFlowEditorComponent } from '@valtimo/form-flow-management';
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, EMPTY, 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, forkJoin } 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, FlowModeler20, BlockStorageAlt20, Search20, TrashCan20, Upload16 } from '@carbon/icons';
31
+ import { Code16, Development16, TableBuilt16, WatsonHealthPageScroll16, ArrowDown16, ArrowUp16, Edit16, Information16, Return16, TrashCan16, Save16, Version16, Deploy16, WarningFilled16, ArrowRight16, 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
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
+ import * as i2$3 from 'ngx-logger';
38
38
  import { v4 } from 'uuid';
39
39
  import * as semver from 'semver';
40
40
  import { valid, lt } from 'semver';
41
41
  import * as i7$1 from '@valtimo/sse';
42
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
43
+ import * as i4 from '@valtimo/plugin';
42
44
  import moment from 'moment/moment';
43
- import * as i4 from '@valtimo/process-link';
45
+ import * as i4$1 from '@valtimo/process-link';
44
46
  import { ensureDocPrefix, ProcessLinkModule, ProcessLinkStateService, ProcessLinkStepService, ProcessLinkButtonService } from '@valtimo/process-link';
45
47
  import moment$1 from 'moment';
46
- import * as i4$1 from '@valtimo/process';
48
+ import * as i4$2 from '@valtimo/process';
47
49
 
48
50
  /*
49
51
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -242,7 +244,7 @@ class CaseManagementDraftWarningComponent {
242
244
  })));
243
245
  }
244
246
  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 }); }
247
+ 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: i5.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 }); }
246
248
  }
247
249
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDraftWarningComponent, decorators: [{
248
250
  type: Component,
@@ -305,12 +307,12 @@ class CaseHeaderWidgetManagementService extends BaseApiService {
305
307
  createWidget(widget) {
306
308
  return this.paramsRequired$.pipe(switchMap(({ caseDefinitionKey, caseDefinitionVersionTag }) => this.httpClient.post(this.getApiUrl(`management/v1/case-definition/${encodeURIComponent(caseDefinitionKey)}/version/${encodeURIComponent(caseDefinitionVersionTag)}/header-widget`), widget)));
307
309
  }
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 }); }
310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseHeaderWidgetManagementService, deps: [{ token: i1.HttpClient }, { token: i2$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
309
311
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseHeaderWidgetManagementService }); }
310
312
  }
311
313
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseHeaderWidgetManagementService, decorators: [{
312
314
  type: Injectable
313
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i3$1.ConfigService }] });
315
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2$1.ConfigService }] });
314
316
 
315
317
  /*
316
318
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -351,8 +353,10 @@ class CaseManagementHeaderComponent extends ManagementWidgetDetailsComponent {
351
353
  }
352
354
  ngOnDestroy() {
353
355
  this._subscriptions.unsubscribe();
356
+ this.widgetWizardService.$disableActionButton.set(false);
357
+ this.setTitleDisabled(false);
354
358
  }
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 }); }
359
+ 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$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
356
360
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementHeaderComponent, isStandalone: true, selector: "valtimo-case-management-header", providers: [
357
361
  {
358
362
  provide: WIDGET_MANAGEMENT_SERVICE,
@@ -371,7 +375,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
371
375
  }], ctorParameters: () => [{ type: i1$1.WidgetWizardService }, { type: undefined, decorators: [{
372
376
  type: Inject,
373
377
  args: [WIDGET_MANAGEMENT_SERVICE]
374
- }] }, { type: i2$1.ActivatedRoute }] });
378
+ }] }, { type: i2$2.ActivatedRoute }] });
375
379
 
376
380
  /*
377
381
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -535,12 +539,12 @@ class TabManagementService {
535
539
  }
536
540
  return tab;
537
541
  }
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 }); }
542
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabManagementService, deps: [{ token: i2$1.ConfigService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
539
543
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabManagementService }); }
540
544
  }
541
545
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabManagementService, decorators: [{
542
546
  type: Injectable
543
- }], ctorParameters: () => [{ type: i3$1.ConfigService }, { type: i1.HttpClient }] });
547
+ }], ctorParameters: () => [{ type: i2$1.ConfigService }, { type: i1.HttpClient }] });
544
548
 
545
549
  /*
546
550
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -687,7 +691,7 @@ class CaseWidgetManagementApiService {
687
691
  updateWidgets(widgets) {
688
692
  return this.params$.pipe(switchMap((params) => this.http.post(`${this.valtimoEndpointBase}/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}/widget-tab/${params.key}`, { ...params, widgets })));
689
693
  }
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 }); }
694
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetManagementApiService, deps: [{ token: i1.HttpClient }, { token: i2$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
691
695
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetManagementApiService, providedIn: 'root' }); }
692
696
  }
693
697
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetManagementApiService, decorators: [{
@@ -695,7 +699,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
695
699
  args: [{
696
700
  providedIn: 'root',
697
701
  }]
698
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i3$1.ConfigService }] });
702
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2$1.ConfigService }] });
699
703
 
700
704
  /*
701
705
  * Copyright 2015-2026 Ritense BV, the Netherlands.
@@ -759,12 +763,15 @@ class CaseManagementService extends BaseApiService {
759
763
  previewImport(file) {
760
764
  return this.httpClient.post(this.getApiUrl('management/v1/case/import/preview'), file, { headers: new HttpHeaders().set(InterceptorSkip, '400') });
761
765
  }
762
- importDocumentDefinitionZip(file, key, name) {
766
+ importDocumentDefinitionZip(file, key, name, pluginConfigurationMappings) {
763
767
  let params = new HttpParams();
764
768
  if (key)
765
769
  params = params.set('key', key);
766
770
  if (name)
767
771
  params = params.set('name', name);
772
+ if (pluginConfigurationMappings) {
773
+ file.set('pluginConfigurationMappings', new Blob([JSON.stringify(pluginConfigurationMappings)], { type: 'application/json' }));
774
+ }
768
775
  return this.httpClient.post(this.getApiUrl('management/v1/case/import'), file, { params });
769
776
  }
770
777
  exportDocumentDefinition(caseDefinitionKey, caseDefinitionVersionTag = '0') {
@@ -773,10 +780,16 @@ class CaseManagementService extends BaseApiService {
773
780
  getConfigurationIssues(caseDefinitionKey, caseDefinitionVersionTag) {
774
781
  return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/configuration-issues`));
775
782
  }
783
+ getDanglingPluginConfigurations(caseDefinitionKey, caseDefinitionVersionTag) {
784
+ return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/dangling-plugin-configurations`));
785
+ }
786
+ resolvePluginConfigurationMappings(caseDefinitionKey, caseDefinitionVersionTag, mappings) {
787
+ return this.httpClient.put(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/plugin-configuration-mappings`), mappings);
788
+ }
776
789
  getCaseDefinitionFinalizationCheck(caseDefinitionKey, caseDefinitionVersionTag) {
777
790
  return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${caseDefinitionKey}/version/${caseDefinitionVersionTag}/finalizable`));
778
791
  }
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 }); }
792
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementService, deps: [{ token: i1.HttpClient }, { token: i2$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
780
793
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementService, providedIn: 'root' }); }
781
794
  }
782
795
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementService, decorators: [{
@@ -784,7 +797,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
784
797
  args: [{
785
798
  providedIn: 'root',
786
799
  }]
787
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i3$1.ConfigService }] });
800
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2$1.ConfigService }] });
788
801
 
789
802
  class StartableItemApiService extends BaseApiService {
790
803
  constructor(configService, httpClient) {
@@ -819,7 +832,7 @@ class StartableItemApiService extends BaseApiService {
819
832
  getLinkedProcessDefinitions(params) {
820
833
  return this.httpClient.get(this.getApiUrl(`management/v1/case-definition/${params.caseDefinitionKey}/version/${params.caseDefinitionVersionTag}/process-definition`));
821
834
  }
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 }); }
835
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemApiService, deps: [{ token: i2$1.ConfigService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
823
836
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemApiService, providedIn: 'root' }); }
824
837
  }
825
838
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemApiService, decorators: [{
@@ -827,7 +840,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
827
840
  args: [{
828
841
  providedIn: 'root',
829
842
  }]
830
- }], ctorParameters: () => [{ type: i3$1.ConfigService }, { type: i1.HttpClient }] });
843
+ }], ctorParameters: () => [{ type: i2$1.ConfigService }, { type: i1.HttpClient }] });
831
844
 
832
845
  /*
833
846
  * Copyright 2015-2026 Ritense BV, the Netherlands.
@@ -952,12 +965,12 @@ class StartableItemManagementService {
952
965
  },
953
966
  });
954
967
  }
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 }); }
968
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemManagementService, deps: [{ token: StartableItemApiService }, { token: i2$3.NGXLogger }], target: i0.ɵɵFactoryTarget.Injectable }); }
956
969
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemManagementService }); }
957
970
  }
958
971
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StartableItemManagementService, decorators: [{
959
972
  type: Injectable
960
- }], ctorParameters: () => [{ type: StartableItemApiService }, { type: i2$2.NGXLogger }] });
973
+ }], ctorParameters: () => [{ type: StartableItemApiService }, { type: i2$3.NGXLogger }] });
961
974
 
962
975
  /*
963
976
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -1074,13 +1087,13 @@ class TabFormComponent {
1074
1087
  selected: this.form?.get('contentKey')?.value === tabItem.contentKey,
1075
1088
  }));
1076
1089
  }
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 }); }
1090
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabFormComponent, deps: [{ token: i2$1.ConfigService }, { token: TabService }, { token: i1$4.FormGroupDirective }, { token: i2$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
1091
+ 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: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1079
1092
  }
1080
1093
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TabFormComponent, decorators: [{
1081
1094
  type: Component,
1082
1095
  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"] }]
1083
- }], ctorParameters: () => [{ type: i3$1.ConfigService }, { type: TabService }, { type: i1$4.FormGroupDirective }, { type: i2$1.ActivatedRoute }], propDecorators: { tabType: [{
1096
+ }], ctorParameters: () => [{ type: i2$1.ConfigService }, { type: TabService }, { type: i1$4.FormGroupDirective }, { type: i2$2.ActivatedRoute }], propDecorators: { tabType: [{
1084
1097
  type: Input
1085
1098
  }] } });
1086
1099
 
@@ -1179,13 +1192,13 @@ class CaseManagementAddTabModalComponent {
1179
1192
  ? null
1180
1193
  : { uniqueKey: { value: control.value } };
1181
1194
  }
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 }); }
1195
+ 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: i2$1.ConfigService }, { token: i2$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
1196
+ 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: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1184
1197
  }
1185
1198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementAddTabModalComponent, decorators: [{
1186
1199
  type: Component,
1187
1200
  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"] }]
1188
- }], ctorParameters: () => [{ type: i1$4.FormBuilder }, { type: i2.IconService }, { type: TabService }, { type: i3$1.ConfigService }, { type: i2$1.ActivatedRoute }], propDecorators: { params: [{
1201
+ }], ctorParameters: () => [{ type: i1$4.FormBuilder }, { type: i2.IconService }, { type: TabService }, { type: i2$1.ConfigService }, { type: i2$2.ActivatedRoute }], propDecorators: { params: [{
1189
1202
  type: Input
1190
1203
  }], open: [{
1191
1204
  type: Input
@@ -1243,7 +1256,7 @@ class CaseManagementEditTabModalComponent {
1243
1256
  this.closeModalEvent.emit({ ...this.tab, name, contentKey, showTasks });
1244
1257
  }
1245
1258
  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" }] }); }
1259
+ 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: i5.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" }] }); }
1247
1260
  }
1248
1261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementEditTabModalComponent, decorators: [{
1249
1262
  type: Component,
@@ -1410,13 +1423,13 @@ class CaseManagementTabsComponent {
1410
1423
  },
1411
1424
  ]);
1412
1425
  }
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 }); }
1426
+ 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$2.Router }, { token: i2$2.ActivatedRoute }, { token: i2$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
1427
+ 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1415
1428
  }
1416
1429
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementTabsComponent, decorators: [{
1417
1430
  type: Component,
1418
1431
  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" }]
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: [{
1432
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2.IconService }, { type: TabManagementService }, { type: TabService }, { type: i3.TranslateService }, { type: i2$2.Router }, { type: i2$2.ActivatedRoute }, { type: i2$1.EditPermissionsService }], propDecorators: { tabContentColumnTemplate: [{
1420
1433
  type: ViewChild,
1421
1434
  args: ['tabContentColumn']
1422
1435
  }], tabTypeColumnTemplate: [{
@@ -1457,6 +1470,8 @@ const CASE_MANAGEMENT_UPLOAD_TEST_IDS = {
1457
1470
  nameInput: 'importConfigureNameInput',
1458
1471
  versionTag: 'importConfigureVersionTag',
1459
1472
  overrideCheckbox: 'importConfigureOverrideCheckbox',
1473
+ pluginMappingRow: 'pluginMappingRow',
1474
+ pluginMappingDropdown: 'pluginMappingDropdown',
1460
1475
  };
1461
1476
  const CASE_MANAGEMENT_DETAIL_ACTIONS_TEST_IDS = {
1462
1477
  versionSelectDropdown: 'caseVersionSelectDropdown',
@@ -1487,6 +1502,7 @@ const CASE_MANAGEMENT_EXTERNAL_START_FORM_TEST_IDS = {
1487
1502
  const CASE_MANAGEMENT_STATUS_MODAL_TEST_IDS = {
1488
1503
  titleInput: 'caseStatusTitleInput',
1489
1504
  keyInput: 'caseStatusKeyInput',
1505
+ labelInput: 'caseStatusLabelInput',
1490
1506
  editKeyButton: 'caseStatusEditKeyButton',
1491
1507
  colorDropdown: 'caseStatusColorDropdown',
1492
1508
  visibilityToggle: 'caseStatusVisibilityToggle',
@@ -1579,6 +1595,9 @@ class CaseManagementStatusModalComponent {
1579
1595
  get title() {
1580
1596
  return this.statusFormGroup?.get('title');
1581
1597
  }
1598
+ get label() {
1599
+ return this.statusFormGroup?.get('label');
1600
+ }
1582
1601
  get retentionPeriodInDays() {
1583
1602
  return this.statusFormGroup?.get('retentionPeriodInDays');
1584
1603
  }
@@ -1616,6 +1635,7 @@ class CaseManagementStatusModalComponent {
1616
1635
  Validators.minLength(3),
1617
1636
  this.uniqueKeyValidator,
1618
1637
  ]),
1638
+ label: this.fb.control(''),
1619
1639
  retentionPeriodInDays: this.fb.control(-1, [
1620
1640
  Validators.required,
1621
1641
  Validators.pattern(/^(?:-1|0|[1-9]\d*)$/),
@@ -1712,6 +1732,7 @@ class CaseManagementStatusModalComponent {
1712
1732
  this.statusFormGroup.patchValue({
1713
1733
  key: prefillStatus.key,
1714
1734
  title: prefillStatus.title,
1735
+ label: prefillStatus.label ?? '',
1715
1736
  retentionPeriodInDays: retentionPeriodInDays,
1716
1737
  visibleInCaseListByDefault: prefillStatus.visibleInCaseListByDefault,
1717
1738
  color: prefillStatus.color,
@@ -1725,6 +1746,7 @@ class CaseManagementStatusModalComponent {
1725
1746
  this.statusFormGroup.patchValue({
1726
1747
  key: '',
1727
1748
  title: '',
1749
+ label: '',
1728
1750
  visibleInCaseListByDefault: true,
1729
1751
  retentionPeriodInDays: -1,
1730
1752
  color: TagColor.Magenta,
@@ -1796,20 +1818,22 @@ class CaseManagementStatusModalComponent {
1796
1818
  this.closeModalEvent.emit('closeAndRefresh');
1797
1819
  }
1798
1820
  getFormValue() {
1821
+ const labelValue = this.label.value?.trim();
1799
1822
  return {
1800
1823
  key: this.key.value,
1801
1824
  title: this.title.value,
1802
1825
  retentionPeriodInDays: this.retentionPeriodInDays.value,
1803
1826
  visibleInCaseListByDefault: this.visibleInCaseListByDefault.value,
1804
1827
  color: this.color.value,
1828
+ ...(labelValue ? { label: labelValue } : {}),
1805
1829
  };
1806
1830
  }
1807
1831
  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 }); }
1808
- 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 }); }
1832
+ 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.label' | translate }}\n\n <input cdsText formControlName=\"label\" [attr.data-test-id]=\"testIds.labelInput\" />\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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1809
1833
  }
1810
1834
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementStatusModalComponent, decorators: [{
1811
1835
  type: Component,
1812
- 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"] }]
1836
+ 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.label' | translate }}\n\n <input cdsText formControlName=\"label\" [attr.data-test-id]=\"testIds.labelInput\" />\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"] }]
1813
1837
  }], ctorParameters: () => [{ type: i1$4.FormBuilder }, { type: i2.IconService }, { type: i1$2.CaseStatusService }, { type: i3.TranslateService }], propDecorators: { type: [{
1814
1838
  type: Input
1815
1839
  }], prefill: [{
@@ -1959,13 +1983,13 @@ class CaseManagementStatusesComponent {
1959
1983
  },
1960
1984
  ]);
1961
1985
  }
1962
- 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 }); }
1963
- 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 }); }
1986
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementStatusesComponent, deps: [{ token: i1$2.CaseStatusService }, { token: i2$2.ActivatedRoute }, { token: i2$1.EnvironmentService }, { token: i2$1.EditPermissionsService }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
1987
+ 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1964
1988
  }
1965
1989
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementStatusesComponent, decorators: [{
1966
1990
  type: Component,
1967
1991
  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"] }]
1968
- }], ctorParameters: () => [{ type: i1$2.CaseStatusService }, { type: i2$1.ActivatedRoute }, { type: i3$1.EnvironmentService }, { type: i3$1.EditPermissionsService }, { type: CaseManagementService }], propDecorators: { colorColumnTemplate: [{
1992
+ }], ctorParameters: () => [{ type: i1$2.CaseStatusService }, { type: i2$2.ActivatedRoute }, { type: i2$1.EnvironmentService }, { type: i2$1.EditPermissionsService }, { type: CaseManagementService }], propDecorators: { colorColumnTemplate: [{
1969
1993
  type: ViewChild,
1970
1994
  args: ['colorColumnTemplate']
1971
1995
  }], retentionPeriodColumnTemplate: [{
@@ -2210,7 +2234,7 @@ class CaseManagementTagsModalComponent {
2210
2234
  };
2211
2235
  }
2212
2236
  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 }); }
2213
- 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 }); }
2237
+ 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: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2214
2238
  }
2215
2239
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementTagsModalComponent, decorators: [{
2216
2240
  type: Component,
@@ -2360,13 +2384,13 @@ class CaseManagementTagsComponent {
2360
2384
  },
2361
2385
  ]);
2362
2386
  }
2363
- 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 }); }
2364
- 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 }); }
2387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementTagsComponent, deps: [{ token: i1$2.CaseTagService }, { token: i2$2.ActivatedRoute }, { token: i2$1.EditPermissionsService }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
2388
+ 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2365
2389
  }
2366
2390
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementTagsComponent, decorators: [{
2367
2391
  type: Component,
2368
2392
  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"] }]
2369
- }], ctorParameters: () => [{ type: i1$2.CaseTagService }, { type: i2$1.ActivatedRoute }, { type: i3$1.EditPermissionsService }, { type: CaseManagementService }], propDecorators: { colorColumnTemplate: [{
2393
+ }], ctorParameters: () => [{ type: i1$2.CaseTagService }, { type: i2$2.ActivatedRoute }, { type: i2$1.EditPermissionsService }, { type: CaseManagementService }], propDecorators: { colorColumnTemplate: [{
2370
2394
  type: ViewChild,
2371
2395
  args: ['colorColumnTemplate']
2372
2396
  }] } });
@@ -2399,13 +2423,13 @@ class CaseManagementCaseDetailComponent {
2399
2423
  switchTab(tab) {
2400
2424
  this.currentTab$.next(tab);
2401
2425
  }
2402
- 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 }); }
2403
- 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 }); }
2426
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCaseDetailComponent, deps: [{ token: i2$1.DraftVersionService }, { token: i2$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
2427
+ 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: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2404
2428
  }
2405
2429
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCaseDetailComponent, decorators: [{
2406
2430
  type: Component,
2407
2431
  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"] }]
2408
- }], ctorParameters: () => [{ type: i3$1.DraftVersionService }, { type: i2$1.ActivatedRoute }] });
2432
+ }], ctorParameters: () => [{ type: i2$1.DraftVersionService }, { type: i2$2.ActivatedRoute }] });
2409
2433
 
2410
2434
  /*
2411
2435
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -2852,13 +2876,13 @@ class CaseManagementSearchFieldsComponent {
2852
2876
  showEditModal(searchField) {
2853
2877
  this.searchFieldClicked(searchField, false);
2854
2878
  }
2855
- 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 }); }
2856
- 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 }); }
2879
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementSearchFieldsComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.ActivatedRoute }, { token: i3.TranslateService }, { token: i2.IconService }, { token: i2$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
2880
+ 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2857
2881
  }
2858
2882
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementSearchFieldsComponent, decorators: [{
2859
2883
  type: Component,
2860
2884
  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"] }]
2861
- }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$1.ActivatedRoute }, { type: i3.TranslateService }, { type: i2.IconService }, { type: i3$1.EditPermissionsService }] });
2885
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$2.ActivatedRoute }, { type: i3.TranslateService }, { type: i2.IconService }, { type: i2$1.EditPermissionsService }] });
2862
2886
 
2863
2887
  /*
2864
2888
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -3292,13 +3316,13 @@ class CaseManagementListColumnsComponent {
3292
3316
  this.displayExportButton = pathMustStartWithCaseOrDocRegex.test(String(value));
3293
3317
  });
3294
3318
  }
3295
- 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 }); }
3296
- 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" }] }); }
3319
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementListColumnsComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.ActivatedRoute }, { token: i3.TranslateService }, { token: i2.IconService }, { token: i2$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
3320
+ 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3297
3321
  }
3298
3322
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementListColumnsComponent, decorators: [{
3299
3323
  type: Component,
3300
3324
  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"] }]
3301
- }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$1.ActivatedRoute }, { type: i3.TranslateService }, { type: i2.IconService }, { type: i3$1.EditPermissionsService }] });
3325
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$2.ActivatedRoute }, { type: i3.TranslateService }, { type: i2.IconService }, { type: i2$1.EditPermissionsService }] });
3302
3326
 
3303
3327
  /*
3304
3328
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -3332,13 +3356,13 @@ class CaseManagementCaseListComponent {
3332
3356
  switchTab(tab) {
3333
3357
  this.currentTab$.next(tab);
3334
3358
  }
3335
- 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 }); }
3336
- 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 }); }
3359
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCaseListComponent, deps: [{ token: i2$1.DraftVersionService }, { token: i2$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
3360
+ 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: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3337
3361
  }
3338
3362
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCaseListComponent, decorators: [{
3339
3363
  type: Component,
3340
3364
  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"] }]
3341
- }], ctorParameters: () => [{ type: i3$1.DraftVersionService }, { type: i2$1.ActivatedRoute }] });
3365
+ }], ctorParameters: () => [{ type: i2$1.DraftVersionService }, { type: i2$2.ActivatedRoute }] });
3342
3366
 
3343
3367
  /*
3344
3368
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -3432,13 +3456,13 @@ class CaseManagementCreateDraftVersionComponent {
3432
3456
  caseDefinitionVersionTag: params?.caseDefinitionVersionTag,
3433
3457
  })));
3434
3458
  }
3435
- 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 }); }
3436
- 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 }); }
3459
+ 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$2.ActivatedRoute }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
3460
+ 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: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3437
3461
  }
3438
3462
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCreateDraftVersionComponent, decorators: [{
3439
3463
  type: Component,
3440
3464
  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"] }]
3441
- }], ctorParameters: () => [{ type: i1$4.FormBuilder }, { type: i2.IconService }, { type: i3.TranslateService }, { type: i2$1.ActivatedRoute }, { type: CaseManagementService }], propDecorators: { open: [{
3465
+ }], ctorParameters: () => [{ type: i1$4.FormBuilder }, { type: i2.IconService }, { type: i3.TranslateService }, { type: i2$2.ActivatedRoute }, { type: CaseManagementService }], propDecorators: { open: [{
3442
3466
  type: Input
3443
3467
  }], caseDefinitionPayload: [{
3444
3468
  type: Input
@@ -3747,13 +3771,13 @@ class CaseManagementDeploymentComponent {
3747
3771
  duration: 5000,
3748
3772
  });
3749
3773
  }
3750
- 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 }); }
3751
- 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" }] }); }
3774
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDeploymentComponent, deps: [{ token: i7.BreadcrumbService }, { token: CaseManagementService }, { token: i5.DatePipe }, { token: i2$1.EnvironmentService }, { token: i2.IconService }, { token: i5.Location }, { token: i2$1.GlobalNotificationService }, { token: i2$2.ActivatedRoute }, { token: i2$2.Router }, { token: i7$1.SseService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
3775
+ 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: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3752
3776
  }
3753
3777
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDeploymentComponent, decorators: [{
3754
3778
  type: Component,
3755
3779
  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"] }]
3756
- }], 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: [{
3780
+ }], ctorParameters: () => [{ type: i7.BreadcrumbService }, { type: CaseManagementService }, { type: i5.DatePipe }, { type: i2$1.EnvironmentService }, { type: i2.IconService }, { type: i5.Location }, { type: i2$1.GlobalNotificationService }, { type: i2$2.ActivatedRoute }, { type: i2$2.Router }, { type: i7$1.SseService }, { type: i3.TranslateService }], propDecorators: { _createDraftMessageTemplateRef: [{
3757
3781
  type: ViewChild,
3758
3782
  args: ['createDraftMessage']
3759
3783
  }], _finalizeDraftMessageTemplateRef: [{
@@ -3868,13 +3892,13 @@ class CaseManagementSelectVersionModalComponent {
3868
3892
  this.selectedVersion.emit(caseDefinitionVersionTag);
3869
3893
  this.closeEvent.emit();
3870
3894
  }
3871
- 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 }); }
3872
- 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" }] }); }
3895
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementSelectVersionModalComponent, deps: [{ token: i2$2.ActivatedRoute }, { token: i2$2.Router }, { token: CaseManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
3896
+ 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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
3873
3897
  }
3874
3898
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementSelectVersionModalComponent, decorators: [{
3875
3899
  type: Component,
3876
3900
  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"] }]
3877
- }], ctorParameters: () => [{ type: i2$1.ActivatedRoute }, { type: i2$1.Router }, { type: CaseManagementService }], propDecorators: { open: [{
3901
+ }], ctorParameters: () => [{ type: i2$2.ActivatedRoute }, { type: i2$2.Router }, { type: CaseManagementService }], propDecorators: { open: [{
3878
3902
  type: Input
3879
3903
  }], previousSelectedVersion: [{
3880
3904
  type: Input
@@ -4141,8 +4165,8 @@ class CaseManagementDetailActionsComponent {
4141
4165
  relativeTo: this.route,
4142
4166
  });
4143
4167
  }
4144
- 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 }); }
4145
- 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 }); }
4168
+ 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: i2$1.GlobalNotificationService }, { token: i2.IconService }, { token: i7.PageHeaderService }, { token: i2$2.ActivatedRoute }, { token: i2$2.Router }, { token: i3.TranslateService }, { token: i2$1.ConfigurationIssueService }], target: i0.ɵɵFactoryTarget.Component }); }
4169
+ 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: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4146
4170
  }
4147
4171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDetailActionsComponent, decorators: [{
4148
4172
  type: Component,
@@ -4150,7 +4174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4150
4174
  }], ctorParameters: () => [{ type: Document, decorators: [{
4151
4175
  type: Inject,
4152
4176
  args: [DOCUMENT]
4153
- }] }, { type: CaseManagementService }, { type: CaseDetailService }, { type: i3$1.GlobalNotificationService }, { type: i2.IconService }, { type: i7.PageHeaderService }, { type: i2$1.ActivatedRoute }, { type: i2$1.Router }, { type: i3.TranslateService }, { type: i3$1.ConfigurationIssueService }], propDecorators: { _exportMessageTemplateRef: [{
4177
+ }] }, { type: CaseManagementService }, { type: CaseDetailService }, { type: i2$1.GlobalNotificationService }, { type: i2.IconService }, { type: i7.PageHeaderService }, { type: i2$2.ActivatedRoute }, { type: i2$2.Router }, { type: i3.TranslateService }, { type: i2$1.ConfigurationIssueService }], propDecorators: { _exportMessageTemplateRef: [{
4154
4178
  type: ViewChild,
4155
4179
  args: ['exportingMessage']
4156
4180
  }], documentDefinitionTitle: [{
@@ -4177,12 +4201,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4177
4201
  * limitations under the License.
4178
4202
  */
4179
4203
  class CaseManagementDetailComponent {
4180
- constructor(route, caseDetailService, caseManagementService, configService, configurationIssueService, pageTitleService, router, sseService, tabService) {
4204
+ constructor(route, caseDetailService, caseManagementService, configService, configurationIssueService, iconService, pageTitleService, router, sseService, tabService) {
4181
4205
  this.route = route;
4182
4206
  this.caseDetailService = caseDetailService;
4183
4207
  this.caseManagementService = caseManagementService;
4184
4208
  this.configService = configService;
4185
4209
  this.configurationIssueService = configurationIssueService;
4210
+ this.iconService = iconService;
4186
4211
  this.pageTitleService = pageTitleService;
4187
4212
  this.router = router;
4188
4213
  this.sseService = sseService;
@@ -4190,6 +4215,8 @@ class CaseManagementDetailComponent {
4190
4215
  this.testIds = CASE_MANAGEMENT_DETAIL_TEST_IDS;
4191
4216
  this.params$ = getCaseManagementRouteParams(this.route);
4192
4217
  this.caseDefinitionKey$ = this.params$.pipe(map(params => params?.caseDefinitionKey ?? ''));
4218
+ this.caseListColumn$ = this.configService.getFeatureToggleObservable('caseListColumn', true);
4219
+ this.tabManagementEnabled$ = this.configService.getFeatureToggleObservable('enableTabManagement', true);
4193
4220
  this.currentTab$ = this.router.events.pipe(filter(event => event instanceof NavigationEnd), map(event => {
4194
4221
  const urlWithoutQuery = event.urlAfterRedirects.split('?')[0];
4195
4222
  const splitUrl = urlWithoutQuery.split('/');
@@ -4200,14 +4227,14 @@ class CaseManagementDetailComponent {
4200
4227
  this.TabEnum = TabEnum;
4201
4228
  this._subscriptions = new Subscription();
4202
4229
  this._refreshConfigurationIssues$ = new BehaviorSubject(null);
4230
+ this.hasPluginProcessLinkIssue$ = this.configurationIssueService.hasIssue$('plugin-process-link');
4231
+ this._tabIssueCache = new Map();
4203
4232
  this.configurationIssues$ = combineLatest([
4204
4233
  this.caseDetailService.selectedCaseDefinitionKey$,
4205
4234
  this.caseDetailService.selectedCaseDefinitionVersionTag$,
4206
4235
  this._refreshConfigurationIssues$,
4207
4236
  ]).pipe(switchMap(([key, version]) => this.caseManagementService.getConfigurationIssues(key, version)), map(issues => issues.filter(issue => !issue.resolved)), shareReplay(1));
4208
- const featureToggles = this.configService.config.featureToggles;
4209
- this.caseListColumn = featureToggles?.caseListColumn ?? true;
4210
- this.tabManagementEnabled = featureToggles?.enableTabManagement ?? true;
4237
+ this.iconService.registerAll([WarningFilled16]);
4211
4238
  }
4212
4239
  ngOnInit() {
4213
4240
  this._subscriptions.add(this.caseDetailService.documentDefinition$.subscribe((documentDefinition) => {
@@ -4227,6 +4254,15 @@ class CaseManagementDetailComponent {
4227
4254
  this.pageTitleService.enableReset();
4228
4255
  this.configurationIssueService.setUnresolvedIssueTypes([]);
4229
4256
  }
4257
+ hasTabIssues$(issueTypes) {
4258
+ const cacheKey = issueTypes.slice().sort().join(',');
4259
+ let cached = this._tabIssueCache.get(cacheKey);
4260
+ if (!cached) {
4261
+ cached = this.configurationIssueService.hasAnyOfIssues$(issueTypes);
4262
+ this._tabIssueCache.set(cacheKey, cached);
4263
+ }
4264
+ return cached;
4265
+ }
4230
4266
  navigateToTab(tab) {
4231
4267
  if (!this._params)
4232
4268
  return;
@@ -4280,13 +4316,13 @@ class CaseManagementDetailComponent {
4280
4316
  //TODO: Fix pending changes with new routing
4281
4317
  // this._documentDefinitionTab?.onCanDeactivate();
4282
4318
  }
4283
- 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 }); }
4284
- 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 }); }
4319
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDetailComponent, deps: [{ token: i2$2.ActivatedRoute }, { token: CaseDetailService }, { token: CaseManagementService }, { token: i2$1.ConfigService }, { token: i2$1.ConfigurationIssueService }, { token: i2.IconService }, { token: i7.PageTitleService }, { token: i2$2.Router }, { token: i7$1.SseService }, { token: TabService }], target: i0.ɵɵFactoryTarget.Component }); }
4320
+ 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 ></cds-notification>\n }\n }\n\n <cds-tabs class=\"case-management-tabs\" type=\"inline\" [attr.data-test-id]=\"testIds.tabs\">\n <ng-template #generalTabHeading>\n {{ 'caseManagement.tabs.general' | translate }}\n @if (hasPluginProcessLinkIssue$ | async) {\n <svg cdsIcon=\"warning--filled\" size=\"16\" class=\"tab-warning-icon\"></svg>\n }\n </ng-template>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.GENERAL\"\n [active]=\"obs.currentTab === TabEnum.GENERAL\"\n [heading]=\"generalTabHeading\"\n [title]=\"'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 <ng-template #injectedTabHeading>\n {{ injectedTab.translationKey | translate }}\n @if (injectedTab.issueTypes?.length && (hasTabIssues$(injectedTab.issueTypes) | async)) {\n <svg cdsIcon=\"warning--filled\" size=\"16\" class=\"tab-warning-icon\"></svg>\n }\n </ng-template>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === (injectedTab.tabRoute ?? injectedTab.translationKey)\"\n [heading]=\"injectedTabHeading\"\n [title]=\"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}.tab-warning-icon{margin-left:4px;vertical-align:middle;fill:var(--cds-support-warning)}.tab-warning-icon ::ng-deep [data-icon-path=inner-path]{fill:#000;opacity:1}\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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.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: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { 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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4285
4321
  }
4286
4322
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDetailComponent, decorators: [{
4287
4323
  type: Component,
4288
- 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"] }]
4289
- }], 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: [{
4324
+ 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 ></cds-notification>\n }\n }\n\n <cds-tabs class=\"case-management-tabs\" type=\"inline\" [attr.data-test-id]=\"testIds.tabs\">\n <ng-template #generalTabHeading>\n {{ 'caseManagement.tabs.general' | translate }}\n @if (hasPluginProcessLinkIssue$ | async) {\n <svg cdsIcon=\"warning--filled\" size=\"16\" class=\"tab-warning-icon\"></svg>\n }\n </ng-template>\n\n <cds-tab\n class=\"no-padding-left-right main-content\"\n [id]=\"TabEnum.GENERAL\"\n [active]=\"obs.currentTab === TabEnum.GENERAL\"\n [heading]=\"generalTabHeading\"\n [title]=\"'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 <ng-template #injectedTabHeading>\n {{ injectedTab.translationKey | translate }}\n @if (injectedTab.issueTypes?.length && (hasTabIssues$(injectedTab.issueTypes) | async)) {\n <svg cdsIcon=\"warning--filled\" size=\"16\" class=\"tab-warning-icon\"></svg>\n }\n </ng-template>\n\n <cds-tab\n class=\"no-padding-left-right no-padding-top-bottom\"\n [active]=\"obs.currentTab === (injectedTab.tabRoute ?? injectedTab.translationKey)\"\n [heading]=\"injectedTabHeading\"\n [title]=\"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}.tab-warning-icon{margin-left:4px;vertical-align:middle;fill:var(--cds-support-warning)}.tab-warning-icon ::ng-deep [data-icon-path=inner-path]{fill:#000;opacity:1}\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"] }]
4325
+ }], ctorParameters: () => [{ type: i2$2.ActivatedRoute }, { type: CaseDetailService }, { type: CaseManagementService }, { type: i2$1.ConfigService }, { type: i2$1.ConfigurationIssueService }, { type: i2.IconService }, { type: i7.PageTitleService }, { type: i2$2.Router }, { type: i7$1.SseService }, { type: TabService }], propDecorators: { _tabs: [{
4290
4326
  type: ViewChildren,
4291
4327
  args: [Tab]
4292
4328
  }] } });
@@ -4369,13 +4405,13 @@ class CaseManagementDocumentDefinitionComponent {
4369
4405
  onChangeEvent() {
4370
4406
  this._pendingChanges$.next(true);
4371
4407
  }
4372
- 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 }); }
4373
- 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 [attr.data-test-id]=\"testIds.downloadButton\"\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 }); }
4408
+ 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$2.ActivatedRoute }, { token: i2$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
4409
+ 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 [attr.data-test-id]=\"testIds.downloadButton\"\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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4374
4410
  }
4375
4411
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementDocumentDefinitionComponent, decorators: [{
4376
4412
  type: Component,
4377
4413
  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 [attr.data-test-id]=\"testIds.downloadButton\"\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"] }]
4378
- }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: CaseDetailService }, { type: i2.IconService }, { type: i7.PageHeaderService }, { type: i2$1.ActivatedRoute }, { type: i3$1.EditPermissionsService }], propDecorators: { cancelModal: [{
4414
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: CaseDetailService }, { type: i2.IconService }, { type: i7.PageHeaderService }, { type: i2$2.ActivatedRoute }, { type: i2$1.EditPermissionsService }], propDecorators: { cancelModal: [{
4379
4415
  type: ViewChild,
4380
4416
  args: ['cancelModal']
4381
4417
  }], caseDefinitionKey: [{
@@ -4388,6 +4424,192 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4388
4424
  type: Output
4389
4425
  }] } });
4390
4426
 
4427
+ /*
4428
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
4429
+ *
4430
+ * Licensed under EUPL, Version 1.2 (the "License");
4431
+ * you may not use this file except in compliance with the License.
4432
+ * You may obtain a copy of the License at
4433
+ *
4434
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
4435
+ *
4436
+ * Unless required by applicable law or agreed to in writing, software
4437
+ * distributed under the License is distributed on an "AS IS" basis,
4438
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4439
+ * See the License for the specific language governing permissions and
4440
+ * limitations under the License.
4441
+ */
4442
+ class CaseManagementMissingPluginConfigurationsComponent {
4443
+ constructor(caseManagementService, configurationIssueService, globalNotificationService, iconService, pluginManagementService, pluginTranslationService, route, translateService) {
4444
+ this.caseManagementService = caseManagementService;
4445
+ this.configurationIssueService = configurationIssueService;
4446
+ this.globalNotificationService = globalNotificationService;
4447
+ this.iconService = iconService;
4448
+ this.pluginManagementService = pluginManagementService;
4449
+ this.pluginTranslationService = pluginTranslationService;
4450
+ this.route = route;
4451
+ this.translateService = translateService;
4452
+ this.hasIssue$ = this.configurationIssueService.hasIssue$('plugin-process-link');
4453
+ this.mappingRows$ = new BehaviorSubject([]);
4454
+ this.hasUnknownPluginConfigurations$ = new BehaviorSubject(false);
4455
+ this.visible$ = combineLatest([
4456
+ this.hasIssue$,
4457
+ this.mappingRows$,
4458
+ this.hasUnknownPluginConfigurations$,
4459
+ ]).pipe(map(([hasIssue, rows, hasUnknown]) => hasIssue && (rows?.length > 0 || hasUnknown)));
4460
+ this.visibleRows$ = combineLatest([this.hasIssue$, this.mappingRows$]).pipe(map(([hasIssue, rows]) => (hasIssue && rows?.length ? rows : null)));
4461
+ this.saving$ = new BehaviorSubject(false);
4462
+ this._selections = new Map();
4463
+ this.destroyRef = inject(DestroyRef);
4464
+ this._params$ = getCaseManagementRouteParams(this.route);
4465
+ this.iconService.registerAll([Save16, ArrowRight16]);
4466
+ }
4467
+ ngOnInit() {
4468
+ this._params$
4469
+ .pipe(filter((params) => !!params?.caseDefinitionKey && !!params?.caseDefinitionVersionTag), switchMap(params => {
4470
+ this._caseDefinitionKey = params.caseDefinitionKey;
4471
+ this._caseDefinitionVersionTag = params.caseDefinitionVersionTag;
4472
+ return this.caseManagementService.getDanglingPluginConfigurations(this._caseDefinitionKey, this._caseDefinitionVersionTag);
4473
+ }), takeUntilDestroyed(this.destroyRef))
4474
+ .subscribe(dangling => this.loadMappingRows(dangling));
4475
+ }
4476
+ onMappingChange(index, selectedId) {
4477
+ this._selections.set(index, selectedId ? String(selectedId) : null);
4478
+ }
4479
+ save() {
4480
+ const mappings = {};
4481
+ const rows = this.mappingRows$.value;
4482
+ for (let i = 0; i < rows.length; i++) {
4483
+ const selectedId = this._selections.get(i);
4484
+ if (selectedId) {
4485
+ for (const sourceId of rows[i].sourcePluginConfigurationIds) {
4486
+ mappings[sourceId] = selectedId;
4487
+ }
4488
+ }
4489
+ }
4490
+ if (Object.keys(mappings).length === 0)
4491
+ return;
4492
+ this.saving$.next(true);
4493
+ this.caseManagementService
4494
+ .resolvePluginConfigurationMappings(this._caseDefinitionKey, this._caseDefinitionVersionTag, mappings)
4495
+ .pipe(take$1(1))
4496
+ .subscribe({
4497
+ next: () => {
4498
+ this.saving$.next(false);
4499
+ this.globalNotificationService.showToast({
4500
+ title: this.translateService.instant('caseManagement.missingPluginConfigurations.saveSuccess'),
4501
+ type: 'success',
4502
+ });
4503
+ this.caseManagementService
4504
+ .getDanglingPluginConfigurations(this._caseDefinitionKey, this._caseDefinitionVersionTag)
4505
+ .pipe(take$1(1))
4506
+ .subscribe(dangling => this.loadMappingRows(dangling));
4507
+ },
4508
+ error: () => {
4509
+ this.saving$.next(false);
4510
+ this.globalNotificationService.showToast({
4511
+ title: this.translateService.instant('caseManagement.missingPluginConfigurations.saveError'),
4512
+ type: 'error',
4513
+ });
4514
+ },
4515
+ });
4516
+ }
4517
+ loadMappingRows(dangling) {
4518
+ const knownKeyDangling = dangling.filter(d => d.pluginDefinitionKey !== null);
4519
+ const hasUnknown = dangling.some(d => d.pluginDefinitionKey === null);
4520
+ this.hasUnknownPluginConfigurations$.next(hasUnknown);
4521
+ if (knownKeyDangling.length === 0) {
4522
+ this.mappingRows$.next([]);
4523
+ return;
4524
+ }
4525
+ this.pluginManagementService
4526
+ .getPluginDefinitions()
4527
+ .pipe(take$1(1))
4528
+ .subscribe(definitions => {
4529
+ const installedKeys = new Set(definitions.map(d => d.key));
4530
+ this.loadPluginConfigurations(knownKeyDangling, installedKeys);
4531
+ });
4532
+ }
4533
+ loadPluginConfigurations(dangling, installedKeys) {
4534
+ const uniqueKeys = [...new Set(dangling.map(d => d.pluginDefinitionKey).filter(Boolean))];
4535
+ const installableKeys = uniqueKeys.filter(k => installedKeys.has(k));
4536
+ const configsByKey = new Map();
4537
+ let remaining = installableKeys.length;
4538
+ if (remaining === 0) {
4539
+ this.buildRows(dangling, configsByKey, installedKeys);
4540
+ return;
4541
+ }
4542
+ for (const key of installableKeys) {
4543
+ this.pluginManagementService
4544
+ .getPluginConfigurationsByPluginDefinitionKey(key)
4545
+ .pipe(take$1(1))
4546
+ .subscribe({
4547
+ next: configs => {
4548
+ configsByKey.set(key, configs);
4549
+ remaining--;
4550
+ if (remaining === 0)
4551
+ this.buildRows(dangling, configsByKey, installedKeys);
4552
+ },
4553
+ error: () => {
4554
+ configsByKey.set(key, []);
4555
+ remaining--;
4556
+ if (remaining === 0)
4557
+ this.buildRows(dangling, configsByKey, installedKeys);
4558
+ },
4559
+ });
4560
+ }
4561
+ }
4562
+ buildRows(dangling, configsByKey, installedKeys) {
4563
+ this._selections.clear();
4564
+ this.mappingRows$.next(dangling.map(d => {
4565
+ const key = d.pluginDefinitionKey;
4566
+ const isInstalled = key ? installedKeys.has(key) : false;
4567
+ const available = configsByKey.get(key) || [];
4568
+ let status;
4569
+ if (!isInstalled) {
4570
+ status = 'not-installed';
4571
+ }
4572
+ else if (available.length === 0) {
4573
+ status = 'no-configurations';
4574
+ }
4575
+ else {
4576
+ status = 'available';
4577
+ }
4578
+ return {
4579
+ pluginDefinitionKey: key,
4580
+ pluginDefinitionTitle: this.getPluginTitle(key),
4581
+ sourcePluginConfigurationIds: d.sourcePluginConfigurationIds,
4582
+ selectItems: available.map(c => ({ id: c.id, text: c.title })),
4583
+ status,
4584
+ };
4585
+ }));
4586
+ }
4587
+ getPluginTitle(pluginDefinitionKey) {
4588
+ if (!pluginDefinitionKey) {
4589
+ return this.translateService.instant('caseManagement.missingPluginConfigurations.unknownPlugin');
4590
+ }
4591
+ const translated = this.pluginTranslationService.instant('title', pluginDefinitionKey);
4592
+ if (translated === `${pluginDefinitionKey}.title`) {
4593
+ return pluginDefinitionKey;
4594
+ }
4595
+ return translated;
4596
+ }
4597
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementMissingPluginConfigurationsComponent, deps: [{ token: CaseManagementService }, { token: i2$1.ConfigurationIssueService }, { token: i2$1.GlobalNotificationService }, { token: i2.IconService }, { token: i4.PluginManagementService }, { token: i4.PluginTranslationService }, { token: i2$2.ActivatedRoute }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
4598
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseManagementMissingPluginConfigurationsComponent, isStandalone: true, selector: "valtimo-case-management-missing-plugin-configurations", 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@if (visible$ | async) {\n <div class=\"missing-plugin-configurations\">\n <h4 class=\"missing-plugin-configurations__title\">\n {{ 'caseManagement.missingPluginConfigurations.title' | translate }}\n </h4>\n <p class=\"missing-plugin-configurations__description\">\n {{ 'caseManagement.missingPluginConfigurations.description' | translate }}\n </p>\n\n @if (hasUnknownPluginConfigurations$ | async) {\n <cds-inline-notification\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.missingPluginConfigurations.legacyExport.title' | translate),\n message: ('caseManagement.missingPluginConfigurations.legacyExport.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n }\n\n @if (visibleRows$ | async; as rows) {\n <div class=\"missing-plugin-configurations__rows\">\n @for (row of rows; track row.pluginDefinitionKey; let i = $index) {\n <div class=\"missing-plugin-configurations__row\" [cdsLayer]=\"1\">\n <div class=\"missing-plugin-configurations__source\">\n {{ row.pluginDefinitionTitle }}\n </div>\n <svg cdsIcon=\"arrow--right\" size=\"16\" class=\"missing-plugin-configurations__arrow\"></svg>\n @if (row.status === 'available') {\n <div class=\"missing-plugin-configurations__dropdown\" [cdsLayer]=\"2\">\n <v-select\n [items]=\"row.selectItems\"\n [placeholder]=\"'caseManagement.missingPluginConfigurations.selectPlaceholder' | translate\"\n (selectedChange)=\"onMappingChange(i, $event)\"\n ></v-select>\n </div>\n } @else if (row.status === 'not-installed') {\n <div class=\"missing-plugin-configurations__unavailable missing-plugin-configurations__unavailable--error\">\n {{ 'caseManagement.missingPluginConfigurations.notInstalled' | translate }}\n </div>\n } @else if (row.status === 'no-configurations') {\n <div class=\"missing-plugin-configurations__unavailable\">\n {{ 'caseManagement.missingPluginConfigurations.noConfigurations' | translate }}\n </div>\n }\n </div>\n }\n </div>\n\n <div class=\"missing-plugin-configurations__actions\">\n <button\n cdsButton=\"primary\"\n [disabled]=\"saving$ | async\"\n (click)=\"save()\"\n >\n {{ 'interface.save' | translate }}\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n }\n </div>\n}\n", styles: [".missing-plugin-configurations{background-color:var(--cds-layer);outline:2px solid var(--cds-support-error, #da1e28);padding:24px;margin-bottom:16px;display:flex;flex-direction:column;gap:1rem}.missing-plugin-configurations__title{font-size:.875rem;font-weight:600;color:var(--cds-text-primary);margin:0}.missing-plugin-configurations__description{font-size:.875rem;color:var(--cds-text-secondary);margin:.25rem 0 0}.missing-plugin-configurations__rows{display:flex;flex-direction:column;gap:.5rem}.missing-plugin-configurations__row{display:grid;grid-template-columns:1fr 24px 1fr;gap:.5rem;align-items:center;padding:12px;background-color:var(--cds-layer)}.missing-plugin-configurations__source{font-size:.875rem;font-weight:400;padding:0 1rem;height:2.5rem;display:flex;align-items:center}.missing-plugin-configurations__arrow{fill:var(--cds-text-secondary);justify-self:center}.missing-plugin-configurations__dropdown{width:100%}.missing-plugin-configurations__unavailable{font-size:.875rem;color:var(--cds-text-disabled);padding:0 1rem;height:2.5rem;display:flex;align-items:center;background-color:var(--cds-field)}.missing-plugin-configurations__unavailable--error{color:var(--cds-text-error)}.missing-plugin-configurations__actions{display:flex;justify-content:flex-end}\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: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { 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: NotificationModule }, { kind: "component", type: i2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "ngmodule", type: SelectModule }, { 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"] }] }); }
4599
+ }
4600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementMissingPluginConfigurationsComponent, decorators: [{
4601
+ type: Component,
4602
+ args: [{ selector: 'valtimo-case-management-missing-plugin-configurations', standalone: true, imports: [
4603
+ CommonModule,
4604
+ TranslateModule,
4605
+ ButtonModule,
4606
+ IconModule,
4607
+ LayerModule,
4608
+ NotificationModule,
4609
+ SelectModule,
4610
+ ], 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@if (visible$ | async) {\n <div class=\"missing-plugin-configurations\">\n <h4 class=\"missing-plugin-configurations__title\">\n {{ 'caseManagement.missingPluginConfigurations.title' | translate }}\n </h4>\n <p class=\"missing-plugin-configurations__description\">\n {{ 'caseManagement.missingPluginConfigurations.description' | translate }}\n </p>\n\n @if (hasUnknownPluginConfigurations$ | async) {\n <cds-inline-notification\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.missingPluginConfigurations.legacyExport.title' | translate),\n message: ('caseManagement.missingPluginConfigurations.legacyExport.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n }\n\n @if (visibleRows$ | async; as rows) {\n <div class=\"missing-plugin-configurations__rows\">\n @for (row of rows; track row.pluginDefinitionKey; let i = $index) {\n <div class=\"missing-plugin-configurations__row\" [cdsLayer]=\"1\">\n <div class=\"missing-plugin-configurations__source\">\n {{ row.pluginDefinitionTitle }}\n </div>\n <svg cdsIcon=\"arrow--right\" size=\"16\" class=\"missing-plugin-configurations__arrow\"></svg>\n @if (row.status === 'available') {\n <div class=\"missing-plugin-configurations__dropdown\" [cdsLayer]=\"2\">\n <v-select\n [items]=\"row.selectItems\"\n [placeholder]=\"'caseManagement.missingPluginConfigurations.selectPlaceholder' | translate\"\n (selectedChange)=\"onMappingChange(i, $event)\"\n ></v-select>\n </div>\n } @else if (row.status === 'not-installed') {\n <div class=\"missing-plugin-configurations__unavailable missing-plugin-configurations__unavailable--error\">\n {{ 'caseManagement.missingPluginConfigurations.notInstalled' | translate }}\n </div>\n } @else if (row.status === 'no-configurations') {\n <div class=\"missing-plugin-configurations__unavailable\">\n {{ 'caseManagement.missingPluginConfigurations.noConfigurations' | translate }}\n </div>\n }\n </div>\n }\n </div>\n\n <div class=\"missing-plugin-configurations__actions\">\n <button\n cdsButton=\"primary\"\n [disabled]=\"saving$ | async\"\n (click)=\"save()\"\n >\n {{ 'interface.save' | translate }}\n <svg cdsIcon=\"save\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n }\n </div>\n}\n", styles: [".missing-plugin-configurations{background-color:var(--cds-layer);outline:2px solid var(--cds-support-error, #da1e28);padding:24px;margin-bottom:16px;display:flex;flex-direction:column;gap:1rem}.missing-plugin-configurations__title{font-size:.875rem;font-weight:600;color:var(--cds-text-primary);margin:0}.missing-plugin-configurations__description{font-size:.875rem;color:var(--cds-text-secondary);margin:.25rem 0 0}.missing-plugin-configurations__rows{display:flex;flex-direction:column;gap:.5rem}.missing-plugin-configurations__row{display:grid;grid-template-columns:1fr 24px 1fr;gap:.5rem;align-items:center;padding:12px;background-color:var(--cds-layer)}.missing-plugin-configurations__source{font-size:.875rem;font-weight:400;padding:0 1rem;height:2.5rem;display:flex;align-items:center}.missing-plugin-configurations__arrow{fill:var(--cds-text-secondary);justify-self:center}.missing-plugin-configurations__dropdown{width:100%}.missing-plugin-configurations__unavailable{font-size:.875rem;color:var(--cds-text-disabled);padding:0 1rem;height:2.5rem;display:flex;align-items:center;background-color:var(--cds-field)}.missing-plugin-configurations__unavailable--error{color:var(--cds-text-error)}.missing-plugin-configurations__actions{display:flex;justify-content:flex-end}\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"] }]
4611
+ }], ctorParameters: () => [{ type: CaseManagementService }, { type: i2$1.ConfigurationIssueService }, { type: i2$1.GlobalNotificationService }, { type: i2.IconService }, { type: i4.PluginManagementService }, { type: i4.PluginTranslationService }, { type: i2$2.ActivatedRoute }, { type: i3.TranslateService }] });
4612
+
4391
4613
  /*
4392
4614
  * Copyright 2015-2025 Ritense BV, the Netherlands.
4393
4615
  *
@@ -4450,13 +4672,13 @@ class CaseManagementCaseHandlerComponent {
4450
4672
  autoAssignTasks: !currentSettings.autoAssignTasks,
4451
4673
  }, caseDefinitionKey, caseDefinitionVersionTag);
4452
4674
  }
4453
- 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 }); }
4454
- 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" }] }); }
4675
+ 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$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
4676
+ 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: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4455
4677
  }
4456
4678
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCaseHandlerComponent, decorators: [{
4457
4679
  type: Component,
4458
4680
  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"] }]
4459
- }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2.IconService }, { type: i2$1.ActivatedRoute }], propDecorators: { isReadOnly: [{
4681
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2.IconService }, { type: i2$2.ActivatedRoute }], propDecorators: { isReadOnly: [{
4460
4682
  type: Input
4461
4683
  }] } });
4462
4684
 
@@ -4585,13 +4807,13 @@ class CaseManagementExternalStartFormComponent {
4585
4807
  },
4586
4808
  });
4587
4809
  }
4588
- 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 }); }
4589
- 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" }] }); }
4810
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementExternalStartFormComponent, deps: [{ token: i2$2.ActivatedRoute }, { token: i1$2.DocumentService }, { token: i1$4.FormBuilder }, { token: i3.TranslateService }, { token: i2$3.NGXLogger }, { token: i2$1.GlobalNotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
4811
+ 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: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4590
4812
  }
4591
4813
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementExternalStartFormComponent, decorators: [{
4592
4814
  type: Component,
4593
4815
  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"] }]
4594
- }], 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: [{
4816
+ }], ctorParameters: () => [{ type: i2$2.ActivatedRoute }, { type: i1$2.DocumentService }, { type: i1$4.FormBuilder }, { type: i3.TranslateService }, { type: i2$3.NGXLogger }, { type: i2$1.GlobalNotificationService }], propDecorators: { isReadOnly: [{
4595
4817
  type: Input
4596
4818
  }] } });
4597
4819
 
@@ -4644,18 +4866,18 @@ class CaseManagementGeneralComponent {
4644
4866
  });
4645
4867
  this.cdr.detectChanges();
4646
4868
  }
4647
- 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 }); }
4648
- 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" }] }); }
4869
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementGeneralComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: CaseManagementService }, { token: CASE_CONFIGURATION_EXTENSIONS_TOKEN, optional: true }, { token: i2$1.EditPermissionsService }], target: i0.ɵɵFactoryTarget.Component }); }
4870
+ 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-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 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 <valtimo-case-management-missing-plugin-configurations></valtimo-case-management-missing-plugin-configurations>\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: i5.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: CaseManagementMissingPluginConfigurationsComponent, selector: "valtimo-case-management-missing-plugin-configurations" }, { 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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
4649
4871
  }
4650
4872
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementGeneralComponent, decorators: [{
4651
4873
  type: Component,
4652
- 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"] }]
4653
- }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$1.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: CaseManagementService }, { type: undefined, decorators: [{
4874
+ args: [{ standalone: false, selector: 'valtimo-case-management-general', 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 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 <valtimo-case-management-missing-plugin-configurations></valtimo-case-management-missing-plugin-configurations>\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"] }]
4875
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$2.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: CaseManagementService }, { type: undefined, decorators: [{
4654
4876
  type: Optional
4655
4877
  }, {
4656
4878
  type: Inject,
4657
4879
  args: [CASE_CONFIGURATION_EXTENSIONS_TOKEN]
4658
- }] }, { type: i3$1.EditPermissionsService }], propDecorators: { _extensions: [{
4880
+ }] }, { type: i2$1.EditPermissionsService }], propDecorators: { _extensions: [{
4659
4881
  type: ViewChild,
4660
4882
  args: ['extensions', { read: ViewContainerRef }]
4661
4883
  }] } });
@@ -4734,7 +4956,7 @@ class CaseManagementWidgetTabEditModalComponent {
4734
4956
  this.disabled$.next(false);
4735
4957
  }
4736
4958
  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 }); }
4737
- 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 }); }
4959
+ 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i5.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 }); }
4738
4960
  }
4739
4961
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementWidgetTabEditModalComponent, decorators: [{
4740
4962
  type: Component,
@@ -4824,6 +5046,9 @@ class CaseManagementWidgetTabComponent extends ManagementWidgetDetailsComponent
4824
5046
  WidgetType.FORMIO,
4825
5047
  WidgetType.TABLE,
4826
5048
  WidgetType.MAP,
5049
+ WidgetType.PERSON_CARD,
5050
+ WidgetType.METROLINE,
5051
+ WidgetType.HIGHLIGHT,
4827
5052
  ];
4828
5053
  }
4829
5054
  ngOnInit() {
@@ -4863,13 +5088,13 @@ class CaseManagementWidgetTabComponent extends ManagementWidgetDetailsComponent
4863
5088
  });
4864
5089
  });
4865
5090
  }
4866
- 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 }); }
5091
+ 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$2.ActivatedRoute }, { token: TabManagementService }, { token: WIDGET_MANAGEMENT_SERVICE }, { token: i3.TranslateService }, { token: i7.PageHeaderService }], target: i0.ɵɵFactoryTarget.Component }); }
4867
5092
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseManagementWidgetTabComponent, isStandalone: true, selector: "ng-component", providers: [
4868
5093
  {
4869
5094
  provide: WIDGET_MANAGEMENT_SERVICE,
4870
5095
  useClass: CaseWidgetManagementApiService,
4871
5096
  },
4872
- ], 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 }); }
5097
+ ], 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: i5.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 }); }
4873
5098
  }
4874
5099
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementWidgetTabComponent, decorators: [{
4875
5100
  type: Component,
@@ -4888,7 +5113,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4888
5113
  useClass: CaseWidgetManagementApiService,
4889
5114
  },
4890
5115
  ], 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" }]
4891
- }], ctorParameters: () => [{ type: i1$1.WidgetWizardService }, { type: i7.BreadcrumbService }, { type: i2.IconService }, { type: i7.PageTitleService }, { type: i2$1.ActivatedRoute }, { type: TabManagementService }, { type: undefined, decorators: [{
5116
+ }], ctorParameters: () => [{ type: i1$1.WidgetWizardService }, { type: i7.BreadcrumbService }, { type: i2.IconService }, { type: i7.PageTitleService }, { type: i2$2.ActivatedRoute }, { type: TabManagementService }, { type: undefined, decorators: [{
4892
5117
  type: Inject,
4893
5118
  args: [WIDGET_MANAGEMENT_SERVICE]
4894
5119
  }] }, { type: i3.TranslateService }, { type: i7.PageHeaderService }] });
@@ -5145,8 +5370,8 @@ class CaseManagementActionsModalComponent {
5145
5370
  this._editingItem = null;
5146
5371
  });
5147
5372
  }
5148
- 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 }); }
5149
- 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 }); }
5373
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementActionsModalComponent, deps: [{ token: StartableItemManagementService }, { token: i4$1.ProcessLinkBuildingBlockApiService }, { token: i1$4.FormBuilder }, { token: i3.TranslateService }, { token: i2.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
5374
+ 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.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 }); }
5150
5375
  }
5151
5376
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementActionsModalComponent, decorators: [{
5152
5377
  type: Component,
@@ -5164,7 +5389,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5164
5389
  ProgressIndicatorModule,
5165
5390
  LoadingModule,
5166
5391
  ], 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"] }]
5167
- }], ctorParameters: () => [{ type: StartableItemManagementService }, { type: i4.ProcessLinkBuildingBlockApiService }, { type: i1$4.FormBuilder }, { type: i3.TranslateService }, { type: i2.IconService }], propDecorators: { configureBuildingBlockEvent: [{
5392
+ }], ctorParameters: () => [{ type: StartableItemManagementService }, { type: i4$1.ProcessLinkBuildingBlockApiService }, { type: i1$4.FormBuilder }, { type: i3.TranslateService }, { type: i2.IconService }], propDecorators: { configureBuildingBlockEvent: [{
5168
5393
  type: Output
5169
5394
  }] } });
5170
5395
 
@@ -5389,8 +5614,8 @@ class CaseManagementActionsComponent {
5389
5614
  },
5390
5615
  ]);
5391
5616
  }
5392
- 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 }); }
5393
- 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 }); }
5617
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementActionsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2$2.ActivatedRoute }, { token: StartableItemManagementService }, { token: i2$1.EditPermissionsService }, { token: i4$1.ProcessLinkStateService }, { token: i4$1.ProcessLinkStepService }, { token: i4$1.BuildingBlockStateService }], target: i0.ɵɵFactoryTarget.Component }); }
5618
+ 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i5.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$1.ProcessLinkModalComponent, selector: "valtimo-process-link-modal" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5394
5619
  }
5395
5620
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementActionsComponent, decorators: [{
5396
5621
  type: Component,
@@ -5406,7 +5631,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5406
5631
  ConfirmationModalModule,
5407
5632
  ProcessLinkModule,
5408
5633
  ], 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"] }]
5409
- }], 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: [{
5634
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2$2.ActivatedRoute }, { type: StartableItemManagementService }, { type: i2$1.EditPermissionsService }, { type: i4$1.ProcessLinkStateService }, { type: i4$1.ProcessLinkStepService }, { type: i4$1.BuildingBlockStateService }], propDecorators: { typeColumnTemplate: [{
5410
5635
  type: ViewChild,
5411
5636
  args: ['typeColumn']
5412
5637
  }] } });
@@ -5449,9 +5674,9 @@ var IMPORT_WARNING;
5449
5674
  IMPORT_WARNING["EXISTING_FINAL"] = "existingFinal";
5450
5675
  })(IMPORT_WARNING || (IMPORT_WARNING = {}));
5451
5676
  const STEPS = [
5452
- UPLOAD_STEP.PLUGINS,
5453
5677
  UPLOAD_STEP.FILE_SELECT,
5454
5678
  UPLOAD_STEP.CONFIGURE,
5679
+ UPLOAD_STEP.PLUGINS,
5455
5680
  UPLOAD_STEP.FILE_UPLOAD,
5456
5681
  UPLOAD_STEP.ACCESS_CONTROL,
5457
5682
  UPLOAD_STEP.DASHBOARD,
@@ -5506,10 +5731,12 @@ class CaseManagementUploadComponent {
5506
5731
  get nameControl() {
5507
5732
  return this.configureForm.get('name');
5508
5733
  }
5509
- constructor(caseManagementService, fb, translateService) {
5734
+ constructor(caseManagementService, fb, translateService, pluginManagementService, pluginTranslationService) {
5510
5735
  this.caseManagementService = caseManagementService;
5511
5736
  this.fb = fb;
5512
5737
  this.translateService = translateService;
5738
+ this.pluginManagementService = pluginManagementService;
5739
+ this.pluginTranslationService = pluginTranslationService;
5513
5740
  this.open = false;
5514
5741
  this.closeModal = new EventEmitter();
5515
5742
  this.testIds = CASE_MANAGEMENT_UPLOAD_TEST_IDS;
@@ -5518,22 +5745,24 @@ class CaseManagementUploadComponent {
5518
5745
  this.UPLOAD_STATUS = UPLOAD_STATUS;
5519
5746
  this.IMPORT_WARNING = IMPORT_WARNING;
5520
5747
  this._disabled$ = new BehaviorSubject(true);
5521
- this.activeStep$ = new BehaviorSubject(UPLOAD_STEP.PLUGINS);
5748
+ this.activeStep$ = new BehaviorSubject(UPLOAD_STEP.FILE_SELECT);
5522
5749
  this.uploadStatus$ = new BehaviorSubject(UPLOAD_STATUS.ACTIVE);
5523
5750
  this.preview$ = new BehaviorSubject(null);
5524
5751
  this.importWarning$ = new BehaviorSubject(IMPORT_WARNING.NONE);
5525
5752
  this.overrideConfirmed$ = new BehaviorSubject(false);
5753
+ this.pluginMappingRows$ = new BehaviorSubject([]);
5754
+ this.hasUnidentifiablePlugins$ = new BehaviorSubject(false);
5526
5755
  this.backButtonEnabled$ = this.activeStep$.pipe(map((activeStep) => [
5527
- UPLOAD_STEP.FILE_SELECT,
5528
5756
  UPLOAD_STEP.CONFIGURE,
5757
+ UPLOAD_STEP.PLUGINS,
5529
5758
  UPLOAD_STEP.ACCESS_CONTROL,
5530
5759
  UPLOAD_STEP.DASHBOARD,
5531
5760
  ].includes(activeStep)));
5532
- this.isStepAfterUpload$ = this.activeStep$.pipe(map((activeStep) => ![UPLOAD_STEP.PLUGINS, UPLOAD_STEP.FILE_SELECT, UPLOAD_STEP.CONFIGURE].includes(activeStep)));
5761
+ this.isStepAfterUpload$ = this.activeStep$.pipe(map((activeStep) => ![UPLOAD_STEP.FILE_SELECT, UPLOAD_STEP.CONFIGURE, UPLOAD_STEP.PLUGINS].includes(activeStep)));
5533
5762
  this.showCloseButton$ = this.activeStep$.pipe(map((activeStep) => [
5534
- UPLOAD_STEP.PLUGINS,
5535
5763
  UPLOAD_STEP.FILE_SELECT,
5536
5764
  UPLOAD_STEP.CONFIGURE,
5765
+ UPLOAD_STEP.PLUGINS,
5537
5766
  UPLOAD_STEP.FILE_UPLOAD,
5538
5767
  ].includes(activeStep)));
5539
5768
  this.nextButtonDisabled$ = combineLatest([
@@ -5549,7 +5778,9 @@ class CaseManagementUploadComponent {
5549
5778
  return true;
5550
5779
  return this.configureForm.invalid;
5551
5780
  }
5552
- return activeStep !== UPLOAD_STEP.PLUGINS && disabled;
5781
+ if (activeStep === UPLOAD_STEP.PLUGINS)
5782
+ return false;
5783
+ return disabled;
5553
5784
  }));
5554
5785
  this.form = this.fb.group({
5555
5786
  file: this.fb.control(new Set(), [Validators.required]),
@@ -5558,6 +5789,7 @@ class CaseManagementUploadComponent {
5558
5789
  name: this.fb.control('', Validators.required),
5559
5790
  caseDefinitionKey: this.fb.control('', Validators.required),
5560
5791
  });
5792
+ this.pluginMappingForm = this.fb.group({});
5561
5793
  this._importFile$ = new BehaviorSubject(null);
5562
5794
  this._subscriptions = new Subscription();
5563
5795
  }
@@ -5610,6 +5842,17 @@ class CaseManagementUploadComponent {
5610
5842
  }
5611
5843
  this.uploadDefinition();
5612
5844
  }
5845
+ trackBySourceId(_index, row) {
5846
+ return row.sourcePluginConfigurationId;
5847
+ }
5848
+ /**
5849
+ * Works around a carbon-components-angular bug where clearing a single-select
5850
+ * cds-combo-box with itemValueKey set writes `[]` to the FormControl instead
5851
+ * of `null` (see combobox.component clearSelected).
5852
+ */
5853
+ onPluginMappingClear(sourceId) {
5854
+ this.pluginMappingForm.get(sourceId)?.setValue(null);
5855
+ }
5613
5856
  setZipFile(fileItem) {
5614
5857
  const file = fileItem?.file;
5615
5858
  if (!file) {
@@ -5633,6 +5876,7 @@ class CaseManagementUploadComponent {
5633
5876
  });
5634
5877
  this._disabled$.next(false);
5635
5878
  this.checkExistingVersions(preview.key);
5879
+ this.loadPluginMappingRows(preview.pluginConfigurations || []);
5636
5880
  },
5637
5881
  error: () => {
5638
5882
  this._disabled$.next(true);
@@ -5642,6 +5886,109 @@ class CaseManagementUploadComponent {
5642
5886
  },
5643
5887
  });
5644
5888
  }
5889
+ loadPluginMappingRows(pluginConfigs) {
5890
+ const uniqueById = new Map();
5891
+ for (const config of pluginConfigs) {
5892
+ if (!uniqueById.has(config.pluginConfigurationId)) {
5893
+ uniqueById.set(config.pluginConfigurationId, config);
5894
+ }
5895
+ }
5896
+ const allConfigs = Array.from(uniqueById.values());
5897
+ // Configs with a known key can be mapped in the UI.
5898
+ // Configs without a key but with a matching UUID in the target are fine as-is.
5899
+ // Configs without a key and without a matching UUID are unidentifiable.
5900
+ const hasUnidentifiable = allConfigs.some(c => c.pluginDefinitionKey === null && !c.existsInTargetEnvironment);
5901
+ this.hasUnidentifiablePlugins$.next(hasUnidentifiable);
5902
+ const uniqueConfigs = allConfigs.filter(c => c.pluginDefinitionKey !== null);
5903
+ if (uniqueConfigs.length === 0) {
5904
+ this.pluginMappingRows$.next([]);
5905
+ return;
5906
+ }
5907
+ // Fetch all installed plugin definitions first, then configs per key
5908
+ this.pluginManagementService
5909
+ .getPluginDefinitions()
5910
+ .pipe(take$1(1))
5911
+ .subscribe(definitions => {
5912
+ const installedKeys = new Set(definitions.map(d => d.key));
5913
+ this.loadPluginConfigurations(uniqueConfigs, installedKeys);
5914
+ });
5915
+ }
5916
+ loadPluginConfigurations(uniqueConfigs, installedKeys) {
5917
+ const uniqueDefinitionKeys = [
5918
+ ...new Set(uniqueConfigs.map(c => c.pluginDefinitionKey).filter(Boolean)),
5919
+ ];
5920
+ const installableKeys = uniqueDefinitionKeys.filter(k => installedKeys.has(k));
5921
+ if (installableKeys.length === 0) {
5922
+ this.buildMappingRows(uniqueConfigs, new Map(), installedKeys);
5923
+ return;
5924
+ }
5925
+ const configRequests = {};
5926
+ for (const key of installableKeys) {
5927
+ configRequests[key] = this.pluginManagementService
5928
+ .getPluginConfigurationsByPluginDefinitionKey(key)
5929
+ .pipe(take$1(1));
5930
+ }
5931
+ forkJoin(configRequests)
5932
+ .pipe(take$1(1))
5933
+ .subscribe(results => {
5934
+ const configsByKey = new Map(Object.entries(results));
5935
+ this.buildMappingRows(uniqueConfigs, configsByKey, installedKeys);
5936
+ });
5937
+ }
5938
+ buildMappingRows(uniqueConfigs, configsByKey, installedKeys) {
5939
+ this.clearPluginMappingForm();
5940
+ const rows = uniqueConfigs.map(config => {
5941
+ const key = config.pluginDefinitionKey;
5942
+ const isInstalled = key ? installedKeys.has(key) : false;
5943
+ const available = configsByKey.get(key) || [];
5944
+ const defaultSelectionId = config.existsInTargetEnvironment
5945
+ ? config.pluginConfigurationId
5946
+ : null;
5947
+ let status;
5948
+ if (!isInstalled) {
5949
+ status = 'not-installed';
5950
+ }
5951
+ else if (available.length === 0) {
5952
+ status = 'no-configurations';
5953
+ }
5954
+ else {
5955
+ status = 'available';
5956
+ }
5957
+ const listItems = available.map(c => ({
5958
+ content: c.title,
5959
+ id: c.id,
5960
+ selected: c.id === defaultSelectionId,
5961
+ }));
5962
+ if (status === 'available') {
5963
+ this.pluginMappingForm.addControl(config.pluginConfigurationId, this.fb.control(defaultSelectionId));
5964
+ }
5965
+ return {
5966
+ pluginDefinitionKey: key,
5967
+ pluginDefinitionTitle: this.getPluginTitle(key),
5968
+ sourcePluginConfigurationId: config.pluginConfigurationId,
5969
+ existsInTargetEnvironment: config.existsInTargetEnvironment,
5970
+ listItems,
5971
+ status,
5972
+ };
5973
+ });
5974
+ this.pluginMappingRows$.next(rows);
5975
+ }
5976
+ clearPluginMappingForm() {
5977
+ for (const key of Object.keys(this.pluginMappingForm.controls)) {
5978
+ this.pluginMappingForm.removeControl(key);
5979
+ }
5980
+ }
5981
+ getPluginTitle(pluginDefinitionKey) {
5982
+ if (!pluginDefinitionKey) {
5983
+ return this.translateService.instant('caseManagement.importDefinition.plugins.unknownPlugin');
5984
+ }
5985
+ const translated = this.pluginTranslationService.instant('title', pluginDefinitionKey);
5986
+ // If translation returns the fallback format "key.title", use the raw key instead
5987
+ if (translated === `${pluginDefinitionKey}.title`) {
5988
+ return pluginDefinitionKey;
5989
+ }
5990
+ return translated;
5991
+ }
5645
5992
  checkExistingVersions(key) {
5646
5993
  if (!key) {
5647
5994
  this.importWarning$.next(IMPORT_WARNING.NONE);
@@ -5683,8 +6030,9 @@ class CaseManagementUploadComponent {
5683
6030
  const keyChanged = caseDefinitionKey !== preview?.key;
5684
6031
  const nameChanged = name !== preview?.name;
5685
6032
  const hasOverrides = keyChanged || nameChanged;
6033
+ const mappings = this.buildPluginConfigurationMappings();
5686
6034
  this.caseManagementService
5687
- .importDocumentDefinitionZip(file, hasOverrides ? caseDefinitionKey : undefined, hasOverrides ? name : undefined)
6035
+ .importDocumentDefinitionZip(file, hasOverrides ? caseDefinitionKey : undefined, hasOverrides ? name : undefined, Object.keys(mappings).length > 0 ? mappings : undefined)
5688
6036
  .pipe(take$1(1))
5689
6037
  .subscribe({
5690
6038
  next: () => {
@@ -5697,9 +6045,22 @@ class CaseManagementUploadComponent {
5697
6045
  },
5698
6046
  });
5699
6047
  }
6048
+ buildPluginConfigurationMappings() {
6049
+ const mappings = {};
6050
+ for (const row of this.pluginMappingRows$.value) {
6051
+ if (row.status === 'available') {
6052
+ const control = this.pluginMappingForm.get(row.sourcePluginConfigurationId);
6053
+ mappings[row.sourcePluginConfigurationId] = control?.value ?? null;
6054
+ }
6055
+ else {
6056
+ mappings[row.sourcePluginConfigurationId] = null;
6057
+ }
6058
+ }
6059
+ return mappings;
6060
+ }
5700
6061
  resetModal() {
5701
6062
  setTimeout(() => {
5702
- this.activeStep$.next(UPLOAD_STEP.PLUGINS);
6063
+ this.activeStep$.next(UPLOAD_STEP.FILE_SELECT);
5703
6064
  this.uploadStatus$.next(UPLOAD_STATUS.ACTIVE);
5704
6065
  this.form.reset({ file: new Set() });
5705
6066
  this.configureForm.reset();
@@ -5708,15 +6069,18 @@ class CaseManagementUploadComponent {
5708
6069
  this.preview$.next(null);
5709
6070
  this.importWarning$.next(IMPORT_WARNING.NONE);
5710
6071
  this.overrideConfirmed$.next(false);
6072
+ this.pluginMappingRows$.next([]);
6073
+ this.hasUnidentifiablePlugins$.next(false);
6074
+ this.clearPluginMappingForm();
5711
6075
  }, CARBON_CONSTANTS.modalAnimationMs);
5712
6076
  }
5713
- 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 }); }
5714
- 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 }); }
6077
+ 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 }, { token: i4.PluginManagementService }, { token: i4.PluginTranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
6078
+ 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 <div\n *ngSwitchCase=\"UPLOAD_STEP.PLUGINS\"\n [formGroup]=\"pluginMappingForm\"\n class=\"valtimo-definition-uploader__plugins\"\n >\n <p class=\"valtimo-definition-uploader__plugins-description\">\n {{ 'caseManagement.importDefinition.plugins.description' | translate }}\n </p>\n\n <ng-container *ngIf=\"hasUnidentifiablePlugins$ | async\">\n <cds-inline-notification\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.importDefinition.plugins.unidentifiable.title' | translate),\n message: ('caseManagement.importDefinition.plugins.unidentifiable.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n </ng-container>\n\n <ng-container *ngIf=\"(pluginMappingRows$ | async)?.length > 0; else noPlugins\">\n <div class=\"valtimo-definition-uploader__plugins-header\">\n <span>{{ 'caseManagement.importDefinition.plugins.source' | translate }}</span>\n <span></span>\n <span>{{ 'caseManagement.importDefinition.plugins.target' | translate }}</span>\n </div>\n\n <div\n *ngFor=\"let row of pluginMappingRows$ | async; trackBy: trackBySourceId\"\n class=\"valtimo-definition-uploader__plugins-row\"\n [cdsLayer]=\"1\"\n [attr.data-test-id]=\"testIds.pluginMappingRow\"\n >\n <div class=\"valtimo-definition-uploader__plugins-source\">\n {{ row.pluginDefinitionTitle }}\n </div>\n <svg\n class=\"valtimo-definition-uploader__plugins-arrow\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 32 32\"\n >\n <path d=\"M18 6l-1.4 1.4L24.2 15H4v2h20.2l-7.6 7.6L18 26l10-10z\" />\n </svg>\n <cds-combo-box\n *ngIf=\"row.status === 'available'\"\n [attr.data-test-id]=\"testIds.pluginMappingDropdown\"\n [items]=\"row.listItems\"\n itemValueKey=\"id\"\n [formControlName]=\"row.sourcePluginConfigurationId\"\n [placeholder]=\"'caseManagement.importDefinition.plugins.selectPlaceholder' | translate\"\n [cdsLayer]=\"2\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n (clear)=\"onPluginMappingClear(row.sourcePluginConfigurationId)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n <div *ngIf=\"row.status === 'not-installed'\" class=\"valtimo-definition-uploader__plugins-unavailable valtimo-definition-uploader__plugins-unavailable--error\">\n {{ 'caseManagement.importDefinition.plugins.notInstalled' | translate }}\n </div>\n <div *ngIf=\"row.status === 'no-configurations'\" class=\"valtimo-definition-uploader__plugins-unavailable\">\n {{ 'caseManagement.importDefinition.plugins.noConfigurations' | translate }}\n </div>\n </div>\n </ng-container>\n\n <ng-template #noPlugins>\n <ng-container *ngIf=\"!(hasUnidentifiablePlugins$ | async)\">\n <valtimo-case-management-upload-step\n [message]=\"'caseManagement.importDefinition.plugins.noPlugins' | translate\"\n [title]=\"'caseManagement.importDefinition.plugins.noPluginsTitle' | translate\"\n [illustration]=\"'valtimo-layout/img/plugins.svg'\"\n >\n </valtimo-case-management-upload-step>\n </ng-container>\n </ng-template>\n </div>\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.FILE_SELECT\"\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.PLUGINS\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__plugins{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__plugins-description{font-size:.875rem;line-height:1.25rem;color:var(--cds-text-secondary)}.valtimo-definition-uploader__plugins-header{display:grid;grid-template-columns:1fr 24px 1fr;gap:8px;align-items:center}.valtimo-definition-uploader__plugins-header span{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.32px;color:var(--cds-text-secondary)}.valtimo-definition-uploader__plugins-row{display:grid;grid-template-columns:1fr 24px 1fr;gap:8px;align-items:center;padding:12px;background-color:var(--cds-layer)}.valtimo-definition-uploader__plugins-source{font-size:.875rem;font-weight:400;padding:0 1rem;height:2.5rem;display:flex;align-items:center}.valtimo-definition-uploader__plugins-arrow{fill:var(--cds-text-secondary);justify-self:center}.valtimo-definition-uploader__plugins-select{width:100%}.valtimo-definition-uploader__plugins-unavailable{font-size:.875rem;color:var(--cds-text-disabled);padding:0 1rem;height:2.5rem;display:flex;align-items:center}.valtimo-definition-uploader__plugins-unavailable--error{color:var(--cds-text-error)}.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: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.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.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: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { 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.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5715
6079
  }
5716
6080
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementUploadComponent, decorators: [{
5717
6081
  type: Component,
5718
- 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"] }]
5719
- }], ctorParameters: () => [{ type: CaseManagementService }, { type: i1$4.FormBuilder }, { type: i3.TranslateService }], propDecorators: { open: [{
6082
+ 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 <div\n *ngSwitchCase=\"UPLOAD_STEP.PLUGINS\"\n [formGroup]=\"pluginMappingForm\"\n class=\"valtimo-definition-uploader__plugins\"\n >\n <p class=\"valtimo-definition-uploader__plugins-description\">\n {{ 'caseManagement.importDefinition.plugins.description' | translate }}\n </p>\n\n <ng-container *ngIf=\"hasUnidentifiablePlugins$ | async\">\n <cds-inline-notification\n [notificationObj]=\"{\n type: 'warning',\n title: ('caseManagement.importDefinition.plugins.unidentifiable.title' | translate),\n message: ('caseManagement.importDefinition.plugins.unidentifiable.message' | translate),\n showClose: false,\n lowContrast: true\n }\"\n ></cds-inline-notification>\n </ng-container>\n\n <ng-container *ngIf=\"(pluginMappingRows$ | async)?.length > 0; else noPlugins\">\n <div class=\"valtimo-definition-uploader__plugins-header\">\n <span>{{ 'caseManagement.importDefinition.plugins.source' | translate }}</span>\n <span></span>\n <span>{{ 'caseManagement.importDefinition.plugins.target' | translate }}</span>\n </div>\n\n <div\n *ngFor=\"let row of pluginMappingRows$ | async; trackBy: trackBySourceId\"\n class=\"valtimo-definition-uploader__plugins-row\"\n [cdsLayer]=\"1\"\n [attr.data-test-id]=\"testIds.pluginMappingRow\"\n >\n <div class=\"valtimo-definition-uploader__plugins-source\">\n {{ row.pluginDefinitionTitle }}\n </div>\n <svg\n class=\"valtimo-definition-uploader__plugins-arrow\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 32 32\"\n >\n <path d=\"M18 6l-1.4 1.4L24.2 15H4v2h20.2l-7.6 7.6L18 26l10-10z\" />\n </svg>\n <cds-combo-box\n *ngIf=\"row.status === 'available'\"\n [attr.data-test-id]=\"testIds.pluginMappingDropdown\"\n [items]=\"row.listItems\"\n itemValueKey=\"id\"\n [formControlName]=\"row.sourcePluginConfigurationId\"\n [placeholder]=\"'caseManagement.importDefinition.plugins.selectPlaceholder' | translate\"\n [cdsLayer]=\"2\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n (clear)=\"onPluginMappingClear(row.sourcePluginConfigurationId)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n <div *ngIf=\"row.status === 'not-installed'\" class=\"valtimo-definition-uploader__plugins-unavailable valtimo-definition-uploader__plugins-unavailable--error\">\n {{ 'caseManagement.importDefinition.plugins.notInstalled' | translate }}\n </div>\n <div *ngIf=\"row.status === 'no-configurations'\" class=\"valtimo-definition-uploader__plugins-unavailable\">\n {{ 'caseManagement.importDefinition.plugins.noConfigurations' | translate }}\n </div>\n </div>\n </ng-container>\n\n <ng-template #noPlugins>\n <ng-container *ngIf=\"!(hasUnidentifiablePlugins$ | async)\">\n <valtimo-case-management-upload-step\n [message]=\"'caseManagement.importDefinition.plugins.noPlugins' | translate\"\n [title]=\"'caseManagement.importDefinition.plugins.noPluginsTitle' | translate\"\n [illustration]=\"'valtimo-layout/img/plugins.svg'\"\n >\n </valtimo-case-management-upload-step>\n </ng-container>\n </ng-template>\n </div>\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.FILE_SELECT\"\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.PLUGINS\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__plugins{display:flex;flex-direction:column;gap:16px}.valtimo-definition-uploader__plugins-description{font-size:.875rem;line-height:1.25rem;color:var(--cds-text-secondary)}.valtimo-definition-uploader__plugins-header{display:grid;grid-template-columns:1fr 24px 1fr;gap:8px;align-items:center}.valtimo-definition-uploader__plugins-header span{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.32px;color:var(--cds-text-secondary)}.valtimo-definition-uploader__plugins-row{display:grid;grid-template-columns:1fr 24px 1fr;gap:8px;align-items:center;padding:12px;background-color:var(--cds-layer)}.valtimo-definition-uploader__plugins-source{font-size:.875rem;font-weight:400;padding:0 1rem;height:2.5rem;display:flex;align-items:center}.valtimo-definition-uploader__plugins-arrow{fill:var(--cds-text-secondary);justify-self:center}.valtimo-definition-uploader__plugins-select{width:100%}.valtimo-definition-uploader__plugins-unavailable{font-size:.875rem;color:var(--cds-text-disabled);padding:0 1rem;height:2.5rem;display:flex;align-items:center}.valtimo-definition-uploader__plugins-unavailable--error{color:var(--cds-text-error)}.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"] }]
6083
+ }], ctorParameters: () => [{ type: CaseManagementService }, { type: i1$4.FormBuilder }, { type: i3.TranslateService }, { type: i4.PluginManagementService }, { type: i4.PluginTranslationService }], propDecorators: { open: [{
5720
6084
  type: Input
5721
6085
  }], closeModal: [{
5722
6086
  type: Output
@@ -5825,7 +6189,7 @@ class CaseManagementCreateComponent {
5825
6189
  }, CARBON_CONSTANTS.modalAnimationMs);
5826
6190
  }
5827
6191
  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 }); }
5828
- 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 }); }
6192
+ 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: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5829
6193
  }
5830
6194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementCreateComponent, decorators: [{
5831
6195
  type: Component,
@@ -5962,13 +6326,13 @@ class CaseManagementListComponent {
5962
6326
  showCreateModal() {
5963
6327
  this.showCreateModal$.next(true);
5964
6328
  }
5965
- 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 }); }
5966
- 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" }] }); }
6329
+ 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$2.ActivatedRoute }, { token: i2$2.Router }, { token: i2$1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
6330
+ 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
5967
6331
  }
5968
6332
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementListComponent, decorators: [{
5969
6333
  type: Component,
5970
6334
  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"] }]
5971
- }], ctorParameters: () => [{ type: CaseManagementService }, { type: i2.IconService }, { type: i7.MenuService }, { type: i2$1.ActivatedRoute }, { type: i2$1.Router }, { type: i3$1.EnvironmentService }], propDecorators: { statusColumnTemplate: [{
6335
+ }], ctorParameters: () => [{ type: CaseManagementService }, { type: i2.IconService }, { type: i7.MenuService }, { type: i2$2.ActivatedRoute }, { type: i2$2.Router }, { type: i2$1.EnvironmentService }], propDecorators: { statusColumnTemplate: [{
5972
6336
  type: ViewChild,
5973
6337
  args: ['statusColumnTemplate']
5974
6338
  }] } });
@@ -6120,8 +6484,8 @@ class CaseManagementRoutingModule {
6120
6484
  component: tabConfig.component,
6121
6485
  })));
6122
6486
  }
6123
- 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 }); }
6124
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementRoutingModule, imports: [i2$1.RouterModule], exports: [RouterModule] }); }
6487
+ 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$2.Router }], target: i0.ɵɵFactoryTarget.NgModule }); }
6488
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementRoutingModule, imports: [i2$2.RouterModule], exports: [RouterModule] }); }
6125
6489
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
6126
6490
  }
6127
6491
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementRoutingModule, decorators: [{
@@ -6132,7 +6496,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
6132
6496
  }, {
6133
6497
  type: Inject,
6134
6498
  args: [CASE_MANAGEMENT_TAB_TOKEN]
6135
- }] }, { type: i2$1.Router }] });
6499
+ }] }, { type: i2$2.Router }] });
6136
6500
 
6137
6501
  /*
6138
6502
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -6195,13 +6559,13 @@ class CaseManagementAssigneeComponent {
6195
6559
  autoAssignTasks: !currentSettings.autoAssignTasks,
6196
6560
  }, caseDefinitionKey, caseDefinitionVersionTag);
6197
6561
  }
6198
- 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 }); }
6199
- 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" }] }); }
6562
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementAssigneeComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
6563
+ 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: i5.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: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
6200
6564
  }
6201
6565
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementAssigneeComponent, decorators: [{
6202
6566
  type: Component,
6203
6567
  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"] }]
6204
- }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$1.ActivatedRoute }] });
6568
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$2.ActivatedRoute }] });
6205
6569
 
6206
6570
  /*
6207
6571
  * Copyright 2015-2026 Ritense BV, the Netherlands.
@@ -6298,13 +6662,13 @@ class CaseManagementConnectModalComponent {
6298
6662
  },
6299
6663
  });
6300
6664
  }
6301
- 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 }); }
6302
- 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" }] }); }
6665
+ 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: i2$1.GlobalNotificationService }, { token: i4$2.ProcessService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6666
+ 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: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.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" }] }); }
6303
6667
  }
6304
6668
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementConnectModalComponent, decorators: [{
6305
6669
  type: Component,
6306
6670
  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"] }]
6307
- }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: CaseDetailService }, { type: i3$1.GlobalNotificationService }, { type: i4$1.ProcessService }, { type: i3.TranslateService }], propDecorators: { _modal: [{
6671
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: CaseDetailService }, { type: i2$1.GlobalNotificationService }, { type: i4$2.ProcessService }, { type: i3.TranslateService }], propDecorators: { _modal: [{
6308
6672
  type: ViewChild,
6309
6673
  args: ['caseConnectModal']
6310
6674
  }], reloadProcessDocumentDefinitions: [{
@@ -6411,7 +6775,8 @@ class CaseManagementModule {
6411
6775
  JsonEditorComponent,
6412
6776
  CaseManagementActionsComponent,
6413
6777
  CaseManagementHeaderComponent,
6414
- AutoKeyInputComponent] }); }
6778
+ AutoKeyInputComponent,
6779
+ CaseManagementMissingPluginConfigurationsComponent] }); }
6415
6780
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementModule, providers: [TabManagementService], imports: [CommonModule,
6416
6781
  WidgetModule,
6417
6782
  DropzoneModule,
@@ -6465,7 +6830,8 @@ class CaseManagementModule {
6465
6830
  JsonEditorComponent,
6466
6831
  CaseManagementActionsComponent,
6467
6832
  CaseManagementHeaderComponent,
6468
- AutoKeyInputComponent] }); }
6833
+ AutoKeyInputComponent,
6834
+ CaseManagementMissingPluginConfigurationsComponent] }); }
6469
6835
  }
6470
6836
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseManagementModule, decorators: [{
6471
6837
  type: NgModule,
@@ -6558,6 +6924,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
6558
6924
  CaseManagementActionsComponent,
6559
6925
  CaseManagementHeaderComponent,
6560
6926
  AutoKeyInputComponent,
6927
+ CaseManagementMissingPluginConfigurationsComponent,
6561
6928
  ],
6562
6929
  providers: [TabManagementService],
6563
6930
  }]