@valtimo/dossier 12.3.0 → 12.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/esm2022/lib/components/dossier-assign-user/dossier-assign-user.component.mjs +3 -3
  2. package/esm2022/lib/components/dossier-detail/dossier-detail.component.mjs +149 -24
  3. package/esm2022/lib/components/dossier-detail/tab/formio/formio.component.mjs +3 -3
  4. package/esm2022/lib/components/dossier-detail/tab/notes/notes.component.mjs +3 -3
  5. package/esm2022/lib/components/dossier-detail/tab/progress/progress.component.mjs +3 -3
  6. package/esm2022/lib/components/dossier-detail/tab/summary/summary.component.mjs +1 -1
  7. package/esm2022/lib/components/dossier-detail/tab/widgets/components/collection/widget-collection.component.mjs +3 -3
  8. package/esm2022/lib/components/dossier-detail/tab/widgets/components/field/widget-field.component.mjs +3 -3
  9. package/esm2022/lib/components/dossier-detail/tab/widgets/components/formio/widget-formio.component.mjs +1 -1
  10. package/esm2022/lib/components/dossier-detail/tab/widgets/components/table/widget-table.component.mjs +3 -3
  11. package/esm2022/lib/components/dossier-detail/tab/widgets/components/widget-block/widget-block.component.mjs +3 -3
  12. package/esm2022/lib/components/dossier-detail/tab/widgets/widgets.component.mjs +3 -3
  13. package/esm2022/lib/components/dossier-detail-task-detail/dossier-detail-task-detail.component.mjs +104 -0
  14. package/esm2022/lib/components/dossier-detail-task-list/dossier-detail-task-list.component.mjs +34 -15
  15. package/esm2022/lib/components/dossier-list/dossier-list.component.mjs +3 -3
  16. package/esm2022/lib/components/dossier-list-actions/dossier-list-actions.component.mjs +1 -1
  17. package/esm2022/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.mjs +21 -6
  18. package/esm2022/lib/components/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +3 -3
  19. package/esm2022/lib/constants/dossier-detail-layout.constants.mjs +13 -0
  20. package/esm2022/lib/constants/index.mjs +2 -1
  21. package/esm2022/lib/dossier-routing.module.mjs +3 -1
  22. package/esm2022/lib/dossier.module.mjs +12 -4
  23. package/esm2022/lib/models/dossier-detail-layout.model.mjs +2 -0
  24. package/esm2022/lib/models/index.mjs +2 -1
  25. package/esm2022/lib/models/tabs.model.mjs +13 -23
  26. package/esm2022/lib/services/dossier-detail-layout.service.mjs +93 -0
  27. package/esm2022/lib/services/dossier-tab.service.mjs +2 -2
  28. package/esm2022/lib/services/index.mjs +2 -1
  29. package/esm2022/public_api.mjs +2 -1
  30. package/fesm2022/valtimo-dossier.mjs +445 -105
  31. package/fesm2022/valtimo-dossier.mjs.map +1 -1
  32. package/lib/components/dossier-detail/dossier-detail.component.d.ts +44 -13
  33. package/lib/components/dossier-detail/dossier-detail.component.d.ts.map +1 -1
  34. package/lib/components/dossier-detail-task-detail/dossier-detail-task-detail.component.d.ts +38 -0
  35. package/lib/components/dossier-detail-task-detail/dossier-detail-task-detail.component.d.ts.map +1 -0
  36. package/lib/components/dossier-detail-task-list/dossier-detail-task-list.component.d.ts +17 -4
  37. package/lib/components/dossier-detail-task-list/dossier-detail-task-list.component.d.ts.map +1 -1
  38. package/lib/components/dossier-list-actions/dossier-list-actions.component.d.ts.map +1 -1
  39. package/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.d.ts +4 -3
  40. package/lib/components/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +1 -1
  41. package/lib/constants/dossier-detail-layout.constants.d.ts +10 -0
  42. package/lib/constants/dossier-detail-layout.constants.d.ts.map +1 -0
  43. package/lib/constants/index.d.ts +1 -0
  44. package/lib/constants/index.d.ts.map +1 -1
  45. package/lib/dossier-routing.module.d.ts.map +1 -1
  46. package/lib/dossier.module.d.ts +3 -1
  47. package/lib/dossier.module.d.ts.map +1 -1
  48. package/lib/models/dossier-detail-layout.model.d.ts +18 -0
  49. package/lib/models/dossier-detail-layout.model.d.ts.map +1 -0
  50. package/lib/models/index.d.ts +1 -0
  51. package/lib/models/index.d.ts.map +1 -1
  52. package/lib/models/tabs.model.d.ts +2 -2
  53. package/lib/models/tabs.model.d.ts.map +1 -1
  54. package/lib/services/dossier-detail-layout.service.d.ts +29 -0
  55. package/lib/services/dossier-detail-layout.service.d.ts.map +1 -0
  56. package/lib/services/dossier-tab.service.d.ts.map +1 -1
  57. package/lib/services/index.d.ts +1 -0
  58. package/lib/services/index.d.ts.map +1 -1
  59. package/package.json +3 -2
  60. package/public_api.d.ts +1 -0
  61. package/public_api.d.ts.map +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, ViewEncapsulation, EventEmitter, Output, ViewContainerRef, Optional, Inject, HostBinding, ViewChild, Input, InjectionToken, ChangeDetectionStrategy, signal, Pipe, NgModule } from '@angular/core';
2
+ import { Injectable, Component, ViewEncapsulation, EventEmitter, Output, ViewContainerRef, Optional, Inject, HostBinding, ViewChild, Input, InjectionToken, ChangeDetectionStrategy, signal, Pipe, RendererStyleFlags2, NgModule } from '@angular/core';
3
3
  import * as i2$4 from '@angular/forms';
4
4
  import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
5
  import { BehaviorSubject, take, map, distinctUntilChanged, combineLatest, Subject, switchMap, tap, filter, Subscription, startWith, of, catchError as catchError$1, delay, debounceTime, repeat, forkJoin, defaultIfEmpty } from 'rxjs';
@@ -15,34 +15,35 @@ import * as i1$1 from '@angular/router';
15
15
  import { RouterModule } from '@angular/router';
16
16
  import * as i1$2 from 'ngx-logger';
17
17
  import * as i2$2 from '@valtimo/components';
18
- import { FormioOptionsImpl, TimelineItemImpl, CASES_WITHOUT_STATUS_KEY, CarbonListModule, FormIoModule, ViewType, CurrentCarbonTheme, CARBON_THEME, WidgetModule, CarbonListComponent, ListModule, BpmnJsDiagramModule, TimelineModule, CamundaFormModule, FilterSidebarModule, DataListModule, ModalModule, SpinnerModule, UploaderModule, DropzoneModule, SelectModule, InputLabelModule, ParagraphModule, TableModule, VModalModule, TitleModule, ButtonModule, SearchableDropdownSelectModule, SearchFieldsModule, PageModule, InputModule as InputModule$1, FormModule as FormModule$1, ConfirmationModalModule, IsArrayPipe, StatusSelectorComponent, RenderInPageHeaderDirectiveModule, ValtimoCdsOverflowButtonDirectiveModule } from '@valtimo/components';
18
+ import { FormioOptionsImpl, TimelineItemImpl, CASES_WITHOUT_STATUS_KEY, CarbonListModule, FormIoModule, ViewType, CurrentCarbonTheme, CARBON_THEME, WidgetModule, PendingChangesComponent, CarbonListComponent, pendingChangesGuard, ListModule, BpmnJsDiagramModule, TimelineModule, CamundaFormModule, FilterSidebarModule, DataListModule, ModalModule, SpinnerModule, UploaderModule, DropzoneModule, SelectModule, InputLabelModule, ParagraphModule, TableModule, VModalModule, TitleModule, ButtonModule as ButtonModule$1, SearchableDropdownSelectModule, SearchFieldsModule, PageModule, InputModule as InputModule$1, FormModule as FormModule$1, ConfirmationModalModule, IsArrayPipe, StatusSelectorComponent, RenderInPageHeaderDirectiveModule, ValtimoCdsOverflowButtonDirectiveModule } from '@valtimo/components';
19
19
  export { CASES_WITHOUT_STATUS_KEY } from '@valtimo/components';
20
20
  import moment from 'moment';
21
21
  import * as i3 from '@valtimo/form';
22
22
  import { FormModule } from '@valtimo/form';
23
23
  import * as i3$1 from '@angular/common';
24
- import { CommonModule } from '@angular/common';
24
+ import { CommonModule, DOCUMENT } from '@angular/common';
25
25
  import * as i2$3 from '@valtimo/process';
26
26
  import { ProcessModule } from '@valtimo/process';
27
- import * as i4 from 'carbon-components-angular';
28
- import { InputModule, PaginationModel, PaginationModule, TilesModule, LoadingModule, LayerModule, TagModule, Tabs, ButtonModule as ButtonModule$1, IconModule, ModalModule as ModalModule$1, SelectModule as SelectModule$1, DropdownModule, TabsModule, ComboBoxModule, SkeletonModule, DialogModule } from 'carbon-components-angular';
27
+ import * as i9 from 'carbon-components-angular';
28
+ import { InputModule, PaginationModel, PaginationModule, TilesModule, LoadingModule, LayerModule, TagModule, ButtonModule, IconModule, Tabs, ModalModule as ModalModule$1, SelectModule as SelectModule$1, DropdownModule, TabsModule, ComboBoxModule, SkeletonModule, DialogModule } from 'carbon-components-angular';
29
29
  import * as i3$2 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 { switchMap as switchMap$1, map as map$1, take as take$1, tap as tap$1, catchError } from 'rxjs/operators';
33
33
  import * as i3$3 from 'ngx-toastr';
34
- import * as i4$1 from '@valtimo/resource';
35
- import * as i7 from '@valtimo/access-control';
36
- import * as i4$3 from '@valtimo/security';
34
+ import * as i4 from '@valtimo/resource';
35
+ import * as i6$2 from '@valtimo/access-control';
36
+ import * as i5 from '@valtimo/security';
37
37
  import { InterceptorSkip, AuthGuardService } from '@valtimo/security';
38
38
  import { v4 } from 'uuid';
39
39
  import Muuri from 'muuri';
40
40
  import { ChevronDown16 } from '@carbon/icons';
41
- import * as i4$4 from 'keycloak-angular';
42
- import moment$1 from 'moment/moment';
43
- import * as i1$3 from '@valtimo/task';
44
- import { CAN_VIEW_TASK_PERMISSION, TASK_DETAIL_PERMISSION_RESOURCE, TaskModule } from '@valtimo/task';
45
- import * as i4$2 from '@valtimo/process-link';
41
+ import * as i4$2 from 'keycloak-angular';
42
+ import * as i10 from '@valtimo/task';
43
+ import { CAN_VIEW_TASK_PERMISSION, TASK_DETAIL_PERMISSION_RESOURCE, TaskModule, CAN_ASSIGN_TASK_PERMISSION, TaskDetailContentComponent, TaskDetailIntermediateSaveComponent, AssignUserToTaskComponent } from '@valtimo/task';
44
+ import * as i15 from 'angular-split';
45
+ import { AngularSplitModule } from 'angular-split';
46
+ import * as i4$1 from '@valtimo/process-link';
46
47
  import { ProcessLinkModule } from '@valtimo/process-link';
47
48
  import { isEqual } from 'lodash';
48
49
 
@@ -873,21 +874,6 @@ var ApiTabType;
873
874
  ApiTabType["WIDGETS"] = "widgets";
874
875
  })(ApiTabType || (ApiTabType = {}));
875
876
 
876
- /*
877
- * Copyright 2015-2024 Ritense BV, the Netherlands.
878
- *
879
- * Licensed under EUPL, Version 1.2 (the "License");
880
- * you may not use this file except in compliance with the License.
881
- * You may obtain a copy of the License at
882
- *
883
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
884
- *
885
- * Unless required by applicable law or agreed to in writing, software
886
- * distributed under the License is distributed on an "AS IS" basis,
887
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
888
- * See the License for the specific language governing permissions and
889
- * limitations under the License.
890
- */
891
877
  class TabLoaderImpl {
892
878
  constructor(tabs, componentFactoryResolver, viewContainerRef, router, route) {
893
879
  this._activeTab$ = new BehaviorSubject(null);
@@ -918,14 +904,13 @@ class TabLoaderImpl {
918
904
  if (!initialTab) {
919
905
  initialTab = this._tabs[0] || null;
920
906
  }
921
- this.load(initialTab, true);
907
+ this.load(initialTab);
922
908
  }
923
- load(newTab, isInitial = false) {
909
+ load(newTab) {
924
910
  if (newTab !== this._activeTab) {
925
911
  this._tabs.forEach(tab => tab.deactivate());
926
912
  this.replaceView(newTab);
927
- if (!isInitial)
928
- this.replaceUrlState(newTab);
913
+ this.replaceUrlState(newTab);
929
914
  this.setActive(newTab);
930
915
  }
931
916
  }
@@ -941,11 +926,17 @@ class TabLoaderImpl {
941
926
  this._activeComponent = this._viewContainerRef.createComponent(componentFactory);
942
927
  }
943
928
  replaceUrlState(nextTab) {
944
- this._route.params.pipe(take(1)).subscribe(params => {
929
+ combineLatest([this._route.params, this._route.queryParams])
930
+ .pipe(take(1))
931
+ .subscribe(([params, queryParams]) => {
945
932
  const currentUrl = this._router.url;
946
933
  const currentDocumentId = params?.documentId;
947
934
  const urlBeforeDocumentId = currentUrl.split(currentDocumentId)[0];
948
- this._router.navigateByUrl(`${urlBeforeDocumentId}${currentDocumentId}/${nextTab.name}`);
935
+ this._router.navigate([`${urlBeforeDocumentId}${currentDocumentId}/${nextTab.name}`], {
936
+ ...(nextTab.name === 'documents' && {
937
+ queryParams,
938
+ }),
939
+ });
949
940
  });
950
941
  }
951
942
  setActive(tab) {
@@ -1061,7 +1052,7 @@ class DossierDetailTabSummaryComponent {
1061
1052
  }));
1062
1053
  }
1063
1054
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabSummaryComponent, deps: [{ token: i2$1.DocumentService }, { token: i1$1.ActivatedRoute }, { token: i3.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
1064
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabSummaryComponent, selector: "valtimo-dossier-detail-tab-summary", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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=\"container-fluid\">\n <div class=\"row py-4\">\n <div class=\"col-12\">\n <div *ngIf=\"document\">\n <div *ngIf=\"formDefinition\" class=\"summaryForm\">\n <div class=\"mb-4\">\n <valtimo-form-io [form]=\"formDefinition\" [options]=\"options\"></valtimo-form-io>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".hoverable:hover{background-color:#eee}.summaryForm .formio-component{margin-bottom:0!important}.summaryForm .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.summaryForm .formio-field div[ref=element] .form-control{font-weight:400}.summaryForm .formio-value div[ref=element] .form-control{font-weight:700}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }], encapsulation: i0.ViewEncapsulation.None }); }
1055
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabSummaryComponent, selector: "valtimo-dossier-detail-tab-summary", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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=\"container-fluid\">\n <div class=\"row py-4\">\n <div class=\"col-12\">\n <div *ngIf=\"document\">\n <div *ngIf=\"formDefinition\" class=\"summaryForm\">\n <div class=\"mb-4\">\n <valtimo-form-io [form]=\"formDefinition\" [options]=\"options\"></valtimo-form-io>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".hoverable:hover{background-color:#eee}.summaryForm .formio-component{margin-bottom:0!important}.summaryForm .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.summaryForm .formio-field div[ref=element] .form-control{font-weight:400}.summaryForm .formio-value div[ref=element] .form-control{font-weight:700}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }], encapsulation: i0.ViewEncapsulation.None }); }
1065
1056
  }
1066
1057
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabSummaryComponent, decorators: [{
1067
1058
  type: Component,
@@ -1115,11 +1106,11 @@ class DossierDetailTabProgressComponent {
1115
1106
  }
1116
1107
  }
1117
1108
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabProgressComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2$1.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
1118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabProgressComponent, selector: "valtimo-dossier-detail-tab-progress", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 <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 <div>\n <v-input-label [title]=\"'progress.version' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"30\"\n ></cds-skeleton-text>\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 <div>\n <v-input-label [title]=\"'progress.startedBy' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedBy || ('progress.system' | translate) }}\n </span>\n </div>\n <div>\n <v-input-label [title]=\"'progress.startedOn' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedOn.toLocaleDateString() }}\n </span>\n </div>\n </div>\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"], dependencies: [{ kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.ProcessDiagramComponent, selector: "valtimo-process-diagram", inputs: ["processDefinitionKey", "processInstanceId"], outputs: ["importDone"] }, { kind: "component", type: i2$2.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i4.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i4.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i4.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabProgressComponent, selector: "valtimo-dossier-detail-tab-progress", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 <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 <div>\n <v-input-label [title]=\"'progress.version' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"30\"\n ></cds-skeleton-text>\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 <div>\n <v-input-label [title]=\"'progress.startedBy' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedBy || ('progress.system' | translate) }}\n </span>\n </div>\n <div>\n <v-input-label [title]=\"'progress.startedOn' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedOn.toLocaleDateString() }}\n </span>\n </div>\n </div>\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"], dependencies: [{ kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.ProcessDiagramComponent, selector: "valtimo-process-diagram", inputs: ["processDefinitionKey", "processInstanceId"], outputs: ["importDone"] }, { kind: "component", type: i2$2.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i9.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i9.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i9.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1119
1110
  }
1120
1111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabProgressComponent, decorators: [{
1121
1112
  type: Component,
1122
- args: [{ selector: 'valtimo-dossier-detail-tab-progress', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 <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 <div>\n <v-input-label [title]=\"'progress.version' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"30\"\n ></cds-skeleton-text>\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 <div>\n <v-input-label [title]=\"'progress.startedBy' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedBy || ('progress.system' | translate) }}\n </span>\n </div>\n <div>\n <v-input-label [title]=\"'progress.startedOn' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedOn.toLocaleDateString() }}\n </span>\n </div>\n </div>\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"] }]
1113
+ args: [{ selector: 'valtimo-dossier-detail-tab-progress', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 <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 <div>\n <v-input-label [title]=\"'progress.version' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"30\"\n ></cds-skeleton-text>\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 <div>\n <v-input-label [title]=\"'progress.startedBy' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedBy || ('progress.system' | translate) }}\n </span>\n </div>\n <div>\n <v-input-label [title]=\"'progress.startedOn' | translate\"></v-input-label>\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedOn.toLocaleDateString() }}\n </span>\n </div>\n </div>\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"] }]
1123
1114
  }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i2$1.DocumentService }] });
1124
1115
 
1125
1116
  /*
@@ -1326,13 +1317,13 @@ class DossierDetailTabS3DocumentsComponent {
1326
1317
  refetchDocuments() {
1327
1318
  this.refetch$.next(null);
1328
1319
  }
1329
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2$1.DocumentService }, { token: i3$3.ToastrService }, { token: i4$1.UploadProviderService }, { token: i4$1.DownloadService }, { token: i2$2.PromptService }, { token: i6.TranslateService }, { token: i1.ConfigService }, { token: i2$1.FileSortService }], target: i0.ɵɵFactoryTarget.Component }); }
1320
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2$1.DocumentService }, { token: i3$3.ToastrService }, { token: i4.UploadProviderService }, { token: i4.DownloadService }, { token: i2$2.PromptService }, { token: i6.TranslateService }, { token: i1.ConfigService }, { token: i2$1.FileSortService }], target: i0.ɵɵFactoryTarget.Component }); }
1330
1321
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabS3DocumentsComponent, selector: "valtimo-dossier-detail-tab-s3-documents", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [viewMode]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this dossier' | translate }}\n </h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: "component", type: i2$2.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i2$2.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i2$2.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1331
1322
  }
1332
1323
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, decorators: [{
1333
1324
  type: Component,
1334
1325
  args: [{ selector: 'valtimo-dossier-detail-tab-s3-documents', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [viewMode]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this dossier' | translate }}\n </h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
1335
- }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i2$1.DocumentService }, { type: i3$3.ToastrService }, { type: i4$1.UploadProviderService }, { type: i4$1.DownloadService }, { type: i2$2.PromptService }, { type: i6.TranslateService }, { type: i1.ConfigService }, { type: i2$1.FileSortService }] });
1326
+ }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i2$1.DocumentService }, { type: i3$3.ToastrService }, { type: i4.UploadProviderService }, { type: i4.DownloadService }, { type: i2$2.PromptService }, { type: i6.TranslateService }, { type: i1.ConfigService }, { type: i2$1.FileSortService }] });
1336
1327
 
1337
1328
  /*
1338
1329
  * Copyright 2015-2024 Ritense BV, the Netherlands.
@@ -1797,13 +1788,13 @@ class DossierDetailTabNotesComponent {
1797
1788
  },
1798
1789
  });
1799
1790
  }
1800
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabNotesComponent, deps: [{ token: NotesService }, { token: i7.PermissionService }, { token: i2$2.PromptService }, { token: i1$1.ActivatedRoute }, { token: i3$3.ToastrService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
1801
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabNotesComponent, selector: "valtimo-dossier-detail-tab-notes", host: { properties: { "class.tab--no-margin": "this.noMargin" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF 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 {{ 'dossier.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 <valtimo-no-results\n *ngIf=\"timelineItems.length === 0\"\n [description]=\"'dossier.notes.noResults.description' | translate\"\n [title]=\"'dossier.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 (createNoteEvent)=\"createNewNote($event)\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n></valtimo-note-modal>\n", styles: [":host{display:flex;flex-direction:column}.add-note{align-self:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i2$2.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.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: NoteModalComponent, selector: "valtimo-note-modal", inputs: ["customData"], outputs: ["createNoteEvent", "editNoteEvent"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1791
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabNotesComponent, deps: [{ token: NotesService }, { token: i6$2.PermissionService }, { token: i2$2.PromptService }, { token: i1$1.ActivatedRoute }, { token: i3$3.ToastrService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
1792
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabNotesComponent, selector: "valtimo-dossier-detail-tab-notes", host: { properties: { "class.tab--no-margin": "this.noMargin" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF 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 {{ 'dossier.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 <valtimo-no-results\n *ngIf=\"timelineItems.length === 0\"\n [description]=\"'dossier.notes.noResults.description' | translate\"\n [title]=\"'dossier.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 (createNoteEvent)=\"createNewNote($event)\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n></valtimo-note-modal>\n", styles: [":host{display:flex;flex-direction:column}.add-note{align-self:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i2$2.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: i9.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i9.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: NoteModalComponent, selector: "valtimo-note-modal", inputs: ["customData"], outputs: ["createNoteEvent", "editNoteEvent"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
1802
1793
  }
1803
1794
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabNotesComponent, decorators: [{
1804
1795
  type: Component,
1805
- args: [{ selector: 'valtimo-dossier-detail-tab-notes', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF 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 {{ 'dossier.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 <valtimo-no-results\n *ngIf=\"timelineItems.length === 0\"\n [description]=\"'dossier.notes.noResults.description' | translate\"\n [title]=\"'dossier.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 (createNoteEvent)=\"createNewNote($event)\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n></valtimo-note-modal>\n", styles: [":host{display:flex;flex-direction:column}.add-note{align-self:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
1806
- }], ctorParameters: () => [{ type: NotesService }, { type: i7.PermissionService }, { type: i2$2.PromptService }, { type: i1$1.ActivatedRoute }, { type: i3$3.ToastrService }, { type: i6.TranslateService }], propDecorators: { noMargin: [{
1796
+ args: [{ selector: 'valtimo-dossier-detail-tab-notes', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF 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 {{ 'dossier.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 <valtimo-no-results\n *ngIf=\"timelineItems.length === 0\"\n [description]=\"'dossier.notes.noResults.description' | translate\"\n [title]=\"'dossier.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 (createNoteEvent)=\"createNewNote($event)\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n></valtimo-note-modal>\n", styles: [":host{display:flex;flex-direction:column}.add-note{align-self:flex-end}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
1797
+ }], ctorParameters: () => [{ type: NotesService }, { type: i6$2.PermissionService }, { type: i2$2.PromptService }, { type: i1$1.ActivatedRoute }, { type: i3$3.ToastrService }, { type: i6.TranslateService }], propDecorators: { noMargin: [{
1807
1798
  type: HostBinding,
1808
1799
  args: ['class.tab--no-margin']
1809
1800
  }] } });
@@ -1950,6 +1941,18 @@ const WIDGET_HEIGHT_1X = 200;
1950
1941
  */
1951
1942
  const CUSTOM_CASE_WIDGET_TOKEN = new InjectionToken('Specify a component to display per configured custom case widget component key.');
1952
1943
 
1944
+ const DOSSIER_DETAIL_GUTTER_SIZE = 32;
1945
+ const DOSSIER_DETAIL_TASK_LIST_WIDTH = 412;
1946
+ const DOSSIER_DETAIL_LEFT_PANEL_MIN_WIDTH = 320;
1947
+ const DOSSIER_DETAIL_RIGHT_PANEL_MIN_WIDTHS = {
1948
+ extraSmall: 240,
1949
+ small: 320,
1950
+ medium: 480,
1951
+ large: 640,
1952
+ };
1953
+ const DOSSIER_DETAIL_DEFAULT_DISPLAY_TYPE = 'modal';
1954
+ const DOSSIER_DETAIL_DEFAULT_DISPLAY_SIZE = 'medium';
1955
+
1953
1956
  /*
1954
1957
  * Copyright 2015-2024 Ritense BV, the Netherlands.
1955
1958
  *
@@ -2009,11 +2012,11 @@ class DossierDetailTabFormioComponent {
2009
2012
  }));
2010
2013
  }
2011
2014
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabFormioComponent, deps: [{ token: DossierTabService }, { token: i1$1.ActivatedRoute }, { token: i3.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
2012
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabFormioComponent, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 {{ 'dossier.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'dossier.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-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2015
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailTabFormioComponent, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 {{ 'dossier.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'dossier.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-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i9.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2013
2016
  }
2014
2017
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTabFormioComponent, decorators: [{
2015
2018
  type: Component,
2016
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 {{ 'dossier.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'dossier.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-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
2019
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 {{ 'dossier.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'dossier.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-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
2017
2020
  }], ctorParameters: () => [{ type: DossierTabService }, { type: i1$1.ActivatedRoute }, { type: i3.FormService }] });
2018
2021
 
2019
2022
  /*
@@ -2172,11 +2175,11 @@ class WidgetFieldComponent {
2172
2175
  return widgetData && Object.keys(widgetData).length === 0;
2173
2176
  }
2174
2177
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetFieldComponent, deps: [{ token: i2$2.ViewContentService }], target: i0.ɵɵFactoryTarget.Component }); }
2175
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: WidgetFieldComponent, isStandalone: true, selector: "valtimo-widget-field", inputs: { collapseVertically: "collapseVertically", widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "_widgetFieldRef", first: true, predicate: ["widgetField"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 widgetConfiguration: widgetConfiguration$ | async,\n widgetPropertyValue: widgetPropertyValue$ | async,\n widgetData: widgetData$ | async,\n isEmptyWidgetData: isEmptyWidgetData$ | async\n } as obs\"\n>\n <h4 class=\"widget-field__title\">{{ obs?.widgetConfiguration?.title }}</h4>\n\n @if (obs?.isEmptyWidgetData) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else {\n <div\n #widgetField\n [ngClass]=\"{\n 'widget-field__render-vertically': renderVertically() === 1,\n 'widget-field__render-two-columns': renderVertically() === 2,\n 'widget-field__render-three-columns': renderVertically() === 3,\n 'widget-field__container': renderVertically() === 4\n }\"\n >\n @for (column of obs?.widgetPropertyValue; track column.key) {\n <div class=\"widget-field__column\">\n @for (property of column; track property) {\n <cds-label>\n <span [attr.title]=\"property?.title\"> {{ property?.title }}</span>\n\n <input cdsText [value]=\"property?.value\" [readonly]=\"true\" />\n </cds-label>\n }\n </div>\n }\n </div>\n }\n</ng-container>\n", styles: [".widget-field{padding:24px}.widget-field,.widget-field__column{display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden}.widget-field__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.widget-field__container{display:grid;grid-gap:24px;grid-template-columns:repeat(4,1fr)}.widget-field .cds--label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-field__render-vertically,.widget-field__render-two-columns,.widget-field__render-three-columns{display:grid;align-items:stretch;gap:24px}.widget-field__render-vertically{grid-template-columns:repeat(1,1fr)}.widget-field__render-two-columns{grid-template-columns:repeat(2,1fr)}.widget-field__render-three-columns{grid-template-columns:repeat(3,1fr)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i4.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i4.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2178
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: WidgetFieldComponent, isStandalone: true, selector: "valtimo-widget-field", inputs: { collapseVertically: "collapseVertically", widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "_widgetFieldRef", first: true, predicate: ["widgetField"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 widgetConfiguration: widgetConfiguration$ | async,\n widgetPropertyValue: widgetPropertyValue$ | async,\n widgetData: widgetData$ | async,\n isEmptyWidgetData: isEmptyWidgetData$ | async,\n } as obs\"\n>\n <h4 class=\"widget-field__title\">{{ obs?.widgetConfiguration?.title }}</h4>\n\n @if (obs?.isEmptyWidgetData) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else {\n <div\n #widgetField\n [ngClass]=\"{\n 'widget-field__render-vertically': renderVertically() === 1,\n 'widget-field__render-two-columns': renderVertically() === 2,\n 'widget-field__render-three-columns': renderVertically() === 3,\n 'widget-field__container': renderVertically() === 4,\n }\"\n >\n @for (column of obs?.widgetPropertyValue; track column.key) {\n <div class=\"widget-field__column\">\n @for (property of column; track property) {\n <cds-label>\n <span [attr.title]=\"property?.title\"> {{ property?.title }}</span>\n\n <input cdsText [value]=\"property?.value\" [readonly]=\"true\" />\n </cds-label>\n }\n </div>\n }\n </div>\n }\n</ng-container>\n", styles: [".widget-field{padding:24px}.widget-field,.widget-field__column{display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden}.widget-field__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.widget-field__container{display:grid;grid-gap:24px;grid-template-columns:repeat(4,1fr)}.widget-field .cds--label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-field__render-vertically,.widget-field__render-two-columns,.widget-field__render-three-columns{display:grid;align-items:stretch;gap:24px}.widget-field__render-vertically{grid-template-columns:repeat(1,1fr)}.widget-field__render-two-columns{grid-template-columns:repeat(2,1fr)}.widget-field__render-three-columns{grid-template-columns:repeat(3,1fr)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i9.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i9.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2176
2179
  }
2177
2180
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetFieldComponent, decorators: [{
2178
2181
  type: Component,
2179
- args: [{ selector: 'valtimo-widget-field', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, WidgetFieldComponent, InputModule, TranslateModule, CarbonListModule], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 widgetConfiguration: widgetConfiguration$ | async,\n widgetPropertyValue: widgetPropertyValue$ | async,\n widgetData: widgetData$ | async,\n isEmptyWidgetData: isEmptyWidgetData$ | async\n } as obs\"\n>\n <h4 class=\"widget-field__title\">{{ obs?.widgetConfiguration?.title }}</h4>\n\n @if (obs?.isEmptyWidgetData) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else {\n <div\n #widgetField\n [ngClass]=\"{\n 'widget-field__render-vertically': renderVertically() === 1,\n 'widget-field__render-two-columns': renderVertically() === 2,\n 'widget-field__render-three-columns': renderVertically() === 3,\n 'widget-field__container': renderVertically() === 4\n }\"\n >\n @for (column of obs?.widgetPropertyValue; track column.key) {\n <div class=\"widget-field__column\">\n @for (property of column; track property) {\n <cds-label>\n <span [attr.title]=\"property?.title\"> {{ property?.title }}</span>\n\n <input cdsText [value]=\"property?.value\" [readonly]=\"true\" />\n </cds-label>\n }\n </div>\n }\n </div>\n }\n</ng-container>\n", styles: [".widget-field{padding:24px}.widget-field,.widget-field__column{display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden}.widget-field__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.widget-field__container{display:grid;grid-gap:24px;grid-template-columns:repeat(4,1fr)}.widget-field .cds--label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-field__render-vertically,.widget-field__render-two-columns,.widget-field__render-three-columns{display:grid;align-items:stretch;gap:24px}.widget-field__render-vertically{grid-template-columns:repeat(1,1fr)}.widget-field__render-two-columns{grid-template-columns:repeat(2,1fr)}.widget-field__render-three-columns{grid-template-columns:repeat(3,1fr)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
2182
+ args: [{ selector: 'valtimo-widget-field', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, WidgetFieldComponent, InputModule, TranslateModule, CarbonListModule], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 widgetConfiguration: widgetConfiguration$ | async,\n widgetPropertyValue: widgetPropertyValue$ | async,\n widgetData: widgetData$ | async,\n isEmptyWidgetData: isEmptyWidgetData$ | async,\n } as obs\"\n>\n <h4 class=\"widget-field__title\">{{ obs?.widgetConfiguration?.title }}</h4>\n\n @if (obs?.isEmptyWidgetData) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n } @else {\n <div\n #widgetField\n [ngClass]=\"{\n 'widget-field__render-vertically': renderVertically() === 1,\n 'widget-field__render-two-columns': renderVertically() === 2,\n 'widget-field__render-three-columns': renderVertically() === 3,\n 'widget-field__container': renderVertically() === 4,\n }\"\n >\n @for (column of obs?.widgetPropertyValue; track column.key) {\n <div class=\"widget-field__column\">\n @for (property of column; track property) {\n <cds-label>\n <span [attr.title]=\"property?.title\"> {{ property?.title }}</span>\n\n <input cdsText [value]=\"property?.value\" [readonly]=\"true\" />\n </cds-label>\n }\n </div>\n }\n </div>\n }\n</ng-container>\n", styles: [".widget-field{padding:24px}.widget-field,.widget-field__column{display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden}.widget-field__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.widget-field__container{display:grid;grid-gap:24px;grid-template-columns:repeat(4,1fr)}.widget-field .cds--label{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-field__render-vertically,.widget-field__render-two-columns,.widget-field__render-three-columns{display:grid;align-items:stretch;gap:24px}.widget-field__render-vertically{grid-template-columns:repeat(1,1fr)}.widget-field__render-two-columns{grid-template-columns:repeat(2,1fr)}.widget-field__render-three-columns{grid-template-columns:repeat(3,1fr)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
2180
2183
  }], ctorParameters: () => [{ type: i2$2.ViewContentService }], propDecorators: { class: [{
2181
2184
  type: HostBinding,
2182
2185
  args: ['class']
@@ -2237,7 +2240,7 @@ class WidgetFormioComponent {
2237
2240
  ])), tap(([_, config]) => this.layoutService.setWidgetWithExternalDataReady(config.uuid)), map(([formDef]) => formDef));
2238
2241
  }
2239
2242
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetFormioComponent, deps: [{ token: i3.FormService }, { token: DossierWidgetsLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2240
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WidgetFormioComponent, isStandalone: true, selector: "valtimo-widget-formio", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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=\"formio-widget\" *ngIf=\"prefilledFormDefinition$ | async as prefilledFormDefinition\">\n <h4 class=\"formio-widget__title\">{{ (widgetConfiguration$ | async)?.title || '-' }}</h4>\n\n <valtimo-form-io [form]=\"prefilledFormDefinition\"></valtimo-form-io>\n</div>\n", styles: [".formio-widget{padding:24px}.formio-widget__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px;margin-bottom:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i2$2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2243
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: WidgetFormioComponent, isStandalone: true, selector: "valtimo-widget-formio", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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=\"formio-widget\" *ngIf=\"prefilledFormDefinition$ | async as prefilledFormDefinition\">\n <h4 class=\"formio-widget__title\">{{ (widgetConfiguration$ | async)?.title || '-' }}</h4>\n\n <valtimo-form-io [form]=\"prefilledFormDefinition\"></valtimo-form-io>\n</div>\n", styles: [".formio-widget{padding:24px}.formio-widget__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px;margin-bottom:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i2$2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2241
2244
  }
2242
2245
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetFormioComponent, decorators: [{
2243
2246
  type: Component,
@@ -2346,11 +2349,11 @@ class WidgetTableComponent {
2346
2349
  }));
2347
2350
  }
2348
2351
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetTableComponent, deps: [{ token: DossierWidgetsApiService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2349
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: WidgetTableComponent, isStandalone: true, selector: "valtimo-widget-table", inputs: { documentId: "documentId", tabKey: "tabKey", widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-tile\n *ngIf=\"{\n fields: fields$ | async,\n widgetData: widgetData$ | async\n } as obs\"\n class=\"valtimo-widget-table\"\n>\n <span class=\"widget-title\">{{ widgetConfiguration?.title }}</span>\n\n @if (obs.widgetData && obs.fields && obs.widgetData.length) {\n <section class=\"valtimo-widget-table__content\">\n <valtimo-carbon-list\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [fields]=\"obs.fields\"\n [items]=\"obs.widgetData\"\n >\n </valtimo-carbon-list>\n\n <cds-pagination-nav\n *ngIf=\"paginationModel()\"\n class=\"valtimo-widget-table__pagination\"\n [model]=\"paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n </section>\n } @else {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n</cds-tile>\n", styles: [".valtimo-widget-table{padding:24px;display:flex;flex-direction:column;gap:16px}.valtimo-widget-table__content{display:flex;align-items:center;flex-direction:column}.valtimo-widget-table__content valtimo-carbon-list{width:100%}.valtimo-widget-table__pagination{padding:8px 0}.valtimo-widget-table .cds--data-table>thead{background:transparent!important}.valtimo-widget-table .cds--data-table td,.valtimo-widget-table .cds--data-table tr,.valtimo-widget-table .cds--data-table th{display:flex;width:100%}.valtimo-widget-table .cds--data-table td{white-space:nowrap;overflow:hidden}.valtimo-widget-table .cds--data-table td span{text-overflow:ellipsis;overflow:hidden}.valtimo-widget-table .cds--data-table tr{gap:16px}.valtimo-widget-table .cds--table-header-label>span{font-weight:400;font-size:12px;color:var(--cds-text-secondary)}.valtimo-widget-table--transparent{background:transparent!important}.valtimo-widget-table--title{border:none!important;font-style:italic}.valtimo-widget-table .widget-title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "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$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i4.PaginationNav, selector: "cds-pagination-nav, ibm-pagination-navm", inputs: ["model", "disabled", "numOfItemsToShow", "translations"], outputs: ["selectPage"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i4.Tile, selector: "cds-tile, ibm-tile", inputs: ["theme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2352
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: WidgetTableComponent, isStandalone: true, selector: "valtimo-widget-table", inputs: { documentId: "documentId", tabKey: "tabKey", widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-tile\n *ngIf=\"{\n fields: fields$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n class=\"valtimo-widget-table\"\n>\n <span class=\"widget-title\">{{ widgetConfiguration?.title }}</span>\n\n @if (obs.widgetData && obs.fields && obs.widgetData.length) {\n <section class=\"valtimo-widget-table__content\">\n <valtimo-carbon-list\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [fields]=\"obs.fields\"\n [items]=\"obs.widgetData\"\n >\n </valtimo-carbon-list>\n\n <cds-pagination-nav\n *ngIf=\"paginationModel()\"\n class=\"valtimo-widget-table__pagination\"\n [model]=\"paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n </section>\n } @else {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n</cds-tile>\n", styles: [".valtimo-widget-table{padding:24px;display:flex;flex-direction:column;gap:16px}.valtimo-widget-table__content{display:flex;align-items:center;flex-direction:column}.valtimo-widget-table__content valtimo-carbon-list{width:100%}.valtimo-widget-table__pagination{padding:8px 0}.valtimo-widget-table .cds--data-table>thead{background:transparent!important}.valtimo-widget-table .cds--data-table td,.valtimo-widget-table .cds--data-table tr,.valtimo-widget-table .cds--data-table th{display:flex;width:100%}.valtimo-widget-table .cds--data-table td{white-space:nowrap;overflow:hidden}.valtimo-widget-table .cds--data-table td span{text-overflow:ellipsis;overflow:hidden}.valtimo-widget-table .cds--data-table tr{gap:16px}.valtimo-widget-table .cds--table-header-label>span{font-weight:400;font-size:12px;color:var(--cds-text-secondary)}.valtimo-widget-table--transparent{background:transparent!important}.valtimo-widget-table--title{border:none!important;font-style:italic}.valtimo-widget-table .widget-title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "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$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i9.PaginationNav, selector: "cds-pagination-nav, ibm-pagination-navm", inputs: ["model", "disabled", "numOfItemsToShow", "translations"], outputs: ["selectPage"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i9.Tile, selector: "cds-tile, ibm-tile", inputs: ["theme"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2350
2353
  }
2351
2354
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetTableComponent, decorators: [{
2352
2355
  type: Component,
2353
- args: [{ selector: 'valtimo-widget-table', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, CarbonListModule, PaginationModule, TilesModule, TranslateModule], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-tile\n *ngIf=\"{\n fields: fields$ | async,\n widgetData: widgetData$ | async\n } as obs\"\n class=\"valtimo-widget-table\"\n>\n <span class=\"widget-title\">{{ widgetConfiguration?.title }}</span>\n\n @if (obs.widgetData && obs.fields && obs.widgetData.length) {\n <section class=\"valtimo-widget-table__content\">\n <valtimo-carbon-list\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [fields]=\"obs.fields\"\n [items]=\"obs.widgetData\"\n >\n </valtimo-carbon-list>\n\n <cds-pagination-nav\n *ngIf=\"paginationModel()\"\n class=\"valtimo-widget-table__pagination\"\n [model]=\"paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n </section>\n } @else {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n</cds-tile>\n", styles: [".valtimo-widget-table{padding:24px;display:flex;flex-direction:column;gap:16px}.valtimo-widget-table__content{display:flex;align-items:center;flex-direction:column}.valtimo-widget-table__content valtimo-carbon-list{width:100%}.valtimo-widget-table__pagination{padding:8px 0}.valtimo-widget-table .cds--data-table>thead{background:transparent!important}.valtimo-widget-table .cds--data-table td,.valtimo-widget-table .cds--data-table tr,.valtimo-widget-table .cds--data-table th{display:flex;width:100%}.valtimo-widget-table .cds--data-table td{white-space:nowrap;overflow:hidden}.valtimo-widget-table .cds--data-table td span{text-overflow:ellipsis;overflow:hidden}.valtimo-widget-table .cds--data-table tr{gap:16px}.valtimo-widget-table .cds--table-header-label>span{font-weight:400;font-size:12px;color:var(--cds-text-secondary)}.valtimo-widget-table--transparent{background:transparent!important}.valtimo-widget-table--title{border:none!important;font-style:italic}.valtimo-widget-table .widget-title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n"] }]
2356
+ args: [{ selector: 'valtimo-widget-table', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, CarbonListModule, PaginationModule, TilesModule, TranslateModule], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-tile\n *ngIf=\"{\n fields: fields$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n class=\"valtimo-widget-table\"\n>\n <span class=\"widget-title\">{{ widgetConfiguration?.title }}</span>\n\n @if (obs.widgetData && obs.fields && obs.widgetData.length) {\n <section class=\"valtimo-widget-table__content\">\n <valtimo-carbon-list\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [fields]=\"obs.fields\"\n [items]=\"obs.widgetData\"\n >\n </valtimo-carbon-list>\n\n <cds-pagination-nav\n *ngIf=\"paginationModel()\"\n class=\"valtimo-widget-table__pagination\"\n [model]=\"paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n </section>\n } @else {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n</cds-tile>\n", styles: [".valtimo-widget-table{padding:24px;display:flex;flex-direction:column;gap:16px}.valtimo-widget-table__content{display:flex;align-items:center;flex-direction:column}.valtimo-widget-table__content valtimo-carbon-list{width:100%}.valtimo-widget-table__pagination{padding:8px 0}.valtimo-widget-table .cds--data-table>thead{background:transparent!important}.valtimo-widget-table .cds--data-table td,.valtimo-widget-table .cds--data-table tr,.valtimo-widget-table .cds--data-table th{display:flex;width:100%}.valtimo-widget-table .cds--data-table td{white-space:nowrap;overflow:hidden}.valtimo-widget-table .cds--data-table td span{text-overflow:ellipsis;overflow:hidden}.valtimo-widget-table .cds--data-table tr{gap:16px}.valtimo-widget-table .cds--table-header-label>span{font-weight:400;font-size:12px;color:var(--cds-text-secondary)}.valtimo-widget-table--transparent{background:transparent!important}.valtimo-widget-table--title{border:none!important;font-style:italic}.valtimo-widget-table .widget-title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\n"] }]
2354
2357
  }], ctorParameters: () => [{ type: DossierWidgetsApiService }, { type: i0.ChangeDetectorRef }], propDecorators: { documentId: [{
2355
2358
  type: Input,
2356
2359
  args: [{ required: true }]
@@ -2514,7 +2517,7 @@ class WidgetCollectionComponent {
2514
2517
  return '-';
2515
2518
  }
2516
2519
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetCollectionComponent, deps: [{ token: i2$2.ViewContentService }, { token: i0.ChangeDetectorRef }, { token: DossierWidgetsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
2517
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: WidgetCollectionComponent, isStandalone: true, selector: "valtimo-widget-collection", inputs: { documentId: "documentId", tabKey: "tabKey", widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "_widgetCollectionRef", first: true, predicate: ["widgetCollection"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 widgetConfiguration: widgetConfiguration$ | async,\n collectionWidgetCards: collectionWidgetCards$ | async\n } as obs\"\n>\n <span class=\"valtimo-widget-collection__title\">{{ widgetTitle() }}</span>\n\n <div\n #widgetCollection\n [ngClass]=\"{\n 'valtimo-widget-collection__render-vertically': amountOfColumns() === 1,\n 'valtimo-widget-collection__render-two-columns': amountOfColumns() === 2,\n 'valtimo-widget-collection__render-three-columns': amountOfColumns() === 3,\n 'valtimo-widget-collection__container': amountOfColumns() === 4\n }\"\n >\n @for (card of obs?.collectionWidgetCards; track card.key) {\n <div\n class=\"valtimo-widget-collection__card\"\n [ngClass]=\"{'valtimo-widget-collection__card--hidden': card.hidden}\"\n >\n <span class=\"valtimo-widget-collection__card-title\">{{ card.title }}</span>\n\n @for (field of card.fields; track field.key) {\n <div\n [ngClass]=\"{\n 'valtimo-widget-collection__full-width-input': field?.width === 'full',\n 'valtimo-widget-collection__half-width-input': field?.width === 'half'\n }\"\n >\n <cds-label class=\"valtimo-widget-collection__label\" [attr.title]=\"field?.title\">\n {{ field?.title }}\n\n <input\n [value]=\"field?.value\"\n [readonly]=\"true\"\n class=\"valtimo-widget-collection__card-input\"\n cdsText\n />\n </cds-label>\n </div>\n }\n </div>\n }\n </div>\n\n @if (!obs?.collectionWidgetCards?.length) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n\n <cds-pagination-nav\n *ngIf=\"paginationModel() && (showPagination$ | async)\"\n class=\"valtimo-widget-collection__pagination\"\n [model]=\"paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n</ng-container>\n", styles: [".valtimo-widget-collection{padding:24px}.valtimo-widget-collection .cds--label{overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-collection__container{display:flex;column-gap:16px}.valtimo-widget-collection,.valtimo-widget-collection__column{display:flex;flex-direction:column;width:100%;overflow:hidden}.valtimo-widget-collection__card{margin-top:16px;display:flex;flex-flow:row wrap;background-color:var(--cds-background);padding:16px;width:100%;gap:16px}.valtimo-widget-collection__card--hidden{visibility:hidden}.valtimo-widget-collection__card-title{color:var(--cds-text-primary);font-weight:500;font-size:14px;line-height:22px;font-style:italic;width:100%}.valtimo-widget-collection__card-input{background:transparent}.valtimo-widget-collection__full-width-input{width:100%}.valtimo-widget-collection__half-width-input{width:calc(50% - 16px);box-sizing:border-box}.valtimo-widget-collection__pagination{padding:8px 0;display:flex;justify-content:center}.valtimo-widget-collection__render-vertically,.valtimo-widget-collection__render-two-columns,.valtimo-widget-collection__render-three-columns{grid-gap:16px;align-items:stretch;overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__render-vertically{display:flex!important}.valtimo-widget-collection__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-collection__render-three-columns{grid-template-columns:repeat(3,1fr)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i4.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i4.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i4.PaginationNav, selector: "cds-pagination-nav, ibm-pagination-navm", inputs: ["model", "disabled", "numOfItemsToShow", "translations"], outputs: ["selectPage"] }, { kind: "ngmodule", type: TilesModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2520
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: WidgetCollectionComponent, isStandalone: true, selector: "valtimo-widget-collection", inputs: { documentId: "documentId", tabKey: "tabKey", widgetConfiguration: "widgetConfiguration", widgetData: "widgetData" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "_widgetCollectionRef", first: true, predicate: ["widgetCollection"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 widgetConfiguration: widgetConfiguration$ | async,\n collectionWidgetCards: collectionWidgetCards$ | async,\n } as obs\"\n>\n <span class=\"valtimo-widget-collection__title\">{{ widgetTitle() }}</span>\n\n <div\n #widgetCollection\n [ngClass]=\"{\n 'valtimo-widget-collection__render-vertically': amountOfColumns() === 1,\n 'valtimo-widget-collection__render-two-columns': amountOfColumns() === 2,\n 'valtimo-widget-collection__render-three-columns': amountOfColumns() === 3,\n 'valtimo-widget-collection__container': amountOfColumns() === 4,\n }\"\n >\n @for (card of obs?.collectionWidgetCards; track card.key) {\n <div\n class=\"valtimo-widget-collection__card\"\n [ngClass]=\"{'valtimo-widget-collection__card--hidden': card.hidden}\"\n >\n <span class=\"valtimo-widget-collection__card-title\">{{ card.title }}</span>\n\n @for (field of card.fields; track field.key) {\n <div\n [ngClass]=\"{\n 'valtimo-widget-collection__full-width-input': field?.width === 'full',\n 'valtimo-widget-collection__half-width-input': field?.width === 'half',\n }\"\n >\n <cds-label class=\"valtimo-widget-collection__label\" [attr.title]=\"field?.title\">\n {{ field?.title }}\n\n <input\n [value]=\"field?.value\"\n [readonly]=\"true\"\n class=\"valtimo-widget-collection__card-input\"\n cdsText\n />\n </cds-label>\n </div>\n }\n </div>\n }\n </div>\n\n @if (!obs?.collectionWidgetCards?.length) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n\n <cds-pagination-nav\n *ngIf=\"paginationModel() && (showPagination$ | async)\"\n class=\"valtimo-widget-collection__pagination\"\n [model]=\"paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n</ng-container>\n", styles: [".valtimo-widget-collection{padding:24px}.valtimo-widget-collection .cds--label{overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-collection__container{display:flex;column-gap:16px}.valtimo-widget-collection,.valtimo-widget-collection__column{display:flex;flex-direction:column;width:100%;overflow:hidden}.valtimo-widget-collection__card{margin-top:16px;display:flex;flex-flow:row wrap;background-color:var(--cds-background);padding:16px;width:100%;gap:16px}.valtimo-widget-collection__card--hidden{visibility:hidden}.valtimo-widget-collection__card-title{color:var(--cds-text-primary);font-weight:500;font-size:14px;line-height:22px;font-style:italic;width:100%}.valtimo-widget-collection__card-input{background:transparent}.valtimo-widget-collection__full-width-input{width:100%}.valtimo-widget-collection__half-width-input{width:calc(50% - 16px);box-sizing:border-box}.valtimo-widget-collection__pagination{padding:8px 0;display:flex;justify-content:center}.valtimo-widget-collection__render-vertically,.valtimo-widget-collection__render-two-columns,.valtimo-widget-collection__render-three-columns{grid-gap:16px;align-items:stretch;overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__render-vertically{display:flex!important}.valtimo-widget-collection__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-collection__render-three-columns{grid-template-columns:repeat(3,1fr)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i9.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i9.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i9.PaginationNav, selector: "cds-pagination-nav, ibm-pagination-navm", inputs: ["model", "disabled", "numOfItemsToShow", "translations"], outputs: ["selectPage"] }, { kind: "ngmodule", type: TilesModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2518
2521
  }
2519
2522
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetCollectionComponent, decorators: [{
2520
2523
  type: Component,
@@ -2525,7 +2528,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2525
2528
  TilesModule,
2526
2529
  CarbonListModule,
2527
2530
  TranslateModule,
2528
- ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 widgetConfiguration: widgetConfiguration$ | async,\n collectionWidgetCards: collectionWidgetCards$ | async\n } as obs\"\n>\n <span class=\"valtimo-widget-collection__title\">{{ widgetTitle() }}</span>\n\n <div\n #widgetCollection\n [ngClass]=\"{\n 'valtimo-widget-collection__render-vertically': amountOfColumns() === 1,\n 'valtimo-widget-collection__render-two-columns': amountOfColumns() === 2,\n 'valtimo-widget-collection__render-three-columns': amountOfColumns() === 3,\n 'valtimo-widget-collection__container': amountOfColumns() === 4\n }\"\n >\n @for (card of obs?.collectionWidgetCards; track card.key) {\n <div\n class=\"valtimo-widget-collection__card\"\n [ngClass]=\"{'valtimo-widget-collection__card--hidden': card.hidden}\"\n >\n <span class=\"valtimo-widget-collection__card-title\">{{ card.title }}</span>\n\n @for (field of card.fields; track field.key) {\n <div\n [ngClass]=\"{\n 'valtimo-widget-collection__full-width-input': field?.width === 'full',\n 'valtimo-widget-collection__half-width-input': field?.width === 'half'\n }\"\n >\n <cds-label class=\"valtimo-widget-collection__label\" [attr.title]=\"field?.title\">\n {{ field?.title }}\n\n <input\n [value]=\"field?.value\"\n [readonly]=\"true\"\n class=\"valtimo-widget-collection__card-input\"\n cdsText\n />\n </cds-label>\n </div>\n }\n </div>\n }\n </div>\n\n @if (!obs?.collectionWidgetCards?.length) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n\n <cds-pagination-nav\n *ngIf=\"paginationModel() && (showPagination$ | async)\"\n class=\"valtimo-widget-collection__pagination\"\n [model]=\"paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n</ng-container>\n", styles: [".valtimo-widget-collection{padding:24px}.valtimo-widget-collection .cds--label{overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-collection__container{display:flex;column-gap:16px}.valtimo-widget-collection,.valtimo-widget-collection__column{display:flex;flex-direction:column;width:100%;overflow:hidden}.valtimo-widget-collection__card{margin-top:16px;display:flex;flex-flow:row wrap;background-color:var(--cds-background);padding:16px;width:100%;gap:16px}.valtimo-widget-collection__card--hidden{visibility:hidden}.valtimo-widget-collection__card-title{color:var(--cds-text-primary);font-weight:500;font-size:14px;line-height:22px;font-style:italic;width:100%}.valtimo-widget-collection__card-input{background:transparent}.valtimo-widget-collection__full-width-input{width:100%}.valtimo-widget-collection__half-width-input{width:calc(50% - 16px);box-sizing:border-box}.valtimo-widget-collection__pagination{padding:8px 0;display:flex;justify-content:center}.valtimo-widget-collection__render-vertically,.valtimo-widget-collection__render-two-columns,.valtimo-widget-collection__render-three-columns{grid-gap:16px;align-items:stretch;overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__render-vertically{display:flex!important}.valtimo-widget-collection__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-collection__render-three-columns{grid-template-columns:repeat(3,1fr)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
2531
+ ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 widgetConfiguration: widgetConfiguration$ | async,\n collectionWidgetCards: collectionWidgetCards$ | async,\n } as obs\"\n>\n <span class=\"valtimo-widget-collection__title\">{{ widgetTitle() }}</span>\n\n <div\n #widgetCollection\n [ngClass]=\"{\n 'valtimo-widget-collection__render-vertically': amountOfColumns() === 1,\n 'valtimo-widget-collection__render-two-columns': amountOfColumns() === 2,\n 'valtimo-widget-collection__render-three-columns': amountOfColumns() === 3,\n 'valtimo-widget-collection__container': amountOfColumns() === 4,\n }\"\n >\n @for (card of obs?.collectionWidgetCards; track card.key) {\n <div\n class=\"valtimo-widget-collection__card\"\n [ngClass]=\"{'valtimo-widget-collection__card--hidden': card.hidden}\"\n >\n <span class=\"valtimo-widget-collection__card-title\">{{ card.title }}</span>\n\n @for (field of card.fields; track field.key) {\n <div\n [ngClass]=\"{\n 'valtimo-widget-collection__full-width-input': field?.width === 'full',\n 'valtimo-widget-collection__half-width-input': field?.width === 'half',\n }\"\n >\n <cds-label class=\"valtimo-widget-collection__label\" [attr.title]=\"field?.title\">\n {{ field?.title }}\n\n <input\n [value]=\"field?.value\"\n [readonly]=\"true\"\n class=\"valtimo-widget-collection__card-input\"\n cdsText\n />\n </cds-label>\n </div>\n }\n </div>\n }\n </div>\n\n @if (!obs?.collectionWidgetCards?.length) {\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n }\n\n <cds-pagination-nav\n *ngIf=\"paginationModel() && (showPagination$ | async)\"\n class=\"valtimo-widget-collection__pagination\"\n [model]=\"paginationModel()\"\n (selectPage)=\"onSelectPage($event)\"\n >\n </cds-pagination-nav>\n</ng-container>\n", styles: [".valtimo-widget-collection{padding:24px}.valtimo-widget-collection .cds--label{overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-widget-collection__container{display:flex;column-gap:16px}.valtimo-widget-collection,.valtimo-widget-collection__column{display:flex;flex-direction:column;width:100%;overflow:hidden}.valtimo-widget-collection__card{margin-top:16px;display:flex;flex-flow:row wrap;background-color:var(--cds-background);padding:16px;width:100%;gap:16px}.valtimo-widget-collection__card--hidden{visibility:hidden}.valtimo-widget-collection__card-title{color:var(--cds-text-primary);font-weight:500;font-size:14px;line-height:22px;font-style:italic;width:100%}.valtimo-widget-collection__card-input{background:transparent}.valtimo-widget-collection__full-width-input{width:100%}.valtimo-widget-collection__half-width-input{width:calc(50% - 16px);box-sizing:border-box}.valtimo-widget-collection__pagination{padding:8px 0;display:flex;justify-content:center}.valtimo-widget-collection__render-vertically,.valtimo-widget-collection__render-two-columns,.valtimo-widget-collection__render-three-columns{grid-gap:16px;align-items:stretch;overflow:hidden;text-overflow:ellipsis;width:100%}.valtimo-widget-collection__render-vertically{display:flex!important}.valtimo-widget-collection__render-two-columns{grid-template-columns:repeat(2,1fr)}.valtimo-widget-collection__render-three-columns{grid-template-columns:repeat(3,1fr)}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
2529
2532
  }], ctorParameters: () => [{ type: i2$2.ViewContentService }, { type: i0.ChangeDetectorRef }, { type: DossierWidgetsApiService }], propDecorators: { class: [{
2530
2533
  type: HostBinding,
2531
2534
  args: ['class']
@@ -2653,7 +2656,7 @@ class WidgetBlockComponent {
2653
2656
  return `size=${widgetConfiguration.properties.defaultPageSize}`;
2654
2657
  }
2655
2658
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetBlockComponent, deps: [{ token: DossierWidgetsLayoutService }, { token: DossierTabService }, { token: i1$1.ActivatedRoute }, { token: DossierWidgetsApiService }, { token: i2$2.CdsThemeService }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
2656
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: WidgetBlockComponent, isStandalone: true, selector: "valtimo-dossier-widget-block", inputs: { widget: "widget" }, viewQueries: [{ propertyName: "_widgetBlockContentRef", first: true, predicate: ["widgetBlockContent"], descendants: true }, { propertyName: "_widgetBlockRef", first: true, predicate: ["widgetBlock"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 documentId: documentId$ | async,\n tabKey: tabKey$ | async,\n widgetConfiguration: widget$ | async,\n widgetData: widgetData$ | async,\n theme: theme$ | async,\n blockHeightPx: blockHeightPx$ | async,\n blockWidthPercentage: blockWidthPercentage$ | async\n } as obs\"\n>\n <div #widgetBlock class=\"widget-block\" [attr.data-carbon-theme]=\"obs.theme\">\n <div #widgetBlockContent class=\"widget-block__content\">\n @if (obs.widgetData) {\n @switch (obs.widgetConfiguration.type) {\n @case (CaseWidgetType.TABLE) {\n <valtimo-widget-table\n [documentId]=\"obs.documentId\"\n [tabKey]=\"obs.tabKey\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-table>\n }\n\n @case (CaseWidgetType.COLLECTION) {\n <valtimo-widget-collection\n [documentId]=\"obs.documentId\"\n [tabKey]=\"obs.tabKey\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-collection>\n }\n\n @case (CaseWidgetType.CUSTOM) {\n <valtimo-widget-custom [widgetConfig]=\"obs.widgetConfiguration\"></valtimo-widget-custom>\n }\n\n @case (CaseWidgetType.FIELDS) {\n <valtimo-widget-field\n [collapseVertically]=\"true\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-field>\n }\n\n @case (CaseWidgetType.FORMIO) {\n <valtimo-widget-formio\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [documentId]=\"obs.documentId\"\n ></valtimo-widget-formio>\n }\n\n @default {\n <div class=\"widget-block__not-available\">\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noWidget' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </div>\n }\n }\n } @else {\n <div class=\"widget-block__not-available\">\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </div>\n }\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:block;position:absolute}.widget-block{width:100%;height:100%;box-sizing:border-box;padding:8px;overflow-wrap:break-word;background-color:var(--cds-layer-01);background-clip:content-box}.widget-block__not-available{padding:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: WidgetTableComponent, selector: "valtimo-widget-table", inputs: ["documentId", "tabKey", "widgetConfiguration", "widgetData"] }, { kind: "component", type: WidgetCustomComponent, selector: "valtimo-widget-custom", inputs: ["widgetConfig"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: WidgetFieldComponent, selector: "valtimo-widget-field", inputs: ["collapseVertically", "widgetConfiguration", "widgetData"] }, { kind: "component", type: WidgetFormioComponent, selector: "valtimo-widget-formio", inputs: ["documentId", "widgetConfiguration"] }, { kind: "component", type: WidgetCollectionComponent, selector: "valtimo-widget-collection", inputs: ["documentId", "tabKey", "widgetConfiguration", "widgetData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2659
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: WidgetBlockComponent, isStandalone: true, selector: "valtimo-dossier-widget-block", inputs: { widget: "widget" }, viewQueries: [{ propertyName: "_widgetBlockContentRef", first: true, predicate: ["widgetBlockContent"], descendants: true }, { propertyName: "_widgetBlockRef", first: true, predicate: ["widgetBlock"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 documentId: documentId$ | async,\n tabKey: tabKey$ | async,\n widgetConfiguration: widget$ | async,\n widgetData: widgetData$ | async,\n theme: theme$ | async,\n blockHeightPx: blockHeightPx$ | async,\n blockWidthPercentage: blockWidthPercentage$ | async,\n } as obs\"\n>\n <div #widgetBlock class=\"widget-block\" [attr.data-carbon-theme]=\"obs.theme\">\n <div #widgetBlockContent class=\"widget-block__content\">\n @if (obs.widgetData) {\n @switch (obs.widgetConfiguration.type) {\n @case (CaseWidgetType.TABLE) {\n <valtimo-widget-table\n [documentId]=\"obs.documentId\"\n [tabKey]=\"obs.tabKey\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-table>\n }\n\n @case (CaseWidgetType.COLLECTION) {\n <valtimo-widget-collection\n [documentId]=\"obs.documentId\"\n [tabKey]=\"obs.tabKey\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-collection>\n }\n\n @case (CaseWidgetType.CUSTOM) {\n <valtimo-widget-custom [widgetConfig]=\"obs.widgetConfiguration\"></valtimo-widget-custom>\n }\n\n @case (CaseWidgetType.FIELDS) {\n <valtimo-widget-field\n [collapseVertically]=\"true\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-field>\n }\n\n @case (CaseWidgetType.FORMIO) {\n <valtimo-widget-formio\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [documentId]=\"obs.documentId\"\n ></valtimo-widget-formio>\n }\n\n @default {\n <div class=\"widget-block__not-available\">\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noWidget' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </div>\n }\n }\n } @else {\n <div class=\"widget-block__not-available\">\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </div>\n }\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:block;position:absolute}.widget-block{width:100%;height:100%;box-sizing:border-box;padding:8px;overflow-wrap:break-word;background-color:var(--cds-layer-01);background-clip:content-box}.widget-block__not-available{padding:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: WidgetTableComponent, selector: "valtimo-widget-table", inputs: ["documentId", "tabKey", "widgetConfiguration", "widgetData"] }, { kind: "component", type: WidgetCustomComponent, selector: "valtimo-widget-custom", inputs: ["widgetConfig"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: WidgetFieldComponent, selector: "valtimo-widget-field", inputs: ["collapseVertically", "widgetConfiguration", "widgetData"] }, { kind: "component", type: WidgetFormioComponent, selector: "valtimo-widget-formio", inputs: ["documentId", "widgetConfiguration"] }, { kind: "component", type: WidgetCollectionComponent, selector: "valtimo-widget-collection", inputs: ["documentId", "tabKey", "widgetConfiguration", "widgetData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2657
2660
  }
2658
2661
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetBlockComponent, decorators: [{
2659
2662
  type: Component,
@@ -2668,7 +2671,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2668
2671
  WidgetFieldComponent,
2669
2672
  WidgetFormioComponent,
2670
2673
  WidgetCollectionComponent,
2671
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 documentId: documentId$ | async,\n tabKey: tabKey$ | async,\n widgetConfiguration: widget$ | async,\n widgetData: widgetData$ | async,\n theme: theme$ | async,\n blockHeightPx: blockHeightPx$ | async,\n blockWidthPercentage: blockWidthPercentage$ | async\n } as obs\"\n>\n <div #widgetBlock class=\"widget-block\" [attr.data-carbon-theme]=\"obs.theme\">\n <div #widgetBlockContent class=\"widget-block__content\">\n @if (obs.widgetData) {\n @switch (obs.widgetConfiguration.type) {\n @case (CaseWidgetType.TABLE) {\n <valtimo-widget-table\n [documentId]=\"obs.documentId\"\n [tabKey]=\"obs.tabKey\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-table>\n }\n\n @case (CaseWidgetType.COLLECTION) {\n <valtimo-widget-collection\n [documentId]=\"obs.documentId\"\n [tabKey]=\"obs.tabKey\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-collection>\n }\n\n @case (CaseWidgetType.CUSTOM) {\n <valtimo-widget-custom [widgetConfig]=\"obs.widgetConfiguration\"></valtimo-widget-custom>\n }\n\n @case (CaseWidgetType.FIELDS) {\n <valtimo-widget-field\n [collapseVertically]=\"true\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-field>\n }\n\n @case (CaseWidgetType.FORMIO) {\n <valtimo-widget-formio\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [documentId]=\"obs.documentId\"\n ></valtimo-widget-formio>\n }\n\n @default {\n <div class=\"widget-block__not-available\">\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noWidget' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </div>\n }\n }\n } @else {\n <div class=\"widget-block__not-available\">\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </div>\n }\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:block;position:absolute}.widget-block{width:100%;height:100%;box-sizing:border-box;padding:8px;overflow-wrap:break-word;background-color:var(--cds-layer-01);background-clip:content-box}.widget-block__not-available{padding:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
2674
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 documentId: documentId$ | async,\n tabKey: tabKey$ | async,\n widgetConfiguration: widget$ | async,\n widgetData: widgetData$ | async,\n theme: theme$ | async,\n blockHeightPx: blockHeightPx$ | async,\n blockWidthPercentage: blockWidthPercentage$ | async,\n } as obs\"\n>\n <div #widgetBlock class=\"widget-block\" [attr.data-carbon-theme]=\"obs.theme\">\n <div #widgetBlockContent class=\"widget-block__content\">\n @if (obs.widgetData) {\n @switch (obs.widgetConfiguration.type) {\n @case (CaseWidgetType.TABLE) {\n <valtimo-widget-table\n [documentId]=\"obs.documentId\"\n [tabKey]=\"obs.tabKey\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-table>\n }\n\n @case (CaseWidgetType.COLLECTION) {\n <valtimo-widget-collection\n [documentId]=\"obs.documentId\"\n [tabKey]=\"obs.tabKey\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-collection>\n }\n\n @case (CaseWidgetType.CUSTOM) {\n <valtimo-widget-custom [widgetConfig]=\"obs.widgetConfiguration\"></valtimo-widget-custom>\n }\n\n @case (CaseWidgetType.FIELDS) {\n <valtimo-widget-field\n [collapseVertically]=\"true\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n ></valtimo-widget-field>\n }\n\n @case (CaseWidgetType.FORMIO) {\n <valtimo-widget-formio\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [documentId]=\"obs.documentId\"\n ></valtimo-widget-formio>\n }\n\n @default {\n <div class=\"widget-block__not-available\">\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noWidget' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </div>\n }\n }\n } @else {\n <div class=\"widget-block__not-available\">\n <valtimo-no-results\n [collapseVertically]=\"true\"\n [description]=\"'dossier.widgets.noData' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n </div>\n }\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:block;position:absolute}.widget-block{width:100%;height:100%;box-sizing:border-box;padding:8px;overflow-wrap:break-word;background-color:var(--cds-layer-01);background-clip:content-box}.widget-block__not-available{padding:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
2672
2675
  }], ctorParameters: () => [{ type: DossierWidgetsLayoutService }, { type: DossierTabService }, { type: i1$1.ActivatedRoute }, { type: DossierWidgetsApiService }, { type: i2$2.CdsThemeService }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }], propDecorators: { _widgetBlockContentRef: [{
2673
2676
  type: ViewChild,
2674
2677
  args: ['widgetBlockContent']
@@ -2782,7 +2785,7 @@ class DossierDetailWidgetsComponent {
2782
2785
  this.dossierTabService.enableTabHorizontalOverflow();
2783
2786
  }
2784
2787
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailWidgetsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: DossierTabService }, { token: DossierWidgetsApiService }, { token: DossierWidgetsLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
2785
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DossierDetailWidgetsComponent, 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-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 loadingWidgetConfiguration: loadingWidgetConfiguration$ | async,\n widgetConfiguration: widgetConfiguration$ | async,\n loaded: loaded$ | async\n } as obs\"\n>\n <ng-container\n *ngIf=\"{\n noWidgetsConfigured:\n obs.widgetConfiguration?.widgets && obs.widgetConfiguration.widgets.length === 0\n } as vars\"\n >\n @if (!obs.loaded && !vars.noWidgetsConfigured) {\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n }\n\n @if (vars.noWidgetsConfigured) {\n <valtimo-no-results\n [title]=\"'dossier.widgets.noWidgets' | translate\"\n [description]=\"'dossier.widgets.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n }\n\n <div [style.visibility]=\"!obs.loaded ? 'hidden' : 'visible'\">\n <valtimo-dossier-widgets-container\n [widgets]=\"obs.widgetConfiguration?.widgets || []\"\n ></valtimo-dossier-widgets-container>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".loading-container{display:flex;justify-content:center;padding:16px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: WidgetsContainerComponent, selector: "valtimo-dossier-widgets-container", inputs: ["widgets"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2788
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DossierDetailWidgetsComponent, 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-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 loadingWidgetConfiguration: loadingWidgetConfiguration$ | async,\n widgetConfiguration: widgetConfiguration$ | async,\n loaded: loaded$ | async,\n } as obs\"\n>\n <ng-container\n *ngIf=\"{\n noWidgetsConfigured:\n obs.widgetConfiguration?.widgets && obs.widgetConfiguration.widgets.length === 0,\n } as vars\"\n >\n @if (!obs.loaded && !vars.noWidgetsConfigured) {\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n }\n\n @if (vars.noWidgetsConfigured) {\n <valtimo-no-results\n [title]=\"'dossier.widgets.noWidgets' | translate\"\n [description]=\"'dossier.widgets.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n }\n\n <div [style.visibility]=\"!obs.loaded ? 'hidden' : 'visible'\">\n <valtimo-dossier-widgets-container\n [widgets]=\"obs.widgetConfiguration?.widgets || []\"\n ></valtimo-dossier-widgets-container>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".loading-container{display:flex;justify-content:center;padding:16px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i9.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: WidgetsContainerComponent, selector: "valtimo-dossier-widgets-container", inputs: ["widgets"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2786
2789
  }
2787
2790
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailWidgetsComponent, decorators: [{
2788
2791
  type: Component,
@@ -2792,7 +2795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
2792
2795
  WidgetsContainerComponent,
2793
2796
  CarbonListModule,
2794
2797
  TranslateModule,
2795
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 loadingWidgetConfiguration: loadingWidgetConfiguration$ | async,\n widgetConfiguration: widgetConfiguration$ | async,\n loaded: loaded$ | async\n } as obs\"\n>\n <ng-container\n *ngIf=\"{\n noWidgetsConfigured:\n obs.widgetConfiguration?.widgets && obs.widgetConfiguration.widgets.length === 0\n } as vars\"\n >\n @if (!obs.loaded && !vars.noWidgetsConfigured) {\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n }\n\n @if (vars.noWidgetsConfigured) {\n <valtimo-no-results\n [title]=\"'dossier.widgets.noWidgets' | translate\"\n [description]=\"'dossier.widgets.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n }\n\n <div [style.visibility]=\"!obs.loaded ? 'hidden' : 'visible'\">\n <valtimo-dossier-widgets-container\n [widgets]=\"obs.widgetConfiguration?.widgets || []\"\n ></valtimo-dossier-widgets-container>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".loading-container{display:flex;justify-content:center;padding:16px 0}\n"] }]
2798
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 loadingWidgetConfiguration: loadingWidgetConfiguration$ | async,\n widgetConfiguration: widgetConfiguration$ | async,\n loaded: loaded$ | async,\n } as obs\"\n>\n <ng-container\n *ngIf=\"{\n noWidgetsConfigured:\n obs.widgetConfiguration?.widgets && obs.widgetConfiguration.widgets.length === 0,\n } as vars\"\n >\n @if (!obs.loaded && !vars.noWidgetsConfigured) {\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n }\n\n @if (vars.noWidgetsConfigured) {\n <valtimo-no-results\n [title]=\"'dossier.widgets.noWidgets' | translate\"\n [description]=\"'dossier.widgets.noWidgetsDescription' | translate\"\n illustration=\"valtimo-layout/img/no-widgets.svg\"\n ></valtimo-no-results>\n }\n\n <div [style.visibility]=\"!obs.loaded ? 'hidden' : 'visible'\">\n <valtimo-dossier-widgets-container\n [widgets]=\"obs.widgetConfiguration?.widgets || []\"\n ></valtimo-dossier-widgets-container>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".loading-container{display:flex;justify-content:center;padding:16px 0}\n"] }]
2796
2799
  }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: DossierTabService }, { type: DossierWidgetsApiService }, { type: DossierWidgetsLayoutService }], propDecorators: { _noMargin: [{
2797
2800
  type: HostBinding,
2798
2801
  args: ['class.tab--no-margin']
@@ -2966,7 +2969,7 @@ class DossierTabService {
2966
2969
  case ApiTabType.CUSTOM:
2967
2970
  return new TabImpl(tab.key, index, this.caseTabConfig[tab.contentKey], tab.contentKey, tab.name, tab.showTasks);
2968
2971
  case ApiTabType.WIDGETS:
2969
- return (new TabImpl(tab.key, index, DossierDetailWidgetsComponent, tab.contentKey, tab.name, tab.showTasks));
2972
+ return new TabImpl(tab.key, index, DossierDetailWidgetsComponent, tab.contentKey, tab.name, tab.showTasks);
2970
2973
  default:
2971
2974
  return null;
2972
2975
  }
@@ -3219,6 +3222,94 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3219
3222
  args: [{ providedIn: 'root' }]
3220
3223
  }], ctorParameters: () => [] });
3221
3224
 
3225
+ class DossierDetailLayoutService {
3226
+ get tabContentContainerWidth$() {
3227
+ return this._tabContentContainerWidth$.pipe(filter(width => typeof width === 'number'));
3228
+ }
3229
+ get taskOpenedInPanel$() {
3230
+ return this._taskOpenedInPanel$.asObservable();
3231
+ }
3232
+ get formDisplaySize$() {
3233
+ return this._formDisplaySize$.asObservable();
3234
+ }
3235
+ constructor(dossierTabService) {
3236
+ this.dossierTabService = dossierTabService;
3237
+ this._tabContentContainerWidth$ = new BehaviorSubject(null);
3238
+ this._showTaskList$ = this.dossierTabService.showTaskList$;
3239
+ this._taskOpenedInPanel$ = new BehaviorSubject(null);
3240
+ this._formDisplayType$ = new BehaviorSubject(DOSSIER_DETAIL_DEFAULT_DISPLAY_TYPE);
3241
+ this._formDisplaySize$ = new BehaviorSubject(DOSSIER_DETAIL_DEFAULT_DISPLAY_SIZE);
3242
+ this.dossierDetailLayout$ = combineLatest([
3243
+ this.tabContentContainerWidth$,
3244
+ this._showTaskList$,
3245
+ this._taskOpenedInPanel$,
3246
+ this._formDisplayType$,
3247
+ this._formDisplaySize$,
3248
+ ]).pipe(map(([tabContentContainerWidth, showTaskList, taskOpenedInPanel, formDisplayType, formDisplaySize,]) => {
3249
+ if (!showTaskList) {
3250
+ return this.getInitialLayout();
3251
+ }
3252
+ if (!taskOpenedInPanel) {
3253
+ return this.getTaskListLayout();
3254
+ }
3255
+ if (taskOpenedInPanel && formDisplayType === 'panel') {
3256
+ return this.getPanelLayout(tabContentContainerWidth, formDisplaySize);
3257
+ }
3258
+ return {};
3259
+ }), startWith({}));
3260
+ }
3261
+ setTabContentContainerWidth(width) {
3262
+ this._tabContentContainerWidth$.next(width);
3263
+ }
3264
+ setTaskOpenedInPanel(value) {
3265
+ this._taskOpenedInPanel$.next(value);
3266
+ }
3267
+ setFormDisplayType(type) {
3268
+ this._formDisplayType$.next(type);
3269
+ }
3270
+ setFormDisplaySize(size) {
3271
+ this._formDisplaySize$.next(size);
3272
+ }
3273
+ getInitialLayout() {
3274
+ return {
3275
+ showRightPanel: false,
3276
+ widthAdjustable: false,
3277
+ unit: 'percent',
3278
+ leftPanelWidth: '*',
3279
+ };
3280
+ }
3281
+ getTaskListLayout() {
3282
+ return {
3283
+ unit: 'pixel',
3284
+ showRightPanel: true,
3285
+ widthAdjustable: false,
3286
+ rightPanelMaxWidth: DOSSIER_DETAIL_TASK_LIST_WIDTH,
3287
+ rightPanelMinWidth: DOSSIER_DETAIL_TASK_LIST_WIDTH,
3288
+ rightPanelWidth: DOSSIER_DETAIL_TASK_LIST_WIDTH,
3289
+ leftPanelWidth: '*',
3290
+ };
3291
+ }
3292
+ getPanelLayout(tabContentContainerWidth, formDisplaySize) {
3293
+ const rightPanelMaxWidth = tabContentContainerWidth - DOSSIER_DETAIL_GUTTER_SIZE - DOSSIER_DETAIL_LEFT_PANEL_MIN_WIDTH;
3294
+ const rightPanelMinWidth = DOSSIER_DETAIL_RIGHT_PANEL_MIN_WIDTHS[formDisplaySize];
3295
+ const rightPanelMinWidthToUse = rightPanelMinWidth < rightPanelMaxWidth ? rightPanelMinWidth : rightPanelMaxWidth;
3296
+ return {
3297
+ unit: 'pixel',
3298
+ showRightPanel: true,
3299
+ widthAdjustable: true,
3300
+ rightPanelMinWidth: rightPanelMinWidthToUse,
3301
+ rightPanelWidth: rightPanelMinWidthToUse,
3302
+ rightPanelMaxWidth,
3303
+ leftPanelWidth: '*',
3304
+ };
3305
+ }
3306
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailLayoutService, deps: [{ token: DossierTabService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3307
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailLayoutService }); }
3308
+ }
3309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailLayoutService, decorators: [{
3310
+ type: Injectable
3311
+ }], ctorParameters: () => [{ type: DossierTabService }] });
3312
+
3222
3313
  /*
3223
3314
  * Copyright 2015-2024 Ritense BV, the Netherlands.
3224
3315
  *
@@ -3285,7 +3376,7 @@ class DossierBulkAssignModalComponent {
3285
3376
  return index;
3286
3377
  }
3287
3378
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierBulkAssignModalComponent, deps: [{ token: DossierBulkAssignService }, { token: i2$4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
3288
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierBulkAssignModalComponent, selector: "valtimo-dossier-bulk-assign-modal", inputs: { documentIds: "documentIds", open: "open" }, outputs: { closeEvent: "closeEvent" }, host: { properties: { "class": "this.modalClass" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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>{{ 'dossier.bulkAssign.modal.title' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form *ngIf=\"candidateUsers$ | async as candidateUsers\" [formGroup]=\"formGroup\">\n <cds-combo-box\n formControlName=\"assignee\"\n [dropUp]=\"false\"\n [items]=\"candidateUsers\"\n [label]=\"'dossier.bulkAssign.modal.selectLabel' | translate\"\n [placeholder]=\"'dossier.bulkAssign.modal.selectPlaceholder' | translate\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">{{ 'interface.cancel' | translate }}</button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"closeModal(true)\">\n {{ 'dossier.bulkAssign.modal.confirm' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .valtimo-dossier-bulk-assign-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-container,::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-content{overflow:unset}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i4.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i4.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i4.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i4.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i4.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i4.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i4.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"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3379
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierBulkAssignModalComponent, selector: "valtimo-dossier-bulk-assign-modal", inputs: { documentIds: "documentIds", open: "open" }, outputs: { closeEvent: "closeEvent" }, host: { properties: { "class": "this.modalClass" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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>{{ 'dossier.bulkAssign.modal.title' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form *ngIf=\"candidateUsers$ | async as candidateUsers\" [formGroup]=\"formGroup\">\n <cds-combo-box\n formControlName=\"assignee\"\n [dropUp]=\"false\"\n [items]=\"candidateUsers\"\n [label]=\"'dossier.bulkAssign.modal.selectLabel' | translate\"\n [placeholder]=\"'dossier.bulkAssign.modal.selectPlaceholder' | translate\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">{{ 'interface.cancel' | translate }}</button>\n\n <button cdsButton=\"primary\" [disabled]=\"formGroup.invalid\" (click)=\"closeModal(true)\">\n {{ 'dossier.bulkAssign.modal.confirm' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .valtimo-dossier-bulk-assign-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-container,::ng-deep .valtimo-dossier-bulk-assign-modal .cds--modal-content{overflow:unset}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i9.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i9.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i9.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i9.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i9.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i9.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i9.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i9.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"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3289
3380
  }
3290
3381
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierBulkAssignModalComponent, decorators: [{
3291
3382
  type: Component,
@@ -3316,14 +3407,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3316
3407
  * See the License for the specific language governing permissions and
3317
3408
  * limitations under the License.
3318
3409
  */
3319
- moment$1.locale(localStorage.getItem('langKey') || '');
3320
- moment$1.defaultFormat = 'DD MMM YYYY HH:mm';
3410
+ moment.locale(localStorage.getItem('langKey') || '');
3411
+ moment.defaultFormat = 'DD MMM YYYY HH:mm';
3321
3412
  class DossierDetailTaskListComponent {
3322
- constructor(documentService, processService, route, permissionService) {
3413
+ set openInTaskModal(value) {
3414
+ if (value)
3415
+ this._taskDetailModal.openTaskDetails(value);
3416
+ }
3417
+ constructor(documentService, processService, route, permissionService, userProviderService, dossierDetailLayoutService) {
3323
3418
  this.documentService = documentService;
3324
3419
  this.processService = processService;
3325
3420
  this.route = route;
3326
3421
  this.permissionService = permissionService;
3422
+ this.userProviderService = userProviderService;
3423
+ this.dossierDetailLayoutService = dossierDetailLayoutService;
3424
+ this.taskClickEvent = new EventEmitter();
3327
3425
  this.loadingTasks$ = new BehaviorSubject(true);
3328
3426
  this._refresh$ = new BehaviorSubject(null);
3329
3427
  this._documentId$ = this.route.params.pipe(map(params => params?.documentId), filter(documentId => !!documentId));
@@ -3343,12 +3441,13 @@ class DossierDetailTaskListComponent {
3343
3441
  const mappedTasks = this.mapTasks(tasks, permissions);
3344
3442
  const uniqueTasks = this.getUniqueTasks(mappedTasks);
3345
3443
  return this.getSortedTasks(uniqueTasks);
3346
- }), tap(() => this.loadingTasks$.next(false)));
3444
+ }), switchMap((tasks) => combineLatest([of(tasks), this.userProviderService.getUserSubject()])), map(([tasks, userIdentity]) => this.sortTasksToUser(tasks, userIdentity)), tap(() => this.loadingTasks$.next(false)));
3445
+ this.formSize$ = this.dossierDetailLayoutService.formDisplaySize$;
3347
3446
  }
3348
3447
  rowTaskClick(task) {
3349
3448
  if (task.isLocked)
3350
3449
  return;
3351
- this._taskDetailModal.openTaskDetails(task);
3450
+ this.taskClickEvent.emit(task);
3352
3451
  }
3353
3452
  refresh() {
3354
3453
  this._refresh$.next(null);
@@ -3356,9 +3455,9 @@ class DossierDetailTaskListComponent {
3356
3455
  mapTasks(tasks, permissions) {
3357
3456
  return tasks.map((task, index) => ({
3358
3457
  ...task,
3359
- createdUnix: moment$1(task.created).unix(),
3360
- created: moment$1(task.created).format('DD MMM YYYY HH:mm'),
3361
- ...(task.due && { dueUnix: moment$1(task.due).unix() }),
3458
+ createdUnix: moment(task.created).unix(),
3459
+ created: moment(task.created).format('DD MMM YYYY HH:mm'),
3460
+ ...(task.due && { dueUnix: moment(task.due).unix() }),
3362
3461
  isLocked: !permissions[index],
3363
3462
  }));
3364
3463
  }
@@ -3391,8 +3490,13 @@ class DossierDetailTaskListComponent {
3391
3490
  return t1.name.localeCompare(t2.name);
3392
3491
  });
3393
3492
  }
3394
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTaskListComponent, deps: [{ token: i2$1.DocumentService }, { token: i2$3.ProcessService }, { token: i1$1.ActivatedRoute }, { token: i7.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
3395
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DossierDetailTaskListComponent, isStandalone: true, selector: "valtimo-dossier-detail-task-list", viewQueries: [{ propertyName: "_taskDetailModal", first: true, predicate: ["taskDetail"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 <h2 class=\"task-list__title\">{{ 'summary.userTasks' | translate }}</h2>\n\n <div\n class=\"task-list__tasks-container\"\n cdsLayer=\"1\"\n *ngIf=\"!obs.loadingTasks && obs.tasks; else loadingTasksTemplate\"\n >\n @if (obs.tasks.length === 0) {\n <ng-container *ngTemplateOutlet=\"noTasksTemplate\"></ng-container>\n } @else {\n @for (task of obs.tasks; track task.id) {\n <ng-container *ngTemplateOutlet=\"taskTemplate; context: {task: task}\"></ng-container>\n }\n }\n </div>\n\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"refresh()\"\n (assignmentOfTaskChanged)=\"refresh()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #taskTemplate let-task=\"task\">\n <cds-clickable-tile (click)=\"rowTaskClick(task)\">\n <div class=\"task\">\n <div class=\"task__header\">\n <span class=\"task__title\">{{ task.name }}</span>\n\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"task.locked ? 'cool-gray' : 'green'\">\n @if (!task.locked) {\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 }} {{ task.created }}\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:412px;background-color:var(--cds-layer);padding:24px;display:flex;flex-direction:column}.task-list__title{font-size:24px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:16px}.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{white-space:pre}.task__title{width:100%}.task__title,.task__description{font-size:14px;font-style:normal;font-weight:600;line-height:20px;letter-spacing:.16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task__description{font-weight:400}.loading-container{width:100%;display:flex;justify-content:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: WidgetModule }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: TaskModule }, { kind: "component", type: i1$3.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: ["formSubmit", "assignmentOfTaskChanged"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i4.ClickableTile, selector: "cds-clickable-tile, ibm-clickable-tile", inputs: ["theme", "href", "target", "disabled", "route", "routeExtras"], outputs: ["navigation"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i4.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i4.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }] }); }
3493
+ sortTasksToUser(tasks, user) {
3494
+ return tasks.reduce((acc, curr) => curr.assignee === user.username || curr.assignee === user.id
3495
+ ? { ...acc, myTasks: [...acc.myTasks, curr] }
3496
+ : { ...acc, otherTasks: [...acc.otherTasks, curr] }, { myTasks: [], otherTasks: [] });
3497
+ }
3498
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTaskListComponent, deps: [{ token: i2$1.DocumentService }, { token: i2$3.ProcessService }, { token: i1$1.ActivatedRoute }, { token: i6$2.PermissionService }, { token: i5.UserProviderService }, { token: DossierDetailLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
3499
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DossierDetailTaskListComponent, isStandalone: true, selector: "valtimo-dossier-detail-task-list", inputs: { openInTaskModal: "openInTaskModal" }, outputs: { taskClickEvent: "taskClickEvent" }, viewQueries: [{ propertyName: "_taskDetailModal", first: true, predicate: ["taskDetail"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 <div class=\"task-list__tasks-container\" cdsLayer=\"1\">\n <h2 class=\"task-list__title\">{{ 'summary.myTasks' | translate }}</h2>\n\n @if (obs.tasks?.myTasks.length === 0) {\n {{ 'summary.noResultsMyTasks' | translate }}\n } @else {\n @for (task of obs.tasks?.myTasks; track task.id) {\n <ng-container *ngTemplateOutlet=\"taskTemplate; context: {task: task}\"></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 (task of obs.tasks?.otherTasks; track task.id) {\n <ng-container *ngTemplateOutlet=\"taskTemplate; context: {task: task}\"></ng-container>\n }\n }\n </div>\n }\n\n <valtimo-task-detail-modal\n #taskDetail\n [modalSize]=\"formSize$ | async\"\n (formSubmit)=\"refresh()\"\n (assignmentOfTaskChanged)=\"refresh()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #taskTemplate let-task=\"task\">\n <cds-clickable-tile [href]=\"null\" (click)=\"rowTaskClick(task)\">\n <div class=\"task\">\n <div class=\"task__header\">\n <span class=\"task__title\">{{ task.name }}</span>\n\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"task.locked ? 'cool-gray' : 'green'\">\n @if (!task.locked) {\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 }} {{ task.created }}\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}.task-list>*:first-child{margin-bottom:16px}.task-list__title,.task-list__subtitle{font-size:24px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:16px}.task-list__subtitle{font-size:18px}.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{white-space:pre}.task__title{width:100%}.task__title,.task__description{font-size:14px;font-style:normal;font-weight:600;line-height:20px;letter-spacing:.16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task__description{font-weight:400}.loading-container{width:100%;display:flex;justify-content:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: WidgetModule }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i9.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: TaskModule }, { kind: "component", type: i10.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", inputs: ["modalSize"], outputs: ["formSubmit", "assignmentOfTaskChanged"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i9.ClickableTile, selector: "cds-clickable-tile, ibm-clickable-tile", inputs: ["theme", "href", "target", "disabled", "route", "routeExtras"], outputs: ["navigation"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i9.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i9.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }] }); }
3396
3500
  }
3397
3501
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailTaskListComponent, decorators: [{
3398
3502
  type: Component,
@@ -3407,10 +3511,105 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3407
3511
  LayerModule,
3408
3512
  TagModule,
3409
3513
  CarbonListModule,
3410
- ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 <h2 class=\"task-list__title\">{{ 'summary.userTasks' | translate }}</h2>\n\n <div\n class=\"task-list__tasks-container\"\n cdsLayer=\"1\"\n *ngIf=\"!obs.loadingTasks && obs.tasks; else loadingTasksTemplate\"\n >\n @if (obs.tasks.length === 0) {\n <ng-container *ngTemplateOutlet=\"noTasksTemplate\"></ng-container>\n } @else {\n @for (task of obs.tasks; track task.id) {\n <ng-container *ngTemplateOutlet=\"taskTemplate; context: {task: task}\"></ng-container>\n }\n }\n </div>\n\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"refresh()\"\n (assignmentOfTaskChanged)=\"refresh()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #taskTemplate let-task=\"task\">\n <cds-clickable-tile (click)=\"rowTaskClick(task)\">\n <div class=\"task\">\n <div class=\"task__header\">\n <span class=\"task__title\">{{ task.name }}</span>\n\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"task.locked ? 'cool-gray' : 'green'\">\n @if (!task.locked) {\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 }} {{ task.created }}\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:412px;background-color:var(--cds-layer);padding:24px;display:flex;flex-direction:column}.task-list__title{font-size:24px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:16px}.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{white-space:pre}.task__title{width:100%}.task__title,.task__description{font-size:14px;font-style:normal;font-weight:600;line-height:20px;letter-spacing:.16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task__description{font-weight:400}.loading-container{width:100%;display:flex;justify-content:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
3411
- }], ctorParameters: () => [{ type: i2$1.DocumentService }, { type: i2$3.ProcessService }, { type: i1$1.ActivatedRoute }, { type: i7.PermissionService }], propDecorators: { _taskDetailModal: [{
3514
+ ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 <div class=\"task-list__tasks-container\" cdsLayer=\"1\">\n <h2 class=\"task-list__title\">{{ 'summary.myTasks' | translate }}</h2>\n\n @if (obs.tasks?.myTasks.length === 0) {\n {{ 'summary.noResultsMyTasks' | translate }}\n } @else {\n @for (task of obs.tasks?.myTasks; track task.id) {\n <ng-container *ngTemplateOutlet=\"taskTemplate; context: {task: task}\"></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 (task of obs.tasks?.otherTasks; track task.id) {\n <ng-container *ngTemplateOutlet=\"taskTemplate; context: {task: task}\"></ng-container>\n }\n }\n </div>\n }\n\n <valtimo-task-detail-modal\n #taskDetail\n [modalSize]=\"formSize$ | async\"\n (formSubmit)=\"refresh()\"\n (assignmentOfTaskChanged)=\"refresh()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #taskTemplate let-task=\"task\">\n <cds-clickable-tile [href]=\"null\" (click)=\"rowTaskClick(task)\">\n <div class=\"task\">\n <div class=\"task__header\">\n <span class=\"task__title\">{{ task.name }}</span>\n\n <cds-tag class=\"cds-tag--no-margin\" [type]=\"task.locked ? 'cool-gray' : 'green'\">\n @if (!task.locked) {\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 }} {{ task.created }}\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}.task-list>*:first-child{margin-bottom:16px}.task-list__title,.task-list__subtitle{font-size:24px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:16px}.task-list__subtitle{font-size:18px}.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{white-space:pre}.task__title{width:100%}.task__title,.task__description{font-size:14px;font-style:normal;font-weight:600;line-height:20px;letter-spacing:.16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task__description{font-weight:400}.loading-container{width:100%;display:flex;justify-content:center}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
3515
+ }], ctorParameters: () => [{ type: i2$1.DocumentService }, { type: i2$3.ProcessService }, { type: i1$1.ActivatedRoute }, { type: i6$2.PermissionService }, { type: i5.UserProviderService }, { type: DossierDetailLayoutService }], propDecorators: { _taskDetailModal: [{
3412
3516
  type: ViewChild,
3413
3517
  args: ['taskDetail']
3518
+ }], openInTaskModal: [{
3519
+ type: Input
3520
+ }], taskClickEvent: [{
3521
+ type: Output
3522
+ }] } });
3523
+
3524
+ /*
3525
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3526
+ *
3527
+ * Licensed under EUPL, Version 1.2 (the "License");
3528
+ * you may not use this file except in compliance with the License.
3529
+ * You may obtain a copy of the License at
3530
+ *
3531
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
3532
+ *
3533
+ * Unless required by applicable law or agreed to in writing, software
3534
+ * distributed under the License is distributed on an "AS IS" basis,
3535
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3536
+ * See the License for the specific language governing permissions and
3537
+ * limitations under the License.
3538
+ */
3539
+ class DossierDetailsTaskDetailComponent {
3540
+ set task(value) {
3541
+ if (!value)
3542
+ return;
3543
+ this.task$.next(value);
3544
+ this.pageValue.set({
3545
+ title: value?.name,
3546
+ subtitle: `${this.translateService.instant('taskDetail.taskCreated')} ${value?.created}`,
3547
+ });
3548
+ }
3549
+ constructor(configService, pageHeaderService, permissionService, translateService) {
3550
+ this.configService = configService;
3551
+ this.pageHeaderService = pageHeaderService;
3552
+ this.permissionService = permissionService;
3553
+ this.translateService = translateService;
3554
+ this.closeEvent = new EventEmitter();
3555
+ this.assignmentOfTaskChanged = new EventEmitter();
3556
+ this.activeChange = new EventEmitter();
3557
+ this.formSubmit = new EventEmitter();
3558
+ this.compactMode$ = this.pageHeaderService.compactMode$;
3559
+ this.task$ = new BehaviorSubject(null);
3560
+ this.canAssignUserToTask$ = this.task$.pipe(switchMap((task) => this.permissionService.requestPermission(CAN_ASSIGN_TASK_PERMISSION, {
3561
+ resource: TASK_DETAIL_PERMISSION_RESOURCE.task,
3562
+ identifier: task?.id ?? '',
3563
+ })));
3564
+ this.intermediateSaveValue$ = new BehaviorSubject(null);
3565
+ this.pageValue = signal({
3566
+ title: '',
3567
+ subtitle: '',
3568
+ });
3569
+ this.enableIntermediateSave = false;
3570
+ this.enableIntermediateSave = !!this.configService.featureToggles?.enableIntermediateSave;
3571
+ }
3572
+ ngOnDestroy() {
3573
+ this.closeEvent.emit();
3574
+ }
3575
+ onClose() {
3576
+ this.closeEvent.emit();
3577
+ this.onActiveChangeEvent(false);
3578
+ }
3579
+ onCurrentIntermediateSaveEvent(value) {
3580
+ this.intermediateSaveValue$.next(value);
3581
+ this.onActiveChangeEvent(false);
3582
+ }
3583
+ onActiveChangeEvent(activeChange) {
3584
+ this.activeChange.emit(activeChange);
3585
+ }
3586
+ onFormSubmitEvent() {
3587
+ this.formSubmit.emit();
3588
+ }
3589
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailsTaskDetailComponent, deps: [{ token: i1.ConfigService }, { token: i2$2.PageHeaderService }, { token: i6$2.PermissionService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
3590
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierDetailsTaskDetailComponent, isStandalone: true, selector: "valtimo-dossier-detail-task-detail", inputs: { task: "task" }, outputs: { closeEvent: "closeEvent", assignmentOfTaskChanged: "assignmentOfTaskChanged", activeChange: "activeChange", formSubmit: "formSubmit" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 } as obs\"\n class=\"valtimo-dossier-detail-task-detail\"\n>\n <section class=\"valtimo-dossier-detail-task-detail__header\">\n <valtimo-task-detail-intermediate-save\n *ngIf=\"enableIntermediateSave\"\n [task]=\"obs.task\"\n (currentIntermediateSaveEvent)=\"onCurrentIntermediateSaveEvent($event)\"\n ></valtimo-task-detail-intermediate-save>\n\n <button cdsButton=\"ghost\" [iconOnly]=\"true\" (click)=\"onClose()\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </section>\n\n <section\n class=\"valtimo-dossier-detail-task-detail__body\"\n [class.valtimo-dossier-detail-task-detail__body--compact]=\"compactMode$ | async\"\n >\n <div class=\"title-container\">\n <p class=\"valtimo-dossier-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 <valtimo-assign-user-to-task\n *ngIf=\"obs.task && obs.canAssignUserToTask\"\n [taskId]=\"obs.task.id\"\n [assigneeId]=\"obs.task.assignee\"\n ></valtimo-assign-user-to-task>\n </div>\n\n <valtimo-task-detail-content\n [task]=\"task$ | async\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (formSubmit)=\"onFormSubmitEvent()\"\n ></valtimo-task-detail-content>\n </section>\n</div>\n", styles: [".valtimo-dossier-detail-task-detail{width:100%;display:flex;flex-direction:column;background-color:var(--cds-layer);padding:8px 16px 16px}.valtimo-dossier-detail-task-detail__header{display:flex;justify-content:flex-end}.valtimo-dossier-detail-task-detail__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-dossier-detail-task-detail__body{overflow-y:auto;max-height:calc(100vh - 320px)}.valtimo-dossier-detail-task-detail__body--compact{max-height:calc(100vh - 280px)}.valtimo-dossier-detail-task-detail__body .title-container{position:sticky;background-color:var(--cds-layer);top:0;z-index:1}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "component", type: TaskDetailContentComponent, selector: "valtimo-task-detail-content", inputs: ["task"], outputs: ["closeModalEvent", "formSubmit", "activeChange"] }, { kind: "component", type: TaskDetailIntermediateSaveComponent, selector: "valtimo-task-detail-intermediate-save", inputs: ["task"], outputs: ["currentIntermediateSaveEvent", "showModalEvent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i9.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i9.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: AssignUserToTaskComponent, selector: "valtimo-assign-user-to-task", inputs: ["taskId", "assigneeId"], outputs: ["assignmentOfTaskChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3591
+ }
3592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailsTaskDetailComponent, decorators: [{
3593
+ type: Component,
3594
+ args: [{ selector: 'valtimo-dossier-detail-task-detail', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
3595
+ CommonModule,
3596
+ TranslateModule,
3597
+ TaskDetailContentComponent,
3598
+ TaskDetailIntermediateSaveComponent,
3599
+ ButtonModule,
3600
+ IconModule,
3601
+ AssignUserToTaskComponent,
3602
+ ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 } as obs\"\n class=\"valtimo-dossier-detail-task-detail\"\n>\n <section class=\"valtimo-dossier-detail-task-detail__header\">\n <valtimo-task-detail-intermediate-save\n *ngIf=\"enableIntermediateSave\"\n [task]=\"obs.task\"\n (currentIntermediateSaveEvent)=\"onCurrentIntermediateSaveEvent($event)\"\n ></valtimo-task-detail-intermediate-save>\n\n <button cdsButton=\"ghost\" [iconOnly]=\"true\" (click)=\"onClose()\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </section>\n\n <section\n class=\"valtimo-dossier-detail-task-detail__body\"\n [class.valtimo-dossier-detail-task-detail__body--compact]=\"compactMode$ | async\"\n >\n <div class=\"title-container\">\n <p class=\"valtimo-dossier-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 <valtimo-assign-user-to-task\n *ngIf=\"obs.task && obs.canAssignUserToTask\"\n [taskId]=\"obs.task.id\"\n [assigneeId]=\"obs.task.assignee\"\n ></valtimo-assign-user-to-task>\n </div>\n\n <valtimo-task-detail-content\n [task]=\"task$ | async\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (formSubmit)=\"onFormSubmitEvent()\"\n ></valtimo-task-detail-content>\n </section>\n</div>\n", styles: [".valtimo-dossier-detail-task-detail{width:100%;display:flex;flex-direction:column;background-color:var(--cds-layer);padding:8px 16px 16px}.valtimo-dossier-detail-task-detail__header{display:flex;justify-content:flex-end}.valtimo-dossier-detail-task-detail__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-dossier-detail-task-detail__body{overflow-y:auto;max-height:calc(100vh - 320px)}.valtimo-dossier-detail-task-detail__body--compact{max-height:calc(100vh - 280px)}.valtimo-dossier-detail-task-detail__body .title-container{position:sticky;background-color:var(--cds-layer);top:0;z-index:1}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
3603
+ }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2$2.PageHeaderService }, { type: i6$2.PermissionService }, { type: i6.TranslateService }], propDecorators: { task: [{
3604
+ type: Input
3605
+ }], closeEvent: [{
3606
+ type: Output
3607
+ }], assignmentOfTaskChanged: [{
3608
+ type: Output
3609
+ }], activeChange: [{
3610
+ type: Output
3611
+ }], formSubmit: [{
3612
+ type: Output
3414
3613
  }] } });
3415
3614
 
3416
3615
  /*
@@ -3508,13 +3707,13 @@ class DossierSupportingProcessStartModalComponent {
3508
3707
  queryParams: { process: this.processDefinitionKey$.getValue() },
3509
3708
  });
3510
3709
  }
3511
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierSupportingProcessStartModalComponent, deps: [{ token: i1$1.Router }, { token: i2$3.ProcessService }, { token: i4$2.ProcessLinkService }, { token: i4$3.UserProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
3512
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierSupportingProcessStartModalComponent, selector: "valtimo-dossier-supporting-process-start-modal", outputs: { formSubmit: "formSubmit" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "modal", first: true, predicate: ["supportingProcessStartModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n *ngIf=\"{\n processDefinitionKey: processDefinitionKey$ | async,\n processName: processName$ | async\n } as vars\"\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (vars.processDefinitionKey | translate) !== vars.processDefinitionKey\n ? (vars.processDefinitionKey | translate)\n : vars.processName\n \"\n>\n <div body *ngIf=\"formDefinition$ | async as formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition\"\n [options]=\"options$ | async\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId$ | async as formFlowInstanceId\">\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n </div>\n\n <ng-container\n *ngIf=\"{\n formDefinition: formDefinition$ | async,\n formFlowInstanceId: formFlowInstanceId$ | async\n } as obs\"\n >\n <div body *ngIf=\"!obs.formDefinition && !obs.formFlowInstanceId\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\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 </div>\n </ng-container>\n</valtimo-modal>\n", styles: ["#supportingProcessStartModal .formio-component-submit{text-align:right}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i2$2.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "component", type: i4$2.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
3710
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierSupportingProcessStartModalComponent, deps: [{ token: i1$1.Router }, { token: i2$3.ProcessService }, { token: i4$1.ProcessLinkService }, { token: i5.UserProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
3711
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierSupportingProcessStartModalComponent, selector: "valtimo-dossier-supporting-process-start-modal", outputs: { formSubmit: "formSubmit" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "modal", first: true, predicate: ["supportingProcessStartModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n *ngIf=\"{\n processDefinitionKey: processDefinitionKey$ | async,\n processName: processName$ | async,\n } as vars\"\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (vars.processDefinitionKey | translate) !== vars.processDefinitionKey\n ? (vars.processDefinitionKey | translate)\n : vars.processName\n \"\n>\n <div body *ngIf=\"formDefinition$ | async as formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition\"\n [options]=\"options$ | async\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId$ | async as formFlowInstanceId\">\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n </div>\n\n <ng-container\n *ngIf=\"{\n formDefinition: formDefinition$ | async,\n formFlowInstanceId: formFlowInstanceId$ | async,\n } as obs\"\n >\n <div body *ngIf=\"!obs.formDefinition && !obs.formFlowInstanceId\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\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 </div>\n </ng-container>\n</valtimo-modal>\n", styles: ["#supportingProcessStartModal .formio-component-submit{text-align:right}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i2$2.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "component", type: i4$1.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
3513
3712
  }
3514
3713
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierSupportingProcessStartModalComponent, decorators: [{
3515
3714
  type: Component,
3516
- args: [{ selector: 'valtimo-dossier-supporting-process-start-modal', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n *ngIf=\"{\n processDefinitionKey: processDefinitionKey$ | async,\n processName: processName$ | async\n } as vars\"\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (vars.processDefinitionKey | translate) !== vars.processDefinitionKey\n ? (vars.processDefinitionKey | translate)\n : vars.processName\n \"\n>\n <div body *ngIf=\"formDefinition$ | async as formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition\"\n [options]=\"options$ | async\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId$ | async as formFlowInstanceId\">\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n </div>\n\n <ng-container\n *ngIf=\"{\n formDefinition: formDefinition$ | async,\n formFlowInstanceId: formFlowInstanceId$ | async\n } as obs\"\n >\n <div body *ngIf=\"!obs.formDefinition && !obs.formFlowInstanceId\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\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 </div>\n </ng-container>\n</valtimo-modal>\n", styles: ["#supportingProcessStartModal .formio-component-submit{text-align:right}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
3517
- }], ctorParameters: () => [{ type: i1$1.Router }, { type: i2$3.ProcessService }, { type: i4$2.ProcessLinkService }, { type: i4$3.UserProviderService }], propDecorators: { form: [{
3715
+ args: [{ selector: 'valtimo-dossier-supporting-process-start-modal', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n *ngIf=\"{\n processDefinitionKey: processDefinitionKey$ | async,\n processName: processName$ | async,\n } as vars\"\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (vars.processDefinitionKey | translate) !== vars.processDefinitionKey\n ? (vars.processDefinitionKey | translate)\n : vars.processName\n \"\n>\n <div body *ngIf=\"formDefinition$ | async as formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition\"\n [options]=\"options$ | async\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId$ | async as formFlowInstanceId\">\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n </div>\n\n <ng-container\n *ngIf=\"{\n formDefinition: formDefinition$ | async,\n formFlowInstanceId: formFlowInstanceId$ | async,\n } as obs\"\n >\n <div body *ngIf=\"!obs.formDefinition && !obs.formFlowInstanceId\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\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 </div>\n </ng-container>\n</valtimo-modal>\n", styles: ["#supportingProcessStartModal .formio-component-submit{text-align:right}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
3716
+ }], ctorParameters: () => [{ type: i1$1.Router }, { type: i2$3.ProcessService }, { type: i4$1.ProcessLinkService }, { type: i5.UserProviderService }], propDecorators: { form: [{
3518
3717
  type: ViewChild,
3519
3718
  args: ['form', { static: false }]
3520
3719
  }], modal: [{
@@ -3597,11 +3796,11 @@ class DossierAssignUserComponent {
3597
3796
  this.disabled$.next(true);
3598
3797
  }
3599
3798
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierAssignUserComponent, deps: [{ token: i2$1.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
3600
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: { documentId: "documentId", assigneeId: "assigneeId", assigneeFullName: "assigneeFullName", hasPermission: "hasPermission" }, outputs: { assignmentOfDocumentChanged: "assignmentOfDocumentChanged" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #content>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async\n } as obs\"\n >\n <ng-container *ngIf=\"!hasPermission && obs.assigneeFullName\">\n <ng-container *ngTemplateOutlet=\"fullName; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasPermission\">\n <ng-container *ngTemplateOutlet=\"selectUser; context: {obs: obs}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #fullName let-obs=\"obs\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [hasPermission]=\"false\"\n [hasSelection]=\"true\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n</ng-template>\n\n<ng-template #selectUser let-obs=\"obs\">\n <ng-container *ngIf=\"userItems$ | async as userItems; else loadingUsers\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [disabled]=\"obs.disabled\"\n [hasPermission]=\"hasPermission\"\n [showClearSelection]=\"false\"\n [hasSelection]=\"obs.assigneeId\"\n [items]=\"userItems\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n (clearSelection)=\"unassignDocument()\"\n (itemSelected)=\"assignDocument($event)\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n</ng-template>\n\n<ng-template #loadingUsers>\n <h5>\n <b>{{ 'assignDocument.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}valtimo-searchable-dropdown-select{color:var(--cds-text-helper)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px!important;line-height:18px!important}h5{font-size:14px!important}:host .dossier-candidates-dropdown h5{margin-block:0}\n"], dependencies: [{ kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$2.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width", "hasPermission", "showClearSelection"], outputs: ["itemSelected", "clearSelection"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
3799
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: { documentId: "documentId", assigneeId: "assigneeId", assigneeFullName: "assigneeFullName", hasPermission: "hasPermission" }, outputs: { assignmentOfDocumentChanged: "assignmentOfDocumentChanged" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #content>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async,\n } as obs\"\n >\n <ng-container *ngIf=\"!hasPermission && obs.assigneeFullName\">\n <ng-container *ngTemplateOutlet=\"fullName; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasPermission\">\n <ng-container *ngTemplateOutlet=\"selectUser; context: {obs: obs}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #fullName let-obs=\"obs\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [hasPermission]=\"false\"\n [hasSelection]=\"true\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n</ng-template>\n\n<ng-template #selectUser let-obs=\"obs\">\n <ng-container *ngIf=\"userItems$ | async as userItems; else loadingUsers\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [disabled]=\"obs.disabled\"\n [hasPermission]=\"hasPermission\"\n [showClearSelection]=\"false\"\n [hasSelection]=\"obs.assigneeId\"\n [items]=\"userItems\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n (clearSelection)=\"unassignDocument()\"\n (itemSelected)=\"assignDocument($event)\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n</ng-template>\n\n<ng-template #loadingUsers>\n <h5>\n <b>{{ 'assignDocument.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}valtimo-searchable-dropdown-select{color:var(--cds-text-helper)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px!important;line-height:18px!important}h5{font-size:14px!important}:host .dossier-candidates-dropdown h5{margin-block:0}\n"], dependencies: [{ kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$2.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width", "hasPermission", "showClearSelection"], outputs: ["itemSelected", "clearSelection"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
3601
3800
  }
3602
3801
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierAssignUserComponent, decorators: [{
3603
3802
  type: Component,
3604
- args: [{ selector: 'valtimo-dossier-assign-user', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #content>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async\n } as obs\"\n >\n <ng-container *ngIf=\"!hasPermission && obs.assigneeFullName\">\n <ng-container *ngTemplateOutlet=\"fullName; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasPermission\">\n <ng-container *ngTemplateOutlet=\"selectUser; context: {obs: obs}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #fullName let-obs=\"obs\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [hasPermission]=\"false\"\n [hasSelection]=\"true\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n</ng-template>\n\n<ng-template #selectUser let-obs=\"obs\">\n <ng-container *ngIf=\"userItems$ | async as userItems; else loadingUsers\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [disabled]=\"obs.disabled\"\n [hasPermission]=\"hasPermission\"\n [showClearSelection]=\"false\"\n [hasSelection]=\"obs.assigneeId\"\n [items]=\"userItems\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n (clearSelection)=\"unassignDocument()\"\n (itemSelected)=\"assignDocument($event)\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n</ng-template>\n\n<ng-template #loadingUsers>\n <h5>\n <b>{{ 'assignDocument.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}valtimo-searchable-dropdown-select{color:var(--cds-text-helper)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px!important;line-height:18px!important}h5{font-size:14px!important}:host .dossier-candidates-dropdown h5{margin-block:0}\n"] }]
3803
+ args: [{ selector: 'valtimo-dossier-assign-user', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #content>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async,\n } as obs\"\n >\n <ng-container *ngIf=\"!hasPermission && obs.assigneeFullName\">\n <ng-container *ngTemplateOutlet=\"fullName; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasPermission\">\n <ng-container *ngTemplateOutlet=\"selectUser; context: {obs: obs}\"></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #fullName let-obs=\"obs\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [hasPermission]=\"false\"\n [hasSelection]=\"true\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n</ng-template>\n\n<ng-template #selectUser let-obs=\"obs\">\n <ng-container *ngIf=\"userItems$ | async as userItems; else loadingUsers\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [disabled]=\"obs.disabled\"\n [hasPermission]=\"hasPermission\"\n [showClearSelection]=\"false\"\n [hasSelection]=\"obs.assigneeId\"\n [items]=\"userItems\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedTextValue]=\"obs.assigneeFullName\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n (clearSelection)=\"unassignDocument()\"\n (itemSelected)=\"assignDocument($event)\"\n class=\"dossier-candidates-dropdown\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n</ng-template>\n\n<ng-template #loadingUsers>\n <h5>\n <b>{{ 'assignDocument.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}valtimo-searchable-dropdown-select{color:var(--cds-text-helper)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px!important;line-height:18px!important}h5{font-size:14px!important}:host .dossier-candidates-dropdown h5{margin-block:0}\n"] }]
3605
3804
  }], ctorParameters: () => [{ type: i2$1.DocumentService }], propDecorators: { documentId: [{
3606
3805
  type: Input
3607
3806
  }], assigneeId: [{
@@ -3651,14 +3850,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3651
3850
  }]
3652
3851
  }], ctorParameters: () => [{ type: i6.TranslateService }] });
3653
3852
 
3654
- class DossierDetailComponent {
3655
- constructor(breadcrumbService, componentFactoryResolver, configService, documentService, keyCloakService, location, logger, permissionService, route, router, dossierTabService, dossierService, caseStatusService, pageTitleService, iconService, pageHeaderService) {
3853
+ /*
3854
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3855
+ *
3856
+ * Licensed under EUPL, Version 1.2 (the "License");
3857
+ * you may not use this file except in compliance with the License.
3858
+ * You may obtain a copy of the License at
3859
+ *
3860
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
3861
+ *
3862
+ * Unless required by applicable law or agreed to in writing, software
3863
+ * distributed under the License is distributed on an "AS IS" basis,
3864
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3865
+ * See the License for the specific language governing permissions and
3866
+ * limitations under the License.
3867
+ */
3868
+ class DossierDetailComponent extends PendingChangesComponent {
3869
+ get activeTabName$() {
3870
+ return combineLatest([this.route.paramMap, this._activeTabName$]).pipe(map(([paramMap, activeTabName]) => !activeTabName ? (paramMap.get('tab') ?? null) : activeTabName));
3871
+ }
3872
+ constructor(breadcrumbService, componentFactoryResolver, configService, documentService, keyCloakService, logger, permissionService, route, router, dossierTabService, dossierService, caseStatusService, pageTitleService, iconService, pageHeaderService, dossierDetailLayoutService, renderer, taskService, cdsThemeService, htmlDocument) {
3873
+ super();
3656
3874
  this.breadcrumbService = breadcrumbService;
3657
3875
  this.componentFactoryResolver = componentFactoryResolver;
3658
3876
  this.configService = configService;
3659
3877
  this.documentService = documentService;
3660
3878
  this.keyCloakService = keyCloakService;
3661
- this.location = location;
3662
3879
  this.logger = logger;
3663
3880
  this.permissionService = permissionService;
3664
3881
  this.route = route;
@@ -3669,12 +3886,19 @@ class DossierDetailComponent {
3669
3886
  this.pageTitleService = pageTitleService;
3670
3887
  this.iconService = iconService;
3671
3888
  this.pageHeaderService = pageHeaderService;
3889
+ this.dossierDetailLayoutService = dossierDetailLayoutService;
3890
+ this.renderer = renderer;
3891
+ this.taskService = taskService;
3892
+ this.cdsThemeService = cdsThemeService;
3893
+ this.htmlDocument = htmlDocument;
3672
3894
  this.customDossierHeaderItems = [];
3673
3895
  this.document = null;
3674
3896
  this.processDefinitionListFields = [];
3675
3897
  this.processDocumentDefinitions = [];
3676
3898
  this.tabLoader = null;
3677
3899
  this.assigneeId$ = new BehaviorSubject('');
3900
+ this.currentIntermediateSave$ = new BehaviorSubject(null);
3901
+ this.taskOpenedInPanel$ = this.dossierDetailLayoutService.taskOpenedInPanel$;
3678
3902
  this._caseStatusKey$ = new BehaviorSubject(null);
3679
3903
  this.caseStatusKey$ = this._caseStatusKey$.pipe(filter(key => !!key));
3680
3904
  this.document$ = this.dossierService.refreshDocument$.pipe(switchMap(() => this.route.params), map((params) => params?.documentId), switchMap((documentId) => documentId ? this.documentService.getDocument(this.documentId) : of(null)), tap((document) => {
@@ -3719,6 +3943,13 @@ class DossierDetailComponent {
3719
3943
  this.compactMode$ = this.pageHeaderService.compactMode$;
3720
3944
  this.tabHorizontalOverflowDisabled = this.dossierTabService.tabHorizontalOverflowDisabled;
3721
3945
  this.showTaskList$ = this.dossierTabService.showTaskList$;
3946
+ this._activeTabName$ = new BehaviorSubject(null);
3947
+ this.DOSSIER_DETAIL_GUTTER_SIZE = DOSSIER_DETAIL_GUTTER_SIZE;
3948
+ this.dossierDetailLayout$ = this.dossierDetailLayoutService.dossierDetailLayout$;
3949
+ this.openTaskInModal$ = new Subject();
3950
+ this.isDarkMode$ = this.cdsThemeService.currentTheme$.pipe(map(currentTheme => currentTheme === CurrentCarbonTheme.G90));
3951
+ this._activeChange = false;
3952
+ this._tabsInit = false;
3722
3953
  this._snapshot = this.route.snapshot.paramMap;
3723
3954
  this.documentDefinitionName = this._snapshot.get('documentDefinitionName') || '';
3724
3955
  this.documentId = this._snapshot.get('documentId') || '';
@@ -3727,12 +3958,15 @@ class DossierDetailComponent {
3727
3958
  this.initTabLoader();
3728
3959
  this.initBreadcrumb();
3729
3960
  this.getAllAssociatedProcessDefinitions();
3961
+ this.openWidthObserver();
3730
3962
  this.pageTitleService.disableReset();
3731
3963
  this.iconService.registerAll([ChevronDown16]);
3964
+ this.setDocumentStyle();
3732
3965
  }
3733
3966
  ngOnDestroy() {
3734
3967
  this.breadcrumbService.clearSecondBreadcrumb();
3735
3968
  this.pageTitleService.enableReset();
3969
+ this.removeDocumentStyle();
3736
3970
  }
3737
3971
  getAllAssociatedProcessDefinitions() {
3738
3972
  this.documentService
@@ -3780,6 +4014,63 @@ class DossierDetailComponent {
3780
4014
  },
3781
4015
  });
3782
4016
  }
4017
+ onTaskClickEvent(task) {
4018
+ this.taskService.getTaskProcessLink(task.id).subscribe(result => {
4019
+ const displayType = result.properties.formDisplayType || DOSSIER_DETAIL_DEFAULT_DISPLAY_TYPE;
4020
+ const size = result.properties.formSize || DOSSIER_DETAIL_DEFAULT_DISPLAY_SIZE;
4021
+ this.dossierDetailLayoutService.setFormDisplaySize(size);
4022
+ this.dossierDetailLayoutService.setFormDisplayType(displayType);
4023
+ if (displayType === 'panel') {
4024
+ this.dossierDetailLayoutService.setTaskOpenedInPanel(task);
4025
+ }
4026
+ else {
4027
+ this.openTaskInModal$.next({ ...task });
4028
+ }
4029
+ });
4030
+ }
4031
+ onTaskDetailsClose() {
4032
+ this.dossierDetailLayoutService.setTaskOpenedInPanel(null);
4033
+ }
4034
+ onActiveChangeEvent(event) {
4035
+ this._activeChange = event;
4036
+ }
4037
+ onTabSelected(tab, activeTab) {
4038
+ if (!this.tabLoader)
4039
+ return;
4040
+ if (!this._tabsInit) {
4041
+ this._tabsInit = true;
4042
+ return;
4043
+ }
4044
+ this._oldTabName = activeTab.name;
4045
+ this._pendingTab = tab;
4046
+ this._activeTabName$.next(tab.name);
4047
+ this.pendingChanges =
4048
+ tab.contentKey === 'summary' ? false : !tab.showTasks && this._activeChange;
4049
+ if (this.pendingChanges) {
4050
+ this.tabLoader.replaceUrlState(tab);
4051
+ return;
4052
+ }
4053
+ if (!tab.showTasks)
4054
+ this.openTaskInModal$.next(null);
4055
+ this.tabLoader.load(tab);
4056
+ this.setDocumentStyle();
4057
+ }
4058
+ onFormSubmitEvent() {
4059
+ this.dossierDetailLayoutService.setTaskOpenedInPanel(null);
4060
+ }
4061
+ onConfirmRedirect() {
4062
+ if (!this.tabLoader || !this._pendingTab)
4063
+ return;
4064
+ this._activeChange = false;
4065
+ this._activeTabName$.next(this._pendingTab.name);
4066
+ this.tabLoader.load(this._pendingTab);
4067
+ this.dossierDetailLayoutService.setTaskOpenedInPanel(null);
4068
+ }
4069
+ onCancelRedirect() {
4070
+ if (!this.tabLoader)
4071
+ return;
4072
+ this._activeTabName$.next(this._oldTabName);
4073
+ }
3783
4074
  initBreadcrumb() {
3784
4075
  this.documentService
3785
4076
  .getDocumentDefinition(this.documentDefinitionName)
@@ -3796,6 +4087,7 @@ class DossierDetailComponent {
3796
4087
  this.tabLoader.initial(this._initialTabName);
3797
4088
  this.dossierTabService.setTabLoader(this.tabLoader);
3798
4089
  this.loadingTabs$.next(false);
4090
+ this.activeTab$ = this.tabLoader.activeTab$;
3799
4091
  }
3800
4092
  else {
3801
4093
  this.noTabsConfigured$.next(true);
@@ -3845,18 +4137,44 @@ class DossierDetailComponent {
3845
4137
  href: `/dossiers/${this.documentDefinitionName}`,
3846
4138
  });
3847
4139
  }
3848
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailComponent, deps: [{ token: i2$2.BreadcrumbService }, { token: i0.ComponentFactoryResolver }, { token: i1.ConfigService }, { token: i2$1.DocumentService }, { token: i4$4.KeycloakService }, { token: i3$1.Location }, { token: i1$2.NGXLogger }, { token: i7.PermissionService }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: DossierTabService }, { token: DossierService }, { token: i2$1.CaseStatusService }, { token: i2$2.PageTitleService }, { token: i4.IconService }, { token: i2$2.PageHeaderService }], target: i0.ɵɵFactoryTarget.Component }); }
3849
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DossierDetailComponent, selector: "valtimo-dossier-detail", providers: [DossierTabService], viewQueries: [{ propertyName: "supportingProcessStart", first: true, predicate: ["supportingProcessStartModal"], descendants: true }, { propertyName: "viewContainerRef", first: true, predicate: ["tabContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n class=\"main-content\"\n [ngClass]=\"{'main-content--no-horizontal-overflow': tabHorizontalOverflowDisabled()}\"\n>\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n <ng-template #tabs>\n <ng-container *ngIf=\"tabLoader\">\n <cds-tabs type=\"inline\" class=\"case-detail-tabs\">\n <cds-tab\n *ngFor=\"let tab of tabLoader.tabs\"\n [active]=\"tab.isActive()\"\n heading=\"{{ tab | tabTranslate | async }}\"\n [id]=\"\"\n (selected)=\"tabLoader.load(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n </ng-template>\n\n <div class=\"tab-content-container\">\n <div class=\"card-body bg-white p-5 position-relative tab-container\">\n <div *ngIf=\"loadingTabs$ | async\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <valtimo-no-results\n *ngIf=\"noTabsConfigured$ | async\"\n [description]=\"'dossier.tabs.noResultsDescription' | translate\"\n [title]=\"'dossier.tabs.noResults' | translate\"\n ></valtimo-no-results>\n\n <ng-template #tabContainer></ng-template>\n\n <div class=\"clearfix\"></div>\n </div>\n\n <div *ngIf=\"showTaskList$ | async\" class=\"tab-content-container__task-list\">\n <valtimo-dossier-detail-task-list></valtimo-dossier-detail-task-list>\n </div>\n </div>\n </div>\n\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-supporting-process-start-modal>\n </div>\n</div>\n\n<ng-template\n #caseDetailHeader\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div class=\"row\" *ngIf=\"(customDossierHeaderItems || []).length > 0\">\n <span\n *ngFor=\"let item of customDossierHeaderItems\"\n [ngClass]=\"{\n h1: item.textSize === 'xl',\n h2: item.textSize === 'lg',\n h3: item.textSize === 'md',\n h4: item.textSize === 'sm',\n h5: item.textSize === 'xs'\n }\"\n class=\"mb-0 mt-0 align-self-end col-xl-{{ item.columnSize }} col-lg-{{\n item.columnSize * 2\n }} {{ item.customClass }}\"\n >\n <span *ngIf=\"item.label\">{{ item.label | translate }}</span>\n\n <span *ngIf=\"item.label && item.value\">: </span>\n\n <strong>{{ item.value }}</strong>\n </span>\n </div>\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-dossier-assign-user\n *ngIf=\"canAssignLoaded$ | async\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n [assigneeId]=\"document.assigneeId\"\n [documentId]=\"document.id\"\n [hasPermission]=\"canAssign\"\n (assignmentOfDocumentChanged)=\"assignmentOfDocumentChanged()\"\n ></valtimo-dossier-assign-user>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canClaim=\"canClaim\" let-canHaveAssignee=\"canHaveAssignee\">\n <cds-overflow-menu-option\n *ngIf=\"canClaim && canHaveAssignee\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n (click)=\"claimAssignee()\"\n >\n <span>{{ 'dossier.claimAssigneeCase' | translate }}</span>\n </cds-overflow-menu-option>\n</ng-template>\n\n<ng-template #customStartTrigger>\n <button\n [size]=\"(compactMode$ | async) ? 'sm' : 'lg'\"\n cdsButton=\"primary\"\n [disabled]=\"processDocumentDefinitions.length === 0\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n >\n {{ 'dossier.startSubProcess' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"chevron--down\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"dossier-actions\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n *ngIf=\"{\n assigneeId: assigneeId$ | async,\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n document: document$ | async,\n caseStatus: caseStatus$ | async\n } as obs\"\n >\n <div\n class=\"dossier-status-assign-custom-title\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n @if (obs.caseStatus) {\n <cds-tag size=\"sm\" [type]=\"obs.caseStatus.tagType\">{{ obs.caseStatus.title }}</cds-tag>\n }\n\n <div class=\"dossier-assign-user\" [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 <cds-overflow-menu\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n *ngIf=\"obs.canHaveAssignee\"\n flip=\"true\"\n [offset]=\"(compactMode$ | async) ? {y: 48, x: -4} : {y: 48, x: 4}\"\n class=\"overflow-button assign-overflow\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n claimButton;\n context: {canClaim: obs.canClaim, canHaveAssignee: obs.canHaveAssignee}\n \"\n >\n </ng-container>\n <cds-overflow-menu-option (selected)=\"unassignAssignee()\" [disabled]=\"!obs.assigneeId\">\n {{ 'assignDocument.remove' | translate }}\n </cds-overflow-menu-option>\n </cds-overflow-menu>\n\n <cds-overflow-menu\n valtimoCdsOverflowButton\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n [width]=\"250\"\n [customTrigger]=\"customStartTrigger\"\n [offset]=\"{y: 48, x: 35}\"\n class=\"overflow-button case-detail-overflow\"\n >\n <cds-overflow-menu-option\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n (click)=\"startProcess(processDocumentDefinition)\"\n >\n {{\n (processDocumentDefinition?.id?.processDefinitionKey | translate) !==\n processDocumentDefinition?.id?.processDefinitionKey\n ? (processDocumentDefinition.id.processDefinitionKey | translate)\n : processDocumentDefinition.processName\n }}\n </cds-overflow-menu-option>\n </cds-overflow-menu>\n </div>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".main-content--no-horizontal-overflow{overflow-x:hidden}.tab-container{min-height:300px}.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}.loading-container{display:flex;justify-content:center;flex-direction:row}.dossier-detail-page-header{display:flex;width:100%;justify-content:flex-start;padding-bottom:5px}.dossier-detail-page-header ::ng-deep .cds--tag{margin:0}.case-detail-tabs{display:flex;margin-bottom:24px}.case-detail-tabs cds-tab{display:none!important}.cds--overflow-menu-options{margin-top:32px}.assign-overflow{margin-right:8px}.buttons-container{display:flex;flex-direction:row}.dossier-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:4px}.dossier-actions.--compact{padding-bottom:0;align-items:flex-start}.dossier-actions ::ng-deep .version-selection{width:160px}.dossier-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.dossier-status-assign-custom-title{display:flex;gap:16px;align-items:flex-end}.dossier-status-assign-custom-title .cds--tag{margin:0;height:var(--cds-layout-size-height-md)}.dossier-status-assign-custom-title.--compact{align-items:center}.tab-content-container{overflow:hidden;display:flex;gap:24px}\n"], dependencies: [{ kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.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.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i4.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "directive", type: i2$2.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i4.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "component", type: i4.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i4.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "directive", type: i2$2.ValtimoCdsOverflowButtonDirective, selector: "[valtimoCdsOverflowButton]", inputs: ["width"] }, { kind: "component", type: DossierDetailTaskListComponent, selector: "valtimo-dossier-detail-task-list" }, { kind: "component", type: DossierSupportingProcessStartModalComponent, selector: "valtimo-dossier-supporting-process-start-modal", outputs: ["formSubmit"] }, { kind: "component", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: ["documentId", "assigneeId", "assigneeFullName", "hasPermission"], outputs: ["assignmentOfDocumentChanged"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: TabTranslatePipe, name: "tabTranslate" }] }); }
4140
+ openWidthObserver() {
4141
+ if (!this._tabContentContainer.nativeElement)
4142
+ return;
4143
+ this._observer = new ResizeObserver(event => {
4144
+ this.observerMutation(event);
4145
+ });
4146
+ this._observer.observe(this._tabContentContainer.nativeElement);
4147
+ }
4148
+ observerMutation(event) {
4149
+ const elementWidth = event[0]?.borderBoxSize[0]?.inlineSize;
4150
+ if (typeof elementWidth === 'number' && elementWidth !== 0) {
4151
+ this.dossierDetailLayoutService.setTabContentContainerWidth(elementWidth);
4152
+ }
4153
+ }
4154
+ setDocumentStyle() {
4155
+ this.renderer.setStyle(this.htmlDocument.getElementsByTagName('html')[0], 'overflow', 'hidden', RendererStyleFlags2.Important);
4156
+ }
4157
+ removeDocumentStyle() {
4158
+ this.renderer.removeStyle(this.htmlDocument.getElementsByTagName('html')[0], 'overflow');
4159
+ }
4160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailComponent, deps: [{ token: i2$2.BreadcrumbService }, { token: i0.ComponentFactoryResolver }, { token: i1.ConfigService }, { token: i2$1.DocumentService }, { token: i4$2.KeycloakService }, { token: i1$2.NGXLogger }, { token: i6$2.PermissionService }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: DossierTabService }, { token: DossierService }, { token: i2$1.CaseStatusService }, { token: i2$2.PageTitleService }, { token: i9.IconService }, { token: i2$2.PageHeaderService }, { token: DossierDetailLayoutService }, { token: i0.Renderer2 }, { token: i10.TaskService }, { token: i2$2.CdsThemeService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
4161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DossierDetailComponent, selector: "valtimo-dossier-detail", providers: [DossierTabService, DossierDetailLayoutService], 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 }], usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n class=\"main-content\"\n [ngClass]=\"{'main-content--no-horizontal-overflow': tabHorizontalOverflowDisabled()}\"\n>\n <div class=\"container-fluid\">\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\n <div\n #tabContentContainer\n class=\"tab-content-container\"\n [ngClass]=\"{\n 'tab-content-container--dark': isDarkMode$ | async,\n }\"\n *ngIf=\"{\n noTabsConfigured: noTabsConfigured$ | async,\n showTaskList: showTaskList$ | async,\n taskOpenedInPanel: taskOpenedInPanel$ | async,\n dossierDetailLayout: dossierDetailLayout$ | async,\n } as tabContentObs\"\n >\n <as-split\n direction=\"horizontal\"\n [disabled]=\"!tabContentObs.dossierDetailLayout.widthAdjustable\"\n [gutterSize]=\"DOSSIER_DETAIL_GUTTER_SIZE\"\n [unit]=\"tabContentObs.dossierDetailLayout.unit\"\n >\n <as-split-area\n [size]=\"tabContentObs.dossierDetailLayout.leftPanelWidth\"\n [minSize]=\"tabContentObs.dossierDetailLayout.leftPanelMinWidth\"\n [maxSize]=\"tabContentObs.dossierDetailLayout.leftPanelMaxWidth\"\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.noTabsConfigured\"\n [description]=\"'dossier.tabs.noResultsDescription' | translate\"\n [title]=\"'dossier.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.dossierDetailLayout.showRightPanel\"\n [size]=\"tabContentObs.dossierDetailLayout.rightPanelWidth\"\n [minSize]=\"tabContentObs.dossierDetailLayout.rightPanelMinWidth\"\n [maxSize]=\"tabContentObs.dossierDetailLayout.rightPanelMaxWidth\"\n >\n @if (tabContentObs.showTaskList) {\n <div class=\"task-panel\">\n @if (!tabContentObs.taskOpenedInPanel) {\n <valtimo-dossier-detail-task-list\n [openInTaskModal]=\"openTaskInModal$ | async\"\n (taskClickEvent)=\"onTaskClickEvent($event)\"\n ></valtimo-dossier-detail-task-list>\n }\n\n @if (tabContentObs.taskOpenedInPanel) {\n <valtimo-dossier-detail-task-detail\n [task]=\"tabContentObs.taskOpenedInPanel\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (closeEvent)=\"onTaskDetailsClose()\"\n (formSubmit)=\"onFormSubmitEvent()\"\n >\n </valtimo-dossier-detail-task-detail>\n }\n </div>\n }\n </as-split-area>\n </as-split>\n </div>\n </div>\n\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-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 <div class=\"row\" *ngIf=\"(customDossierHeaderItems || []).length > 0\">\n <span\n *ngFor=\"let item of customDossierHeaderItems\"\n [ngClass]=\"{\n h1: item.textSize === 'xl',\n h2: item.textSize === 'lg',\n h3: item.textSize === 'md',\n h4: item.textSize === 'sm',\n h5: item.textSize === 'xs',\n }\"\n class=\"mb-0 mt-0 align-self-end col-xl-{{ item.columnSize }} col-lg-{{\n item.columnSize * 2\n }} {{ item.customClass }}\"\n >\n <span *ngIf=\"item.label\">{{ item.label | translate }}</span>\n\n <span *ngIf=\"item.label && item.value\">: </span>\n\n <strong>{{ item.value }}</strong>\n </span>\n </div>\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-dossier-assign-user\n *ngIf=\"canAssignLoaded$ | async\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n [assigneeId]=\"document.assigneeId\"\n [documentId]=\"document.id\"\n [hasPermission]=\"canAssign\"\n (assignmentOfDocumentChanged)=\"assignmentOfDocumentChanged()\"\n ></valtimo-dossier-assign-user>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canClaim=\"canClaim\" let-canHaveAssignee=\"canHaveAssignee\">\n <cds-overflow-menu-option\n *ngIf=\"canClaim && canHaveAssignee\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n (click)=\"claimAssignee()\"\n >\n <span>{{ 'dossier.claimAssigneeCase' | translate }}</span>\n </cds-overflow-menu-option>\n</ng-template>\n\n<ng-template #customStartTrigger>\n <button\n [size]=\"(compactMode$ | async) ? 'sm' : 'lg'\"\n cdsButton=\"primary\"\n [disabled]=\"processDocumentDefinitions.length === 0\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n >\n {{ 'dossier.startSubProcess' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"chevron--down\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"dossier-actions\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n *ngIf=\"{\n assigneeId: assigneeId$ | async,\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n document: document$ | async,\n caseStatus: caseStatus$ | async,\n } as obs\"\n >\n <div\n class=\"dossier-status-assign-custom-title\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n @if (obs.caseStatus) {\n <cds-tag size=\"sm\" [type]=\"obs.caseStatus.tagType\">{{ obs.caseStatus.title }}</cds-tag>\n }\n\n <div class=\"dossier-assign-user\" [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 <cds-overflow-menu\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n *ngIf=\"obs.canHaveAssignee\"\n flip=\"true\"\n [offset]=\"(compactMode$ | async) ? {y: 48, x: -4} : {y: 48, x: 4}\"\n class=\"overflow-button assign-overflow\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n claimButton;\n context: {canClaim: obs.canClaim, canHaveAssignee: obs.canHaveAssignee}\n \"\n >\n </ng-container>\n <cds-overflow-menu-option (selected)=\"unassignAssignee()\" [disabled]=\"!obs.assigneeId\">\n {{ 'assignDocument.remove' | translate }}\n </cds-overflow-menu-option>\n </cds-overflow-menu>\n\n <cds-overflow-menu\n valtimoCdsOverflowButton\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n [width]=\"250\"\n [customTrigger]=\"customStartTrigger\"\n [offset]=\"{y: 48, x: 35}\"\n class=\"overflow-button case-detail-overflow\"\n >\n <cds-overflow-menu-option\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n (click)=\"startProcess(processDocumentDefinition)\"\n >\n {{\n (processDocumentDefinition?.id?.processDefinitionKey | translate) !==\n processDocumentDefinition?.id?.processDefinitionKey\n ? (processDocumentDefinition.id.processDefinitionKey | translate)\n : processDocumentDefinition.processName\n }}\n </cds-overflow-menu-option>\n </cds-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;max-height:calc(100vh - 248px)}.tab-container--compact{max-height:calc(100vh - 208px)}.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}.loading-container{display:flex;justify-content:center;flex-direction:row}.dossier-detail-page-header{display:flex;width:100%;justify-content:flex-start;padding-bottom:5px}.dossier-detail-page-header ::ng-deep .cds--tag{margin:0}.case-detail-tabs{display:flex;margin-bottom:24px}.case-detail-tabs cds-tab{display:none!important}.cds--overflow-menu-options{margin-top:32px}.assign-overflow{margin-right:8px}.buttons-container{display:flex;flex-direction:row}.dossier-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:4px}.dossier-actions.--compact{padding-bottom:0;align-items:flex-start}.dossier-actions ::ng-deep .version-selection{width:160px}.dossier-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.dossier-status-assign-custom-title{display:flex;gap:16px;align-items:flex-end}.dossier-status-assign-custom-title .cds--tag{margin:0;height:var(--cds-layout-size-height-md)}.dossier-status-assign-custom-title.--compact{align-items:center}.tab-content-container{overflow:hidden;display:flex;gap:32px;overflow:auto;margin-bottom:16px}.task-panel{width:100%;transition:height .15s ease-in-out}.container-fluid{height:100%}::ng-deep .tab-content-container .as-split-gutter{background-color:transparent!important;--_as-gutter-icon-disabled: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/wcAAgEBAYcDngAAAAAASUVORK5CYII=);--_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=)}\n"], dependencies: [{ kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.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: i9.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i9.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i9.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i9.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i9.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: i2$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "directive", type: i2$2.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i9.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class"] }, { kind: "component", type: i9.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i9.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "directive", type: i2$2.ValtimoCdsOverflowButtonDirective, selector: "[valtimoCdsOverflowButton]", inputs: ["width"] }, { kind: "component", type: DossierDetailTaskListComponent, selector: "valtimo-dossier-detail-task-list", inputs: ["openInTaskModal"], outputs: ["taskClickEvent"] }, { kind: "component", type: DossierDetailsTaskDetailComponent, selector: "valtimo-dossier-detail-task-detail", inputs: ["task"], outputs: ["closeEvent", "assignmentOfTaskChanged", "activeChange", "formSubmit"] }, { kind: "component", type: i15.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: i15.SplitAreaComponent, selector: "as-split-area", inputs: ["size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "component", type: DossierSupportingProcessStartModalComponent, selector: "valtimo-dossier-supporting-process-start-modal", outputs: ["formSubmit"] }, { kind: "component", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: ["documentId", "assigneeId", "assigneeFullName", "hasPermission"], outputs: ["assignmentOfDocumentChanged"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: TabTranslatePipe, name: "tabTranslate" }] }); }
3850
4162
  }
3851
4163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierDetailComponent, decorators: [{
3852
4164
  type: Component,
3853
- args: [{ selector: 'valtimo-dossier-detail', providers: [DossierTabService], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n class=\"main-content\"\n [ngClass]=\"{'main-content--no-horizontal-overflow': tabHorizontalOverflowDisabled()}\"\n>\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n <ng-template #tabs>\n <ng-container *ngIf=\"tabLoader\">\n <cds-tabs type=\"inline\" class=\"case-detail-tabs\">\n <cds-tab\n *ngFor=\"let tab of tabLoader.tabs\"\n [active]=\"tab.isActive()\"\n heading=\"{{ tab | tabTranslate | async }}\"\n [id]=\"\"\n (selected)=\"tabLoader.load(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n </ng-template>\n\n <div class=\"tab-content-container\">\n <div class=\"card-body bg-white p-5 position-relative tab-container\">\n <div *ngIf=\"loadingTabs$ | async\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <valtimo-no-results\n *ngIf=\"noTabsConfigured$ | async\"\n [description]=\"'dossier.tabs.noResultsDescription' | translate\"\n [title]=\"'dossier.tabs.noResults' | translate\"\n ></valtimo-no-results>\n\n <ng-template #tabContainer></ng-template>\n\n <div class=\"clearfix\"></div>\n </div>\n\n <div *ngIf=\"showTaskList$ | async\" class=\"tab-content-container__task-list\">\n <valtimo-dossier-detail-task-list></valtimo-dossier-detail-task-list>\n </div>\n </div>\n </div>\n\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-supporting-process-start-modal>\n </div>\n</div>\n\n<ng-template\n #caseDetailHeader\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div class=\"row\" *ngIf=\"(customDossierHeaderItems || []).length > 0\">\n <span\n *ngFor=\"let item of customDossierHeaderItems\"\n [ngClass]=\"{\n h1: item.textSize === 'xl',\n h2: item.textSize === 'lg',\n h3: item.textSize === 'md',\n h4: item.textSize === 'sm',\n h5: item.textSize === 'xs'\n }\"\n class=\"mb-0 mt-0 align-self-end col-xl-{{ item.columnSize }} col-lg-{{\n item.columnSize * 2\n }} {{ item.customClass }}\"\n >\n <span *ngIf=\"item.label\">{{ item.label | translate }}</span>\n\n <span *ngIf=\"item.label && item.value\">: </span>\n\n <strong>{{ item.value }}</strong>\n </span>\n </div>\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-dossier-assign-user\n *ngIf=\"canAssignLoaded$ | async\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n [assigneeId]=\"document.assigneeId\"\n [documentId]=\"document.id\"\n [hasPermission]=\"canAssign\"\n (assignmentOfDocumentChanged)=\"assignmentOfDocumentChanged()\"\n ></valtimo-dossier-assign-user>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canClaim=\"canClaim\" let-canHaveAssignee=\"canHaveAssignee\">\n <cds-overflow-menu-option\n *ngIf=\"canClaim && canHaveAssignee\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n (click)=\"claimAssignee()\"\n >\n <span>{{ 'dossier.claimAssigneeCase' | translate }}</span>\n </cds-overflow-menu-option>\n</ng-template>\n\n<ng-template #customStartTrigger>\n <button\n [size]=\"(compactMode$ | async) ? 'sm' : 'lg'\"\n cdsButton=\"primary\"\n [disabled]=\"processDocumentDefinitions.length === 0\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n >\n {{ 'dossier.startSubProcess' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"chevron--down\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"dossier-actions\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n *ngIf=\"{\n assigneeId: assigneeId$ | async,\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n document: document$ | async,\n caseStatus: caseStatus$ | async\n } as obs\"\n >\n <div\n class=\"dossier-status-assign-custom-title\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n @if (obs.caseStatus) {\n <cds-tag size=\"sm\" [type]=\"obs.caseStatus.tagType\">{{ obs.caseStatus.title }}</cds-tag>\n }\n\n <div class=\"dossier-assign-user\" [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 <cds-overflow-menu\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n *ngIf=\"obs.canHaveAssignee\"\n flip=\"true\"\n [offset]=\"(compactMode$ | async) ? {y: 48, x: -4} : {y: 48, x: 4}\"\n class=\"overflow-button assign-overflow\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n claimButton;\n context: {canClaim: obs.canClaim, canHaveAssignee: obs.canHaveAssignee}\n \"\n >\n </ng-container>\n <cds-overflow-menu-option (selected)=\"unassignAssignee()\" [disabled]=\"!obs.assigneeId\">\n {{ 'assignDocument.remove' | translate }}\n </cds-overflow-menu-option>\n </cds-overflow-menu>\n\n <cds-overflow-menu\n valtimoCdsOverflowButton\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n [width]=\"250\"\n [customTrigger]=\"customStartTrigger\"\n [offset]=\"{y: 48, x: 35}\"\n class=\"overflow-button case-detail-overflow\"\n >\n <cds-overflow-menu-option\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n (click)=\"startProcess(processDocumentDefinition)\"\n >\n {{\n (processDocumentDefinition?.id?.processDefinitionKey | translate) !==\n processDocumentDefinition?.id?.processDefinitionKey\n ? (processDocumentDefinition.id.processDefinitionKey | translate)\n : processDocumentDefinition.processName\n }}\n </cds-overflow-menu-option>\n </cds-overflow-menu>\n </div>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".main-content--no-horizontal-overflow{overflow-x:hidden}.tab-container{min-height:300px}.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}.loading-container{display:flex;justify-content:center;flex-direction:row}.dossier-detail-page-header{display:flex;width:100%;justify-content:flex-start;padding-bottom:5px}.dossier-detail-page-header ::ng-deep .cds--tag{margin:0}.case-detail-tabs{display:flex;margin-bottom:24px}.case-detail-tabs cds-tab{display:none!important}.cds--overflow-menu-options{margin-top:32px}.assign-overflow{margin-right:8px}.buttons-container{display:flex;flex-direction:row}.dossier-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:4px}.dossier-actions.--compact{padding-bottom:0;align-items:flex-start}.dossier-actions ::ng-deep .version-selection{width:160px}.dossier-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.dossier-status-assign-custom-title{display:flex;gap:16px;align-items:flex-end}.dossier-status-assign-custom-title .cds--tag{margin:0;height:var(--cds-layout-size-height-md)}.dossier-status-assign-custom-title.--compact{align-items:center}.tab-content-container{overflow:hidden;display:flex;gap:24px}\n"] }]
3854
- }], ctorParameters: () => [{ type: i2$2.BreadcrumbService }, { type: i0.ComponentFactoryResolver }, { type: i1.ConfigService }, { type: i2$1.DocumentService }, { type: i4$4.KeycloakService }, { type: i3$1.Location }, { type: i1$2.NGXLogger }, { type: i7.PermissionService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: DossierTabService }, { type: DossierService }, { type: i2$1.CaseStatusService }, { type: i2$2.PageTitleService }, { type: i4.IconService }, { type: i2$2.PageHeaderService }], propDecorators: { supportingProcessStart: [{
4165
+ args: [{ selector: 'valtimo-dossier-detail', providers: [DossierTabService, DossierDetailLayoutService], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n class=\"main-content\"\n [ngClass]=\"{'main-content--no-horizontal-overflow': tabHorizontalOverflowDisabled()}\"\n>\n <div class=\"container-fluid\">\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\n <div\n #tabContentContainer\n class=\"tab-content-container\"\n [ngClass]=\"{\n 'tab-content-container--dark': isDarkMode$ | async,\n }\"\n *ngIf=\"{\n noTabsConfigured: noTabsConfigured$ | async,\n showTaskList: showTaskList$ | async,\n taskOpenedInPanel: taskOpenedInPanel$ | async,\n dossierDetailLayout: dossierDetailLayout$ | async,\n } as tabContentObs\"\n >\n <as-split\n direction=\"horizontal\"\n [disabled]=\"!tabContentObs.dossierDetailLayout.widthAdjustable\"\n [gutterSize]=\"DOSSIER_DETAIL_GUTTER_SIZE\"\n [unit]=\"tabContentObs.dossierDetailLayout.unit\"\n >\n <as-split-area\n [size]=\"tabContentObs.dossierDetailLayout.leftPanelWidth\"\n [minSize]=\"tabContentObs.dossierDetailLayout.leftPanelMinWidth\"\n [maxSize]=\"tabContentObs.dossierDetailLayout.leftPanelMaxWidth\"\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.noTabsConfigured\"\n [description]=\"'dossier.tabs.noResultsDescription' | translate\"\n [title]=\"'dossier.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.dossierDetailLayout.showRightPanel\"\n [size]=\"tabContentObs.dossierDetailLayout.rightPanelWidth\"\n [minSize]=\"tabContentObs.dossierDetailLayout.rightPanelMinWidth\"\n [maxSize]=\"tabContentObs.dossierDetailLayout.rightPanelMaxWidth\"\n >\n @if (tabContentObs.showTaskList) {\n <div class=\"task-panel\">\n @if (!tabContentObs.taskOpenedInPanel) {\n <valtimo-dossier-detail-task-list\n [openInTaskModal]=\"openTaskInModal$ | async\"\n (taskClickEvent)=\"onTaskClickEvent($event)\"\n ></valtimo-dossier-detail-task-list>\n }\n\n @if (tabContentObs.taskOpenedInPanel) {\n <valtimo-dossier-detail-task-detail\n [task]=\"tabContentObs.taskOpenedInPanel\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (closeEvent)=\"onTaskDetailsClose()\"\n (formSubmit)=\"onFormSubmitEvent()\"\n >\n </valtimo-dossier-detail-task-detail>\n }\n </div>\n }\n </as-split-area>\n </as-split>\n </div>\n </div>\n\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-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 <div class=\"row\" *ngIf=\"(customDossierHeaderItems || []).length > 0\">\n <span\n *ngFor=\"let item of customDossierHeaderItems\"\n [ngClass]=\"{\n h1: item.textSize === 'xl',\n h2: item.textSize === 'lg',\n h3: item.textSize === 'md',\n h4: item.textSize === 'sm',\n h5: item.textSize === 'xs',\n }\"\n class=\"mb-0 mt-0 align-self-end col-xl-{{ item.columnSize }} col-lg-{{\n item.columnSize * 2\n }} {{ item.customClass }}\"\n >\n <span *ngIf=\"item.label\">{{ item.label | translate }}</span>\n\n <span *ngIf=\"item.label && item.value\">: </span>\n\n <strong>{{ item.value }}</strong>\n </span>\n </div>\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-dossier-assign-user\n *ngIf=\"canAssignLoaded$ | async\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n [assigneeId]=\"document.assigneeId\"\n [documentId]=\"document.id\"\n [hasPermission]=\"canAssign\"\n (assignmentOfDocumentChanged)=\"assignmentOfDocumentChanged()\"\n ></valtimo-dossier-assign-user>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canClaim=\"canClaim\" let-canHaveAssignee=\"canHaveAssignee\">\n <cds-overflow-menu-option\n *ngIf=\"canClaim && canHaveAssignee\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n (click)=\"claimAssignee()\"\n >\n <span>{{ 'dossier.claimAssigneeCase' | translate }}</span>\n </cds-overflow-menu-option>\n</ng-template>\n\n<ng-template #customStartTrigger>\n <button\n [size]=\"(compactMode$ | async) ? 'sm' : 'lg'\"\n cdsButton=\"primary\"\n [disabled]=\"processDocumentDefinitions.length === 0\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n >\n {{ 'dossier.startSubProcess' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"chevron--down\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"dossier-actions\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n *ngIf=\"{\n assigneeId: assigneeId$ | async,\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n document: document$ | async,\n caseStatus: caseStatus$ | async,\n } as obs\"\n >\n <div\n class=\"dossier-status-assign-custom-title\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n @if (obs.caseStatus) {\n <cds-tag size=\"sm\" [type]=\"obs.caseStatus.tagType\">{{ obs.caseStatus.title }}</cds-tag>\n }\n\n <div class=\"dossier-assign-user\" [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 <cds-overflow-menu\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n *ngIf=\"obs.canHaveAssignee\"\n flip=\"true\"\n [offset]=\"(compactMode$ | async) ? {y: 48, x: -4} : {y: 48, x: 4}\"\n class=\"overflow-button assign-overflow\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n claimButton;\n context: {canClaim: obs.canClaim, canHaveAssignee: obs.canHaveAssignee}\n \"\n >\n </ng-container>\n <cds-overflow-menu-option (selected)=\"unassignAssignee()\" [disabled]=\"!obs.assigneeId\">\n {{ 'assignDocument.remove' | translate }}\n </cds-overflow-menu-option>\n </cds-overflow-menu>\n\n <cds-overflow-menu\n valtimoCdsOverflowButton\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n [width]=\"250\"\n [customTrigger]=\"customStartTrigger\"\n [offset]=\"{y: 48, x: 35}\"\n class=\"overflow-button case-detail-overflow\"\n >\n <cds-overflow-menu-option\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n (click)=\"startProcess(processDocumentDefinition)\"\n >\n {{\n (processDocumentDefinition?.id?.processDefinitionKey | translate) !==\n processDocumentDefinition?.id?.processDefinitionKey\n ? (processDocumentDefinition.id.processDefinitionKey | translate)\n : processDocumentDefinition.processName\n }}\n </cds-overflow-menu-option>\n </cds-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;max-height:calc(100vh - 248px)}.tab-container--compact{max-height:calc(100vh - 208px)}.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}.loading-container{display:flex;justify-content:center;flex-direction:row}.dossier-detail-page-header{display:flex;width:100%;justify-content:flex-start;padding-bottom:5px}.dossier-detail-page-header ::ng-deep .cds--tag{margin:0}.case-detail-tabs{display:flex;margin-bottom:24px}.case-detail-tabs cds-tab{display:none!important}.cds--overflow-menu-options{margin-top:32px}.assign-overflow{margin-right:8px}.buttons-container{display:flex;flex-direction:row}.dossier-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:4px}.dossier-actions.--compact{padding-bottom:0;align-items:flex-start}.dossier-actions ::ng-deep .version-selection{width:160px}.dossier-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.dossier-status-assign-custom-title{display:flex;gap:16px;align-items:flex-end}.dossier-status-assign-custom-title .cds--tag{margin:0;height:var(--cds-layout-size-height-md)}.dossier-status-assign-custom-title.--compact{align-items:center}.tab-content-container{overflow:hidden;display:flex;gap:32px;overflow:auto;margin-bottom:16px}.task-panel{width:100%;transition:height .15s ease-in-out}.container-fluid{height:100%}::ng-deep .tab-content-container .as-split-gutter{background-color:transparent!important;--_as-gutter-icon-disabled: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/wcAAgEBAYcDngAAAAAASUVORK5CYII=);--_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=)}\n"] }]
4166
+ }], ctorParameters: () => [{ type: i2$2.BreadcrumbService }, { type: i0.ComponentFactoryResolver }, { type: i1.ConfigService }, { type: i2$1.DocumentService }, { type: i4$2.KeycloakService }, { type: i1$2.NGXLogger }, { type: i6$2.PermissionService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: DossierTabService }, { type: DossierService }, { type: i2$1.CaseStatusService }, { type: i2$2.PageTitleService }, { type: i9.IconService }, { type: i2$2.PageHeaderService }, { type: DossierDetailLayoutService }, { type: i0.Renderer2 }, { type: i10.TaskService }, { type: i2$2.CdsThemeService }, { type: Document, decorators: [{
4167
+ type: Inject,
4168
+ args: [DOCUMENT]
4169
+ }] }], propDecorators: { supportingProcessStart: [{
3855
4170
  type: ViewChild,
3856
4171
  args: ['supportingProcessStartModal']
3857
4172
  }], viewContainerRef: [{
3858
4173
  type: ViewChild,
3859
4174
  args: ['tabContainer', { read: ViewContainerRef }]
4175
+ }], _tabContentContainer: [{
4176
+ type: ViewChild,
4177
+ args: ['tabContentContainer']
3860
4178
  }] } });
3861
4179
 
3862
4180
  /*
@@ -3875,7 +4193,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3875
4193
  * limitations under the License.
3876
4194
  */
3877
4195
  class DossierProcessStartModalComponent {
3878
- constructor(route, router, processService, documentService, processLinkService, formFlowService, userProviderService, permissionService, listService, startModalService, configService, formViewModel) {
4196
+ constructor(route, router, processService, documentService, processLinkService, formFlowService, userProviderService, permissionService, listService, startModalService, configService, formViewModel, urlResolverService) {
3879
4197
  this.route = route;
3880
4198
  this.router = router;
3881
4199
  this.processService = processService;
@@ -3888,6 +4206,7 @@ class DossierProcessStartModalComponent {
3888
4206
  this.startModalService = startModalService;
3889
4207
  this.configService = configService;
3890
4208
  this.formViewModel = formViewModel;
4209
+ this.urlResolverService = urlResolverService;
3891
4210
  this.isFormViewModel = false;
3892
4211
  this.formFlowComplete = new EventEmitter();
3893
4212
  this._subscriptions = new Subscription();
@@ -3919,10 +4238,12 @@ class DossierProcessStartModalComponent {
3919
4238
  this.formDefinition = startProcessResult.properties.prefilledForm;
3920
4239
  this.processLinkId = startProcessResult.processLinkId;
3921
4240
  this.isFormViewModel = false;
4241
+ this.modal.show();
3922
4242
  break;
3923
4243
  case 'form-flow':
3924
4244
  this.formFlowInstanceId = startProcessResult.properties.formFlowInstanceId;
3925
4245
  this.isFormViewModel = false;
4246
+ this.modal.show();
3926
4247
  break;
3927
4248
  case 'form-view-model':
3928
4249
  this.formDefinition = startProcessResult.properties.formDefinition;
@@ -3930,10 +4251,22 @@ class DossierProcessStartModalComponent {
3930
4251
  this.processLinkId = startProcessResult.processLinkId;
3931
4252
  this.isFormViewModel = true;
3932
4253
  this.setFormViewModelComponent();
4254
+ this.modal.show();
4255
+ break;
4256
+ case 'url':
4257
+ this.processLinkId = startProcessResult.processLinkId;
4258
+ this.processLinkService.getVariables()
4259
+ .pipe(take$1(1))
4260
+ .subscribe(variables => {
4261
+ let url = this.urlResolverService.resolveUrlVariables(startProcessResult.properties.url, variables.variables);
4262
+ window.open(url, '_blank').focus();
4263
+ this.processLinkService.submitURLProcessLink(this.processLinkId).subscribe(result => {
4264
+ this.submitCompleted(result);
4265
+ });
4266
+ });
3933
4267
  break;
3934
4268
  }
3935
4269
  }
3936
- this.modal.show();
3937
4270
  });
3938
4271
  }
3939
4272
  gotoProcessLinkScreen() {
@@ -4017,18 +4350,18 @@ class DossierProcessStartModalComponent {
4017
4350
  this.modal.hide();
4018
4351
  }));
4019
4352
  }
4020
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierProcessStartModalComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2$3.ProcessService }, { token: i2$1.DocumentService }, { token: i4$2.ProcessLinkService }, { token: i4$2.FormFlowService }, { token: i4$3.UserProviderService }, { token: i7.PermissionService }, { token: DossierListService }, { token: StartModalService }, { token: i1.ConfigService }, { token: FORM_VIEW_MODEL_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
4021
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierProcessStartModalComponent, selector: "valtimo-dossier-process-start-modal", outputs: { formFlowComplete: "formFlowComplete" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "modal", first: true, predicate: ["processStartModal"], descendants: true }, { propertyName: "formViewModelDynamicContainer", first: true, predicate: ["formViewModelComponent"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF 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-modal #processStartModal elementId=\"processStartModal\" [title]=\"modalTitle\">\n <div body *ngIf=\"formDefinition && !isFormViewModel\">\n <valtimo-form-io #form [form]=\"formDefinition\" [options]=\"options\" (submit)=\"onSubmit($event)\">\n </valtimo-form-io>\n </div>\n <div body>\n <ng-template #formViewModelComponent></ng-template>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && isAdmin\">\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 </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && !isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n </div>\n</valtimo-modal>\n", styles: ["#processStartModal .formio-component-submit{text-align:right}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i2$2.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4$2.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
4353
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierProcessStartModalComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2$3.ProcessService }, { token: i2$1.DocumentService }, { token: i4$1.ProcessLinkService }, { token: i4$1.FormFlowService }, { token: i5.UserProviderService }, { token: i6$2.PermissionService }, { token: DossierListService }, { token: StartModalService }, { token: i1.ConfigService }, { token: FORM_VIEW_MODEL_TOKEN, optional: true }, { token: i4$1.UrlResolverService }], target: i0.ɵɵFactoryTarget.Component }); }
4354
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierProcessStartModalComponent, selector: "valtimo-dossier-process-start-modal", outputs: { formFlowComplete: "formFlowComplete" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "modal", first: true, predicate: ["processStartModal"], descendants: true }, { propertyName: "formViewModelDynamicContainer", first: true, predicate: ["formViewModelComponent"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF 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-modal #processStartModal elementId=\"processStartModal\" [title]=\"modalTitle\">\n <div body *ngIf=\"formDefinition && !isFormViewModel\">\n <valtimo-form-io #form [form]=\"formDefinition\" [options]=\"options\" (submit)=\"onSubmit($event)\">\n </valtimo-form-io>\n </div>\n <div body>\n <ng-template #formViewModelComponent></ng-template>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && isAdmin\">\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 </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && !isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n </div>\n</valtimo-modal>\n", styles: ["#processStartModal .formio-component-submit{text-align:right}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i2$2.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4$1.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
4022
4355
  }
4023
4356
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierProcessStartModalComponent, decorators: [{
4024
4357
  type: Component,
4025
4358
  args: [{ selector: 'valtimo-dossier-process-start-modal', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF 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-modal #processStartModal elementId=\"processStartModal\" [title]=\"modalTitle\">\n <div body *ngIf=\"formDefinition && !isFormViewModel\">\n <valtimo-form-io #form [form]=\"formDefinition\" [options]=\"options\" (submit)=\"onSubmit($event)\">\n </valtimo-form-io>\n </div>\n <div body>\n <ng-template #formViewModelComponent></ng-template>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && isAdmin\">\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 </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && !isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n </div>\n</valtimo-modal>\n", styles: ["#processStartModal .formio-component-submit{text-align:right}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
4026
- }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$3.ProcessService }, { type: i2$1.DocumentService }, { type: i4$2.ProcessLinkService }, { type: i4$2.FormFlowService }, { type: i4$3.UserProviderService }, { type: i7.PermissionService }, { type: DossierListService }, { type: StartModalService }, { type: i1.ConfigService }, { type: undefined, decorators: [{
4359
+ }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$3.ProcessService }, { type: i2$1.DocumentService }, { type: i4$1.ProcessLinkService }, { type: i4$1.FormFlowService }, { type: i5.UserProviderService }, { type: i6$2.PermissionService }, { type: DossierListService }, { type: StartModalService }, { type: i1.ConfigService }, { type: undefined, decorators: [{
4027
4360
  type: Optional
4028
4361
  }, {
4029
4362
  type: Inject,
4030
4363
  args: [FORM_VIEW_MODEL_TOKEN]
4031
- }] }], propDecorators: { form: [{
4364
+ }] }, { type: i4$1.UrlResolverService }], propDecorators: { form: [{
4032
4365
  type: ViewChild,
4033
4366
  args: ['form', { static: false }]
4034
4367
  }], modal: [{
@@ -4488,7 +4821,7 @@ class DossierListComponent {
4488
4821
  title: `dossier.noResults.${this.activeTab ?? 'ALL'}.title`,
4489
4822
  });
4490
4823
  }
4491
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierListComponent, deps: [{ token: DossierListAssigneeService }, { token: i2$2.BreadcrumbService }, { token: DossierBulkAssignService }, { token: DossierColumnService }, { token: i1.ConfigService }, { token: i2$1.DocumentService }, { token: DossierListService }, { token: i2$2.PageTitleService }, { token: DossierListPaginationService }, { token: DossierParameterService }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: DossierListSearchService }, { token: i6.TranslateService }, { token: i7.PermissionService }, { token: DossierListStatusService }], target: i0.ɵɵFactoryTarget.Component }); }
4824
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierListComponent, deps: [{ token: DossierListAssigneeService }, { token: i2$2.BreadcrumbService }, { token: DossierBulkAssignService }, { token: DossierColumnService }, { token: i1.ConfigService }, { token: i2$1.DocumentService }, { token: DossierListService }, { token: i2$2.PageTitleService }, { token: DossierListPaginationService }, { token: DossierParameterService }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: DossierListSearchService }, { token: i6.TranslateService }, { token: i6$2.PermissionService }, { token: DossierListStatusService }], target: i0.ɵɵFactoryTarget.Component }); }
4492
4825
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierListComponent, selector: "valtimo-dossier-list", providers: [
4493
4826
  DossierListService,
4494
4827
  DossierColumnService,
@@ -4497,7 +4830,7 @@ class DossierListComponent {
4497
4830
  DossierListPaginationService,
4498
4831
  DossierListSearchService,
4499
4832
  DossierListStatusService,
4500
- ], viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }, { propertyName: "listActionsComponent", first: true, predicate: DossierListActionsComponent, descendants: true }, { propertyName: "tabsComponent", first: true, predicate: Tabs, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 fields: fields$ | async,\n documentItems: documentItems$ | async,\n noResultsMessage: noResultsMessage$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedDocumentIds: selectedDocumentIds$ | async,\n statuses: statuses$ | async,\n selectedStatuses: selectedStatuses$ | async,\n showStatusSelector: showStatusSelector$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changeTabModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatuses]=\"obs.selectedStatuses\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n </valtimo-search-fields>\n </div>\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 paginationIdentifier=\"dossierList\"\n lockedTooltipTranslationKey=\"dossier.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 {{ 'dossier.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"dossierListActions\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : dossierListActions\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs\n *ngIf=\"!visibleDossierTabs; else configuredTabs\"\n type=\"contained\"\n class=\"dossier-list-tabs\"\n >\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs type=\"contained\" class=\"dossier-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleDossierTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #loading\n ><valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div> </valtimo-carbon-list\n></ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-dossier-bulk-assign-modal\n [documentIds]=\"obs.selectedDocumentIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event, obs.selectedDocumentIds)\"\n ></valtimo-dossier-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changePageModal.confirm\"\n contentTranslationKey=\"dossier.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"dossier.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #changeTabModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changeTabModal.confirm\"\n contentTranslationKey=\"dossier.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"dossier.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #dossierListActions>\n <button\n *ngIf=\"canCreateDocument$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startDossier()\"\n >\n {{ 'Start Dossier' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [".dossier-list-tabs cds-tab{display:none}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$2.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "documentDefinitionName", "setValuesSubject$", "clearValuesSubject$", "defaultValues", "inputDisabled", "externalSearchField"], outputs: ["doSearch"] }, { kind: "directive", type: i4.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i4.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i4.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i4.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: i2$2.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "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$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2$2.StatusSelectorComponent, selector: "valtimo-status-selector", inputs: ["statuses", "selectedStatuses", "carbonTheme", "disabled"], outputs: ["selectedStatusesChangeEvent"] }, { kind: "component", type: DossierBulkAssignModalComponent, selector: "valtimo-dossier-bulk-assign-modal", inputs: ["documentIds", "open"], outputs: ["closeEvent"] }, { kind: "component", type: DossierListActionsComponent, selector: "valtimo-dossier-list-actions", inputs: ["loading"], outputs: ["formFlowComplete", "startButtonDisableEvent"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4833
+ ], viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }, { propertyName: "listActionsComponent", first: true, predicate: DossierListActionsComponent, descendants: true }, { propertyName: "tabsComponent", first: true, predicate: Tabs, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 fields: fields$ | async,\n documentItems: documentItems$ | async,\n noResultsMessage: noResultsMessage$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedDocumentIds: selectedDocumentIds$ | async,\n statuses: statuses$ | async,\n selectedStatuses: selectedStatuses$ | async,\n showStatusSelector: showStatusSelector$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems,\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changeTabModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatuses]=\"obs.selectedStatuses\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n </valtimo-search-fields>\n </div>\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 paginationIdentifier=\"dossierList\"\n lockedTooltipTranslationKey=\"dossier.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 {{ 'dossier.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"dossierListActions\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : dossierListActions\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs\n *ngIf=\"!visibleDossierTabs; else configuredTabs\"\n type=\"contained\"\n class=\"dossier-list-tabs\"\n >\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs type=\"contained\" class=\"dossier-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleDossierTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #loading\n ><valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div> </valtimo-carbon-list\n></ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-dossier-bulk-assign-modal\n [documentIds]=\"obs.selectedDocumentIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event, obs.selectedDocumentIds)\"\n ></valtimo-dossier-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changePageModal.confirm\"\n contentTranslationKey=\"dossier.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"dossier.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #changeTabModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changeTabModal.confirm\"\n contentTranslationKey=\"dossier.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"dossier.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #dossierListActions>\n <button\n *ngIf=\"canCreateDocument$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startDossier()\"\n >\n {{ 'Start Dossier' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [".dossier-list-tabs cds-tab{display:none}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF 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: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$2.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "documentDefinitionName", "setValuesSubject$", "clearValuesSubject$", "defaultValues", "inputDisabled", "externalSearchField"], outputs: ["doSearch"] }, { kind: "directive", type: i9.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i9.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i9.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i9.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: i2$2.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "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$2.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2$2.StatusSelectorComponent, selector: "valtimo-status-selector", inputs: ["statuses", "selectedStatuses", "carbonTheme", "disabled"], outputs: ["selectedStatusesChangeEvent"] }, { kind: "component", type: DossierBulkAssignModalComponent, selector: "valtimo-dossier-bulk-assign-modal", inputs: ["documentIds", "open"], outputs: ["closeEvent"] }, { kind: "component", type: DossierListActionsComponent, selector: "valtimo-dossier-list-actions", inputs: ["loading"], outputs: ["formFlowComplete", "startButtonDisableEvent"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
4501
4834
  }
4502
4835
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierListComponent, decorators: [{
4503
4836
  type: Component,
@@ -4509,8 +4842,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4509
4842
  DossierListPaginationService,
4510
4843
  DossierListSearchService,
4511
4844
  DossierListStatusService,
4512
- ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 fields: fields$ | async,\n documentItems: documentItems$ | async,\n noResultsMessage: noResultsMessage$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedDocumentIds: selectedDocumentIds$ | async,\n statuses: statuses$ | async,\n selectedStatuses: selectedStatuses$ | async,\n showStatusSelector: showStatusSelector$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changeTabModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatuses]=\"obs.selectedStatuses\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n </valtimo-search-fields>\n </div>\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 paginationIdentifier=\"dossierList\"\n lockedTooltipTranslationKey=\"dossier.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 {{ 'dossier.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"dossierListActions\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : dossierListActions\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs\n *ngIf=\"!visibleDossierTabs; else configuredTabs\"\n type=\"contained\"\n class=\"dossier-list-tabs\"\n >\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs type=\"contained\" class=\"dossier-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleDossierTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #loading\n ><valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div> </valtimo-carbon-list\n></ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-dossier-bulk-assign-modal\n [documentIds]=\"obs.selectedDocumentIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event, obs.selectedDocumentIds)\"\n ></valtimo-dossier-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changePageModal.confirm\"\n contentTranslationKey=\"dossier.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"dossier.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #changeTabModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changeTabModal.confirm\"\n contentTranslationKey=\"dossier.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"dossier.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #dossierListActions>\n <button\n *ngIf=\"canCreateDocument$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startDossier()\"\n >\n {{ 'Start Dossier' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [".dossier-list-tabs cds-tab{display:none}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
4513
- }], ctorParameters: () => [{ type: DossierListAssigneeService }, { type: i2$2.BreadcrumbService }, { type: DossierBulkAssignService }, { type: DossierColumnService }, { type: i1.ConfigService }, { type: i2$1.DocumentService }, { type: DossierListService }, { type: i2$2.PageTitleService }, { type: DossierListPaginationService }, { type: DossierParameterService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: DossierListSearchService }, { type: i6.TranslateService }, { type: i7.PermissionService }, { type: DossierListStatusService }], propDecorators: { carbonList: [{
4845
+ ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 fields: fields$ | async,\n documentItems: documentItems$ | async,\n noResultsMessage: noResultsMessage$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedDocumentIds: selectedDocumentIds$ | async,\n statuses: statuses$ | async,\n selectedStatuses: selectedStatuses$ | async,\n showStatusSelector: showStatusSelector$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems,\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changeTabModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatuses]=\"obs.selectedStatuses\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n </valtimo-search-fields>\n </div>\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 paginationIdentifier=\"dossierList\"\n lockedTooltipTranslationKey=\"dossier.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 {{ 'dossier.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <ng-container *ngTemplateOutlet=\"dossierListActions\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : dossierListActions\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs\n *ngIf=\"!visibleDossierTabs; else configuredTabs\"\n type=\"contained\"\n class=\"dossier-list-tabs\"\n >\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs type=\"contained\" class=\"dossier-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleDossierTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'dossier.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #loading\n ><valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div> </valtimo-carbon-list\n></ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-dossier-bulk-assign-modal\n [documentIds]=\"obs.selectedDocumentIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event, obs.selectedDocumentIds)\"\n ></valtimo-dossier-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changePageModal.confirm\"\n contentTranslationKey=\"dossier.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"dossier.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #changeTabModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"dossier.changeTabModal.confirm\"\n contentTranslationKey=\"dossier.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"dossier.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #dossierListActions>\n <button\n *ngIf=\"canCreateDocument$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startDossier()\"\n >\n {{ 'Start Dossier' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [".dossier-list-tabs cds-tab{display:none}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
4846
+ }], ctorParameters: () => [{ type: DossierListAssigneeService }, { type: i2$2.BreadcrumbService }, { type: DossierBulkAssignService }, { type: DossierColumnService }, { type: i1.ConfigService }, { type: i2$1.DocumentService }, { type: DossierListService }, { type: i2$2.PageTitleService }, { type: DossierListPaginationService }, { type: DossierParameterService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: DossierListSearchService }, { type: i6.TranslateService }, { type: i6$2.PermissionService }, { type: DossierListStatusService }], propDecorators: { carbonList: [{
4514
4847
  type: ViewChild,
4515
4848
  args: [CarbonListComponent]
4516
4849
  }], listActionsComponent: [{
@@ -4616,13 +4949,13 @@ class DossierUpdateComponent {
4616
4949
  returnZero() {
4617
4950
  return 0;
4618
4951
  }
4619
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierUpdateComponent, deps: [{ token: i1$3.TaskService }, { token: i2$1.DocumentService }, { token: i1$1.ActivatedRoute }, { token: i3$3.ToastrService }, { token: i3$1.Location }, { token: DossierService }], target: i0.ɵɵFactoryTarget.Component }); }
4952
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierUpdateComponent, deps: [{ token: i10.TaskService }, { token: i2$1.DocumentService }, { token: i1$1.ActivatedRoute }, { token: i3$3.ToastrService }, { token: i3$1.Location }, { token: DossierService }], target: i0.ɵɵFactoryTarget.Component }); }
4620
4953
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierUpdateComponent, selector: "valtimo-dossier-update", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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: [""], dependencies: [{ kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i2$2.CamundaFormComponent, selector: "valtimo-camunda-form", inputs: ["componentName", "formFields"], outputs: ["submitted"] }, { kind: "pipe", type: i3$1.KeyValuePipe, name: "keyvalue" }] }); }
4621
4954
  }
4622
4955
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierUpdateComponent, decorators: [{
4623
4956
  type: Component,
4624
4957
  args: [{ selector: 'valtimo-dossier-update', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY 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" }]
4625
- }], ctorParameters: () => [{ type: i1$3.TaskService }, { type: i2$1.DocumentService }, { type: i1$1.ActivatedRoute }, { type: i3$3.ToastrService }, { type: i3$1.Location }, { type: DossierService }] });
4958
+ }], ctorParameters: () => [{ type: i10.TaskService }, { type: i2$1.DocumentService }, { type: i1$1.ActivatedRoute }, { type: i3$3.ToastrService }, { type: i3$1.Location }, { type: DossierService }] });
4626
4959
 
4627
4960
  /*
4628
4961
  * Copyright 2015-2024 Ritense BV, the Netherlands.
@@ -4650,6 +4983,7 @@ const routes = [
4650
4983
  path: 'dossiers/:documentDefinitionName/document/:documentId/:tab',
4651
4984
  component: DossierDetailComponent,
4652
4985
  canActivate: [AuthGuardService],
4986
+ canDeactivate: [pendingChangesGuard],
4653
4987
  data: {
4654
4988
  title: 'Dossier details',
4655
4989
  parentPath: 'dossiers/:documentDefinitionName',
@@ -4826,7 +5160,7 @@ class DossierModule {
4826
5160
  TableModule,
4827
5161
  VModalModule,
4828
5162
  TitleModule,
4829
- ButtonModule,
5163
+ ButtonModule$1,
4830
5164
  SearchableDropdownSelectModule,
4831
5165
  SearchFieldsModule,
4832
5166
  PageModule,
@@ -4835,7 +5169,7 @@ class DossierModule {
4835
5169
  FormModule$1,
4836
5170
  NgbModule,
4837
5171
  LoadingModule,
4838
- ButtonModule$1,
5172
+ ButtonModule,
4839
5173
  IconModule,
4840
5174
  ProcessLinkModule,
4841
5175
  ModalModule$1,
@@ -4854,7 +5188,9 @@ class DossierModule {
4854
5188
  DialogModule,
4855
5189
  ValtimoCdsOverflowButtonDirectiveModule,
4856
5190
  DossierDetailWidgetsComponent,
4857
- DossierDetailTaskListComponent], exports: [DossierListComponent, DossierDetailComponent] }); }
5191
+ DossierDetailTaskListComponent,
5192
+ DossierDetailsTaskDetailComponent,
5193
+ AngularSplitModule], exports: [DossierListComponent, DossierDetailComponent, DossierProcessStartModalComponent] }); }
4858
5194
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierModule, imports: [CommonModule,
4859
5195
  DossierRoutingModule,
4860
5196
  ListModule,
@@ -4892,7 +5228,7 @@ class DossierModule {
4892
5228
  TableModule,
4893
5229
  VModalModule,
4894
5230
  TitleModule,
4895
- ButtonModule,
5231
+ ButtonModule$1,
4896
5232
  SearchableDropdownSelectModule,
4897
5233
  SearchFieldsModule,
4898
5234
  PageModule,
@@ -4901,7 +5237,7 @@ class DossierModule {
4901
5237
  FormModule$1,
4902
5238
  NgbModule,
4903
5239
  LoadingModule,
4904
- ButtonModule$1,
5240
+ ButtonModule,
4905
5241
  IconModule,
4906
5242
  ProcessLinkModule,
4907
5243
  ModalModule$1,
@@ -4919,7 +5255,9 @@ class DossierModule {
4919
5255
  DialogModule,
4920
5256
  ValtimoCdsOverflowButtonDirectiveModule,
4921
5257
  DossierDetailWidgetsComponent,
4922
- DossierDetailTaskListComponent] }); }
5258
+ DossierDetailTaskListComponent,
5259
+ DossierDetailsTaskDetailComponent,
5260
+ AngularSplitModule] }); }
4923
5261
  }
4924
5262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierModule, decorators: [{
4925
5263
  type: NgModule,
@@ -4981,7 +5319,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4981
5319
  TableModule,
4982
5320
  VModalModule,
4983
5321
  TitleModule,
4984
- ButtonModule,
5322
+ ButtonModule$1,
4985
5323
  SearchableDropdownSelectModule,
4986
5324
  SearchFieldsModule,
4987
5325
  PageModule,
@@ -4990,7 +5328,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4990
5328
  FormModule$1,
4991
5329
  NgbModule,
4992
5330
  LoadingModule,
4993
- ButtonModule$1,
5331
+ ButtonModule,
4994
5332
  IconModule,
4995
5333
  ProcessLinkModule,
4996
5334
  ModalModule$1,
@@ -5010,8 +5348,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5010
5348
  ValtimoCdsOverflowButtonDirectiveModule,
5011
5349
  DossierDetailWidgetsComponent,
5012
5350
  DossierDetailTaskListComponent,
5351
+ DossierDetailsTaskDetailComponent,
5352
+ AngularSplitModule,
5013
5353
  ],
5014
- exports: [DossierListComponent, DossierDetailComponent],
5354
+ exports: [DossierListComponent, DossierDetailComponent, DossierProcessStartModalComponent],
5015
5355
  }]
5016
5356
  }] });
5017
5357
 
@@ -5038,5 +5378,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5038
5378
  * Generated bundle index. Do not edit.
5039
5379
  */
5040
5380
 
5041
- export { ApiTabType, CASE_TAB_TOKEN, CASE_WITHOUT_STATUS_STATUS, CUSTOM_CASE_WIDGET_TOKEN, CaseWidgetDisplayTypeKey, CaseWidgetType, DEFAULT_DOSSIER_LIST_TABS, DEFAULT_TABS, DEFAULT_TAB_COMPONENTS, DOSSIER_LIST_NO_RESULTS_MESSAGE, DOSSIER_LIST_TABLE_TRANSLATIONS, DefaultTabs, DossierBulkAssignModalComponent, DossierBulkAssignService, DossierColumnService, DossierDetailComponent, DossierDetailTabAuditComponent, DossierDetailTabDocumentsComponent, DossierDetailTabNotesComponent, DossierDetailTabProgressComponent, DossierDetailTabSummaryComponent, DossierListAssigneeService, DossierListComponent, DossierListPaginationService, DossierListSearchService, DossierListService, DossierListStatusService, DossierModule, DossierParameterService, DossierService, DossierTabApiService, DossierTabService, DossierWidgetsApiService, DossierWidgetsLayoutService, StartModalService, TAB_MAP, TabImpl, TabLoaderImpl, WIDGET_HEIGHT_1X, WIDGET_WIDTH_1X };
5381
+ export { ApiTabType, CASE_TAB_TOKEN, CASE_WITHOUT_STATUS_STATUS, CUSTOM_CASE_WIDGET_TOKEN, CaseWidgetDisplayTypeKey, CaseWidgetType, DEFAULT_DOSSIER_LIST_TABS, DEFAULT_TABS, DEFAULT_TAB_COMPONENTS, DOSSIER_DETAIL_DEFAULT_DISPLAY_SIZE, DOSSIER_DETAIL_DEFAULT_DISPLAY_TYPE, DOSSIER_DETAIL_GUTTER_SIZE, DOSSIER_DETAIL_LEFT_PANEL_MIN_WIDTH, DOSSIER_DETAIL_RIGHT_PANEL_MIN_WIDTHS, DOSSIER_DETAIL_TASK_LIST_WIDTH, DOSSIER_LIST_NO_RESULTS_MESSAGE, DOSSIER_LIST_TABLE_TRANSLATIONS, DefaultTabs, DossierBulkAssignModalComponent, DossierBulkAssignService, DossierColumnService, DossierDetailComponent, DossierDetailLayoutService, DossierDetailTabAuditComponent, DossierDetailTabDocumentsComponent, DossierDetailTabNotesComponent, DossierDetailTabProgressComponent, DossierDetailTabSummaryComponent, DossierListAssigneeService, DossierListComponent, DossierListPaginationService, DossierListSearchService, DossierListService, DossierListStatusService, DossierModule, DossierParameterService, DossierProcessStartModalComponent, DossierService, DossierTabApiService, DossierTabService, DossierWidgetsApiService, DossierWidgetsLayoutService, StartModalService, TAB_MAP, TabImpl, TabLoaderImpl, WIDGET_HEIGHT_1X, WIDGET_WIDTH_1X };
5042
5382
  //# sourceMappingURL=valtimo-dossier.mjs.map