@valtimo/case 13.35.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,14 +5,14 @@ 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';
14
+ import * as i1$4 from 'ngx-logger';
15
+ import * as i2 from '@valtimo/components';
16
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';
@@ -24,17 +24,17 @@ 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
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$2 from '@valtimo/process';
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.
@@ -4858,22 +4992,28 @@ class CaseSupportingProcessStartModalComponent {
4858
4992
  setModalSize(formSize) {
4859
4993
  this.modalSize$.next(formSize ? formSizeToCarbonModalSizeMap[formSize] : DEFAULT_START_MODAL_SIZE$1);
4860
4994
  }
4861
- openModalForStartableItem(item, documentId, caseDefinitionKey, caseDefinitionVersionTag) {
4995
+ openModalForStartableItem(item, documentId, caseDefinitionKey, caseDefinitionVersionTag, panelAvailable = false) {
4862
4996
  if (item.draft) {
4863
- this._pendingStartableItem = { item, documentId, caseDefinitionKey, caseDefinitionVersionTag };
4997
+ this._pendingStartableItem = {
4998
+ item,
4999
+ documentId,
5000
+ caseDefinitionKey,
5001
+ caseDefinitionVersionTag,
5002
+ panelAvailable,
5003
+ };
4864
5004
  this.showDraftConfirmation$.next(true);
4865
5005
  return;
4866
5006
  }
4867
5007
  this._pendingStartableItem = null;
4868
5008
  this.showDraftConfirmation$.next(false);
4869
- this.proceedWithStartableItem(item, documentId, caseDefinitionKey, caseDefinitionVersionTag);
5009
+ this.proceedWithStartableItem(item, documentId, caseDefinitionKey, caseDefinitionVersionTag, panelAvailable);
4870
5010
  }
4871
5011
  onDraftConfirmationConfirm() {
4872
5012
  this.showDraftConfirmation$.next(false);
4873
5013
  if (this._pendingStartableItem) {
4874
- const { item, documentId, caseDefinitionKey, caseDefinitionVersionTag } = this._pendingStartableItem;
5014
+ const { item, documentId, caseDefinitionKey, caseDefinitionVersionTag, panelAvailable } = this._pendingStartableItem;
4875
5015
  this._pendingStartableItem = null;
4876
- this.proceedWithStartableItem(item, documentId, caseDefinitionKey, caseDefinitionVersionTag);
5016
+ this.proceedWithStartableItem(item, documentId, caseDefinitionKey, caseDefinitionVersionTag, panelAvailable);
4877
5017
  }
4878
5018
  }
4879
5019
  onDraftConfirmationCancel() {
@@ -5016,13 +5156,13 @@ class CaseSupportingProcessStartModalComponent {
5016
5156
  openCdsModal() {
5017
5157
  this.modalOpen$.next(true);
5018
5158
  }
5019
- 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 }); }
5020
- 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$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: "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: "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" }], 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 }); }
5021
5161
  }
5022
5162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseSupportingProcessStartModalComponent, decorators: [{
5023
5163
  type: Component,
5024
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"] }]
5025
- }], ctorParameters: () => [{ type: i1$2.Router }, { type: i2$2.ProcessService }, { type: i3$3.ProcessLinkService }, { type: i4.TranslateService }, { type: CaseDetailLayoutService }, { type: undefined, decorators: [{
5165
+ }], ctorParameters: () => [{ type: i1$3.Router }, { type: i2$1.ProcessService }, { type: i3$3.ProcessLinkService }, { type: i4.TranslateService }, { type: CaseDetailLayoutService }, { type: undefined, decorators: [{
5026
5166
  type: Optional
5027
5167
  }, {
5028
5168
  type: Inject,
@@ -5268,7 +5408,7 @@ class CaseDetailComponent {
5268
5408
  }
5269
5409
  startItem(item) {
5270
5410
  this.showTaskList$.pipe(take(1)).subscribe(showTaskList => {
5271
- this.supportingProcessStart.openModalForStartableItem(item, this.documentId, this.caseDefinitionKey, this.caseDefinitionVersionTag);
5411
+ this.supportingProcessStart.openModalForStartableItem(item, this.documentId, this.caseDefinitionKey, this.caseDefinitionVersionTag, showTaskList);
5272
5412
  });
5273
5413
  }
5274
5414
  onStartFormPanelClose() {
@@ -5538,13 +5678,13 @@ class CaseDetailComponent {
5538
5678
  }
5539
5679
  }));
5540
5680
  }
5541
- 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 }); }
5542
- 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" }] }); }
5543
5683
  }
5544
5684
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseDetailComponent, decorators: [{
5545
5685
  type: Component,
5546
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"] }]
5547
- }], 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: [{
5548
5688
  type: Inject,
5549
5689
  args: [DOCUMENT]
5550
5690
  }] }], propDecorators: { supportingProcessStart: [{
@@ -5823,8 +5963,8 @@ class CaseProcessStartModalComponent {
5823
5963
  setTimeout(() => this.modalOpen$.next(false));
5824
5964
  this.closeModalEvent.emit();
5825
5965
  }
5826
- 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 }); }
5827
- 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$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: "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$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"] }], 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 }); }
5828
5968
  }
5829
5969
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseProcessStartModalComponent, decorators: [{
5830
5970
  type: Component,
@@ -5841,7 +5981,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5841
5981
  RenderInBodyComponent,
5842
5982
  ConfirmationModalModule,
5843
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"] }]
5844
- }], 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: [{
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: [{
5845
5985
  type: Optional
5846
5986
  }, {
5847
5987
  type: Inject,
@@ -5979,7 +6119,7 @@ class CaseListActionsComponent {
5979
6119
  this.selectedProcessDefinitionCaseDefinition = null;
5980
6120
  }
5981
6121
  }
5982
- 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 }); }
5983
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" }] }); }
5984
6124
  }
5985
6125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListActionsComponent, decorators: [{
@@ -5994,7 +6134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5994
6134
  CaseProcessStartModalComponent,
5995
6135
  RenderInBodyComponent,
5996
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"] }]
5997
- }], 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: [{
5998
6138
  type: ViewChild,
5999
6139
  args: ['processStartModal']
6000
6140
  }], loading: [{
@@ -6070,7 +6210,7 @@ class CaseListTabsComponent {
6070
6210
  this.tabChangeEvent.emit(tab);
6071
6211
  }
6072
6212
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6073
- 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 }); }
6074
6214
  }
6075
6215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListTabsComponent, decorators: [{
6076
6216
  type: Component,
@@ -6118,7 +6258,7 @@ class CaseListToolbarComponent {
6118
6258
  this.viewUpdateEvent = new EventEmitter();
6119
6259
  }
6120
6260
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6121
- 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 }); }
6122
6262
  }
6123
6263
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListToolbarComponent, decorators: [{
6124
6264
  type: Component,
@@ -6370,7 +6510,7 @@ class CaseListComponent {
6370
6510
  teams.length > 0 ? tabs : tabs.filter(tab => tab !== CaseListTab.TEAM);
6371
6511
  });
6372
6512
  }
6373
- 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 }); }
6374
6514
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: CaseListComponent, isStandalone: false, selector: "ng-component", providers: [
6375
6515
  CaseListService,
6376
6516
  CaseColumnService,
@@ -6386,7 +6526,7 @@ class CaseListComponent {
6386
6526
  provide: QUICK_SEARCH_SERVICE,
6387
6527
  useClass: CaseListQuickSearchService,
6388
6528
  },
6389
- ], 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" }] }); }
6390
6530
  }
6391
6531
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseListComponent, decorators: [{
6392
6532
  type: Component,
@@ -6406,7 +6546,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
6406
6546
  useClass: CaseListQuickSearchService,
6407
6547
  },
6408
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"] }]
6409
- }], 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: [{
6410
6550
  type: Inject,
6411
6551
  args: [QUICK_SEARCH_SERVICE]
6412
6552
  }] }, { type: i1.ConfigService }, { type: i5$2.TeamsApiService }], propDecorators: { carbonList: [{
@@ -6508,13 +6648,13 @@ class CaseUpdateComponent {
6508
6648
  returnZero() {
6509
6649
  return 0;
6510
6650
  }
6511
- 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 }); }
6512
- 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" }] }); }
6513
6653
  }
6514
6654
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseUpdateComponent, decorators: [{
6515
6655
  type: Component,
6516
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"] }]
6517
- }], 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 }] });
6518
6658
 
6519
6659
  /*
6520
6660
  * Copyright 2015-2026 Ritense BV, the Netherlands.
@@ -6628,13 +6768,13 @@ class CaseInspectionBuildingBlockDetailComponent {
6628
6768
  },
6629
6769
  });
6630
6770
  }
6631
- 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 }); }
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 }); }
6632
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 }); }
6633
6773
  }
6634
6774
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionBuildingBlockDetailComponent, decorators: [{
6635
6775
  type: Component,
6636
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"] }]
6637
- }], 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: [{
6638
6778
  type: Input
6639
6779
  }], viewProcessLogsEvent: [{
6640
6780
  type: Output
@@ -6731,7 +6871,7 @@ class CaseInspectionBuildingBlocksTabComponent {
6731
6871
  return instances.find(instance => instance.id === this.pendingInstanceId);
6732
6872
  }
6733
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 }); }
6734
- 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 }); }
6735
6875
  }
6736
6876
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionBuildingBlocksTabComponent, decorators: [{
6737
6877
  type: Component,
@@ -6853,13 +6993,13 @@ class CaseInspectionDocumentTabComponent {
6853
6993
  },
6854
6994
  });
6855
6995
  }
6856
- 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 }); }
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 }); }
6857
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 }); }
6858
6998
  }
6859
6999
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionDocumentTabComponent, decorators: [{
6860
7000
  type: Component,
6861
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"] }]
6862
- }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i2$3.PermissionService }, { type: i1.GlobalNotificationService }, { type: i4.TranslateService }], propDecorators: { documentId: [{
7002
+ }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i2$2.PermissionService }, { type: i1.GlobalNotificationService }, { type: i4.TranslateService }], propDecorators: { documentId: [{
6863
7003
  type: Input
6864
7004
  }] } });
6865
7005
 
@@ -7060,8 +7200,8 @@ class CaseInspectionLogsTabComponent {
7060
7200
  },
7061
7201
  });
7062
7202
  }
7063
- 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 }); }
7064
- 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 }); }
7065
7205
  }
7066
7206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionLogsTabComponent, decorators: [{
7067
7207
  type: Component,
@@ -7080,7 +7220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7080
7220
  LoadingModule,
7081
7221
  LayerModule,
7082
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"] }]
7083
- }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i1$4.FormBuilder }], propDecorators: { _afterDatePicker: [{
7223
+ }], ctorParameters: () => [{ type: CaseInspectionService }, { type: i1$5.FormBuilder }], propDecorators: { _afterDatePicker: [{
7084
7224
  type: ViewChild,
7085
7225
  args: ['afterPicker']
7086
7226
  }], _beforeDatePicker: [{
@@ -7357,8 +7497,8 @@ class CaseInspectionProcessVariableModalComponent {
7357
7497
  }
7358
7498
  };
7359
7499
  }
7360
- 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 }); }
7361
- 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 }); }
7362
7502
  }
7363
7503
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionProcessVariableModalComponent, decorators: [{
7364
7504
  type: Component,
@@ -7375,7 +7515,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7375
7515
  SelectModule,
7376
7516
  ValtimoCdsModalDirective,
7377
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"] }]
7378
- }], ctorParameters: () => [{ type: i1$4.FormBuilder }], propDecorators: { open: [{
7518
+ }], ctorParameters: () => [{ type: i1$5.FormBuilder }], propDecorators: { open: [{
7379
7519
  type: Input
7380
7520
  }], mode: [{
7381
7521
  type: Input
@@ -7552,7 +7692,7 @@ class CaseInspectionProcessDetailComponent {
7552
7692
  });
7553
7693
  }
7554
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 }); }
7555
- 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 }); }
7556
7696
  }
7557
7697
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionProcessDetailComponent, decorators: [{
7558
7698
  type: Component,
@@ -7676,7 +7816,7 @@ class CaseInspectionProcessesTabComponent {
7676
7816
  error: () => this.$canInspectModify.set(false),
7677
7817
  });
7678
7818
  }
7679
- 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 }); }
7680
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 }); }
7681
7821
  }
7682
7822
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionProcessesTabComponent, decorators: [{
@@ -7689,7 +7829,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7689
7829
  CaseInspectionProcessDetailComponent,
7690
7830
  LoadingModule,
7691
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"] }]
7692
- }], 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: [{
7693
7833
  type: Input
7694
7834
  }], viewBuildingBlockEvent: [{
7695
7835
  type: Output
@@ -7825,7 +7965,7 @@ class CaseInspectionComponent {
7825
7965
  this.$activeTab.set(requested);
7826
7966
  }
7827
7967
  }
7828
- 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 }); }
7829
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 }); }
7830
7970
  }
7831
7971
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseInspectionComponent, decorators: [{
@@ -7841,7 +7981,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7841
7981
  CaseInspectionLogsTabComponent,
7842
7982
  CaseInspectionMetadataTabComponent,
7843
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"] }]
7844
- }], 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: [{
7845
7985
  type: Optional
7846
7986
  }, {
7847
7987
  type: Inject,
@@ -8158,7 +8298,7 @@ class GenericCaseListComponent {
8158
8298
  };
8159
8299
  });
8160
8300
  }
8161
- 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 }); }
8162
8302
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: GenericCaseListComponent, isStandalone: false, selector: "ng-component", providers: [
8163
8303
  CaseListService,
8164
8304
  CaseColumnService,
@@ -8174,7 +8314,7 @@ class GenericCaseListComponent {
8174
8314
  provide: QUICK_SEARCH_SERVICE,
8175
8315
  useClass: CaseListQuickSearchService,
8176
8316
  },
8177
- ], 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" }] }); }
8178
8318
  }
8179
8319
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GenericCaseListComponent, decorators: [{
8180
8320
  type: Component,
@@ -8194,10 +8334,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
8194
8334
  useClass: CaseListQuickSearchService,
8195
8335
  },
8196
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"] }]
8197
- }], 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: [{
8198
8338
  type: Inject,
8199
8339
  args: [QUICK_SEARCH_SERVICE]
8200
- }] }, { 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: [{
8201
8341
  type: ViewChild,
8202
8342
  args: ['specificCaseList']
8203
8343
  }], listActionsComponent: [{
@@ -8283,7 +8423,7 @@ const routes = [
8283
8423
  ];
8284
8424
  class CaseRoutingModule {
8285
8425
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8286
- 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] }); }
8287
8427
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
8288
8428
  }
8289
8429
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CaseRoutingModule, decorators: [{
@@ -8382,7 +8522,7 @@ class CaseModule {
8382
8522
  this.menuService = menuService;
8383
8523
  this.menuService.registerAppendMenuItemsFunction(this.caseMenuService.appendCaseMenuItems);
8384
8524
  }
8385
- 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 }); }
8386
8526
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: CaseModule, declarations: [CaseBulkAssignModalComponent,
8387
8527
  CaseListComponent,
8388
8528
  CaseDetailComponent,
@@ -8648,7 +8788,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
8648
8788
  ],
8649
8789
  exports: [CaseListComponent, CaseDetailComponent, CaseSupportingProcessStartModalComponent],
8650
8790
  }]
8651
- }], ctorParameters: () => [{ type: CaseMenuService }, { type: i2$1.MenuService }] });
8791
+ }], ctorParameters: () => [{ type: CaseMenuService }, { type: i2.MenuService }] });
8652
8792
 
8653
8793
  /*
8654
8794
  * Copyright 2015-2026 Ritense BV, the Netherlands.