@valtimo/case 13.34.0 → 13.36.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.
@@ -5,15 +5,15 @@ import * as i1 from '@valtimo/shared';
5
5
  import { UploadProvider, ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN, CaseListTab, TagColor, BaseApiService, ZGW_OBJECT_TYPE_COMPONENT_TOKEN, InterceptorSkip, FORM_VIEW_MODEL_TOKEN, ROLE_USER, ConfigModule, HttpLoaderFactory } from '@valtimo/shared';
6
6
  import * as i1$1 from '@angular/common/http';
7
7
  import { HttpHeaders, HttpParams, HttpClient } from '@angular/common/http';
8
- import * as i2 from '@valtimo/document';
8
+ import * as i1$2 from '@valtimo/document';
9
9
  import { AdvancedDocumentSearchRequestImpl, InternalCaseStatusUtils, CaseTagsUtils, DocumentSearchRequestImpl } from '@valtimo/document';
10
10
  import * as i4 from '@ngx-translate/core';
11
11
  import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
12
- import * as i1$2 from '@angular/router';
12
+ import * as i1$3 from '@angular/router';
13
13
  import { NavigationStart, RouterModule } from '@angular/router';
14
- import * as i1$3 from 'ngx-logger';
15
- import * as i2$1 from '@valtimo/components';
16
- import { FormioOptionsImpl, TimelineItemImpl, CASES_WITHOUT_STATUS_KEY, CarbonListModule, FormIoModule, ViewType, QUICK_SEARCH_SERVICE, WidgetModule, AssignmentComponent, CurrentCarbonTheme, CARBON_THEME, ObserveSizeDirective, ValtimoCdsModalDirective, RenderInBodyComponent, CarbonListComponent, JsonEditorComponent, SelectModule, ConfirmationModalModule, BpmnJsDiagramModule, TimelineModule, CamundaFormModule, FilterSidebarModule, DataListModule, ModalModule as ModalModule$1, SpinnerModule, UploaderModule, DropzoneModule, InputLabelModule, ParagraphModule, TableModule, VModalModule, SearchFieldsModule, InputModule as InputModule$1, FormModule as FormModule$1, IsArrayPipe, StatusSelectorComponent, RenderInPageHeaderDirective, OverflowMenuComponent, OverflowMenuOptionComponent, OverflowMenuTriggerComponent, CaseTagsSelectorComponent, RemoveClassnamesDirective, ListColumnViewComponent, QuickSearchComponent } from '@valtimo/components';
14
+ import * as i1$4 from 'ngx-logger';
15
+ import * as i2 from '@valtimo/components';
16
+ import { FormioOptionsImpl, TimelineItemImpl, CASES_WITHOUT_STATUS_KEY, CarbonListModule, FormIoModule, ViewType, QUICK_SEARCH_SERVICE, WidgetModule, AssignmentComponent, CurrentCarbonTheme, CARBON_THEME, ObserveSizeDirective, ValtimoCdsModalDirective, RenderInBodyComponent, ConfirmationModalModule, CarbonListComponent, JsonEditorComponent, SelectModule, BpmnJsDiagramModule, TimelineModule, CamundaFormModule, FilterSidebarModule, DataListModule, ModalModule as ModalModule$1, SpinnerModule, UploaderModule, DropzoneModule, InputLabelModule, ParagraphModule, TableModule, VModalModule, SearchFieldsModule, InputModule as InputModule$1, FormModule as FormModule$1, IsArrayPipe, StatusSelectorComponent, RenderInPageHeaderDirective, OverflowMenuComponent, OverflowMenuOptionComponent, OverflowMenuTriggerComponent, CaseTagsSelectorComponent, RemoveClassnamesDirective, ListColumnViewComponent, QuickSearchComponent } from '@valtimo/components';
17
17
  export { CASES_WITHOUT_STATUS_KEY } from '@valtimo/components';
18
18
  import moment from 'moment';
19
19
  import { catchError, switchMap as switchMap$1, map as map$1, tap as tap$1, take as take$1, filter as filter$1 } from 'rxjs/operators';
@@ -23,18 +23,18 @@ import * as i5 from '@valtimo/sse';
23
23
  import * as i6 from '@angular/common';
24
24
  import { CommonModule, DOCUMENT, NgComponentOutlet } from '@angular/common';
25
25
  import * as i4$1 from 'carbon-components-angular';
26
- import { InputModule, ButtonModule, PaginationModule, TilesModule, LoadingModule, LayerModule, TagModule, IconModule, DialogModule, ModalModule, Tabs, StructuredListModule, DatePickerModule, DropdownModule, NumberModule, ToggleModule, LinkModule, TabsModule, SelectModule as SelectModule$1, ComboBoxModule, SkeletonModule, NotificationModule, ToggletipModule, TooltipModule } from 'carbon-components-angular';
27
- import * as i2$2 from '@valtimo/process';
26
+ import { InputModule, ButtonModule, PaginationModule, TilesModule, LoadingModule, LayerModule, TagModule, IconModule, DialogModule, ModalModule, NotificationModule, Tabs, StructuredListModule, DatePickerModule, DropdownModule, NumberModule, ToggleModule, LinkModule, TabsModule, SelectModule as SelectModule$1, ComboBoxModule, SkeletonModule, ToggletipModule, TooltipModule } from 'carbon-components-angular';
27
+ import * as i2$1 from '@valtimo/process';
28
28
  import { ProcessDiagramComponent, ProcessModule } from '@valtimo/process';
29
29
  import * as i3$1 from 'ngx-spinner';
30
30
  import * as i6$1 from '@ng-bootstrap/ng-bootstrap';
31
31
  import { NgbTooltipModule, NgbButtonsModule, NgbPaginationModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';
32
32
  import * as i3$2 from '@valtimo/resource';
33
- import * as i2$3 from '@valtimo/access-control';
34
- import * as i1$4 from '@angular/forms';
33
+ import * as i2$2 from '@valtimo/access-control';
34
+ import * as i1$5 from '@angular/forms';
35
35
  import { Validators, ReactiveFormsModule, FormsModule } from '@angular/forms';
36
36
  import * as i5$1 from '@valtimo/layout';
37
- import { WidgetFieldComponent, WidgetCustomComponent, WidgetFormioComponent, WidgetTableComponent, WidgetCollectionComponent, WidgetMapComponent, WidgetPersonCardComponent, WidgetMetrolineComponent, WidgetHighlightComponent, WidgetType, WidgetContainerComponent } from '@valtimo/layout';
37
+ import { WidgetFieldComponent, WidgetCustomComponent, WidgetFormioComponent, WidgetTableComponent, WidgetCollectionComponent, WidgetMapComponent, WidgetPersonCardComponent, WidgetMetrolineComponent, WidgetHighlightComponent, WidgetImageComponent, WidgetType, WidgetContainerComponent } from '@valtimo/layout';
38
38
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
39
39
  import { isEqual } from 'lodash-es';
40
40
  import { isEqual as isEqual$1 } from 'lodash';
@@ -252,12 +252,12 @@ class CaseColumnService {
252
252
  getPropertyName(caseListColumnPath) {
253
253
  return caseListColumnPath.replace('doc:', '$.').replace('case:', '');
254
254
  }
255
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseColumnService, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
255
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseColumnService, deps: [{ token: i1.ConfigService }, { token: i1$2.DocumentService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
256
256
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseColumnService }); }
257
257
  }
258
258
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseColumnService, decorators: [{
259
259
  type: Injectable
260
- }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i4.TranslateService }] });
260
+ }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i1$2.DocumentService }, { type: i4.TranslateService }] });
261
261
 
262
262
  /*
263
263
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -477,12 +477,12 @@ class CaseParameterService {
477
477
  this.openDossierParametersSubscription();
478
478
  });
479
479
  }
480
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseParameterService, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
480
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseParameterService, deps: [{ token: i1$3.Router }, { token: i1$3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
481
481
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseParameterService }); }
482
482
  }
483
483
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseParameterService, decorators: [{
484
484
  type: Injectable
485
- }], ctorParameters: () => [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }] });
485
+ }], ctorParameters: () => [{ type: i1$3.Router }, { type: i1$3.ActivatedRoute }] });
486
486
 
487
487
  /*
488
488
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -625,12 +625,12 @@ class CaseListAssigneeService {
625
625
  : []),
626
626
  ];
627
627
  }
628
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListAssigneeService, deps: [{ token: i1.ConfigService }, { token: CaseListService }, { token: i2.DocumentService }, { token: i4.TranslateService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
628
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListAssigneeService, deps: [{ token: i1.ConfigService }, { token: CaseListService }, { token: i1$2.DocumentService }, { token: i4.TranslateService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
629
629
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListAssigneeService }); }
630
630
  }
631
631
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListAssigneeService, decorators: [{
632
632
  type: Injectable
633
- }], ctorParameters: () => [{ type: i1.ConfigService }, { type: CaseListService }, { type: i2.DocumentService }, { type: i4.TranslateService }, { type: CaseParameterService }] });
633
+ }], ctorParameters: () => [{ type: i1.ConfigService }, { type: CaseListService }, { type: i1$2.DocumentService }, { type: i4.TranslateService }, { type: CaseParameterService }] });
634
634
 
635
635
  /*
636
636
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -815,12 +815,12 @@ class CaseListPaginationService {
815
815
  return this.userSettingsService.saveUserSettings({ ...settings, caseListPageSizes: pageSizes });
816
816
  })).subscribe();
817
817
  }
818
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListPaginationService, deps: [{ token: i1$3.NGXLogger }, { token: CaseParameterService }, { token: CaseService }, { token: i1.UserSettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
818
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListPaginationService, deps: [{ token: i1$4.NGXLogger }, { token: CaseParameterService }, { token: CaseService }, { token: i1.UserSettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
819
819
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListPaginationService }); }
820
820
  }
821
821
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListPaginationService, decorators: [{
822
822
  type: Injectable
823
- }], ctorParameters: () => [{ type: i1$3.NGXLogger }, { type: CaseParameterService }, { type: CaseService }, { type: i1.UserSettingsService }] });
823
+ }], ctorParameters: () => [{ type: i1$4.NGXLogger }, { type: CaseParameterService }, { type: CaseService }, { type: i1.UserSettingsService }] });
824
824
 
825
825
  /*
826
826
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -870,12 +870,12 @@ class CaseListSearchService {
870
870
  });
871
871
  return filters;
872
872
  }
873
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListSearchService, deps: [{ token: CaseListService }, { token: i2.DocumentService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
873
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListSearchService, deps: [{ token: CaseListService }, { token: i1$2.DocumentService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
874
874
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListSearchService }); }
875
875
  }
876
876
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListSearchService, decorators: [{
877
877
  type: Injectable
878
- }], ctorParameters: () => [{ type: CaseListService }, { type: i2.DocumentService }, { type: CaseParameterService }] });
878
+ }], ctorParameters: () => [{ type: CaseListService }, { type: i1$2.DocumentService }, { type: CaseParameterService }] });
879
879
 
880
880
  /*
881
881
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -1254,13 +1254,13 @@ class CaseDetailTabSummaryComponent {
1254
1254
  }))
1255
1255
  .subscribe());
1256
1256
  }
1257
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabSummaryComponent, deps: [{ token: i2.DocumentService }, { token: i1$2.ActivatedRoute }, { token: i3.FormService }, { token: i4.TranslateService }, { token: i5.SseService }], target: i0.ɵɵFactoryTarget.Component }); }
1258
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseDetailTabSummaryComponent, 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<ng-container\n *ngIf=\"{\n formDefinition: formDefinition$ | async,\n document: document$ | async,\n loading: loading$ | async,\n notificationObj: notificationObj$ | async,\n } as obs\"\n>\n @if (!obs.loading && obs.document && obs.formDefinition) {\n <valtimo-form-io\n class=\"valtimo-summary-form\"\n [form]=\"obs.formDefinition\"\n [options]=\"options\"\n ></valtimo-form-io>\n } @else if (obs.notificationObj) {\n <cds-inline-notification [notificationObj]=\"obs.notificationObj\"></cds-inline-notification>\n }\n</ng-container>\n", styles: [".hoverable:hover{background-color:#eee}.valtimo-summary-form .formio-component{margin-bottom:0!important}.valtimo-summary-form .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.valtimo-summary-form .formio-field div[ref=element] .form-control{font-weight:400}.valtimo-summary-form .formio-value div[ref=element] .form-control{font-weight:700}\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$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "errors", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i4$1.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
1257
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabSummaryComponent, deps: [{ token: i1$2.DocumentService }, { token: i1$3.ActivatedRoute }, { token: i3.FormService }, { token: i4.TranslateService }, { token: i5.SseService }], target: i0.ɵɵFactoryTarget.Component }); }
1258
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseDetailTabSummaryComponent, 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<ng-container\n *ngIf=\"{\n formDefinition: formDefinition$ | async,\n document: document$ | async,\n loading: loading$ | async,\n notificationObj: notificationObj$ | async,\n } as obs\"\n>\n @if (!obs.loading && obs.document && obs.formDefinition) {\n <valtimo-form-io\n class=\"valtimo-summary-form\"\n [form]=\"obs.formDefinition\"\n [options]=\"options\"\n ></valtimo-form-io>\n } @else if (obs.notificationObj) {\n <cds-inline-notification [notificationObj]=\"obs.notificationObj\"></cds-inline-notification>\n }\n</ng-container>\n", styles: [".hoverable:hover{background-color:#eee}.valtimo-summary-form .formio-component{margin-bottom:0!important}.valtimo-summary-form .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.valtimo-summary-form .formio-field div[ref=element] .form-control{font-weight:400}.valtimo-summary-form .formio-value div[ref=element] .form-control{font-weight:700}\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.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "errors", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i4$1.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
1259
1259
  }
1260
1260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabSummaryComponent, decorators: [{
1261
1261
  type: Component,
1262
1262
  args: [{ standalone: false, 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 formDefinition: formDefinition$ | async,\n document: document$ | async,\n loading: loading$ | async,\n notificationObj: notificationObj$ | async,\n } as obs\"\n>\n @if (!obs.loading && obs.document && obs.formDefinition) {\n <valtimo-form-io\n class=\"valtimo-summary-form\"\n [form]=\"obs.formDefinition\"\n [options]=\"options\"\n ></valtimo-form-io>\n } @else if (obs.notificationObj) {\n <cds-inline-notification [notificationObj]=\"obs.notificationObj\"></cds-inline-notification>\n }\n</ng-container>\n", styles: [".hoverable:hover{background-color:#eee}.valtimo-summary-form .formio-component{margin-bottom:0!important}.valtimo-summary-form .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.valtimo-summary-form .formio-field div[ref=element] .form-control{font-weight:400}.valtimo-summary-form .formio-value div[ref=element] .form-control{font-weight:700}\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"] }]
1263
- }], ctorParameters: () => [{ type: i2.DocumentService }, { type: i1$2.ActivatedRoute }, { type: i3.FormService }, { type: i4.TranslateService }, { type: i5.SseService }] });
1263
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i1$3.ActivatedRoute }, { type: i3.FormService }, { type: i4.TranslateService }, { type: i5.SseService }] });
1264
1264
 
1265
1265
  /*
1266
1266
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -1308,13 +1308,13 @@ class CaseDetailTabProgressComponent {
1308
1308
  this.selectedProcessInstanceId$.next(processInstanceId);
1309
1309
  }
1310
1310
  }
1311
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabProgressComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
1312
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseDetailTabProgressComponent, isStandalone: false, selector: "valtimo-case-detail-tab-progress", 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 class=\"full-height-tab-content\"\n *ngIf=\"{\n processInstanceItems: processInstanceItems$ | async,\n selectedProcessInstance: selectedProcessInstance$ | async,\n } as obs\"\n>\n <span *ngIf=\"!obs.processInstanceItems.isLoading && !obs.processInstanceItems.value\">{{\n 'progress.noProcessDocumentInstances' | translate\n }}</span>\n\n <div class=\"process-info-row\">\n <cds-dropdown\n [dropUp]=\"false\"\n [label]=\"'progress.process' | translate\"\n [skeleton]=\"obs.processInstanceItems.isLoading\"\n [style.width.px]=\"350\"\n (selected)=\"loadProcessInstance($event.item.processInstanceId)\"\n >\n <cds-dropdown-list [items]=\"obs.processInstanceItems.value || []\"></cds-dropdown-list>\n </cds-dropdown>\n\n <div>\n <v-input-label [title]=\"'progress.version' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"30\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.version }} ({{ 'progress.of' | translate }}\n {{ obs.selectedProcessInstance.value.latestVersion }})\n </span>\n </div>\n\n <div>\n <v-input-label [title]=\"'progress.startedBy' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedBy || ('progress.system' | translate) }}\n </span>\n </div>\n\n <div>\n <v-input-label [title]=\"'progress.startedOn' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedOn.toLocaleDateString() }}\n </span>\n </div>\n </div>\n\n <div>\n <valtimo-process-diagram\n *ngIf=\"!obs.selectedProcessInstance.isLoading\"\n [processInstanceId]=\"obs.selectedProcessInstance.value.id.processInstanceId\"\n ></valtimo-process-diagram>\n </div>\n</ng-container>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}.process-info-row{display:flex;gap:24px}.process-info-text{color:var(--v-color-black);font-size:var(--v-font-size-default)}.process-info-text{display:flex;height:40px;align-items:center}\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$2.ProcessDiagramComponent, selector: "valtimo-process-diagram", inputs: ["processDefinitionKey", "processInstanceId"], outputs: ["importDone"] }, { kind: "component", type: i2$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i4$1.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: i4$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i4$1.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1311
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabProgressComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$2.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
1312
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseDetailTabProgressComponent, isStandalone: false, selector: "valtimo-case-detail-tab-progress", 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 class=\"full-height-tab-content\"\n *ngIf=\"{\n processInstanceItems: processInstanceItems$ | async,\n selectedProcessInstance: selectedProcessInstance$ | async,\n } as obs\"\n>\n <span *ngIf=\"!obs.processInstanceItems.isLoading && !obs.processInstanceItems.value\">{{\n 'progress.noProcessDocumentInstances' | translate\n }}</span>\n\n <div class=\"process-info-row\">\n <cds-dropdown\n [dropUp]=\"false\"\n [label]=\"'progress.process' | translate\"\n [skeleton]=\"obs.processInstanceItems.isLoading\"\n [style.width.px]=\"350\"\n (selected)=\"loadProcessInstance($event.item.processInstanceId)\"\n >\n <cds-dropdown-list [items]=\"obs.processInstanceItems.value || []\"></cds-dropdown-list>\n </cds-dropdown>\n\n <div>\n <v-input-label [title]=\"'progress.version' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"30\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.version }} ({{ 'progress.of' | translate }}\n {{ obs.selectedProcessInstance.value.latestVersion }})\n </span>\n </div>\n\n <div>\n <v-input-label [title]=\"'progress.startedBy' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedBy || ('progress.system' | translate) }}\n </span>\n </div>\n\n <div>\n <v-input-label [title]=\"'progress.startedOn' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedOn.toLocaleDateString() }}\n </span>\n </div>\n </div>\n\n <div>\n <valtimo-process-diagram\n *ngIf=\"!obs.selectedProcessInstance.isLoading\"\n [processInstanceId]=\"obs.selectedProcessInstance.value.id.processInstanceId\"\n ></valtimo-process-diagram>\n </div>\n</ng-container>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}.process-info-row{display:flex;gap:24px}.process-info-text{color:var(--v-color-black);font-size:var(--v-font-size-default)}.process-info-text{display:flex;height:40px;align-items:center}\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$1.ProcessDiagramComponent, selector: "valtimo-process-diagram", inputs: ["processDefinitionKey", "processInstanceId"], outputs: ["importDone"] }, { kind: "component", type: i2.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i4$1.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: i4$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i4$1.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1313
1313
  }
1314
1314
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabProgressComponent, decorators: [{
1315
1315
  type: Component,
1316
1316
  args: [{ standalone: false, selector: 'valtimo-case-detail-tab-progress', 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 class=\"full-height-tab-content\"\n *ngIf=\"{\n processInstanceItems: processInstanceItems$ | async,\n selectedProcessInstance: selectedProcessInstance$ | async,\n } as obs\"\n>\n <span *ngIf=\"!obs.processInstanceItems.isLoading && !obs.processInstanceItems.value\">{{\n 'progress.noProcessDocumentInstances' | translate\n }}</span>\n\n <div class=\"process-info-row\">\n <cds-dropdown\n [dropUp]=\"false\"\n [label]=\"'progress.process' | translate\"\n [skeleton]=\"obs.processInstanceItems.isLoading\"\n [style.width.px]=\"350\"\n (selected)=\"loadProcessInstance($event.item.processInstanceId)\"\n >\n <cds-dropdown-list [items]=\"obs.processInstanceItems.value || []\"></cds-dropdown-list>\n </cds-dropdown>\n\n <div>\n <v-input-label [title]=\"'progress.version' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"30\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.version }} ({{ 'progress.of' | translate }}\n {{ obs.selectedProcessInstance.value.latestVersion }})\n </span>\n </div>\n\n <div>\n <v-input-label [title]=\"'progress.startedBy' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedBy || ('progress.system' | translate) }}\n </span>\n </div>\n\n <div>\n <v-input-label [title]=\"'progress.startedOn' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedOn.toLocaleDateString() }}\n </span>\n </div>\n </div>\n\n <div>\n <valtimo-process-diagram\n *ngIf=\"!obs.selectedProcessInstance.isLoading\"\n [processInstanceId]=\"obs.selectedProcessInstance.value.id.processInstanceId\"\n ></valtimo-process-diagram>\n </div>\n</ng-container>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}.process-info-row{display:flex;gap:24px}.process-info-text{color:var(--v-color-black);font-size:var(--v-font-size-default)}.process-info-text{display:flex;height:40px;align-items:center}\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"] }]
1317
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i2.DocumentService }] });
1317
+ }], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$2.DocumentService }] });
1318
1318
 
1319
1319
  /*
1320
1320
  * Copyright 2015-2026 Ritense BV, the Netherlands.
@@ -1381,13 +1381,13 @@ class CaseDetailTabAuditComponent {
1381
1381
  this.currentAuditPage = page - 1;
1382
1382
  this.loadAuditPage(this.currentAuditPage);
1383
1383
  }
1384
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabAuditComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2.DocumentService }, { token: i3$1.NgxSpinnerService }], target: i0.ɵɵFactoryTarget.Component }); }
1385
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseDetailTabAuditComponent, isStandalone: false, selector: "ng-component", outputs: { paginationClicked: "paginationClicked" }, 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 (timelineItems) {\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n}\n\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n\n<div\n class=\"valtimo-audit-pagination\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div>\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n\n <br />\n\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n</div>\n", styles: [".valtimo-audit-pagination{border-top:1px solid #dee2e6;display:flex;justify-content:space-between;padding-top:24px}\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$1.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i2$1.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i6$1.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1384
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabAuditComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$2.DocumentService }, { token: i3$1.NgxSpinnerService }], target: i0.ɵɵFactoryTarget.Component }); }
1385
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseDetailTabAuditComponent, isStandalone: false, selector: "ng-component", outputs: { paginationClicked: "paginationClicked" }, 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 (timelineItems) {\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n}\n\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n\n<div\n class=\"valtimo-audit-pagination\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div>\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n\n <br />\n\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n</div>\n", styles: [".valtimo-audit-pagination{border-top:1px solid #dee2e6;display:flex;justify-content:space-between;padding-top:24px}\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.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i2.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i6$1.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1386
1386
  }
1387
1387
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabAuditComponent, decorators: [{
1388
1388
  type: Component,
1389
1389
  args: [{ standalone: false, 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 (timelineItems) {\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n}\n\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n\n<div\n class=\"valtimo-audit-pagination\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div>\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n\n <br />\n\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n</div>\n", styles: [".valtimo-audit-pagination{border-top:1px solid #dee2e6;display:flex;justify-content:space-between;padding-top:24px}\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"] }]
1390
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$1.NgxSpinnerService }], propDecorators: { paginationClicked: [{
1390
+ }], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$2.DocumentService }, { type: i3$1.NgxSpinnerService }], propDecorators: { paginationClicked: [{
1391
1391
  type: Output
1392
1392
  }] } });
1393
1393
 
@@ -1408,7 +1408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1408
1408
  */
1409
1409
  class CaseDetailTabNotFoundComponent {
1410
1410
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabNotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1411
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseDetailTabNotFoundComponent, 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<valtimo-no-results\n [title]=\"'case.tabs.componentNotFound' | translate\"\n [description]=\"'case.tabs.componentNotFoundMessage' | translate\"\n illustration=\"valtimo-layout/img/emptystate-error.svg\"\n></valtimo-no-results>\n", dependencies: [{ kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1411
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseDetailTabNotFoundComponent, 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<valtimo-no-results\n [title]=\"'case.tabs.componentNotFound' | translate\"\n [description]=\"'case.tabs.componentNotFoundMessage' | translate\"\n illustration=\"valtimo-layout/img/emptystate-error.svg\"\n></valtimo-no-results>\n", dependencies: [{ kind: "component", type: i2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1412
1412
  }
1413
1413
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabNotFoundComponent, decorators: [{
1414
1414
  type: Component,
@@ -1538,13 +1538,13 @@ class CaseDetailTabS3DocumentsComponent {
1538
1538
  refetchDocuments() {
1539
1539
  this.refetch$.next(null);
1540
1540
  }
1541
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabS3DocumentsComponent, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i3$2.DownloadService }, { token: i2.FileSortService }, { token: i1.GlobalNotificationService }, { token: i2$1.PromptService }, { token: i1$2.ActivatedRoute }, { token: i4.TranslateService }, { token: i3$2.UploadProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
1542
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseDetailTabS3DocumentsComponent, isStandalone: false, selector: "valtimo-case-detail-tab-s3-documents", 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-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"true\"\n [camera]=\"false\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<valtimo-widget>\n <valtimo-carbon-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this case' | translate }}\n </h5>\n </div>\n </valtimo-carbon-list>\n</valtimo-widget>\n", dependencies: [{ kind: "component", type: i2$1.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i2$1.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "showMaxFileSize", "showAcceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles", "maxFileSize", "acceptedFiles"], outputs: ["fileSelected"] }, { kind: "component", type: i2$1.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: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1541
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabS3DocumentsComponent, deps: [{ token: i1.ConfigService }, { token: i1$2.DocumentService }, { token: i3$2.DownloadService }, { token: i1$2.FileSortService }, { token: i1.GlobalNotificationService }, { token: i2.PromptService }, { token: i1$3.ActivatedRoute }, { token: i4.TranslateService }, { token: i3$2.UploadProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
1542
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseDetailTabS3DocumentsComponent, isStandalone: false, selector: "valtimo-case-detail-tab-s3-documents", 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-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"true\"\n [camera]=\"false\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<valtimo-widget>\n <valtimo-carbon-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this case' | translate }}\n </h5>\n </div>\n </valtimo-carbon-list>\n</valtimo-widget>\n", dependencies: [{ kind: "component", type: i2.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i2.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "showMaxFileSize", "showAcceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles", "maxFileSize", "acceptedFiles"], outputs: ["fileSelected"] }, { kind: "component", type: i2.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: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1543
1543
  }
1544
1544
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabS3DocumentsComponent, decorators: [{
1545
1545
  type: Component,
1546
1546
  args: [{ standalone: false, selector: 'valtimo-case-detail-tab-s3-documents', 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-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"true\"\n [camera]=\"false\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<valtimo-widget>\n <valtimo-carbon-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this case' | translate }}\n </h5>\n </div>\n </valtimo-carbon-list>\n</valtimo-widget>\n" }]
1547
- }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i3$2.DownloadService }, { type: i2.FileSortService }, { type: i1.GlobalNotificationService }, { type: i2$1.PromptService }, { type: i1$2.ActivatedRoute }, { type: i4.TranslateService }, { type: i3$2.UploadProviderService }] });
1547
+ }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i1$2.DocumentService }, { type: i3$2.DownloadService }, { type: i1$2.FileSortService }, { type: i1.GlobalNotificationService }, { type: i2.PromptService }, { type: i1$3.ActivatedRoute }, { type: i4.TranslateService }, { type: i3$2.UploadProviderService }] });
1548
1548
 
1549
1549
  /*
1550
1550
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -1708,13 +1708,13 @@ class NoteModalComponent {
1708
1708
  });
1709
1709
  this.formGroup.reset();
1710
1710
  }
1711
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NoteModalComponent, deps: [{ token: i1$4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
1712
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: NoteModalComponent, isStandalone: false, selector: "valtimo-note-modal", inputs: { modalType: "modalType", customData: "customData", open: "open" }, outputs: { modalClosed: "modalClosed" }, 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 [open]=\"open\" size=\"sm\" showFooter=\"true\" (close)=\"onCancel()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'case.notes.' + modalType + 'Note' | translate }}\n </h3>\n </cds-modal-header>\n\n <form [formGroup]=\"formGroup\" cdsModalContent>\n <cds-textarea-label>\n {{ 'case.notes.input.content' | translate }}\n\n <textarea\n cdsTextArea\n cdsLayer=\"1\"\n class=\"valtimo-note-modal__textarea\"\n formControlName=\"content\"\n [rows]=\"10\"\n ></textarea>\n </cds-textarea-label>\n </form>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"!formGroup.valid\" cdsButton=\"primary\" (click)=\"onConfirm()\">\n {{ 'case.notes.' + modalType + 'Note' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [":host textarea{width: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: 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: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i2$1.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i4$1.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i4$1.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1711
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NoteModalComponent, deps: [{ token: i1$5.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
1712
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: NoteModalComponent, isStandalone: false, selector: "valtimo-note-modal", inputs: { modalType: "modalType", customData: "customData", open: "open" }, outputs: { modalClosed: "modalClosed" }, 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 [open]=\"open\" size=\"sm\" showFooter=\"true\" (close)=\"onCancel()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'case.notes.' + modalType + 'Note' | translate }}\n </h3>\n </cds-modal-header>\n\n <form [formGroup]=\"formGroup\" cdsModalContent>\n <cds-textarea-label>\n {{ 'case.notes.input.content' | translate }}\n\n <textarea\n cdsTextArea\n cdsLayer=\"1\"\n class=\"valtimo-note-modal__textarea\"\n formControlName=\"content\"\n [rows]=\"10\"\n ></textarea>\n </cds-textarea-label>\n </form>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"!formGroup.valid\" cdsButton=\"primary\" (click)=\"onConfirm()\">\n {{ 'case.notes.' + modalType + 'Note' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [":host textarea{width: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: i1$5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$5.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$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i2.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i4$1.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i4$1.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1713
1713
  }
1714
1714
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NoteModalComponent, decorators: [{
1715
1715
  type: Component,
1716
1716
  args: [{ selector: 'valtimo-note-modal', 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<cds-modal valtimoCdsModal [open]=\"open\" size=\"sm\" showFooter=\"true\" (close)=\"onCancel()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'case.notes.' + modalType + 'Note' | translate }}\n </h3>\n </cds-modal-header>\n\n <form [formGroup]=\"formGroup\" cdsModalContent>\n <cds-textarea-label>\n {{ 'case.notes.input.content' | translate }}\n\n <textarea\n cdsTextArea\n cdsLayer=\"1\"\n class=\"valtimo-note-modal__textarea\"\n formControlName=\"content\"\n [rows]=\"10\"\n ></textarea>\n </cds-textarea-label>\n </form>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"!formGroup.valid\" cdsButton=\"primary\" (click)=\"onConfirm()\">\n {{ 'case.notes.' + modalType + 'Note' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [":host textarea{width: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"] }]
1717
- }], ctorParameters: () => [{ type: i1$4.FormBuilder }], propDecorators: { modalType: [{
1717
+ }], ctorParameters: () => [{ type: i1$5.FormBuilder }], propDecorators: { modalType: [{
1718
1718
  type: Input
1719
1719
  }], customData: [{
1720
1720
  type: Input
@@ -1873,13 +1873,13 @@ class CaseDetailTabNotesComponent {
1873
1873
  this.idToDelete$.next(data.customData?.['id'] ?? '');
1874
1874
  this.showDeleteModal$.next(true);
1875
1875
  }
1876
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabNotesComponent, deps: [{ token: i1.GlobalNotificationService }, { token: NotesService }, { token: i2$3.PermissionService }, { token: i1$2.ActivatedRoute }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
1877
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseDetailTabNotesComponent, isStandalone: false, selector: "ng-component", host: { properties: { "class.tab--no-margin": "this.noMargin" } }, 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<ng-container\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <div class=\"cds--toolbar-content\">\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.canAdd\"\n [disabled]=\"obs.loading\"\n (click)=\"showAddModal()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n >\n {{ 'case.notes.addNote' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline\n *ngIf=\"timelineItems.length > 0\"\n [actions]=\"actions\"\n [items]=\"timelineItems\"\n ></valtimo-timeline>\n\n <valtimo-no-results\n *ngIf=\"timelineItems.length === 0\"\n [description]=\"'case.notes.noResults.description' | translate\"\n [title]=\"'case.notes.noResults.title' | translate\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n ></valtimo-no-results>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div *ngIf=\"obs.pagination\" class=\"d-flex justify-content-end row mr-0 ml-0\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [maxSize]=\"obs.pagination.size\"\n [pageSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n [(page)]=\"obs.pagination.page\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</ng-container>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n [modalType]=\"modalType$ | async\"\n [open]=\"modalOpen$ | async\"\n (modalClosed)=\"onModalClosed($event)\"\n></valtimo-note-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.notes.deleteConfirmation.description\"\n [outputOnConfirm]=\"idToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.notes.deleteConfirmation.title\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n", styles: [":host{display:flex;flex-direction:column}.add-note{align-self: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: "component", type: i2$1.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i2$1.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i6$1.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$1.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: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: NoteModalComponent, selector: "valtimo-note-modal", inputs: ["modalType", "customData", "open"], outputs: ["modalClosed"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1876
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabNotesComponent, deps: [{ token: i1.GlobalNotificationService }, { token: NotesService }, { token: i2$2.PermissionService }, { token: i1$3.ActivatedRoute }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
1877
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseDetailTabNotesComponent, isStandalone: false, selector: "ng-component", host: { properties: { "class.tab--no-margin": "this.noMargin" } }, 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<ng-container\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <div class=\"cds--toolbar-content\">\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.canAdd\"\n [disabled]=\"obs.loading\"\n (click)=\"showAddModal()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n >\n {{ 'case.notes.addNote' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline\n *ngIf=\"timelineItems.length > 0\"\n [actions]=\"actions\"\n [items]=\"timelineItems\"\n ></valtimo-timeline>\n\n <valtimo-no-results\n *ngIf=\"timelineItems.length === 0\"\n [description]=\"'case.notes.noResults.description' | translate\"\n [title]=\"'case.notes.noResults.title' | translate\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n ></valtimo-no-results>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div *ngIf=\"obs.pagination\" class=\"d-flex justify-content-end row mr-0 ml-0\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [maxSize]=\"obs.pagination.size\"\n [pageSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n [(page)]=\"obs.pagination.page\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</ng-container>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n [modalType]=\"modalType$ | async\"\n [open]=\"modalOpen$ | async\"\n (modalClosed)=\"onModalClosed($event)\"\n></valtimo-note-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.notes.deleteConfirmation.description\"\n [outputOnConfirm]=\"idToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.notes.deleteConfirmation.title\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n", styles: [":host{display:flex;flex-direction:column}.add-note{align-self: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: "component", type: i2.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i2.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i6$1.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.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: i2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: NoteModalComponent, selector: "valtimo-note-modal", inputs: ["modalType", "customData", "open"], outputs: ["modalClosed"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1878
1878
  }
1879
1879
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabNotesComponent, decorators: [{
1880
1880
  type: Component,
1881
1881
  args: [{ standalone: false, 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<ng-container\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <div class=\"cds--toolbar-content\">\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.canAdd\"\n [disabled]=\"obs.loading\"\n (click)=\"showAddModal()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n >\n {{ 'case.notes.addNote' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline\n *ngIf=\"timelineItems.length > 0\"\n [actions]=\"actions\"\n [items]=\"timelineItems\"\n ></valtimo-timeline>\n\n <valtimo-no-results\n *ngIf=\"timelineItems.length === 0\"\n [description]=\"'case.notes.noResults.description' | translate\"\n [title]=\"'case.notes.noResults.title' | translate\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n ></valtimo-no-results>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div *ngIf=\"obs.pagination\" class=\"d-flex justify-content-end row mr-0 ml-0\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [maxSize]=\"obs.pagination.size\"\n [pageSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n [(page)]=\"obs.pagination.page\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</ng-container>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n [modalType]=\"modalType$ | async\"\n [open]=\"modalOpen$ | async\"\n (modalClosed)=\"onModalClosed($event)\"\n></valtimo-note-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.notes.deleteConfirmation.description\"\n [outputOnConfirm]=\"idToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.notes.deleteConfirmation.title\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n", styles: [":host{display:flex;flex-direction:column}.add-note{align-self: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"] }]
1882
- }], ctorParameters: () => [{ type: i1.GlobalNotificationService }, { type: NotesService }, { type: i2$3.PermissionService }, { type: i1$2.ActivatedRoute }, { type: i4.TranslateService }], propDecorators: { noMargin: [{
1882
+ }], ctorParameters: () => [{ type: i1.GlobalNotificationService }, { type: NotesService }, { type: i2$2.PermissionService }, { type: i1$3.ActivatedRoute }, { type: i4.TranslateService }], propDecorators: { noMargin: [{
1883
1883
  type: HostBinding,
1884
1884
  args: ['class.tab--no-margin']
1885
1885
  }] } });
@@ -2117,13 +2117,13 @@ class CaseDetailTabFormioComponent {
2117
2117
  return of(null);
2118
2118
  }));
2119
2119
  }
2120
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabFormioComponent, deps: [{ token: CaseTabService }, { token: i1$2.ActivatedRoute }, { token: i3.FormService }, { token: i5.SseService }], target: i0.ɵɵFactoryTarget.Component }); }
2121
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseDetailTabFormioComponent, 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<ng-container\n *ngIf=\"{\n prefilledForm: prefilledForm$ | async,\n loading: loading$ | async,\n formNotFound: formNotFound$ | async,\n noFormSpecified: noFormSpecified$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <p *ngIf=\"obs.formNotFound\" class=\"error-message\">\n {{ 'case.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'case.formio.noFormSpecified' | translate }}\n </p>\n\n <valtimo-form-io *ngIf=\"obs.prefilledForm\" [form]=\"obs.prefilledForm\"> </valtimo-form-io>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;flex-direction:row;justify-content:center}.error-message{text-align:center}\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$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "errors", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabFormioComponent, deps: [{ token: CaseTabService }, { token: i1$3.ActivatedRoute }, { token: i3.FormService }, { token: i5.SseService }], target: i0.ɵɵFactoryTarget.Component }); }
2121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseDetailTabFormioComponent, 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<ng-container\n *ngIf=\"{\n prefilledForm: prefilledForm$ | async,\n loading: loading$ | async,\n formNotFound: formNotFound$ | async,\n noFormSpecified: noFormSpecified$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <p *ngIf=\"obs.formNotFound\" class=\"error-message\">\n {{ 'case.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'case.formio.noFormSpecified' | translate }}\n </p>\n\n <valtimo-form-io *ngIf=\"obs.prefilledForm\" [form]=\"obs.prefilledForm\"> </valtimo-form-io>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;flex-direction:row;justify-content:center}.error-message{text-align:center}\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.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "errors", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2122
2122
  }
2123
2123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTabFormioComponent, decorators: [{
2124
2124
  type: Component,
2125
2125
  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<ng-container\n *ngIf=\"{\n prefilledForm: prefilledForm$ | async,\n loading: loading$ | async,\n formNotFound: formNotFound$ | async,\n noFormSpecified: noFormSpecified$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <p *ngIf=\"obs.formNotFound\" class=\"error-message\">\n {{ 'case.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'case.formio.noFormSpecified' | translate }}\n </p>\n\n <valtimo-form-io *ngIf=\"obs.prefilledForm\" [form]=\"obs.prefilledForm\"> </valtimo-form-io>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;flex-direction:row;justify-content:center}.error-message{text-align:center}\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"] }]
2126
- }], ctorParameters: () => [{ type: CaseTabService }, { type: i1$2.ActivatedRoute }, { type: i3.FormService }, { type: i5.SseService }] });
2126
+ }], ctorParameters: () => [{ type: CaseTabService }, { type: i1$3.ActivatedRoute }, { type: i3.FormService }, { type: i5.SseService }] });
2127
2127
 
2128
2128
  /*
2129
2129
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -2255,7 +2255,7 @@ class WidgetsService {
2255
2255
  refreshWidgets() {
2256
2256
  this._refreshWidgets$.next();
2257
2257
  }
2258
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetsService, deps: [{ token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2258
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetsService, deps: [{ token: i1$2.DocumentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2259
2259
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetsService, providedIn: 'root' }); }
2260
2260
  }
2261
2261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetsService, decorators: [{
@@ -2263,7 +2263,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2263
2263
  args: [{
2264
2264
  providedIn: 'root',
2265
2265
  }]
2266
- }], ctorParameters: () => [{ type: i2.DocumentService }] });
2266
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }] });
2267
2267
 
2268
2268
  /*
2269
2269
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -2321,7 +2321,7 @@ class CaseWidgetFieldComponent extends WidgetProcess {
2321
2321
  return;
2322
2322
  this.widgetsService.startProcess(process.processDefinitionKey);
2323
2323
  }
2324
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetFieldComponent, deps: [{ token: i2.DocumentService }, { token: i2$3.PermissionService }, { token: WidgetsService }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2324
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetFieldComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.PermissionService }, { token: WidgetsService }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2325
2325
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseWidgetFieldComponent, isStandalone: true, selector: "valtimo-case-widget-field", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, 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-field\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-field>\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: InputModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetFieldComponent, selector: "valtimo-widget-field", inputs: ["widgetConfiguration", "widgetData"], outputs: ["noVisibleFieldsEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2326
2326
  }
2327
2327
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetFieldComponent, decorators: [{
@@ -2334,7 +2334,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2334
2334
  ButtonModule,
2335
2335
  WidgetFieldComponent,
2336
2336
  ], 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-field\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-field>\n" }]
2337
- }], ctorParameters: () => [{ type: i2.DocumentService }, { type: i2$3.PermissionService }, { type: WidgetsService }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5$1.WidgetLayoutService }], propDecorators: { documentId: [{
2337
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$2.PermissionService }, { type: WidgetsService }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5$1.WidgetLayoutService }], propDecorators: { documentId: [{
2338
2338
  type: Input,
2339
2339
  args: [{ required: true }]
2340
2340
  }], widgetConfiguration: [{
@@ -2381,13 +2381,13 @@ class CaseWidgetCustomComponent extends WidgetProcess {
2381
2381
  onProcessStartClick(process) {
2382
2382
  this.widgetsService.startProcess(process.processDefinitionKey);
2383
2383
  }
2384
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetCustomComponent, deps: [{ token: WidgetsService }, { token: i2.DocumentService }, { token: i2$3.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
2384
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetCustomComponent, deps: [{ token: WidgetsService }, { token: i1$2.DocumentService }, { token: i2$2.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
2385
2385
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseWidgetCustomComponent, isStandalone: true, selector: "valtimo-case-widget-custom", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, 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-custom\n *ngIf=\"{\n widgetConfiguration: widgetConfig$ | async\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetUuid]=\"widgetUuid\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-custom>\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: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetCustomComponent, selector: "valtimo-widget-custom", inputs: ["widgetConfiguration", "widgetData", "widgetUuid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2386
2386
  }
2387
2387
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetCustomComponent, decorators: [{
2388
2388
  type: Component,
2389
2389
  args: [{ selector: 'valtimo-case-widget-custom', standalone: true, imports: [CommonModule, CarbonListModule, TranslateModule, ButtonModule, WidgetCustomComponent], 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-widget-custom\n *ngIf=\"{\n widgetConfiguration: widgetConfig$ | async\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetUuid]=\"widgetUuid\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-custom>\n" }]
2390
- }], ctorParameters: () => [{ type: WidgetsService }, { type: i2.DocumentService }, { type: i2$3.PermissionService }], propDecorators: { documentId: [{
2390
+ }], ctorParameters: () => [{ type: WidgetsService }, { type: i1$2.DocumentService }, { type: i2$2.PermissionService }], propDecorators: { documentId: [{
2391
2391
  type: Input,
2392
2392
  args: [{ required: true }]
2393
2393
  }], widgetConfiguration: [{
@@ -2464,13 +2464,13 @@ class CaseWidgetFormioComponent extends WidgetProcess {
2464
2464
  onProcessStartClick(process) {
2465
2465
  this.widgetsService.startProcess(process.processDefinitionKey);
2466
2466
  }
2467
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetFormioComponent, deps: [{ token: i2.DocumentService }, { token: i2$3.PermissionService }, { token: WidgetsService }, { token: i0.DestroyRef }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2467
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetFormioComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.PermissionService }, { token: WidgetsService }, { token: i0.DestroyRef }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2468
2468
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseWidgetFormioComponent, isStandalone: true, selector: "valtimo-case-widget-formio", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, 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-formio\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n documentId: documentId$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n [documentId]=\"obs.documentId\"\n [widgetUuid]=\"widgetUuid\"\n [refreshForm]=\"refreshForm\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-formio>\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: "ngmodule", type: FormIoModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetFormioComponent, selector: "valtimo-widget-formio", inputs: ["documentId", "widgetConfiguration", "widgetData", "widgetUuid", "refreshForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2469
2469
  }
2470
2470
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetFormioComponent, decorators: [{
2471
2471
  type: Component,
2472
2472
  args: [{ selector: 'valtimo-case-widget-formio', standalone: true, imports: [CommonModule, TranslateModule, FormIoModule, ButtonModule, WidgetFormioComponent], 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-widget-formio\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n documentId: documentId$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n [documentId]=\"obs.documentId\"\n [widgetUuid]=\"widgetUuid\"\n [refreshForm]=\"refreshForm\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-formio>\n" }]
2473
- }], ctorParameters: () => [{ type: i2.DocumentService }, { type: i2$3.PermissionService }, { type: WidgetsService }, { type: i0.DestroyRef }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5$1.WidgetLayoutService }], propDecorators: { documentId: [{
2473
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$2.PermissionService }, { type: WidgetsService }, { type: i0.DestroyRef }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5$1.WidgetLayoutService }], propDecorators: { documentId: [{
2474
2474
  type: Input
2475
2475
  }], widgetConfiguration: [{
2476
2476
  type: Input
@@ -2548,7 +2548,7 @@ class CaseWidgetTableComponent extends WidgetProcess {
2548
2548
  getPageSizeParam(widgetConfiguration) {
2549
2549
  return `size=${widgetConfiguration.properties.defaultPageSize}`;
2550
2550
  }
2551
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetTableComponent, deps: [{ token: i2.DocumentService }, { token: i2$3.PermissionService }, { token: CaseWidgetsApiService }, { token: WidgetsService }, { token: CaseTabService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2551
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetTableComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.PermissionService }, { token: CaseWidgetsApiService }, { token: WidgetsService }, { token: CaseTabService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2552
2552
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseWidgetTableComponent, isStandalone: true, selector: "valtimo-case-widget-table", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, 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-table\n [widgetData]=\"widgetData$ | async\"\n [widgetConfiguration]=\"widgetConfiguration\"\n (paginationEvent)=\"onPaginationEvent($event)\"\n>\n @if (widgetConfiguration?.actions?.length === 1) {\n @if (widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(widgetConfiguration.actions[0])\"\n >\n {{ widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-table>\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: CarbonListModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "ngmodule", type: TilesModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetTableComponent, selector: "valtimo-widget-table", inputs: ["widgetConfiguration", "widgetData"], outputs: ["paginationEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2553
2553
  }
2554
2554
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetTableComponent, decorators: [{
@@ -2562,7 +2562,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2562
2562
  ButtonModule,
2563
2563
  WidgetTableComponent,
2564
2564
  ], 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-table\n [widgetData]=\"widgetData$ | async\"\n [widgetConfiguration]=\"widgetConfiguration\"\n (paginationEvent)=\"onPaginationEvent($event)\"\n>\n @if (widgetConfiguration?.actions?.length === 1) {\n @if (widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(widgetConfiguration.actions[0])\"\n >\n {{ widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-table>\n" }]
2565
- }], ctorParameters: () => [{ type: i2.DocumentService }, { type: i2$3.PermissionService }, { type: CaseWidgetsApiService }, { type: WidgetsService }, { type: CaseTabService }, { type: i5$1.WidgetLayoutService }], propDecorators: { documentId: [{
2565
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$2.PermissionService }, { type: CaseWidgetsApiService }, { type: WidgetsService }, { type: CaseTabService }, { type: i5$1.WidgetLayoutService }], propDecorators: { documentId: [{
2566
2566
  type: Input,
2567
2567
  args: [{ required: true }]
2568
2568
  }], widgetConfiguration: [{
@@ -2644,7 +2644,7 @@ class CaseWidgetCollectionComponent extends WidgetProcess {
2644
2644
  getPageSizeParam(widgetConfiguration) {
2645
2645
  return `size=${widgetConfiguration.properties.defaultPageSize}`;
2646
2646
  }
2647
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetCollectionComponent, deps: [{ token: i2.DocumentService }, { token: i2$3.PermissionService }, { token: CaseWidgetsApiService }, { token: WidgetsService }, { token: i5$1.WidgetLayoutService }, { token: CaseTabService }, { token: CaseWidgetsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
2647
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetCollectionComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.PermissionService }, { token: CaseWidgetsApiService }, { token: WidgetsService }, { token: i5$1.WidgetLayoutService }, { token: CaseTabService }, { token: CaseWidgetsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
2648
2648
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseWidgetCollectionComponent, isStandalone: true, selector: "valtimo-case-widget-collection", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, 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-collection\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n (paginationEvent)=\"onPaginationEvent($event)\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-collection>\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: InputModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "ngmodule", type: TilesModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetCollectionComponent, selector: "valtimo-widget-collection", inputs: ["widgetConfiguration", "widgetData"], outputs: ["paginationEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2649
2649
  }
2650
2650
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetCollectionComponent, decorators: [{
@@ -2659,7 +2659,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2659
2659
  ButtonModule,
2660
2660
  WidgetCollectionComponent,
2661
2661
  ], 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-collection\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n (paginationEvent)=\"onPaginationEvent($event)\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-collection>\n" }]
2662
- }], ctorParameters: () => [{ type: i2.DocumentService }, { type: i2$3.PermissionService }, { type: CaseWidgetsApiService }, { type: WidgetsService }, { type: i5$1.WidgetLayoutService }, { type: CaseTabService }, { type: CaseWidgetsApiService }], propDecorators: { documentId: [{
2662
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$2.PermissionService }, { type: CaseWidgetsApiService }, { type: WidgetsService }, { type: i5$1.WidgetLayoutService }, { type: CaseTabService }, { type: CaseWidgetsApiService }], propDecorators: { documentId: [{
2663
2663
  type: Input,
2664
2664
  args: [{ required: true }]
2665
2665
  }], widgetConfiguration: [{
@@ -2724,7 +2724,7 @@ class CaseWidgetMapComponent extends WidgetProcess {
2724
2724
  return;
2725
2725
  this.widgetsService.startProcess(process.processDefinitionKey);
2726
2726
  }
2727
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetMapComponent, deps: [{ token: i2.DocumentService }, { token: i2$3.PermissionService }, { token: WidgetsService }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2727
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetMapComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.PermissionService }, { token: WidgetsService }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2728
2728
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseWidgetMapComponent, isStandalone: true, selector: "valtimo-case-widget-map", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, 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-map\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n>\n @if (\n obs.widgetConfiguration?.actions?.length === 1 &&\n obs.widgetConfiguration.actions[0]?.processDefinitionKey &&\n (canCreateCamundaExecution$ | async)\n ) {\n <button\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n</valtimo-widget-map>\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: InputModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetMapComponent, selector: "valtimo-widget-map", inputs: ["widgetConfiguration", "widgetData"], outputs: ["noVisibleMapEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2729
2729
  }
2730
2730
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetMapComponent, decorators: [{
@@ -2737,7 +2737,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2737
2737
  ButtonModule,
2738
2738
  WidgetMapComponent,
2739
2739
  ], 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-map\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n>\n @if (\n obs.widgetConfiguration?.actions?.length === 1 &&\n obs.widgetConfiguration.actions[0]?.processDefinitionKey &&\n (canCreateCamundaExecution$ | async)\n ) {\n <button\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n</valtimo-widget-map>\n" }]
2740
- }], ctorParameters: () => [{ type: i2.DocumentService }, { type: i2$3.PermissionService }, { type: WidgetsService }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5$1.WidgetLayoutService }], propDecorators: { documentId: [{
2740
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$2.PermissionService }, { type: WidgetsService }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5$1.WidgetLayoutService }], propDecorators: { documentId: [{
2741
2741
  type: Input,
2742
2742
  args: [{ required: true }]
2743
2743
  }], widgetConfiguration: [{
@@ -2861,7 +2861,7 @@ class CaseWidgetMetrolineComponent extends WidgetProcess {
2861
2861
  return;
2862
2862
  this.widgetsService.startProcess(process.processDefinitionKey);
2863
2863
  }
2864
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetMetrolineComponent, deps: [{ token: i2.DocumentService }, { token: i2$3.PermissionService }, { token: WidgetsService }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2864
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetMetrolineComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.PermissionService }, { token: WidgetsService }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2865
2865
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseWidgetMetrolineComponent, isStandalone: true, selector: "valtimo-case-widget-metroline", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, usesInheritance: 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-widget-metroline\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n>\n @if (\n obs.widgetConfiguration?.actions?.length === 1 &&\n obs.widgetConfiguration.actions[0]?.processDefinitionKey &&\n (canCreateCamundaExecution$ | async)\n ) {\n <button cdsButton=\"ghost\" (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\">\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n</valtimo-widget-metroline>\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: CarbonListModule }, { 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: "component", type: WidgetMetrolineComponent, selector: "valtimo-widget-metroline", inputs: ["widgetConfiguration", "widgetData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2866
2866
  }
2867
2867
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetMetrolineComponent, decorators: [{
@@ -2873,7 +2873,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2873
2873
  TranslateModule,
2874
2874
  WidgetMetrolineComponent,
2875
2875
  ], 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-widget-metroline\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n>\n @if (\n obs.widgetConfiguration?.actions?.length === 1 &&\n obs.widgetConfiguration.actions[0]?.processDefinitionKey &&\n (canCreateCamundaExecution$ | async)\n ) {\n <button cdsButton=\"ghost\" (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\">\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n</valtimo-widget-metroline>\n" }]
2876
- }], ctorParameters: () => [{ type: i2.DocumentService }, { type: i2$3.PermissionService }, { type: WidgetsService }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5$1.WidgetLayoutService }], propDecorators: { documentId: [{
2876
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$2.PermissionService }, { type: WidgetsService }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5$1.WidgetLayoutService }], propDecorators: { documentId: [{
2877
2877
  type: Input,
2878
2878
  args: [{ required: true }]
2879
2879
  }], widgetConfiguration: [{
@@ -2941,6 +2941,139 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2941
2941
  type: Input
2942
2942
  }] } });
2943
2943
 
2944
+ /*
2945
+ * Copyright 2015-2026 Ritense BV, the Netherlands.
2946
+ *
2947
+ * Licensed under EUPL, Version 1.2 (the "License");
2948
+ * you may not use this file except in compliance with the License.
2949
+ * You may obtain a copy of the License at
2950
+ *
2951
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
2952
+ *
2953
+ * Unless required by applicable law or agreed to in writing, software
2954
+ * distributed under the License is distributed on an "AS IS" basis,
2955
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2956
+ * See the License for the specific language governing permissions and
2957
+ * limitations under the License.
2958
+ */
2959
+ class CaseWidgetImageComponent extends WidgetProcess {
2960
+ static { this.IMAGE_EXTENSIONS = [
2961
+ 'png',
2962
+ 'jpg',
2963
+ 'jpeg',
2964
+ 'gif',
2965
+ 'webp',
2966
+ 'avif',
2967
+ 'svg',
2968
+ 'bmp',
2969
+ 'ico',
2970
+ ]; }
2971
+ set documentId(value) {
2972
+ this.baseDocumentId = value;
2973
+ this._documentId$.next(value);
2974
+ }
2975
+ set widgetConfiguration(value) {
2976
+ if (!value)
2977
+ return;
2978
+ this.widgetConfiguration$.next(value);
2979
+ this.baseWidgetConfiguration = value;
2980
+ }
2981
+ constructor(documentService, permissionService, widgetsService, caseTabService, caseWidgetApiService, widgetLayoutService, uploadProviderService, downloadService, httpClient) {
2982
+ super(documentService, permissionService);
2983
+ this.documentService = documentService;
2984
+ this.permissionService = permissionService;
2985
+ this.widgetsService = widgetsService;
2986
+ this.caseTabService = caseTabService;
2987
+ this.caseWidgetApiService = caseWidgetApiService;
2988
+ this.widgetLayoutService = widgetLayoutService;
2989
+ this.uploadProviderService = uploadProviderService;
2990
+ this.downloadService = downloadService;
2991
+ this.httpClient = httpClient;
2992
+ this._documentId$ = new BehaviorSubject('');
2993
+ this.widgetConfiguration$ = new BehaviorSubject(null);
2994
+ this._tabKey$ = this.caseTabService.activeTabKey$;
2995
+ this._refresh$ = this.widgetsService.refreshWidgets$.pipe(startWith(null));
2996
+ this._objectUrls = [];
2997
+ this.images$ = combineLatest([
2998
+ this.widgetConfiguration$,
2999
+ this._tabKey$,
3000
+ this._documentId$,
3001
+ this._refresh$,
3002
+ ]).pipe(filter(([widget, , documentId]) => !!widget && !!documentId), switchMap(([widget, tabKey, documentId]) => this.caseWidgetApiService.getWidgetData(documentId, tabKey, widget.key, undefined)), switchMap(data => {
3003
+ const widgetData = data;
3004
+ const valueMap = new Map((widgetData?.value ?? []).map((v) => [v.id, v.filename]));
3005
+ const images = (widgetData?.images ?? []).map((img) => ({
3006
+ ...img,
3007
+ fileName: img.fileName ?? valueMap.get(img.resourceId) ?? '',
3008
+ }));
3009
+ return this.resolveImages(images);
3010
+ }), tap(() => this.widgetLayoutService.setWidgetDataLoaded(this.widgetUuid)), catchError$1((error) => {
3011
+ if (error.status === 404)
3012
+ this.widgetLayoutService.setWidgetDataLoaded(this.widgetUuid);
3013
+ return of([]);
3014
+ }));
3015
+ }
3016
+ ngOnDestroy() {
3017
+ this.revokeObjectUrls();
3018
+ }
3019
+ onProcessStartClick(process) {
3020
+ if (!process.processDefinitionKey)
3021
+ return;
3022
+ this.widgetsService.startProcess(process.processDefinitionKey);
3023
+ }
3024
+ onDownload(image) {
3025
+ this.downloadService.downloadFile(image.displayUrl || image.url, image.fileName, true);
3026
+ }
3027
+ onOpenInNewTab(image) {
3028
+ window.open(image.displayUrl || image.url, '_blank', 'noopener');
3029
+ }
3030
+ resolveImages(images) {
3031
+ this.revokeObjectUrls();
3032
+ if (images.length === 0)
3033
+ return of([]);
3034
+ return forkJoin(images.map(image => this.uploadProviderService.getResource(image.resourceId).pipe(switchMap((resource) => this.toDisplayUrl(resource.url).pipe(map((displayUrl) => ({
3035
+ resourceId: image.resourceId,
3036
+ url: resource.url,
3037
+ displayUrl,
3038
+ fileName: image.fileName ?? resource.resource?.name ?? '',
3039
+ mimeType: image.mimeType,
3040
+ })))), catchError$1(() => of(null))))).pipe(map(resolved => resolved.filter((item) => item !== null && this.isImage(item))));
3041
+ }
3042
+ // Only browser-renderable image files are shown; other resources (e.g. a PDF) would display
3043
+ // incorrectly, so they are filtered out by extension. When nothing renderable remains the
3044
+ // "no image found" state is shown.
3045
+ isImage(image) {
3046
+ const extension = image.fileName?.split('.').pop()?.toLowerCase() ?? '';
3047
+ return CaseWidgetImageComponent.IMAGE_EXTENSIONS.includes(extension);
3048
+ }
3049
+ // The source url (e.g. an S3 pre-signed url) is blocked by the img-src CSP directive, so the
3050
+ // bytes are fetched through connect-src and rendered as a blob object url instead.
3051
+ toDisplayUrl(sourceUrl) {
3052
+ return this.httpClient.get(sourceUrl, { responseType: 'blob' }).pipe(map(blob => {
3053
+ const objectUrl = URL.createObjectURL(blob);
3054
+ this._objectUrls.push(objectUrl);
3055
+ return objectUrl;
3056
+ }), catchError$1(() => of(sourceUrl)));
3057
+ }
3058
+ revokeObjectUrls() {
3059
+ this._objectUrls.forEach(url => URL.revokeObjectURL(url));
3060
+ this._objectUrls = [];
3061
+ }
3062
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetImageComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$2.PermissionService }, { token: WidgetsService }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }, { token: i3$2.UploadProviderService }, { token: i3$2.DownloadService }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
3063
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseWidgetImageComponent, isStandalone: true, selector: "valtimo-case-widget-image", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, usesInheritance: 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-widget-image\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n images: images$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [images]=\"obs.images\"\n (download)=\"onDownload($event)\"\n (openInNewTab)=\"onOpenInNewTab($event)\"\n>\n @if (\n obs.widgetConfiguration?.actions?.length === 1 &&\n obs.widgetConfiguration.actions[0]?.processDefinitionKey &&\n (canCreateCamundaExecution$ | async)\n ) {\n <button cdsButton=\"ghost\" (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\">\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n</valtimo-widget-image>\n", styles: [":host{display:block;height:100%}\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: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { 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: "component", type: WidgetImageComponent, selector: "valtimo-widget-image", inputs: ["widgetConfiguration", "images"], outputs: ["download", "openInNewTab"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3064
+ }
3065
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseWidgetImageComponent, decorators: [{
3066
+ type: Component,
3067
+ args: [{ selector: 'valtimo-case-widget-image', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ButtonModule, CommonModule, TranslateModule, WidgetImageComponent], 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-widget-image\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n images: images$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [images]=\"obs.images\"\n (download)=\"onDownload($event)\"\n (openInNewTab)=\"onOpenInNewTab($event)\"\n>\n @if (\n obs.widgetConfiguration?.actions?.length === 1 &&\n obs.widgetConfiguration.actions[0]?.processDefinitionKey &&\n (canCreateCamundaExecution$ | async)\n ) {\n <button cdsButton=\"ghost\" (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\">\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n</valtimo-widget-image>\n", styles: [":host{display:block;height:100%}\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"] }]
3068
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$2.PermissionService }, { type: WidgetsService }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5$1.WidgetLayoutService }, { type: i3$2.UploadProviderService }, { type: i3$2.DownloadService }, { type: i1$1.HttpClient }], propDecorators: { documentId: [{
3069
+ type: Input,
3070
+ args: [{ required: true }]
3071
+ }], widgetConfiguration: [{
3072
+ type: Input
3073
+ }], widgetUuid: [{
3074
+ type: Input
3075
+ }] } });
3076
+
2944
3077
  /*
2945
3078
  * Copyright 2015-2025 Ritense BV, the Netherlands.
2946
3079
  *
@@ -2993,6 +3126,7 @@ class CaseDetailWidgetsComponent {
2993
3126
  [WidgetType.PERSON_CARD]: CaseWidgetPersonCardComponent,
2994
3127
  [WidgetType.METROLINE]: CaseWidgetMetrolineComponent,
2995
3128
  [WidgetType.HIGHLIGHT]: CaseWidgetHighlightComponent,
3129
+ [WidgetType.IMAGE]: CaseWidgetImageComponent,
2996
3130
  };
2997
3131
  }
2998
3132
  ngOnInit() {
@@ -3039,7 +3173,7 @@ class CaseDetailWidgetsComponent {
3039
3173
  return null;
3040
3174
  }), filter((configuration) => configuration !== null));
3041
3175
  }
3042
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailWidgetsComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5.SseService }, { token: WidgetsService }], target: i0.ɵɵFactoryTarget.Component }); }
3176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailWidgetsComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5.SseService }, { token: WidgetsService }], target: i0.ɵɵFactoryTarget.Component }); }
3043
3177
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseDetailWidgetsComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class.tab--no-margin": "this._noMargin", "class.tab--no-background": "this._noBackground", "class.tab--no-min-height": "this._noMinHeight" } }, 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@for (widgetGroup of widgetGroups$ | async; track $index) {\n <div *ngIf=\"widgetGroup.divider\" class=\"divider\" [ngClass]=\"{'divider--first': $first}\">\n {{ widgetGroup.divider.title || '-' }}\n </div>\n\n <valtimo-widget-container\n [widgets]=\"widgetGroup.widgets\"\n [widgetComponentMap]=\"widgetComponentMap\"\n [widgetLayout]=\"widgetLayout$ | async\"\n ></valtimo-widget-container>\n}\n", styles: [".loading-container{display:flex;justify-content:center;padding:16px 0}.divider{width:100%;font-weight:700;font-size:20px;padding:32px 0 16px 8px}.divider--first{padding-top: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: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: WidgetContainerComponent, selector: "valtimo-widget-container", inputs: ["widgets", "widgetLayout", "widgetComponentMap", "widgetParams"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3044
3178
  }
3045
3179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailWidgetsComponent, decorators: [{
@@ -3051,7 +3185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
3051
3185
  CarbonListModule,
3052
3186
  TranslateModule,
3053
3187
  ], 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@for (widgetGroup of widgetGroups$ | async; track $index) {\n <div *ngIf=\"widgetGroup.divider\" class=\"divider\" [ngClass]=\"{'divider--first': $first}\">\n {{ widgetGroup.divider.title || '-' }}\n </div>\n\n <valtimo-widget-container\n [widgets]=\"widgetGroup.widgets\"\n [widgetComponentMap]=\"widgetComponentMap\"\n [widgetLayout]=\"widgetLayout$ | async\"\n ></valtimo-widget-container>\n}\n", styles: [".loading-container{display:flex;justify-content:center;padding:16px 0}.divider{width:100%;font-weight:700;font-size:20px;padding:32px 0 16px 8px}.divider--first{padding-top: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"] }]
3054
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5.SseService }, { type: WidgetsService }], propDecorators: { _noMargin: [{
3188
+ }], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5.SseService }, { type: WidgetsService }], propDecorators: { _noMargin: [{
3055
3189
  type: HostBinding,
3056
3190
  args: ['class.tab--no-margin']
3057
3191
  }], _noBackground: [{
@@ -3229,7 +3363,7 @@ class CaseTabService {
3229
3363
  return null;
3230
3364
  }
3231
3365
  }
3232
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseTabService, deps: [{ token: TAB_MAP }, { token: CASE_TAB_TOKEN, optional: true }, { token: ZGW_OBJECT_TYPE_COMPONENT_TOKEN, optional: true }, { token: i1.ConfigService }, { token: i1$2.ActivatedRoute }, { token: CaseTabApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3366
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseTabService, deps: [{ token: TAB_MAP }, { token: CASE_TAB_TOKEN, optional: true }, { token: ZGW_OBJECT_TYPE_COMPONENT_TOKEN, optional: true }, { token: i1.ConfigService }, { token: i1$3.ActivatedRoute }, { token: CaseTabApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3233
3367
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseTabService }); }
3234
3368
  }
3235
3369
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseTabService, decorators: [{
@@ -3247,7 +3381,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
3247
3381
  }, {
3248
3382
  type: Inject,
3249
3383
  args: [ZGW_OBJECT_TYPE_COMPONENT_TOKEN]
3250
- }] }, { type: i1.ConfigService }, { type: i1$2.ActivatedRoute }, { type: CaseTabApiService }] });
3384
+ }] }, { type: i1.ConfigService }, { type: i1$3.ActivatedRoute }, { type: CaseTabApiService }] });
3251
3385
 
3252
3386
  /*
3253
3387
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -3299,12 +3433,12 @@ class CaseListStatusService {
3299
3433
  this._selectedCaseStatusKeys$.next(statusKeys);
3300
3434
  this.caseParameterService.setStatusParameter(statusKeys);
3301
3435
  }
3302
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListStatusService, deps: [{ token: CaseListService }, { token: i2.CaseStatusService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3436
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListStatusService, deps: [{ token: CaseListService }, { token: i1$2.CaseStatusService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3303
3437
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListStatusService }); }
3304
3438
  }
3305
3439
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListStatusService, decorators: [{
3306
3440
  type: Injectable
3307
- }], ctorParameters: () => [{ type: CaseListService }, { type: i2.CaseStatusService }, { type: CaseParameterService }] });
3441
+ }], ctorParameters: () => [{ type: CaseListService }, { type: i1$2.CaseStatusService }, { type: CaseParameterService }] });
3308
3442
 
3309
3443
  /*
3310
3444
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -3526,12 +3660,12 @@ class CaseDetailLayoutService {
3526
3660
  leftPanelWidth: '*',
3527
3661
  };
3528
3662
  }
3529
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailLayoutService, deps: [{ token: CaseTabService }, { token: i2$1.PageHeaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3663
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailLayoutService, deps: [{ token: CaseTabService }, { token: i2.PageHeaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3530
3664
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailLayoutService }); }
3531
3665
  }
3532
3666
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailLayoutService, decorators: [{
3533
3667
  type: Injectable
3534
- }], ctorParameters: () => [{ type: CaseTabService }, { type: i2$1.PageHeaderService }] });
3668
+ }], ctorParameters: () => [{ type: CaseTabService }, { type: i2.PageHeaderService }] });
3535
3669
 
3536
3670
  /*
3537
3671
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -3581,12 +3715,12 @@ class CaseListCaseTagService {
3581
3715
  this._selectedCaseTagKeys$.next(caseTagKeys);
3582
3716
  this.caseParameterService.setCaseTagParameter(caseTagKeys);
3583
3717
  }
3584
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListCaseTagService, deps: [{ token: CaseListService }, { token: i2.CaseTagService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3718
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListCaseTagService, deps: [{ token: CaseListService }, { token: i1$2.CaseTagService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3585
3719
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListCaseTagService }); }
3586
3720
  }
3587
3721
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListCaseTagService, decorators: [{
3588
3722
  type: Injectable
3589
- }], ctorParameters: () => [{ type: CaseListService }, { type: i2.CaseTagService }, { type: CaseParameterService }] });
3723
+ }], ctorParameters: () => [{ type: CaseListService }, { type: i1$2.CaseTagService }, { type: CaseParameterService }] });
3590
3724
 
3591
3725
  class CaseExportService {
3592
3726
  constructor(http, listService, parameterService, caseListSearchService, globalNotificationService) {
@@ -3736,13 +3870,13 @@ class CaseMenuService {
3736
3870
  });
3737
3871
  }));
3738
3872
  }
3739
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseMenuService, deps: [{ token: i2.DocumentService }, { token: i5.SseService }, { token: i2$1.MenuService }, { token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3873
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseMenuService, deps: [{ token: i1$2.DocumentService }, { token: i5.SseService }, { token: i2.MenuService }, { token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3740
3874
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseMenuService, providedIn: 'root' }); }
3741
3875
  }
3742
3876
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseMenuService, decorators: [{
3743
3877
  type: Injectable,
3744
3878
  args: [{ providedIn: 'root' }]
3745
- }], ctorParameters: () => [{ type: i2.DocumentService }, { type: i5.SseService }, { type: i2$1.MenuService }, { type: i1.ConfigService }] });
3879
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i5.SseService }, { type: i2.MenuService }, { type: i1.ConfigService }] });
3746
3880
 
3747
3881
  /*
3748
3882
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -4159,12 +4293,12 @@ class CaseListOrchestrationService {
4159
4293
  };
4160
4294
  });
4161
4295
  }
4162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListOrchestrationService, deps: [{ token: CaseListAssigneeService }, { token: CaseListCaseTagService }, { token: CaseListHiddenColumnsService }, { token: CaseColumnService }, { token: i0.DestroyRef }, { token: i2.DocumentService }, { token: CaseListService }, { token: i2$1.PageTitleService }, { token: CaseListPaginationService }, { token: CaseParameterService }, { token: i2$3.PermissionService }, { token: CaseListSearchService }, { token: CaseListStatusService }, { token: i4.TranslateService }, { token: QUICK_SEARCH_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
4296
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListOrchestrationService, deps: [{ token: CaseListAssigneeService }, { token: CaseListCaseTagService }, { token: CaseListHiddenColumnsService }, { token: CaseColumnService }, { token: i0.DestroyRef }, { token: i1$2.DocumentService }, { token: CaseListService }, { token: i2.PageTitleService }, { token: CaseListPaginationService }, { token: CaseParameterService }, { token: i2$2.PermissionService }, { token: CaseListSearchService }, { token: CaseListStatusService }, { token: i4.TranslateService }, { token: QUICK_SEARCH_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
4163
4297
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListOrchestrationService }); }
4164
4298
  }
4165
4299
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListOrchestrationService, decorators: [{
4166
4300
  type: Injectable
4167
- }], ctorParameters: () => [{ type: CaseListAssigneeService }, { type: CaseListCaseTagService }, { type: CaseListHiddenColumnsService }, { type: CaseColumnService }, { type: i0.DestroyRef }, { type: i2.DocumentService }, { type: CaseListService }, { type: i2$1.PageTitleService }, { type: CaseListPaginationService }, { type: CaseParameterService }, { type: i2$3.PermissionService }, { type: CaseListSearchService }, { type: CaseListStatusService }, { type: i4.TranslateService }, { type: undefined, decorators: [{
4301
+ }], ctorParameters: () => [{ type: CaseListAssigneeService }, { type: CaseListCaseTagService }, { type: CaseListHiddenColumnsService }, { type: CaseColumnService }, { type: i0.DestroyRef }, { type: i1$2.DocumentService }, { type: CaseListService }, { type: i2.PageTitleService }, { type: CaseListPaginationService }, { type: CaseParameterService }, { type: i2$2.PermissionService }, { type: CaseListSearchService }, { type: CaseListStatusService }, { type: i4.TranslateService }, { type: undefined, decorators: [{
4168
4302
  type: Inject,
4169
4303
  args: [QUICK_SEARCH_SERVICE]
4170
4304
  }] }] });
@@ -4345,13 +4479,13 @@ class CaseBulkAssignModalComponent {
4345
4479
  trackByIndex(index) {
4346
4480
  return index;
4347
4481
  }
4348
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseBulkAssignModalComponent, deps: [{ token: CaseBulkAssignService }, { token: i1$4.FormBuilder }, { token: i2$3.PermissionService }, { token: i5$2.TeamsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
4349
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseBulkAssignModalComponent, isStandalone: false, selector: "valtimo-case-bulk-assign-modal", inputs: { documentIds: "documentIds", open: "open" }, outputs: { closeEvent: "closeEvent" }, host: { properties: { "class": "this.modalClass" } }, 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 valtimoCdsModal [open]=\"open\" (close)=\"closeModal()\" showFooter=\"true\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'case.bulkAssign.modal.title' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container\n *ngIf=\"{\n candidateUserItems: candidateUserItems$ | async,\n teamItems: teamItems$ | async,\n canAssignAllDocuments: canAssignAllDocuments$ | async,\n canAssignAnyDocuments: canAssignAnyDocuments$ | async,\n } as obs\"\n >\n <cds-inline-notification\n *ngIf=\"!obs.canAssignAnyDocuments\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('case.bulkAssign.modal.warningTitle' | translate),\n message: ('case.bulkAssign.modal.cannotAssignAnyWarning' | translate),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-inline-notification>\n\n <cds-inline-notification\n *ngIf=\"obs.canAssignAnyDocuments && !obs.canAssignAllDocuments\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('case.bulkAssign.modal.warningTitle' | translate),\n message: ('case.bulkAssign.modal.cannotAssignSomeWarning' | translate),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-inline-notification>\n\n <form *ngIf=\"obs.canAssignAnyDocuments && obs.candidateUserItems\" [formGroup]=\"formGroup\">\n <cds-combo-box\n formControlName=\"assignee\"\n [dropUp]=\"false\"\n [items]=\"obs.candidateUserItems\"\n [label]=\"'case.bulkAssign.modal.selectLabel' | translate\"\n [placeholder]=\"'case.bulkAssign.modal.selectPlaceholder' | translate\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-combo-box\n *ngIf=\"obs.teamItems?.length\"\n formControlName=\"team\"\n [dropUp]=\"false\"\n [items]=\"obs.teamItems\"\n [label]=\"'case.bulkAssign.modal.selectTeamLabel' | translate\"\n [placeholder]=\"'case.bulkAssign.modal.selectPlaceholder' | translate\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </form>\n </ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container\n *ngIf=\"{\n canAssignAnyDocuments: canAssignAnyDocuments$ | async,\n } as obs\"\n >\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">{{ 'interface.cancel' | translate }}</button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"!isFormValid || !obs.canAssignAnyDocuments\"\n (click)=\"closeModal(true)\"\n >\n {{ 'case.bulkAssign.modal.confirm' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .valtimo-case-bulk-assign-modal .cds--modal-container,::ng-deep .valtimo-case-bulk-assign-modal .cds--modal-content{overflow:unset}form{display:flex;flex-direction:column;gap:1rem}\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: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i4$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i4$1.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: "directive", type: i2$1.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i4$1.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4482
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseBulkAssignModalComponent, deps: [{ token: CaseBulkAssignService }, { token: i1$5.FormBuilder }, { token: i2$2.PermissionService }, { token: i5$2.TeamsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
4483
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseBulkAssignModalComponent, isStandalone: false, selector: "valtimo-case-bulk-assign-modal", inputs: { documentIds: "documentIds", open: "open" }, outputs: { closeEvent: "closeEvent" }, host: { properties: { "class": "this.modalClass" } }, 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 valtimoCdsModal [open]=\"open\" (close)=\"closeModal()\" showFooter=\"true\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'case.bulkAssign.modal.title' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container\n *ngIf=\"{\n candidateUserItems: candidateUserItems$ | async,\n teamItems: teamItems$ | async,\n canAssignAllDocuments: canAssignAllDocuments$ | async,\n canAssignAnyDocuments: canAssignAnyDocuments$ | async,\n } as obs\"\n >\n <cds-inline-notification\n *ngIf=\"!obs.canAssignAnyDocuments\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('case.bulkAssign.modal.warningTitle' | translate),\n message: ('case.bulkAssign.modal.cannotAssignAnyWarning' | translate),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-inline-notification>\n\n <cds-inline-notification\n *ngIf=\"obs.canAssignAnyDocuments && !obs.canAssignAllDocuments\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('case.bulkAssign.modal.warningTitle' | translate),\n message: ('case.bulkAssign.modal.cannotAssignSomeWarning' | translate),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-inline-notification>\n\n <form *ngIf=\"obs.canAssignAnyDocuments && obs.candidateUserItems\" [formGroup]=\"formGroup\">\n <cds-combo-box\n formControlName=\"assignee\"\n [dropUp]=\"false\"\n [items]=\"obs.candidateUserItems\"\n [label]=\"'case.bulkAssign.modal.selectLabel' | translate\"\n [placeholder]=\"'case.bulkAssign.modal.selectPlaceholder' | translate\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-combo-box\n *ngIf=\"obs.teamItems?.length\"\n formControlName=\"team\"\n [dropUp]=\"false\"\n [items]=\"obs.teamItems\"\n [label]=\"'case.bulkAssign.modal.selectTeamLabel' | translate\"\n [placeholder]=\"'case.bulkAssign.modal.selectPlaceholder' | translate\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </form>\n </ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container\n *ngIf=\"{\n canAssignAnyDocuments: canAssignAnyDocuments$ | async,\n } as obs\"\n >\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">{{ 'interface.cancel' | translate }}</button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"!isFormValid || !obs.canAssignAnyDocuments\"\n (click)=\"closeModal(true)\"\n >\n {{ 'case.bulkAssign.modal.confirm' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .valtimo-case-bulk-assign-modal .cds--modal-container,::ng-deep .valtimo-case-bulk-assign-modal .cds--modal-content{overflow:unset}form{display:flex;flex-direction:column;gap:1rem}\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: i1$5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i4$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i4$1.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: "directive", type: i2.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i4$1.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4350
4484
  }
4351
4485
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseBulkAssignModalComponent, decorators: [{
4352
4486
  type: Component,
4353
4487
  args: [{ standalone: false, selector: 'valtimo-case-bulk-assign-modal', 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 valtimoCdsModal [open]=\"open\" (close)=\"closeModal()\" showFooter=\"true\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'case.bulkAssign.modal.title' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container\n *ngIf=\"{\n candidateUserItems: candidateUserItems$ | async,\n teamItems: teamItems$ | async,\n canAssignAllDocuments: canAssignAllDocuments$ | async,\n canAssignAnyDocuments: canAssignAnyDocuments$ | async,\n } as obs\"\n >\n <cds-inline-notification\n *ngIf=\"!obs.canAssignAnyDocuments\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('case.bulkAssign.modal.warningTitle' | translate),\n message: ('case.bulkAssign.modal.cannotAssignAnyWarning' | translate),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-inline-notification>\n\n <cds-inline-notification\n *ngIf=\"obs.canAssignAnyDocuments && !obs.canAssignAllDocuments\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('case.bulkAssign.modal.warningTitle' | translate),\n message: ('case.bulkAssign.modal.cannotAssignSomeWarning' | translate),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-inline-notification>\n\n <form *ngIf=\"obs.canAssignAnyDocuments && obs.candidateUserItems\" [formGroup]=\"formGroup\">\n <cds-combo-box\n formControlName=\"assignee\"\n [dropUp]=\"false\"\n [items]=\"obs.candidateUserItems\"\n [label]=\"'case.bulkAssign.modal.selectLabel' | translate\"\n [placeholder]=\"'case.bulkAssign.modal.selectPlaceholder' | translate\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-combo-box\n *ngIf=\"obs.teamItems?.length\"\n formControlName=\"team\"\n [dropUp]=\"false\"\n [items]=\"obs.teamItems\"\n [label]=\"'case.bulkAssign.modal.selectTeamLabel' | translate\"\n [placeholder]=\"'case.bulkAssign.modal.selectPlaceholder' | translate\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </form>\n </ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container\n *ngIf=\"{\n canAssignAnyDocuments: canAssignAnyDocuments$ | async,\n } as obs\"\n >\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">{{ 'interface.cancel' | translate }}</button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"!isFormValid || !obs.canAssignAnyDocuments\"\n (click)=\"closeModal(true)\"\n >\n {{ 'case.bulkAssign.modal.confirm' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .valtimo-case-bulk-assign-modal .cds--modal-container,::ng-deep .valtimo-case-bulk-assign-modal .cds--modal-content{overflow:unset}form{display:flex;flex-direction:column;gap:1rem}\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"] }]
4354
- }], ctorParameters: () => [{ type: CaseBulkAssignService }, { type: i1$4.FormBuilder }, { type: i2$3.PermissionService }, { type: i5$2.TeamsApiService }], propDecorators: { modalClass: [{
4488
+ }], ctorParameters: () => [{ type: CaseBulkAssignService }, { type: i1$5.FormBuilder }, { type: i2$2.PermissionService }, { type: i5$2.TeamsApiService }], propDecorators: { modalClass: [{
4355
4489
  type: HostBinding,
4356
4490
  args: ['class']
4357
4491
  }], documentIds: [{
@@ -4483,8 +4617,8 @@ class CaseDetailTaskListComponent {
4483
4617
  ? { ...acc, myTasks: [...acc.myTasks, curr] }
4484
4618
  : { ...acc, otherTasks: [...acc.otherTasks, curr] }, { myTasks: [], otherTasks: [] });
4485
4619
  }
4486
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTaskListComponent, deps: [{ token: i2.DocumentService }, { token: i4$1.IconService }, { token: i1$2.ActivatedRoute }, { token: i2$3.PermissionService }, { token: i5.SseService }, { token: CaseDetailLayoutService }, { token: i3$3.ProcessLinkService }], target: i0.ɵɵFactoryTarget.Component }); }
4487
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseDetailTaskListComponent, isStandalone: true, selector: "valtimo-case-detail-task-list", inputs: { openTaskAndProcessLinkInModal: "openTaskAndProcessLinkInModal" }, outputs: { taskClickEvent: "taskClickEvent", formSubmitEvent: "formSubmitEvent" }, viewQueries: [{ propertyName: "_taskDetailModal", first: true, predicate: ["taskDetail"], 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<div\n class=\"task-list\"\n *ngIf=\"{loadingTasks: loadingTasks$ | async, tasks: processInstanceTasks$ | async} as obs\"\n>\n @if (obs.loadingTasks && !obs.tasks) {\n <ng-container *ngTemplateOutlet=\"loadingTasksTemplate\"></ng-container>\n } @else if (obs.tasks?.myTasks?.length === 0 && obs.tasks?.otherTasks?.length === 0) {\n <ng-container *ngTemplateOutlet=\"noTasksTemplate\"></ng-container>\n } @else {\n <h2 class=\"task-list__title\">{{ 'summary.tasks' | translate }}</h2>\n\n <div class=\"task-list__tasks-container\" cdsLayer=\"1\">\n <h3 class=\"task-list__subtitle\">{{ 'summary.myTasks' | translate }}</h3>\n\n @if (obs.tasks?.myTasks.length === 0) {\n {{ 'summary.noResultsMyTasks' | translate }}\n } @else {\n @for (taskWithProcessLink of obs.tasks?.myTasks; track taskWithProcessLink.task.id) {\n <ng-container\n *ngTemplateOutlet=\"taskTemplate; context: {taskWithProcessLink: taskWithProcessLink}\"\n ></ng-container>\n }\n }\n </div>\n\n <div class=\"task-list__tasks-container\" cdsLayer=\"1\">\n <h3 class=\"task-list__subtitle\">{{ 'summary.otherTasks' | translate }}</h3>\n\n @if (obs.tasks?.otherTasks.length === 0) {\n {{ 'summary.noResultsOtherTasks' | translate }}\n } @else {\n @for (taskWithProcessLink of obs.tasks?.otherTasks; track taskWithProcessLink.task.id) {\n <ng-container\n *ngTemplateOutlet=\"taskTemplate; context: {taskWithProcessLink: taskWithProcessLink}\"\n ></ng-container>\n }\n }\n </div>\n }\n\n <valtimo-task-detail-modal\n #taskDetail\n [openFromCaseManagement]=\"true\"\n [modalSize]=\"formSize$ | async\"\n (formSubmit)=\"onFormSubmit()\"\n (assignmentOfTaskChanged)=\"refresh()\"\n (dueDateChanged)=\"refresh()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #taskTemplate let-taskWithProcessLink=\"taskWithProcessLink\">\n <cds-clickable-tile [href]=\"null\" (click)=\"rowTaskClick(taskWithProcessLink)\">\n <div class=\"task\">\n <div class=\"task__header\">\n <span class=\"task__title\">{{ taskWithProcessLink.task.name }}</span>\n\n @if (!!taskWithProcessLink.task.assignedTeam || !!taskWithProcessLink.task.assignee) {\n <cds-tag\n class=\"cds-tag--no-margin\"\n [ngbTooltip]=\"getAssigneeTooltip(taskWithProcessLink.task) || ('summary.taskIsAssigned' | translate)\"\n [type]=\"'cool-gray'\"\n >\n @if (!!taskWithProcessLink.task.assignedTeam) {\n <svg cdsIcon=\"group\" size=\"20\"></svg>\n } @else {\n <svg cdsIcon=\"user--filled\" size=\"20\"></svg>\n }\n </cds-tag>\n }\n <cds-tag\n class=\"cds-tag--no-margin\"\n [type]=\"taskWithProcessLink.task.isLocked ? 'cool-gray' : 'green'\"\n >\n @if (!taskWithProcessLink.task.isLocked) {\n {{ 'summary.taskOpen' | translate }}\n } @else {\n <i class=\"icon mdi mdi-lock\"></i>\n }\n </cds-tag>\n </div>\n\n <div class=\"task__description\">\n {{ 'summary.taskCreated' | translate }} {{ taskWithProcessLink.task.created }}\n </div>\n\n <div class=\"task__subtitles\">\n @for (subtitle of taskWithProcessLink.task?.subtitles || []; track subtitle) {\n <p class=\"task__subtitle\">{{ subtitle }}</p>\n }\n </div>\n </div>\n </cds-clickable-tile>\n</ng-template>\n\n<ng-template #noTasksTemplate>\n <valtimo-no-results\n [alwaysRenderVertically]=\"true\"\n illustration=\"valtimo-layout/img/emptystate-success.svg\"\n [description]=\"'summary.userTasksDoneState' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n</ng-template>\n\n<ng-template #loadingTasksTemplate>\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n", styles: [".task-list{width:100%;background-color:var(--cds-layer);padding:24px;display:flex;flex-direction:column;gap:16px}.task-list__title{font-size:24px;line-height:24px;font-weight:600}.task-list__subtitle{font-size:16px;line-height:16px;font-weight:600}.task-list__tasks-container,.task{display:flex;flex-direction:column;gap:8px}.task__header{display:flex;justify-content:space-between;align-items:center;gap:8px}.task__header .cds--tag{margin:0;white-space:pre}.task__title{flex:1;font-size:14px;font-weight:600;line-height:20px;letter-spacing:.16px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.task__subtitle{font-size:12px;font-weight:400;line-height:16px;letter-spacing:.32px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task__subtitles{display:flex;flex-direction:column;gap:4px}.task__description{font-size:12px;font-weight:400;line-height:16px;letter-spacing:.32px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.loading-container{width:100%;display:flex;justify-content:center}\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: NgbTooltipModule }, { kind: "directive", type: i6$1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: WidgetModule }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: TaskModule }, { kind: "component", type: i5$3.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", inputs: ["modalSize", "openFromCaseManagement"], outputs: ["formSubmit", "assignmentOfTaskChanged", "dueDateChanged", "modalClosed"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i4$1.ClickableTile, selector: "cds-clickable-tile, ibm-clickable-tile", inputs: ["theme", "href", "target", "rel", "disabled", "route", "routeExtras"], outputs: ["navigation"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i4$1.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }] }); }
4620
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTaskListComponent, deps: [{ token: i1$2.DocumentService }, { token: i4$1.IconService }, { token: i1$3.ActivatedRoute }, { token: i2$2.PermissionService }, { token: i5.SseService }, { token: CaseDetailLayoutService }, { token: i3$3.ProcessLinkService }], target: i0.ɵɵFactoryTarget.Component }); }
4621
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseDetailTaskListComponent, isStandalone: true, selector: "valtimo-case-detail-task-list", inputs: { openTaskAndProcessLinkInModal: "openTaskAndProcessLinkInModal" }, outputs: { taskClickEvent: "taskClickEvent", formSubmitEvent: "formSubmitEvent" }, viewQueries: [{ propertyName: "_taskDetailModal", first: true, predicate: ["taskDetail"], 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<div\n class=\"task-list\"\n *ngIf=\"{loadingTasks: loadingTasks$ | async, tasks: processInstanceTasks$ | async} as obs\"\n>\n @if (obs.loadingTasks && !obs.tasks) {\n <ng-container *ngTemplateOutlet=\"loadingTasksTemplate\"></ng-container>\n } @else if (obs.tasks?.myTasks?.length === 0 && obs.tasks?.otherTasks?.length === 0) {\n <ng-container *ngTemplateOutlet=\"noTasksTemplate\"></ng-container>\n } @else {\n <h2 class=\"task-list__title\">{{ 'summary.tasks' | translate }}</h2>\n\n <div class=\"task-list__tasks-container\" cdsLayer=\"1\">\n <h3 class=\"task-list__subtitle\">{{ 'summary.myTasks' | translate }}</h3>\n\n @if (obs.tasks?.myTasks.length === 0) {\n {{ 'summary.noResultsMyTasks' | translate }}\n } @else {\n @for (taskWithProcessLink of obs.tasks?.myTasks; track taskWithProcessLink.task.id) {\n <ng-container\n *ngTemplateOutlet=\"taskTemplate; context: {taskWithProcessLink: taskWithProcessLink}\"\n ></ng-container>\n }\n }\n </div>\n\n <div class=\"task-list__tasks-container\" cdsLayer=\"1\">\n <h3 class=\"task-list__subtitle\">{{ 'summary.otherTasks' | translate }}</h3>\n\n @if (obs.tasks?.otherTasks.length === 0) {\n {{ 'summary.noResultsOtherTasks' | translate }}\n } @else {\n @for (taskWithProcessLink of obs.tasks?.otherTasks; track taskWithProcessLink.task.id) {\n <ng-container\n *ngTemplateOutlet=\"taskTemplate; context: {taskWithProcessLink: taskWithProcessLink}\"\n ></ng-container>\n }\n }\n </div>\n }\n\n <valtimo-task-detail-modal\n #taskDetail\n [openFromCaseManagement]=\"true\"\n [modalSize]=\"formSize$ | async\"\n (formSubmit)=\"onFormSubmit()\"\n (assignmentOfTaskChanged)=\"refresh()\"\n (dueDateChanged)=\"refresh()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #taskTemplate let-taskWithProcessLink=\"taskWithProcessLink\">\n <cds-clickable-tile [href]=\"null\" (click)=\"rowTaskClick(taskWithProcessLink)\">\n <div class=\"task\">\n <div class=\"task__header\">\n <span class=\"task__title\">{{ taskWithProcessLink.task.name }}</span>\n\n @if (!!taskWithProcessLink.task.assignedTeam || !!taskWithProcessLink.task.assignee) {\n <cds-tag\n class=\"cds-tag--no-margin\"\n [ngbTooltip]=\"getAssigneeTooltip(taskWithProcessLink.task) || ('summary.taskIsAssigned' | translate)\"\n [type]=\"'cool-gray'\"\n >\n @if (!!taskWithProcessLink.task.assignedTeam) {\n <svg cdsIcon=\"group\" size=\"20\"></svg>\n } @else {\n <svg cdsIcon=\"user--filled\" size=\"20\"></svg>\n }\n </cds-tag>\n }\n <cds-tag\n class=\"cds-tag--no-margin\"\n [type]=\"taskWithProcessLink.task.isLocked ? 'cool-gray' : 'green'\"\n >\n @if (!taskWithProcessLink.task.isLocked) {\n {{ 'summary.taskOpen' | translate }}\n } @else {\n <i class=\"icon mdi mdi-lock\"></i>\n }\n </cds-tag>\n </div>\n\n <div class=\"task__description\">\n {{ 'summary.taskCreated' | translate }} {{ taskWithProcessLink.task.created }}\n </div>\n\n <div class=\"task__subtitles\">\n @for (subtitle of taskWithProcessLink.task?.subtitles || []; track subtitle) {\n <p class=\"task__subtitle\">{{ subtitle }}</p>\n }\n </div>\n </div>\n </cds-clickable-tile>\n</ng-template>\n\n<ng-template #noTasksTemplate>\n <valtimo-no-results\n [alwaysRenderVertically]=\"true\"\n illustration=\"valtimo-layout/img/emptystate-success.svg\"\n [description]=\"'summary.userTasksDoneState' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n</ng-template>\n\n<ng-template #loadingTasksTemplate>\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n", styles: [".task-list{width:100%;background-color:var(--cds-layer);padding:24px;display:flex;flex-direction:column;gap:16px}.task-list__title{font-size:24px;line-height:24px;font-weight:600}.task-list__subtitle{font-size:16px;line-height:16px;font-weight:600}.task-list__tasks-container,.task{display:flex;flex-direction:column;gap:8px}.task__header{display:flex;justify-content:space-between;align-items:center;gap:8px}.task__header .cds--tag{margin:0;white-space:pre}.task__title{flex:1;font-size:14px;font-weight:600;line-height:20px;letter-spacing:.16px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.task__subtitle{font-size:12px;font-weight:400;line-height:16px;letter-spacing:.32px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task__subtitles{display:flex;flex-direction:column;gap:4px}.task__description{font-size:12px;font-weight:400;line-height:16px;letter-spacing:.32px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.loading-container{width:100%;display:flex;justify-content:center}\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: NgbTooltipModule }, { kind: "directive", type: i6$1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: WidgetModule }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: TaskModule }, { kind: "component", type: i5$3.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", inputs: ["modalSize", "openFromCaseManagement"], outputs: ["formSubmit", "assignmentOfTaskChanged", "dueDateChanged", "modalClosed"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i4$1.ClickableTile, selector: "cds-clickable-tile, ibm-clickable-tile", inputs: ["theme", "href", "target", "rel", "disabled", "route", "routeExtras"], outputs: ["navigation"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i4$1.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }] }); }
4488
4622
  }
4489
4623
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailTaskListComponent, decorators: [{
4490
4624
  type: Component,
@@ -4501,7 +4635,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4501
4635
  CarbonListModule,
4502
4636
  IconModule,
4503
4637
  ], 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 class=\"task-list\"\n *ngIf=\"{loadingTasks: loadingTasks$ | async, tasks: processInstanceTasks$ | async} as obs\"\n>\n @if (obs.loadingTasks && !obs.tasks) {\n <ng-container *ngTemplateOutlet=\"loadingTasksTemplate\"></ng-container>\n } @else if (obs.tasks?.myTasks?.length === 0 && obs.tasks?.otherTasks?.length === 0) {\n <ng-container *ngTemplateOutlet=\"noTasksTemplate\"></ng-container>\n } @else {\n <h2 class=\"task-list__title\">{{ 'summary.tasks' | translate }}</h2>\n\n <div class=\"task-list__tasks-container\" cdsLayer=\"1\">\n <h3 class=\"task-list__subtitle\">{{ 'summary.myTasks' | translate }}</h3>\n\n @if (obs.tasks?.myTasks.length === 0) {\n {{ 'summary.noResultsMyTasks' | translate }}\n } @else {\n @for (taskWithProcessLink of obs.tasks?.myTasks; track taskWithProcessLink.task.id) {\n <ng-container\n *ngTemplateOutlet=\"taskTemplate; context: {taskWithProcessLink: taskWithProcessLink}\"\n ></ng-container>\n }\n }\n </div>\n\n <div class=\"task-list__tasks-container\" cdsLayer=\"1\">\n <h3 class=\"task-list__subtitle\">{{ 'summary.otherTasks' | translate }}</h3>\n\n @if (obs.tasks?.otherTasks.length === 0) {\n {{ 'summary.noResultsOtherTasks' | translate }}\n } @else {\n @for (taskWithProcessLink of obs.tasks?.otherTasks; track taskWithProcessLink.task.id) {\n <ng-container\n *ngTemplateOutlet=\"taskTemplate; context: {taskWithProcessLink: taskWithProcessLink}\"\n ></ng-container>\n }\n }\n </div>\n }\n\n <valtimo-task-detail-modal\n #taskDetail\n [openFromCaseManagement]=\"true\"\n [modalSize]=\"formSize$ | async\"\n (formSubmit)=\"onFormSubmit()\"\n (assignmentOfTaskChanged)=\"refresh()\"\n (dueDateChanged)=\"refresh()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #taskTemplate let-taskWithProcessLink=\"taskWithProcessLink\">\n <cds-clickable-tile [href]=\"null\" (click)=\"rowTaskClick(taskWithProcessLink)\">\n <div class=\"task\">\n <div class=\"task__header\">\n <span class=\"task__title\">{{ taskWithProcessLink.task.name }}</span>\n\n @if (!!taskWithProcessLink.task.assignedTeam || !!taskWithProcessLink.task.assignee) {\n <cds-tag\n class=\"cds-tag--no-margin\"\n [ngbTooltip]=\"getAssigneeTooltip(taskWithProcessLink.task) || ('summary.taskIsAssigned' | translate)\"\n [type]=\"'cool-gray'\"\n >\n @if (!!taskWithProcessLink.task.assignedTeam) {\n <svg cdsIcon=\"group\" size=\"20\"></svg>\n } @else {\n <svg cdsIcon=\"user--filled\" size=\"20\"></svg>\n }\n </cds-tag>\n }\n <cds-tag\n class=\"cds-tag--no-margin\"\n [type]=\"taskWithProcessLink.task.isLocked ? 'cool-gray' : 'green'\"\n >\n @if (!taskWithProcessLink.task.isLocked) {\n {{ 'summary.taskOpen' | translate }}\n } @else {\n <i class=\"icon mdi mdi-lock\"></i>\n }\n </cds-tag>\n </div>\n\n <div class=\"task__description\">\n {{ 'summary.taskCreated' | translate }} {{ taskWithProcessLink.task.created }}\n </div>\n\n <div class=\"task__subtitles\">\n @for (subtitle of taskWithProcessLink.task?.subtitles || []; track subtitle) {\n <p class=\"task__subtitle\">{{ subtitle }}</p>\n }\n </div>\n </div>\n </cds-clickable-tile>\n</ng-template>\n\n<ng-template #noTasksTemplate>\n <valtimo-no-results\n [alwaysRenderVertically]=\"true\"\n illustration=\"valtimo-layout/img/emptystate-success.svg\"\n [description]=\"'summary.userTasksDoneState' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n</ng-template>\n\n<ng-template #loadingTasksTemplate>\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n", styles: [".task-list{width:100%;background-color:var(--cds-layer);padding:24px;display:flex;flex-direction:column;gap:16px}.task-list__title{font-size:24px;line-height:24px;font-weight:600}.task-list__subtitle{font-size:16px;line-height:16px;font-weight:600}.task-list__tasks-container,.task{display:flex;flex-direction:column;gap:8px}.task__header{display:flex;justify-content:space-between;align-items:center;gap:8px}.task__header .cds--tag{margin:0;white-space:pre}.task__title{flex:1;font-size:14px;font-weight:600;line-height:20px;letter-spacing:.16px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.task__subtitle{font-size:12px;font-weight:400;line-height:16px;letter-spacing:.32px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task__subtitles{display:flex;flex-direction:column;gap:4px}.task__description{font-size:12px;font-weight:400;line-height:16px;letter-spacing:.32px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.loading-container{width:100%;display:flex;justify-content:center}\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"] }]
4504
- }], ctorParameters: () => [{ type: i2.DocumentService }, { type: i4$1.IconService }, { type: i1$2.ActivatedRoute }, { type: i2$3.PermissionService }, { type: i5.SseService }, { type: CaseDetailLayoutService }, { type: i3$3.ProcessLinkService }], propDecorators: { _taskDetailModal: [{
4638
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i4$1.IconService }, { type: i1$3.ActivatedRoute }, { type: i2$2.PermissionService }, { type: i5.SseService }, { type: CaseDetailLayoutService }, { type: i3$3.ProcessLinkService }], propDecorators: { _taskDetailModal: [{
4505
4639
  type: ViewChild,
4506
4640
  args: ['taskDetail']
4507
4641
  }], openTaskAndProcessLinkInModal: [{
@@ -4641,7 +4775,7 @@ class CaseDetailsTaskDetailComponent {
4641
4775
  onFormSubmitEvent() {
4642
4776
  this.formSubmit.emit();
4643
4777
  }
4644
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailsTaskDetailComponent, deps: [{ token: i1.ConfigService }, { token: i2$1.PageHeaderService }, { token: i2$3.PermissionService }, { token: i4.TranslateService }, { token: i5$3.TaskService }], target: i0.ɵɵFactoryTarget.Component }); }
4778
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailsTaskDetailComponent, deps: [{ token: i1.ConfigService }, { token: i2.PageHeaderService }, { token: i2$2.PermissionService }, { token: i4.TranslateService }, { token: i5$3.TaskService }], target: i0.ɵɵFactoryTarget.Component }); }
4645
4779
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseDetailsTaskDetailComponent, isStandalone: true, selector: "valtimo-case-detail-task-detail", inputs: { taskAndProcessLink: "taskAndProcessLink" }, outputs: { closeEvent: "closeEvent", assignmentOfTaskChanged: "assignmentOfTaskChanged", dueDateChanged: "dueDateChanged", activeChange: "activeChange", formSubmit: "formSubmit" }, 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 canAssignUserToTask: canAssignUserToTask$ | async,\n intermediateSaveValue: intermediateSaveValue$ | async,\n task: task$ | async,\n taskAndProcessLink: taskAndProcessLink$ | async,\n canModifyTask: canModifyTask$ | async,\n } as obs\"\n class=\"valtimo-case-detail-task-detail\"\n>\n <section class=\"valtimo-case-detail-task-detail__header\">\n <valtimo-task-detail-intermediate-save\n *ngIf=\"enableIntermediateSave$ | async\"\n [taskAndProcessLink]=\"obs.taskAndProcessLink\"\n (currentIntermediateSaveEvent)=\"onCurrentIntermediateSaveEvent($event)\"\n ></valtimo-task-detail-intermediate-save>\n\n <button cdsButton=\"ghost\" [iconOnly]=\"true\" (click)=\"onClose()\">\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </section>\n\n <section\n class=\"valtimo-case-detail-task-detail__body\"\n [class.valtimo-case-detail-task-detail__body--compact]=\"compactMode$ | async\"\n >\n <div class=\"title-container\">\n <p class=\"valtimo-case-detail-task-detail__title\">{{ pageValue()?.title }}</p>\n\n <p class=\"cds--modal-header__label cds--type-delta\">{{ pageValue()?.subtitle }}</p>\n\n <p *ngIf=\"obs.intermediateSaveValue\" class=\"cds--modal-header__label\">\n {{ 'formManagement.intermediateSave.lastSavedBy' | translate }}:\n\n {{\n obs.intermediateSaveValue.editedBy\n ? obs.intermediateSaveValue.editedBy\n : obs.intermediateSaveValue.createdBy\n }}\n\n {{ 'formManagement.intermediateSave.on' | translate }}:\n\n {{\n obs.intermediateSaveValue.editedOn\n ? obs.intermediateSaveValue.editedOn\n : obs.intermediateSaveValue.createdOn\n }}\n </p>\n\n <div class=\"task-actions\">\n @if (obs.task) {\n <valtimo-assignment\n mode=\"task\"\n [assigneeId]=\"obs.task.assignee\"\n [assigneeFullName]=\"obs.task.valtimoAssignee?.fullName\"\n [assignedTeamKey]=\"obs.task.assignedTeam?.key\"\n [assignedTeamTitle]=\"obs.task.assignedTeam?.title\"\n [hasPermission]=\"obs.canAssignUserToTask\"\n [candidateUsers$]=\"candidateUsers$\"\n [candidateTeams$]=\"candidateTeams$\"\n (assignmentChangedEvent)=\"onAssignmentChanged($event)\"\n (unassignedEvent)=\"onUnassigned()\"\n ></valtimo-assignment>\n\n <valtimo-set-task-due-date\n [task]=\"obs.task\"\n [canModifyTask]=\"obs.canModifyTask\"\n (dueDateChanged)=\"onDueDateChanged()\"\n ></valtimo-set-task-due-date>\n }\n </div>\n </div>\n\n <valtimo-task-detail-content\n [taskAndProcessLink]=\"obs.taskAndProcessLink\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (formSubmit)=\"onFormSubmitEvent()\"\n ></valtimo-task-detail-content>\n </section>\n</div>\n", styles: [".valtimo-case-detail-task-detail{width:100%;display:flex;flex-direction:column;background-color:var(--cds-layer);padding:8px 16px 16px}.valtimo-case-detail-task-detail__header{display:flex;justify-content:flex-end}.valtimo-case-detail-task-detail__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-case-detail-task-detail__body{overflow-y:auto;max-height:calc(100vh - 320px)}.valtimo-case-detail-task-detail__body--compact{max-height:calc(100vh - 280px)}.valtimo-case-detail-task-detail__body .title-container{position:sticky;background-color:var(--cds-layer);top:0;z-index:12;padding-bottom:16px}.valtimo-case-detail-task-detail .task-actions{display:flex;flex-wrap:wrap;width:100%;padding-top:8px;gap:8px}\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: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: TaskDetailContentComponent, selector: "valtimo-task-detail-content", inputs: ["task", "taskAndProcessLink", "modalClosed"], outputs: ["closeModalEvent", "formSubmit", "activeChange", "taskUpdated"] }, { kind: "component", type: TaskDetailIntermediateSaveComponent, selector: "valtimo-task-detail-intermediate-save", inputs: ["task", "taskAndProcessLink"], outputs: ["currentIntermediateSaveEvent", "showModalEvent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: AssignmentComponent, selector: "valtimo-assignment", inputs: ["mode", "hasPermission", "assigneeId", "assigneeFullName", "assignedTeamKey", "assignedTeamTitle", "candidateUsers$", "candidateTeams$"], outputs: ["assignmentChangedEvent", "unassignedEvent"] }, { kind: "component", type: SetTaskDueDateComponent, selector: "valtimo-set-task-due-date", inputs: ["canModifyTask", "task"], outputs: ["dueDateChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4646
4780
  }
4647
4781
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailsTaskDetailComponent, decorators: [{
@@ -4656,7 +4790,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4656
4790
  AssignmentComponent,
4657
4791
  SetTaskDueDateComponent,
4658
4792
  ], 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 canAssignUserToTask: canAssignUserToTask$ | async,\n intermediateSaveValue: intermediateSaveValue$ | async,\n task: task$ | async,\n taskAndProcessLink: taskAndProcessLink$ | async,\n canModifyTask: canModifyTask$ | async,\n } as obs\"\n class=\"valtimo-case-detail-task-detail\"\n>\n <section class=\"valtimo-case-detail-task-detail__header\">\n <valtimo-task-detail-intermediate-save\n *ngIf=\"enableIntermediateSave$ | async\"\n [taskAndProcessLink]=\"obs.taskAndProcessLink\"\n (currentIntermediateSaveEvent)=\"onCurrentIntermediateSaveEvent($event)\"\n ></valtimo-task-detail-intermediate-save>\n\n <button cdsButton=\"ghost\" [iconOnly]=\"true\" (click)=\"onClose()\">\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </section>\n\n <section\n class=\"valtimo-case-detail-task-detail__body\"\n [class.valtimo-case-detail-task-detail__body--compact]=\"compactMode$ | async\"\n >\n <div class=\"title-container\">\n <p class=\"valtimo-case-detail-task-detail__title\">{{ pageValue()?.title }}</p>\n\n <p class=\"cds--modal-header__label cds--type-delta\">{{ pageValue()?.subtitle }}</p>\n\n <p *ngIf=\"obs.intermediateSaveValue\" class=\"cds--modal-header__label\">\n {{ 'formManagement.intermediateSave.lastSavedBy' | translate }}:\n\n {{\n obs.intermediateSaveValue.editedBy\n ? obs.intermediateSaveValue.editedBy\n : obs.intermediateSaveValue.createdBy\n }}\n\n {{ 'formManagement.intermediateSave.on' | translate }}:\n\n {{\n obs.intermediateSaveValue.editedOn\n ? obs.intermediateSaveValue.editedOn\n : obs.intermediateSaveValue.createdOn\n }}\n </p>\n\n <div class=\"task-actions\">\n @if (obs.task) {\n <valtimo-assignment\n mode=\"task\"\n [assigneeId]=\"obs.task.assignee\"\n [assigneeFullName]=\"obs.task.valtimoAssignee?.fullName\"\n [assignedTeamKey]=\"obs.task.assignedTeam?.key\"\n [assignedTeamTitle]=\"obs.task.assignedTeam?.title\"\n [hasPermission]=\"obs.canAssignUserToTask\"\n [candidateUsers$]=\"candidateUsers$\"\n [candidateTeams$]=\"candidateTeams$\"\n (assignmentChangedEvent)=\"onAssignmentChanged($event)\"\n (unassignedEvent)=\"onUnassigned()\"\n ></valtimo-assignment>\n\n <valtimo-set-task-due-date\n [task]=\"obs.task\"\n [canModifyTask]=\"obs.canModifyTask\"\n (dueDateChanged)=\"onDueDateChanged()\"\n ></valtimo-set-task-due-date>\n }\n </div>\n </div>\n\n <valtimo-task-detail-content\n [taskAndProcessLink]=\"obs.taskAndProcessLink\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (formSubmit)=\"onFormSubmitEvent()\"\n ></valtimo-task-detail-content>\n </section>\n</div>\n", styles: [".valtimo-case-detail-task-detail{width:100%;display:flex;flex-direction:column;background-color:var(--cds-layer);padding:8px 16px 16px}.valtimo-case-detail-task-detail__header{display:flex;justify-content:flex-end}.valtimo-case-detail-task-detail__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-case-detail-task-detail__body{overflow-y:auto;max-height:calc(100vh - 320px)}.valtimo-case-detail-task-detail__body--compact{max-height:calc(100vh - 280px)}.valtimo-case-detail-task-detail__body .title-container{position:sticky;background-color:var(--cds-layer);top:0;z-index:12;padding-bottom:16px}.valtimo-case-detail-task-detail .task-actions{display:flex;flex-wrap:wrap;width:100%;padding-top:8px;gap:8px}\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"] }]
4659
- }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2$1.PageHeaderService }, { type: i2$3.PermissionService }, { type: i4.TranslateService }, { type: i5$3.TaskService }], propDecorators: { taskAndProcessLink: [{
4793
+ }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.PageHeaderService }, { type: i2$2.PermissionService }, { type: i4.TranslateService }, { type: i5$3.TaskService }], propDecorators: { taskAndProcessLink: [{
4660
4794
  type: Input
4661
4795
  }], closeEvent: [{
4662
4796
  type: Output
@@ -4724,13 +4858,13 @@ class CaseDetailHeaderWidgetComponent {
4724
4858
  onNoVisibleFields(noVisibleFields) {
4725
4859
  this.$noVisibleFields.set(noVisibleFields);
4726
4860
  }
4727
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailHeaderWidgetComponent, deps: [{ token: CaseHeaderWidgetApiService }, { token: i1$2.ActivatedRoute }, { token: i2$3.PermissionService }, { token: i2$1.CdsThemeService }, { token: i5.SseService }], target: i0.ɵɵFactoryTarget.Component }); }
4861
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailHeaderWidgetComponent, deps: [{ token: CaseHeaderWidgetApiService }, { token: i1$3.ActivatedRoute }, { token: i2$2.PermissionService }, { token: i2.CdsThemeService }, { token: i5.SseService }], target: i0.ɵɵFactoryTarget.Component }); }
4728
4862
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseDetailHeaderWidgetComponent, isStandalone: true, selector: "valtimo-case-detail-header-widget", 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 (canViewCaseHeaderWidget$ | async) {\n <ng-container\n *ngIf=\"{\n headerWidget: headerWidget$ | async,\n headerWidgetData: headerWidgetData$ | async,\n theme: theme$ | async,\n } as obs\"\n >\n <div\n *ngIf=\"obs.headerWidget\"\n class=\"header-widget-container\"\n [attr.data-carbon-theme]=\"obs.theme\"\n [style.display]=\"$noVisibleFields() && 'none'\"\n >\n @if (!obs.headerWidgetData) {\n <div class=\"header-widget-container__loader\"><cds-loading size=\"sm\"></cds-loading></div>\n } @else {\n <valtimo-widget-field\n class=\"valtimo-widget-field--compact\"\n [cdsLayer]=\"1\"\n [widgetConfiguration]=\"obs.headerWidget\"\n [widgetData]=\"obs.headerWidgetData\"\n (noVisibleFieldsEvent)=\"onNoVisibleFields($event)\"\n ></valtimo-widget-field>\n }\n </div>\n </ng-container>\n}\n", styles: [".header-widget-container{display:flex;width:100%;justify-content:center;background:var(--cds-layer);margin-top:16px;margin-bottom:16px}.header-widget-container__loader{margin: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: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "component", type: WidgetFieldComponent, selector: "valtimo-widget-field", inputs: ["widgetConfiguration", "widgetData"], outputs: ["noVisibleFieldsEvent"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: InputModule }] }); }
4729
4863
  }
4730
4864
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailHeaderWidgetComponent, decorators: [{
4731
4865
  type: Component,
4732
4866
  args: [{ standalone: true, selector: 'valtimo-case-detail-header-widget', imports: [CommonModule, WidgetFieldComponent, LoadingModule, LayerModule, InputModule], 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 (canViewCaseHeaderWidget$ | async) {\n <ng-container\n *ngIf=\"{\n headerWidget: headerWidget$ | async,\n headerWidgetData: headerWidgetData$ | async,\n theme: theme$ | async,\n } as obs\"\n >\n <div\n *ngIf=\"obs.headerWidget\"\n class=\"header-widget-container\"\n [attr.data-carbon-theme]=\"obs.theme\"\n [style.display]=\"$noVisibleFields() && 'none'\"\n >\n @if (!obs.headerWidgetData) {\n <div class=\"header-widget-container__loader\"><cds-loading size=\"sm\"></cds-loading></div>\n } @else {\n <valtimo-widget-field\n class=\"valtimo-widget-field--compact\"\n [cdsLayer]=\"1\"\n [widgetConfiguration]=\"obs.headerWidget\"\n [widgetData]=\"obs.headerWidgetData\"\n (noVisibleFieldsEvent)=\"onNoVisibleFields($event)\"\n ></valtimo-widget-field>\n }\n </div>\n </ng-container>\n}\n", styles: [".header-widget-container{display:flex;width:100%;justify-content:center;background:var(--cds-layer);margin-top:16px;margin-bottom:16px}.header-widget-container__loader{margin: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"] }]
4733
- }], ctorParameters: () => [{ type: CaseHeaderWidgetApiService }, { type: i1$2.ActivatedRoute }, { type: i2$3.PermissionService }, { type: i2$1.CdsThemeService }, { type: i5.SseService }] });
4867
+ }], ctorParameters: () => [{ type: CaseHeaderWidgetApiService }, { type: i1$3.ActivatedRoute }, { type: i2$2.PermissionService }, { type: i2.CdsThemeService }, { type: i5.SseService }] });
4734
4868
 
4735
4869
  /*
4736
4870
  * Copyright 2015-2025 Ritense BV, the Netherlands.
@@ -4778,6 +4912,8 @@ class CaseSupportingProcessStartModalComponent {
4778
4912
  this._buildingBlockDefinitionKey = null;
4779
4913
  this._buildingBlockDefinitionVersionTag = null;
4780
4914
  this.closeModalEvent = new EventEmitter();
4915
+ this.showDraftConfirmation$ = new BehaviorSubject(false);
4916
+ this._pendingStartableItem = null;
4781
4917
  this.modalTitle$ = combineLatest([
4782
4918
  this.processDefinitionKey$,
4783
4919
  this.processName$,
@@ -4857,6 +4993,34 @@ class CaseSupportingProcessStartModalComponent {
4857
4993
  this.modalSize$.next(formSize ? formSizeToCarbonModalSizeMap[formSize] : DEFAULT_START_MODAL_SIZE$1);
4858
4994
  }
4859
4995
  openModalForStartableItem(item, documentId, caseDefinitionKey, caseDefinitionVersionTag, panelAvailable = false) {
4996
+ if (item.draft) {
4997
+ this._pendingStartableItem = {
4998
+ item,
4999
+ documentId,
5000
+ caseDefinitionKey,
5001
+ caseDefinitionVersionTag,
5002
+ panelAvailable,
5003
+ };
5004
+ this.showDraftConfirmation$.next(true);
5005
+ return;
5006
+ }
5007
+ this._pendingStartableItem = null;
5008
+ this.showDraftConfirmation$.next(false);
5009
+ this.proceedWithStartableItem(item, documentId, caseDefinitionKey, caseDefinitionVersionTag, panelAvailable);
5010
+ }
5011
+ onDraftConfirmationConfirm() {
5012
+ this.showDraftConfirmation$.next(false);
5013
+ if (this._pendingStartableItem) {
5014
+ const { item, documentId, caseDefinitionKey, caseDefinitionVersionTag, panelAvailable } = this._pendingStartableItem;
5015
+ this._pendingStartableItem = null;
5016
+ this.proceedWithStartableItem(item, documentId, caseDefinitionKey, caseDefinitionVersionTag, panelAvailable);
5017
+ }
5018
+ }
5019
+ onDraftConfirmationCancel() {
5020
+ this.showDraftConfirmation$.next(false);
5021
+ this._pendingStartableItem = null;
5022
+ }
5023
+ proceedWithStartableItem(item, documentId, caseDefinitionKey, caseDefinitionVersionTag, panelAvailable = false) {
4860
5024
  // Reset any panel left open by a previous start so its content does not linger.
4861
5025
  this.closeStartForm();
4862
5026
  this._panelAvailable = panelAvailable;
@@ -4992,13 +5156,13 @@ class CaseSupportingProcessStartModalComponent {
4992
5156
  openCdsModal() {
4993
5157
  this.modalOpen$.next(true);
4994
5158
  }
4995
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseSupportingProcessStartModalComponent, deps: [{ token: i1$2.Router }, { token: i2$2.ProcessService }, { token: i3$3.ProcessLinkService }, { token: i4.TranslateService }, { token: CaseDetailLayoutService }, { token: FORM_VIEW_MODEL_TOKEN, optional: true }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
4996
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseSupportingProcessStartModalComponent, isStandalone: false, selector: "valtimo-case-supporting-process-start-modal", inputs: { isAdmin: "isAdmin" }, outputs: { formSubmit: "formSubmit" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "formViewModelDynamicContainer", first: true, predicate: ["formViewModelComponent"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "formCustomComponentDynamicContainer", first: true, predicate: ["formCustomComponent"], descendants: true, read: ViewContainerRef }, { propertyName: "startFormTemplate", first: true, predicate: ["startForm"], 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<cds-modal\n [open]=\"modalOpen$ | async\"\n valtimoCdsModal\n [size]=\"modalSize$ | async\"\n [minContentHeight]=\"480\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\" [cdsLayer]=\"1\"\n ><h3 cdsModalHeaderHeading>\n {{ modalTitle$ | async }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-template #formViewModelComponent></ng-template>\n <ng-template #formCustomComponent></ng-template>\n\n @if (modalOpen$ | async) {\n <ng-container *ngTemplateOutlet=\"startForm\"></ng-container>\n }\n </section>\n</cds-modal>\n\n<ng-template #startForm>\n @if (isLoading$ | async) {\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form' &&\n (formDefinition$ | async)\n ) {\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition$ | async\"\n [options]=\"options$ | async\"\n [errors]=\"formErrors$ | async\"\n (submit)=\"onSubmit($event)\"\n ></valtimo-form-io>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form-flow' &&\n (formFlowInstanceId$ | async)\n ) {\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId$ | async\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n }\n\n @if (\n !(isLoading$ | async) &&\n !(formDefinition$ | async) &&\n !(formFlowInstanceId$ | async) &&\n (startProcessLinkType$ | async) !== 'ui-component'\n ) {\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n isAdmin\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n }\n</ng-template>\n", styles: ["#supportingProcessStartModal .formio-component-submit{text-align:right}.loading-container{width:100%;display:flex;justify-content:center}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "errors", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i3$3.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete", "formFlowChange"] }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i2$1.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
5159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseSupportingProcessStartModalComponent, deps: [{ token: i1$3.Router }, { token: i2$1.ProcessService }, { token: i3$3.ProcessLinkService }, { token: i4.TranslateService }, { token: CaseDetailLayoutService }, { token: FORM_VIEW_MODEL_TOKEN, optional: true }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
5160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseSupportingProcessStartModalComponent, isStandalone: false, selector: "valtimo-case-supporting-process-start-modal", inputs: { isAdmin: "isAdmin" }, outputs: { formSubmit: "formSubmit" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "formViewModelDynamicContainer", first: true, predicate: ["formViewModelComponent"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "formCustomComponentDynamicContainer", first: true, predicate: ["formCustomComponent"], descendants: true, read: ViewContainerRef }, { propertyName: "startFormTemplate", first: true, predicate: ["startForm"], 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<cds-modal\n [open]=\"modalOpen$ | async\"\n valtimoCdsModal\n [size]=\"modalSize$ | async\"\n [minContentHeight]=\"480\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\" [cdsLayer]=\"1\"\n ><h3 cdsModalHeaderHeading>\n {{ modalTitle$ | async }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-template #formViewModelComponent></ng-template>\n <ng-template #formCustomComponent></ng-template>\n\n @if (modalOpen$ | async) {\n <ng-container *ngTemplateOutlet=\"startForm\"></ng-container>\n }\n </section>\n</cds-modal>\n\n<ng-template #startForm>\n @if (isLoading$ | async) {\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form' &&\n (formDefinition$ | async)\n ) {\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition$ | async\"\n [options]=\"options$ | async\"\n [errors]=\"formErrors$ | async\"\n (submit)=\"onSubmit($event)\"\n ></valtimo-form-io>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form-flow' &&\n (formFlowInstanceId$ | async)\n ) {\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId$ | async\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n }\n\n @if (\n !(isLoading$ | async) &&\n !(formDefinition$ | async) &&\n !(formFlowInstanceId$ | async) &&\n (startProcessLinkType$ | async) !== 'ui-component'\n ) {\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n isAdmin\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n }\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.draftProcessConfirmation.confirm\"\n [showModalSubject$]=\"showDraftConfirmation$\"\n titleTranslationKey=\"case.draftProcessConfirmation.title\"\n (confirmEvent)=\"onDraftConfirmationConfirm()\"\n (cancelEvent)=\"onDraftConfirmationCancel()\"\n>\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'case.draftProcessConfirmation.warningTitle' | translate,\n message: 'case.draftProcessConfirmation.warningDescription' | translate,\n showClose: false,\n lowContrast: true\n }\"\n ></cds-notification>\n</valtimo-confirmation-modal>\n", styles: ["#supportingProcessStartModal .formio-component-submit{text-align:right}.loading-container{width:100%;display:flex;justify-content:center}.full-width-notification{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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "errors", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i3$3.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete", "formFlowChange"] }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2.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: i2.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i4$1.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
4997
5161
  }
4998
5162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseSupportingProcessStartModalComponent, decorators: [{
4999
5163
  type: Component,
5000
- args: [{ standalone: false, selector: 'valtimo-case-supporting-process-start-modal', 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\n [open]=\"modalOpen$ | async\"\n valtimoCdsModal\n [size]=\"modalSize$ | async\"\n [minContentHeight]=\"480\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\" [cdsLayer]=\"1\"\n ><h3 cdsModalHeaderHeading>\n {{ modalTitle$ | async }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-template #formViewModelComponent></ng-template>\n <ng-template #formCustomComponent></ng-template>\n\n @if (modalOpen$ | async) {\n <ng-container *ngTemplateOutlet=\"startForm\"></ng-container>\n }\n </section>\n</cds-modal>\n\n<ng-template #startForm>\n @if (isLoading$ | async) {\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form' &&\n (formDefinition$ | async)\n ) {\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition$ | async\"\n [options]=\"options$ | async\"\n [errors]=\"formErrors$ | async\"\n (submit)=\"onSubmit($event)\"\n ></valtimo-form-io>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form-flow' &&\n (formFlowInstanceId$ | async)\n ) {\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId$ | async\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n }\n\n @if (\n !(isLoading$ | async) &&\n !(formDefinition$ | async) &&\n !(formFlowInstanceId$ | async) &&\n (startProcessLinkType$ | async) !== 'ui-component'\n ) {\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n isAdmin\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n }\n</ng-template>\n", styles: ["#supportingProcessStartModal .formio-component-submit{text-align:right}.loading-container{width:100%;display:flex;justify-content:center}\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"] }]
5001
- }], ctorParameters: () => [{ type: i1$2.Router }, { type: i2$2.ProcessService }, { type: i3$3.ProcessLinkService }, { type: i4.TranslateService }, { type: CaseDetailLayoutService }, { type: undefined, decorators: [{
5164
+ args: [{ standalone: false, selector: 'valtimo-case-supporting-process-start-modal', 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\n [open]=\"modalOpen$ | async\"\n valtimoCdsModal\n [size]=\"modalSize$ | async\"\n [minContentHeight]=\"480\"\n>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\" [cdsLayer]=\"1\"\n ><h3 cdsModalHeaderHeading>\n {{ modalTitle$ | async }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-template #formViewModelComponent></ng-template>\n <ng-template #formCustomComponent></ng-template>\n\n @if (modalOpen$ | async) {\n <ng-container *ngTemplateOutlet=\"startForm\"></ng-container>\n }\n </section>\n</cds-modal>\n\n<ng-template #startForm>\n @if (isLoading$ | async) {\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form' &&\n (formDefinition$ | async)\n ) {\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition$ | async\"\n [options]=\"options$ | async\"\n [errors]=\"formErrors$ | async\"\n (submit)=\"onSubmit($event)\"\n ></valtimo-form-io>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form-flow' &&\n (formFlowInstanceId$ | async)\n ) {\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId$ | async\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n }\n\n @if (\n !(isLoading$ | async) &&\n !(formDefinition$ | async) &&\n !(formFlowInstanceId$ | async) &&\n (startProcessLinkType$ | async) !== 'ui-component'\n ) {\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n isAdmin\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n }\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.draftProcessConfirmation.confirm\"\n [showModalSubject$]=\"showDraftConfirmation$\"\n titleTranslationKey=\"case.draftProcessConfirmation.title\"\n (confirmEvent)=\"onDraftConfirmationConfirm()\"\n (cancelEvent)=\"onDraftConfirmationCancel()\"\n>\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'case.draftProcessConfirmation.warningTitle' | translate,\n message: 'case.draftProcessConfirmation.warningDescription' | translate,\n showClose: false,\n lowContrast: true\n }\"\n ></cds-notification>\n</valtimo-confirmation-modal>\n", styles: ["#supportingProcessStartModal .formio-component-submit{text-align:right}.loading-container{width:100%;display:flex;justify-content:center}.full-width-notification{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"] }]
5165
+ }], ctorParameters: () => [{ type: i1$3.Router }, { type: i2$1.ProcessService }, { type: i3$3.ProcessLinkService }, { type: i4.TranslateService }, { type: CaseDetailLayoutService }, { type: undefined, decorators: [{
5002
5166
  type: Optional
5003
5167
  }, {
5004
5168
  type: Inject,
@@ -5514,13 +5678,13 @@ class CaseDetailComponent {
5514
5678
  }
5515
5679
  }));
5516
5680
  }
5517
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailComponent, deps: [{ token: i2$1.BreadcrumbService }, { token: i2.CaseStatusService }, { token: i2$1.CdsThemeService }, { token: i0.ComponentFactoryResolver }, { token: i2.DocumentService }, { token: CaseDetailLayoutService }, { token: CaseService }, { token: CaseTabService }, { token: i4$1.IconService }, { token: i5$4.KeycloakService }, { token: i1$3.NGXLogger }, { token: i1.GlobalNotificationService }, { token: i2$1.PageHeaderService }, { token: i2$1.PageTitleService }, { token: i2$3.PermissionService }, { token: i4.TranslateService }, { token: i0.Renderer2 }, { token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: WidgetsService }, { token: i12.UserProviderService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
5518
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseDetailComponent, isStandalone: false, selector: "ng-component", providers: [CaseTabService, CaseDetailLayoutService, ObserveSizeDirective], viewQueries: [{ propertyName: "supportingProcessStart", first: true, predicate: ["supportingProcessStartModal"], descendants: true }, { propertyName: "viewContainerRef", first: true, predicate: ["tabContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "_tabContentContainer", first: true, predicate: ["tabContentContainer"], 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=\"main-content\"\n [ngClass]=\"{'main-content--no-horizontal-overflow': $tabHorizontalOverflowDisabled()}\"\n>\n <div class=\"container-fluid\">\n <div\n class=\"main-content__header\"\n observeSize\n (heightChange)=\"onMainContentHeaderHeightChange($event)\"\n >\n <valtimo-case-detail-header-widget></valtimo-case-detail-header-widget>\n\n <ng-container *ngIf=\"caseTags$ | async as caseTags\">\n @if ((caseTags || []).length > 0) {\n <div class=\"spacing-case-tags\">\n @for (tag of caseTags; track tag) {\n <cds-tag size=\"sm\" [type]=\"tag.tagType\">\n {{ tag.title }}\n </cds-tag>\n }\n </div>\n }\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n\n <ng-template #tabs>\n <ng-container *ngIf=\"{activeTab: activeTab$ | async} as obs\">\n <cds-tabs *ngIf=\"tabLoader\" type=\"inline\" class=\"case-detail-tabs\">\n <cds-tab\n *ngFor=\"let tab of tabLoader.tabs\"\n [active]=\"tab.name === (activeTabName$ | async)\"\n heading=\"{{ tab | tabTranslate | async }}\"\n (selected)=\"onTabSelected(tab, obs.activeTab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n </ng-template>\n </div>\n\n <div\n *ngIf=\"{\n noTabsConfigured: noTabsConfigured$ | async,\n showTaskList: showTaskList$ | async,\n showNoAccess: showNoAccess$ | async,\n caseDetailLayout: caseDetailLayout$ | async,\n openTaskAndProcessLinkInModal: openTaskAndProcessLinkInModal$ | async,\n taskAndProcessLinkOpenedInPanel: taskAndProcessLinkOpenedInPanel$ | async,\n startFormPanel: startFormPanel$ | async,\n isDarkMode: isDarkMode$ | async,\n compactMode: compactMode$ | async,\n tabContentContainerMaxHeight: tabContentContainerMaxHeight$ | async,\n } as tabContentObs\"\n #tabContentContainer\n class=\"tab-content-container\"\n [ngClass]=\"{\n 'tab-content-container--dark': tabContentObs.isDarkMode,\n 'tab-content-container--compact': tabContentObs.compactMode,\n }\"\n [style.max-height]=\"tabContentObs.tabContentContainerMaxHeight\"\n [style.height]=\"tabContentObs.tabContentContainerMaxHeight\"\n >\n <as-split\n direction=\"horizontal\"\n [disabled]=\"!tabContentObs.caseDetailLayout.widthAdjustable\"\n [gutterSize]=\"CASE_DETAIL_GUTTER_SIZE\"\n [unit]=\"tabContentObs.caseDetailLayout.unit\"\n class=\"split-area\"\n >\n <as-split-area\n [size]=\"tabContentObs.caseDetailLayout.leftPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.leftPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.leftPanelMaxWidth\"\n class=\"split-area__content\"\n >\n <div\n class=\"card-body bg-white p-5 position-relative tab-container\"\n [class.tab-container--compact]=\"compactMode$ | async\"\n >\n <div *ngIf=\"loadingTabs$ | async\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.showNoAccess\"\n description=\"{{ 'case.noAccess.description' | translate }}\"\n title=\"{{ 'case.noAccess.title' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-not-authorised.svg\"\n >\n </valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.noTabsConfigured\"\n [description]=\"'case.tabs.noResultsDescription' | translate\"\n [title]=\"'case.tabs.noResults' | translate\"\n ></valtimo-no-results>\n\n <ng-template #tabContainer></ng-template>\n\n <div class=\"clearfix\"></div>\n </div>\n </as-split-area>\n\n <as-split-area\n *ngIf=\"tabContentObs.caseDetailLayout.showRightPanel\"\n [size]=\"tabContentObs.caseDetailLayout.rightPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.rightPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.rightPanelMaxWidth\"\n >\n @if (tabContentObs.showTaskList) {\n <div class=\"task-panel\">\n @if (tabContentObs.startFormPanel) {\n <div class=\"start-form-panel\">\n <section class=\"start-form-panel__header\">\n <h4 class=\"start-form-panel__title\">{{ tabContentObs.startFormPanel.title }}</h4>\n\n <button cdsButton=\"ghost\" [iconOnly]=\"true\" (click)=\"onStartFormPanelClose()\">\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </section>\n\n <section class=\"start-form-panel__body\">\n <ng-container\n *ngTemplateOutlet=\"tabContentObs.startFormPanel.template\"\n ></ng-container>\n </section>\n </div>\n } @else if (tabContentObs.taskAndProcessLinkOpenedInPanel) {\n <valtimo-case-detail-task-detail\n [taskAndProcessLink]=\"tabContentObs.taskAndProcessLinkOpenedInPanel\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (closeEvent)=\"onTaskDetailsClose()\"\n (formSubmit)=\"onFormSubmitEvent()\"\n (dueDateChanged)=\"onDueDateChanged()\"\n >\n </valtimo-case-detail-task-detail>\n } @else {\n <valtimo-case-detail-task-list\n [openTaskAndProcessLinkInModal]=\"tabContentObs.openTaskAndProcessLinkInModal\"\n (taskClickEvent)=\"onTaskClickEvent($event)\"\n (formSubmitEvent)=\"onFormSubmitEvent()\"\n ></valtimo-case-detail-task-list>\n }\n </div>\n }\n </as-split-area>\n </as-split>\n </div>\n </div>\n\n <valtimo-case-supporting-process-start-modal\n [isAdmin]=\"isAdmin$ | async\"\n (formSubmit)=\"onFormSubmitEvent()\"\n #supportingProcessStartModal\n ></valtimo-case-supporting-process-start-modal>\n</div>\n\n<ng-template\n #caseDetailHeader\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document, canAssign: canAssign}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template\n #caseDetailAssignee\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div *ngIf=\"canHaveAssignee && document\">\n <valtimo-assignment\n *ngIf=\"canAssignLoaded$ | async\"\n mode=\"case\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n [assigneeId]=\"document.assigneeId\"\n [assignedTeamKey]=\"document.assignedTeamKey\"\n [assignedTeamTitle]=\"document.assignedTeamTitle\"\n [hasPermission]=\"canAssign\"\n [candidateUsers$]=\"candidateUsers$\"\n [candidateTeams$]=\"candidateTeams$\"\n (assignmentChangedEvent)=\"onAssignmentChanged($event)\"\n (unassignedEvent)=\"onUnassigned()\"\n ></valtimo-assignment>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canClaim=\"canClaim\" let-canHaveAssignee=\"canHaveAssignee\">\n <v-overflow-menu-option\n *ngIf=\"canClaim && canHaveAssignee\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n (selected)=\"claimAssignee()\"\n >\n {{ 'case.claimAssigneeCase' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template\n #unassignButton\n let-canAssign=\"canAssign\"\n let-canHaveAssignee=\"canHaveAssignee\"\n let-assigneeId=\"assigneeId\"\n>\n <v-overflow-menu-option\n *ngIf=\"canHaveAssignee && canAssign\"\n [disabled]=\"!assigneeId\"\n (selected)=\"unassignAssignee()\"\n >\n {{ 'assignDocument.remove' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #deleteButton let-canDelete=\"canDelete\">\n <v-overflow-menu-option\n *ngIf=\"canDelete\"\n [disabled]=\"isDeleting$ | async\"\n (selected)=\"deleteDocument()\"\n type=\"danger\"\n >\n {{ 'case.delete.delete' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #inspectButton let-canInspect=\"canInspect\">\n <v-overflow-menu-option *ngIf=\"canInspect\" (selected)=\"navigateToInspection()\">\n {{ 'case.inspection.openInspector' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #customStartTrigger>\n <button\n [size]=\"(compactMode$ | async) ? 'sm' : 'lg'\"\n cdsButton=\"primary\"\n [disabled]=\"startableItems.length === 0\"\n [ngbTooltip]=\"startableItems.length === 0 ? 'No action' : null\"\n >\n {{ 'case.startSubProcess' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"chevron--down\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.delete.confirm\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.delete.description\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.delete.delete\"\n (confirmEvent)=\"onConfirmDelete()\"\n></valtimo-confirmation-modal>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"case-actions\"\n [ngClass]=\"{\n 'case-actions--compact': compactMode$ | async,\n 'case-actions--small-title': smallTitle$ | async,\n }\"\n *ngIf=\"{\n assigneeId: assigneeId$ | async,\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n canDelete: canDelete$ | async,\n canInspect: canInspect$ | async,\n document: document$ | async,\n caseStatus: caseStatus$ | async,\n } as obs\"\n >\n <div class=\"case-status-assign-custom-title\" [ngClass]=\"{'--compact': compactMode$ | async}\">\n @if (obs.caseStatus) {\n <cds-tag size=\"sm\" [type]=\"obs.caseStatus.tagType\" [title]=\"obs.caseStatus.title\">{{\n obs.caseStatus.title\n }}</cds-tag>\n }\n\n <div [ngClass]=\"{'--compact': compactMode$ | async}\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {\n canHaveAssignee: obs.canHaveAssignee,\n document: obs.document,\n canAssign: obs.canAssign,\n }\n \"\n ></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"caseDetailHeader\"></ng-container>\n </div>\n\n <div class=\"buttons-container\">\n <v-overflow-menu\n *ngIf=\"obs.canHaveAssignee || obs.canDelete || obs.canInspect\"\n placement=\"bottom-end\"\n class=\"overflow-button assign-overflow\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n <v-overflow-menu-trigger\n overflowTrigger\n [compact]=\"compactMode$ | async\"\n ></v-overflow-menu-trigger>\n\n <ng-container\n *ngTemplateOutlet=\"\n claimButton;\n context: {canClaim: obs.canClaim, canHaveAssignee: obs.canHaveAssignee}\n \"\n >\n </ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n unassignButton;\n context: {\n canAssign: obs.canAssign,\n canHaveAssignee: obs.canHaveAssignee,\n assigneeId: obs.assigneeId,\n }\n \"\n >\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"inspectButton; context: {canInspect: obs.canInspect}\">\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteButton; context: {canDelete: obs.canDelete}\">\n </ng-container>\n </v-overflow-menu>\n\n <v-overflow-menu\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n [menuWidth]=\"dropdownWidth$ | async\"\n placement=\"bottom-end\"\n class=\"overflow-button case-detail-overflow\"\n >\n <ng-container overflowTrigger>\n <ng-container *ngTemplateOutlet=\"customStartTrigger\"></ng-container>\n </ng-container>\n <v-overflow-menu-option\n *ngFor=\"let startableItem of startableItems\"\n [attr.title]=\"startableItem.displayName\"\n (selected)=\"startItem(startableItem)\"\n >\n {{ startableItem.displayName }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n </div>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".main-content{overflow:hidden;padding-bottom:0}.main-content--no-horizontal-overflow{overflow-x:hidden}.tab-container{height:min-content;min-height:300px;overflow-y:auto;overflow-x:hidden}.tab-container:has(>.tab--no-margin){padding:0!important}.tab-container:has(>.tab--no-min-height){min-height:unset}.tab-container:has(>.tab--no-background){background:transparent!important}.tab-content-container{display:flex;gap:32px;overflow:auto;margin-bottom:16px}.loading-container{display:flex;justify-content:center;flex-direction:row}.case-detail-tabs{display:flex;margin-bottom:24px}.case-detail-tabs cds-tab{display:none!important}.buttons-container{display:flex;flex-direction:row;gap:8px;align-items:center}.case-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:4px}.case-actions--compact,.case-actions--small-title{padding-bottom:0;align-items:flex-start}.case-actions ::ng-deep .version-selection{width:160px}.case-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.case-status-assign-custom-title{display:flex;gap:16px;align-items:flex-end}.case-status-assign-custom-title .cds--tag{margin:0;overflow:hidden;text-overflow:ellipsis;line-height:24px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:100%}.case-status-assign-custom-title.--compact{align-items:center}.task-panel{width:100%;transition:height .15s ease-in-out}.start-form-panel{display:flex;flex-direction:column;width:100%;height:100%;background-color:var(--cds-layer);padding:8px 16px 16px}.start-form-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.start-form-panel__title{margin:0;color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-form-panel__body{flex:1;overflow-y:auto}.split-area__content{height:100%!important}.split-area__content .tab-container{height:min-content!important;overflow:hidden!important}:host ::ng-deep .container-fluid{height:100%!important;width:100%!important;margin:0!important;padding:0!important}::ng-deep .tab-content-container .as-split-gutter{background-color:transparent!important;--_as-gutter-icon-disabled: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1'/%3E\");--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABQJJREFUeF7dWll22zAMpNwzlM5xmpMlOVl6mzrKHexWm8UFy4xIp+/FP3mxQWAwWAiRGsJ3/gwhhJvt4CRCfgCtosYhDOHm4SlW7rZyq9t/R7GsZoYQDhCA89UIrzakKuQtpRTiHv03ycJB3t8KuU9AByNfw5dWJpj1h5YABmGRsvgufzsSG21NEwGWUrv5yiuZb31yMZoAAjBFPqBdor9G0vpwu2+PBgE6TK/q0pUxxiwZxnE0SefkE0sHWQUygGG3ll0c2tGNn+M0DiSfHDlHQBu2rffoWgBWPRHWIUreM654li5bMwDQBIhI9naHFgVQCSS2PHliWlLm0/YsMrcwK6ISp1QGANhzG7XFDj2gUFr8yzrkydOJ6CyACBB1lIWkbPyeQ2UQ2ZKxksCLft4EaWqB/AshHCdg0b/1gB7wJB1QBrQ0ml4E2MMyFgxJ6iABuEGdgCUeZVQm+fQ7fhfAsflzAKFLS1G2ptmMwUpDl1oyAGxo2fw2hHBzjpsm+XiO2TGQF1GWACJGfecAjHmgCTZum/lQfezQTZ3L7z+g3goc2xGtFT86A0qLh5pgjPF13aLmv9aHdYiVn8uMwFNixQlYqVuNvayK3sZxNElgHarlP6duo2bpOcbXWxheVhkTj7Tv4ATsTG/OL6CG8DZ+KCQMIcSf6HnAAo8hrAjGRpIblLxveDm8/q4YC6fT6flyufzWBhXGoTWd4QOUp6enX9fr9X2od6SFhJlTu4FBGZA5n+jbnddZjPG8nz8lo222ItHJEraRICAAMmG6rPGb2FTjedqHsET+4/Lbu+phHWLlJ/g+Cd4gpJDgp71HHzAHFCqOEFCSULjrNkaxw2rO/zidnv/MNY99WIcY+TKufibUmOcSEB5IxLTHXLal2FG4h83VPzET1h6wUxDP8fXfJW5V8xuQhqFwVtGNgDuQ6Yo367Pb9ixdjVckVE1QS/0ekZhybRw/zMZblkBpd1sMPIdJkAsClF2ghQQPYJYBQjp5BKCBEHD4JZDi6bED3AebRDFbAp58Ski3JrgphQcgozEwXZ2dBH3nZ2Bq5KcyahuEgO1wIWBnyIuoS5hA9pHIp01dnANSdlvKwXWocRC6Pw/U70MBozCQAWI5JKDF5wFrtk8uR6XKYQibnL9dr+/CjgA5v81AamMFByTTmOhQp56hPw5/vrrvx61euz2gZKfHgcj98bUkgjo/WJCxeMrJFyQgR8ocQcGnwqsJpgSK8pymTPeIThus4DKwBKWJFNsFklEcOT9ApyFADswAQJMiwkaUldeQ7ZTKDWf79tsSgIasDwGduro1CbY+hVqZgpJ1SA5L6bQHMJNjOy19MsCgBiNgV8DK+1GxSXoYAcMwhNttOedPIZTPAhm8bQ6Anx57ZMBGgfHuXs6yuEANBBtR/2bIjzkj8bAMSIYU+KLDaoKSU8KFCOP7LAsTcDTZ2jPAfrUWf3VGnwdo1pgF5xiz9yhazwOExwfv9suEm2XArJwNtSP/+AxgwlHL1iVwiAUdhEaAxhtLWGbZDEbPEiCyhHWIla93KO7AvMoAwre7bW5jxCAfwaHnoa4N3gVU5X2RthX0gdVNBPhDZnYgzMH7ImKbCOA8wnfsVO+jeUgIEHfYFUs7jHYNLN2YvJkBXwYaNuQIwnp2cgoCag3LN1Z2+EwfwCVPLPAOJ1n05oDt9x5oRR37Pb72s/e+kU81L/EXSRwjcUdkvjUAAAAASUVORK5CYII=)}::ng-deep .tab-content-container .as-split-gutter-icon{background-repeat:no-repeat;background-size:16px 16px}::ng-deep .tab-content-container--dark .as-split-gutter{--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABPlJREFUeF7tm1tW3DAMhu2+krCmdmWlKytrIuGV9HjixDddfjkOtOd0XmAGWZfPsiw7g3fVyzvntvpD9H01+JIuwCamX5YKf9VfmCVaDze2S2fXIDG+CGC8YsrqMCvDFDmHZYCeI5gE6LietD2LlNb6uQAQTLWfCDTLmLpOIfoRvxEZydZn+pH7+vdlAEJyoIwIwDIrFtk7C2TyA/Po9gxY1zVWrN2haZq85FqS3zEF+YET3qi6rFzjfAR0yGkBwQA0wyFU75zf5MaOBYDoR2YGDigqY+U7HOKHlAsFiQOXqax+JYCYBGJr32ZAB+lEpxwc3i1nDcDWtBUYPjN8p35VBxf/4/MQUI7lqAGPzwjYBQDv3PQ0+Ue/CjV/sODp8+UiyNE7XLHO6EM+Dg4/ntBdAI69zdIqBlgTlDldADLN9a7R551cDot0kDPNbn40AIh6LSS4DS0Be9jJg7sAXPHJfBZojbXriMscGgDvvhUYmRGEes6iocJiyVejWdelYDPNk5cquhnAxVSAlgDZQG/7bUqKjvZEDqgdYwaAzQsrVQHowFkPqd5bA4LlO1ytp+zoFM0Ml2V5CYPmeX78lF7v67rla8B6GpynKZxnxBfmD03MvASCMe/9z+DRtm2/SAiZLXRGqcapbYTaICB/BHwggN1wbuzQSUHI3UQBHPqo+wPO/7dlefkWJ0PyR0ofEIAjg49Z8GOe51fOCAYgIcPkd2vLsnz33v+ubadJ0TZw8Fqcmnkk+CBjCahHXodQ49mhHGjUDJCDf37Vjmn54Sa4MuxGaL/weWzDdggJigjgDL7KpG3bxLTPmY/PALqa90JgAahpf/ohb8jjAfAlrQdCCSDG0gRPxCiHzf81XwKUVA1M7gDwbojbspsM4GZea3jov5cFp6cGoHYRFCWE5FthQwKAGCnLS9vD6UXwXbnIRpGUcsH3D6JxI2sADwFHwEnqAI4HKW0AB07ci6QDXgLHELUIghPxbxRBBukICDuAZMCaAbu8XnLf1K4wzBjdGYpzSUGI66ntBQg/8QzYB+PyyW18++sAEHvu8wSY02IbosyONaBTPj7XO6/F+SxVzgPKRooWlN7l0A0g+i0tGXrmvdu2D/qYTrBgO0GKG3ocRlrhB/jm6a13zR2i8GAk+BOOw/lmy95RMIlgAlAvh4ex5/ll5CUndYMkJfGNFyL84sCuoHa3tSVQW9HkGxjeueUNv6Krx7dbTO5R/J1FARSQ9X3d8gyh13RSZAYA9iOcmHkJWO1ZA+LkRdbaRAlO3wogKL/+/YDZl5cuFQogC/P4k/j+mx0AYVDyYVQGWDMPlbcDQDVHOREA1DmGDAgv7emA0bEofgmAmn3euXUpT3d9Z4G+4PRR+6PR9oigRqarPiT6ng4nBzRguCe0ZJEBatyqQGvkfw249VtiHTNSzdGZAddVESmW1YBDv5bSpoxBnOZkst7h6jISx5sCEltnJFp7KKkG3KNfPQvULluB2UMuR1zaBiXjB08+IJr4FQA9c3gDgNINKSDK4SCff67VjEsZEI+Cl3Scg3vwA4cU6uu0bRL3d4k3ZEDm3mAoY2YqdX7BvVsA2OJW9qlhUe+KQvObX1DYANS+2iIdHArR0bArgXfUBoAMoewopH9ROd3oBmcZiMkOANA3sXUq9mm5Pqrvq7IYXLo3Vs713ao7WRAZ8NULfTACRd0fdjtUcYyr1cIAAAAASUVORK5CYII=)}.spacing-case-tags{margin-bottom:8px}\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.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: "directive", type: i6$1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$1.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: i4$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "directive", type: i2$1.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i4$1.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: i2$1.OverflowMenuComponent, selector: "v-overflow-menu", inputs: ["open", "placement", "menuWidth", "offsetX", "offsetY", "closeOnSelect", "useHostAsReference", "portalToBody"], outputs: ["openChange"] }, { kind: "component", type: i2$1.OverflowMenuOptionComponent, selector: "v-overflow-menu-option", inputs: ["disabled", "type", "testId", "optionId"], outputs: ["selected"] }, { kind: "component", type: i2$1.OverflowMenuTriggerComponent, selector: "v-overflow-menu-trigger", inputs: ["compact"] }, { kind: "component", type: CaseDetailTaskListComponent, selector: "valtimo-case-detail-task-list", inputs: ["openTaskAndProcessLinkInModal"], outputs: ["taskClickEvent", "formSubmitEvent"] }, { kind: "component", type: CaseDetailsTaskDetailComponent, selector: "valtimo-case-detail-task-detail", inputs: ["taskAndProcessLink"], outputs: ["closeEvent", "assignmentOfTaskChanged", "dueDateChanged", "activeChange", "formSubmit"] }, { kind: "component", type: i17.SplitComponent, selector: "as-split", inputs: ["gutterSize", "gutterStep", "disabled", "gutterClickDeltaPx", "direction", "dir", "unit", "gutterAriaLabel", "restrictMove", "useTransition", "gutterDblClickDuration"], outputs: ["gutterClick", "gutterDblClick", "dragStart", "dragEnd", "transitionEnd"], exportAs: ["asSplit"] }, { kind: "component", type: i17.SplitAreaComponent, selector: "as-split-area", inputs: ["size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "component", type: CaseDetailHeaderWidgetComponent, selector: "valtimo-case-detail-header-widget" }, { kind: "directive", type: i2$1.ObserveSizeDirective, selector: "[observeSize]", outputs: ["widthChange", "heightChange"] }, { kind: "component", type: i2$1.AssignmentComponent, selector: "valtimo-assignment", inputs: ["mode", "hasPermission", "assigneeId", "assigneeFullName", "assignedTeamKey", "assignedTeamTitle", "candidateUsers$", "candidateTeams$"], outputs: ["assignmentChangedEvent", "unassignedEvent"] }, { kind: "component", type: CaseSupportingProcessStartModalComponent, selector: "valtimo-case-supporting-process-start-modal", inputs: ["isAdmin"], outputs: ["formSubmit"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: TabTranslatePipe, name: "tabTranslate" }] }); }
5681
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailComponent, deps: [{ token: i2.BreadcrumbService }, { token: i1$2.CaseStatusService }, { token: i2.CdsThemeService }, { token: i0.ComponentFactoryResolver }, { token: i1$2.DocumentService }, { token: CaseDetailLayoutService }, { token: CaseService }, { token: CaseTabService }, { token: i4$1.IconService }, { token: i5$4.KeycloakService }, { token: i1$4.NGXLogger }, { token: i1.GlobalNotificationService }, { token: i2.PageHeaderService }, { token: i2.PageTitleService }, { token: i2$2.PermissionService }, { token: i4.TranslateService }, { token: i0.Renderer2 }, { token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: WidgetsService }, { token: i12.UserProviderService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
5682
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseDetailComponent, isStandalone: false, selector: "ng-component", providers: [CaseTabService, CaseDetailLayoutService, ObserveSizeDirective], viewQueries: [{ propertyName: "supportingProcessStart", first: true, predicate: ["supportingProcessStartModal"], descendants: true }, { propertyName: "viewContainerRef", first: true, predicate: ["tabContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "_tabContentContainer", first: true, predicate: ["tabContentContainer"], 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=\"main-content\"\n [ngClass]=\"{'main-content--no-horizontal-overflow': $tabHorizontalOverflowDisabled()}\"\n>\n <div class=\"container-fluid\">\n <div\n class=\"main-content__header\"\n observeSize\n (heightChange)=\"onMainContentHeaderHeightChange($event)\"\n >\n <valtimo-case-detail-header-widget></valtimo-case-detail-header-widget>\n\n <ng-container *ngIf=\"caseTags$ | async as caseTags\">\n @if ((caseTags || []).length > 0) {\n <div class=\"spacing-case-tags\">\n @for (tag of caseTags; track tag) {\n <cds-tag size=\"sm\" [type]=\"tag.tagType\">\n {{ tag.title }}\n </cds-tag>\n }\n </div>\n }\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n\n <ng-template #tabs>\n <ng-container *ngIf=\"{activeTab: activeTab$ | async} as obs\">\n <cds-tabs *ngIf=\"tabLoader\" type=\"inline\" class=\"case-detail-tabs\">\n <cds-tab\n *ngFor=\"let tab of tabLoader.tabs\"\n [active]=\"tab.name === (activeTabName$ | async)\"\n heading=\"{{ tab | tabTranslate | async }}\"\n (selected)=\"onTabSelected(tab, obs.activeTab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n </ng-template>\n </div>\n\n <div\n *ngIf=\"{\n noTabsConfigured: noTabsConfigured$ | async,\n showTaskList: showTaskList$ | async,\n showNoAccess: showNoAccess$ | async,\n caseDetailLayout: caseDetailLayout$ | async,\n openTaskAndProcessLinkInModal: openTaskAndProcessLinkInModal$ | async,\n taskAndProcessLinkOpenedInPanel: taskAndProcessLinkOpenedInPanel$ | async,\n startFormPanel: startFormPanel$ | async,\n isDarkMode: isDarkMode$ | async,\n compactMode: compactMode$ | async,\n tabContentContainerMaxHeight: tabContentContainerMaxHeight$ | async,\n } as tabContentObs\"\n #tabContentContainer\n class=\"tab-content-container\"\n [ngClass]=\"{\n 'tab-content-container--dark': tabContentObs.isDarkMode,\n 'tab-content-container--compact': tabContentObs.compactMode,\n }\"\n [style.max-height]=\"tabContentObs.tabContentContainerMaxHeight\"\n [style.height]=\"tabContentObs.tabContentContainerMaxHeight\"\n >\n <as-split\n direction=\"horizontal\"\n [disabled]=\"!tabContentObs.caseDetailLayout.widthAdjustable\"\n [gutterSize]=\"CASE_DETAIL_GUTTER_SIZE\"\n [unit]=\"tabContentObs.caseDetailLayout.unit\"\n class=\"split-area\"\n >\n <as-split-area\n [size]=\"tabContentObs.caseDetailLayout.leftPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.leftPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.leftPanelMaxWidth\"\n class=\"split-area__content\"\n >\n <div\n class=\"card-body bg-white p-5 position-relative tab-container\"\n [class.tab-container--compact]=\"compactMode$ | async\"\n >\n <div *ngIf=\"loadingTabs$ | async\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.showNoAccess\"\n description=\"{{ 'case.noAccess.description' | translate }}\"\n title=\"{{ 'case.noAccess.title' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-not-authorised.svg\"\n >\n </valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.noTabsConfigured\"\n [description]=\"'case.tabs.noResultsDescription' | translate\"\n [title]=\"'case.tabs.noResults' | translate\"\n ></valtimo-no-results>\n\n <ng-template #tabContainer></ng-template>\n\n <div class=\"clearfix\"></div>\n </div>\n </as-split-area>\n\n <as-split-area\n *ngIf=\"tabContentObs.caseDetailLayout.showRightPanel\"\n [size]=\"tabContentObs.caseDetailLayout.rightPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.rightPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.rightPanelMaxWidth\"\n >\n @if (tabContentObs.showTaskList) {\n <div class=\"task-panel\">\n @if (tabContentObs.startFormPanel) {\n <div class=\"start-form-panel\">\n <section class=\"start-form-panel__header\">\n <h4 class=\"start-form-panel__title\">{{ tabContentObs.startFormPanel.title }}</h4>\n\n <button cdsButton=\"ghost\" [iconOnly]=\"true\" (click)=\"onStartFormPanelClose()\">\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </section>\n\n <section class=\"start-form-panel__body\">\n <ng-container\n *ngTemplateOutlet=\"tabContentObs.startFormPanel.template\"\n ></ng-container>\n </section>\n </div>\n } @else if (tabContentObs.taskAndProcessLinkOpenedInPanel) {\n <valtimo-case-detail-task-detail\n [taskAndProcessLink]=\"tabContentObs.taskAndProcessLinkOpenedInPanel\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (closeEvent)=\"onTaskDetailsClose()\"\n (formSubmit)=\"onFormSubmitEvent()\"\n (dueDateChanged)=\"onDueDateChanged()\"\n >\n </valtimo-case-detail-task-detail>\n } @else {\n <valtimo-case-detail-task-list\n [openTaskAndProcessLinkInModal]=\"tabContentObs.openTaskAndProcessLinkInModal\"\n (taskClickEvent)=\"onTaskClickEvent($event)\"\n (formSubmitEvent)=\"onFormSubmitEvent()\"\n ></valtimo-case-detail-task-list>\n }\n </div>\n }\n </as-split-area>\n </as-split>\n </div>\n </div>\n\n <valtimo-case-supporting-process-start-modal\n [isAdmin]=\"isAdmin$ | async\"\n (formSubmit)=\"onFormSubmitEvent()\"\n #supportingProcessStartModal\n ></valtimo-case-supporting-process-start-modal>\n</div>\n\n<ng-template\n #caseDetailHeader\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document, canAssign: canAssign}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template\n #caseDetailAssignee\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div *ngIf=\"canHaveAssignee && document\">\n <valtimo-assignment\n *ngIf=\"canAssignLoaded$ | async\"\n mode=\"case\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n [assigneeId]=\"document.assigneeId\"\n [assignedTeamKey]=\"document.assignedTeamKey\"\n [assignedTeamTitle]=\"document.assignedTeamTitle\"\n [hasPermission]=\"canAssign\"\n [candidateUsers$]=\"candidateUsers$\"\n [candidateTeams$]=\"candidateTeams$\"\n (assignmentChangedEvent)=\"onAssignmentChanged($event)\"\n (unassignedEvent)=\"onUnassigned()\"\n ></valtimo-assignment>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canClaim=\"canClaim\" let-canHaveAssignee=\"canHaveAssignee\">\n <v-overflow-menu-option\n *ngIf=\"canClaim && canHaveAssignee\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n (selected)=\"claimAssignee()\"\n >\n {{ 'case.claimAssigneeCase' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template\n #unassignButton\n let-canAssign=\"canAssign\"\n let-canHaveAssignee=\"canHaveAssignee\"\n let-assigneeId=\"assigneeId\"\n>\n <v-overflow-menu-option\n *ngIf=\"canHaveAssignee && canAssign\"\n [disabled]=\"!assigneeId\"\n (selected)=\"unassignAssignee()\"\n >\n {{ 'assignDocument.remove' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #deleteButton let-canDelete=\"canDelete\">\n <v-overflow-menu-option\n *ngIf=\"canDelete\"\n [disabled]=\"isDeleting$ | async\"\n (selected)=\"deleteDocument()\"\n type=\"danger\"\n >\n {{ 'case.delete.delete' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #inspectButton let-canInspect=\"canInspect\">\n <v-overflow-menu-option *ngIf=\"canInspect\" (selected)=\"navigateToInspection()\">\n {{ 'case.inspection.openInspector' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #customStartTrigger>\n <button\n [size]=\"(compactMode$ | async) ? 'sm' : 'lg'\"\n cdsButton=\"primary\"\n [disabled]=\"startableItems.length === 0\"\n [ngbTooltip]=\"startableItems.length === 0 ? 'No action' : null\"\n >\n {{ 'case.startSubProcess' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"chevron--down\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.delete.confirm\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.delete.description\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.delete.delete\"\n (confirmEvent)=\"onConfirmDelete()\"\n></valtimo-confirmation-modal>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"case-actions\"\n [ngClass]=\"{\n 'case-actions--compact': compactMode$ | async,\n 'case-actions--small-title': smallTitle$ | async,\n }\"\n *ngIf=\"{\n assigneeId: assigneeId$ | async,\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n canDelete: canDelete$ | async,\n canInspect: canInspect$ | async,\n document: document$ | async,\n caseStatus: caseStatus$ | async,\n } as obs\"\n >\n <div class=\"case-status-assign-custom-title\" [ngClass]=\"{'--compact': compactMode$ | async}\">\n @if (obs.caseStatus) {\n <cds-tag size=\"sm\" [type]=\"obs.caseStatus.tagType\" [title]=\"obs.caseStatus.title\">{{\n obs.caseStatus.title\n }}</cds-tag>\n }\n\n <div [ngClass]=\"{'--compact': compactMode$ | async}\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {\n canHaveAssignee: obs.canHaveAssignee,\n document: obs.document,\n canAssign: obs.canAssign,\n }\n \"\n ></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"caseDetailHeader\"></ng-container>\n </div>\n\n <div class=\"buttons-container\">\n <v-overflow-menu\n *ngIf=\"obs.canHaveAssignee || obs.canDelete || obs.canInspect\"\n placement=\"bottom-end\"\n class=\"overflow-button assign-overflow\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n <v-overflow-menu-trigger\n overflowTrigger\n [compact]=\"compactMode$ | async\"\n ></v-overflow-menu-trigger>\n\n <ng-container\n *ngTemplateOutlet=\"\n claimButton;\n context: {canClaim: obs.canClaim, canHaveAssignee: obs.canHaveAssignee}\n \"\n >\n </ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n unassignButton;\n context: {\n canAssign: obs.canAssign,\n canHaveAssignee: obs.canHaveAssignee,\n assigneeId: obs.assigneeId,\n }\n \"\n >\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"inspectButton; context: {canInspect: obs.canInspect}\">\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteButton; context: {canDelete: obs.canDelete}\">\n </ng-container>\n </v-overflow-menu>\n\n <v-overflow-menu\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n [menuWidth]=\"dropdownWidth$ | async\"\n placement=\"bottom-end\"\n class=\"overflow-button case-detail-overflow\"\n >\n <ng-container overflowTrigger>\n <ng-container *ngTemplateOutlet=\"customStartTrigger\"></ng-container>\n </ng-container>\n <v-overflow-menu-option\n *ngFor=\"let startableItem of startableItems\"\n [attr.title]=\"startableItem.displayName\"\n (selected)=\"startItem(startableItem)\"\n >\n {{ startableItem.displayName }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n </div>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".main-content{overflow:hidden;padding-bottom:0}.main-content--no-horizontal-overflow{overflow-x:hidden}.tab-container{height:min-content;min-height:300px;overflow-y:auto;overflow-x:hidden}.tab-container:has(>.tab--no-margin){padding:0!important}.tab-container:has(>.tab--no-min-height){min-height:unset}.tab-container:has(>.tab--no-background){background:transparent!important}.tab-content-container{display:flex;gap:32px;overflow:auto;margin-bottom:16px}.loading-container{display:flex;justify-content:center;flex-direction:row}.case-detail-tabs{display:flex;margin-bottom:24px}.case-detail-tabs cds-tab{display:none!important}.buttons-container{display:flex;flex-direction:row;gap:8px;align-items:center}.case-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:4px}.case-actions--compact,.case-actions--small-title{padding-bottom:0;align-items:flex-start}.case-actions ::ng-deep .version-selection{width:160px}.case-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.case-status-assign-custom-title{display:flex;gap:16px;align-items:flex-end}.case-status-assign-custom-title .cds--tag{margin:0;overflow:hidden;text-overflow:ellipsis;line-height:24px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:100%}.case-status-assign-custom-title.--compact{align-items:center}.task-panel{width:100%;transition:height .15s ease-in-out}.start-form-panel{display:flex;flex-direction:column;width:100%;height:100%;background-color:var(--cds-layer);padding:8px 16px 16px}.start-form-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.start-form-panel__title{margin:0;color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-form-panel__body{flex:1;overflow-y:auto}.split-area__content{height:100%!important}.split-area__content .tab-container{height:min-content!important;overflow:hidden!important}:host ::ng-deep .container-fluid{height:100%!important;width:100%!important;margin:0!important;padding:0!important}::ng-deep .tab-content-container .as-split-gutter{background-color:transparent!important;--_as-gutter-icon-disabled: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1'/%3E\");--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABQJJREFUeF7dWll22zAMpNwzlM5xmpMlOVl6mzrKHexWm8UFy4xIp+/FP3mxQWAwWAiRGsJ3/gwhhJvt4CRCfgCtosYhDOHm4SlW7rZyq9t/R7GsZoYQDhCA89UIrzakKuQtpRTiHv03ycJB3t8KuU9AByNfw5dWJpj1h5YABmGRsvgufzsSG21NEwGWUrv5yiuZb31yMZoAAjBFPqBdor9G0vpwu2+PBgE6TK/q0pUxxiwZxnE0SefkE0sHWQUygGG3ll0c2tGNn+M0DiSfHDlHQBu2rffoWgBWPRHWIUreM654li5bMwDQBIhI9naHFgVQCSS2PHliWlLm0/YsMrcwK6ISp1QGANhzG7XFDj2gUFr8yzrkydOJ6CyACBB1lIWkbPyeQ2UQ2ZKxksCLft4EaWqB/AshHCdg0b/1gB7wJB1QBrQ0ml4E2MMyFgxJ6iABuEGdgCUeZVQm+fQ7fhfAsflzAKFLS1G2ptmMwUpDl1oyAGxo2fw2hHBzjpsm+XiO2TGQF1GWACJGfecAjHmgCTZum/lQfezQTZ3L7z+g3goc2xGtFT86A0qLh5pgjPF13aLmv9aHdYiVn8uMwFNixQlYqVuNvayK3sZxNElgHarlP6duo2bpOcbXWxheVhkTj7Tv4ATsTG/OL6CG8DZ+KCQMIcSf6HnAAo8hrAjGRpIblLxveDm8/q4YC6fT6flyufzWBhXGoTWd4QOUp6enX9fr9X2od6SFhJlTu4FBGZA5n+jbnddZjPG8nz8lo222ItHJEraRICAAMmG6rPGb2FTjedqHsET+4/Lbu+phHWLlJ/g+Cd4gpJDgp71HHzAHFCqOEFCSULjrNkaxw2rO/zidnv/MNY99WIcY+TKufibUmOcSEB5IxLTHXLal2FG4h83VPzET1h6wUxDP8fXfJW5V8xuQhqFwVtGNgDuQ6Yo367Pb9ixdjVckVE1QS/0ekZhybRw/zMZblkBpd1sMPIdJkAsClF2ghQQPYJYBQjp5BKCBEHD4JZDi6bED3AebRDFbAp58Ski3JrgphQcgozEwXZ2dBH3nZ2Bq5KcyahuEgO1wIWBnyIuoS5hA9pHIp01dnANSdlvKwXWocRC6Pw/U70MBozCQAWI5JKDF5wFrtk8uR6XKYQibnL9dr+/CjgA5v81AamMFByTTmOhQp56hPw5/vrrvx61euz2gZKfHgcj98bUkgjo/WJCxeMrJFyQgR8ocQcGnwqsJpgSK8pymTPeIThus4DKwBKWJFNsFklEcOT9ApyFADswAQJMiwkaUldeQ7ZTKDWf79tsSgIasDwGduro1CbY+hVqZgpJ1SA5L6bQHMJNjOy19MsCgBiNgV8DK+1GxSXoYAcMwhNttOedPIZTPAhm8bQ6Anx57ZMBGgfHuXs6yuEANBBtR/2bIjzkj8bAMSIYU+KLDaoKSU8KFCOP7LAsTcDTZ2jPAfrUWf3VGnwdo1pgF5xiz9yhazwOExwfv9suEm2XArJwNtSP/+AxgwlHL1iVwiAUdhEaAxhtLWGbZDEbPEiCyhHWIla93KO7AvMoAwre7bW5jxCAfwaHnoa4N3gVU5X2RthX0gdVNBPhDZnYgzMH7ImKbCOA8wnfsVO+jeUgIEHfYFUs7jHYNLN2YvJkBXwYaNuQIwnp2cgoCag3LN1Z2+EwfwCVPLPAOJ1n05oDt9x5oRR37Pb72s/e+kU81L/EXSRwjcUdkvjUAAAAASUVORK5CYII=)}::ng-deep .tab-content-container .as-split-gutter-icon{background-repeat:no-repeat;background-size:16px 16px}::ng-deep .tab-content-container--dark .as-split-gutter{--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABPlJREFUeF7tm1tW3DAMhu2+krCmdmWlKytrIuGV9HjixDddfjkOtOd0XmAGWZfPsiw7g3fVyzvntvpD9H01+JIuwCamX5YKf9VfmCVaDze2S2fXIDG+CGC8YsrqMCvDFDmHZYCeI5gE6LietD2LlNb6uQAQTLWfCDTLmLpOIfoRvxEZydZn+pH7+vdlAEJyoIwIwDIrFtk7C2TyA/Po9gxY1zVWrN2haZq85FqS3zEF+YET3qi6rFzjfAR0yGkBwQA0wyFU75zf5MaOBYDoR2YGDigqY+U7HOKHlAsFiQOXqax+JYCYBGJr32ZAB+lEpxwc3i1nDcDWtBUYPjN8p35VBxf/4/MQUI7lqAGPzwjYBQDv3PQ0+Ue/CjV/sODp8+UiyNE7XLHO6EM+Dg4/ntBdAI69zdIqBlgTlDldADLN9a7R551cDot0kDPNbn40AIh6LSS4DS0Be9jJg7sAXPHJfBZojbXriMscGgDvvhUYmRGEes6iocJiyVejWdelYDPNk5cquhnAxVSAlgDZQG/7bUqKjvZEDqgdYwaAzQsrVQHowFkPqd5bA4LlO1ytp+zoFM0Ml2V5CYPmeX78lF7v67rla8B6GpynKZxnxBfmD03MvASCMe/9z+DRtm2/SAiZLXRGqcapbYTaICB/BHwggN1wbuzQSUHI3UQBHPqo+wPO/7dlefkWJ0PyR0ofEIAjg49Z8GOe51fOCAYgIcPkd2vLsnz33v+ubadJ0TZw8Fqcmnkk+CBjCahHXodQ49mhHGjUDJCDf37Vjmn54Sa4MuxGaL/weWzDdggJigjgDL7KpG3bxLTPmY/PALqa90JgAahpf/ohb8jjAfAlrQdCCSDG0gRPxCiHzf81XwKUVA1M7gDwbojbspsM4GZea3jov5cFp6cGoHYRFCWE5FthQwKAGCnLS9vD6UXwXbnIRpGUcsH3D6JxI2sADwFHwEnqAI4HKW0AB07ci6QDXgLHELUIghPxbxRBBukICDuAZMCaAbu8XnLf1K4wzBjdGYpzSUGI66ntBQg/8QzYB+PyyW18++sAEHvu8wSY02IbosyONaBTPj7XO6/F+SxVzgPKRooWlN7l0A0g+i0tGXrmvdu2D/qYTrBgO0GKG3ocRlrhB/jm6a13zR2i8GAk+BOOw/lmy95RMIlgAlAvh4ex5/ll5CUndYMkJfGNFyL84sCuoHa3tSVQW9HkGxjeueUNv6Krx7dbTO5R/J1FARSQ9X3d8gyh13RSZAYA9iOcmHkJWO1ZA+LkRdbaRAlO3wogKL/+/YDZl5cuFQogC/P4k/j+mx0AYVDyYVQGWDMPlbcDQDVHOREA1DmGDAgv7emA0bEofgmAmn3euXUpT3d9Z4G+4PRR+6PR9oigRqarPiT6ng4nBzRguCe0ZJEBatyqQGvkfw249VtiHTNSzdGZAddVESmW1YBDv5bSpoxBnOZkst7h6jISx5sCEltnJFp7KKkG3KNfPQvULluB2UMuR1zaBiXjB08+IJr4FQA9c3gDgNINKSDK4SCff67VjEsZEI+Cl3Scg3vwA4cU6uu0bRL3d4k3ZEDm3mAoY2YqdX7BvVsA2OJW9qlhUe+KQvObX1DYANS+2iIdHArR0bArgXfUBoAMoewopH9ROd3oBmcZiMkOANA3sXUq9mm5Pqrvq7IYXLo3Vs713ao7WRAZ8NULfTACRd0fdjtUcYyr1cIAAAAASUVORK5CYII=)}.spacing-case-tags{margin-bottom:8px}\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.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: "directive", type: i6$1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.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: i4$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: i2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "directive", type: i2.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i4$1.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: i2.OverflowMenuComponent, selector: "v-overflow-menu", inputs: ["open", "placement", "menuWidth", "offsetX", "offsetY", "closeOnSelect", "useHostAsReference", "portalToBody"], outputs: ["openChange"] }, { kind: "component", type: i2.OverflowMenuOptionComponent, selector: "v-overflow-menu-option", inputs: ["disabled", "type", "testId", "optionId"], outputs: ["selected"] }, { kind: "component", type: i2.OverflowMenuTriggerComponent, selector: "v-overflow-menu-trigger", inputs: ["compact"] }, { kind: "component", type: CaseDetailTaskListComponent, selector: "valtimo-case-detail-task-list", inputs: ["openTaskAndProcessLinkInModal"], outputs: ["taskClickEvent", "formSubmitEvent"] }, { kind: "component", type: CaseDetailsTaskDetailComponent, selector: "valtimo-case-detail-task-detail", inputs: ["taskAndProcessLink"], outputs: ["closeEvent", "assignmentOfTaskChanged", "dueDateChanged", "activeChange", "formSubmit"] }, { kind: "component", type: i17.SplitComponent, selector: "as-split", inputs: ["gutterSize", "gutterStep", "disabled", "gutterClickDeltaPx", "direction", "dir", "unit", "gutterAriaLabel", "restrictMove", "useTransition", "gutterDblClickDuration"], outputs: ["gutterClick", "gutterDblClick", "dragStart", "dragEnd", "transitionEnd"], exportAs: ["asSplit"] }, { kind: "component", type: i17.SplitAreaComponent, selector: "as-split-area", inputs: ["size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "component", type: CaseDetailHeaderWidgetComponent, selector: "valtimo-case-detail-header-widget" }, { kind: "directive", type: i2.ObserveSizeDirective, selector: "[observeSize]", outputs: ["widthChange", "heightChange"] }, { kind: "component", type: i2.AssignmentComponent, selector: "valtimo-assignment", inputs: ["mode", "hasPermission", "assigneeId", "assigneeFullName", "assignedTeamKey", "assignedTeamTitle", "candidateUsers$", "candidateTeams$"], outputs: ["assignmentChangedEvent", "unassignedEvent"] }, { kind: "component", type: CaseSupportingProcessStartModalComponent, selector: "valtimo-case-supporting-process-start-modal", inputs: ["isAdmin"], outputs: ["formSubmit"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: TabTranslatePipe, name: "tabTranslate" }] }); }
5519
5683
  }
5520
5684
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailComponent, decorators: [{
5521
5685
  type: Component,
5522
5686
  args: [{ standalone: false, providers: [CaseTabService, CaseDetailLayoutService, ObserveSizeDirective], 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=\"main-content\"\n [ngClass]=\"{'main-content--no-horizontal-overflow': $tabHorizontalOverflowDisabled()}\"\n>\n <div class=\"container-fluid\">\n <div\n class=\"main-content__header\"\n observeSize\n (heightChange)=\"onMainContentHeaderHeightChange($event)\"\n >\n <valtimo-case-detail-header-widget></valtimo-case-detail-header-widget>\n\n <ng-container *ngIf=\"caseTags$ | async as caseTags\">\n @if ((caseTags || []).length > 0) {\n <div class=\"spacing-case-tags\">\n @for (tag of caseTags; track tag) {\n <cds-tag size=\"sm\" [type]=\"tag.tagType\">\n {{ tag.title }}\n </cds-tag>\n }\n </div>\n }\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n\n <ng-template #tabs>\n <ng-container *ngIf=\"{activeTab: activeTab$ | async} as obs\">\n <cds-tabs *ngIf=\"tabLoader\" type=\"inline\" class=\"case-detail-tabs\">\n <cds-tab\n *ngFor=\"let tab of tabLoader.tabs\"\n [active]=\"tab.name === (activeTabName$ | async)\"\n heading=\"{{ tab | tabTranslate | async }}\"\n (selected)=\"onTabSelected(tab, obs.activeTab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n </ng-template>\n </div>\n\n <div\n *ngIf=\"{\n noTabsConfigured: noTabsConfigured$ | async,\n showTaskList: showTaskList$ | async,\n showNoAccess: showNoAccess$ | async,\n caseDetailLayout: caseDetailLayout$ | async,\n openTaskAndProcessLinkInModal: openTaskAndProcessLinkInModal$ | async,\n taskAndProcessLinkOpenedInPanel: taskAndProcessLinkOpenedInPanel$ | async,\n startFormPanel: startFormPanel$ | async,\n isDarkMode: isDarkMode$ | async,\n compactMode: compactMode$ | async,\n tabContentContainerMaxHeight: tabContentContainerMaxHeight$ | async,\n } as tabContentObs\"\n #tabContentContainer\n class=\"tab-content-container\"\n [ngClass]=\"{\n 'tab-content-container--dark': tabContentObs.isDarkMode,\n 'tab-content-container--compact': tabContentObs.compactMode,\n }\"\n [style.max-height]=\"tabContentObs.tabContentContainerMaxHeight\"\n [style.height]=\"tabContentObs.tabContentContainerMaxHeight\"\n >\n <as-split\n direction=\"horizontal\"\n [disabled]=\"!tabContentObs.caseDetailLayout.widthAdjustable\"\n [gutterSize]=\"CASE_DETAIL_GUTTER_SIZE\"\n [unit]=\"tabContentObs.caseDetailLayout.unit\"\n class=\"split-area\"\n >\n <as-split-area\n [size]=\"tabContentObs.caseDetailLayout.leftPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.leftPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.leftPanelMaxWidth\"\n class=\"split-area__content\"\n >\n <div\n class=\"card-body bg-white p-5 position-relative tab-container\"\n [class.tab-container--compact]=\"compactMode$ | async\"\n >\n <div *ngIf=\"loadingTabs$ | async\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.showNoAccess\"\n description=\"{{ 'case.noAccess.description' | translate }}\"\n title=\"{{ 'case.noAccess.title' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-not-authorised.svg\"\n >\n </valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.noTabsConfigured\"\n [description]=\"'case.tabs.noResultsDescription' | translate\"\n [title]=\"'case.tabs.noResults' | translate\"\n ></valtimo-no-results>\n\n <ng-template #tabContainer></ng-template>\n\n <div class=\"clearfix\"></div>\n </div>\n </as-split-area>\n\n <as-split-area\n *ngIf=\"tabContentObs.caseDetailLayout.showRightPanel\"\n [size]=\"tabContentObs.caseDetailLayout.rightPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.rightPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.rightPanelMaxWidth\"\n >\n @if (tabContentObs.showTaskList) {\n <div class=\"task-panel\">\n @if (tabContentObs.startFormPanel) {\n <div class=\"start-form-panel\">\n <section class=\"start-form-panel__header\">\n <h4 class=\"start-form-panel__title\">{{ tabContentObs.startFormPanel.title }}</h4>\n\n <button cdsButton=\"ghost\" [iconOnly]=\"true\" (click)=\"onStartFormPanelClose()\">\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </section>\n\n <section class=\"start-form-panel__body\">\n <ng-container\n *ngTemplateOutlet=\"tabContentObs.startFormPanel.template\"\n ></ng-container>\n </section>\n </div>\n } @else if (tabContentObs.taskAndProcessLinkOpenedInPanel) {\n <valtimo-case-detail-task-detail\n [taskAndProcessLink]=\"tabContentObs.taskAndProcessLinkOpenedInPanel\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (closeEvent)=\"onTaskDetailsClose()\"\n (formSubmit)=\"onFormSubmitEvent()\"\n (dueDateChanged)=\"onDueDateChanged()\"\n >\n </valtimo-case-detail-task-detail>\n } @else {\n <valtimo-case-detail-task-list\n [openTaskAndProcessLinkInModal]=\"tabContentObs.openTaskAndProcessLinkInModal\"\n (taskClickEvent)=\"onTaskClickEvent($event)\"\n (formSubmitEvent)=\"onFormSubmitEvent()\"\n ></valtimo-case-detail-task-list>\n }\n </div>\n }\n </as-split-area>\n </as-split>\n </div>\n </div>\n\n <valtimo-case-supporting-process-start-modal\n [isAdmin]=\"isAdmin$ | async\"\n (formSubmit)=\"onFormSubmitEvent()\"\n #supportingProcessStartModal\n ></valtimo-case-supporting-process-start-modal>\n</div>\n\n<ng-template\n #caseDetailHeader\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document, canAssign: canAssign}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template\n #caseDetailAssignee\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div *ngIf=\"canHaveAssignee && document\">\n <valtimo-assignment\n *ngIf=\"canAssignLoaded$ | async\"\n mode=\"case\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n [assigneeId]=\"document.assigneeId\"\n [assignedTeamKey]=\"document.assignedTeamKey\"\n [assignedTeamTitle]=\"document.assignedTeamTitle\"\n [hasPermission]=\"canAssign\"\n [candidateUsers$]=\"candidateUsers$\"\n [candidateTeams$]=\"candidateTeams$\"\n (assignmentChangedEvent)=\"onAssignmentChanged($event)\"\n (unassignedEvent)=\"onUnassigned()\"\n ></valtimo-assignment>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canClaim=\"canClaim\" let-canHaveAssignee=\"canHaveAssignee\">\n <v-overflow-menu-option\n *ngIf=\"canClaim && canHaveAssignee\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n (selected)=\"claimAssignee()\"\n >\n {{ 'case.claimAssigneeCase' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template\n #unassignButton\n let-canAssign=\"canAssign\"\n let-canHaveAssignee=\"canHaveAssignee\"\n let-assigneeId=\"assigneeId\"\n>\n <v-overflow-menu-option\n *ngIf=\"canHaveAssignee && canAssign\"\n [disabled]=\"!assigneeId\"\n (selected)=\"unassignAssignee()\"\n >\n {{ 'assignDocument.remove' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #deleteButton let-canDelete=\"canDelete\">\n <v-overflow-menu-option\n *ngIf=\"canDelete\"\n [disabled]=\"isDeleting$ | async\"\n (selected)=\"deleteDocument()\"\n type=\"danger\"\n >\n {{ 'case.delete.delete' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #inspectButton let-canInspect=\"canInspect\">\n <v-overflow-menu-option *ngIf=\"canInspect\" (selected)=\"navigateToInspection()\">\n {{ 'case.inspection.openInspector' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #customStartTrigger>\n <button\n [size]=\"(compactMode$ | async) ? 'sm' : 'lg'\"\n cdsButton=\"primary\"\n [disabled]=\"startableItems.length === 0\"\n [ngbTooltip]=\"startableItems.length === 0 ? 'No action' : null\"\n >\n {{ 'case.startSubProcess' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"chevron--down\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.delete.confirm\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.delete.description\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.delete.delete\"\n (confirmEvent)=\"onConfirmDelete()\"\n></valtimo-confirmation-modal>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"case-actions\"\n [ngClass]=\"{\n 'case-actions--compact': compactMode$ | async,\n 'case-actions--small-title': smallTitle$ | async,\n }\"\n *ngIf=\"{\n assigneeId: assigneeId$ | async,\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n canDelete: canDelete$ | async,\n canInspect: canInspect$ | async,\n document: document$ | async,\n caseStatus: caseStatus$ | async,\n } as obs\"\n >\n <div class=\"case-status-assign-custom-title\" [ngClass]=\"{'--compact': compactMode$ | async}\">\n @if (obs.caseStatus) {\n <cds-tag size=\"sm\" [type]=\"obs.caseStatus.tagType\" [title]=\"obs.caseStatus.title\">{{\n obs.caseStatus.title\n }}</cds-tag>\n }\n\n <div [ngClass]=\"{'--compact': compactMode$ | async}\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {\n canHaveAssignee: obs.canHaveAssignee,\n document: obs.document,\n canAssign: obs.canAssign,\n }\n \"\n ></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"caseDetailHeader\"></ng-container>\n </div>\n\n <div class=\"buttons-container\">\n <v-overflow-menu\n *ngIf=\"obs.canHaveAssignee || obs.canDelete || obs.canInspect\"\n placement=\"bottom-end\"\n class=\"overflow-button assign-overflow\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n <v-overflow-menu-trigger\n overflowTrigger\n [compact]=\"compactMode$ | async\"\n ></v-overflow-menu-trigger>\n\n <ng-container\n *ngTemplateOutlet=\"\n claimButton;\n context: {canClaim: obs.canClaim, canHaveAssignee: obs.canHaveAssignee}\n \"\n >\n </ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n unassignButton;\n context: {\n canAssign: obs.canAssign,\n canHaveAssignee: obs.canHaveAssignee,\n assigneeId: obs.assigneeId,\n }\n \"\n >\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"inspectButton; context: {canInspect: obs.canInspect}\">\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteButton; context: {canDelete: obs.canDelete}\">\n </ng-container>\n </v-overflow-menu>\n\n <v-overflow-menu\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n [menuWidth]=\"dropdownWidth$ | async\"\n placement=\"bottom-end\"\n class=\"overflow-button case-detail-overflow\"\n >\n <ng-container overflowTrigger>\n <ng-container *ngTemplateOutlet=\"customStartTrigger\"></ng-container>\n </ng-container>\n <v-overflow-menu-option\n *ngFor=\"let startableItem of startableItems\"\n [attr.title]=\"startableItem.displayName\"\n (selected)=\"startItem(startableItem)\"\n >\n {{ startableItem.displayName }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n </div>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".main-content{overflow:hidden;padding-bottom:0}.main-content--no-horizontal-overflow{overflow-x:hidden}.tab-container{height:min-content;min-height:300px;overflow-y:auto;overflow-x:hidden}.tab-container:has(>.tab--no-margin){padding:0!important}.tab-container:has(>.tab--no-min-height){min-height:unset}.tab-container:has(>.tab--no-background){background:transparent!important}.tab-content-container{display:flex;gap:32px;overflow:auto;margin-bottom:16px}.loading-container{display:flex;justify-content:center;flex-direction:row}.case-detail-tabs{display:flex;margin-bottom:24px}.case-detail-tabs cds-tab{display:none!important}.buttons-container{display:flex;flex-direction:row;gap:8px;align-items:center}.case-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:4px}.case-actions--compact,.case-actions--small-title{padding-bottom:0;align-items:flex-start}.case-actions ::ng-deep .version-selection{width:160px}.case-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.case-status-assign-custom-title{display:flex;gap:16px;align-items:flex-end}.case-status-assign-custom-title .cds--tag{margin:0;overflow:hidden;text-overflow:ellipsis;line-height:24px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:100%}.case-status-assign-custom-title.--compact{align-items:center}.task-panel{width:100%;transition:height .15s ease-in-out}.start-form-panel{display:flex;flex-direction:column;width:100%;height:100%;background-color:var(--cds-layer);padding:8px 16px 16px}.start-form-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.start-form-panel__title{margin:0;color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-form-panel__body{flex:1;overflow-y:auto}.split-area__content{height:100%!important}.split-area__content .tab-container{height:min-content!important;overflow:hidden!important}:host ::ng-deep .container-fluid{height:100%!important;width:100%!important;margin:0!important;padding:0!important}::ng-deep .tab-content-container .as-split-gutter{background-color:transparent!important;--_as-gutter-icon-disabled: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1'/%3E\");--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABQJJREFUeF7dWll22zAMpNwzlM5xmpMlOVl6mzrKHexWm8UFy4xIp+/FP3mxQWAwWAiRGsJ3/gwhhJvt4CRCfgCtosYhDOHm4SlW7rZyq9t/R7GsZoYQDhCA89UIrzakKuQtpRTiHv03ycJB3t8KuU9AByNfw5dWJpj1h5YABmGRsvgufzsSG21NEwGWUrv5yiuZb31yMZoAAjBFPqBdor9G0vpwu2+PBgE6TK/q0pUxxiwZxnE0SefkE0sHWQUygGG3ll0c2tGNn+M0DiSfHDlHQBu2rffoWgBWPRHWIUreM654li5bMwDQBIhI9naHFgVQCSS2PHliWlLm0/YsMrcwK6ISp1QGANhzG7XFDj2gUFr8yzrkydOJ6CyACBB1lIWkbPyeQ2UQ2ZKxksCLft4EaWqB/AshHCdg0b/1gB7wJB1QBrQ0ml4E2MMyFgxJ6iABuEGdgCUeZVQm+fQ7fhfAsflzAKFLS1G2ptmMwUpDl1oyAGxo2fw2hHBzjpsm+XiO2TGQF1GWACJGfecAjHmgCTZum/lQfezQTZ3L7z+g3goc2xGtFT86A0qLh5pgjPF13aLmv9aHdYiVn8uMwFNixQlYqVuNvayK3sZxNElgHarlP6duo2bpOcbXWxheVhkTj7Tv4ATsTG/OL6CG8DZ+KCQMIcSf6HnAAo8hrAjGRpIblLxveDm8/q4YC6fT6flyufzWBhXGoTWd4QOUp6enX9fr9X2od6SFhJlTu4FBGZA5n+jbnddZjPG8nz8lo222ItHJEraRICAAMmG6rPGb2FTjedqHsET+4/Lbu+phHWLlJ/g+Cd4gpJDgp71HHzAHFCqOEFCSULjrNkaxw2rO/zidnv/MNY99WIcY+TKufibUmOcSEB5IxLTHXLal2FG4h83VPzET1h6wUxDP8fXfJW5V8xuQhqFwVtGNgDuQ6Yo367Pb9ixdjVckVE1QS/0ekZhybRw/zMZblkBpd1sMPIdJkAsClF2ghQQPYJYBQjp5BKCBEHD4JZDi6bED3AebRDFbAp58Ski3JrgphQcgozEwXZ2dBH3nZ2Bq5KcyahuEgO1wIWBnyIuoS5hA9pHIp01dnANSdlvKwXWocRC6Pw/U70MBozCQAWI5JKDF5wFrtk8uR6XKYQibnL9dr+/CjgA5v81AamMFByTTmOhQp56hPw5/vrrvx61euz2gZKfHgcj98bUkgjo/WJCxeMrJFyQgR8ocQcGnwqsJpgSK8pymTPeIThus4DKwBKWJFNsFklEcOT9ApyFADswAQJMiwkaUldeQ7ZTKDWf79tsSgIasDwGduro1CbY+hVqZgpJ1SA5L6bQHMJNjOy19MsCgBiNgV8DK+1GxSXoYAcMwhNttOedPIZTPAhm8bQ6Anx57ZMBGgfHuXs6yuEANBBtR/2bIjzkj8bAMSIYU+KLDaoKSU8KFCOP7LAsTcDTZ2jPAfrUWf3VGnwdo1pgF5xiz9yhazwOExwfv9suEm2XArJwNtSP/+AxgwlHL1iVwiAUdhEaAxhtLWGbZDEbPEiCyhHWIla93KO7AvMoAwre7bW5jxCAfwaHnoa4N3gVU5X2RthX0gdVNBPhDZnYgzMH7ImKbCOA8wnfsVO+jeUgIEHfYFUs7jHYNLN2YvJkBXwYaNuQIwnp2cgoCag3LN1Z2+EwfwCVPLPAOJ1n05oDt9x5oRR37Pb72s/e+kU81L/EXSRwjcUdkvjUAAAAASUVORK5CYII=)}::ng-deep .tab-content-container .as-split-gutter-icon{background-repeat:no-repeat;background-size:16px 16px}::ng-deep .tab-content-container--dark .as-split-gutter{--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABPlJREFUeF7tm1tW3DAMhu2+krCmdmWlKytrIuGV9HjixDddfjkOtOd0XmAGWZfPsiw7g3fVyzvntvpD9H01+JIuwCamX5YKf9VfmCVaDze2S2fXIDG+CGC8YsrqMCvDFDmHZYCeI5gE6LietD2LlNb6uQAQTLWfCDTLmLpOIfoRvxEZydZn+pH7+vdlAEJyoIwIwDIrFtk7C2TyA/Po9gxY1zVWrN2haZq85FqS3zEF+YET3qi6rFzjfAR0yGkBwQA0wyFU75zf5MaOBYDoR2YGDigqY+U7HOKHlAsFiQOXqax+JYCYBGJr32ZAB+lEpxwc3i1nDcDWtBUYPjN8p35VBxf/4/MQUI7lqAGPzwjYBQDv3PQ0+Ue/CjV/sODp8+UiyNE7XLHO6EM+Dg4/ntBdAI69zdIqBlgTlDldADLN9a7R551cDot0kDPNbn40AIh6LSS4DS0Be9jJg7sAXPHJfBZojbXriMscGgDvvhUYmRGEes6iocJiyVejWdelYDPNk5cquhnAxVSAlgDZQG/7bUqKjvZEDqgdYwaAzQsrVQHowFkPqd5bA4LlO1ytp+zoFM0Ml2V5CYPmeX78lF7v67rla8B6GpynKZxnxBfmD03MvASCMe/9z+DRtm2/SAiZLXRGqcapbYTaICB/BHwggN1wbuzQSUHI3UQBHPqo+wPO/7dlefkWJ0PyR0ofEIAjg49Z8GOe51fOCAYgIcPkd2vLsnz33v+ubadJ0TZw8Fqcmnkk+CBjCahHXodQ49mhHGjUDJCDf37Vjmn54Sa4MuxGaL/weWzDdggJigjgDL7KpG3bxLTPmY/PALqa90JgAahpf/ohb8jjAfAlrQdCCSDG0gRPxCiHzf81XwKUVA1M7gDwbojbspsM4GZea3jov5cFp6cGoHYRFCWE5FthQwKAGCnLS9vD6UXwXbnIRpGUcsH3D6JxI2sADwFHwEnqAI4HKW0AB07ci6QDXgLHELUIghPxbxRBBukICDuAZMCaAbu8XnLf1K4wzBjdGYpzSUGI66ntBQg/8QzYB+PyyW18++sAEHvu8wSY02IbosyONaBTPj7XO6/F+SxVzgPKRooWlN7l0A0g+i0tGXrmvdu2D/qYTrBgO0GKG3ocRlrhB/jm6a13zR2i8GAk+BOOw/lmy95RMIlgAlAvh4ex5/ll5CUndYMkJfGNFyL84sCuoHa3tSVQW9HkGxjeueUNv6Krx7dbTO5R/J1FARSQ9X3d8gyh13RSZAYA9iOcmHkJWO1ZA+LkRdbaRAlO3wogKL/+/YDZl5cuFQogC/P4k/j+mx0AYVDyYVQGWDMPlbcDQDVHOREA1DmGDAgv7emA0bEofgmAmn3euXUpT3d9Z4G+4PRR+6PR9oigRqarPiT6ng4nBzRguCe0ZJEBatyqQGvkfw249VtiHTNSzdGZAddVESmW1YBDv5bSpoxBnOZkst7h6jISx5sCEltnJFp7KKkG3KNfPQvULluB2UMuR1zaBiXjB08+IJr4FQA9c3gDgNINKSDK4SCff67VjEsZEI+Cl3Scg3vwA4cU6uu0bRL3d4k3ZEDm3mAoY2YqdX7BvVsA2OJW9qlhUe+KQvObX1DYANS+2iIdHArR0bArgXfUBoAMoewopH9ROd3oBmcZiMkOANA3sXUq9mm5Pqrvq7IYXLo3Vs713ao7WRAZ8NULfTACRd0fdjtUcYyr1cIAAAAASUVORK5CYII=)}.spacing-case-tags{margin-bottom:8px}\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"] }]
5523
- }], ctorParameters: () => [{ type: i2$1.BreadcrumbService }, { type: i2.CaseStatusService }, { type: i2$1.CdsThemeService }, { type: i0.ComponentFactoryResolver }, { type: i2.DocumentService }, { type: CaseDetailLayoutService }, { type: CaseService }, { type: CaseTabService }, { type: i4$1.IconService }, { type: i5$4.KeycloakService }, { type: i1$3.NGXLogger }, { type: i1.GlobalNotificationService }, { type: i2$1.PageHeaderService }, { type: i2$1.PageTitleService }, { type: i2$3.PermissionService }, { type: i4.TranslateService }, { type: i0.Renderer2 }, { type: i1$2.ActivatedRoute }, { type: i1$2.Router }, { type: WidgetsService }, { type: i12.UserProviderService }, { type: Document, decorators: [{
5687
+ }], ctorParameters: () => [{ type: i2.BreadcrumbService }, { type: i1$2.CaseStatusService }, { type: i2.CdsThemeService }, { type: i0.ComponentFactoryResolver }, { type: i1$2.DocumentService }, { type: CaseDetailLayoutService }, { type: CaseService }, { type: CaseTabService }, { type: i4$1.IconService }, { type: i5$4.KeycloakService }, { type: i1$4.NGXLogger }, { type: i1.GlobalNotificationService }, { type: i2.PageHeaderService }, { type: i2.PageTitleService }, { type: i2$2.PermissionService }, { type: i4.TranslateService }, { type: i0.Renderer2 }, { type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: WidgetsService }, { type: i12.UserProviderService }, { type: Document, decorators: [{
5524
5688
  type: Inject,
5525
5689
  args: [DOCUMENT]
5526
5690
  }] }], propDecorators: { supportingProcessStart: [{
@@ -5573,6 +5737,8 @@ class CaseProcessStartModalComponent {
5573
5737
  this.noProcessLinked = new EventEmitter();
5574
5738
  this.modalOpen$ = new BehaviorSubject(false);
5575
5739
  this.modalSize$ = new BehaviorSubject(DEFAULT_START_MODAL_SIZE);
5740
+ this.showDraftConfirmation$ = new BehaviorSubject(false);
5741
+ this._pendingProcessDefinitionCaseDefinition = null;
5576
5742
  this._subscriptions = new Subscription();
5577
5743
  this._formCustomComponentConfig$ = new BehaviorSubject({});
5578
5744
  this.closeModalEvent = new EventEmitter();
@@ -5664,6 +5830,28 @@ class CaseProcessStartModalComponent {
5664
5830
  : fallbackTitle;
5665
5831
  }
5666
5832
  openModal(processDefinitionCaseDefinition) {
5833
+ if (processDefinitionCaseDefinition.draft) {
5834
+ this._pendingProcessDefinitionCaseDefinition = processDefinitionCaseDefinition;
5835
+ this.showDraftConfirmation$.next(true);
5836
+ return;
5837
+ }
5838
+ this._pendingProcessDefinitionCaseDefinition = null;
5839
+ this.showDraftConfirmation$.next(false);
5840
+ this.proceedWithOpenModal(processDefinitionCaseDefinition);
5841
+ }
5842
+ onDraftConfirmationConfirm() {
5843
+ this.showDraftConfirmation$.next(false);
5844
+ if (this._pendingProcessDefinitionCaseDefinition) {
5845
+ const pending = this._pendingProcessDefinitionCaseDefinition;
5846
+ this._pendingProcessDefinitionCaseDefinition = null;
5847
+ this.proceedWithOpenModal(pending);
5848
+ }
5849
+ }
5850
+ onDraftConfirmationCancel() {
5851
+ this.showDraftConfirmation$.next(false);
5852
+ this._pendingProcessDefinitionCaseDefinition = null;
5853
+ }
5854
+ proceedWithOpenModal(processDefinitionCaseDefinition) {
5667
5855
  this.processDefinitionKey = processDefinitionCaseDefinition.processDefinitionKey;
5668
5856
  this.caseDefinitionKey = processDefinitionCaseDefinition.id.caseDefinitionId.key;
5669
5857
  this.processDefinitionId = processDefinitionCaseDefinition.id.processDefinitionId;
@@ -5775,8 +5963,8 @@ class CaseProcessStartModalComponent {
5775
5963
  setTimeout(() => this.modalOpen$.next(false));
5776
5964
  this.closeModalEvent.emit();
5777
5965
  }
5778
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseProcessStartModalComponent, deps: [{ token: i1$2.Router }, { token: i2$2.ProcessService }, { token: i3$3.ProcessLinkService }, { token: i12.UserProviderService }, { token: i2$3.PermissionService }, { token: CaseListService }, { token: StartModalService }, { token: i1.ConfigService }, { token: FORM_VIEW_MODEL_TOKEN, optional: true }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }, { token: i3$3.UrlResolverService }], target: i0.ɵɵFactoryTarget.Component }); }
5779
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseProcessStartModalComponent, isStandalone: true, selector: "valtimo-case-process-start-modal", inputs: { navigateAfterSubmit: "navigateAfterSubmit" }, outputs: { formFlowComplete: "formFlowComplete", noProcessLinked: "noProcessLinked" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "formViewModelDynamicContainer", first: true, predicate: ["formViewModelComponent"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "formCustomComponentDynamicContainer", first: true, predicate: ["formCustomComponent"], 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<valtimo-render-in-body>\n <cds-modal\n [open]=\"modalOpen$ | async\"\n [size]=\"modalSize$ | async\"\n valtimoCdsModal\n [minContentHeight]=\"480\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\"\n ><h3 cdsModalHeaderHeading>\n {{ modalTitle }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\" class=\"process-start-modal-content\">\n <ng-template #formViewModelComponent></ng-template>\n\n <ng-template #formCustomComponent></ng-template>\n\n @if (formDefinition && !isFormViewModel) {\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n }\n\n @if (formFlowInstanceId) {\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted($event)\"\n ></valtimo-form-flow>\n }\n\n @if (!formFlowInstanceId && !formDefinition && isAdmin && !isUIComponent) {\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundAdmin'\"\n ></div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n (click)=\"gotoProcessLinkScreen()\"\n class=\"btn btn-secondary btn-space\"\n id=\"process-link-button\"\n type=\"button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n }\n\n @if (!formFlowInstanceId && !formDefinition && !isAdmin && !isUIComponent) {\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n }\n </section>\n </cds-modal>\n</valtimo-render-in-body>\n", styles: [".process-start-modal-content{padding: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: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: ProcessLinkModule }, { kind: "component", type: i3$3.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete", "formFlowChange"] }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i2$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "errors", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: RenderInBodyComponent, selector: "valtimo-render-in-body" }], encapsulation: i0.ViewEncapsulation.None }); }
5966
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseProcessStartModalComponent, deps: [{ token: i1$3.Router }, { token: i2$1.ProcessService }, { token: i3$3.ProcessLinkService }, { token: i12.UserProviderService }, { token: i2$2.PermissionService }, { token: CaseListService }, { token: StartModalService }, { token: i1.ConfigService }, { token: FORM_VIEW_MODEL_TOKEN, optional: true }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }, { token: i3$3.UrlResolverService }], target: i0.ɵɵFactoryTarget.Component }); }
5967
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseProcessStartModalComponent, isStandalone: true, selector: "valtimo-case-process-start-modal", inputs: { navigateAfterSubmit: "navigateAfterSubmit" }, outputs: { formFlowComplete: "formFlowComplete", noProcessLinked: "noProcessLinked" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "formViewModelDynamicContainer", first: true, predicate: ["formViewModelComponent"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "formCustomComponentDynamicContainer", first: true, predicate: ["formCustomComponent"], 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<valtimo-render-in-body>\n <cds-modal\n [open]=\"modalOpen$ | async\"\n [size]=\"modalSize$ | async\"\n valtimoCdsModal\n [minContentHeight]=\"480\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\"\n ><h3 cdsModalHeaderHeading>\n {{ modalTitle }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\" class=\"process-start-modal-content\">\n <ng-template #formViewModelComponent></ng-template>\n\n <ng-template #formCustomComponent></ng-template>\n\n @if (formDefinition && !isFormViewModel) {\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n }\n\n @if (formFlowInstanceId) {\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted($event)\"\n ></valtimo-form-flow>\n }\n\n @if (!formFlowInstanceId && !formDefinition && isAdmin && !isUIComponent) {\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundAdmin'\"\n ></div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n (click)=\"gotoProcessLinkScreen()\"\n class=\"btn btn-secondary btn-space\"\n id=\"process-link-button\"\n type=\"button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n }\n\n @if (!formFlowInstanceId && !formDefinition && !isAdmin && !isUIComponent) {\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n }\n </section>\n </cds-modal>\n</valtimo-render-in-body>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.draftProcessConfirmation.confirm\"\n [showModalSubject$]=\"showDraftConfirmation$\"\n titleTranslationKey=\"case.draftProcessConfirmation.title\"\n (confirmEvent)=\"onDraftConfirmationConfirm()\"\n (cancelEvent)=\"onDraftConfirmationCancel()\"\n>\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'case.draftProcessConfirmation.warningTitle' | translate,\n message: 'case.draftProcessConfirmation.warningDescription' | translate,\n showClose: false,\n lowContrast: true\n }\"\n ></cds-notification>\n</valtimo-confirmation-modal>\n", styles: [".process-start-modal-content{padding:16px}.full-width-notification{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: "ngmodule", type: CommonModule }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: ProcessLinkModule }, { kind: "component", type: i3$3.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete", "formFlowChange"] }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "errors", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: NotificationModule }, { kind: "component", type: i4$1.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "component", type: RenderInBodyComponent, selector: "valtimo-render-in-body" }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i2.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"] }], encapsulation: i0.ViewEncapsulation.None }); }
5780
5968
  }
5781
5969
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseProcessStartModalComponent, decorators: [{
5782
5970
  type: Component,
@@ -5789,9 +5977,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5789
5977
  DialogModule,
5790
5978
  ModalModule,
5791
5979
  LayerModule,
5980
+ NotificationModule,
5792
5981
  RenderInBodyComponent,
5793
- ], 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<valtimo-render-in-body>\n <cds-modal\n [open]=\"modalOpen$ | async\"\n [size]=\"modalSize$ | async\"\n valtimoCdsModal\n [minContentHeight]=\"480\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\"\n ><h3 cdsModalHeaderHeading>\n {{ modalTitle }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\" class=\"process-start-modal-content\">\n <ng-template #formViewModelComponent></ng-template>\n\n <ng-template #formCustomComponent></ng-template>\n\n @if (formDefinition && !isFormViewModel) {\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n }\n\n @if (formFlowInstanceId) {\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted($event)\"\n ></valtimo-form-flow>\n }\n\n @if (!formFlowInstanceId && !formDefinition && isAdmin && !isUIComponent) {\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundAdmin'\"\n ></div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n (click)=\"gotoProcessLinkScreen()\"\n class=\"btn btn-secondary btn-space\"\n id=\"process-link-button\"\n type=\"button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n }\n\n @if (!formFlowInstanceId && !formDefinition && !isAdmin && !isUIComponent) {\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n }\n </section>\n </cds-modal>\n</valtimo-render-in-body>\n", styles: [".process-start-modal-content{padding: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"] }]
5794
- }], ctorParameters: () => [{ type: i1$2.Router }, { type: i2$2.ProcessService }, { type: i3$3.ProcessLinkService }, { type: i12.UserProviderService }, { type: i2$3.PermissionService }, { type: CaseListService }, { type: StartModalService }, { type: i1.ConfigService }, { type: undefined, decorators: [{
5982
+ ConfirmationModalModule,
5983
+ ], 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<valtimo-render-in-body>\n <cds-modal\n [open]=\"modalOpen$ | async\"\n [size]=\"modalSize$ | async\"\n valtimoCdsModal\n [minContentHeight]=\"480\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\"\n ><h3 cdsModalHeaderHeading>\n {{ modalTitle }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\" class=\"process-start-modal-content\">\n <ng-template #formViewModelComponent></ng-template>\n\n <ng-template #formCustomComponent></ng-template>\n\n @if (formDefinition && !isFormViewModel) {\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n }\n\n @if (formFlowInstanceId) {\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted($event)\"\n ></valtimo-form-flow>\n }\n\n @if (!formFlowInstanceId && !formDefinition && isAdmin && !isUIComponent) {\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundAdmin'\"\n ></div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n (click)=\"gotoProcessLinkScreen()\"\n class=\"btn btn-secondary btn-space\"\n id=\"process-link-button\"\n type=\"button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n }\n\n @if (!formFlowInstanceId && !formDefinition && !isAdmin && !isUIComponent) {\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n }\n </section>\n </cds-modal>\n</valtimo-render-in-body>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.draftProcessConfirmation.confirm\"\n [showModalSubject$]=\"showDraftConfirmation$\"\n titleTranslationKey=\"case.draftProcessConfirmation.title\"\n (confirmEvent)=\"onDraftConfirmationConfirm()\"\n (cancelEvent)=\"onDraftConfirmationCancel()\"\n>\n <cds-notification\n class=\"full-width-notification\"\n [notificationObj]=\"{\n type: 'warning',\n title: 'case.draftProcessConfirmation.warningTitle' | translate,\n message: 'case.draftProcessConfirmation.warningDescription' | translate,\n showClose: false,\n lowContrast: true\n }\"\n ></cds-notification>\n</valtimo-confirmation-modal>\n", styles: [".process-start-modal-content{padding:16px}.full-width-notification{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"] }]
5984
+ }], ctorParameters: () => [{ type: i1$3.Router }, { type: i2$1.ProcessService }, { type: i3$3.ProcessLinkService }, { type: i12.UserProviderService }, { type: i2$2.PermissionService }, { type: CaseListService }, { type: StartModalService }, { type: i1.ConfigService }, { type: undefined, decorators: [{
5795
5985
  type: Optional
5796
5986
  }, {
5797
5987
  type: Inject,
@@ -5929,7 +6119,7 @@ class CaseListActionsComponent {
5929
6119
  this.selectedProcessDefinitionCaseDefinition = null;
5930
6120
  }
5931
6121
  }
5932
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListActionsComponent, deps: [{ token: i2.DocumentService }, { token: CaseListService }, { token: i1.GlobalNotificationService }, { token: i1$2.Router }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListActionsComponent, deps: [{ token: i1$2.DocumentService }, { token: CaseListService }, { token: i1.GlobalNotificationService }, { token: i1$3.Router }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
5933
6123
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseListActionsComponent, isStandalone: true, selector: "valtimo-case-list-actions", inputs: { loading: "loading", navigateAfterSubmit: "navigateAfterSubmit" }, outputs: { formFlowComplete: "formFlowComplete", startButtonDisableEvent: "startButtonDisableEvent" }, viewQueries: [{ propertyName: "processStart", first: true, predicate: ["processStartModal"], 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-render-in-body>\n <cds-modal\n valtimoCdsModal\n [open]=\"startSelectionModalOpen$ | async\"\n size=\"xs\"\n *ngIf=\"{\n associatedProcessDocumentDefinitions: associatedProcessDocumentDefinitions$ | async,\n caseSettings: caseSettings$ | async,\n } as obs\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\"\n ><h3 cdsModalHeaderHeading>\n {{ 'dashboard.startProcess.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent class=\"start-modal-content\" [cdsLayer]=\"1\">\n <cds-clickable-tile\n *ngIf=\"obs.caseSettings?.hasExternalStartForm\"\n (click)=\"openExternalCaseStartForm(true)\"\n >\n {{ obs?.caseSettings.externalStartFormDescription || '-' }}\n </cds-clickable-tile>\n\n <cds-clickable-tile\n *ngFor=\"let processDocumentDefinition of obs.associatedProcessDocumentDefinitions\"\n (click)=\"selectProcess(processDocumentDefinition)\"\n >\n {{ processDocumentDefinition.processDefinitionName }}\n </cds-clickable-tile>\n </section>\n </cds-modal>\n</valtimo-render-in-body>\n\n<valtimo-case-process-start-modal\n #processStartModal\n [navigateAfterSubmit]=\"navigateAfterSubmit\"\n (formFlowComplete)=\"onFormFlowComplete()\"\n (noProcessLinked)=\"onNoProcessLinked($event)\"\n></valtimo-case-process-start-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: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i4$1.ClickableTile, selector: "cds-clickable-tile, ibm-clickable-tile", inputs: ["theme", "href", "target", "rel", "disabled", "route", "routeExtras"], outputs: ["navigation"] }, { kind: "component", type: CaseProcessStartModalComponent, selector: "valtimo-case-process-start-modal", inputs: ["navigateAfterSubmit"], outputs: ["formFlowComplete", "noProcessLinked"] }, { kind: "component", type: RenderInBodyComponent, selector: "valtimo-render-in-body" }] }); }
5934
6124
  }
5935
6125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListActionsComponent, decorators: [{
@@ -5944,7 +6134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5944
6134
  CaseProcessStartModalComponent,
5945
6135
  RenderInBodyComponent,
5946
6136
  ], 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-render-in-body>\n <cds-modal\n valtimoCdsModal\n [open]=\"startSelectionModalOpen$ | async\"\n size=\"xs\"\n *ngIf=\"{\n associatedProcessDocumentDefinitions: associatedProcessDocumentDefinitions$ | async,\n caseSettings: caseSettings$ | async,\n } as obs\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\"\n ><h3 cdsModalHeaderHeading>\n {{ 'dashboard.startProcess.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent class=\"start-modal-content\" [cdsLayer]=\"1\">\n <cds-clickable-tile\n *ngIf=\"obs.caseSettings?.hasExternalStartForm\"\n (click)=\"openExternalCaseStartForm(true)\"\n >\n {{ obs?.caseSettings.externalStartFormDescription || '-' }}\n </cds-clickable-tile>\n\n <cds-clickable-tile\n *ngFor=\"let processDocumentDefinition of obs.associatedProcessDocumentDefinitions\"\n (click)=\"selectProcess(processDocumentDefinition)\"\n >\n {{ processDocumentDefinition.processDefinitionName }}\n </cds-clickable-tile>\n </section>\n </cds-modal>\n</valtimo-render-in-body>\n\n<valtimo-case-process-start-modal\n #processStartModal\n [navigateAfterSubmit]=\"navigateAfterSubmit\"\n (formFlowComplete)=\"onFormFlowComplete()\"\n (noProcessLinked)=\"onNoProcessLinked($event)\"\n></valtimo-case-process-start-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"] }]
5947
- }], ctorParameters: () => [{ type: i2.DocumentService }, { type: CaseListService }, { type: i1.GlobalNotificationService }, { type: i1$2.Router }, { type: i4.TranslateService }], propDecorators: { processStart: [{
6137
+ }], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: CaseListService }, { type: i1.GlobalNotificationService }, { type: i1$3.Router }, { type: i4.TranslateService }], propDecorators: { processStart: [{
5948
6138
  type: ViewChild,
5949
6139
  args: ['processStartModal']
5950
6140
  }], loading: [{
@@ -6020,7 +6210,7 @@ class CaseListTabsComponent {
6020
6210
  this.tabChangeEvent.emit(tab);
6021
6211
  }
6022
6212
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6023
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseListTabsComponent, isStandalone: false, selector: "valtimo-case-list-tabs", inputs: { assigneeFilter: "assigneeFilter", selectedRowCount: "selectedRowCount", visibleTabs: "visibleTabs" }, outputs: { tabChangeEvent: "tabChangeEvent" }, viewQueries: [{ propertyName: "tabsComponent", first: true, predicate: Tabs, 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 *ngIf=\"!visibleTabs; else configuredTabs\">\n <cds-tabs type=\"contained\" class=\"case-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'case.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-container>\n\n<ng-template #configuredTabs>\n <cds-tabs type=\"contained\" class=\"case-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'case.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changeTabModal.confirm\"\n contentTranslationKey=\"case.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"case.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n></valtimo-confirmation-modal>\n", styles: [".case-list-tabs cds-tab{display:none}\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: "component", type: i2$1.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: i4$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6213
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseListTabsComponent, isStandalone: false, selector: "valtimo-case-list-tabs", inputs: { assigneeFilter: "assigneeFilter", selectedRowCount: "selectedRowCount", visibleTabs: "visibleTabs" }, outputs: { tabChangeEvent: "tabChangeEvent" }, viewQueries: [{ propertyName: "tabsComponent", first: true, predicate: Tabs, 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 *ngIf=\"!visibleTabs; else configuredTabs\">\n <cds-tabs type=\"contained\" class=\"case-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'case.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-container>\n\n<ng-template #configuredTabs>\n <cds-tabs type=\"contained\" class=\"case-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'case.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changeTabModal.confirm\"\n contentTranslationKey=\"case.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"case.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n></valtimo-confirmation-modal>\n", styles: [".case-list-tabs cds-tab{display:none}\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: "component", type: i2.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: i4$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6024
6214
  }
6025
6215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListTabsComponent, decorators: [{
6026
6216
  type: Component,
@@ -6068,7 +6258,7 @@ class CaseListToolbarComponent {
6068
6258
  this.viewUpdateEvent = new EventEmitter();
6069
6259
  }
6070
6260
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6071
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseListToolbarComponent, isStandalone: false, selector: "valtimo-case-list-toolbar", inputs: { availableFields: "availableFields", canCreate: "canCreate", canExport: "canExport", disableExport: "disableExport", disableStart: "disableStart", hasApiColumnConfig: "hasApiColumnConfig", hiddenColumns: "hiddenColumns", loadingExport: "loadingExport" }, outputs: { exportEvent: "exportEvent", startCaseEvent: "startCaseEvent", viewUpdateEvent: "viewUpdateEvent" }, 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 class=\"case-list-toolbar\">\n <valtimo-list-column-view\n [availableFields]=\"availableFields\"\n [disabled]=\"!hasApiColumnConfig\"\n [hiddenColumns]=\"hiddenColumns\"\n (viewUpdateEvent)=\"viewUpdateEvent.emit($event)\"\n ></valtimo-list-column-view>\n\n <cds-tooltip *ngIf=\"canExport\" [description]=\"'case.exportButtonTooltip' | translate\">\n <cds-loading *ngIf=\"loadingExport\" size=\"sm\" class=\"loading-spinner\"></cds-loading>\n\n <button\n *ngIf=\"!loadingExport\"\n data-testid=\"case-list-export-button\"\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n (click)=\"exportEvent.emit()\"\n [disabled]=\"disableExport\"\n >\n <svg cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n </cds-tooltip>\n\n <button\n *ngIf=\"canCreate\"\n cdsButton=\"primary\"\n [disabled]=\"disableStart\"\n (click)=\"startCaseEvent.emit()\"\n >\n {{ 'Start Case' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</div>\n", styles: [".case-list-toolbar{display:flex}.loading-spinner{margin:24px 24px 0 10px}\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: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i4$1.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "component", type: i2$1.ListColumnViewComponent, selector: "valtimo-list-column-view", inputs: ["availableFields", "hiddenColumns", "disabled"], outputs: ["viewUpdateEvent"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6261
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseListToolbarComponent, isStandalone: false, selector: "valtimo-case-list-toolbar", inputs: { availableFields: "availableFields", canCreate: "canCreate", canExport: "canExport", disableExport: "disableExport", disableStart: "disableStart", hasApiColumnConfig: "hasApiColumnConfig", hiddenColumns: "hiddenColumns", loadingExport: "loadingExport" }, outputs: { exportEvent: "exportEvent", startCaseEvent: "startCaseEvent", viewUpdateEvent: "viewUpdateEvent" }, 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 class=\"case-list-toolbar\">\n <valtimo-list-column-view\n [availableFields]=\"availableFields\"\n [disabled]=\"!hasApiColumnConfig\"\n [hiddenColumns]=\"hiddenColumns\"\n (viewUpdateEvent)=\"viewUpdateEvent.emit($event)\"\n ></valtimo-list-column-view>\n\n <cds-tooltip *ngIf=\"canExport\" [description]=\"'case.exportButtonTooltip' | translate\">\n <cds-loading *ngIf=\"loadingExport\" size=\"sm\" class=\"loading-spinner\"></cds-loading>\n\n <button\n *ngIf=\"!loadingExport\"\n data-testid=\"case-list-export-button\"\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n (click)=\"exportEvent.emit()\"\n [disabled]=\"disableExport\"\n >\n <svg cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n </cds-tooltip>\n\n <button\n *ngIf=\"canCreate\"\n cdsButton=\"primary\"\n [disabled]=\"disableStart\"\n (click)=\"startCaseEvent.emit()\"\n >\n {{ 'Start Case' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</div>\n", styles: [".case-list-toolbar{display:flex}.loading-spinner{margin:24px 24px 0 10px}\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: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i4$1.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "component", type: i2.ListColumnViewComponent, selector: "valtimo-list-column-view", inputs: ["availableFields", "hiddenColumns", "disabled"], outputs: ["viewUpdateEvent"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6072
6262
  }
6073
6263
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListToolbarComponent, decorators: [{
6074
6264
  type: Component,
@@ -6320,7 +6510,7 @@ class CaseListComponent {
6320
6510
  teams.length > 0 ? tabs : tabs.filter(tab => tab !== CaseListTab.TEAM);
6321
6511
  });
6322
6512
  }
6323
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListComponent, deps: [{ token: CaseListAssigneeService }, { token: i2$1.BreadcrumbService }, { token: CaseBulkAssignService }, { token: CaseExportService }, { token: CaseListCaseTagService }, { token: CaseListService }, { token: i2$1.PageTitleService }, { token: CaseListPaginationService }, { token: CaseParameterService }, { token: i2$1.QuickSearchStateService }, { token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: CaseListSearchService }, { token: CaseListStatusService }, { token: QUICK_SEARCH_SERVICE }, { token: i1.ConfigService }, { token: i5$2.TeamsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
6513
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListComponent, deps: [{ token: CaseListAssigneeService }, { token: i2.BreadcrumbService }, { token: CaseBulkAssignService }, { token: CaseExportService }, { token: CaseListCaseTagService }, { token: CaseListService }, { token: i2.PageTitleService }, { token: CaseListPaginationService }, { token: CaseParameterService }, { token: i2.QuickSearchStateService }, { token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: CaseListSearchService }, { token: CaseListStatusService }, { token: QUICK_SEARCH_SERVICE }, { token: i1.ConfigService }, { token: i5$2.TeamsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
6324
6514
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseListComponent, isStandalone: false, selector: "ng-component", providers: [
6325
6515
  CaseListService,
6326
6516
  CaseColumnService,
@@ -6336,7 +6526,7 @@ class CaseListComponent {
6336
6526
  provide: QUICK_SEARCH_SERVICE,
6337
6527
  useClass: CaseListQuickSearchService,
6338
6528
  },
6339
- ], viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }, { propertyName: "listActionsComponent", first: true, predicate: CaseListActionsComponent, descendants: true }, { propertyName: "tabsComponent", first: true, predicate: CaseListTabsComponent, 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 availableFields: orchestration.availableFields$ | async,\n fields: orchestration.fields$ | async,\n documentItems: orchestration.documentItems$ | async,\n noResultsMessage: orchestration.noResultsMessage$ | async,\n hasApiColumnConfig: orchestration.hasApiColumnConfig$ | async,\n searchFields: orchestration.searchFields$ | async,\n schema: orchestration.schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedCaseIds: selectedCaseIds$ | async,\n statuses: orchestration.statuses$ | async,\n caseTags: orchestration.caseTags$ | async,\n selectedStatusKeys: orchestration.selectedStatusKeys$ | async,\n selectedCaseTagKeys: orchestration.selectedCaseTagKeys$ | async,\n showStatusSelector: orchestration.showStatusSelector$ | async,\n showCaseTagsSelector: orchestration.showCaseTagsSelector$ | async,\n loaded: orchestration.loaded$ | async,\n canCreate: orchestration.canCreateCase$ | async,\n canExport: orchestration.canExportCase$ | async,\n disableExport: orchestration.disableExportButton$ | async,\n disableSaveSearch: orchestration.disableSaveSearch$ | async,\n assigneeFilter: orchestration.assigneeFilter$ | async,\n hiddenColumns: orchestration.hiddenColumns$ | async,\n disableStartButton: disableStartButton$ | async,\n } as obs\"\n>\n <valtimo-case-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-case-list-actions>\n\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <valtimo-quick-search (quickSearchEvent)=\"onQuickSearchEvent($event)\"></valtimo-quick-search>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <valtimo-search-fields\n [disableSaveSearch]=\"obs.disableSaveSearch\"\n [canSaveSearch]=\"true\"\n [searchFields]=\"obs.searchFields\"\n [caseDefinitionKey]=\"orchestration.caseDefinitionKey$ | async\"\n [defaultValues]=\"orchestration.searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n (clearEvent)=\"onClearEvent()\"\n (doSearch)=\"search($event)\"\n (saveSearchEvent)=\"onSaveSearchEvent($event)\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatusKeys]=\"obs.selectedStatusKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n\n <valtimo-case-tags-selector\n *ngIf=\"obs.showCaseTagsSelector\"\n [caseTags]=\"obs.caseTags\"\n [selectedCaseTagKeys]=\"obs.selectedCaseTagKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedCaseTagsChangeEvent)=\"onSelectedCaseTagsChange($event)\"\n ></valtimo-case-tags-selector>\n </valtimo-search-fields>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n\n lockedTooltipTranslationKey=\"case.rowLocked\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'case.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <valtimo-case-list-toolbar\n [availableFields]=\"obs.availableFields\"\n [canCreate]=\"obs.canCreate\"\n [canExport]=\"obs.canExport\"\n [disableExport]=\"obs.disableExport\"\n [disableStart]=\"obs.disableStartButton\"\n [hasApiColumnConfig]=\"obs.hasApiColumnConfig\"\n [hiddenColumns]=\"obs.hiddenColumns\"\n [loadingExport]=\"loadingExport\"\n (exportEvent)=\"export()\"\n (startCaseEvent)=\"startCase()\"\n (viewUpdateEvent)=\"onViewUpdateEvent($event)\"\n ></valtimo-case-list-toolbar>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : caseListActionsNoResult\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"obs.assigneeFilter\"\n [selectedRowCount]=\"carbonList?.model?.selectedRowsCount() ?? 0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"orchestration.assigneeFilter$ | async\"\n [selectedRowCount]=\"0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-case-bulk-assign-modal\n [documentIds]=\"obs.selectedCaseIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event)\"\n ></valtimo-case-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changePageModal.confirm\"\n contentTranslationKey=\"case.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"case.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #caseListActionsNoResult>\n <button\n *ngIf=\"orchestration.canCreateCase$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startCase()\"\n >\n {{ 'Start Case' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "caseDefinitionKey", "setValuesSubject$", "clearValuesSubject$", "defaultValues", "disableSaveSearch", "inputDisabled", "externalSearchField", "canSaveSearch"], outputs: ["doSearch", "saveSearchEvent", "clearEvent"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$1.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: i2$1.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: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2$1.StatusSelectorComponent, selector: "valtimo-status-selector", inputs: ["statuses", "selectedStatusKeys", "carbonTheme", "disabled"], outputs: ["selectedStatusesChangeEvent"] }, { kind: "component", type: i2$1.CaseTagsSelectorComponent, selector: "valtimo-case-tags-selector", inputs: ["caseTags", "selectedCaseTagKeys", "carbonTheme", "disabled"], outputs: ["selectedCaseTagsChangeEvent"] }, { kind: "component", type: i2$1.QuickSearchComponent, selector: "valtimo-quick-search", outputs: ["quickSearchEvent"] }, { kind: "component", type: CaseListActionsComponent, selector: "valtimo-case-list-actions", inputs: ["loading", "navigateAfterSubmit"], outputs: ["formFlowComplete", "startButtonDisableEvent"] }, { kind: "component", type: CaseBulkAssignModalComponent, selector: "valtimo-case-bulk-assign-modal", inputs: ["documentIds", "open"], outputs: ["closeEvent"] }, { kind: "component", type: CaseListTabsComponent, selector: "valtimo-case-list-tabs", inputs: ["assigneeFilter", "selectedRowCount", "visibleTabs"], outputs: ["tabChangeEvent"] }, { kind: "component", type: CaseListToolbarComponent, selector: "valtimo-case-list-toolbar", inputs: ["availableFields", "canCreate", "canExport", "disableExport", "disableStart", "hasApiColumnConfig", "hiddenColumns", "loadingExport"], outputs: ["exportEvent", "startCaseEvent", "viewUpdateEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
6529
+ ], viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }, { propertyName: "listActionsComponent", first: true, predicate: CaseListActionsComponent, descendants: true }, { propertyName: "tabsComponent", first: true, predicate: CaseListTabsComponent, 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 availableFields: orchestration.availableFields$ | async,\n fields: orchestration.fields$ | async,\n documentItems: orchestration.documentItems$ | async,\n noResultsMessage: orchestration.noResultsMessage$ | async,\n hasApiColumnConfig: orchestration.hasApiColumnConfig$ | async,\n searchFields: orchestration.searchFields$ | async,\n schema: orchestration.schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedCaseIds: selectedCaseIds$ | async,\n statuses: orchestration.statuses$ | async,\n caseTags: orchestration.caseTags$ | async,\n selectedStatusKeys: orchestration.selectedStatusKeys$ | async,\n selectedCaseTagKeys: orchestration.selectedCaseTagKeys$ | async,\n showStatusSelector: orchestration.showStatusSelector$ | async,\n showCaseTagsSelector: orchestration.showCaseTagsSelector$ | async,\n loaded: orchestration.loaded$ | async,\n canCreate: orchestration.canCreateCase$ | async,\n canExport: orchestration.canExportCase$ | async,\n disableExport: orchestration.disableExportButton$ | async,\n disableSaveSearch: orchestration.disableSaveSearch$ | async,\n assigneeFilter: orchestration.assigneeFilter$ | async,\n hiddenColumns: orchestration.hiddenColumns$ | async,\n disableStartButton: disableStartButton$ | async,\n } as obs\"\n>\n <valtimo-case-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-case-list-actions>\n\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <valtimo-quick-search (quickSearchEvent)=\"onQuickSearchEvent($event)\"></valtimo-quick-search>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <valtimo-search-fields\n [disableSaveSearch]=\"obs.disableSaveSearch\"\n [canSaveSearch]=\"true\"\n [searchFields]=\"obs.searchFields\"\n [caseDefinitionKey]=\"orchestration.caseDefinitionKey$ | async\"\n [defaultValues]=\"orchestration.searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n (clearEvent)=\"onClearEvent()\"\n (doSearch)=\"search($event)\"\n (saveSearchEvent)=\"onSaveSearchEvent($event)\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatusKeys]=\"obs.selectedStatusKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n\n <valtimo-case-tags-selector\n *ngIf=\"obs.showCaseTagsSelector\"\n [caseTags]=\"obs.caseTags\"\n [selectedCaseTagKeys]=\"obs.selectedCaseTagKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedCaseTagsChangeEvent)=\"onSelectedCaseTagsChange($event)\"\n ></valtimo-case-tags-selector>\n </valtimo-search-fields>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n\n lockedTooltipTranslationKey=\"case.rowLocked\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'case.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <valtimo-case-list-toolbar\n [availableFields]=\"obs.availableFields\"\n [canCreate]=\"obs.canCreate\"\n [canExport]=\"obs.canExport\"\n [disableExport]=\"obs.disableExport\"\n [disableStart]=\"obs.disableStartButton\"\n [hasApiColumnConfig]=\"obs.hasApiColumnConfig\"\n [hiddenColumns]=\"obs.hiddenColumns\"\n [loadingExport]=\"loadingExport\"\n (exportEvent)=\"export()\"\n (startCaseEvent)=\"startCase()\"\n (viewUpdateEvent)=\"onViewUpdateEvent($event)\"\n ></valtimo-case-list-toolbar>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : caseListActionsNoResult\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"obs.assigneeFilter\"\n [selectedRowCount]=\"carbonList?.model?.selectedRowsCount() ?? 0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"orchestration.assigneeFilter$ | async\"\n [selectedRowCount]=\"0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-case-bulk-assign-modal\n [documentIds]=\"obs.selectedCaseIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event)\"\n ></valtimo-case-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changePageModal.confirm\"\n contentTranslationKey=\"case.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"case.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #caseListActionsNoResult>\n <button\n *ngIf=\"orchestration.canCreateCase$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startCase()\"\n >\n {{ 'Start Case' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "caseDefinitionKey", "setValuesSubject$", "clearValuesSubject$", "defaultValues", "disableSaveSearch", "inputDisabled", "externalSearchField", "canSaveSearch"], outputs: ["doSearch", "saveSearchEvent", "clearEvent"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.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: i2.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: i2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.StatusSelectorComponent, selector: "valtimo-status-selector", inputs: ["statuses", "selectedStatusKeys", "carbonTheme", "disabled"], outputs: ["selectedStatusesChangeEvent"] }, { kind: "component", type: i2.CaseTagsSelectorComponent, selector: "valtimo-case-tags-selector", inputs: ["caseTags", "selectedCaseTagKeys", "carbonTheme", "disabled"], outputs: ["selectedCaseTagsChangeEvent"] }, { kind: "component", type: i2.QuickSearchComponent, selector: "valtimo-quick-search", outputs: ["quickSearchEvent"] }, { kind: "component", type: CaseListActionsComponent, selector: "valtimo-case-list-actions", inputs: ["loading", "navigateAfterSubmit"], outputs: ["formFlowComplete", "startButtonDisableEvent"] }, { kind: "component", type: CaseBulkAssignModalComponent, selector: "valtimo-case-bulk-assign-modal", inputs: ["documentIds", "open"], outputs: ["closeEvent"] }, { kind: "component", type: CaseListTabsComponent, selector: "valtimo-case-list-tabs", inputs: ["assigneeFilter", "selectedRowCount", "visibleTabs"], outputs: ["tabChangeEvent"] }, { kind: "component", type: CaseListToolbarComponent, selector: "valtimo-case-list-toolbar", inputs: ["availableFields", "canCreate", "canExport", "disableExport", "disableStart", "hasApiColumnConfig", "hiddenColumns", "loadingExport"], outputs: ["exportEvent", "startCaseEvent", "viewUpdateEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
6340
6530
  }
6341
6531
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListComponent, decorators: [{
6342
6532
  type: Component,
@@ -6356,7 +6546,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
6356
6546
  useClass: CaseListQuickSearchService,
6357
6547
  },
6358
6548
  ], 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 availableFields: orchestration.availableFields$ | async,\n fields: orchestration.fields$ | async,\n documentItems: orchestration.documentItems$ | async,\n noResultsMessage: orchestration.noResultsMessage$ | async,\n hasApiColumnConfig: orchestration.hasApiColumnConfig$ | async,\n searchFields: orchestration.searchFields$ | async,\n schema: orchestration.schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedCaseIds: selectedCaseIds$ | async,\n statuses: orchestration.statuses$ | async,\n caseTags: orchestration.caseTags$ | async,\n selectedStatusKeys: orchestration.selectedStatusKeys$ | async,\n selectedCaseTagKeys: orchestration.selectedCaseTagKeys$ | async,\n showStatusSelector: orchestration.showStatusSelector$ | async,\n showCaseTagsSelector: orchestration.showCaseTagsSelector$ | async,\n loaded: orchestration.loaded$ | async,\n canCreate: orchestration.canCreateCase$ | async,\n canExport: orchestration.canExportCase$ | async,\n disableExport: orchestration.disableExportButton$ | async,\n disableSaveSearch: orchestration.disableSaveSearch$ | async,\n assigneeFilter: orchestration.assigneeFilter$ | async,\n hiddenColumns: orchestration.hiddenColumns$ | async,\n disableStartButton: disableStartButton$ | async,\n } as obs\"\n>\n <valtimo-case-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-case-list-actions>\n\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <valtimo-quick-search (quickSearchEvent)=\"onQuickSearchEvent($event)\"></valtimo-quick-search>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <valtimo-search-fields\n [disableSaveSearch]=\"obs.disableSaveSearch\"\n [canSaveSearch]=\"true\"\n [searchFields]=\"obs.searchFields\"\n [caseDefinitionKey]=\"orchestration.caseDefinitionKey$ | async\"\n [defaultValues]=\"orchestration.searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n (clearEvent)=\"onClearEvent()\"\n (doSearch)=\"search($event)\"\n (saveSearchEvent)=\"onSaveSearchEvent($event)\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatusKeys]=\"obs.selectedStatusKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n\n <valtimo-case-tags-selector\n *ngIf=\"obs.showCaseTagsSelector\"\n [caseTags]=\"obs.caseTags\"\n [selectedCaseTagKeys]=\"obs.selectedCaseTagKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedCaseTagsChangeEvent)=\"onSelectedCaseTagsChange($event)\"\n ></valtimo-case-tags-selector>\n </valtimo-search-fields>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n\n lockedTooltipTranslationKey=\"case.rowLocked\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'case.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <valtimo-case-list-toolbar\n [availableFields]=\"obs.availableFields\"\n [canCreate]=\"obs.canCreate\"\n [canExport]=\"obs.canExport\"\n [disableExport]=\"obs.disableExport\"\n [disableStart]=\"obs.disableStartButton\"\n [hasApiColumnConfig]=\"obs.hasApiColumnConfig\"\n [hiddenColumns]=\"obs.hiddenColumns\"\n [loadingExport]=\"loadingExport\"\n (exportEvent)=\"export()\"\n (startCaseEvent)=\"startCase()\"\n (viewUpdateEvent)=\"onViewUpdateEvent($event)\"\n ></valtimo-case-list-toolbar>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : caseListActionsNoResult\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"obs.assigneeFilter\"\n [selectedRowCount]=\"carbonList?.model?.selectedRowsCount() ?? 0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"orchestration.assigneeFilter$ | async\"\n [selectedRowCount]=\"0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-case-bulk-assign-modal\n [documentIds]=\"obs.selectedCaseIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event)\"\n ></valtimo-case-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changePageModal.confirm\"\n contentTranslationKey=\"case.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"case.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #caseListActionsNoResult>\n <button\n *ngIf=\"orchestration.canCreateCase$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startCase()\"\n >\n {{ 'Start Case' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
6359
- }], ctorParameters: () => [{ type: CaseListAssigneeService }, { type: i2$1.BreadcrumbService }, { type: CaseBulkAssignService }, { type: CaseExportService }, { type: CaseListCaseTagService }, { type: CaseListService }, { type: i2$1.PageTitleService }, { type: CaseListPaginationService }, { type: CaseParameterService }, { type: i2$1.QuickSearchStateService }, { type: i1$2.ActivatedRoute }, { type: i1$2.Router }, { type: CaseListSearchService }, { type: CaseListStatusService }, { type: undefined, decorators: [{
6549
+ }], ctorParameters: () => [{ type: CaseListAssigneeService }, { type: i2.BreadcrumbService }, { type: CaseBulkAssignService }, { type: CaseExportService }, { type: CaseListCaseTagService }, { type: CaseListService }, { type: i2.PageTitleService }, { type: CaseListPaginationService }, { type: CaseParameterService }, { type: i2.QuickSearchStateService }, { type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: CaseListSearchService }, { type: CaseListStatusService }, { type: undefined, decorators: [{
6360
6550
  type: Inject,
6361
6551
  args: [QUICK_SEARCH_SERVICE]
6362
6552
  }] }, { type: i1.ConfigService }, { type: i5$2.TeamsApiService }], propDecorators: { carbonList: [{
@@ -6458,13 +6648,13 @@ class CaseUpdateComponent {
6458
6648
  returnZero() {
6459
6649
  return 0;
6460
6650
  }
6461
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseUpdateComponent, deps: [{ token: CaseService }, { token: i2.DocumentService }, { token: i1.GlobalNotificationService }, { token: i6.Location }, { token: i1$2.ActivatedRoute }, { token: i5$3.TaskService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6462
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseUpdateComponent, 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<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget [title]=\"page?.title\" [subtitle]=\"page?.subtitle\" [divider]=\"true\">\n <div class=\"card-body\">\n <!--view with custom definitions-->\n <div *ngIf=\"this.customDefinitions\">\n <div\n class=\"mb-4\"\n *ngFor=\"let definition of this.customDefinitions | keyvalue: returnZero\"\n ></div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"button\"\n (click)=\"save()\"\n id=\"save-button\"\n >\n Save\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"submit\"\n (click)=\"submit({})\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <valtimo-camunda-form\n *ngIf=\"task?.formFields && !this.customDefinitions\"\n (submitted)=\"submit($event)\"\n [formFields]=\"task.formFields\"\n [componentName]=\"task.formLocation\"\n ></valtimo-camunda-form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\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: "component", type: i2$1.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i2$1.CamundaFormComponent, selector: "valtimo-camunda-form", inputs: ["componentName", "formFields"], outputs: ["submitted"] }, { kind: "pipe", type: i6.KeyValuePipe, name: "keyvalue" }] }); }
6651
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseUpdateComponent, deps: [{ token: CaseService }, { token: i1$2.DocumentService }, { token: i1.GlobalNotificationService }, { token: i6.Location }, { token: i1$3.ActivatedRoute }, { token: i5$3.TaskService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6652
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseUpdateComponent, 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<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget [title]=\"page?.title\" [subtitle]=\"page?.subtitle\" [divider]=\"true\">\n <div class=\"card-body\">\n <!--view with custom definitions-->\n <div *ngIf=\"this.customDefinitions\">\n <div\n class=\"mb-4\"\n *ngFor=\"let definition of this.customDefinitions | keyvalue: returnZero\"\n ></div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"button\"\n (click)=\"save()\"\n id=\"save-button\"\n >\n Save\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"submit\"\n (click)=\"submit({})\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <valtimo-camunda-form\n *ngIf=\"task?.formFields && !this.customDefinitions\"\n (submitted)=\"submit($event)\"\n [formFields]=\"task.formFields\"\n [componentName]=\"task.formLocation\"\n ></valtimo-camunda-form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\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: "component", type: i2.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i2.CamundaFormComponent, selector: "valtimo-camunda-form", inputs: ["componentName", "formFields"], outputs: ["submitted"] }, { kind: "pipe", type: i6.KeyValuePipe, name: "keyvalue" }] }); }
6463
6653
  }
6464
6654
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseUpdateComponent, decorators: [{
6465
6655
  type: Component,
6466
6656
  args: [{ standalone: false, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget [title]=\"page?.title\" [subtitle]=\"page?.subtitle\" [divider]=\"true\">\n <div class=\"card-body\">\n <!--view with custom definitions-->\n <div *ngIf=\"this.customDefinitions\">\n <div\n class=\"mb-4\"\n *ngFor=\"let definition of this.customDefinitions | keyvalue: returnZero\"\n ></div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"button\"\n (click)=\"save()\"\n id=\"save-button\"\n >\n Save\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"submit\"\n (click)=\"submit({})\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <valtimo-camunda-form\n *ngIf=\"task?.formFields && !this.customDefinitions\"\n (submitted)=\"submit($event)\"\n [formFields]=\"task.formFields\"\n [componentName]=\"task.formLocation\"\n ></valtimo-camunda-form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\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"] }]
6467
- }], ctorParameters: () => [{ type: CaseService }, { type: i2.DocumentService }, { type: i1.GlobalNotificationService }, { type: i6.Location }, { type: i1$2.ActivatedRoute }, { type: i5$3.TaskService }, { type: i4.TranslateService }] });
6657
+ }], ctorParameters: () => [{ type: CaseService }, { type: i1$2.DocumentService }, { type: i1.GlobalNotificationService }, { type: i6.Location }, { type: i1$3.ActivatedRoute }, { type: i5$3.TaskService }, { type: i4.TranslateService }] });
6468
6658
 
6469
6659
  /*
6470
6660
  * Copyright 2015-2026 Ritense BV, the Netherlands.
@@ -6578,13 +6768,13 @@ class CaseInspectionBuildingBlockDetailComponent {
6578
6768
  },
6579
6769
  });
6580
6770
  }
6581
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionBuildingBlockDetailComponent, deps: [{ token: CaseInspectionService }, { token: i2$3.PermissionService }, { token: i1.GlobalNotificationService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6582
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionBuildingBlockDetailComponent, isStandalone: true, selector: "valtimo-case-inspection-building-block-detail", inputs: { instance: "instance" }, outputs: { viewProcessLogsEvent: "viewProcessLogsEvent" }, usesOnChanges: 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<section class=\"case-inspection-bb-detail\">\n <header class=\"case-inspection-bb-detail__header\">\n <h3>\n {{ instance.definitionKey }}\n <small>{{ instance.definitionVersionTag }}</small>\n </h3>\n\n <cds-structured-list class=\"case-inspection-bb-detail__meta\" [condensed]=\"true\">\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.instanceId' | translate\n }}</cds-list-column>\n <cds-list-column\n ><code>{{ instance.id }}</code></cds-list-column\n >\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.documentId' | translate\n }}</cds-list-column>\n <cds-list-column\n ><code>{{ instance.documentId }}</code></cds-list-column\n >\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.processInstance' | translate\n }}</cds-list-column>\n <cds-list-column>\n <ng-container *ngIf=\"instance.processInstanceId; else noProcess\">\n <code>{{ instance.processInstanceId }}</code>\n <button\n class=\"case-inspection-bb-detail__view-logs\"\n type=\"button\"\n (click)=\"onViewProcessLogs()\"\n >\n {{ 'case.inspection.processes.viewLogs' | translate }}\n </button>\n </ng-container>\n\n <ng-template #noProcess>\u2014</ng-template>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.parent' | translate\n }}</cds-list-column>\n <cds-list-column>\n <ng-container *ngIf=\"instance.parentBuildingBlockInstanceId; else noParent\">\n <code>{{ instance.parentBuildingBlockInstanceId }}</code>\n </ng-container>\n\n <ng-template #noParent>\u2014</ng-template>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </header>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-bb-detail__error\">{{ message }}</p>\n </ng-container>\n\n <ng-container *ngIf=\"$loading()\">\n <p>{{ 'case.inspection.buildingBlocks.detail.loading' | translate }}</p>\n </ng-container>\n\n <ng-container *ngIf=\"!$loading() && (model$ | async) as model\">\n <h4 class=\"case-inspection-bb-detail__subhead\">\n {{ 'case.inspection.buildingBlocks.detail.content' | translate }}\n </h4>\n\n <div class=\"json-editor-container\">\n <valtimo-json-editor\n cdsLayer=\"2\"\n [model]=\"model\"\n [heightPx]=\"400\"\n [showEditButton]=\"$canInspectModify()\"\n (saveEvent)=\"onSaveEvent($event)\"\n ></valtimo-json-editor>\n </div>\n </ng-container>\n</section>\n", styles: [".json-editor-container{border:1px solid var(--cds-border-subtle)}.case-inspection-bb-detail{padding-top:16px;padding-bottom:16px;padding-right:16px}.case-inspection-bb-detail__header{margin-bottom:var(--cds-spacing-05)}.case-inspection-bb-detail__header h3{margin:0 0 8px}.case-inspection-bb-detail__header h3 small{font-weight:400;color:var(--cds-text-helper);margin-left:var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size)}.case-inspection-bb-detail__meta code{word-break:break-all}.case-inspection-bb-detail__subhead{margin:var(--cds-spacing-06) 0 var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size);font-weight:600;color:var(--cds-text-secondary)}.case-inspection-bb-detail__error{color:var(--cds-text-error)}.case-inspection-bb-detail__view-logs{background:none;border:none;color:var(--cds-link-primary);cursor:pointer;font-size:var(--cds-helper-text-01-font-size);padding:0 0 0 var(--cds-spacing-03);text-decoration:underline}.case-inspection-bb-detail__view-logs:hover{color:var(--cds-link-primary-hover)}\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: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: StructuredListModule }, { kind: "component", type: i4$1.StructuredList, selector: "cds-structured-list, ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i4$1.ListRow, selector: "cds-list-row, ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i4$1.ListColumn, selector: "cds-list-column, ibm-list-column", inputs: ["skeleton", "nowrap"] }, { kind: "component", type: JsonEditorComponent, selector: "valtimo-json-editor", inputs: ["disabled", "model", "editorOptions", "fitPage", "fitPageSpaceAdjustment", "formatOnLoad", "heightPx", "heightStyle", "jsonSchema", "showEditButton", "widthPx"], outputs: ["changeEvent", "discardEvent", "keepEditingEvent", "saveEvent"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6771
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionBuildingBlockDetailComponent, deps: [{ token: CaseInspectionService }, { token: i2$2.PermissionService }, { token: i1.GlobalNotificationService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6772
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionBuildingBlockDetailComponent, isStandalone: true, selector: "valtimo-case-inspection-building-block-detail", inputs: { instance: "instance" }, outputs: { viewProcessLogsEvent: "viewProcessLogsEvent" }, usesOnChanges: 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<section class=\"case-inspection-bb-detail\">\n <header class=\"case-inspection-bb-detail__header\">\n <h3>\n {{ instance.definitionKey }}\n <small>{{ instance.definitionVersionTag }}</small>\n </h3>\n\n <cds-structured-list class=\"case-inspection-bb-detail__meta\" [condensed]=\"true\">\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.instanceId' | translate\n }}</cds-list-column>\n <cds-list-column\n ><code>{{ instance.id }}</code></cds-list-column\n >\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.documentId' | translate\n }}</cds-list-column>\n <cds-list-column\n ><code>{{ instance.documentId }}</code></cds-list-column\n >\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.processInstance' | translate\n }}</cds-list-column>\n <cds-list-column>\n <ng-container *ngIf=\"instance.processInstanceId; else noProcess\">\n <code>{{ instance.processInstanceId }}</code>\n <button\n class=\"case-inspection-bb-detail__view-logs\"\n type=\"button\"\n (click)=\"onViewProcessLogs()\"\n >\n {{ 'case.inspection.processes.viewLogs' | translate }}\n </button>\n </ng-container>\n\n <ng-template #noProcess>\u2014</ng-template>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.parent' | translate\n }}</cds-list-column>\n <cds-list-column>\n <ng-container *ngIf=\"instance.parentBuildingBlockInstanceId; else noParent\">\n <code>{{ instance.parentBuildingBlockInstanceId }}</code>\n </ng-container>\n\n <ng-template #noParent>\u2014</ng-template>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </header>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-bb-detail__error\">{{ message }}</p>\n </ng-container>\n\n <ng-container *ngIf=\"$loading()\">\n <p>{{ 'case.inspection.buildingBlocks.detail.loading' | translate }}</p>\n </ng-container>\n\n <ng-container *ngIf=\"!$loading() && (model$ | async) as model\">\n <h4 class=\"case-inspection-bb-detail__subhead\">\n {{ 'case.inspection.buildingBlocks.detail.content' | translate }}\n </h4>\n\n <div class=\"json-editor-container\">\n <valtimo-json-editor\n cdsLayer=\"2\"\n [model]=\"model\"\n [heightPx]=\"400\"\n [showEditButton]=\"$canInspectModify()\"\n (saveEvent)=\"onSaveEvent($event)\"\n ></valtimo-json-editor>\n </div>\n </ng-container>\n</section>\n", styles: [".json-editor-container{border:1px solid var(--cds-border-subtle)}.case-inspection-bb-detail{padding-top:16px;padding-bottom:16px;padding-right:16px}.case-inspection-bb-detail__header{margin-bottom:var(--cds-spacing-05)}.case-inspection-bb-detail__header h3{margin:0 0 8px}.case-inspection-bb-detail__header h3 small{font-weight:400;color:var(--cds-text-helper);margin-left:var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size)}.case-inspection-bb-detail__meta code{word-break:break-all}.case-inspection-bb-detail__subhead{margin:var(--cds-spacing-06) 0 var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size);font-weight:600;color:var(--cds-text-secondary)}.case-inspection-bb-detail__error{color:var(--cds-text-error)}.case-inspection-bb-detail__view-logs{background:none;border:none;color:var(--cds-link-primary);cursor:pointer;font-size:var(--cds-helper-text-01-font-size);padding:0 0 0 var(--cds-spacing-03);text-decoration:underline}.case-inspection-bb-detail__view-logs:hover{color:var(--cds-link-primary-hover)}\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: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: StructuredListModule }, { kind: "component", type: i4$1.StructuredList, selector: "cds-structured-list, ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i4$1.ListRow, selector: "cds-list-row, ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i4$1.ListColumn, selector: "cds-list-column, ibm-list-column", inputs: ["skeleton", "nowrap"] }, { kind: "component", type: JsonEditorComponent, selector: "valtimo-json-editor", inputs: ["disabled", "model", "editorOptions", "fitPage", "formatOnLoad", "heightPx", "heightStyle", "jsonSchema", "showEditButton", "widthPx"], outputs: ["changeEvent", "discardEvent", "keepEditingEvent", "saveEvent"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6583
6773
  }
6584
6774
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionBuildingBlockDetailComponent, decorators: [{
6585
6775
  type: Component,
6586
6776
  args: [{ standalone: true, selector: 'valtimo-case-inspection-building-block-detail', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, TranslateModule, StructuredListModule, JsonEditorComponent, LayerModule], 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<section class=\"case-inspection-bb-detail\">\n <header class=\"case-inspection-bb-detail__header\">\n <h3>\n {{ instance.definitionKey }}\n <small>{{ instance.definitionVersionTag }}</small>\n </h3>\n\n <cds-structured-list class=\"case-inspection-bb-detail__meta\" [condensed]=\"true\">\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.instanceId' | translate\n }}</cds-list-column>\n <cds-list-column\n ><code>{{ instance.id }}</code></cds-list-column\n >\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.documentId' | translate\n }}</cds-list-column>\n <cds-list-column\n ><code>{{ instance.documentId }}</code></cds-list-column\n >\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.processInstance' | translate\n }}</cds-list-column>\n <cds-list-column>\n <ng-container *ngIf=\"instance.processInstanceId; else noProcess\">\n <code>{{ instance.processInstanceId }}</code>\n <button\n class=\"case-inspection-bb-detail__view-logs\"\n type=\"button\"\n (click)=\"onViewProcessLogs()\"\n >\n {{ 'case.inspection.processes.viewLogs' | translate }}\n </button>\n </ng-container>\n\n <ng-template #noProcess>\u2014</ng-template>\n </cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{\n 'case.inspection.buildingBlocks.detail.parent' | translate\n }}</cds-list-column>\n <cds-list-column>\n <ng-container *ngIf=\"instance.parentBuildingBlockInstanceId; else noParent\">\n <code>{{ instance.parentBuildingBlockInstanceId }}</code>\n </ng-container>\n\n <ng-template #noParent>\u2014</ng-template>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </header>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-bb-detail__error\">{{ message }}</p>\n </ng-container>\n\n <ng-container *ngIf=\"$loading()\">\n <p>{{ 'case.inspection.buildingBlocks.detail.loading' | translate }}</p>\n </ng-container>\n\n <ng-container *ngIf=\"!$loading() && (model$ | async) as model\">\n <h4 class=\"case-inspection-bb-detail__subhead\">\n {{ 'case.inspection.buildingBlocks.detail.content' | translate }}\n </h4>\n\n <div class=\"json-editor-container\">\n <valtimo-json-editor\n cdsLayer=\"2\"\n [model]=\"model\"\n [heightPx]=\"400\"\n [showEditButton]=\"$canInspectModify()\"\n (saveEvent)=\"onSaveEvent($event)\"\n ></valtimo-json-editor>\n </div>\n </ng-container>\n</section>\n", styles: [".json-editor-container{border:1px solid var(--cds-border-subtle)}.case-inspection-bb-detail{padding-top:16px;padding-bottom:16px;padding-right:16px}.case-inspection-bb-detail__header{margin-bottom:var(--cds-spacing-05)}.case-inspection-bb-detail__header h3{margin:0 0 8px}.case-inspection-bb-detail__header h3 small{font-weight:400;color:var(--cds-text-helper);margin-left:var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size)}.case-inspection-bb-detail__meta code{word-break:break-all}.case-inspection-bb-detail__subhead{margin:var(--cds-spacing-06) 0 var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size);font-weight:600;color:var(--cds-text-secondary)}.case-inspection-bb-detail__error{color:var(--cds-text-error)}.case-inspection-bb-detail__view-logs{background:none;border:none;color:var(--cds-link-primary);cursor:pointer;font-size:var(--cds-helper-text-01-font-size);padding:0 0 0 var(--cds-spacing-03);text-decoration:underline}.case-inspection-bb-detail__view-logs:hover{color:var(--cds-link-primary-hover)}\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"] }]
6587
- }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i2$3.PermissionService }, { type: i1.GlobalNotificationService }, { type: i4.TranslateService }], propDecorators: { instance: [{
6777
+ }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i2$2.PermissionService }, { type: i1.GlobalNotificationService }, { type: i4.TranslateService }], propDecorators: { instance: [{
6588
6778
  type: Input
6589
6779
  }], viewProcessLogsEvent: [{
6590
6780
  type: Output
@@ -6681,7 +6871,7 @@ class CaseInspectionBuildingBlocksTabComponent {
6681
6871
  return instances.find(instance => instance.id === this.pendingInstanceId);
6682
6872
  }
6683
6873
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionBuildingBlocksTabComponent, deps: [{ token: CaseInspectionService }], target: i0.ɵɵFactoryTarget.Component }); }
6684
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionBuildingBlocksTabComponent, isStandalone: true, selector: "valtimo-case-inspection-building-blocks", inputs: { documentId: "documentId", pendingInstanceId: "pendingInstanceId" }, outputs: { viewProcessLogsEvent: "viewProcessLogsEvent" }, usesOnChanges: 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<section class=\"case-inspection-bb\">\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-bb__error\">{{ message }}</p>\n </ng-container>\n\n <ng-container *ngIf=\"$notSupported()\">\n <p class=\"case-inspection-bb__notice\">\n {{ 'case.inspection.buildingBlocks.notEnabled' | translate }}\n </p>\n </ng-container>\n\n <div *ngIf=\"$loading()\" class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n\n <ng-container *ngIf=\"!$loading() && !$notSupported() && $instances() as instances\">\n <valtimo-no-results\n *ngIf=\"instances.length === 0\"\n illustration=\"valtimo-layout/img/emptystate-empty.svg\"\n [description]=\"'case.inspection.buildingBlocks.empty' | translate\"\n [title]=\"'case.inspection.buildingBlocks.emptyTitle' | translate\"\n ></valtimo-no-results>\n\n <div *ngIf=\"instances.length > 0\" class=\"case-inspection-bb__layout\">\n <div\n class=\"case-inspection-bb__list\"\n role=\"listbox\"\n [attr.aria-label]=\"'case.inspection.buildingBlocks.listAriaLabel' | translate\"\n >\n <button\n *ngFor=\"let instance of instances\"\n type=\"button\"\n role=\"option\"\n class=\"case-inspection-bb__list-item\"\n [attr.aria-selected]=\"isSelected(instance)\"\n [class.case-inspection-bb__list-item--selected]=\"isSelected(instance)\"\n (click)=\"onSelect(instance)\"\n >\n <span class=\"case-inspection-bb__list-item-title\">{{ instance.definitionKey }}</span>\n <span class=\"case-inspection-bb__list-item-meta\">\n {{ instance.definitionVersionTag }}\n </span>\n </button>\n </div>\n\n <article class=\"case-inspection-bb__detail\">\n <valtimo-case-inspection-building-block-detail\n *ngIf=\"$selected() as selected\"\n [instance]=\"selected\"\n (viewProcessLogsEvent)=\"viewProcessLogsEvent.emit($event)\"\n ></valtimo-case-inspection-building-block-detail>\n </article>\n </div>\n </ng-container>\n</section>\n", styles: [".case-inspection-bb__error{color:var(--cds-text-error)}.case-inspection-bb__notice{padding:var(--cds-spacing-04) var(--cds-spacing-05);background-color:var(--cds-layer-accent);border-left:4px solid var(--cds-support-info)}.case-inspection-bb__layout{display:grid;grid-template-columns:minmax(220px,1fr) 3fr;gap:var(--cds-spacing-06);align-items:stretch}.case-inspection-bb__list{display:flex;flex-direction:column;border-right:1px solid var(--cds-border-subtle)}.case-inspection-bb__list-item{appearance:none;background:transparent;border:0;text-align:left;padding:var(--cds-spacing-04);cursor:pointer;display:flex;flex-direction:column;gap:var(--cds-spacing-01);color:inherit;font-family:inherit}.case-inspection-bb__list-item:hover{background-color:var(--cds-layer-hover)}.case-inspection-bb__list-item--selected{background-color:var(--cds-layer-selected);font-weight:600}.case-inspection-bb__list-item-title{font-size:var(--cds-body-compact-01-font-size)}.case-inspection-bb__list-item-meta{font-size:var(--cds-helper-text-01-font-size);color:var(--cds-text-helper)}.case-inspection-bb__detail{min-width: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: CarbonListModule }, { kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: CaseInspectionBuildingBlockDetailComponent, selector: "valtimo-case-inspection-building-block-detail", inputs: ["instance"], outputs: ["viewProcessLogsEvent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6874
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionBuildingBlocksTabComponent, isStandalone: true, selector: "valtimo-case-inspection-building-blocks", inputs: { documentId: "documentId", pendingInstanceId: "pendingInstanceId" }, outputs: { viewProcessLogsEvent: "viewProcessLogsEvent" }, usesOnChanges: 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<section class=\"case-inspection-bb\">\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-bb__error\">{{ message }}</p>\n </ng-container>\n\n <ng-container *ngIf=\"$notSupported()\">\n <p class=\"case-inspection-bb__notice\">\n {{ 'case.inspection.buildingBlocks.notEnabled' | translate }}\n </p>\n </ng-container>\n\n <div *ngIf=\"$loading()\" class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n\n <ng-container *ngIf=\"!$loading() && !$notSupported() && $instances() as instances\">\n <valtimo-no-results\n *ngIf=\"instances.length === 0\"\n illustration=\"valtimo-layout/img/emptystate-empty.svg\"\n [description]=\"'case.inspection.buildingBlocks.empty' | translate\"\n [title]=\"'case.inspection.buildingBlocks.emptyTitle' | translate\"\n ></valtimo-no-results>\n\n <div *ngIf=\"instances.length > 0\" class=\"case-inspection-bb__layout\">\n <div\n class=\"case-inspection-bb__list\"\n role=\"listbox\"\n [attr.aria-label]=\"'case.inspection.buildingBlocks.listAriaLabel' | translate\"\n >\n <button\n *ngFor=\"let instance of instances\"\n type=\"button\"\n role=\"option\"\n class=\"case-inspection-bb__list-item\"\n [attr.aria-selected]=\"isSelected(instance)\"\n [class.case-inspection-bb__list-item--selected]=\"isSelected(instance)\"\n (click)=\"onSelect(instance)\"\n >\n <span class=\"case-inspection-bb__list-item-title\">{{ instance.definitionKey }}</span>\n <span class=\"case-inspection-bb__list-item-meta\">\n {{ instance.definitionVersionTag }}\n </span>\n </button>\n </div>\n\n <article class=\"case-inspection-bb__detail\">\n <valtimo-case-inspection-building-block-detail\n *ngIf=\"$selected() as selected\"\n [instance]=\"selected\"\n (viewProcessLogsEvent)=\"viewProcessLogsEvent.emit($event)\"\n ></valtimo-case-inspection-building-block-detail>\n </article>\n </div>\n </ng-container>\n</section>\n", styles: [".case-inspection-bb__error{color:var(--cds-text-error)}.case-inspection-bb__notice{padding:var(--cds-spacing-04) var(--cds-spacing-05);background-color:var(--cds-layer-accent);border-left:4px solid var(--cds-support-info)}.case-inspection-bb__layout{display:grid;grid-template-columns:minmax(220px,1fr) 3fr;gap:var(--cds-spacing-06);align-items:stretch}.case-inspection-bb__list{display:flex;flex-direction:column;border-right:1px solid var(--cds-border-subtle)}.case-inspection-bb__list-item{appearance:none;background:transparent;border:0;text-align:left;padding:var(--cds-spacing-04);cursor:pointer;display:flex;flex-direction:column;gap:var(--cds-spacing-01);color:inherit;font-family:inherit}.case-inspection-bb__list-item:hover{background-color:var(--cds-layer-hover)}.case-inspection-bb__list-item--selected{background-color:var(--cds-layer-selected);font-weight:600}.case-inspection-bb__list-item-title{font-size:var(--cds-body-compact-01-font-size)}.case-inspection-bb__list-item-meta{font-size:var(--cds-helper-text-01-font-size);color:var(--cds-text-helper)}.case-inspection-bb__detail{min-width: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: CarbonListModule }, { kind: "component", type: i2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: CaseInspectionBuildingBlockDetailComponent, selector: "valtimo-case-inspection-building-block-detail", inputs: ["instance"], outputs: ["viewProcessLogsEvent"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6685
6875
  }
6686
6876
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionBuildingBlocksTabComponent, decorators: [{
6687
6877
  type: Component,
@@ -6803,13 +6993,13 @@ class CaseInspectionDocumentTabComponent {
6803
6993
  },
6804
6994
  });
6805
6995
  }
6806
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionDocumentTabComponent, deps: [{ token: CaseInspectionService }, { token: i2$3.PermissionService }, { token: i1.GlobalNotificationService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6807
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionDocumentTabComponent, isStandalone: true, selector: "valtimo-case-inspection-document", inputs: { documentId: "documentId" }, usesOnChanges: 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<section class=\"case-inspection-document-tab\">\n <ng-container *ngIf=\"model$ | async as model\">\n <valtimo-json-editor\n [model]=\"model\"\n [showEditButton]=\"$canInspectModify()\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"112\"\n disableOverflow\n (saveEvent)=\"onSaveEvent($event)\"\n ></valtimo-json-editor>\n </ng-container>\n\n <div *ngIf=\"$loading()\" class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-document-tab__error\">{{ message }}</p>\n </ng-container>\n</section>\n", styles: [".case-inspection-document-tab__error{color:var(--cds-text-error);margin-top:var(--cds-spacing-03)}\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: "component", type: JsonEditorComponent, selector: "valtimo-json-editor", inputs: ["disabled", "model", "editorOptions", "fitPage", "fitPageSpaceAdjustment", "formatOnLoad", "heightPx", "heightStyle", "jsonSchema", "showEditButton", "widthPx"], outputs: ["changeEvent", "discardEvent", "keepEditingEvent", "saveEvent"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6996
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionDocumentTabComponent, deps: [{ token: CaseInspectionService }, { token: i2$2.PermissionService }, { token: i1.GlobalNotificationService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
6997
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionDocumentTabComponent, isStandalone: true, selector: "valtimo-case-inspection-document", inputs: { documentId: "documentId" }, usesOnChanges: 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<section class=\"case-inspection-document-tab\">\n <ng-container *ngIf=\"model$ | async as model\">\n <valtimo-json-editor\n [model]=\"model\"\n [showEditButton]=\"$canInspectModify()\"\n [fitPage]=\"true\"\n disableOverflow\n (saveEvent)=\"onSaveEvent($event)\"\n ></valtimo-json-editor>\n </ng-container>\n\n <div *ngIf=\"$loading()\" class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-document-tab__error\">{{ message }}</p>\n </ng-container>\n</section>\n", styles: [".case-inspection-document-tab__error{color:var(--cds-text-error);margin-top:var(--cds-spacing-03)}\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: "component", type: JsonEditorComponent, selector: "valtimo-json-editor", inputs: ["disabled", "model", "editorOptions", "fitPage", "formatOnLoad", "heightPx", "heightStyle", "jsonSchema", "showEditButton", "widthPx"], outputs: ["changeEvent", "discardEvent", "keepEditingEvent", "saveEvent"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6808
6998
  }
6809
6999
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionDocumentTabComponent, decorators: [{
6810
7000
  type: Component,
6811
- args: [{ standalone: true, selector: 'valtimo-case-inspection-document', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, TranslateModule, JsonEditorComponent, LoadingModule], 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<section class=\"case-inspection-document-tab\">\n <ng-container *ngIf=\"model$ | async as model\">\n <valtimo-json-editor\n [model]=\"model\"\n [showEditButton]=\"$canInspectModify()\"\n [fitPage]=\"true\"\n [fitPageSpaceAdjustment]=\"112\"\n disableOverflow\n (saveEvent)=\"onSaveEvent($event)\"\n ></valtimo-json-editor>\n </ng-container>\n\n <div *ngIf=\"$loading()\" class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-document-tab__error\">{{ message }}</p>\n </ng-container>\n</section>\n", styles: [".case-inspection-document-tab__error{color:var(--cds-text-error);margin-top:var(--cds-spacing-03)}\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"] }]
6812
- }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i2$3.PermissionService }, { type: i1.GlobalNotificationService }, { type: i4.TranslateService }], propDecorators: { documentId: [{
7001
+ args: [{ standalone: true, selector: 'valtimo-case-inspection-document', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, TranslateModule, JsonEditorComponent, LoadingModule], 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<section class=\"case-inspection-document-tab\">\n <ng-container *ngIf=\"model$ | async as model\">\n <valtimo-json-editor\n [model]=\"model\"\n [showEditButton]=\"$canInspectModify()\"\n [fitPage]=\"true\"\n disableOverflow\n (saveEvent)=\"onSaveEvent($event)\"\n ></valtimo-json-editor>\n </ng-container>\n\n <div *ngIf=\"$loading()\" class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-document-tab__error\">{{ message }}</p>\n </ng-container>\n</section>\n", styles: [".case-inspection-document-tab__error{color:var(--cds-text-error);margin-top:var(--cds-spacing-03)}\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"] }]
7002
+ }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i2$2.PermissionService }, { type: i1.GlobalNotificationService }, { type: i4.TranslateService }], propDecorators: { documentId: [{
6813
7003
  type: Input
6814
7004
  }] } });
6815
7005
 
@@ -7010,8 +7200,8 @@ class CaseInspectionLogsTabComponent {
7010
7200
  },
7011
7201
  });
7012
7202
  }
7013
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionLogsTabComponent, deps: [{ token: CaseInspectionService }, { token: i1$4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
7014
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionLogsTabComponent, isStandalone: true, selector: "valtimo-case-inspection-logs", inputs: { documentId: "documentId", pendingProcessInstanceId: "pendingProcessInstanceId" }, viewQueries: [{ propertyName: "_afterDatePicker", first: true, predicate: ["afterPicker"], descendants: true }, { propertyName: "_beforeDatePicker", first: true, predicate: ["beforePicker"], descendants: true }, { propertyName: "timestampTemplate", first: true, predicate: ["timestampTemplate"], descendants: true }, { propertyName: "levelTemplate", first: true, predicate: ["levelTemplate"], descendants: true }, { propertyName: "messageTemplate", first: true, predicate: ["messageTemplate"], descendants: true }], usesOnChanges: 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<section class=\"case-inspection-logs-tab\">\n <form\n class=\"case-inspection-logs-tab__filters\"\n [formGroup]=\"formGroup\"\n (ngSubmit)=\"onApplyFilter()\"\n >\n <cds-text-label\n class=\"case-inspection-logs-tab__filter case-inspection-logs-tab__filter--message\"\n >\n {{ 'case.inspection.logs.filters.message' | translate }}\n\n <input\n cdsText\n formControlName=\"likeFormattedMessage\"\n [placeholder]=\"'case.inspection.logs.filters.messagePlaceholder' | translate\"\n cdsLayer=\"1\"\n />\n </cds-text-label>\n\n <cds-dropdown\n class=\"case-inspection-logs-tab__filter case-inspection-logs-tab__filter--level\"\n formControlName=\"level\"\n [label]=\"'case.inspection.logs.filters.level' | translate\"\n [placeholder]=\"'case.inspection.logs.filters.levelPlaceholder' | translate\"\n [dropUp]=\"false\"\n cdsLayer=\"1\"\n >\n <cds-dropdown-list [items]=\"logLevelItems\"></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-date-picker\n #afterPicker\n class=\"case-inspection-logs-tab__filter\"\n [label]=\"'case.inspection.logs.filters.after' | translate\"\n [dateFormat]=\"'d-m-Y H:i'\"\n [flatpickrOptions]=\"{enableTime: true, time_24hr: true}\"\n placeholder=\"DD-MM-YYYY HH:mm\"\n cdsLayer=\"1\"\n (valueChange)=\"onAfterDateSelected($event)\"\n ></cds-date-picker>\n\n <cds-date-picker\n #beforePicker\n class=\"case-inspection-logs-tab__filter\"\n [label]=\"'case.inspection.logs.filters.before' | translate\"\n [dateFormat]=\"'d-m-Y H:i'\"\n [flatpickrOptions]=\"{enableTime: true, time_24hr: true}\"\n placeholder=\"DD-MM-YYYY HH:mm\"\n cdsLayer=\"1\"\n (valueChange)=\"onBeforeDateSelected($event)\"\n ></cds-date-picker>\n\n <div class=\"case-inspection-logs-tab__filter-actions\">\n <button cdsButton=\"primary\" size=\"md\" type=\"submit\">\n {{ 'case.inspection.logs.filters.apply' | translate }}\n </button>\n\n <button cdsButton=\"tertiary\" size=\"md\" type=\"button\" (click)=\"onResetFilter()\">\n {{ 'case.inspection.logs.filters.reset' | translate }}\n </button>\n </div>\n </form>\n\n <ng-container *ngIf=\"$activeProcessInstanceFilter() as processInstanceId\">\n <div class=\"case-inspection-logs-tab__chip-row\">\n <cds-tag type=\"purple\" size=\"md\">\n {{ 'case.inspection.logs.filters.processInstanceChip' | translate }}:\n <code>{{ processInstanceId }}</code>\n </cds-tag>\n\n <button cdsButton=\"ghost\" size=\"sm\" type=\"button\" (click)=\"onClearProcessInstanceFilter()\">\n {{ 'case.inspection.logs.filters.clearProcessInstance' | translate }}\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-logs-tab__error\">{{ message }}</p>\n </ng-container>\n\n <div *ngIf=\"$loading()\" class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n\n <ng-container *ngIf=\"!$loading() && !$errorMessage()\">\n <p *ngIf=\"$rows().length === 0\" class=\"case-inspection-logs-tab__empty\">\n {{\n ($hasActiveSearch() ? 'case.inspection.logs.emptyFiltered' : 'case.inspection.logs.empty')\n | translate\n }}\n </p>\n\n <div *ngIf=\"$rows().length > 0\" class=\"case-inspection-logs-tab__layout\">\n <div\n class=\"case-inspection-logs-tab__list-panel\"\n [attr.data-selected-row]=\"$selectedIndex()\"\n >\n <valtimo-carbon-list\n [fields]=\"fields\"\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [items]=\"$rows()\"\n [loading]=\"$loading()\"\n [pagination]=\"pagination\"\n [cdsLayer]=\"1\"\n (paginationClicked)=\"onPageSelected($event)\"\n (rowClicked)=\"onSelectRow($event)\"\n >\n <valtimo-no-results\n description=\"{{\n ($hasActiveSearch()\n ? 'case.inspection.logs.emptyFiltered'\n : 'case.inspection.logs.empty'\n ) | translate\n }}\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n </div>\n\n <aside class=\"case-inspection-logs-tab__detail\" *ngIf=\"$selected() as selected\">\n <header class=\"case-inspection-logs-tab__detail-header\">\n <cds-tag size=\"sm\" [type]=\"LEVEL_TAG[selected.level] || 'gray'\">{{\n selected.level\n }}</cds-tag>\n <span class=\"case-inspection-logs-tab__detail-timestamp\">\n {{ selected.timestamp | date: 'dd-MM-yyyy HH:mm:ss' }}\n </span>\n </header>\n\n <pre class=\"case-inspection-logs-tab__detail-message\">{{ selected.formattedMessage }}</pre>\n\n <h4>{{ 'case.inspection.logs.detail.properties' | translate }}</h4>\n <dl class=\"case-inspection-logs-tab__detail-properties\">\n <ng-container *ngFor=\"let prop of selected.properties\">\n <dt>\n <code>{{ prop.key }}</code>\n </dt>\n <dd>\n <code>{{ prop.value }}</code>\n </dd>\n </ng-container>\n </dl>\n\n <ng-container *ngIf=\"selected.stacktrace\">\n <h4>{{ 'case.inspection.logs.detail.stacktrace' | translate }}</h4>\n <pre class=\"case-inspection-logs-tab__detail-stacktrace\">{{ selected.stacktrace }}</pre>\n </ng-container>\n </aside>\n </div>\n </ng-container>\n</section>\n\n<ng-template #timestampTemplate let-data=\"data\">\n {{ data.item.timestamp | date: 'dd-MM HH:mm:ss' }}\n</ng-template>\n\n<ng-template #levelTemplate let-data=\"data\">\n <cds-tag size=\"sm\" [type]=\"LEVEL_TAG[data.item.level] || 'gray'\">\n {{ data.item.level }}\n </cds-tag>\n</ng-template>\n\n<ng-template #messageTemplate let-data=\"data\">\n <span class=\"case-inspection-logs-tab__message-cell\">{{ data.item.formattedMessage }}</span>\n</ng-template>\n", styles: [".case-inspection-logs-tab{display:flex;flex-direction:column;padding:16px;gap:var(--cds-spacing-05)}.case-inspection-logs-tab__filters{display:grid;grid-template-columns:minmax(200px,1fr) minmax(140px,200px) 220px 220px auto;gap:var(--cds-spacing-04);align-items:end}.case-inspection-logs-tab__filter{min-width:0}.case-inspection-logs-tab cds-date-picker{display:block;width:100%}.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker,.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker--single,.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker-container,.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker-input,.case-inspection-logs-tab cds-date-picker ::ng-deep input.cds--date-picker__input{width:100%;min-width:0}.case-inspection-logs-tab__filter-actions{display:flex;gap:var(--cds-spacing-03)}.case-inspection-logs-tab__chip-row{display:flex;align-items:center;gap:var(--cds-spacing-03)}.case-inspection-logs-tab__error{color:var(--cds-support-error)}.case-inspection-logs-tab__empty{color:var(--cds-text-secondary);font-style:italic}.case-inspection-logs-tab__layout{display:flex;gap:var(--cds-spacing-05)}.case-inspection-logs-tab__list-panel{flex:0 0 65%;min-width:0}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table{width:100%}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table tbody tr{cursor:pointer}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table td:first-child{width:136px;min-width:136px;max-width:136px}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table td:nth-child(2){width:96px;min-width:96px;max-width:96px}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table td:nth-child(3){max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-inspection-logs-tab__list-panel[data-selected-row=\"0\"] ::ng-deep .cds--data-table tbody tr:nth-child(1){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"1\"] ::ng-deep .cds--data-table tbody tr:nth-child(2){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"2\"] ::ng-deep .cds--data-table tbody tr:nth-child(3){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"3\"] ::ng-deep .cds--data-table tbody tr:nth-child(4){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"4\"] ::ng-deep .cds--data-table tbody tr:nth-child(5){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"5\"] ::ng-deep .cds--data-table tbody tr:nth-child(6){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"6\"] ::ng-deep .cds--data-table tbody tr:nth-child(7){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"7\"] ::ng-deep .cds--data-table tbody tr:nth-child(8){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"8\"] ::ng-deep .cds--data-table tbody tr:nth-child(9){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"9\"] ::ng-deep .cds--data-table tbody tr:nth-child(10){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__message-cell{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.case-inspection-logs-tab__pagination{margin-top:var(--cds-spacing-03)}.case-inspection-logs-tab__detail{flex:0 0 calc(35% - var(--cds-spacing-05));background-color:var(--cds-layer);border:1px solid var(--cds-border-subtle);padding:var(--cds-spacing-05);overflow:auto}.case-inspection-logs-tab__detail h4{margin-top:var(--cds-spacing-05);margin-bottom:var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size);font-weight:600}.case-inspection-logs-tab__detail-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--cds-spacing-02)}.case-inspection-logs-tab__detail-timestamp{color:var(--cds-text-secondary);font-size:var(--cds-helper-text-01-font-size)}.case-inspection-logs-tab__detail-message{margin:var(--cds-spacing-04) 0;padding:var(--cds-spacing-03);background-color:var(--cds-background);border:1px solid var(--cds-border-subtle);white-space:pre-wrap;word-break:break-word;font-size:var(--cds-helper-text-01-font-size)}.case-inspection-logs-tab__detail-properties{display:flex;flex-direction:column;gap:var(--cds-spacing-03)}.case-inspection-logs-tab__detail-properties dt{margin-bottom:var(--cds-spacing-01)}.case-inspection-logs-tab__detail-properties dt code{color:var(--cds-text-secondary)}.case-inspection-logs-tab__detail-properties dd{margin:0 0 var(--cds-spacing-02) 0}.case-inspection-logs-tab__detail-properties dd code{color:var(var(--cds-status-purple))}.case-inspection-logs-tab__detail-properties dt,.case-inspection-logs-tab__detail-properties dd{font-size:var(--cds-helper-text-01-font-size);word-break:break-all}.case-inspection-logs-tab__detail-stacktrace{margin:0;padding:var(--cds-spacing-03);background-color:var(--cds-background);border:1px solid var(--cds-border-subtle);white-space:pre-wrap;word-break:break-word;font-family:var(--cds-code-01-font-family);font-size:var(--cds-helper-text-01-font-size);max-height:256px;overflow:auto}\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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { 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: FormsModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$1.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: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i4$1.DatePicker, selector: "cds-date-picker, ibm-date-picker", inputs: ["range", "dateFormat", "language", "label", "helperText", "rangeHelperText", "rangeLabel", "placeholder", "ariaLabel", "inputPattern", "id", "value", "theme", "disabled", "readonly", "invalid", "invalidText", "warn", "warnText", "size", "rangeInvalid", "rangeInvalidText", "rangeWarn", "rangeWarnText", "skeleton", "plugins", "flatpickrOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i4$1.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: i4$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: IconModule }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i4$1.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i4$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i4$1.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionLogsTabComponent, deps: [{ token: CaseInspectionService }, { token: i1$5.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
7204
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionLogsTabComponent, isStandalone: true, selector: "valtimo-case-inspection-logs", inputs: { documentId: "documentId", pendingProcessInstanceId: "pendingProcessInstanceId" }, viewQueries: [{ propertyName: "_afterDatePicker", first: true, predicate: ["afterPicker"], descendants: true }, { propertyName: "_beforeDatePicker", first: true, predicate: ["beforePicker"], descendants: true }, { propertyName: "timestampTemplate", first: true, predicate: ["timestampTemplate"], descendants: true }, { propertyName: "levelTemplate", first: true, predicate: ["levelTemplate"], descendants: true }, { propertyName: "messageTemplate", first: true, predicate: ["messageTemplate"], descendants: true }], usesOnChanges: 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<section class=\"case-inspection-logs-tab\">\n <form\n class=\"case-inspection-logs-tab__filters\"\n [formGroup]=\"formGroup\"\n (ngSubmit)=\"onApplyFilter()\"\n >\n <cds-text-label\n class=\"case-inspection-logs-tab__filter case-inspection-logs-tab__filter--message\"\n >\n {{ 'case.inspection.logs.filters.message' | translate }}\n\n <input\n cdsText\n formControlName=\"likeFormattedMessage\"\n [placeholder]=\"'case.inspection.logs.filters.messagePlaceholder' | translate\"\n cdsLayer=\"1\"\n />\n </cds-text-label>\n\n <cds-dropdown\n class=\"case-inspection-logs-tab__filter case-inspection-logs-tab__filter--level\"\n formControlName=\"level\"\n [label]=\"'case.inspection.logs.filters.level' | translate\"\n [placeholder]=\"'case.inspection.logs.filters.levelPlaceholder' | translate\"\n [dropUp]=\"false\"\n cdsLayer=\"1\"\n >\n <cds-dropdown-list [items]=\"logLevelItems\"></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-date-picker\n #afterPicker\n class=\"case-inspection-logs-tab__filter\"\n [label]=\"'case.inspection.logs.filters.after' | translate\"\n [dateFormat]=\"'d-m-Y H:i'\"\n [flatpickrOptions]=\"{enableTime: true, time_24hr: true}\"\n placeholder=\"DD-MM-YYYY HH:mm\"\n cdsLayer=\"1\"\n (valueChange)=\"onAfterDateSelected($event)\"\n ></cds-date-picker>\n\n <cds-date-picker\n #beforePicker\n class=\"case-inspection-logs-tab__filter\"\n [label]=\"'case.inspection.logs.filters.before' | translate\"\n [dateFormat]=\"'d-m-Y H:i'\"\n [flatpickrOptions]=\"{enableTime: true, time_24hr: true}\"\n placeholder=\"DD-MM-YYYY HH:mm\"\n cdsLayer=\"1\"\n (valueChange)=\"onBeforeDateSelected($event)\"\n ></cds-date-picker>\n\n <div class=\"case-inspection-logs-tab__filter-actions\">\n <button cdsButton=\"primary\" size=\"md\" type=\"submit\">\n {{ 'case.inspection.logs.filters.apply' | translate }}\n </button>\n\n <button cdsButton=\"tertiary\" size=\"md\" type=\"button\" (click)=\"onResetFilter()\">\n {{ 'case.inspection.logs.filters.reset' | translate }}\n </button>\n </div>\n </form>\n\n <ng-container *ngIf=\"$activeProcessInstanceFilter() as processInstanceId\">\n <div class=\"case-inspection-logs-tab__chip-row\">\n <cds-tag type=\"purple\" size=\"md\">\n {{ 'case.inspection.logs.filters.processInstanceChip' | translate }}:\n <code>{{ processInstanceId }}</code>\n </cds-tag>\n\n <button cdsButton=\"ghost\" size=\"sm\" type=\"button\" (click)=\"onClearProcessInstanceFilter()\">\n {{ 'case.inspection.logs.filters.clearProcessInstance' | translate }}\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-logs-tab__error\">{{ message }}</p>\n </ng-container>\n\n <div *ngIf=\"$loading()\" class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n\n <ng-container *ngIf=\"!$loading() && !$errorMessage()\">\n <p *ngIf=\"$rows().length === 0\" class=\"case-inspection-logs-tab__empty\">\n {{\n ($hasActiveSearch() ? 'case.inspection.logs.emptyFiltered' : 'case.inspection.logs.empty')\n | translate\n }}\n </p>\n\n <div *ngIf=\"$rows().length > 0\" class=\"case-inspection-logs-tab__layout\">\n <div\n class=\"case-inspection-logs-tab__list-panel\"\n [attr.data-selected-row]=\"$selectedIndex()\"\n >\n <valtimo-carbon-list\n [fields]=\"fields\"\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [items]=\"$rows()\"\n [loading]=\"$loading()\"\n [pagination]=\"pagination\"\n [cdsLayer]=\"1\"\n (paginationClicked)=\"onPageSelected($event)\"\n (rowClicked)=\"onSelectRow($event)\"\n >\n <valtimo-no-results\n description=\"{{\n ($hasActiveSearch()\n ? 'case.inspection.logs.emptyFiltered'\n : 'case.inspection.logs.empty'\n ) | translate\n }}\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n </div>\n\n <aside class=\"case-inspection-logs-tab__detail\" *ngIf=\"$selected() as selected\">\n <header class=\"case-inspection-logs-tab__detail-header\">\n <cds-tag size=\"sm\" [type]=\"LEVEL_TAG[selected.level] || 'gray'\">{{\n selected.level\n }}</cds-tag>\n <span class=\"case-inspection-logs-tab__detail-timestamp\">\n {{ selected.timestamp | date: 'dd-MM-yyyy HH:mm:ss' }}\n </span>\n </header>\n\n <pre class=\"case-inspection-logs-tab__detail-message\">{{ selected.formattedMessage }}</pre>\n\n <h4>{{ 'case.inspection.logs.detail.properties' | translate }}</h4>\n <dl class=\"case-inspection-logs-tab__detail-properties\">\n <ng-container *ngFor=\"let prop of selected.properties\">\n <dt>\n <code>{{ prop.key }}</code>\n </dt>\n <dd>\n <code>{{ prop.value }}</code>\n </dd>\n </ng-container>\n </dl>\n\n <ng-container *ngIf=\"selected.stacktrace\">\n <h4>{{ 'case.inspection.logs.detail.stacktrace' | translate }}</h4>\n <pre class=\"case-inspection-logs-tab__detail-stacktrace\">{{ selected.stacktrace }}</pre>\n </ng-container>\n </aside>\n </div>\n </ng-container>\n</section>\n\n<ng-template #timestampTemplate let-data=\"data\">\n {{ data.item.timestamp | date: 'dd-MM HH:mm:ss' }}\n</ng-template>\n\n<ng-template #levelTemplate let-data=\"data\">\n <cds-tag size=\"sm\" [type]=\"LEVEL_TAG[data.item.level] || 'gray'\">\n {{ data.item.level }}\n </cds-tag>\n</ng-template>\n\n<ng-template #messageTemplate let-data=\"data\">\n <span class=\"case-inspection-logs-tab__message-cell\">{{ data.item.formattedMessage }}</span>\n</ng-template>\n", styles: [".case-inspection-logs-tab{display:flex;flex-direction:column;padding:16px;gap:var(--cds-spacing-05)}.case-inspection-logs-tab__filters{display:grid;grid-template-columns:minmax(200px,1fr) minmax(140px,200px) 220px 220px auto;gap:var(--cds-spacing-04);align-items:end}.case-inspection-logs-tab__filter{min-width:0}.case-inspection-logs-tab cds-date-picker{display:block;width:100%}.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker,.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker--single,.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker-container,.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker-input,.case-inspection-logs-tab cds-date-picker ::ng-deep input.cds--date-picker__input{width:100%;min-width:0}.case-inspection-logs-tab__filter-actions{display:flex;gap:var(--cds-spacing-03)}.case-inspection-logs-tab__chip-row{display:flex;align-items:center;gap:var(--cds-spacing-03)}.case-inspection-logs-tab__error{color:var(--cds-support-error)}.case-inspection-logs-tab__empty{color:var(--cds-text-secondary);font-style:italic}.case-inspection-logs-tab__layout{display:flex;gap:var(--cds-spacing-05)}.case-inspection-logs-tab__list-panel{flex:0 0 65%;min-width:0}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table{width:100%}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table tbody tr{cursor:pointer}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table td:first-child{width:136px;min-width:136px;max-width:136px}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table td:nth-child(2){width:96px;min-width:96px;max-width:96px}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table td:nth-child(3){max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-inspection-logs-tab__list-panel[data-selected-row=\"0\"] ::ng-deep .cds--data-table tbody tr:nth-child(1){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"1\"] ::ng-deep .cds--data-table tbody tr:nth-child(2){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"2\"] ::ng-deep .cds--data-table tbody tr:nth-child(3){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"3\"] ::ng-deep .cds--data-table tbody tr:nth-child(4){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"4\"] ::ng-deep .cds--data-table tbody tr:nth-child(5){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"5\"] ::ng-deep .cds--data-table tbody tr:nth-child(6){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"6\"] ::ng-deep .cds--data-table tbody tr:nth-child(7){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"7\"] ::ng-deep .cds--data-table tbody tr:nth-child(8){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"8\"] ::ng-deep .cds--data-table tbody tr:nth-child(9){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"9\"] ::ng-deep .cds--data-table tbody tr:nth-child(10){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__message-cell{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.case-inspection-logs-tab__pagination{margin-top:var(--cds-spacing-03)}.case-inspection-logs-tab__detail{flex:0 0 calc(35% - var(--cds-spacing-05));background-color:var(--cds-layer);border:1px solid var(--cds-border-subtle);padding:var(--cds-spacing-05);overflow:auto}.case-inspection-logs-tab__detail h4{margin-top:var(--cds-spacing-05);margin-bottom:var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size);font-weight:600}.case-inspection-logs-tab__detail-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--cds-spacing-02)}.case-inspection-logs-tab__detail-timestamp{color:var(--cds-text-secondary);font-size:var(--cds-helper-text-01-font-size)}.case-inspection-logs-tab__detail-message{margin:var(--cds-spacing-04) 0;padding:var(--cds-spacing-03);background-color:var(--cds-background);border:1px solid var(--cds-border-subtle);white-space:pre-wrap;word-break:break-word;font-size:var(--cds-helper-text-01-font-size)}.case-inspection-logs-tab__detail-properties{display:flex;flex-direction:column;gap:var(--cds-spacing-03)}.case-inspection-logs-tab__detail-properties dt{margin-bottom:var(--cds-spacing-01)}.case-inspection-logs-tab__detail-properties dt code{color:var(--cds-text-secondary)}.case-inspection-logs-tab__detail-properties dd{margin:0 0 var(--cds-spacing-02) 0}.case-inspection-logs-tab__detail-properties dd code{color:var(var(--cds-status-purple))}.case-inspection-logs-tab__detail-properties dt,.case-inspection-logs-tab__detail-properties dd{font-size:var(--cds-helper-text-01-font-size);word-break:break-all}.case-inspection-logs-tab__detail-stacktrace{margin:0;padding:var(--cds-spacing-03);background-color:var(--cds-background);border:1px solid var(--cds-border-subtle);white-space:pre-wrap;word-break:break-word;font-family:var(--cds-code-01-font-family);font-size:var(--cds-helper-text-01-font-size);max-height:256px;overflow:auto}\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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$5.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$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2.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: i2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i4$1.DatePicker, selector: "cds-date-picker, ibm-date-picker", inputs: ["range", "dateFormat", "language", "label", "helperText", "rangeHelperText", "rangeLabel", "placeholder", "ariaLabel", "inputPattern", "id", "value", "theme", "disabled", "readonly", "invalid", "invalidText", "warn", "warnText", "size", "rangeInvalid", "rangeInvalidText", "rangeWarn", "rangeWarnText", "skeleton", "plugins", "flatpickrOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i4$1.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: i4$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: IconModule }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i4$1.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i4$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i4$1.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7015
7205
  }
7016
7206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionLogsTabComponent, decorators: [{
7017
7207
  type: Component,
@@ -7030,7 +7220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7030
7220
  LoadingModule,
7031
7221
  LayerModule,
7032
7222
  ], 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<section class=\"case-inspection-logs-tab\">\n <form\n class=\"case-inspection-logs-tab__filters\"\n [formGroup]=\"formGroup\"\n (ngSubmit)=\"onApplyFilter()\"\n >\n <cds-text-label\n class=\"case-inspection-logs-tab__filter case-inspection-logs-tab__filter--message\"\n >\n {{ 'case.inspection.logs.filters.message' | translate }}\n\n <input\n cdsText\n formControlName=\"likeFormattedMessage\"\n [placeholder]=\"'case.inspection.logs.filters.messagePlaceholder' | translate\"\n cdsLayer=\"1\"\n />\n </cds-text-label>\n\n <cds-dropdown\n class=\"case-inspection-logs-tab__filter case-inspection-logs-tab__filter--level\"\n formControlName=\"level\"\n [label]=\"'case.inspection.logs.filters.level' | translate\"\n [placeholder]=\"'case.inspection.logs.filters.levelPlaceholder' | translate\"\n [dropUp]=\"false\"\n cdsLayer=\"1\"\n >\n <cds-dropdown-list [items]=\"logLevelItems\"></cds-dropdown-list>\n </cds-dropdown>\n\n <cds-date-picker\n #afterPicker\n class=\"case-inspection-logs-tab__filter\"\n [label]=\"'case.inspection.logs.filters.after' | translate\"\n [dateFormat]=\"'d-m-Y H:i'\"\n [flatpickrOptions]=\"{enableTime: true, time_24hr: true}\"\n placeholder=\"DD-MM-YYYY HH:mm\"\n cdsLayer=\"1\"\n (valueChange)=\"onAfterDateSelected($event)\"\n ></cds-date-picker>\n\n <cds-date-picker\n #beforePicker\n class=\"case-inspection-logs-tab__filter\"\n [label]=\"'case.inspection.logs.filters.before' | translate\"\n [dateFormat]=\"'d-m-Y H:i'\"\n [flatpickrOptions]=\"{enableTime: true, time_24hr: true}\"\n placeholder=\"DD-MM-YYYY HH:mm\"\n cdsLayer=\"1\"\n (valueChange)=\"onBeforeDateSelected($event)\"\n ></cds-date-picker>\n\n <div class=\"case-inspection-logs-tab__filter-actions\">\n <button cdsButton=\"primary\" size=\"md\" type=\"submit\">\n {{ 'case.inspection.logs.filters.apply' | translate }}\n </button>\n\n <button cdsButton=\"tertiary\" size=\"md\" type=\"button\" (click)=\"onResetFilter()\">\n {{ 'case.inspection.logs.filters.reset' | translate }}\n </button>\n </div>\n </form>\n\n <ng-container *ngIf=\"$activeProcessInstanceFilter() as processInstanceId\">\n <div class=\"case-inspection-logs-tab__chip-row\">\n <cds-tag type=\"purple\" size=\"md\">\n {{ 'case.inspection.logs.filters.processInstanceChip' | translate }}:\n <code>{{ processInstanceId }}</code>\n </cds-tag>\n\n <button cdsButton=\"ghost\" size=\"sm\" type=\"button\" (click)=\"onClearProcessInstanceFilter()\">\n {{ 'case.inspection.logs.filters.clearProcessInstance' | translate }}\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-logs-tab__error\">{{ message }}</p>\n </ng-container>\n\n <div *ngIf=\"$loading()\" class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n\n <ng-container *ngIf=\"!$loading() && !$errorMessage()\">\n <p *ngIf=\"$rows().length === 0\" class=\"case-inspection-logs-tab__empty\">\n {{\n ($hasActiveSearch() ? 'case.inspection.logs.emptyFiltered' : 'case.inspection.logs.empty')\n | translate\n }}\n </p>\n\n <div *ngIf=\"$rows().length > 0\" class=\"case-inspection-logs-tab__layout\">\n <div\n class=\"case-inspection-logs-tab__list-panel\"\n [attr.data-selected-row]=\"$selectedIndex()\"\n >\n <valtimo-carbon-list\n [fields]=\"fields\"\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [items]=\"$rows()\"\n [loading]=\"$loading()\"\n [pagination]=\"pagination\"\n [cdsLayer]=\"1\"\n (paginationClicked)=\"onPageSelected($event)\"\n (rowClicked)=\"onSelectRow($event)\"\n >\n <valtimo-no-results\n description=\"{{\n ($hasActiveSearch()\n ? 'case.inspection.logs.emptyFiltered'\n : 'case.inspection.logs.empty'\n ) | translate\n }}\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n </div>\n\n <aside class=\"case-inspection-logs-tab__detail\" *ngIf=\"$selected() as selected\">\n <header class=\"case-inspection-logs-tab__detail-header\">\n <cds-tag size=\"sm\" [type]=\"LEVEL_TAG[selected.level] || 'gray'\">{{\n selected.level\n }}</cds-tag>\n <span class=\"case-inspection-logs-tab__detail-timestamp\">\n {{ selected.timestamp | date: 'dd-MM-yyyy HH:mm:ss' }}\n </span>\n </header>\n\n <pre class=\"case-inspection-logs-tab__detail-message\">{{ selected.formattedMessage }}</pre>\n\n <h4>{{ 'case.inspection.logs.detail.properties' | translate }}</h4>\n <dl class=\"case-inspection-logs-tab__detail-properties\">\n <ng-container *ngFor=\"let prop of selected.properties\">\n <dt>\n <code>{{ prop.key }}</code>\n </dt>\n <dd>\n <code>{{ prop.value }}</code>\n </dd>\n </ng-container>\n </dl>\n\n <ng-container *ngIf=\"selected.stacktrace\">\n <h4>{{ 'case.inspection.logs.detail.stacktrace' | translate }}</h4>\n <pre class=\"case-inspection-logs-tab__detail-stacktrace\">{{ selected.stacktrace }}</pre>\n </ng-container>\n </aside>\n </div>\n </ng-container>\n</section>\n\n<ng-template #timestampTemplate let-data=\"data\">\n {{ data.item.timestamp | date: 'dd-MM HH:mm:ss' }}\n</ng-template>\n\n<ng-template #levelTemplate let-data=\"data\">\n <cds-tag size=\"sm\" [type]=\"LEVEL_TAG[data.item.level] || 'gray'\">\n {{ data.item.level }}\n </cds-tag>\n</ng-template>\n\n<ng-template #messageTemplate let-data=\"data\">\n <span class=\"case-inspection-logs-tab__message-cell\">{{ data.item.formattedMessage }}</span>\n</ng-template>\n", styles: [".case-inspection-logs-tab{display:flex;flex-direction:column;padding:16px;gap:var(--cds-spacing-05)}.case-inspection-logs-tab__filters{display:grid;grid-template-columns:minmax(200px,1fr) minmax(140px,200px) 220px 220px auto;gap:var(--cds-spacing-04);align-items:end}.case-inspection-logs-tab__filter{min-width:0}.case-inspection-logs-tab cds-date-picker{display:block;width:100%}.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker,.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker--single,.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker-container,.case-inspection-logs-tab cds-date-picker ::ng-deep .cds--date-picker-input,.case-inspection-logs-tab cds-date-picker ::ng-deep input.cds--date-picker__input{width:100%;min-width:0}.case-inspection-logs-tab__filter-actions{display:flex;gap:var(--cds-spacing-03)}.case-inspection-logs-tab__chip-row{display:flex;align-items:center;gap:var(--cds-spacing-03)}.case-inspection-logs-tab__error{color:var(--cds-support-error)}.case-inspection-logs-tab__empty{color:var(--cds-text-secondary);font-style:italic}.case-inspection-logs-tab__layout{display:flex;gap:var(--cds-spacing-05)}.case-inspection-logs-tab__list-panel{flex:0 0 65%;min-width:0}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table{width:100%}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table tbody tr{cursor:pointer}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table td:first-child{width:136px;min-width:136px;max-width:136px}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table td:nth-child(2){width:96px;min-width:96px;max-width:96px}.case-inspection-logs-tab__list-panel ::ng-deep .cds--data-table td:nth-child(3){max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-inspection-logs-tab__list-panel[data-selected-row=\"0\"] ::ng-deep .cds--data-table tbody tr:nth-child(1){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"1\"] ::ng-deep .cds--data-table tbody tr:nth-child(2){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"2\"] ::ng-deep .cds--data-table tbody tr:nth-child(3){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"3\"] ::ng-deep .cds--data-table tbody tr:nth-child(4){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"4\"] ::ng-deep .cds--data-table tbody tr:nth-child(5){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"5\"] ::ng-deep .cds--data-table tbody tr:nth-child(6){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"6\"] ::ng-deep .cds--data-table tbody tr:nth-child(7){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"7\"] ::ng-deep .cds--data-table tbody tr:nth-child(8){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"8\"] ::ng-deep .cds--data-table tbody tr:nth-child(9){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__list-panel[data-selected-row=\"9\"] ::ng-deep .cds--data-table tbody tr:nth-child(10){background-color:var(--cds-layer-selected)}.case-inspection-logs-tab__message-cell{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.case-inspection-logs-tab__pagination{margin-top:var(--cds-spacing-03)}.case-inspection-logs-tab__detail{flex:0 0 calc(35% - var(--cds-spacing-05));background-color:var(--cds-layer);border:1px solid var(--cds-border-subtle);padding:var(--cds-spacing-05);overflow:auto}.case-inspection-logs-tab__detail h4{margin-top:var(--cds-spacing-05);margin-bottom:var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size);font-weight:600}.case-inspection-logs-tab__detail-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--cds-spacing-02)}.case-inspection-logs-tab__detail-timestamp{color:var(--cds-text-secondary);font-size:var(--cds-helper-text-01-font-size)}.case-inspection-logs-tab__detail-message{margin:var(--cds-spacing-04) 0;padding:var(--cds-spacing-03);background-color:var(--cds-background);border:1px solid var(--cds-border-subtle);white-space:pre-wrap;word-break:break-word;font-size:var(--cds-helper-text-01-font-size)}.case-inspection-logs-tab__detail-properties{display:flex;flex-direction:column;gap:var(--cds-spacing-03)}.case-inspection-logs-tab__detail-properties dt{margin-bottom:var(--cds-spacing-01)}.case-inspection-logs-tab__detail-properties dt code{color:var(--cds-text-secondary)}.case-inspection-logs-tab__detail-properties dd{margin:0 0 var(--cds-spacing-02) 0}.case-inspection-logs-tab__detail-properties dd code{color:var(var(--cds-status-purple))}.case-inspection-logs-tab__detail-properties dt,.case-inspection-logs-tab__detail-properties dd{font-size:var(--cds-helper-text-01-font-size);word-break:break-all}.case-inspection-logs-tab__detail-stacktrace{margin:0;padding:var(--cds-spacing-03);background-color:var(--cds-background);border:1px solid var(--cds-border-subtle);white-space:pre-wrap;word-break:break-word;font-family:var(--cds-code-01-font-family);font-size:var(--cds-helper-text-01-font-size);max-height:256px;overflow:auto}\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"] }]
7033
- }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i1$4.FormBuilder }], propDecorators: { _afterDatePicker: [{
7223
+ }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i1$5.FormBuilder }], propDecorators: { _afterDatePicker: [{
7034
7224
  type: ViewChild,
7035
7225
  args: ['afterPicker']
7036
7226
  }], _beforeDatePicker: [{
@@ -7307,8 +7497,8 @@ class CaseInspectionProcessVariableModalComponent {
7307
7497
  }
7308
7498
  };
7309
7499
  }
7310
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionProcessVariableModalComponent, deps: [{ token: i1$4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
7311
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionProcessVariableModalComponent, isStandalone: true, selector: "valtimo-case-inspection-process-variable-modal", inputs: { open: "open", mode: "mode", initialVariable: "initialVariable" }, outputs: { modalClosed: "modalClosed" }, usesOnChanges: 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<cds-modal valtimoCdsModal [open]=\"open\" size=\"sm\" showFooter=\"true\" (close)=\"onCancel()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{\n (mode === 'edit'\n ? 'case.inspection.processes.variableModal.editTitle'\n : 'case.inspection.processes.variableModal.addTitle'\n ) | translate\n }}\n </h3>\n </cds-modal-header>\n\n <form\n [cdsLayer]=\"1\"\n [formGroup]=\"formGroup\"\n cdsModalContent\n class=\"case-inspection-variable-modal__form\"\n >\n <cds-label>\n {{ 'case.inspection.processes.variableModal.name' | translate }}\n\n <input\n cdsText\n formControlName=\"name\"\n [invalid]=\"name.dirty && name.invalid\"\n />\n </cds-label>\n\n <v-select\n formControlName=\"type\"\n titleTranslationKey=\"case.inspection.processes.variableModal.type\"\n [appendInline]=\"false\"\n [items]=\"typeSelectItems\"\n ></v-select>\n\n <ng-container [ngSwitch]=\"type.value\">\n <cds-label *ngSwitchCase=\"'STRING'\">\n {{ 'case.inspection.processes.variableModal.value' | translate }}\n\n <input cdsText formControlName=\"valueText\" />\n </cds-label>\n\n <ng-container *ngSwitchCase=\"'INTEGER'\">\n <ng-container *ngTemplateOutlet=\"numberField\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'LONG'\">\n <ng-container *ngTemplateOutlet=\"numberField\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DOUBLE'\">\n <ng-container *ngTemplateOutlet=\"numberField\"></ng-container>\n </ng-container>\n\n <cds-toggle\n *ngSwitchCase=\"'BOOLEAN'\"\n formControlName=\"valueBoolean\"\n [label]=\"'case.inspection.processes.variableModal.value' | translate\"\n ></cds-toggle>\n\n <cds-textarea-label\n *ngSwitchCase=\"'JSON'\"\n [invalid]=\"$invalidJson()\"\n [invalidText]=\"'case.inspection.processes.variableModal.invalidJson' | translate\"\n >\n {{ 'case.inspection.processes.variableModal.value' | translate }}\n\n <textarea\n cdsTextArea\n formControlName=\"valueJson\"\n rows=\"8\"\n [invalid]=\"$invalidJson()\"\n ></textarea>\n </cds-textarea-label>\n </ng-container>\n\n <ng-template #numberField>\n <cds-number\n formControlName=\"valueNumber\"\n [label]=\"'case.inspection.processes.variableModal.value' | translate\"\n [step]=\"type.value === 'DOUBLE' ? 0.1 : 1\"\n ></cds-number>\n </ng-template>\n </form>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'case.inspection.processes.variableModal.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"formGroup.invalid\"\n (click)=\"onConfirm()\"\n >\n {{ 'case.inspection.processes.variableModal.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".case-inspection-variable-modal__form{display:flex;flex-direction:column;gap:var(--cds-spacing-06)}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { 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: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i4$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i4$1.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i4$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i4$1.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: NumberModule }, { kind: "component", type: i4$1.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: "ngmodule", type: ToggleModule }, { kind: "component", type: i4$1.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i2$1.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: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7500
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionProcessVariableModalComponent, deps: [{ token: i1$5.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
7501
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionProcessVariableModalComponent, isStandalone: true, selector: "valtimo-case-inspection-process-variable-modal", inputs: { open: "open", mode: "mode", initialVariable: "initialVariable" }, outputs: { modalClosed: "modalClosed" }, usesOnChanges: 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<cds-modal valtimoCdsModal [open]=\"open\" size=\"sm\" showFooter=\"true\" (close)=\"onCancel()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{\n (mode === 'edit'\n ? 'case.inspection.processes.variableModal.editTitle'\n : 'case.inspection.processes.variableModal.addTitle'\n ) | translate\n }}\n </h3>\n </cds-modal-header>\n\n <form\n [cdsLayer]=\"1\"\n [formGroup]=\"formGroup\"\n cdsModalContent\n class=\"case-inspection-variable-modal__form\"\n >\n <cds-label>\n {{ 'case.inspection.processes.variableModal.name' | translate }}\n\n <input\n cdsText\n formControlName=\"name\"\n [invalid]=\"name.dirty && name.invalid\"\n />\n </cds-label>\n\n <v-select\n formControlName=\"type\"\n titleTranslationKey=\"case.inspection.processes.variableModal.type\"\n [appendInline]=\"false\"\n [items]=\"typeSelectItems\"\n ></v-select>\n\n <ng-container [ngSwitch]=\"type.value\">\n <cds-label *ngSwitchCase=\"'STRING'\">\n {{ 'case.inspection.processes.variableModal.value' | translate }}\n\n <input cdsText formControlName=\"valueText\" />\n </cds-label>\n\n <ng-container *ngSwitchCase=\"'INTEGER'\">\n <ng-container *ngTemplateOutlet=\"numberField\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'LONG'\">\n <ng-container *ngTemplateOutlet=\"numberField\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DOUBLE'\">\n <ng-container *ngTemplateOutlet=\"numberField\"></ng-container>\n </ng-container>\n\n <cds-toggle\n *ngSwitchCase=\"'BOOLEAN'\"\n formControlName=\"valueBoolean\"\n [label]=\"'case.inspection.processes.variableModal.value' | translate\"\n ></cds-toggle>\n\n <cds-textarea-label\n *ngSwitchCase=\"'JSON'\"\n [invalid]=\"$invalidJson()\"\n [invalidText]=\"'case.inspection.processes.variableModal.invalidJson' | translate\"\n >\n {{ 'case.inspection.processes.variableModal.value' | translate }}\n\n <textarea\n cdsTextArea\n formControlName=\"valueJson\"\n rows=\"8\"\n [invalid]=\"$invalidJson()\"\n ></textarea>\n </cds-textarea-label>\n </ng-container>\n\n <ng-template #numberField>\n <cds-number\n formControlName=\"valueNumber\"\n [label]=\"'case.inspection.processes.variableModal.value' | translate\"\n [step]=\"type.value === 'DOUBLE' ? 0.1 : 1\"\n ></cds-number>\n </ng-template>\n </form>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'case.inspection.processes.variableModal.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"formGroup.invalid\"\n (click)=\"onConfirm()\"\n >\n {{ 'case.inspection.processes.variableModal.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".case-inspection-variable-modal__form{display:flex;flex-direction:column;gap:var(--cds-spacing-06)}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$5.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$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i4$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i4$1.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i4$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "directive", type: i4$1.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i4$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: NumberModule }, { kind: "component", type: i4$1.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: "ngmodule", type: ToggleModule }, { kind: "component", type: i4$1.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "ariaLabel", "skeleton"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i2.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: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7312
7502
  }
7313
7503
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionProcessVariableModalComponent, decorators: [{
7314
7504
  type: Component,
@@ -7325,7 +7515,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7325
7515
  SelectModule,
7326
7516
  ValtimoCdsModalDirective,
7327
7517
  ], 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 valtimoCdsModal [open]=\"open\" size=\"sm\" showFooter=\"true\" (close)=\"onCancel()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{\n (mode === 'edit'\n ? 'case.inspection.processes.variableModal.editTitle'\n : 'case.inspection.processes.variableModal.addTitle'\n ) | translate\n }}\n </h3>\n </cds-modal-header>\n\n <form\n [cdsLayer]=\"1\"\n [formGroup]=\"formGroup\"\n cdsModalContent\n class=\"case-inspection-variable-modal__form\"\n >\n <cds-label>\n {{ 'case.inspection.processes.variableModal.name' | translate }}\n\n <input\n cdsText\n formControlName=\"name\"\n [invalid]=\"name.dirty && name.invalid\"\n />\n </cds-label>\n\n <v-select\n formControlName=\"type\"\n titleTranslationKey=\"case.inspection.processes.variableModal.type\"\n [appendInline]=\"false\"\n [items]=\"typeSelectItems\"\n ></v-select>\n\n <ng-container [ngSwitch]=\"type.value\">\n <cds-label *ngSwitchCase=\"'STRING'\">\n {{ 'case.inspection.processes.variableModal.value' | translate }}\n\n <input cdsText formControlName=\"valueText\" />\n </cds-label>\n\n <ng-container *ngSwitchCase=\"'INTEGER'\">\n <ng-container *ngTemplateOutlet=\"numberField\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'LONG'\">\n <ng-container *ngTemplateOutlet=\"numberField\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DOUBLE'\">\n <ng-container *ngTemplateOutlet=\"numberField\"></ng-container>\n </ng-container>\n\n <cds-toggle\n *ngSwitchCase=\"'BOOLEAN'\"\n formControlName=\"valueBoolean\"\n [label]=\"'case.inspection.processes.variableModal.value' | translate\"\n ></cds-toggle>\n\n <cds-textarea-label\n *ngSwitchCase=\"'JSON'\"\n [invalid]=\"$invalidJson()\"\n [invalidText]=\"'case.inspection.processes.variableModal.invalidJson' | translate\"\n >\n {{ 'case.inspection.processes.variableModal.value' | translate }}\n\n <textarea\n cdsTextArea\n formControlName=\"valueJson\"\n rows=\"8\"\n [invalid]=\"$invalidJson()\"\n ></textarea>\n </cds-textarea-label>\n </ng-container>\n\n <ng-template #numberField>\n <cds-number\n formControlName=\"valueNumber\"\n [label]=\"'case.inspection.processes.variableModal.value' | translate\"\n [step]=\"type.value === 'DOUBLE' ? 0.1 : 1\"\n ></cds-number>\n </ng-template>\n </form>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'case.inspection.processes.variableModal.cancel' | translate }}\n </button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"formGroup.invalid\"\n (click)=\"onConfirm()\"\n >\n {{ 'case.inspection.processes.variableModal.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".case-inspection-variable-modal__form{display:flex;flex-direction:column;gap:var(--cds-spacing-06)}\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"] }]
7328
- }], ctorParameters: () => [{ type: i1$4.FormBuilder }], propDecorators: { open: [{
7518
+ }], ctorParameters: () => [{ type: i1$5.FormBuilder }], propDecorators: { open: [{
7329
7519
  type: Input
7330
7520
  }], mode: [{
7331
7521
  type: Input
@@ -7502,7 +7692,7 @@ class CaseInspectionProcessDetailComponent {
7502
7692
  });
7503
7693
  }
7504
7694
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionProcessDetailComponent, deps: [{ token: CaseInspectionService }, { token: i1.GlobalNotificationService }, { token: i4.TranslateService }, { token: i4$1.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
7505
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseInspectionProcessDetailComponent, isStandalone: true, selector: "valtimo-case-inspection-process-detail", inputs: { row: "row", documentId: "documentId", canInspectModify: "canInspectModify" }, outputs: { viewBuildingBlockEvent: "viewBuildingBlockEvent", variablesChangedEvent: "variablesChangedEvent", viewProcessLogsEvent: "viewProcessLogsEvent" }, 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<section class=\"case-inspection-process-detail\">\n <header class=\"case-inspection-process-detail__header\">\n <h3>\n {{ row.processName || row.processDefinitionKey }}\n <small>{{ 'case.inspection.processes.version' | translate }} {{ row.version }}</small>\n </h3>\n\n <div class=\"case-inspection-process-detail__tags\">\n <cds-tag\n size=\"sm\"\n [type]=\"row.active ? 'blue' : 'cool-gray'\"\n [title]=\"\n row.active\n ? ('case.inspection.processes.active' | translate)\n : ('case.inspection.processes.completed' | translate)\n \"\n >\n {{\n row.active\n ? ('case.inspection.processes.active' | translate)\n : ('case.inspection.processes.completed' | translate)\n }}\n </cds-tag>\n\n @if (row.buildingBlock; as bb) {\n <cds-tag\n size=\"sm\"\n type=\"green\"\n [title]=\"'case.inspection.processes.buildingBlockTagTooltip' | translate\"\n >\n {{ 'case.inspection.processes.buildingBlockTag' | translate }}: {{ bb.definitionKey }}\n {{ bb.definitionVersionTag }}\n </cds-tag>\n }\n\n <button cdsButton=\"ghost\" size=\"sm\" type=\"button\" (click)=\"onViewProcessLogs()\">\n {{ 'case.inspection.processes.viewLogs' | translate }}\n </button>\n </div>\n\n <cds-structured-list class=\"case-inspection-process-detail__meta\" [condensed]=\"true\">\n <cds-list-row>\n <cds-list-column>{{ 'case.inspection.processes.instanceId' | translate }}</cds-list-column>\n <cds-list-column\n ><code>{{ row.processInstanceId }}</code></cds-list-column\n >\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{ 'case.inspection.processes.startedBy' | translate }}</cds-list-column>\n <cds-list-column>{{ row.startedBy || row.startedByUserId || '\u2014' }}</cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{ 'case.inspection.processes.startedOn' | translate }}</cds-list-column>\n <cds-list-column>{{ row.startedOn | date: 'medium' }}</cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"row.buildingBlock as bb\">\n <cds-list-column>{{\n 'case.inspection.processes.buildingBlock' | translate\n }}</cds-list-column>\n <cds-list-column>\n <a\n cdsLink\n href=\"javascript:void(0)\"\n (click)=\"onViewBuildingBlock(bb); $event.preventDefault()\"\n >\n {{ bb.definitionKey }} {{ bb.definitionVersionTag }}\n <span aria-hidden=\"true\">\u2192</span>\n </a>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </header>\n\n <cds-tabs type=\"inline\">\n <cds-tab\n [active]=\"$activeTab() === ProcessDetailTab.DETAILS\"\n [heading]=\"'case.inspection.processes.detailsTab' | translate\"\n (selected)=\"onSelectTab(ProcessDetailTab.DETAILS)\"\n >\n <div class=\"case-inspection-process-detail__pane\">\n @if (row.incidents.length > 0) {\n <h4 class=\"case-inspection-process-detail__subhead\">\n {{ 'case.inspection.processes.incidentsHeader' | translate }}\n </h4>\n\n <cds-structured-list>\n <cds-list-header>\n @for (column of incidentColumns; track column) {\n <cds-list-column>{{ column | translate }}</cds-list-column>\n }\n </cds-list-header>\n\n @for (incident of row.incidents; track incident.id) {\n <cds-list-row>\n <cds-list-column>{{ incident.incidentType }}</cds-list-column>\n <cds-list-column>{{ incident.activityId || '\u2014' }}</cds-list-column>\n <cds-list-column>{{ incident.incidentMessage || '\u2014' }}</cds-list-column>\n <cds-list-column>{{ incident.incidentTimestamp | date: 'medium' }}</cds-list-column>\n </cds-list-row>\n }\n </cds-structured-list>\n }\n\n <h4\n class=\"case-inspection-process-detail__subhead case-inspection-process-detail__subhead--no-margin\"\n >\n {{ 'case.inspection.processes.tasksHeader' | translate }}\n </h4>\n\n @if (row.tasks.length > 0) {\n <cds-structured-list>\n <cds-list-header>\n @for (column of taskColumns; track column) {\n <cds-list-column>{{ column | translate }}</cds-list-column>\n }\n </cds-list-header>\n\n @for (task of row.tasks; track task.id) {\n <cds-list-row>\n <cds-list-column>{{ task.name }}</cds-list-column>\n <cds-list-column>{{ task.assignee || '\u2014' }}</cds-list-column>\n <cds-list-column>{{ task.created | date: 'medium' }}</cds-list-column>\n </cds-list-row>\n }\n </cds-structured-list>\n } @else {\n <p class=\"case-inspection-process-detail__empty\">\n {{ 'case.inspection.processes.noTasks' | translate }}\n </p>\n }\n\n <div class=\"case-inspection-process-detail__subhead-row\">\n <h4 class=\"case-inspection-process-detail__subhead\">\n {{ 'case.inspection.processes.variablesHeader' | translate }}\n </h4>\n <button\n *ngIf=\"$canMutate()\"\n cdsButton=\"ghost\"\n size=\"sm\"\n type=\"button\"\n (click)=\"onAddVariable()\"\n >\n {{ 'case.inspection.processes.variableActions.add' | translate }}\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n\n @if (row.variables.length > 0) {\n <cds-structured-list>\n <cds-list-header>\n @for (column of variableColumns; track column) {\n <cds-list-column>{{ column | translate }}</cds-list-column>\n }\n @if ($canMutate()) {\n <cds-list-column></cds-list-column>\n }\n </cds-list-header>\n\n @for (variable of row.variables; track variable.name) {\n <cds-list-row>\n <cds-list-column>\n <code>{{ variable.name }}</code>\n </cds-list-column>\n <cds-list-column>{{ variable.type }}</cds-list-column>\n <cds-list-column>\n <code class=\"case-inspection-process-detail__variable-value\">{{\n formatVariableValue(variable)\n }}</code>\n </cds-list-column>\n @if ($canMutate()) {\n <cds-list-column>\n <div class=\"case-inspection-process-detail__variable-actions\">\n <button\n cdsButton=\"ghost\"\n size=\"sm\"\n type=\"button\"\n [iconOnly]=\"true\"\n [title]=\"'case.inspection.processes.variableActions.edit' | translate\"\n (click)=\"onEditVariable(variable)\"\n >\n <svg cdsIcon=\"edit\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"danger--ghost\"\n size=\"sm\"\n type=\"button\"\n [iconOnly]=\"true\"\n [title]=\"'case.inspection.processes.variableActions.delete' | translate\"\n (click)=\"onRequestDelete(variable)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n </cds-list-column>\n }\n </cds-list-row>\n }\n </cds-structured-list>\n } @else {\n <p class=\"case-inspection-process-detail__empty\">\n {{ 'case.inspection.processes.noVariables' | translate }}\n </p>\n }\n\n <h4 class=\"case-inspection-process-detail__subhead\">\n {{ 'case.inspection.processes.jobsHeader' | translate }}\n </h4>\n\n @if (row.jobs.length > 0) {\n <cds-structured-list>\n <cds-list-header>\n @for (column of jobColumns; track column) {\n <cds-list-column>{{ column | translate }}</cds-list-column>\n }\n </cds-list-header>\n\n @for (job of row.jobs; track job.id) {\n <cds-list-row>\n <cds-list-column>\n {{ 'case.inspection.processes.jobTypeLabel.' + job.jobType | translate }}\n </cds-list-column>\n <cds-list-column>\n @if (job.activityId) {\n <code>{{ job.activityId }}</code>\n } @else {\n \u2014\n }\n </cds-list-column>\n <cds-list-column>{{ job.retries }}</cds-list-column>\n <cds-list-column>{{ job.dueDate | date: 'medium' }}</cds-list-column>\n <cds-list-column>{{ job.exceptionMessage || '\u2014' }}</cds-list-column>\n </cds-list-row>\n }\n </cds-structured-list>\n } @else {\n <p class=\"case-inspection-process-detail__empty\">\n {{ 'case.inspection.processes.noJobs' | translate }}\n </p>\n }\n </div>\n </cds-tab>\n\n <cds-tab\n [active]=\"$activeTab() === ProcessDetailTab.DIAGRAM\"\n [heading]=\"'case.inspection.processes.diagramTab' | translate\"\n (selected)=\"onSelectTab(ProcessDetailTab.DIAGRAM)\"\n >\n <div class=\"case-inspection-process-detail__pane case-inspection-process-detail__diagram\">\n @if ($activeTab() === ProcessDetailTab.DIAGRAM) {\n <valtimo-process-diagram\n [processInstanceId]=\"row.processInstanceId\"\n ></valtimo-process-diagram>\n }\n </div>\n </cds-tab>\n </cds-tabs>\n</section>\n\n<valtimo-case-inspection-process-variable-modal\n [open]=\"$modalOpen()\"\n [mode]=\"$modalMode()\"\n [initialVariable]=\"$modalInitial()\"\n (modalClosed)=\"onModalClosed($event)\"\n></valtimo-case-inspection-process-variable-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.inspection.processes.variableActions.delete\"\n confirmButtonType=\"danger\"\n titleTranslationKey=\"case.inspection.processes.variableActions.deleteConfirmTitle\"\n [content]=\"\n 'case.inspection.processes.variableActions.deleteConfirmContent'\n | translate: {name: (pendingDeleteName$ | async) ?? ''}\n \"\n [showModalSubject$]=\"showConfirmDelete$\"\n (cancelEvent)=\"onCancelDelete()\"\n (confirmEvent)=\"onConfirmDelete()\"\n></valtimo-confirmation-modal>\n", styles: [".case-inspection-process-detail{padding-top:var(--cds-spacing-05);padding-bottom:var(--cds-spacing-05);padding-right:var(--cds-spacing-05)}.case-inspection-process-detail__header{margin-bottom:var(--cds-spacing-05)}.case-inspection-process-detail__header h3{margin:0}.case-inspection-process-detail__header h3 small{font-weight:400;color:var(--cds-text-helper);margin-left:var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size)}.case-inspection-process-detail__tags{display:flex;gap:var(--cds-spacing-03);flex-wrap:wrap;margin-top:var(--cds-spacing-03);margin-bottom:var(--cds-spacing-03)}.case-inspection-process-detail__meta code{word-break:break-all}.case-inspection-process-detail__subhead{margin:var(--cds-spacing-06) 0 var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size);font-weight:600;color:var(--cds-text-secondary)}.case-inspection-process-detail__subhead--no-margin{margin-top:0}.case-inspection-process-detail__variable-actions{display:flex;flex-shrink:0;gap:8px}.case-inspection-process-detail__empty{color:var(--cds-text-helper)}.case-inspection-process-detail__variable-value{overflow-wrap:anywhere;white-space:pre-wrap;max-height:96px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical}.case-inspection-process-detail__pane{padding-top:var(--cds-spacing-05)}.case-inspection-process-detail__diagram{margin-top:16px;height:480px;border:1px solid var(--cds-border-subtle);overflow:hidden}.case-inspection-process-detail__diagram ::ng-deep valtimo-process-diagram,.case-inspection-process-detail__diagram ::ng-deep .process-diagram-container{display:flex;flex-direction:column;height:100%}.case-inspection-process-detail__diagram ::ng-deep .diagram-container{flex:1 1 auto;min-height:0;height:auto!important}.case-inspection-process-detail__diagram ::ng-deep .legenda-holder{flex-shrink:0;padding:var(--cds-spacing-03) var(--cds-spacing-05)}\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: "pipe", type: i6.DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: LinkModule }, { kind: "directive", type: i4$1.Link, selector: "[cdsLink], [ibmLink]", inputs: ["inline", "disabled"] }, { kind: "ngmodule", type: StructuredListModule }, { kind: "component", type: i4$1.StructuredList, selector: "cds-structured-list, ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i4$1.ListRow, selector: "cds-list-row, ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i4$1.ListHeader, selector: "cds-list-header, ibm-list-header", inputs: ["skeleton"] }, { kind: "component", type: i4$1.ListColumn, selector: "cds-list-column, ibm-list-column", inputs: ["skeleton", "nowrap"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i4$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i4$1.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: ProcessDiagramComponent, selector: "valtimo-process-diagram", inputs: ["processDefinitionKey", "processInstanceId"], outputs: ["importDone"] }, { kind: "component", type: CaseInspectionProcessVariableModalComponent, selector: "valtimo-case-inspection-process-variable-modal", inputs: ["open", "mode", "initialVariable"], outputs: ["modalClosed"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i2$1.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: LayerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7695
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CaseInspectionProcessDetailComponent, isStandalone: true, selector: "valtimo-case-inspection-process-detail", inputs: { row: "row", documentId: "documentId", canInspectModify: "canInspectModify" }, outputs: { viewBuildingBlockEvent: "viewBuildingBlockEvent", variablesChangedEvent: "variablesChangedEvent", viewProcessLogsEvent: "viewProcessLogsEvent" }, 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<section class=\"case-inspection-process-detail\">\n <header class=\"case-inspection-process-detail__header\">\n <h3>\n {{ row.processName || row.processDefinitionKey }}\n <small>{{ 'case.inspection.processes.version' | translate }} {{ row.version }}</small>\n </h3>\n\n <div class=\"case-inspection-process-detail__tags\">\n <cds-tag\n size=\"sm\"\n [type]=\"row.active ? 'blue' : 'cool-gray'\"\n [title]=\"\n row.active\n ? ('case.inspection.processes.active' | translate)\n : ('case.inspection.processes.completed' | translate)\n \"\n >\n {{\n row.active\n ? ('case.inspection.processes.active' | translate)\n : ('case.inspection.processes.completed' | translate)\n }}\n </cds-tag>\n\n @if (row.buildingBlock; as bb) {\n <cds-tag\n size=\"sm\"\n type=\"green\"\n [title]=\"'case.inspection.processes.buildingBlockTagTooltip' | translate\"\n >\n {{ 'case.inspection.processes.buildingBlockTag' | translate }}: {{ bb.definitionKey }}\n {{ bb.definitionVersionTag }}\n </cds-tag>\n }\n\n <button cdsButton=\"ghost\" size=\"sm\" type=\"button\" (click)=\"onViewProcessLogs()\">\n {{ 'case.inspection.processes.viewLogs' | translate }}\n </button>\n </div>\n\n <cds-structured-list class=\"case-inspection-process-detail__meta\" [condensed]=\"true\">\n <cds-list-row>\n <cds-list-column>{{ 'case.inspection.processes.instanceId' | translate }}</cds-list-column>\n <cds-list-column\n ><code>{{ row.processInstanceId }}</code></cds-list-column\n >\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{ 'case.inspection.processes.startedBy' | translate }}</cds-list-column>\n <cds-list-column>{{ row.startedBy || row.startedByUserId || '\u2014' }}</cds-list-column>\n </cds-list-row>\n\n <cds-list-row>\n <cds-list-column>{{ 'case.inspection.processes.startedOn' | translate }}</cds-list-column>\n <cds-list-column>{{ row.startedOn | date: 'medium' }}</cds-list-column>\n </cds-list-row>\n\n <cds-list-row *ngIf=\"row.buildingBlock as bb\">\n <cds-list-column>{{\n 'case.inspection.processes.buildingBlock' | translate\n }}</cds-list-column>\n <cds-list-column>\n <a\n cdsLink\n href=\"javascript:void(0)\"\n (click)=\"onViewBuildingBlock(bb); $event.preventDefault()\"\n >\n {{ bb.definitionKey }} {{ bb.definitionVersionTag }}\n <span aria-hidden=\"true\">\u2192</span>\n </a>\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </header>\n\n <cds-tabs type=\"inline\">\n <cds-tab\n [active]=\"$activeTab() === ProcessDetailTab.DETAILS\"\n [heading]=\"'case.inspection.processes.detailsTab' | translate\"\n (selected)=\"onSelectTab(ProcessDetailTab.DETAILS)\"\n >\n <div class=\"case-inspection-process-detail__pane\">\n @if (row.incidents.length > 0) {\n <h4 class=\"case-inspection-process-detail__subhead\">\n {{ 'case.inspection.processes.incidentsHeader' | translate }}\n </h4>\n\n <cds-structured-list>\n <cds-list-header>\n @for (column of incidentColumns; track column) {\n <cds-list-column>{{ column | translate }}</cds-list-column>\n }\n </cds-list-header>\n\n @for (incident of row.incidents; track incident.id) {\n <cds-list-row>\n <cds-list-column>{{ incident.incidentType }}</cds-list-column>\n <cds-list-column>{{ incident.activityId || '\u2014' }}</cds-list-column>\n <cds-list-column>{{ incident.incidentMessage || '\u2014' }}</cds-list-column>\n <cds-list-column>{{ incident.incidentTimestamp | date: 'medium' }}</cds-list-column>\n </cds-list-row>\n }\n </cds-structured-list>\n }\n\n <h4\n class=\"case-inspection-process-detail__subhead case-inspection-process-detail__subhead--no-margin\"\n >\n {{ 'case.inspection.processes.tasksHeader' | translate }}\n </h4>\n\n @if (row.tasks.length > 0) {\n <cds-structured-list>\n <cds-list-header>\n @for (column of taskColumns; track column) {\n <cds-list-column>{{ column | translate }}</cds-list-column>\n }\n </cds-list-header>\n\n @for (task of row.tasks; track task.id) {\n <cds-list-row>\n <cds-list-column>{{ task.name }}</cds-list-column>\n <cds-list-column>{{ task.assignee || '\u2014' }}</cds-list-column>\n <cds-list-column>{{ task.created | date: 'medium' }}</cds-list-column>\n </cds-list-row>\n }\n </cds-structured-list>\n } @else {\n <p class=\"case-inspection-process-detail__empty\">\n {{ 'case.inspection.processes.noTasks' | translate }}\n </p>\n }\n\n <div class=\"case-inspection-process-detail__subhead-row\">\n <h4 class=\"case-inspection-process-detail__subhead\">\n {{ 'case.inspection.processes.variablesHeader' | translate }}\n </h4>\n <button\n *ngIf=\"$canMutate()\"\n cdsButton=\"ghost\"\n size=\"sm\"\n type=\"button\"\n (click)=\"onAddVariable()\"\n >\n {{ 'case.inspection.processes.variableActions.add' | translate }}\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n\n @if (row.variables.length > 0) {\n <cds-structured-list>\n <cds-list-header>\n @for (column of variableColumns; track column) {\n <cds-list-column>{{ column | translate }}</cds-list-column>\n }\n @if ($canMutate()) {\n <cds-list-column></cds-list-column>\n }\n </cds-list-header>\n\n @for (variable of row.variables; track variable.name) {\n <cds-list-row>\n <cds-list-column>\n <code>{{ variable.name }}</code>\n </cds-list-column>\n <cds-list-column>{{ variable.type }}</cds-list-column>\n <cds-list-column>\n <code class=\"case-inspection-process-detail__variable-value\">{{\n formatVariableValue(variable)\n }}</code>\n </cds-list-column>\n @if ($canMutate()) {\n <cds-list-column>\n <div class=\"case-inspection-process-detail__variable-actions\">\n <button\n cdsButton=\"ghost\"\n size=\"sm\"\n type=\"button\"\n [iconOnly]=\"true\"\n [title]=\"'case.inspection.processes.variableActions.edit' | translate\"\n (click)=\"onEditVariable(variable)\"\n >\n <svg cdsIcon=\"edit\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n\n <button\n cdsButton=\"danger--ghost\"\n size=\"sm\"\n type=\"button\"\n [iconOnly]=\"true\"\n [title]=\"'case.inspection.processes.variableActions.delete' | translate\"\n (click)=\"onRequestDelete(variable)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n </cds-list-column>\n }\n </cds-list-row>\n }\n </cds-structured-list>\n } @else {\n <p class=\"case-inspection-process-detail__empty\">\n {{ 'case.inspection.processes.noVariables' | translate }}\n </p>\n }\n\n <h4 class=\"case-inspection-process-detail__subhead\">\n {{ 'case.inspection.processes.jobsHeader' | translate }}\n </h4>\n\n @if (row.jobs.length > 0) {\n <cds-structured-list>\n <cds-list-header>\n @for (column of jobColumns; track column) {\n <cds-list-column>{{ column | translate }}</cds-list-column>\n }\n </cds-list-header>\n\n @for (job of row.jobs; track job.id) {\n <cds-list-row>\n <cds-list-column>\n {{ 'case.inspection.processes.jobTypeLabel.' + job.jobType | translate }}\n </cds-list-column>\n <cds-list-column>\n @if (job.activityId) {\n <code>{{ job.activityId }}</code>\n } @else {\n \u2014\n }\n </cds-list-column>\n <cds-list-column>{{ job.retries }}</cds-list-column>\n <cds-list-column>{{ job.dueDate | date: 'medium' }}</cds-list-column>\n <cds-list-column>{{ job.exceptionMessage || '\u2014' }}</cds-list-column>\n </cds-list-row>\n }\n </cds-structured-list>\n } @else {\n <p class=\"case-inspection-process-detail__empty\">\n {{ 'case.inspection.processes.noJobs' | translate }}\n </p>\n }\n </div>\n </cds-tab>\n\n <cds-tab\n [active]=\"$activeTab() === ProcessDetailTab.DIAGRAM\"\n [heading]=\"'case.inspection.processes.diagramTab' | translate\"\n (selected)=\"onSelectTab(ProcessDetailTab.DIAGRAM)\"\n >\n <div class=\"case-inspection-process-detail__pane case-inspection-process-detail__diagram\">\n @if ($activeTab() === ProcessDetailTab.DIAGRAM) {\n <valtimo-process-diagram\n [processInstanceId]=\"row.processInstanceId\"\n ></valtimo-process-diagram>\n }\n </div>\n </cds-tab>\n </cds-tabs>\n</section>\n\n<valtimo-case-inspection-process-variable-modal\n [open]=\"$modalOpen()\"\n [mode]=\"$modalMode()\"\n [initialVariable]=\"$modalInitial()\"\n (modalClosed)=\"onModalClosed($event)\"\n></valtimo-case-inspection-process-variable-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.inspection.processes.variableActions.delete\"\n confirmButtonType=\"danger\"\n titleTranslationKey=\"case.inspection.processes.variableActions.deleteConfirmTitle\"\n [content]=\"\n 'case.inspection.processes.variableActions.deleteConfirmContent'\n | translate: {name: (pendingDeleteName$ | async) ?? ''}\n \"\n [showModalSubject$]=\"showConfirmDelete$\"\n (cancelEvent)=\"onCancelDelete()\"\n (confirmEvent)=\"onConfirmDelete()\"\n></valtimo-confirmation-modal>\n", styles: [".case-inspection-process-detail{padding-top:var(--cds-spacing-05);padding-bottom:var(--cds-spacing-05);padding-right:var(--cds-spacing-05)}.case-inspection-process-detail__header{margin-bottom:var(--cds-spacing-05)}.case-inspection-process-detail__header h3{margin:0}.case-inspection-process-detail__header h3 small{font-weight:400;color:var(--cds-text-helper);margin-left:var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size)}.case-inspection-process-detail__tags{display:flex;gap:var(--cds-spacing-03);flex-wrap:wrap;margin-top:var(--cds-spacing-03);margin-bottom:var(--cds-spacing-03)}.case-inspection-process-detail__meta code{word-break:break-all}.case-inspection-process-detail__subhead{margin:var(--cds-spacing-06) 0 var(--cds-spacing-03);font-size:var(--cds-body-compact-01-font-size);font-weight:600;color:var(--cds-text-secondary)}.case-inspection-process-detail__subhead--no-margin{margin-top:0}.case-inspection-process-detail__variable-actions{display:flex;flex-shrink:0;gap:8px}.case-inspection-process-detail__empty{color:var(--cds-text-helper)}.case-inspection-process-detail__variable-value{overflow-wrap:anywhere;white-space:pre-wrap;max-height:96px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical}.case-inspection-process-detail__pane{padding-top:var(--cds-spacing-05)}.case-inspection-process-detail__diagram{margin-top:16px;height:480px;border:1px solid var(--cds-border-subtle);overflow:hidden}.case-inspection-process-detail__diagram ::ng-deep valtimo-process-diagram,.case-inspection-process-detail__diagram ::ng-deep .process-diagram-container{display:flex;flex-direction:column;height:100%}.case-inspection-process-detail__diagram ::ng-deep .diagram-container{flex:1 1 auto;min-height:0;height:auto!important}.case-inspection-process-detail__diagram ::ng-deep .legenda-holder{flex-shrink:0;padding:var(--cds-spacing-03) var(--cds-spacing-05)}\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: "pipe", type: i6.DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: LinkModule }, { kind: "directive", type: i4$1.Link, selector: "[cdsLink], [ibmLink]", inputs: ["inline", "disabled"] }, { kind: "ngmodule", type: StructuredListModule }, { kind: "component", type: i4$1.StructuredList, selector: "cds-structured-list, ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i4$1.ListRow, selector: "cds-list-row, ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i4$1.ListHeader, selector: "cds-list-header, ibm-list-header", inputs: ["skeleton"] }, { kind: "component", type: i4$1.ListColumn, selector: "cds-list-column, ibm-list-column", inputs: ["skeleton", "nowrap"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i4$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i4$1.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: ProcessDiagramComponent, selector: "valtimo-process-diagram", inputs: ["processDefinitionKey", "processInstanceId"], outputs: ["importDone"] }, { kind: "component", type: CaseInspectionProcessVariableModalComponent, selector: "valtimo-case-inspection-process-variable-modal", inputs: ["open", "mode", "initialVariable"], outputs: ["modalClosed"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i2.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: LayerModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7506
7696
  }
7507
7697
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionProcessDetailComponent, decorators: [{
7508
7698
  type: Component,
@@ -7626,7 +7816,7 @@ class CaseInspectionProcessesTabComponent {
7626
7816
  error: () => this.$canInspectModify.set(false),
7627
7817
  });
7628
7818
  }
7629
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionProcessesTabComponent, deps: [{ token: CaseInspectionService }, { token: i2$3.PermissionService }, { token: i4$1.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
7819
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionProcessesTabComponent, deps: [{ token: CaseInspectionService }, { token: i2$2.PermissionService }, { token: i4$1.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
7630
7820
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionProcessesTabComponent, isStandalone: true, selector: "valtimo-case-inspection-processes", inputs: { documentId: "documentId" }, outputs: { viewBuildingBlockEvent: "viewBuildingBlockEvent", viewProcessLogsEvent: "viewProcessLogsEvent" }, usesOnChanges: 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<section class=\"case-inspection-processes-tab\">\n <div *ngIf=\"$loading()\" class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-processes-tab__error\">{{ message }}</p>\n </ng-container>\n\n <ng-container *ngIf=\"!$loading() && $rows() as rows\">\n <p *ngIf=\"rows.length === 0\" class=\"case-inspection-processes-tab__empty\">\n {{ 'case.inspection.processes.empty' | translate }}\n </p>\n\n <div *ngIf=\"rows.length > 0\" class=\"case-inspection-processes-tab__layout\">\n <div\n class=\"case-inspection-processes-tab__list\"\n role=\"listbox\"\n [attr.aria-label]=\"'case.inspection.processes.listAriaLabel' | translate\"\n >\n <button\n *ngFor=\"let row of rows\"\n type=\"button\"\n role=\"option\"\n class=\"case-inspection-processes-tab__list-item\"\n [attr.aria-selected]=\"isSelected(row)\"\n [class.case-inspection-processes-tab__list-item--selected]=\"isSelected(row)\"\n (click)=\"onSelect(row)\"\n >\n <span class=\"case-inspection-processes-tab__list-item-title\">\n {{ row.processName || row.processDefinitionKey }}\n\n <cds-tag\n *ngIf=\"row.buildingBlock as bb\"\n size=\"sm\"\n type=\"green\"\n [title]=\"\n ('case.inspection.processes.buildingBlockTagTooltip' | translate) +\n ': ' +\n bb.definitionKey +\n ' ' +\n bb.definitionVersionTag\n \"\n >\n {{ 'case.inspection.processes.buildingBlockTag' | translate }}\n </cds-tag>\n </span>\n <span class=\"case-inspection-processes-tab__list-item-meta\">\n <code>{{ row.processInstanceId }}</code>\n </span>\n\n <span class=\"case-inspection-processes-tab__list-item-indicators\">\n <ng-container *ngIf=\"row.incidents.length > 0; else noIncidents\">\n <span\n class=\"case-inspection-processes-tab__row-incident\"\n [attr.title]=\"'case.inspection.processes.incidentTooltip' | translate\"\n >\n <svg cdsIcon=\"warning--alt--filled\" size=\"16\"></svg>\n {{ row.incidents.length }}\n </span>\n </ng-container>\n\n <ng-template #noIncidents>\n <span\n *ngIf=\"row.active\"\n class=\"case-inspection-processes-tab__row-healthy\"\n [attr.title]=\"'case.inspection.processes.active' | translate\"\n >\n <svg cdsIcon=\"checkmark--filled\" size=\"16\"></svg>\n </span>\n\n <span\n *ngIf=\"!row.active\"\n class=\"case-inspection-processes-tab__row-completed\"\n [attr.title]=\"'case.inspection.processes.completed' | translate\"\n >\n <svg cdsIcon=\"checkmark--outline\" size=\"16\"></svg>\n </span>\n </ng-template>\n </span>\n </button>\n </div>\n\n <article class=\"case-inspection-processes-tab__detail\">\n <valtimo-case-inspection-process-detail\n *ngIf=\"$selected() as selected\"\n [canInspectModify]=\"$canInspectModify()\"\n [documentId]=\"documentId\"\n [row]=\"selected\"\n (variablesChangedEvent)=\"reloadSelected()\"\n (viewBuildingBlockEvent)=\"viewBuildingBlockEvent.emit($event)\"\n (viewProcessLogsEvent)=\"viewProcessLogsEvent.emit($event)\"\n ></valtimo-case-inspection-process-detail>\n </article>\n </div>\n </ng-container>\n</section>\n", styles: [".case-inspection-processes-tab__error{color:var(--cds-text-error)}.case-inspection-processes-tab__empty{color:var(--cds-text-helper)}.case-inspection-processes-tab__layout{display:grid;grid-template-columns:minmax(260px,1fr) 3fr;gap:var(--cds-spacing-06);align-items:stretch}.case-inspection-processes-tab__list{display:flex;flex-direction:column;border-right:1px solid var(--cds-border-subtle)}.case-inspection-processes-tab__list-item{appearance:none;background:transparent;border:0;text-align:left;padding:var(--cds-spacing-04);cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:var(--cds-spacing-01) var(--cds-spacing-03);color:inherit;font-family:inherit}.case-inspection-processes-tab__list-item:hover{background-color:var(--cds-layer-hover)}.case-inspection-processes-tab__list-item--selected{background-color:var(--cds-layer-selected);font-weight:600}.case-inspection-processes-tab__list-item-title{font-size:var(--cds-body-compact-01-font-size);grid-column:1;grid-row:1;display:inline-flex;align-items:center;gap:var(--cds-spacing-03)}.case-inspection-processes-tab__list-item-meta{font-size:var(--cds-helper-text-01-font-size);color:var(--cds-text-helper);grid-column:1;grid-row:2;font-weight:400}.case-inspection-processes-tab__list-item-meta code{word-break:break-all}.case-inspection-processes-tab__list-item-indicators{grid-column:2;grid-row:1/span 2;display:flex;align-items:center}.case-inspection-processes-tab__row-incident{display:inline-flex;align-items:center;gap:var(--cds-spacing-02);color:var(--cds-text-error);font-weight:600}.case-inspection-processes-tab__row-healthy{display:inline-flex;align-items:center;color:var(--cds-support-success)}.case-inspection-processes-tab__row-completed{display:inline-flex;align-items:center;color:var(--cds-text-helper)}.case-inspection-processes-tab__detail{min-width: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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i4$1.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: CaseInspectionProcessDetailComponent, selector: "valtimo-case-inspection-process-detail", inputs: ["row", "documentId", "canInspectModify"], outputs: ["viewBuildingBlockEvent", "variablesChangedEvent", "viewProcessLogsEvent"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4$1.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7631
7821
  }
7632
7822
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionProcessesTabComponent, decorators: [{
@@ -7639,7 +7829,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7639
7829
  CaseInspectionProcessDetailComponent,
7640
7830
  LoadingModule,
7641
7831
  ], 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<section class=\"case-inspection-processes-tab\">\n <div *ngIf=\"$loading()\" class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n\n <ng-container *ngIf=\"$errorMessage() as message\">\n <p class=\"case-inspection-processes-tab__error\">{{ message }}</p>\n </ng-container>\n\n <ng-container *ngIf=\"!$loading() && $rows() as rows\">\n <p *ngIf=\"rows.length === 0\" class=\"case-inspection-processes-tab__empty\">\n {{ 'case.inspection.processes.empty' | translate }}\n </p>\n\n <div *ngIf=\"rows.length > 0\" class=\"case-inspection-processes-tab__layout\">\n <div\n class=\"case-inspection-processes-tab__list\"\n role=\"listbox\"\n [attr.aria-label]=\"'case.inspection.processes.listAriaLabel' | translate\"\n >\n <button\n *ngFor=\"let row of rows\"\n type=\"button\"\n role=\"option\"\n class=\"case-inspection-processes-tab__list-item\"\n [attr.aria-selected]=\"isSelected(row)\"\n [class.case-inspection-processes-tab__list-item--selected]=\"isSelected(row)\"\n (click)=\"onSelect(row)\"\n >\n <span class=\"case-inspection-processes-tab__list-item-title\">\n {{ row.processName || row.processDefinitionKey }}\n\n <cds-tag\n *ngIf=\"row.buildingBlock as bb\"\n size=\"sm\"\n type=\"green\"\n [title]=\"\n ('case.inspection.processes.buildingBlockTagTooltip' | translate) +\n ': ' +\n bb.definitionKey +\n ' ' +\n bb.definitionVersionTag\n \"\n >\n {{ 'case.inspection.processes.buildingBlockTag' | translate }}\n </cds-tag>\n </span>\n <span class=\"case-inspection-processes-tab__list-item-meta\">\n <code>{{ row.processInstanceId }}</code>\n </span>\n\n <span class=\"case-inspection-processes-tab__list-item-indicators\">\n <ng-container *ngIf=\"row.incidents.length > 0; else noIncidents\">\n <span\n class=\"case-inspection-processes-tab__row-incident\"\n [attr.title]=\"'case.inspection.processes.incidentTooltip' | translate\"\n >\n <svg cdsIcon=\"warning--alt--filled\" size=\"16\"></svg>\n {{ row.incidents.length }}\n </span>\n </ng-container>\n\n <ng-template #noIncidents>\n <span\n *ngIf=\"row.active\"\n class=\"case-inspection-processes-tab__row-healthy\"\n [attr.title]=\"'case.inspection.processes.active' | translate\"\n >\n <svg cdsIcon=\"checkmark--filled\" size=\"16\"></svg>\n </span>\n\n <span\n *ngIf=\"!row.active\"\n class=\"case-inspection-processes-tab__row-completed\"\n [attr.title]=\"'case.inspection.processes.completed' | translate\"\n >\n <svg cdsIcon=\"checkmark--outline\" size=\"16\"></svg>\n </span>\n </ng-template>\n </span>\n </button>\n </div>\n\n <article class=\"case-inspection-processes-tab__detail\">\n <valtimo-case-inspection-process-detail\n *ngIf=\"$selected() as selected\"\n [canInspectModify]=\"$canInspectModify()\"\n [documentId]=\"documentId\"\n [row]=\"selected\"\n (variablesChangedEvent)=\"reloadSelected()\"\n (viewBuildingBlockEvent)=\"viewBuildingBlockEvent.emit($event)\"\n (viewProcessLogsEvent)=\"viewProcessLogsEvent.emit($event)\"\n ></valtimo-case-inspection-process-detail>\n </article>\n </div>\n </ng-container>\n</section>\n", styles: [".case-inspection-processes-tab__error{color:var(--cds-text-error)}.case-inspection-processes-tab__empty{color:var(--cds-text-helper)}.case-inspection-processes-tab__layout{display:grid;grid-template-columns:minmax(260px,1fr) 3fr;gap:var(--cds-spacing-06);align-items:stretch}.case-inspection-processes-tab__list{display:flex;flex-direction:column;border-right:1px solid var(--cds-border-subtle)}.case-inspection-processes-tab__list-item{appearance:none;background:transparent;border:0;text-align:left;padding:var(--cds-spacing-04);cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:var(--cds-spacing-01) var(--cds-spacing-03);color:inherit;font-family:inherit}.case-inspection-processes-tab__list-item:hover{background-color:var(--cds-layer-hover)}.case-inspection-processes-tab__list-item--selected{background-color:var(--cds-layer-selected);font-weight:600}.case-inspection-processes-tab__list-item-title{font-size:var(--cds-body-compact-01-font-size);grid-column:1;grid-row:1;display:inline-flex;align-items:center;gap:var(--cds-spacing-03)}.case-inspection-processes-tab__list-item-meta{font-size:var(--cds-helper-text-01-font-size);color:var(--cds-text-helper);grid-column:1;grid-row:2;font-weight:400}.case-inspection-processes-tab__list-item-meta code{word-break:break-all}.case-inspection-processes-tab__list-item-indicators{grid-column:2;grid-row:1/span 2;display:flex;align-items:center}.case-inspection-processes-tab__row-incident{display:inline-flex;align-items:center;gap:var(--cds-spacing-02);color:var(--cds-text-error);font-weight:600}.case-inspection-processes-tab__row-healthy{display:inline-flex;align-items:center;color:var(--cds-support-success)}.case-inspection-processes-tab__row-completed{display:inline-flex;align-items:center;color:var(--cds-text-helper)}.case-inspection-processes-tab__detail{min-width: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"] }]
7642
- }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i2$3.PermissionService }, { type: i4$1.IconService }], propDecorators: { documentId: [{
7832
+ }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i2$2.PermissionService }, { type: i4$1.IconService }], propDecorators: { documentId: [{
7643
7833
  type: Input
7644
7834
  }], viewBuildingBlockEvent: [{
7645
7835
  type: Output
@@ -7775,7 +7965,7 @@ class CaseInspectionComponent {
7775
7965
  this.$activeTab.set(requested);
7776
7966
  }
7777
7967
  }
7778
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: i2$3.PermissionService }, { token: i2$1.PageTitleService }, { token: i4.TranslateService }, { token: i2$1.BreadcrumbService }, { token: i2.DocumentService }, { token: ZGW_CASE_INSPECTION_TAB_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
7968
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionComponent, deps: [{ token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: i2$2.PermissionService }, { token: i2.PageTitleService }, { token: i4.TranslateService }, { token: i2.BreadcrumbService }, { token: i1$2.DocumentService }, { token: ZGW_CASE_INSPECTION_TAB_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
7779
7969
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseInspectionComponent, isStandalone: true, selector: "ng-component", 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 *ngIf=\"!$loading() && !$accessDenied()\">\n <cds-tabs type=\"inline\" class=\"case-inspection-tabs\">\n <cds-tab\n [active]=\"$activeTab() === CaseInspectionTab.DOCUMENT\"\n [heading]=\"'case.inspection.tabs.document' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.DOCUMENT)\"\n >\n <div cdsLayer>\n <valtimo-case-inspection-document\n *ngIf=\"$activeTab() === CaseInspectionTab.DOCUMENT\"\n [documentId]=\"$documentId()\"\n ></valtimo-case-inspection-document>\n </div>\n </cds-tab>\n\n <cds-tab\n [active]=\"$activeTab() === CaseInspectionTab.PROCESSES\"\n [heading]=\"'case.inspection.tabs.processes' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.PROCESSES)\"\n >\n <div cdsLayer>\n <valtimo-case-inspection-processes\n *ngIf=\"$activeTab() === CaseInspectionTab.PROCESSES\"\n [documentId]=\"$documentId()\"\n (viewBuildingBlockEvent)=\"onViewBuildingBlock($event)\"\n (viewProcessLogsEvent)=\"onViewProcessLogs($event)\"\n ></valtimo-case-inspection-processes>\n </div>\n </cds-tab>\n\n <cds-tab\n [active]=\"$activeTab() === CaseInspectionTab.BUILDING_BLOCKS\"\n [heading]=\"'case.inspection.tabs.buildingBlocks' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.BUILDING_BLOCKS)\"\n >\n <div cdsLayer>\n <valtimo-case-inspection-building-blocks\n *ngIf=\"$activeTab() === CaseInspectionTab.BUILDING_BLOCKS\"\n [documentId]=\"$documentId()\"\n [pendingInstanceId]=\"$pendingBuildingBlockInstanceId()\"\n (viewProcessLogsEvent)=\"onViewProcessLogs($event)\"\n ></valtimo-case-inspection-building-blocks>\n </div>\n </cds-tab>\n\n <cds-tab\n [active]=\"$activeTab() === CaseInspectionTab.LOGS\"\n [heading]=\"'case.inspection.tabs.logs' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.LOGS)\"\n >\n <div cdsLayer>\n <valtimo-case-inspection-logs\n *ngIf=\"$activeTab() === CaseInspectionTab.LOGS\"\n [documentId]=\"$documentId()\"\n [pendingProcessInstanceId]=\"$pendingProcessInstanceLogFilter()\"\n ></valtimo-case-inspection-logs>\n </div>\n </cds-tab>\n\n <cds-tab\n *ngIf=\"zgwTabComponent\"\n [active]=\"$activeTab() === CaseInspectionTab.ZGW\"\n [heading]=\"'case.inspection.tabs.zgw' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.ZGW)\"\n >\n <div cdsLayer>\n <ng-container\n *ngIf=\"$activeTab() === CaseInspectionTab.ZGW\"\n [ngComponentOutlet]=\"zgwTabComponent\"\n [ngComponentOutletInputs]=\"{documentId: $documentId()}\"\n ></ng-container>\n </div>\n </cds-tab>\n\n <cds-tab\n [active]=\"$activeTab() === CaseInspectionTab.METADATA\"\n [heading]=\"'case.inspection.tabs.metadata' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.METADATA)\"\n >\n <div cdsLayer>\n <valtimo-case-inspection-metadata\n *ngIf=\"$activeTab() === CaseInspectionTab.METADATA\"\n [documentId]=\"$documentId()\"\n ></valtimo-case-inspection-metadata>\n </div>\n </cds-tab>\n </cds-tabs>\n</ng-container>\n", styles: [":host ::ng-deep .loading-container{display:flex;justify-content:center;width:100%;padding-bottom:var(--cds-spacing-05);padding-top:var(--cds-spacing-05)}:host ::ng-deep .case-inspection-tabs>cds-tab-headers{margin-bottom:24px}:host ::ng-deep cds-tab .cds--tab-content{background-color:var(--cds-layer);padding:0}:host ::ng-deep cds-tab .cds--tab-content:focus{outline:none}:host ::ng-deep code{font-family:var(--cds-code-01-font-family);font-size:var(--cds-code-01-font-size);color:var(--cds-status-purple);background-color:transparent}.case-inspection-tab-placeholder{padding:var(--cds-spacing-05)}\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.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i4$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: CaseInspectionDocumentTabComponent, selector: "valtimo-case-inspection-document", inputs: ["documentId"] }, { kind: "component", type: CaseInspectionProcessesTabComponent, selector: "valtimo-case-inspection-processes", inputs: ["documentId"], outputs: ["viewBuildingBlockEvent", "viewProcessLogsEvent"] }, { kind: "component", type: CaseInspectionBuildingBlocksTabComponent, selector: "valtimo-case-inspection-building-blocks", inputs: ["documentId", "pendingInstanceId"], outputs: ["viewProcessLogsEvent"] }, { kind: "component", type: CaseInspectionLogsTabComponent, selector: "valtimo-case-inspection-logs", inputs: ["documentId", "pendingProcessInstanceId"] }, { kind: "component", type: CaseInspectionMetadataTabComponent, selector: "valtimo-case-inspection-metadata", inputs: ["documentId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7780
7970
  }
7781
7971
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionComponent, decorators: [{
@@ -7791,7 +7981,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7791
7981
  CaseInspectionLogsTabComponent,
7792
7982
  CaseInspectionMetadataTabComponent,
7793
7983
  ], 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 *ngIf=\"!$loading() && !$accessDenied()\">\n <cds-tabs type=\"inline\" class=\"case-inspection-tabs\">\n <cds-tab\n [active]=\"$activeTab() === CaseInspectionTab.DOCUMENT\"\n [heading]=\"'case.inspection.tabs.document' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.DOCUMENT)\"\n >\n <div cdsLayer>\n <valtimo-case-inspection-document\n *ngIf=\"$activeTab() === CaseInspectionTab.DOCUMENT\"\n [documentId]=\"$documentId()\"\n ></valtimo-case-inspection-document>\n </div>\n </cds-tab>\n\n <cds-tab\n [active]=\"$activeTab() === CaseInspectionTab.PROCESSES\"\n [heading]=\"'case.inspection.tabs.processes' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.PROCESSES)\"\n >\n <div cdsLayer>\n <valtimo-case-inspection-processes\n *ngIf=\"$activeTab() === CaseInspectionTab.PROCESSES\"\n [documentId]=\"$documentId()\"\n (viewBuildingBlockEvent)=\"onViewBuildingBlock($event)\"\n (viewProcessLogsEvent)=\"onViewProcessLogs($event)\"\n ></valtimo-case-inspection-processes>\n </div>\n </cds-tab>\n\n <cds-tab\n [active]=\"$activeTab() === CaseInspectionTab.BUILDING_BLOCKS\"\n [heading]=\"'case.inspection.tabs.buildingBlocks' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.BUILDING_BLOCKS)\"\n >\n <div cdsLayer>\n <valtimo-case-inspection-building-blocks\n *ngIf=\"$activeTab() === CaseInspectionTab.BUILDING_BLOCKS\"\n [documentId]=\"$documentId()\"\n [pendingInstanceId]=\"$pendingBuildingBlockInstanceId()\"\n (viewProcessLogsEvent)=\"onViewProcessLogs($event)\"\n ></valtimo-case-inspection-building-blocks>\n </div>\n </cds-tab>\n\n <cds-tab\n [active]=\"$activeTab() === CaseInspectionTab.LOGS\"\n [heading]=\"'case.inspection.tabs.logs' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.LOGS)\"\n >\n <div cdsLayer>\n <valtimo-case-inspection-logs\n *ngIf=\"$activeTab() === CaseInspectionTab.LOGS\"\n [documentId]=\"$documentId()\"\n [pendingProcessInstanceId]=\"$pendingProcessInstanceLogFilter()\"\n ></valtimo-case-inspection-logs>\n </div>\n </cds-tab>\n\n <cds-tab\n *ngIf=\"zgwTabComponent\"\n [active]=\"$activeTab() === CaseInspectionTab.ZGW\"\n [heading]=\"'case.inspection.tabs.zgw' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.ZGW)\"\n >\n <div cdsLayer>\n <ng-container\n *ngIf=\"$activeTab() === CaseInspectionTab.ZGW\"\n [ngComponentOutlet]=\"zgwTabComponent\"\n [ngComponentOutletInputs]=\"{documentId: $documentId()}\"\n ></ng-container>\n </div>\n </cds-tab>\n\n <cds-tab\n [active]=\"$activeTab() === CaseInspectionTab.METADATA\"\n [heading]=\"'case.inspection.tabs.metadata' | translate\"\n (selected)=\"onTabSelected(CaseInspectionTab.METADATA)\"\n >\n <div cdsLayer>\n <valtimo-case-inspection-metadata\n *ngIf=\"$activeTab() === CaseInspectionTab.METADATA\"\n [documentId]=\"$documentId()\"\n ></valtimo-case-inspection-metadata>\n </div>\n </cds-tab>\n </cds-tabs>\n</ng-container>\n", styles: [":host ::ng-deep .loading-container{display:flex;justify-content:center;width:100%;padding-bottom:var(--cds-spacing-05);padding-top:var(--cds-spacing-05)}:host ::ng-deep .case-inspection-tabs>cds-tab-headers{margin-bottom:24px}:host ::ng-deep cds-tab .cds--tab-content{background-color:var(--cds-layer);padding:0}:host ::ng-deep cds-tab .cds--tab-content:focus{outline:none}:host ::ng-deep code{font-family:var(--cds-code-01-font-family);font-size:var(--cds-code-01-font-size);color:var(--cds-status-purple);background-color:transparent}.case-inspection-tab-placeholder{padding:var(--cds-spacing-05)}\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"] }]
7794
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i1$2.Router }, { type: i2$3.PermissionService }, { type: i2$1.PageTitleService }, { type: i4.TranslateService }, { type: i2$1.BreadcrumbService }, { type: i2.DocumentService }, { type: i0.Type, decorators: [{
7984
+ }], ctorParameters: () => [{ type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: i2$2.PermissionService }, { type: i2.PageTitleService }, { type: i4.TranslateService }, { type: i2.BreadcrumbService }, { type: i1$2.DocumentService }, { type: i0.Type, decorators: [{
7795
7985
  type: Optional
7796
7986
  }, {
7797
7987
  type: Inject,
@@ -8108,7 +8298,7 @@ class GenericCaseListComponent {
8108
8298
  };
8109
8299
  });
8110
8300
  }
8111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GenericCaseListComponent, deps: [{ token: CaseListAssigneeService }, { token: i2$1.BreadcrumbService }, { token: CaseBulkAssignService }, { token: CaseExportService }, { token: CaseListCaseTagService }, { token: CaseListService }, { token: i2$1.PageTitleService }, { token: CaseListPaginationService }, { token: CaseParameterService }, { token: i2$1.QuickSearchStateService }, { token: i1$2.Router }, { token: CaseListSearchService }, { token: CaseListStatusService }, { token: QUICK_SEARCH_SERVICE }, { token: i1.ConfigService }, { token: i5$2.TeamsApiService }, { token: i2.DocumentService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
8301
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GenericCaseListComponent, deps: [{ token: CaseListAssigneeService }, { token: i2.BreadcrumbService }, { token: CaseBulkAssignService }, { token: CaseExportService }, { token: CaseListCaseTagService }, { token: CaseListService }, { token: i2.PageTitleService }, { token: CaseListPaginationService }, { token: CaseParameterService }, { token: i2.QuickSearchStateService }, { token: i1$3.Router }, { token: CaseListSearchService }, { token: CaseListStatusService }, { token: QUICK_SEARCH_SERVICE }, { token: i1.ConfigService }, { token: i5$2.TeamsApiService }, { token: i1$2.DocumentService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
8112
8302
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: GenericCaseListComponent, isStandalone: false, selector: "ng-component", providers: [
8113
8303
  CaseListService,
8114
8304
  CaseColumnService,
@@ -8124,7 +8314,7 @@ class GenericCaseListComponent {
8124
8314
  provide: QUICK_SEARCH_SERVICE,
8125
8315
  useClass: CaseListQuickSearchService,
8126
8316
  },
8127
- ], viewQueries: [{ propertyName: "carbonList", first: true, predicate: ["specificCaseList"], descendants: true }, { propertyName: "listActionsComponent", first: true, predicate: CaseListActionsComponent, descendants: true }, { propertyName: "tabsComponent", first: true, predicate: CaseListTabsComponent, 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 *ngIf=\"{isAllCases: isAllCases$ | async} as mode\">\n <!-- All Cases mode -->\n <ng-container *ngIf=\"mode.isAllCases\">\n <valtimo-carbon-list\n [fields]=\"allCasesFields$ | async\"\n [header]=\"false\"\n [items]=\"(allCasesData$ | async)?.items\"\n [loading]=\"allCasesLoading$ | async\"\n [pagination]=\"(allCasesData$ | async)?.pagination\"\n paginationIdentifier=\"genericCaseList\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"allCasesPageChange($event)\"\n (paginationSet)=\"allCasesPageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"allCasesSortChanged($event)\"\n >\n <valtimo-no-results\n [description]=\"'case.noResults.ALL.description' | translate\"\n [title]=\"'case.noResults.ALL.title' | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"visibleCaseTabs\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"allCasesAssigneeFilter$ | async\"\n [selectedRowCount]=\"0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"allCasesTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n </ng-container>\n\n <!-- Specific case definition mode -->\n <ng-container *ngIf=\"!mode.isAllCases\">\n <ng-container\n *ngIf=\"{\n availableFields: orchestration.availableFields$ | async,\n fields: orchestration.fields$ | async,\n documentItems: orchestration.documentItems$ | async,\n noResultsMessage: orchestration.noResultsMessage$ | async,\n hasApiColumnConfig: orchestration.hasApiColumnConfig$ | async,\n searchFields: orchestration.searchFields$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedCaseIds: selectedCaseIds$ | async,\n statuses: orchestration.statuses$ | async,\n caseTags: orchestration.caseTags$ | async,\n selectedStatusKeys: orchestration.selectedStatusKeys$ | async,\n selectedCaseTagKeys: orchestration.selectedCaseTagKeys$ | async,\n showStatusSelector: orchestration.showStatusSelector$ | async,\n showCaseTagsSelector: orchestration.showCaseTagsSelector$ | async,\n loaded: orchestration.loaded$ | async,\n canCreate: orchestration.canCreateCase$ | async,\n canExport: orchestration.canExportCase$ | async,\n disableExport: orchestration.disableExportButton$ | async,\n disableSaveSearch: orchestration.disableSaveSearch$ | async,\n assigneeFilter: orchestration.assigneeFilter$ | async,\n hiddenColumns: orchestration.hiddenColumns$ | async,\n disableStartButton: disableStartButton$ | async,\n } as obs\"\n >\n <valtimo-case-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-case-list-actions>\n\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <valtimo-quick-search\n (quickSearchEvent)=\"onQuickSearchEvent($event)\"\n ></valtimo-quick-search>\n\n <ng-container *ngIf=\"obs.loaded; else specificLoading\">\n <valtimo-carbon-list\n #specificCaseList\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination?.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"genericCaseListSpecific\"\n lockedTooltipTranslationKey=\"case.rowLocked\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'case.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <valtimo-case-list-toolbar\n [availableFields]=\"obs.availableFields\"\n [canCreate]=\"obs.canCreate\"\n [canExport]=\"obs.canExport\"\n [disableExport]=\"obs.disableExport\"\n [disableStart]=\"obs.disableStartButton\"\n [hasApiColumnConfig]=\"obs.hasApiColumnConfig\"\n [hiddenColumns]=\"obs.hiddenColumns\"\n [loadingExport]=\"loadingExport\"\n (exportEvent)=\"export()\"\n (startCaseEvent)=\"startCase()\"\n (viewUpdateEvent)=\"onViewUpdateEvent($event)\"\n ></valtimo-case-list-toolbar>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage?.isSearchResult ? null : caseListActionsNoResult\"\n [description]=\"obs.noResultsMessage?.description | translate\"\n [title]=\"obs.noResultsMessage?.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"obs.assigneeFilter\"\n [selectedRowCount]=\"carbonList?.model?.selectedRowsCount() ?? 0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n </ng-container>\n\n <ng-template #specificLoading>\n <valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"orchestration.assigneeFilter$ | async\"\n [selectedRowCount]=\"0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n </ng-template>\n\n <valtimo-case-bulk-assign-modal\n [documentIds]=\"obs.selectedCaseIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event)\"\n ></valtimo-case-bulk-assign-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changePageModal.confirm\"\n contentTranslationKey=\"case.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"case.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <valtimo-search-fields\n [disableSaveSearch]=\"obs.disableSaveSearch\"\n [canSaveSearch]=\"true\"\n [searchFields]=\"obs.searchFields\"\n [caseDefinitionKey]=\"orchestration.caseDefinitionKey$ | async\"\n [defaultValues]=\"orchestration.searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n (clearEvent)=\"onClearEvent()\"\n (doSearch)=\"search($event)\"\n (saveSearchEvent)=\"onSaveSearchEvent($event)\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatusKeys]=\"obs.selectedStatusKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n\n <valtimo-case-tags-selector\n *ngIf=\"obs.showCaseTagsSelector\"\n [caseTags]=\"obs.caseTags\"\n [selectedCaseTagKeys]=\"obs.selectedCaseTagKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedCaseTagsChangeEvent)=\"onSelectedCaseTagsChange($event)\"\n ></valtimo-case-tags-selector>\n </valtimo-search-fields>\n</ng-template>\n\n<ng-template #caseListActionsNoResult>\n <button\n *ngIf=\"orchestration.canCreateCase$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startCase()\"\n >\n {{ 'Start Case' | translate }}\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <cds-dropdown\n class=\"case-definition-selection\"\n *ngIf=\"{\n loadingCaseListItems: loadingCaseListItems$ | async,\n caseListItems: caseListItems$ | async,\n } as dropdownObs\"\n [attr.data-testid]=\"'generic-case-list-dropdown'\"\n [disabled]=\"dropdownObs.loadingCaseListItems || (dropdownObs.caseListItems || []).length === 1\"\n [skeleton]=\"dropdownObs.loadingCaseListItems\"\n (selected)=\"setCaseDefinition($event)\"\n >\n <cds-dropdown-list [items]=\"dropdownObs.caseListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-template>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}.case-definition-selection{display:flex;width:250px}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "caseDefinitionKey", "setValuesSubject$", "clearValuesSubject$", "defaultValues", "disableSaveSearch", "inputDisabled", "externalSearchField", "canSaveSearch"], outputs: ["doSearch", "saveSearchEvent", "clearEvent"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$1.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: i4$1.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: i4$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2$1.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: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2$1.StatusSelectorComponent, selector: "valtimo-status-selector", inputs: ["statuses", "selectedStatusKeys", "carbonTheme", "disabled"], outputs: ["selectedStatusesChangeEvent"] }, { kind: "directive", type: i2$1.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i2$1.CaseTagsSelectorComponent, selector: "valtimo-case-tags-selector", inputs: ["caseTags", "selectedCaseTagKeys", "carbonTheme", "disabled"], outputs: ["selectedCaseTagsChangeEvent"] }, { kind: "component", type: i2$1.QuickSearchComponent, selector: "valtimo-quick-search", outputs: ["quickSearchEvent"] }, { kind: "component", type: CaseListActionsComponent, selector: "valtimo-case-list-actions", inputs: ["loading", "navigateAfterSubmit"], outputs: ["formFlowComplete", "startButtonDisableEvent"] }, { kind: "component", type: CaseBulkAssignModalComponent, selector: "valtimo-case-bulk-assign-modal", inputs: ["documentIds", "open"], outputs: ["closeEvent"] }, { kind: "component", type: CaseListTabsComponent, selector: "valtimo-case-list-tabs", inputs: ["assigneeFilter", "selectedRowCount", "visibleTabs"], outputs: ["tabChangeEvent"] }, { kind: "component", type: CaseListToolbarComponent, selector: "valtimo-case-list-toolbar", inputs: ["availableFields", "canCreate", "canExport", "disableExport", "disableStart", "hasApiColumnConfig", "hiddenColumns", "loadingExport"], outputs: ["exportEvent", "startCaseEvent", "viewUpdateEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
8317
+ ], viewQueries: [{ propertyName: "carbonList", first: true, predicate: ["specificCaseList"], descendants: true }, { propertyName: "listActionsComponent", first: true, predicate: CaseListActionsComponent, descendants: true }, { propertyName: "tabsComponent", first: true, predicate: CaseListTabsComponent, 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 *ngIf=\"{isAllCases: isAllCases$ | async} as mode\">\n <!-- All Cases mode -->\n <ng-container *ngIf=\"mode.isAllCases\">\n <valtimo-carbon-list\n [fields]=\"allCasesFields$ | async\"\n [header]=\"false\"\n [items]=\"(allCasesData$ | async)?.items\"\n [loading]=\"allCasesLoading$ | async\"\n [pagination]=\"(allCasesData$ | async)?.pagination\"\n paginationIdentifier=\"genericCaseList\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"allCasesPageChange($event)\"\n (paginationSet)=\"allCasesPageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"allCasesSortChanged($event)\"\n >\n <valtimo-no-results\n [description]=\"'case.noResults.ALL.description' | translate\"\n [title]=\"'case.noResults.ALL.title' | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"visibleCaseTabs\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"allCasesAssigneeFilter$ | async\"\n [selectedRowCount]=\"0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"allCasesTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n </ng-container>\n\n <!-- Specific case definition mode -->\n <ng-container *ngIf=\"!mode.isAllCases\">\n <ng-container\n *ngIf=\"{\n availableFields: orchestration.availableFields$ | async,\n fields: orchestration.fields$ | async,\n documentItems: orchestration.documentItems$ | async,\n noResultsMessage: orchestration.noResultsMessage$ | async,\n hasApiColumnConfig: orchestration.hasApiColumnConfig$ | async,\n searchFields: orchestration.searchFields$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedCaseIds: selectedCaseIds$ | async,\n statuses: orchestration.statuses$ | async,\n caseTags: orchestration.caseTags$ | async,\n selectedStatusKeys: orchestration.selectedStatusKeys$ | async,\n selectedCaseTagKeys: orchestration.selectedCaseTagKeys$ | async,\n showStatusSelector: orchestration.showStatusSelector$ | async,\n showCaseTagsSelector: orchestration.showCaseTagsSelector$ | async,\n loaded: orchestration.loaded$ | async,\n canCreate: orchestration.canCreateCase$ | async,\n canExport: orchestration.canExportCase$ | async,\n disableExport: orchestration.disableExportButton$ | async,\n disableSaveSearch: orchestration.disableSaveSearch$ | async,\n assigneeFilter: orchestration.assigneeFilter$ | async,\n hiddenColumns: orchestration.hiddenColumns$ | async,\n disableStartButton: disableStartButton$ | async,\n } as obs\"\n >\n <valtimo-case-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-case-list-actions>\n\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <valtimo-quick-search\n (quickSearchEvent)=\"onQuickSearchEvent($event)\"\n ></valtimo-quick-search>\n\n <ng-container *ngIf=\"obs.loaded; else specificLoading\">\n <valtimo-carbon-list\n #specificCaseList\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination?.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"genericCaseListSpecific\"\n lockedTooltipTranslationKey=\"case.rowLocked\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'case.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <valtimo-case-list-toolbar\n [availableFields]=\"obs.availableFields\"\n [canCreate]=\"obs.canCreate\"\n [canExport]=\"obs.canExport\"\n [disableExport]=\"obs.disableExport\"\n [disableStart]=\"obs.disableStartButton\"\n [hasApiColumnConfig]=\"obs.hasApiColumnConfig\"\n [hiddenColumns]=\"obs.hiddenColumns\"\n [loadingExport]=\"loadingExport\"\n (exportEvent)=\"export()\"\n (startCaseEvent)=\"startCase()\"\n (viewUpdateEvent)=\"onViewUpdateEvent($event)\"\n ></valtimo-case-list-toolbar>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage?.isSearchResult ? null : caseListActionsNoResult\"\n [description]=\"obs.noResultsMessage?.description | translate\"\n [title]=\"obs.noResultsMessage?.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"obs.assigneeFilter\"\n [selectedRowCount]=\"carbonList?.model?.selectedRowsCount() ?? 0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n </ng-container>\n\n <ng-template #specificLoading>\n <valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"orchestration.assigneeFilter$ | async\"\n [selectedRowCount]=\"0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n </ng-template>\n\n <valtimo-case-bulk-assign-modal\n [documentIds]=\"obs.selectedCaseIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event)\"\n ></valtimo-case-bulk-assign-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changePageModal.confirm\"\n contentTranslationKey=\"case.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"case.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <valtimo-search-fields\n [disableSaveSearch]=\"obs.disableSaveSearch\"\n [canSaveSearch]=\"true\"\n [searchFields]=\"obs.searchFields\"\n [caseDefinitionKey]=\"orchestration.caseDefinitionKey$ | async\"\n [defaultValues]=\"orchestration.searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n (clearEvent)=\"onClearEvent()\"\n (doSearch)=\"search($event)\"\n (saveSearchEvent)=\"onSaveSearchEvent($event)\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatusKeys]=\"obs.selectedStatusKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n\n <valtimo-case-tags-selector\n *ngIf=\"obs.showCaseTagsSelector\"\n [caseTags]=\"obs.caseTags\"\n [selectedCaseTagKeys]=\"obs.selectedCaseTagKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedCaseTagsChangeEvent)=\"onSelectedCaseTagsChange($event)\"\n ></valtimo-case-tags-selector>\n </valtimo-search-fields>\n</ng-template>\n\n<ng-template #caseListActionsNoResult>\n <button\n *ngIf=\"orchestration.canCreateCase$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startCase()\"\n >\n {{ 'Start Case' | translate }}\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <cds-dropdown\n class=\"case-definition-selection\"\n *ngIf=\"{\n loadingCaseListItems: loadingCaseListItems$ | async,\n caseListItems: caseListItems$ | async,\n } as dropdownObs\"\n [attr.data-testid]=\"'generic-case-list-dropdown'\"\n [disabled]=\"dropdownObs.loadingCaseListItems || (dropdownObs.caseListItems || []).length === 1\"\n [skeleton]=\"dropdownObs.loadingCaseListItems\"\n (selected)=\"setCaseDefinition($event)\"\n >\n <cds-dropdown-list [items]=\"dropdownObs.caseListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-template>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}.case-definition-selection{display:flex;width:250px}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "caseDefinitionKey", "setValuesSubject$", "clearValuesSubject$", "defaultValues", "disableSaveSearch", "inputDisabled", "externalSearchField", "canSaveSearch"], outputs: ["doSearch", "saveSearchEvent", "clearEvent"] }, { kind: "directive", type: i4$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2.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: i4$1.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: i4$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2.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: i2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2.StatusSelectorComponent, selector: "valtimo-status-selector", inputs: ["statuses", "selectedStatusKeys", "carbonTheme", "disabled"], outputs: ["selectedStatusesChangeEvent"] }, { kind: "directive", type: i2.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i2.CaseTagsSelectorComponent, selector: "valtimo-case-tags-selector", inputs: ["caseTags", "selectedCaseTagKeys", "carbonTheme", "disabled"], outputs: ["selectedCaseTagsChangeEvent"] }, { kind: "component", type: i2.QuickSearchComponent, selector: "valtimo-quick-search", outputs: ["quickSearchEvent"] }, { kind: "component", type: CaseListActionsComponent, selector: "valtimo-case-list-actions", inputs: ["loading", "navigateAfterSubmit"], outputs: ["formFlowComplete", "startButtonDisableEvent"] }, { kind: "component", type: CaseBulkAssignModalComponent, selector: "valtimo-case-bulk-assign-modal", inputs: ["documentIds", "open"], outputs: ["closeEvent"] }, { kind: "component", type: CaseListTabsComponent, selector: "valtimo-case-list-tabs", inputs: ["assigneeFilter", "selectedRowCount", "visibleTabs"], outputs: ["tabChangeEvent"] }, { kind: "component", type: CaseListToolbarComponent, selector: "valtimo-case-list-toolbar", inputs: ["availableFields", "canCreate", "canExport", "disableExport", "disableStart", "hasApiColumnConfig", "hiddenColumns", "loadingExport"], outputs: ["exportEvent", "startCaseEvent", "viewUpdateEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
8128
8318
  }
8129
8319
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GenericCaseListComponent, decorators: [{
8130
8320
  type: Component,
@@ -8144,10 +8334,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
8144
8334
  useClass: CaseListQuickSearchService,
8145
8335
  },
8146
8336
  ], 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 *ngIf=\"{isAllCases: isAllCases$ | async} as mode\">\n <!-- All Cases mode -->\n <ng-container *ngIf=\"mode.isAllCases\">\n <valtimo-carbon-list\n [fields]=\"allCasesFields$ | async\"\n [header]=\"false\"\n [items]=\"(allCasesData$ | async)?.items\"\n [loading]=\"allCasesLoading$ | async\"\n [pagination]=\"(allCasesData$ | async)?.pagination\"\n paginationIdentifier=\"genericCaseList\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"allCasesPageChange($event)\"\n (paginationSet)=\"allCasesPageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"allCasesSortChanged($event)\"\n >\n <valtimo-no-results\n [description]=\"'case.noResults.ALL.description' | translate\"\n [title]=\"'case.noResults.ALL.title' | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"visibleCaseTabs\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"allCasesAssigneeFilter$ | async\"\n [selectedRowCount]=\"0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"allCasesTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n </ng-container>\n\n <!-- Specific case definition mode -->\n <ng-container *ngIf=\"!mode.isAllCases\">\n <ng-container\n *ngIf=\"{\n availableFields: orchestration.availableFields$ | async,\n fields: orchestration.fields$ | async,\n documentItems: orchestration.documentItems$ | async,\n noResultsMessage: orchestration.noResultsMessage$ | async,\n hasApiColumnConfig: orchestration.hasApiColumnConfig$ | async,\n searchFields: orchestration.searchFields$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedCaseIds: selectedCaseIds$ | async,\n statuses: orchestration.statuses$ | async,\n caseTags: orchestration.caseTags$ | async,\n selectedStatusKeys: orchestration.selectedStatusKeys$ | async,\n selectedCaseTagKeys: orchestration.selectedCaseTagKeys$ | async,\n showStatusSelector: orchestration.showStatusSelector$ | async,\n showCaseTagsSelector: orchestration.showCaseTagsSelector$ | async,\n loaded: orchestration.loaded$ | async,\n canCreate: orchestration.canCreateCase$ | async,\n canExport: orchestration.canExportCase$ | async,\n disableExport: orchestration.disableExportButton$ | async,\n disableSaveSearch: orchestration.disableSaveSearch$ | async,\n assigneeFilter: orchestration.assigneeFilter$ | async,\n hiddenColumns: orchestration.hiddenColumns$ | async,\n disableStartButton: disableStartButton$ | async,\n } as obs\"\n >\n <valtimo-case-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-case-list-actions>\n\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <valtimo-quick-search\n (quickSearchEvent)=\"onQuickSearchEvent($event)\"\n ></valtimo-quick-search>\n\n <ng-container *ngIf=\"obs.loaded; else specificLoading\">\n <valtimo-carbon-list\n #specificCaseList\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination?.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"genericCaseListSpecific\"\n lockedTooltipTranslationKey=\"case.rowLocked\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'case.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <valtimo-case-list-toolbar\n [availableFields]=\"obs.availableFields\"\n [canCreate]=\"obs.canCreate\"\n [canExport]=\"obs.canExport\"\n [disableExport]=\"obs.disableExport\"\n [disableStart]=\"obs.disableStartButton\"\n [hasApiColumnConfig]=\"obs.hasApiColumnConfig\"\n [hiddenColumns]=\"obs.hiddenColumns\"\n [loadingExport]=\"loadingExport\"\n (exportEvent)=\"export()\"\n (startCaseEvent)=\"startCase()\"\n (viewUpdateEvent)=\"onViewUpdateEvent($event)\"\n ></valtimo-case-list-toolbar>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage?.isSearchResult ? null : caseListActionsNoResult\"\n [description]=\"obs.noResultsMessage?.description | translate\"\n [title]=\"obs.noResultsMessage?.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"obs.assigneeFilter\"\n [selectedRowCount]=\"carbonList?.model?.selectedRowsCount() ?? 0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n </ng-container>\n\n <ng-template #specificLoading>\n <valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"orchestration.assigneeFilter$ | async\"\n [selectedRowCount]=\"0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n </ng-template>\n\n <valtimo-case-bulk-assign-modal\n [documentIds]=\"obs.selectedCaseIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event)\"\n ></valtimo-case-bulk-assign-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changePageModal.confirm\"\n contentTranslationKey=\"case.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"case.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <valtimo-search-fields\n [disableSaveSearch]=\"obs.disableSaveSearch\"\n [canSaveSearch]=\"true\"\n [searchFields]=\"obs.searchFields\"\n [caseDefinitionKey]=\"orchestration.caseDefinitionKey$ | async\"\n [defaultValues]=\"orchestration.searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n (clearEvent)=\"onClearEvent()\"\n (doSearch)=\"search($event)\"\n (saveSearchEvent)=\"onSaveSearchEvent($event)\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatusKeys]=\"obs.selectedStatusKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n\n <valtimo-case-tags-selector\n *ngIf=\"obs.showCaseTagsSelector\"\n [caseTags]=\"obs.caseTags\"\n [selectedCaseTagKeys]=\"obs.selectedCaseTagKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedCaseTagsChangeEvent)=\"onSelectedCaseTagsChange($event)\"\n ></valtimo-case-tags-selector>\n </valtimo-search-fields>\n</ng-template>\n\n<ng-template #caseListActionsNoResult>\n <button\n *ngIf=\"orchestration.canCreateCase$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startCase()\"\n >\n {{ 'Start Case' | translate }}\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <cds-dropdown\n class=\"case-definition-selection\"\n *ngIf=\"{\n loadingCaseListItems: loadingCaseListItems$ | async,\n caseListItems: caseListItems$ | async,\n } as dropdownObs\"\n [attr.data-testid]=\"'generic-case-list-dropdown'\"\n [disabled]=\"dropdownObs.loadingCaseListItems || (dropdownObs.caseListItems || []).length === 1\"\n [skeleton]=\"dropdownObs.loadingCaseListItems\"\n (selected)=\"setCaseDefinition($event)\"\n >\n <cds-dropdown-list [items]=\"dropdownObs.caseListItems || []\"></cds-dropdown-list>\n </cds-dropdown>\n </ng-template>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}.case-definition-selection{display:flex;width:250px}\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"] }]
8147
- }], ctorParameters: () => [{ type: CaseListAssigneeService }, { type: i2$1.BreadcrumbService }, { type: CaseBulkAssignService }, { type: CaseExportService }, { type: CaseListCaseTagService }, { type: CaseListService }, { type: i2$1.PageTitleService }, { type: CaseListPaginationService }, { type: CaseParameterService }, { type: i2$1.QuickSearchStateService }, { type: i1$2.Router }, { type: CaseListSearchService }, { type: CaseListStatusService }, { type: undefined, decorators: [{
8337
+ }], ctorParameters: () => [{ type: CaseListAssigneeService }, { type: i2.BreadcrumbService }, { type: CaseBulkAssignService }, { type: CaseExportService }, { type: CaseListCaseTagService }, { type: CaseListService }, { type: i2.PageTitleService }, { type: CaseListPaginationService }, { type: CaseParameterService }, { type: i2.QuickSearchStateService }, { type: i1$3.Router }, { type: CaseListSearchService }, { type: CaseListStatusService }, { type: undefined, decorators: [{
8148
8338
  type: Inject,
8149
8339
  args: [QUICK_SEARCH_SERVICE]
8150
- }] }, { type: i1.ConfigService }, { type: i5$2.TeamsApiService }, { type: i2.DocumentService }, { type: i4.TranslateService }], propDecorators: { carbonList: [{
8340
+ }] }, { type: i1.ConfigService }, { type: i5$2.TeamsApiService }, { type: i1$2.DocumentService }, { type: i4.TranslateService }], propDecorators: { carbonList: [{
8151
8341
  type: ViewChild,
8152
8342
  args: ['specificCaseList']
8153
8343
  }], listActionsComponent: [{
@@ -8233,7 +8423,7 @@ const routes = [
8233
8423
  ];
8234
8424
  class CaseRoutingModule {
8235
8425
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8236
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: CaseRoutingModule, imports: [CommonModule, i1$2.RouterModule], exports: [RouterModule] }); }
8426
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: CaseRoutingModule, imports: [CommonModule, i1$3.RouterModule], exports: [RouterModule] }); }
8237
8427
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
8238
8428
  }
8239
8429
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseRoutingModule, decorators: [{
@@ -8332,7 +8522,7 @@ class CaseModule {
8332
8522
  this.menuService = menuService;
8333
8523
  this.menuService.registerAppendMenuItemsFunction(this.caseMenuService.appendCaseMenuItems);
8334
8524
  }
8335
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseModule, deps: [{ token: CaseMenuService }, { token: i2$1.MenuService }], target: i0.ɵɵFactoryTarget.NgModule }); }
8525
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseModule, deps: [{ token: CaseMenuService }, { token: i2.MenuService }], target: i0.ɵɵFactoryTarget.NgModule }); }
8336
8526
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: CaseModule, declarations: [CaseBulkAssignModalComponent,
8337
8527
  CaseListComponent,
8338
8528
  CaseDetailComponent,
@@ -8598,7 +8788,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
8598
8788
  ],
8599
8789
  exports: [CaseListComponent, CaseDetailComponent, CaseSupportingProcessStartModalComponent],
8600
8790
  }]
8601
- }], ctorParameters: () => [{ type: CaseMenuService }, { type: i2$1.MenuService }] });
8791
+ }], ctorParameters: () => [{ type: CaseMenuService }, { type: i2.MenuService }] });
8602
8792
 
8603
8793
  /*
8604
8794
  * Copyright 2015-2026 Ritense BV, the Netherlands.