@valtimo/case 13.22.0 → 13.23.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.
- package/fesm2022/valtimo-case.mjs +837 -655
- package/fesm2022/valtimo-case.mjs.map +1 -1
- package/lib/case.module.d.ts +25 -24
- package/lib/case.module.d.ts.map +1 -1
- package/lib/components/case-bulk-assign-modal/case-bulk-assign-modal.component.d.ts +5 -1
- package/lib/components/case-bulk-assign-modal/case-bulk-assign-modal.component.d.ts.map +1 -1
- package/lib/components/case-detail/case-detail.component.d.ts +5 -1
- package/lib/components/case-detail/case-detail.component.d.ts.map +1 -1
- package/lib/components/case-detail-task-detail/case-detail-task-detail.component.d.ts +11 -5
- package/lib/components/case-detail-task-detail/case-detail-task-detail.component.d.ts.map +1 -1
- package/lib/components/case-list/case-list.component.d.ts +25 -70
- package/lib/components/case-list/case-list.component.d.ts.map +1 -1
- package/lib/components/case-list-tabs/case-list-tabs.component.d.ts +24 -0
- package/lib/components/case-list-tabs/case-list-tabs.component.d.ts.map +1 -0
- package/lib/components/case-list-toolbar/case-list-toolbar.component.d.ts +19 -0
- package/lib/components/case-list-toolbar/case-list-toolbar.component.d.ts.map +1 -0
- package/lib/constants/case-list.constants.d.ts.map +1 -1
- package/lib/models/candidate-user.model.d.ts +2 -1
- package/lib/models/candidate-user.model.d.ts.map +1 -1
- package/lib/services/case-bulk-assign.service.d.ts +1 -1
- package/lib/services/case-bulk-assign.service.d.ts.map +1 -1
- package/lib/services/case-list-orchestration.service.d.ts +88 -0
- package/lib/services/case-list-orchestration.service.d.ts.map +1 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/lib/components/case-assign-user/case-assign-user.component.d.ts +0 -41
- package/lib/components/case-assign-user/case-assign-user.component.d.ts.map +0 -1
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, ViewEncapsulation, Component, EventEmitter, Output, ViewContainerRef, ViewChild, HostBinding, Optional, Inject, Input, ChangeDetectionStrategy, InjectionToken, signal, Pipe, NgModule } from '@angular/core';
|
|
3
|
-
import * as i1$4 from '@angular/forms';
|
|
4
|
-
import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
2
|
+
import { Injectable, ViewEncapsulation, Component, EventEmitter, Output, ViewContainerRef, ViewChild, HostBinding, Optional, Inject, Input, ChangeDetectionStrategy, InjectionToken, signal, Pipe, inject, NgModule } from '@angular/core';
|
|
5
3
|
import { map, distinctUntilChanged, BehaviorSubject, take, combineLatest, Subject, switchMap, tap, filter, Subscription, startWith, forkJoin, of, catchError as catchError$1, shareReplay, first, fromEvent, from, debounceTime, defaultIfEmpty } from 'rxjs';
|
|
6
4
|
import * as i1 from '@valtimo/shared';
|
|
7
5
|
import { UploadProvider, ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN, CaseListTab, TagColor, BaseApiService, ZGW_OBJECT_TYPE_COMPONENT_TOKEN, InterceptorSkip, FORM_VIEW_MODEL_TOKEN, ROLE_USER, ConfigModule, HttpLoaderFactory } from '@valtimo/shared';
|
|
8
6
|
import * as i1$1 from '@angular/common/http';
|
|
9
7
|
import { HttpHeaders, HttpClient } from '@angular/common/http';
|
|
10
8
|
import * as i2 from '@valtimo/document';
|
|
11
|
-
import { InternalCaseStatusUtils, CaseTagsUtils
|
|
9
|
+
import { AdvancedDocumentSearchRequestImpl, InternalCaseStatusUtils, CaseTagsUtils } from '@valtimo/document';
|
|
12
10
|
import * as i4 from '@ngx-translate/core';
|
|
13
11
|
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
14
12
|
import * as i1$2 from '@angular/router';
|
|
15
13
|
import { NavigationStart, RouterModule } from '@angular/router';
|
|
16
14
|
import * as i1$3 from 'ngx-logger';
|
|
17
15
|
import * as i2$1 from '@valtimo/components';
|
|
18
|
-
import { FormioOptionsImpl, TimelineItemImpl, CASES_WITHOUT_STATUS_KEY, CarbonListModule, EllipsisPipe, FormIoModule, WidgetModule, CurrentCarbonTheme, CARBON_THEME, ObserveSizeDirective, ValtimoCdsModalDirective, RenderInBodyComponent,
|
|
16
|
+
import { FormioOptionsImpl, TimelineItemImpl, CASES_WITHOUT_STATUS_KEY, CarbonListModule, EllipsisPipe, FormIoModule, ViewType, QUICK_SEARCH_SERVICE, WidgetModule, AssignmentComponent, CurrentCarbonTheme, CARBON_THEME, ObserveSizeDirective, ValtimoCdsModalDirective, RenderInBodyComponent, CarbonListComponent, BpmnJsDiagramModule, TimelineModule, CamundaFormModule, FilterSidebarModule, DataListModule, ModalModule as ModalModule$1, SpinnerModule, UploaderModule, DropzoneModule, SelectModule, InputLabelModule, ParagraphModule, TableModule, VModalModule, SearchFieldsModule, InputModule as InputModule$1, FormModule as FormModule$1, ConfirmationModalModule, IsArrayPipe, StatusSelectorComponent, RenderInPageHeaderDirective, OverflowMenuComponent, OverflowMenuOptionComponent, OverflowMenuTriggerComponent, CaseTagsSelectorComponent, RemoveClassnamesDirective, ListColumnViewComponent, QuickSearchComponent } from '@valtimo/components';
|
|
19
17
|
export { CASES_WITHOUT_STATUS_KEY } from '@valtimo/components';
|
|
20
18
|
import moment from 'moment';
|
|
21
19
|
import { catchError, switchMap as switchMap$1, map as map$1, tap as tap$1, take as take$1, filter as filter$1 } from 'rxjs/operators';
|
|
@@ -33,21 +31,24 @@ import * as i6$1 from '@ng-bootstrap/ng-bootstrap';
|
|
|
33
31
|
import { NgbTooltipModule, NgbButtonsModule, NgbPaginationModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
|
34
32
|
import * as i3$2 from '@valtimo/resource';
|
|
35
33
|
import * as i2$4 from '@valtimo/access-control';
|
|
34
|
+
import * as i1$4 from '@angular/forms';
|
|
35
|
+
import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
36
36
|
import * as i5$1 from '@valtimo/layout';
|
|
37
37
|
import { WidgetFieldComponent, WidgetActionButtonComponent, WidgetCustomComponent, WidgetFormioComponent, WidgetTableComponent, WidgetCollectionComponent, WidgetMapComponent, WidgetType, WidgetContainerComponent } from '@valtimo/layout';
|
|
38
38
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
39
39
|
import { isEqual } from 'lodash-es';
|
|
40
|
-
import {
|
|
41
|
-
import * as
|
|
40
|
+
import { isEqual as isEqual$1 } from 'lodash';
|
|
41
|
+
import * as i4$1 from '@valtimo/teams';
|
|
42
|
+
import { UserFilled20, ChevronDown16 } from '@carbon/icons';
|
|
43
|
+
import * as i5$3 from 'keycloak-angular';
|
|
42
44
|
import * as i12 from '@valtimo/security';
|
|
43
45
|
import { AuthGuardService } from '@valtimo/security';
|
|
44
|
-
import * as
|
|
45
|
-
import { CAN_VIEW_TASK_PERMISSION, TASK_DETAIL_PERMISSION_RESOURCE, TaskModule, CAN_ASSIGN_TASK_PERMISSION, CAN_MODIFY_TASK_PERMISSION, TaskDetailContentComponent, TaskDetailIntermediateSaveComponent,
|
|
46
|
+
import * as i5$2 from '@valtimo/task';
|
|
47
|
+
import { CAN_VIEW_TASK_PERMISSION, TASK_DETAIL_PERMISSION_RESOURCE, TaskModule, CAN_ASSIGN_TASK_PERMISSION, CAN_MODIFY_TASK_PERMISSION, TaskDetailContentComponent, TaskDetailIntermediateSaveComponent, SetTaskDueDateComponent } from '@valtimo/task';
|
|
46
48
|
import * as i3$3 from '@valtimo/process-link';
|
|
47
49
|
import { FORM_CUSTOM_COMPONENT_TOKEN, ProcessLinkModule } from '@valtimo/process-link';
|
|
48
50
|
import * as i17 from 'angular-split';
|
|
49
51
|
import { AngularSplitModule } from 'angular-split';
|
|
50
|
-
import { isEqual as isEqual$1 } from 'lodash';
|
|
51
52
|
|
|
52
53
|
/*
|
|
53
54
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -139,18 +140,18 @@ class CaseBulkAssignService {
|
|
|
139
140
|
this.http = http;
|
|
140
141
|
this._valtimoEndpointUri = `${this.configService.config.valtimoApi.endpointUri}v1/document/`;
|
|
141
142
|
}
|
|
142
|
-
bulkAssign(assigneeId,
|
|
143
|
-
return this.http.post(`${this._valtimoEndpointUri}assign`, { assigneeId, documentIds });
|
|
143
|
+
bulkAssign(documentIds, assigneeId, assignedTeamKey) {
|
|
144
|
+
return this.http.post(`${this._valtimoEndpointUri}assign`, { assigneeId, assignedTeamKey, documentIds });
|
|
144
145
|
}
|
|
145
146
|
loadCandidateUsers(documentIds) {
|
|
146
147
|
return this.http.post(`${this._valtimoEndpointUri}candidate-user`, {
|
|
147
148
|
documentIds: documentIds,
|
|
148
149
|
});
|
|
149
150
|
}
|
|
150
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
151
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
151
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseBulkAssignService, deps: [{ token: i1.ConfigService }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
152
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseBulkAssignService }); }
|
|
152
153
|
}
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseBulkAssignService, decorators: [{
|
|
154
155
|
type: Injectable
|
|
155
156
|
}], ctorParameters: () => [{ type: i1.ConfigService }, { type: i1$1.HttpClient }] });
|
|
156
157
|
|
|
@@ -239,10 +240,10 @@ class CaseColumnService {
|
|
|
239
240
|
getPropertyName(caseListColumnPath) {
|
|
240
241
|
return caseListColumnPath.replace('doc:', '$.').replace('case:', '');
|
|
241
242
|
}
|
|
242
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
243
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
243
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseColumnService, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
244
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseColumnService }); }
|
|
244
245
|
}
|
|
245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseColumnService, decorators: [{
|
|
246
247
|
type: Injectable
|
|
247
248
|
}], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i4.TranslateService }] });
|
|
248
249
|
|
|
@@ -464,10 +465,10 @@ class CaseParameterService {
|
|
|
464
465
|
this.openDossierParametersSubscription();
|
|
465
466
|
});
|
|
466
467
|
}
|
|
467
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
468
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
468
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseParameterService, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
469
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseParameterService }); }
|
|
469
470
|
}
|
|
470
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
471
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseParameterService, decorators: [{
|
|
471
472
|
type: Injectable
|
|
472
473
|
}], ctorParameters: () => [{ type: i1$2.Router }, { type: i1$2.ActivatedRoute }] });
|
|
473
474
|
|
|
@@ -529,10 +530,10 @@ class CaseListService {
|
|
|
529
530
|
this._checkRefresh$.next(!checkRefresh);
|
|
530
531
|
});
|
|
531
532
|
}
|
|
532
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
533
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
533
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
534
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListService }); }
|
|
534
535
|
}
|
|
535
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
536
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListService, decorators: [{
|
|
536
537
|
type: Injectable
|
|
537
538
|
}] });
|
|
538
539
|
|
|
@@ -610,10 +611,10 @@ class CaseListAssigneeService {
|
|
|
610
611
|
: []),
|
|
611
612
|
];
|
|
612
613
|
}
|
|
613
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
614
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
614
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListAssigneeService, deps: [{ token: i1.ConfigService }, { token: CaseListService }, { token: i2.DocumentService }, { token: i4.TranslateService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
615
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListAssigneeService }); }
|
|
615
616
|
}
|
|
616
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
617
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListAssigneeService, decorators: [{
|
|
617
618
|
type: Injectable
|
|
618
619
|
}], ctorParameters: () => [{ type: i1.ConfigService }, { type: CaseListService }, { type: i2.DocumentService }, { type: i4.TranslateService }, { type: CaseParameterService }] });
|
|
619
620
|
|
|
@@ -661,10 +662,10 @@ class CaseService {
|
|
|
661
662
|
refresh() {
|
|
662
663
|
this._refreshDocument$.next(null);
|
|
663
664
|
}
|
|
664
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
665
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
665
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
666
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseService, providedIn: 'root' }); }
|
|
666
667
|
}
|
|
667
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
668
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseService, decorators: [{
|
|
668
669
|
type: Injectable,
|
|
669
670
|
args: [{
|
|
670
671
|
providedIn: 'root',
|
|
@@ -779,10 +780,10 @@ class CaseListPaginationService {
|
|
|
779
780
|
sort: defaultSortState,
|
|
780
781
|
};
|
|
781
782
|
}
|
|
782
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
783
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
783
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListPaginationService, deps: [{ token: i1$3.NGXLogger }, { token: CaseParameterService }, { token: CaseService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
784
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListPaginationService }); }
|
|
784
785
|
}
|
|
785
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
786
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListPaginationService, decorators: [{
|
|
786
787
|
type: Injectable
|
|
787
788
|
}], ctorParameters: () => [{ type: i1$3.NGXLogger }, { type: CaseParameterService }, { type: CaseService }] });
|
|
788
789
|
|
|
@@ -832,10 +833,10 @@ class CaseListSearchService {
|
|
|
832
833
|
});
|
|
833
834
|
return filters;
|
|
834
835
|
}
|
|
835
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
836
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
836
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListSearchService, deps: [{ token: CaseListService }, { token: i2.DocumentService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
837
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListSearchService }); }
|
|
837
838
|
}
|
|
838
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
839
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListSearchService, decorators: [{
|
|
839
840
|
type: Injectable
|
|
840
841
|
}], ctorParameters: () => [{ type: CaseListService }, { type: i2.DocumentService }, { type: CaseParameterService }] });
|
|
841
842
|
|
|
@@ -1171,10 +1172,10 @@ class CaseDetailTabSummaryComponent {
|
|
|
1171
1172
|
}))
|
|
1172
1173
|
.subscribe());
|
|
1173
1174
|
}
|
|
1174
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
1175
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabSummaryComponent, deps: [{ token: i2.DocumentService }, { token: i1$2.ActivatedRoute }, { token: i3.FormService }, { token: i4.TranslateService }, { token: i5.SseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1176
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseDetailTabSummaryComponent, isStandalone: false, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formDefinition: formDefinition$ | async,\n document: document$ | async,\n loading: loading$ | async,\n notificationObj: notificationObj$ | async,\n } as obs\"\n>\n @if (!obs.loading && obs.document && obs.formDefinition) {\n <valtimo-form-io\n class=\"valtimo-summary-form\"\n [form]=\"obs.formDefinition\"\n [options]=\"options\"\n ></valtimo-form-io>\n } @else if (obs.notificationObj) {\n <cds-inline-notification [notificationObj]=\"obs.notificationObj\"></cds-inline-notification>\n }\n</ng-container>\n", styles: [".hoverable:hover{background-color:#eee}.valtimo-summary-form .formio-component{margin-bottom:0!important}.valtimo-summary-form .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.valtimo-summary-form .formio-field div[ref=element] .form-control{font-weight:400}.valtimo-summary-form .formio-value div[ref=element] .form-control{font-weight:700}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i2$2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1176
1177
|
}
|
|
1177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabSummaryComponent, decorators: [{
|
|
1178
1179
|
type: Component,
|
|
1179
1180
|
args: [{ standalone: false, encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n formDefinition: formDefinition$ | async,\n document: document$ | async,\n loading: loading$ | async,\n notificationObj: notificationObj$ | async,\n } as obs\"\n>\n @if (!obs.loading && obs.document && obs.formDefinition) {\n <valtimo-form-io\n class=\"valtimo-summary-form\"\n [form]=\"obs.formDefinition\"\n [options]=\"options\"\n ></valtimo-form-io>\n } @else if (obs.notificationObj) {\n <cds-inline-notification [notificationObj]=\"obs.notificationObj\"></cds-inline-notification>\n }\n</ng-container>\n", styles: [".hoverable:hover{background-color:#eee}.valtimo-summary-form .formio-component{margin-bottom:0!important}.valtimo-summary-form .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.valtimo-summary-form .formio-field div[ref=element] .form-control{font-weight:400}.valtimo-summary-form .formio-value div[ref=element] .form-control{font-weight:700}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1180
1181
|
}], ctorParameters: () => [{ type: i2.DocumentService }, { type: i1$2.ActivatedRoute }, { type: i3.FormService }, { type: i4.TranslateService }, { type: i5.SseService }] });
|
|
@@ -1225,10 +1226,10 @@ class CaseDetailTabProgressComponent {
|
|
|
1225
1226
|
this.selectedProcessInstanceId$.next(processInstanceId);
|
|
1226
1227
|
}
|
|
1227
1228
|
}
|
|
1228
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1229
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1229
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabProgressComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1230
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseDetailTabProgressComponent, isStandalone: false, selector: "valtimo-case-detail-tab-progress", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n class=\"full-height-tab-content\"\n *ngIf=\"{\n processInstanceItems: processInstanceItems$ | async,\n selectedProcessInstance: selectedProcessInstance$ | async,\n } as obs\"\n>\n <span *ngIf=\"!obs.processInstanceItems.isLoading && !obs.processInstanceItems.value\">{{\n 'progress.noProcessDocumentInstances' | translate\n }}</span>\n\n <div class=\"process-info-row\">\n <cds-dropdown\n [dropUp]=\"false\"\n [label]=\"'progress.process' | translate\"\n [skeleton]=\"obs.processInstanceItems.isLoading\"\n [style.width.px]=\"350\"\n (selected)=\"loadProcessInstance($event.item.processInstanceId)\"\n >\n <cds-dropdown-list [items]=\"obs.processInstanceItems.value || []\"></cds-dropdown-list>\n </cds-dropdown>\n\n <div>\n <v-input-label [title]=\"'progress.version' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"30\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.version }} ({{ 'progress.of' | translate }}\n {{ obs.selectedProcessInstance.value.latestVersion }})\n </span>\n </div>\n\n <div>\n <v-input-label [title]=\"'progress.startedBy' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedBy || ('progress.system' | translate) }}\n </span>\n </div>\n\n <div>\n <v-input-label [title]=\"'progress.startedOn' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedOn.toLocaleDateString() }}\n </span>\n </div>\n </div>\n\n <div>\n <valtimo-process-diagram\n *ngIf=\"!obs.selectedProcessInstance.isLoading\"\n [processInstanceId]=\"obs.selectedProcessInstance.value.id.processInstanceId\"\n ></valtimo-process-diagram>\n </div>\n</ng-container>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}.process-info-row{display:flex;gap:24px}.process-info-text{color:var(--v-color-black);font-size:var(--v-font-size-default)}.process-info-text{display:flex;height:40px;align-items:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.ProcessDiagramComponent, selector: "valtimo-process-diagram", inputs: ["processDefinitionKey", "processInstanceId"], outputs: ["importDone"] }, { kind: "component", type: i2$1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "tooltipTranslationKey", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i2$2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2$2.SkeletonText, selector: "cds-skeleton-text, ibm-skeleton-text", inputs: ["lines", "minLineWidth", "maxLineWidth"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
1230
1231
|
}
|
|
1231
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabProgressComponent, decorators: [{
|
|
1232
1233
|
type: Component,
|
|
1233
1234
|
args: [{ standalone: false, selector: 'valtimo-case-detail-tab-progress', template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n class=\"full-height-tab-content\"\n *ngIf=\"{\n processInstanceItems: processInstanceItems$ | async,\n selectedProcessInstance: selectedProcessInstance$ | async,\n } as obs\"\n>\n <span *ngIf=\"!obs.processInstanceItems.isLoading && !obs.processInstanceItems.value\">{{\n 'progress.noProcessDocumentInstances' | translate\n }}</span>\n\n <div class=\"process-info-row\">\n <cds-dropdown\n [dropUp]=\"false\"\n [label]=\"'progress.process' | translate\"\n [skeleton]=\"obs.processInstanceItems.isLoading\"\n [style.width.px]=\"350\"\n (selected)=\"loadProcessInstance($event.item.processInstanceId)\"\n >\n <cds-dropdown-list [items]=\"obs.processInstanceItems.value || []\"></cds-dropdown-list>\n </cds-dropdown>\n\n <div>\n <v-input-label [title]=\"'progress.version' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"30\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.version }} ({{ 'progress.of' | translate }}\n {{ obs.selectedProcessInstance.value.latestVersion }})\n </span>\n </div>\n\n <div>\n <v-input-label [title]=\"'progress.startedBy' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedBy || ('progress.system' | translate) }}\n </span>\n </div>\n\n <div>\n <v-input-label [title]=\"'progress.startedOn' | translate\"></v-input-label>\n\n <cds-skeleton-text\n *ngIf=\"obs.selectedProcessInstance.isLoading\"\n [lines]=\"1\"\n [maxLineWidth]=\"50\"\n ></cds-skeleton-text>\n\n <span *ngIf=\"!obs.selectedProcessInstance.isLoading\" class=\"process-info-text\">\n {{ obs.selectedProcessInstance.value.startedOn.toLocaleDateString() }}\n </span>\n </div>\n </div>\n\n <div>\n <valtimo-process-diagram\n *ngIf=\"!obs.selectedProcessInstance.isLoading\"\n [processInstanceId]=\"obs.selectedProcessInstance.value.id.processInstanceId\"\n ></valtimo-process-diagram>\n </div>\n</ng-container>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}.process-info-row{display:flex;gap:24px}.process-info-text{color:var(--v-color-black);font-size:var(--v-font-size-default)}.process-info-text{display:flex;height:40px;align-items:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1234
1235
|
}], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i2.DocumentService }] });
|
|
@@ -1298,10 +1299,10 @@ class CaseDetailTabAuditComponent {
|
|
|
1298
1299
|
this.currentAuditPage = page - 1;
|
|
1299
1300
|
this.loadAuditPage(this.currentAuditPage);
|
|
1300
1301
|
}
|
|
1301
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1302
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
1302
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabAuditComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i2.DocumentService }, { token: i3$1.NgxSpinnerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1303
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseDetailTabAuditComponent, isStandalone: false, selector: "ng-component", outputs: { paginationClicked: "paginationClicked" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n@if (timelineItems) {\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n}\n\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n\n<div\n class=\"valtimo-audit-pagination\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div>\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n\n <br />\n\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n</div>\n", styles: [".valtimo-audit-pagination{border-top:1px solid #dee2e6;display:flex;justify-content:space-between;padding-top:24px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i2$1.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i6$1.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
1303
1304
|
}
|
|
1304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabAuditComponent, decorators: [{
|
|
1305
1306
|
type: Component,
|
|
1306
1307
|
args: [{ standalone: false, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n@if (timelineItems) {\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n}\n\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n\n<div\n class=\"valtimo-audit-pagination\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div>\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n\n <br />\n\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate: {number: pagination.content.length})\n : ('list.showingResults'\n | translate: {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n</div>\n", styles: [".valtimo-audit-pagination{border-top:1px solid #dee2e6;display:flex;justify-content:space-between;padding-top:24px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1307
1308
|
}], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$1.NgxSpinnerService }], propDecorators: { paginationClicked: [{
|
|
@@ -1324,10 +1325,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
1324
1325
|
* limitations under the License.
|
|
1325
1326
|
*/
|
|
1326
1327
|
class CaseDetailTabNotFoundComponent {
|
|
1327
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1328
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1328
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabNotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1329
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseDetailTabNotFoundComponent, isStandalone: false, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-no-results\n [title]=\"'case.tabs.componentNotFound' | translate\"\n [description]=\"'case.tabs.componentNotFoundMessage' | translate\"\n illustration=\"valtimo-layout/img/emptystate-error.svg\"\n></valtimo-no-results>\n", dependencies: [{ kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
1329
1330
|
}
|
|
1330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1331
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabNotFoundComponent, decorators: [{
|
|
1331
1332
|
type: Component,
|
|
1332
1333
|
args: [{ standalone: false, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-no-results\n [title]=\"'case.tabs.componentNotFound' | translate\"\n [description]=\"'case.tabs.componentNotFoundMessage' | translate\"\n illustration=\"valtimo-layout/img/emptystate-error.svg\"\n></valtimo-no-results>\n" }]
|
|
1333
1334
|
}] });
|
|
@@ -1455,10 +1456,10 @@ class CaseDetailTabS3DocumentsComponent {
|
|
|
1455
1456
|
refetchDocuments() {
|
|
1456
1457
|
this.refetch$.next(null);
|
|
1457
1458
|
}
|
|
1458
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1459
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1459
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabS3DocumentsComponent, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i3$2.DownloadService }, { token: i2.FileSortService }, { token: i1.GlobalNotificationService }, { token: i2$1.PromptService }, { token: i1$2.ActivatedRoute }, { token: i4.TranslateService }, { token: i3$2.UploadProviderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1460
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseDetailTabS3DocumentsComponent, isStandalone: false, selector: "valtimo-case-detail-tab-s3-documents", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"true\"\n [camera]=\"false\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<valtimo-widget>\n <valtimo-carbon-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this case' | translate }}\n </h5>\n </div>\n </valtimo-carbon-list>\n</valtimo-widget>\n", dependencies: [{ kind: "component", type: i2$1.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i2$1.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "showMaxFileSize", "showAcceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles", "maxFileSize", "acceptedFiles"], outputs: ["fileSelected"] }, { kind: "component", type: i2$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
1460
1461
|
}
|
|
1461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabS3DocumentsComponent, decorators: [{
|
|
1462
1463
|
type: Component,
|
|
1463
1464
|
args: [{ standalone: false, selector: 'valtimo-case-detail-tab-s3-documents', template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"true\"\n [camera]=\"false\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<valtimo-widget>\n <valtimo-carbon-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this case' | translate }}\n </h5>\n </div>\n </valtimo-carbon-list>\n</valtimo-widget>\n" }]
|
|
1464
1465
|
}], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i3$2.DownloadService }, { type: i2.FileSortService }, { type: i1.GlobalNotificationService }, { type: i2$1.PromptService }, { type: i1$2.ActivatedRoute }, { type: i4.TranslateService }, { type: i3$2.UploadProviderService }] });
|
|
@@ -1510,10 +1511,10 @@ class CaseDetailTabDocumentsComponent {
|
|
|
1510
1511
|
this.s3UploadProvider$.next(config.uploadProvider === UploadProvider.S3);
|
|
1511
1512
|
this.documentenApiUploadProvider$.next(uploadProvider === UploadProvider.DOCUMENTEN_API);
|
|
1512
1513
|
}
|
|
1513
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1514
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1514
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabDocumentsComponent, deps: [{ token: i1.ConfigService }, { token: ZGW_DOCUMENTEN_API_DOCUMENTS_COMPONENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1515
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseDetailTabDocumentsComponent, isStandalone: false, selector: "ng-component", host: { properties: { "class.tab--no-margin": "this.noMargin", "class.tab--no-min-height": "this.noMinHeight" } }, viewQueries: [{ propertyName: "_externalDocumentsTab", first: true, predicate: ["externalDocumentsTab"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-case-detail-tab-s3-documents\n *ngIf=\"(s3UploadProvider$ | async) || (openZaakUploadProvider$ | async)\"\n></valtimo-case-detail-tab-s3-documents>\n\n<ng-template #externalDocumentsTab></ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CaseDetailTabS3DocumentsComponent, selector: "valtimo-case-detail-tab-s3-documents" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
|
|
1515
1516
|
}
|
|
1516
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabDocumentsComponent, decorators: [{
|
|
1517
1518
|
type: Component,
|
|
1518
1519
|
args: [{ standalone: false, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-case-detail-tab-s3-documents\n *ngIf=\"(s3UploadProvider$ | async) || (openZaakUploadProvider$ | async)\"\n></valtimo-case-detail-tab-s3-documents>\n\n<ng-template #externalDocumentsTab></ng-template>\n" }]
|
|
1519
1520
|
}], ctorParameters: () => [{ type: i1.ConfigService }, { type: i0.Type, decorators: [{
|
|
@@ -1572,10 +1573,10 @@ class NotesService {
|
|
|
1572
1573
|
refresh() {
|
|
1573
1574
|
this._refresh$.next(null);
|
|
1574
1575
|
}
|
|
1575
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1576
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
1576
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: NotesService, deps: [{ token: i1.ConfigService }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1577
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: NotesService, providedIn: 'root' }); }
|
|
1577
1578
|
}
|
|
1578
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1579
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: NotesService, decorators: [{
|
|
1579
1580
|
type: Injectable,
|
|
1580
1581
|
args: [{
|
|
1581
1582
|
providedIn: 'root',
|
|
@@ -1625,10 +1626,10 @@ class NoteModalComponent {
|
|
|
1625
1626
|
});
|
|
1626
1627
|
this.formGroup.reset();
|
|
1627
1628
|
}
|
|
1628
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1629
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1629
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: NoteModalComponent, deps: [{ token: i1$4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1630
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: NoteModalComponent, isStandalone: false, selector: "valtimo-note-modal", inputs: { modalType: "modalType", customData: "customData", open: "open" }, outputs: { modalClosed: "modalClosed" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal valtimoCdsModal [open]=\"open\" size=\"sm\" showFooter=\"true\" (close)=\"onCancel()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'case.notes.' + modalType + 'Note' | translate }}\n </h3>\n </cds-modal-header>\n\n <form [formGroup]=\"formGroup\" cdsModalContent>\n <cds-textarea-label>\n {{ 'case.notes.input.content' | translate }}\n\n <textarea\n cdsTextArea\n cdsLayer=\"1\"\n class=\"valtimo-note-modal__textarea\"\n formControlName=\"content\"\n [rows]=\"10\"\n ></textarea>\n </cds-textarea-label>\n </form>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"!formGroup.valid\" cdsButton=\"primary\" (click)=\"onConfirm()\">\n {{ 'case.notes.' + modalType + 'Note' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [":host textarea{width:100%}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i2$1.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "directive", type: i2$2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i2$2.TextareaLabelComponent, selector: "cds-textarea-label, ibm-textarea-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textAreaTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i2$2.TextArea, selector: "[cdsTextArea], [ibmTextArea]", inputs: ["theme", "invalid", "skeleton"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1630
1631
|
}
|
|
1631
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1632
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: NoteModalComponent, decorators: [{
|
|
1632
1633
|
type: Component,
|
|
1633
1634
|
args: [{ selector: 'valtimo-note-modal', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal valtimoCdsModal [open]=\"open\" size=\"sm\" showFooter=\"true\" (close)=\"onCancel()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ 'case.notes.' + modalType + 'Note' | translate }}\n </h3>\n </cds-modal-header>\n\n <form [formGroup]=\"formGroup\" cdsModalContent>\n <cds-textarea-label>\n {{ 'case.notes.input.content' | translate }}\n\n <textarea\n cdsTextArea\n cdsLayer=\"1\"\n class=\"valtimo-note-modal__textarea\"\n formControlName=\"content\"\n [rows]=\"10\"\n ></textarea>\n </cds-textarea-label>\n </form>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button [disabled]=\"!formGroup.valid\" cdsButton=\"primary\" (click)=\"onConfirm()\">\n {{ 'case.notes.' + modalType + 'Note' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [":host textarea{width:100%}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1634
1635
|
}], ctorParameters: () => [{ type: i1$4.FormBuilder }], propDecorators: { modalType: [{
|
|
@@ -1790,10 +1791,10 @@ class CaseDetailTabNotesComponent {
|
|
|
1790
1791
|
this.idToDelete$.next(data.customData?.['id'] ?? '');
|
|
1791
1792
|
this.showDeleteModal$.next(true);
|
|
1792
1793
|
}
|
|
1793
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1794
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1794
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabNotesComponent, deps: [{ token: i1.GlobalNotificationService }, { token: NotesService }, { token: i2$4.PermissionService }, { token: i1$2.ActivatedRoute }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1795
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseDetailTabNotesComponent, isStandalone: false, selector: "ng-component", host: { properties: { "class.tab--no-margin": "this.noMargin" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <div class=\"cds--toolbar-content\">\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.canAdd\"\n [disabled]=\"obs.loading\"\n (click)=\"showAddModal()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n >\n {{ 'case.notes.addNote' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline\n *ngIf=\"timelineItems.length > 0\"\n [actions]=\"actions\"\n [items]=\"timelineItems\"\n ></valtimo-timeline>\n\n <valtimo-no-results\n *ngIf=\"timelineItems.length === 0\"\n [description]=\"'case.notes.noResults.description' | translate\"\n [title]=\"'case.notes.noResults.title' | translate\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n ></valtimo-no-results>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div *ngIf=\"obs.pagination\" class=\"d-flex justify-content-end row mr-0 ml-0\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [maxSize]=\"obs.pagination.size\"\n [pageSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n [(page)]=\"obs.pagination.page\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</ng-container>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n [modalType]=\"modalType$ | async\"\n [open]=\"modalOpen$ | async\"\n (modalClosed)=\"onModalClosed($event)\"\n></valtimo-note-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.notes.deleteConfirmation.description\"\n [outputOnConfirm]=\"idToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.notes.deleteConfirmation.title\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n", styles: [":host{display:flex;flex-direction:column}.add-note{align-self:flex-end}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i2$1.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i6$1.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: NoteModalComponent, selector: "valtimo-note-modal", inputs: ["modalType", "customData", "open"], outputs: ["modalClosed"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
1795
1796
|
}
|
|
1796
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1797
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabNotesComponent, decorators: [{
|
|
1797
1798
|
type: Component,
|
|
1798
1799
|
args: [{ standalone: false, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<ng-container\n *ngIf=\"{\n canAdd: canAdd$ | async,\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <div class=\"cds--toolbar-content\">\n <button\n cdsButton=\"primary\"\n *ngIf=\"obs.canAdd\"\n [disabled]=\"obs.loading\"\n (click)=\"showAddModal()\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n >\n {{ 'case.notes.addNote' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline\n *ngIf=\"timelineItems.length > 0\"\n [actions]=\"actions\"\n [items]=\"timelineItems\"\n ></valtimo-timeline>\n\n <valtimo-no-results\n *ngIf=\"timelineItems.length === 0\"\n [description]=\"'case.notes.noResults.description' | translate\"\n [title]=\"'case.notes.noResults.title' | translate\"\n illustration=\"valtimo-layout/img/emptystate-no-result.svg\"\n ></valtimo-no-results>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div *ngIf=\"obs.pagination\" class=\"d-flex justify-content-end row mr-0 ml-0\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [maxSize]=\"obs.pagination.size\"\n [pageSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n [(page)]=\"obs.pagination.page\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</ng-container>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n [modalType]=\"modalType$ | async\"\n [open]=\"modalOpen$ | async\"\n (modalClosed)=\"onModalClosed($event)\"\n></valtimo-note-modal>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.notes.deleteConfirmation.description\"\n [outputOnConfirm]=\"idToDelete$ | async\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.notes.deleteConfirmation.title\"\n (confirmEvent)=\"onDeleteConfirm($event)\"\n></valtimo-confirmation-modal>\n", styles: [":host{display:flex;flex-direction:column}.add-note{align-self:flex-end}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1799
1800
|
}], ctorParameters: () => [{ type: i1.GlobalNotificationService }, { type: NotesService }, { type: i2$4.PermissionService }, { type: i1$2.ActivatedRoute }, { type: i4.TranslateService }], propDecorators: { noMargin: [{
|
|
@@ -1863,7 +1864,7 @@ const CASE_TAB_TOKEN = new InjectionToken('Specify a component to display per co
|
|
|
1863
1864
|
* See the License for the specific language governing permissions and
|
|
1864
1865
|
* limitations under the License.
|
|
1865
1866
|
*/
|
|
1866
|
-
const DEFAULT_CASE_LIST_TABS = [CaseListTab.ALL, CaseListTab.MINE, CaseListTab.OPEN];
|
|
1867
|
+
const DEFAULT_CASE_LIST_TABS = [CaseListTab.ALL, CaseListTab.MINE, CaseListTab.TEAM, CaseListTab.OPEN];
|
|
1867
1868
|
const CASE_LIST_TABLE_TRANSLATIONS = {
|
|
1868
1869
|
select: {
|
|
1869
1870
|
single: 'case.select.single',
|
|
@@ -2017,10 +2018,10 @@ class CaseDetailTabFormioComponent {
|
|
|
2017
2018
|
return of(null);
|
|
2018
2019
|
}));
|
|
2019
2020
|
}
|
|
2020
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2021
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
2021
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabFormioComponent, deps: [{ token: CaseTabService }, { token: i1$2.ActivatedRoute }, { token: i3.FormService }, { token: i5.SseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2022
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseDetailTabFormioComponent, isStandalone: false, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n prefilledForm: prefilledForm$ | async,\n loading: loading$ | async,\n formNotFound: formNotFound$ | async,\n noFormSpecified: noFormSpecified$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <p *ngIf=\"obs.formNotFound\" class=\"error-message\">\n {{ 'case.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'case.formio.noFormSpecified' | translate }}\n </p>\n\n <valtimo-form-io *ngIf=\"obs.prefilledForm\" [form]=\"obs.prefilledForm\"> </valtimo-form-io>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;flex-direction:row;justify-content:center}.error-message{text-align:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i2$2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2022
2023
|
}
|
|
2023
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2024
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTabFormioComponent, decorators: [{
|
|
2024
2025
|
type: Component,
|
|
2025
2026
|
args: [{ standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n prefilledForm: prefilledForm$ | async,\n loading: loading$ | async,\n formNotFound: formNotFound$ | async,\n noFormSpecified: noFormSpecified$ | async,\n } as obs\"\n>\n <div *ngIf=\"obs.loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <p *ngIf=\"obs.formNotFound\" class=\"error-message\">\n {{ 'case.formio.formNotFound' | translate: {formDefinitionName: obs.formNotFound} }}\n </p>\n\n <p *ngIf=\"obs.noFormSpecified\" class=\"error-message\">\n {{ 'case.formio.noFormSpecified' | translate }}\n </p>\n\n <valtimo-form-io *ngIf=\"obs.prefilledForm\" [form]=\"obs.prefilledForm\"> </valtimo-form-io>\n</ng-container>\n", styles: [".loading-container{display:flex;width:100%;flex-direction:row;justify-content:center}.error-message{text-align:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
2026
2027
|
}], ctorParameters: () => [{ type: CaseTabService }, { type: i1$2.ActivatedRoute }, { type: i3.FormService }, { type: i5.SseService }] });
|
|
@@ -2157,10 +2158,10 @@ class WidgetsService {
|
|
|
2157
2158
|
refreshWidgets() {
|
|
2158
2159
|
this._refreshWidgets$.next();
|
|
2159
2160
|
}
|
|
2160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2161
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
2161
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: WidgetsService, deps: [{ token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2162
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: WidgetsService, providedIn: 'root' }); }
|
|
2162
2163
|
}
|
|
2163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: WidgetsService, decorators: [{
|
|
2164
2165
|
type: Injectable,
|
|
2165
2166
|
args: [{
|
|
2166
2167
|
providedIn: 'root',
|
|
@@ -2223,10 +2224,10 @@ class CaseWidgetFieldComponent extends WidgetProcess {
|
|
|
2223
2224
|
return;
|
|
2224
2225
|
this.widgetsService.startProcess(process.processDefinitionKey);
|
|
2225
2226
|
}
|
|
2226
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2227
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
2227
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetFieldComponent, deps: [{ token: i2.DocumentService }, { token: i2$4.PermissionService }, { token: WidgetsService }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2228
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseWidgetFieldComponent, isStandalone: true, selector: "valtimo-case-widget-field", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget-field\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-field>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetFieldComponent, selector: "valtimo-widget-field", inputs: ["widgetConfiguration", "widgetData"], outputs: ["noVisibleFieldsEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2228
2229
|
}
|
|
2229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetFieldComponent, decorators: [{
|
|
2230
2231
|
type: Component,
|
|
2231
2232
|
args: [{ selector: 'valtimo-case-widget-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
2232
2233
|
CommonModule,
|
|
@@ -2285,10 +2286,10 @@ class CaseWidgetCustomComponent extends WidgetProcess {
|
|
|
2285
2286
|
onProcessStartClick(process) {
|
|
2286
2287
|
this.widgetsService.startProcess(process.processDefinitionKey);
|
|
2287
2288
|
}
|
|
2288
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2289
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
2289
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetCustomComponent, deps: [{ token: WidgetsService }, { token: i2.DocumentService }, { token: i2$4.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2290
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseWidgetCustomComponent, isStandalone: true, selector: "valtimo-case-widget-custom", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget-custom\n *ngIf=\"{\n widgetConfiguration: widgetConfig$ | async\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetUuid]=\"widgetUuid\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-custom>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetCustomComponent, selector: "valtimo-widget-custom", inputs: ["widgetConfiguration", "widgetData", "widgetUuid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2290
2291
|
}
|
|
2291
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetCustomComponent, decorators: [{
|
|
2292
2293
|
type: Component,
|
|
2293
2294
|
args: [{ selector: 'valtimo-case-widget-custom', standalone: true, imports: [CommonModule, CarbonListModule, TranslateModule, ButtonModule, WidgetCustomComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget-custom\n *ngIf=\"{\n widgetConfiguration: widgetConfig$ | async\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetUuid]=\"widgetUuid\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-custom>\n" }]
|
|
2294
2295
|
}], ctorParameters: () => [{ type: WidgetsService }, { type: i2.DocumentService }, { type: i2$4.PermissionService }], propDecorators: { documentId: [{
|
|
@@ -2368,10 +2369,10 @@ class CaseWidgetFormioComponent extends WidgetProcess {
|
|
|
2368
2369
|
onProcessStartClick(process) {
|
|
2369
2370
|
this.widgetsService.startProcess(process.processDefinitionKey);
|
|
2370
2371
|
}
|
|
2371
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2372
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
2372
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetFormioComponent, deps: [{ token: i2.DocumentService }, { token: i2$4.PermissionService }, { token: WidgetsService }, { token: i0.DestroyRef }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2373
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseWidgetFormioComponent, isStandalone: true, selector: "valtimo-case-widget-formio", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget-formio\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n documentId: documentId$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n [documentId]=\"obs.documentId\"\n [widgetUuid]=\"widgetUuid\"\n [refreshForm]=\"refreshForm\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-formio>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormIoModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetFormioComponent, selector: "valtimo-widget-formio", inputs: ["documentId", "widgetConfiguration", "widgetData", "widgetUuid", "refreshForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2373
2374
|
}
|
|
2374
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2375
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetFormioComponent, decorators: [{
|
|
2375
2376
|
type: Component,
|
|
2376
2377
|
args: [{ selector: 'valtimo-case-widget-formio', standalone: true, imports: [CommonModule, TranslateModule, FormIoModule, ButtonModule, WidgetFormioComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget-formio\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n documentId: documentId$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n [documentId]=\"obs.documentId\"\n [widgetUuid]=\"widgetUuid\"\n [refreshForm]=\"refreshForm\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-formio>\n" }]
|
|
2377
2378
|
}], ctorParameters: () => [{ type: i2.DocumentService }, { type: i2$4.PermissionService }, { type: WidgetsService }, { type: i0.DestroyRef }, { type: CaseTabService }, { type: CaseWidgetsApiService }, { type: i5$1.WidgetLayoutService }], propDecorators: { documentId: [{
|
|
@@ -2452,10 +2453,10 @@ class CaseWidgetTableComponent extends WidgetProcess {
|
|
|
2452
2453
|
getPageSizeParam(widgetConfiguration) {
|
|
2453
2454
|
return `size=${widgetConfiguration.properties.defaultPageSize}`;
|
|
2454
2455
|
}
|
|
2455
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2456
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
2456
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetTableComponent, deps: [{ token: i2.DocumentService }, { token: i2$4.PermissionService }, { token: CaseWidgetsApiService }, { token: WidgetsService }, { token: CaseTabService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2457
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseWidgetTableComponent, isStandalone: true, selector: "valtimo-case-widget-table", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget-table\n [widgetData]=\"widgetData$ | async\"\n [widgetConfiguration]=\"widgetConfiguration\"\n (paginationEvent)=\"onPaginationEvent($event)\"\n>\n @if (widgetConfiguration?.actions?.length === 1) {\n @if (widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(widgetConfiguration.actions[0])\"\n >\n {{ widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-table>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "ngmodule", type: TilesModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetTableComponent, selector: "valtimo-widget-table", inputs: ["widgetConfiguration", "widgetData"], outputs: ["paginationEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2457
2458
|
}
|
|
2458
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2459
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetTableComponent, decorators: [{
|
|
2459
2460
|
type: Component,
|
|
2460
2461
|
args: [{ selector: 'valtimo-case-widget-table', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
|
2461
2462
|
CommonModule,
|
|
@@ -2548,10 +2549,10 @@ class CaseWidgetCollectionComponent extends WidgetProcess {
|
|
|
2548
2549
|
getPageSizeParam(widgetConfiguration) {
|
|
2549
2550
|
return `size=${widgetConfiguration.properties.defaultPageSize}`;
|
|
2550
2551
|
}
|
|
2551
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2552
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
2552
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetCollectionComponent, deps: [{ token: i2.DocumentService }, { token: i2$4.PermissionService }, { token: CaseWidgetsApiService }, { token: WidgetsService }, { token: i5$1.WidgetLayoutService }, { token: CaseTabService }, { token: CaseWidgetsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2553
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseWidgetCollectionComponent, isStandalone: true, selector: "valtimo-case-widget-collection", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget-collection\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async,\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n (paginationEvent)=\"onPaginationEvent($event)\"\n>\n @if (obs.widgetConfiguration?.actions?.length === 1) {\n @if (obs.widgetConfiguration.actions[0].processDefinitionKey) {\n <button\n *ngIf=\"canCreateCamundaExecution$ | async\"\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n }\n</valtimo-widget-collection>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "ngmodule", type: TilesModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetCollectionComponent, selector: "valtimo-widget-collection", inputs: ["widgetConfiguration", "widgetData"], outputs: ["paginationEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2553
2554
|
}
|
|
2554
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2555
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetCollectionComponent, decorators: [{
|
|
2555
2556
|
type: Component,
|
|
2556
2557
|
args: [{ selector: 'valtimo-case-widget-collection', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
|
|
2557
2558
|
CommonModule,
|
|
@@ -2628,10 +2629,10 @@ class CaseWidgetMapComponent extends WidgetProcess {
|
|
|
2628
2629
|
return;
|
|
2629
2630
|
this.widgetsService.startProcess(process.processDefinitionKey);
|
|
2630
2631
|
}
|
|
2631
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2632
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
2632
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetMapComponent, deps: [{ token: i2.DocumentService }, { token: i2$4.PermissionService }, { token: WidgetsService }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5$1.WidgetLayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2633
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseWidgetMapComponent, isStandalone: true, selector: "valtimo-case-widget-map", inputs: { documentId: "documentId", widgetConfiguration: "widgetConfiguration", widgetUuid: "widgetUuid" }, usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-widget-map\n *ngIf=\"{\n widgetConfiguration: widgetConfiguration$ | async,\n widgetData: widgetData$ | async\n } as obs\"\n [widgetConfiguration]=\"obs.widgetConfiguration\"\n [widgetData]=\"obs.widgetData\"\n>\n @if (\n obs.widgetConfiguration?.actions?.length === 1 &&\n obs.widgetConfiguration.actions[0]?.processDefinitionKey &&\n (canCreateCamundaExecution$ | async)\n ) {\n <button\n cdsButton=\"ghost\"\n (click)=\"onProcessStartClick(obs.widgetConfiguration.actions[0])\"\n >\n {{ obs.widgetConfiguration.actions[0].name }}\n </button>\n }\n</valtimo-widget-map>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: InputModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: WidgetMapComponent, selector: "valtimo-widget-map", inputs: ["widgetConfiguration", "widgetData"], outputs: ["noVisibleMapEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2633
2634
|
}
|
|
2634
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2635
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetMapComponent, decorators: [{
|
|
2635
2636
|
type: Component,
|
|
2636
2637
|
args: [{ selector: 'valtimo-case-widget-map', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
2637
2638
|
CommonModule,
|
|
@@ -2746,10 +2747,10 @@ class CaseDetailWidgetsComponent {
|
|
|
2746
2747
|
return null;
|
|
2747
2748
|
}), filter((configuration) => configuration !== null));
|
|
2748
2749
|
}
|
|
2749
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2750
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
2750
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailWidgetsComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: CaseTabService }, { token: CaseWidgetsApiService }, { token: i5.SseService }, { token: WidgetsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2751
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseDetailWidgetsComponent, isStandalone: true, selector: "ng-component", host: { properties: { "class.tab--no-margin": "this._noMargin", "class.tab--no-background": "this._noBackground", "class.tab--no-min-height": "this._noMinHeight" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n@for (widgetGroup of widgetGroups$ | async; track $index) {\n <div *ngIf=\"widgetGroup.divider\" class=\"divider\" [ngClass]=\"{'divider--first': $first}\">\n {{ widgetGroup.divider.title || '-' }}\n </div>\n\n <valtimo-widget-container\n [widgets]=\"widgetGroup.widgets\"\n [widgetComponentMap]=\"widgetComponentMap\"\n ></valtimo-widget-container>\n}\n", styles: [".loading-container{display:flex;justify-content:center;padding:16px 0}.divider{width:100%;font-weight:700;font-size:20px;padding:32px 0 16px 8px}.divider--first{padding-top:0}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: WidgetContainerComponent, selector: "valtimo-widget-container", inputs: ["widgets", "widgetComponentMap", "widgetParams"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2751
2752
|
}
|
|
2752
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2753
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailWidgetsComponent, decorators: [{
|
|
2753
2754
|
type: Component,
|
|
2754
2755
|
args: [{ standalone: true, imports: [
|
|
2755
2756
|
CommonModule,
|
|
@@ -2793,10 +2794,10 @@ class CaseTabApiService extends BaseApiService {
|
|
|
2793
2794
|
getDossierTabs(caseDefinitionKey, documentId) {
|
|
2794
2795
|
return this.httpClient.get(this.getApiUrl(`v1/document/${documentId}/tab`));
|
|
2795
2796
|
}
|
|
2796
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2797
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
2797
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseTabApiService, deps: [{ token: i1$1.HttpClient }, { token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2798
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseTabApiService, providedIn: 'root' }); }
|
|
2798
2799
|
}
|
|
2799
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2800
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseTabApiService, decorators: [{
|
|
2800
2801
|
type: Injectable,
|
|
2801
2802
|
args: [{
|
|
2802
2803
|
providedIn: 'root',
|
|
@@ -2936,10 +2937,10 @@ class CaseTabService {
|
|
|
2936
2937
|
return null;
|
|
2937
2938
|
}
|
|
2938
2939
|
}
|
|
2939
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
2940
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
2940
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseTabService, deps: [{ token: TAB_MAP }, { token: CASE_TAB_TOKEN, optional: true }, { token: ZGW_OBJECT_TYPE_COMPONENT_TOKEN, optional: true }, { token: i1.ConfigService }, { token: i1$2.ActivatedRoute }, { token: CaseTabApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2941
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseTabService }); }
|
|
2941
2942
|
}
|
|
2942
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
2943
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseTabService, decorators: [{
|
|
2943
2944
|
type: Injectable
|
|
2944
2945
|
}], ctorParameters: () => [{ type: Map, decorators: [{
|
|
2945
2946
|
type: Inject,
|
|
@@ -3004,10 +3005,10 @@ class CaseListStatusService {
|
|
|
3004
3005
|
this._selectedCaseStatusKeys$.next(statusKeys);
|
|
3005
3006
|
this.caseParameterService.setStatusParameter(statusKeys);
|
|
3006
3007
|
}
|
|
3007
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3008
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3008
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListStatusService, deps: [{ token: CaseListService }, { token: i2.CaseStatusService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3009
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListStatusService }); }
|
|
3009
3010
|
}
|
|
3010
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3011
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListStatusService, decorators: [{
|
|
3011
3012
|
type: Injectable
|
|
3012
3013
|
}], ctorParameters: () => [{ type: CaseListService }, { type: i2.CaseStatusService }, { type: CaseParameterService }] });
|
|
3013
3014
|
|
|
@@ -3042,10 +3043,10 @@ class StartModalService {
|
|
|
3042
3043
|
!event.getElementsByTagName('bpmn:timerEventDefinition').length);
|
|
3043
3044
|
return standardStartEvent ? standardStartEvent.getAttribute('name') : null;
|
|
3044
3045
|
}
|
|
3045
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3046
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3046
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: StartModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3047
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: StartModalService, providedIn: 'root' }); }
|
|
3047
3048
|
}
|
|
3048
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3049
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: StartModalService, decorators: [{
|
|
3049
3050
|
type: Injectable,
|
|
3050
3051
|
args: [{
|
|
3051
3052
|
providedIn: 'root',
|
|
@@ -3083,10 +3084,10 @@ class CaseWidgetsApiService extends BaseApiService {
|
|
|
3083
3084
|
? `v1/document/${documentId}/widget-tab/${tabKey}/widget/${widgetKey}`
|
|
3084
3085
|
: `v1/document/${documentId}/widget-tab/${tabKey}/widget/${widgetKey}?${queryParams}`), { headers: new HttpHeaders().set(InterceptorSkip, '404') });
|
|
3085
3086
|
}
|
|
3086
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3087
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3087
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetsApiService, deps: [{ token: i1$1.HttpClient }, { token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3088
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetsApiService, providedIn: 'root' }); }
|
|
3088
3089
|
}
|
|
3089
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3090
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseWidgetsApiService, decorators: [{
|
|
3090
3091
|
type: Injectable,
|
|
3091
3092
|
args: [{
|
|
3092
3093
|
providedIn: 'root',
|
|
@@ -3214,10 +3215,10 @@ class CaseDetailLayoutService {
|
|
|
3214
3215
|
leftPanelWidth: '*',
|
|
3215
3216
|
};
|
|
3216
3217
|
}
|
|
3217
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3218
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3218
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailLayoutService, deps: [{ token: CaseTabService }, { token: i2$1.PageHeaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3219
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailLayoutService }); }
|
|
3219
3220
|
}
|
|
3220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailLayoutService, decorators: [{
|
|
3221
3222
|
type: Injectable
|
|
3222
3223
|
}], ctorParameters: () => [{ type: CaseTabService }, { type: i2$1.PageHeaderService }] });
|
|
3223
3224
|
|
|
@@ -3267,10 +3268,10 @@ class CaseListCaseTagService {
|
|
|
3267
3268
|
this._selectedCaseTagKeys$.next(caseTagKeys);
|
|
3268
3269
|
this.caseParameterService.setCaseTagParameter(caseTagKeys);
|
|
3269
3270
|
}
|
|
3270
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3271
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3271
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListCaseTagService, deps: [{ token: CaseListService }, { token: i2.CaseTagService }, { token: CaseParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3272
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListCaseTagService }); }
|
|
3272
3273
|
}
|
|
3273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListCaseTagService, decorators: [{
|
|
3274
3275
|
type: Injectable
|
|
3275
3276
|
}], ctorParameters: () => [{ type: CaseListService }, { type: i2.CaseTagService }, { type: CaseParameterService }] });
|
|
3276
3277
|
|
|
@@ -3337,10 +3338,10 @@ class CaseExportService {
|
|
|
3337
3338
|
reader.readAsText(blob);
|
|
3338
3339
|
return fromEvent(reader, 'load').pipe(map(() => JSON.parse(reader.result)));
|
|
3339
3340
|
}
|
|
3340
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3341
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3341
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseExportService, deps: [{ token: i1$1.HttpClient }, { token: CaseListService }, { token: CaseParameterService }, { token: CaseListSearchService }, { token: i1.GlobalNotificationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3342
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseExportService }); }
|
|
3342
3343
|
}
|
|
3343
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3344
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseExportService, decorators: [{
|
|
3344
3345
|
type: Injectable
|
|
3345
3346
|
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: CaseListService }, { type: CaseParameterService }, { type: CaseListSearchService }, { type: i1.GlobalNotificationService }] });
|
|
3346
3347
|
|
|
@@ -3413,10 +3414,10 @@ class CaseMenuService {
|
|
|
3413
3414
|
});
|
|
3414
3415
|
}));
|
|
3415
3416
|
}
|
|
3416
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3417
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3417
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseMenuService, deps: [{ token: i2.DocumentService }, { token: i5.SseService }, { token: i2$1.MenuService }, { token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3418
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseMenuService, providedIn: 'root' }); }
|
|
3418
3419
|
}
|
|
3419
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3420
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseMenuService, decorators: [{
|
|
3420
3421
|
type: Injectable,
|
|
3421
3422
|
args: [{ providedIn: 'root' }]
|
|
3422
3423
|
}], ctorParameters: () => [{ type: i2.DocumentService }, { type: i5.SseService }, { type: i2$1.MenuService }, { type: i1.ConfigService }] });
|
|
@@ -3452,10 +3453,10 @@ class CaseHeaderWidgetApiService extends BaseApiService {
|
|
|
3452
3453
|
headers: new HttpHeaders().set(InterceptorSkip, '404'),
|
|
3453
3454
|
});
|
|
3454
3455
|
}
|
|
3455
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3456
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3456
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseHeaderWidgetApiService, deps: [{ token: i1$1.HttpClient }, { token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3457
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseHeaderWidgetApiService, providedIn: 'root' }); }
|
|
3457
3458
|
}
|
|
3458
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3459
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseHeaderWidgetApiService, decorators: [{
|
|
3459
3460
|
type: Injectable,
|
|
3460
3461
|
args: [{ providedIn: 'root' }]
|
|
3461
3462
|
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: i1.ConfigService }] });
|
|
@@ -3472,10 +3473,10 @@ class CaseListHiddenColumnsService extends BaseApiService {
|
|
|
3472
3473
|
saveHiddenColumns(caseDefinitionKey, hiddenColumns) {
|
|
3473
3474
|
return this.httpClient.post(this.getApiUrl(`v1/case/${caseDefinitionKey}/hidden-list-column`), hiddenColumns);
|
|
3474
3475
|
}
|
|
3475
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3476
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3476
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListHiddenColumnsService, deps: [{ token: i1$1.HttpClient }, { token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3477
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListHiddenColumnsService, providedIn: 'root' }); }
|
|
3477
3478
|
}
|
|
3478
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3479
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListHiddenColumnsService, decorators: [{
|
|
3479
3480
|
type: Injectable,
|
|
3480
3481
|
args: [{
|
|
3481
3482
|
providedIn: 'root',
|
|
@@ -3515,13 +3516,329 @@ class CaseListQuickSearchService extends BaseApiService {
|
|
|
3515
3516
|
deleteQuickSearchItem(quickSearchItem) {
|
|
3516
3517
|
return this.params$.pipe(take(1), switchMap((params) => this.httpClient.delete(this.getApiUrl(`v1/case/${params?.caseDefinitionKey}/stored-quick-search/${quickSearchItem.title}`))));
|
|
3517
3518
|
}
|
|
3518
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3519
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
3519
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListQuickSearchService, deps: [{ token: i1$1.HttpClient }, { token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3520
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListQuickSearchService }); }
|
|
3520
3521
|
}
|
|
3521
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3522
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListQuickSearchService, decorators: [{
|
|
3522
3523
|
type: Injectable
|
|
3523
3524
|
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: i1.ConfigService }] });
|
|
3524
3525
|
|
|
3526
|
+
/*
|
|
3527
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
3528
|
+
*
|
|
3529
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
3530
|
+
* you may not use this file except in compliance with the License.
|
|
3531
|
+
* You may obtain a copy of the License at
|
|
3532
|
+
*
|
|
3533
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
3534
|
+
*
|
|
3535
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
3536
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
3537
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3538
|
+
* See the License for the specific language governing permissions and
|
|
3539
|
+
* limitations under the License.
|
|
3540
|
+
*/
|
|
3541
|
+
class CaseListOrchestrationService {
|
|
3542
|
+
constructor(assigneeService, caseListCaseTagService, caseListHiddenColumnsService, columnService, destroyRef, documentService, listService, pageTitleService, paginationService, parameterService, permissionService, searchService, statusService, translateService, caseListQuickSearchService) {
|
|
3543
|
+
this.assigneeService = assigneeService;
|
|
3544
|
+
this.caseListCaseTagService = caseListCaseTagService;
|
|
3545
|
+
this.caseListHiddenColumnsService = caseListHiddenColumnsService;
|
|
3546
|
+
this.columnService = columnService;
|
|
3547
|
+
this.destroyRef = destroyRef;
|
|
3548
|
+
this.documentService = documentService;
|
|
3549
|
+
this.listService = listService;
|
|
3550
|
+
this.pageTitleService = pageTitleService;
|
|
3551
|
+
this.paginationService = paginationService;
|
|
3552
|
+
this.parameterService = parameterService;
|
|
3553
|
+
this.permissionService = permissionService;
|
|
3554
|
+
this.searchService = searchService;
|
|
3555
|
+
this.statusService = statusService;
|
|
3556
|
+
this.translateService = translateService;
|
|
3557
|
+
this.caseListQuickSearchService = caseListQuickSearchService;
|
|
3558
|
+
this.INTERNAL_STATUS_COLUMN = 'internalStatus';
|
|
3559
|
+
this.CASE_TAGS_COLUMN = 'caseTags';
|
|
3560
|
+
this._statusField = {
|
|
3561
|
+
label: 'document.status',
|
|
3562
|
+
key: this.INTERNAL_STATUS_COLUMN,
|
|
3563
|
+
viewType: ViewType.TAGS,
|
|
3564
|
+
sortable: true,
|
|
3565
|
+
};
|
|
3566
|
+
this._internalStatusKeys$ = new BehaviorSubject([
|
|
3567
|
+
this.INTERNAL_STATUS_COLUMN,
|
|
3568
|
+
]);
|
|
3569
|
+
this._caseTagsKeys$ = new BehaviorSubject([this.CASE_TAGS_COLUMN]);
|
|
3570
|
+
this._refreshHiddenColumns$ = new BehaviorSubject(null);
|
|
3571
|
+
this.noResultsMessage$ = new BehaviorSubject(CASE_LIST_NO_RESULTS_MESSAGE);
|
|
3572
|
+
this.hasApiColumnConfig$ = new BehaviorSubject(false);
|
|
3573
|
+
this.disableExportButton$ = new BehaviorSubject(false);
|
|
3574
|
+
this.caseDefinitionKey$ = this.listService.caseDefinitionKey$.pipe(tap((caseDefinitionKey) => this.caseListQuickSearchService.initParams(caseDefinitionKey)));
|
|
3575
|
+
this.searchFields$ = this.searchService.documentSearchFields$;
|
|
3576
|
+
this.statuses$ = this.statusService.caseStatuses$;
|
|
3577
|
+
this.caseTags$ = this.caseListCaseTagService.caseTags$;
|
|
3578
|
+
this.selectedStatusKeys$ = this.statusService.selectedCaseStatuses$;
|
|
3579
|
+
this.selectedCaseTagKeys$ = this.caseListCaseTagService.selectedCaseTagKeys$;
|
|
3580
|
+
this.searchFieldValues$ = this.parameterService.searchFieldValues$;
|
|
3581
|
+
this.assigneeFilter$ = this.assigneeService.assigneeFilter$;
|
|
3582
|
+
this.showStatusSelector$ = this.statusService.showStatusSelector$;
|
|
3583
|
+
this.showCaseTagsSelector$ = this.caseListCaseTagService.showCaseTagsSelector$;
|
|
3584
|
+
this.hiddenColumns$ = this._refreshHiddenColumns$.pipe(switchMap(() => this.caseDefinitionKey$), switchMap((caseDefinitionKey) => this.caseListHiddenColumnsService.getHiddenColumns(caseDefinitionKey)));
|
|
3585
|
+
this.schema$ = this.listService.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => this.documentService.getDocumentDefinition(caseDefinitionKey)), map(caseDefinition => caseDefinition?.schema), tap(schema => {
|
|
3586
|
+
if (schema?.title) {
|
|
3587
|
+
this.pageTitleService.setCustomPageTitle(schema?.title, true);
|
|
3588
|
+
}
|
|
3589
|
+
}));
|
|
3590
|
+
this.canCreateCase$ = this.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => this.permissionService.requestPermission(CAN_CREATE_CASE_PERMISSION, {
|
|
3591
|
+
resource: CASE_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocumentDefinition,
|
|
3592
|
+
identifier: caseDefinitionKey,
|
|
3593
|
+
})));
|
|
3594
|
+
this.canExportCase$ = this.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => combineLatest([
|
|
3595
|
+
this.permissionService.requestPermission(CAN_EXPORT_CASE_PERMISSION, {
|
|
3596
|
+
resource: CASE_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocumentDefinition,
|
|
3597
|
+
identifier: caseDefinitionKey,
|
|
3598
|
+
}),
|
|
3599
|
+
this.documentService.getCaseList(caseDefinitionKey),
|
|
3600
|
+
])), switchMap(([canExportPermission, caseList]) => {
|
|
3601
|
+
const isExportableColumns = caseList.some(caseListitem => caseListitem.exportable);
|
|
3602
|
+
return of(canExportPermission && isExportableColumns);
|
|
3603
|
+
}));
|
|
3604
|
+
this.disableSaveSearch$ = combineLatest([
|
|
3605
|
+
this.statusService.selectedCaseStatuses$,
|
|
3606
|
+
this.caseListCaseTagService.selectedCaseTagKeys$,
|
|
3607
|
+
]).pipe(map(([selectedStatuses, selectedTags]) => !selectedStatuses.length && !selectedTags.length));
|
|
3608
|
+
this._canHaveAssignee$ = this.assigneeService.canHaveAssignee$;
|
|
3609
|
+
this._columns$ = this.listService.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => this.columnService.getDefinitionColumns(caseDefinitionKey)), map(res => {
|
|
3610
|
+
this.hasApiColumnConfig$.next(res.hasApiConfig);
|
|
3611
|
+
return res.columns;
|
|
3612
|
+
}), tap(columns => {
|
|
3613
|
+
this.listService.caseDefinitionKey$.pipe(take(1)).subscribe(_ => {
|
|
3614
|
+
this.paginationService.setPagination(columns);
|
|
3615
|
+
});
|
|
3616
|
+
}));
|
|
3617
|
+
// --- Loading state ---
|
|
3618
|
+
this._loadingFields$ = new BehaviorSubject(true);
|
|
3619
|
+
this._loadingPagination$ = new BehaviorSubject(true);
|
|
3620
|
+
this._loadingSearchFields$ = new BehaviorSubject(true);
|
|
3621
|
+
this._loadingAssigneeFilter$ = new BehaviorSubject(true);
|
|
3622
|
+
this._loadingDocumentItems$ = new BehaviorSubject(true);
|
|
3623
|
+
this.pagination$ = this.paginationService.pagination$.pipe(tap(() => this._loadingPagination$.next(false)));
|
|
3624
|
+
this.loaded$ = combineLatest([
|
|
3625
|
+
this._loadingFields$,
|
|
3626
|
+
this._loadingPagination$,
|
|
3627
|
+
this._loadingSearchFields$,
|
|
3628
|
+
this._loadingAssigneeFilter$,
|
|
3629
|
+
this._loadingDocumentItems$,
|
|
3630
|
+
]).pipe(map(flags => flags.every(loading => !loading)));
|
|
3631
|
+
// --- Column & field observables ---
|
|
3632
|
+
this.availableFields$ = combineLatest([
|
|
3633
|
+
this._canHaveAssignee$,
|
|
3634
|
+
this._columns$,
|
|
3635
|
+
this.hasApiColumnConfig$,
|
|
3636
|
+
this.statuses$,
|
|
3637
|
+
this.translateService.stream('key'),
|
|
3638
|
+
]).pipe(map(([canHaveAssignee, columns, hasApiConfig, statuses]) => {
|
|
3639
|
+
this._internalStatusKeys$.next([
|
|
3640
|
+
...this._internalStatusKeys$.getValue(),
|
|
3641
|
+
...columns.reduce((acc, curr) => curr.propertyName === this.INTERNAL_STATUS_COLUMN ? [...acc, curr.translationKey] : acc, []),
|
|
3642
|
+
]);
|
|
3643
|
+
this._caseTagsKeys$.next([
|
|
3644
|
+
...this._caseTagsKeys$.getValue(),
|
|
3645
|
+
...columns.reduce((acc, curr) => curr.propertyName === this.CASE_TAGS_COLUMN ? [...acc, curr.translationKey] : acc, []),
|
|
3646
|
+
]);
|
|
3647
|
+
const filteredAssigneeColumns = this.assigneeService.filterAssigneeColumns(columns, canHaveAssignee);
|
|
3648
|
+
const listFields = this.columnService.mapDefinitionColumnsToListFields(filteredAssigneeColumns, hasApiConfig);
|
|
3649
|
+
const fieldsToReturn = this.assigneeService.addAssigneeListField(columns, listFields, canHaveAssignee);
|
|
3650
|
+
return statuses.some((status) => status.key !== CASES_WITHOUT_STATUS_KEY) && !hasApiConfig
|
|
3651
|
+
? [...fieldsToReturn, this._statusField]
|
|
3652
|
+
: fieldsToReturn;
|
|
3653
|
+
}));
|
|
3654
|
+
this.fields$ = combineLatest([
|
|
3655
|
+
this.availableFields$,
|
|
3656
|
+
this.hiddenColumns$,
|
|
3657
|
+
]).pipe(map(([fields, hiddenColumns]) => fields.filter((field) => !hiddenColumns.find((hiddenColumn) => hiddenColumn.key === field.key))), tap(listFields => {
|
|
3658
|
+
const defaultListField = listFields.find(field => field.default);
|
|
3659
|
+
this.parameterService.queryPaginationParams$
|
|
3660
|
+
.pipe(take(1))
|
|
3661
|
+
.subscribe(queryPaginationParams => {
|
|
3662
|
+
if (defaultListField && !queryPaginationParams?.sort?.isSorting) {
|
|
3663
|
+
const sortDirection = typeof defaultListField.default === 'string' ? defaultListField.default : 'DESC';
|
|
3664
|
+
this.paginationService.sortChanged({
|
|
3665
|
+
isSorting: true,
|
|
3666
|
+
state: { name: defaultListField.key, direction: sortDirection },
|
|
3667
|
+
});
|
|
3668
|
+
}
|
|
3669
|
+
});
|
|
3670
|
+
}), tap(() => this._loadingFields$.next(false)));
|
|
3671
|
+
// --- Document items (the main data pipeline) ---
|
|
3672
|
+
this._documentItems$ = new BehaviorSubject(null);
|
|
3673
|
+
this.documentItems$ = this._documentItems$.asObservable();
|
|
3674
|
+
this._documentSearchRequest$ = combineLatest([this.pagination$, this.listService.caseDefinitionKey$]).pipe(filter(([pagination]) => !!pagination), map(([pagination, caseDefinitionKey]) => {
|
|
3675
|
+
const page = pagination.page - 1;
|
|
3676
|
+
return new AdvancedDocumentSearchRequestImpl(caseDefinitionKey, page >= 0 ? page : 0, pagination.size, pagination.sort);
|
|
3677
|
+
}));
|
|
3678
|
+
this._documentItemsPipeline$ = this.listService.checkRefresh$.pipe(switchMap(() => combineLatest([
|
|
3679
|
+
this._documentSearchRequest$,
|
|
3680
|
+
this.assigneeFilter$,
|
|
3681
|
+
this.searchFieldValues$,
|
|
3682
|
+
this.statusService.selectedCaseStatuses$,
|
|
3683
|
+
this.caseListCaseTagService.selectedCaseTagKeys$,
|
|
3684
|
+
this.listService.forceRefresh$,
|
|
3685
|
+
this.hasApiColumnConfig$,
|
|
3686
|
+
this.statusService.caseStatuses$,
|
|
3687
|
+
this.caseListCaseTagService.caseTags$,
|
|
3688
|
+
]).pipe(debounceTime(50))), distinctUntilChanged(this.areDocumentRequestsEqual), switchMap(([documentSearchRequest, assigneeFilter, searchValues, selectedStatuses, selectedCaseTagKeys, _, hasApiColumnConfig, allStatuses,]) => this.fetchDocuments(documentSearchRequest, assigneeFilter, searchValues, selectedStatuses, selectedCaseTagKeys, hasApiColumnConfig, allStatuses)), switchMap(res => this.checkDocumentPermissions(res)), map(res => this.mapDocumentsToItems(res)), map(res => this.mapStatusAndTagColumns(res)), tap(items => {
|
|
3689
|
+
this._documentItems$.next(items);
|
|
3690
|
+
this._loadingAssigneeFilter$.next(false);
|
|
3691
|
+
this._loadingDocumentItems$.next(false);
|
|
3692
|
+
}));
|
|
3693
|
+
this._documentItemsPipeline$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe();
|
|
3694
|
+
}
|
|
3695
|
+
setLoading() {
|
|
3696
|
+
this._loadingFields$.next(true);
|
|
3697
|
+
this._loadingPagination$.next(true);
|
|
3698
|
+
this._loadingSearchFields$.next(true);
|
|
3699
|
+
this._loadingAssigneeFilter$.next(true);
|
|
3700
|
+
this._loadingDocumentItems$.next(true);
|
|
3701
|
+
this._documentItems$.next(null);
|
|
3702
|
+
}
|
|
3703
|
+
setLoadingAssigneeFilter(loading) {
|
|
3704
|
+
this._loadingAssigneeFilter$.next(loading);
|
|
3705
|
+
}
|
|
3706
|
+
setLoadingSearchFields(loading) {
|
|
3707
|
+
this._loadingSearchFields$.next(loading);
|
|
3708
|
+
}
|
|
3709
|
+
updateNoResultsMessage(isSearchResult, activeTab) {
|
|
3710
|
+
this.noResultsMessage$.next(isSearchResult
|
|
3711
|
+
? {
|
|
3712
|
+
description: 'case.noResults.search.description',
|
|
3713
|
+
isSearchResult,
|
|
3714
|
+
title: 'case.noResults.search.title',
|
|
3715
|
+
}
|
|
3716
|
+
: {
|
|
3717
|
+
description: `case.noResults.${activeTab ?? 'ALL'}.description`,
|
|
3718
|
+
isSearchResult,
|
|
3719
|
+
title: `case.noResults.${activeTab ?? 'ALL'}.title`,
|
|
3720
|
+
});
|
|
3721
|
+
}
|
|
3722
|
+
saveHiddenColumns(hiddenColumns) {
|
|
3723
|
+
this.caseDefinitionKey$
|
|
3724
|
+
.pipe(take(1), switchMap((caseDefinitionKey) => this.caseListHiddenColumnsService.saveHiddenColumns(caseDefinitionKey, hiddenColumns)))
|
|
3725
|
+
.subscribe(() => this._refreshHiddenColumns$.next(null));
|
|
3726
|
+
}
|
|
3727
|
+
// --- Private helpers for the document items pipeline ---
|
|
3728
|
+
areDocumentRequestsEqual([prevSearchRequest, prevAssigneeFilter, prevSearchFieldValues, prevSelectedStatuses, prevCaseTagKeys, prevForceRefresh,], [currSearchRequest, currAssigneeFilter, currSearchFieldValues, currSelectedStatuses, currCaseTagKeys, currForceRefresh,]) {
|
|
3729
|
+
return isEqual$1({
|
|
3730
|
+
...prevSearchRequest,
|
|
3731
|
+
assignee: prevAssigneeFilter,
|
|
3732
|
+
...prevSearchFieldValues,
|
|
3733
|
+
...prevSelectedStatuses,
|
|
3734
|
+
...prevCaseTagKeys,
|
|
3735
|
+
forceRefresh: prevForceRefresh,
|
|
3736
|
+
}, {
|
|
3737
|
+
...currSearchRequest,
|
|
3738
|
+
assignee: currAssigneeFilter,
|
|
3739
|
+
...currSearchFieldValues,
|
|
3740
|
+
...currSelectedStatuses,
|
|
3741
|
+
...currCaseTagKeys,
|
|
3742
|
+
forceRefresh: currForceRefresh,
|
|
3743
|
+
});
|
|
3744
|
+
}
|
|
3745
|
+
fetchDocuments(documentSearchRequest, assigneeFilter, searchValues, selectedStatuses, selectedCaseTagKeys, hasApiColumnConfig, allStatuses) {
|
|
3746
|
+
const statusKeys = allStatuses.length === 1
|
|
3747
|
+
? []
|
|
3748
|
+
: selectedStatuses.map((statusKey) => statusKey === CASES_WITHOUT_STATUS_KEY ? null : statusKey);
|
|
3749
|
+
const searchFilters = (Object.keys(searchValues) || []).length > 0
|
|
3750
|
+
? this.searchService.mapSearchValuesToFilters(searchValues)
|
|
3751
|
+
: undefined;
|
|
3752
|
+
const documentsObs = !hasApiColumnConfig
|
|
3753
|
+
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, searchFilters, statusKeys, selectedCaseTagKeys)
|
|
3754
|
+
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, searchFilters, statusKeys, selectedCaseTagKeys);
|
|
3755
|
+
return forkJoin({
|
|
3756
|
+
documents: documentsObs,
|
|
3757
|
+
hasApiColumnConfig: of(hasApiColumnConfig),
|
|
3758
|
+
isSearchResult: of(!!searchFilters),
|
|
3759
|
+
allStatuses: of(allStatuses),
|
|
3760
|
+
assigneeFilter: of(assigneeFilter),
|
|
3761
|
+
});
|
|
3762
|
+
}
|
|
3763
|
+
checkDocumentPermissions(res) {
|
|
3764
|
+
return combineLatest([
|
|
3765
|
+
of(res),
|
|
3766
|
+
forkJoin(res.documents.content.map(document => this.permissionService
|
|
3767
|
+
.requestPermission(CAN_VIEW_CASE_PERMISSION, {
|
|
3768
|
+
resource: CASE_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
3769
|
+
identifier: document.id,
|
|
3770
|
+
})
|
|
3771
|
+
.pipe(take(1)))).pipe(defaultIfEmpty([])),
|
|
3772
|
+
this._internalStatusKeys$,
|
|
3773
|
+
this._caseTagsKeys$,
|
|
3774
|
+
]);
|
|
3775
|
+
}
|
|
3776
|
+
mapDocumentsToItems([res, documentsAuthorization, statusColumnKeys, caseTagsKeys]) {
|
|
3777
|
+
const documentsWithLock = {
|
|
3778
|
+
...res.documents,
|
|
3779
|
+
content: res.documents.content.map((document, index) => ({
|
|
3780
|
+
...document,
|
|
3781
|
+
locked: !documentsAuthorization[index],
|
|
3782
|
+
})),
|
|
3783
|
+
};
|
|
3784
|
+
this.paginationService.setCollectionSize(documentsWithLock);
|
|
3785
|
+
this.paginationService.checkPage(documentsWithLock);
|
|
3786
|
+
return {
|
|
3787
|
+
data: this.listService.mapDocuments(documentsWithLock, res.hasApiColumnConfig),
|
|
3788
|
+
statuses: res.allStatuses,
|
|
3789
|
+
statusColumnKeys,
|
|
3790
|
+
caseTagsKeys,
|
|
3791
|
+
isSearchResult: res.isSearchResult,
|
|
3792
|
+
assigneeFilter: res.assigneeFilter,
|
|
3793
|
+
};
|
|
3794
|
+
}
|
|
3795
|
+
mapStatusAndTagColumns(res) {
|
|
3796
|
+
if (!Array.isArray(res.data))
|
|
3797
|
+
return res.data;
|
|
3798
|
+
this.updateNoResultsMessage(res.isSearchResult, res.assigneeFilter);
|
|
3799
|
+
this.disableExportButton$.next(res.data.length === 0);
|
|
3800
|
+
return res.data.map(item => {
|
|
3801
|
+
const mappedInternalStatusColumns = res.statusColumnKeys.reduce((acc, curr) => {
|
|
3802
|
+
const status = res.statuses.find((s) => s.key === item[curr] || s.key === item.status);
|
|
3803
|
+
return !status
|
|
3804
|
+
? acc
|
|
3805
|
+
: {
|
|
3806
|
+
...acc,
|
|
3807
|
+
[curr]: {
|
|
3808
|
+
content: status.title,
|
|
3809
|
+
type: InternalCaseStatusUtils.getTagTypeFromInternalCaseStatusColor(status.color),
|
|
3810
|
+
},
|
|
3811
|
+
};
|
|
3812
|
+
}, {});
|
|
3813
|
+
const mappedTagColumns = res.caseTagsKeys.reduce((acc, curr) => {
|
|
3814
|
+
if (item[curr]) {
|
|
3815
|
+
return {
|
|
3816
|
+
...acc,
|
|
3817
|
+
[curr]: item[curr].map(tag => ({
|
|
3818
|
+
content: tag.title,
|
|
3819
|
+
type: CaseTagsUtils.getTagTypeFromCaseTagColor(tag.color),
|
|
3820
|
+
})),
|
|
3821
|
+
};
|
|
3822
|
+
}
|
|
3823
|
+
return acc;
|
|
3824
|
+
}, {});
|
|
3825
|
+
return {
|
|
3826
|
+
...item,
|
|
3827
|
+
...mappedInternalStatusColumns,
|
|
3828
|
+
...mappedTagColumns,
|
|
3829
|
+
};
|
|
3830
|
+
});
|
|
3831
|
+
}
|
|
3832
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListOrchestrationService, deps: [{ token: CaseListAssigneeService }, { token: CaseListCaseTagService }, { token: CaseListHiddenColumnsService }, { token: CaseColumnService }, { token: i0.DestroyRef }, { token: i2.DocumentService }, { token: CaseListService }, { token: i2$1.PageTitleService }, { token: CaseListPaginationService }, { token: CaseParameterService }, { token: i2$4.PermissionService }, { token: CaseListSearchService }, { token: CaseListStatusService }, { token: i4.TranslateService }, { token: QUICK_SEARCH_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3833
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListOrchestrationService }); }
|
|
3834
|
+
}
|
|
3835
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListOrchestrationService, decorators: [{
|
|
3836
|
+
type: Injectable
|
|
3837
|
+
}], ctorParameters: () => [{ type: CaseListAssigneeService }, { type: CaseListCaseTagService }, { type: CaseListHiddenColumnsService }, { type: CaseColumnService }, { type: i0.DestroyRef }, { type: i2.DocumentService }, { type: CaseListService }, { type: i2$1.PageTitleService }, { type: CaseListPaginationService }, { type: CaseParameterService }, { type: i2$4.PermissionService }, { type: CaseListSearchService }, { type: CaseListStatusService }, { type: i4.TranslateService }, { type: undefined, decorators: [{
|
|
3838
|
+
type: Inject,
|
|
3839
|
+
args: [QUICK_SEARCH_SERVICE]
|
|
3840
|
+
}] }] });
|
|
3841
|
+
|
|
3525
3842
|
/*
|
|
3526
3843
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
3527
3844
|
*
|
|
@@ -3559,10 +3876,14 @@ class CaseBulkAssignModalComponent {
|
|
|
3559
3876
|
this.documentIds$.next(value);
|
|
3560
3877
|
}
|
|
3561
3878
|
}
|
|
3562
|
-
|
|
3879
|
+
get isFormValid() {
|
|
3880
|
+
return !!this.formGroup.get('assignee')?.value || !!this.formGroup.get('team')?.value;
|
|
3881
|
+
}
|
|
3882
|
+
constructor(bulkAssignService, fb, permissionService, teamsApiService) {
|
|
3563
3883
|
this.bulkAssignService = bulkAssignService;
|
|
3564
3884
|
this.fb = fb;
|
|
3565
3885
|
this.permissionService = permissionService;
|
|
3886
|
+
this.teamsApiService = teamsApiService;
|
|
3566
3887
|
this.modalClass = 'valtimo-case-bulk-assign-modal';
|
|
3567
3888
|
this.open = false;
|
|
3568
3889
|
this.closeEvent = new EventEmitter();
|
|
@@ -3610,32 +3931,43 @@ class CaseBulkAssignModalComponent {
|
|
|
3610
3931
|
content: `${candidateUser.firstName} ${candidateUser.lastName}`,
|
|
3611
3932
|
selected: this.formGroup.get('assignee')?.value?.id === candidateUser.id,
|
|
3612
3933
|
}))));
|
|
3934
|
+
this.teamItems$ = this.teamsApiService.getTeams({ size: 1000 }).pipe(map(page => page.content.map(team => ({
|
|
3935
|
+
id: team.key,
|
|
3936
|
+
content: team.title,
|
|
3937
|
+
selected: this.formGroup.get('team')?.value?.id === team.key,
|
|
3938
|
+
}))), catchError$1(() => of([])));
|
|
3613
3939
|
this.formGroup = this.fb.group({
|
|
3614
|
-
assignee: this.fb.control(null
|
|
3940
|
+
assignee: this.fb.control(null),
|
|
3941
|
+
team: this.fb.control(null),
|
|
3615
3942
|
});
|
|
3616
3943
|
}
|
|
3617
3944
|
closeModal(confirm) {
|
|
3618
3945
|
const assignee = this.formGroup.get('assignee')?.value ?? null;
|
|
3619
|
-
|
|
3946
|
+
const team = this.formGroup.get('team')?.value ?? null;
|
|
3947
|
+
if (!confirm || (!assignee?.id && !team?.id)) {
|
|
3620
3948
|
this.closeEvent.emit(null);
|
|
3621
3949
|
this.formGroup.reset();
|
|
3622
3950
|
return;
|
|
3623
3951
|
}
|
|
3624
3952
|
this.permittedDocumentIds$.pipe(take(1)).subscribe((permittedDocumentIds) => {
|
|
3625
|
-
this.closeEvent.emit({
|
|
3953
|
+
this.closeEvent.emit({
|
|
3954
|
+
ids: permittedDocumentIds,
|
|
3955
|
+
assigneeId: assignee?.id ?? undefined,
|
|
3956
|
+
assignedTeamKey: team?.id ?? undefined,
|
|
3957
|
+
});
|
|
3626
3958
|
this.formGroup.reset();
|
|
3627
3959
|
});
|
|
3628
3960
|
}
|
|
3629
3961
|
trackByIndex(index) {
|
|
3630
3962
|
return index;
|
|
3631
3963
|
}
|
|
3632
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3633
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
3964
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseBulkAssignModalComponent, deps: [{ token: CaseBulkAssignService }, { token: i1$4.FormBuilder }, { token: i2$4.PermissionService }, { token: i4$1.TeamsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3965
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseBulkAssignModalComponent, isStandalone: false, selector: "valtimo-case-bulk-assign-modal", inputs: { documentIds: "documentIds", open: "open" }, outputs: { closeEvent: "closeEvent" }, host: { properties: { "class": "this.modalClass" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal valtimoCdsModal [open]=\"open\" (close)=\"closeModal()\" showFooter=\"true\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'case.bulkAssign.modal.title' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container\n *ngIf=\"{\n candidateUserItems: candidateUserItems$ | async,\n teamItems: teamItems$ | async,\n canAssignAllDocuments: canAssignAllDocuments$ | async,\n canAssignAnyDocuments: canAssignAnyDocuments$ | async,\n } as obs\"\n >\n <cds-inline-notification\n *ngIf=\"!obs.canAssignAnyDocuments\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('case.bulkAssign.modal.warningTitle' | translate),\n message: ('case.bulkAssign.modal.cannotAssignAnyWarning' | translate),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-inline-notification>\n\n <cds-inline-notification\n *ngIf=\"obs.canAssignAnyDocuments && !obs.canAssignAllDocuments\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('case.bulkAssign.modal.warningTitle' | translate),\n message: ('case.bulkAssign.modal.cannotAssignSomeWarning' | translate),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-inline-notification>\n\n <form *ngIf=\"obs.canAssignAnyDocuments && obs.candidateUserItems\" [formGroup]=\"formGroup\">\n <cds-combo-box\n formControlName=\"assignee\"\n [dropUp]=\"false\"\n [items]=\"obs.candidateUserItems\"\n [label]=\"'case.bulkAssign.modal.selectLabel' | translate\"\n [placeholder]=\"'case.bulkAssign.modal.selectPlaceholder' | translate\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-combo-box\n *ngIf=\"obs.teamItems?.length\"\n formControlName=\"team\"\n [dropUp]=\"false\"\n [items]=\"obs.teamItems\"\n [label]=\"'case.bulkAssign.modal.selectTeamLabel' | translate\"\n [placeholder]=\"'case.bulkAssign.modal.selectPlaceholder' | translate\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </form>\n </ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container\n *ngIf=\"{\n canAssignAnyDocuments: canAssignAnyDocuments$ | async,\n } as obs\"\n >\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">{{ 'interface.cancel' | translate }}</button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"!isFormValid || !obs.canAssignAnyDocuments\"\n (click)=\"closeModal(true)\"\n >\n {{ 'case.bulkAssign.modal.confirm' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .valtimo-case-bulk-assign-modal .cds--modal-container,::ng-deep .valtimo-case-bulk-assign-modal .cds--modal-content{overflow:unset}form{display:flex;flex-direction:column;gap:1rem}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i2$2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2$2.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "directive", type: i2$1.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "directive", type: i2$2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i2$2.Notification, selector: "cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification", inputs: ["notificationObj"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3634
3966
|
}
|
|
3635
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
3967
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseBulkAssignModalComponent, decorators: [{
|
|
3636
3968
|
type: Component,
|
|
3637
|
-
args: [{ standalone: false, selector: 'valtimo-case-bulk-assign-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-
|
|
3638
|
-
}], ctorParameters: () => [{ type: CaseBulkAssignService }, { type: i1$4.FormBuilder }, { type: i2$4.PermissionService }], propDecorators: { modalClass: [{
|
|
3969
|
+
args: [{ standalone: false, selector: 'valtimo-case-bulk-assign-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal valtimoCdsModal [open]=\"open\" (close)=\"closeModal()\" showFooter=\"true\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>{{ 'case.bulkAssign.modal.title' | translate }}</h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container\n *ngIf=\"{\n candidateUserItems: candidateUserItems$ | async,\n teamItems: teamItems$ | async,\n canAssignAllDocuments: canAssignAllDocuments$ | async,\n canAssignAnyDocuments: canAssignAnyDocuments$ | async,\n } as obs\"\n >\n <cds-inline-notification\n *ngIf=\"!obs.canAssignAnyDocuments\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('case.bulkAssign.modal.warningTitle' | translate),\n message: ('case.bulkAssign.modal.cannotAssignAnyWarning' | translate),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-inline-notification>\n\n <cds-inline-notification\n *ngIf=\"obs.canAssignAnyDocuments && !obs.canAssignAllDocuments\"\n [notificationObj]=\"{\n type: 'warning',\n title: ('case.bulkAssign.modal.warningTitle' | translate),\n message: ('case.bulkAssign.modal.cannotAssignSomeWarning' | translate),\n showClose: false,\n lowContrast: true,\n }\"\n ></cds-inline-notification>\n\n <form *ngIf=\"obs.canAssignAnyDocuments && obs.candidateUserItems\" [formGroup]=\"formGroup\">\n <cds-combo-box\n formControlName=\"assignee\"\n [dropUp]=\"false\"\n [items]=\"obs.candidateUserItems\"\n [label]=\"'case.bulkAssign.modal.selectLabel' | translate\"\n [placeholder]=\"'case.bulkAssign.modal.selectPlaceholder' | translate\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-combo-box\n *ngIf=\"obs.teamItems?.length\"\n formControlName=\"team\"\n [dropUp]=\"false\"\n [items]=\"obs.teamItems\"\n [label]=\"'case.bulkAssign.modal.selectTeamLabel' | translate\"\n [placeholder]=\"'case.bulkAssign.modal.selectPlaceholder' | translate\"\n [cdsLayer]=\"1\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n </form>\n </ng-container>\n </section>\n\n <cds-modal-footer>\n <ng-container\n *ngIf=\"{\n canAssignAnyDocuments: canAssignAnyDocuments$ | async,\n } as obs\"\n >\n <button cdsButton=\"ghost\" (click)=\"closeModal()\">{{ 'interface.cancel' | translate }}</button>\n\n <button\n cdsButton=\"primary\"\n [disabled]=\"!isFormValid || !obs.canAssignAnyDocuments\"\n (click)=\"closeModal(true)\"\n >\n {{ 'case.bulkAssign.modal.confirm' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</cds-modal>\n", styles: ["::ng-deep .valtimo-case-bulk-assign-modal .cds--modal-container,::ng-deep .valtimo-case-bulk-assign-modal .cds--modal-content{overflow:unset}form{display:flex;flex-direction:column;gap:1rem}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
3970
|
+
}], ctorParameters: () => [{ type: CaseBulkAssignService }, { type: i1$4.FormBuilder }, { type: i2$4.PermissionService }, { type: i4$1.TeamsApiService }], propDecorators: { modalClass: [{
|
|
3639
3971
|
type: HostBinding,
|
|
3640
3972
|
args: ['class']
|
|
3641
3973
|
}], documentIds: [{
|
|
@@ -3760,10 +4092,10 @@ class CaseDetailTaskListComponent {
|
|
|
3760
4092
|
? { ...acc, myTasks: [...acc.myTasks, curr] }
|
|
3761
4093
|
: { ...acc, otherTasks: [...acc.otherTasks, curr] }, { myTasks: [], otherTasks: [] });
|
|
3762
4094
|
}
|
|
3763
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3764
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
4095
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTaskListComponent, deps: [{ token: i2.DocumentService }, { token: i2$2.IconService }, { token: i1$2.ActivatedRoute }, { token: i2$4.PermissionService }, { token: i5.SseService }, { token: CaseDetailLayoutService }, { token: i3$3.ProcessLinkService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4096
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseDetailTaskListComponent, isStandalone: true, selector: "valtimo-case-detail-task-list", inputs: { openTaskAndProcessLinkInModal: "openTaskAndProcessLinkInModal" }, outputs: { taskClickEvent: "taskClickEvent", formSubmitEvent: "formSubmitEvent" }, viewQueries: [{ propertyName: "_taskDetailModal", first: true, predicate: ["taskDetail"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"task-list\"\n *ngIf=\"{loadingTasks: loadingTasks$ | async, tasks: processInstanceTasks$ | async} as obs\"\n>\n @if (obs.loadingTasks && !obs.tasks) {\n <ng-container *ngTemplateOutlet=\"loadingTasksTemplate\"></ng-container>\n } @else if (obs.tasks?.myTasks?.length === 0 && obs.tasks?.otherTasks?.length === 0) {\n <ng-container *ngTemplateOutlet=\"noTasksTemplate\"></ng-container>\n } @else {\n <h2 class=\"task-list__title\">{{ 'summary.tasks' | translate }}</h2>\n\n <div class=\"task-list__tasks-container\" cdsLayer=\"1\">\n <h3 class=\"task-list__subtitle\">{{ 'summary.myTasks' | translate }}</h3>\n\n @if (obs.tasks?.myTasks.length === 0) {\n {{ 'summary.noResultsMyTasks' | translate }}\n } @else {\n @for (taskWithProcessLink of obs.tasks?.myTasks; track taskWithProcessLink.task.id) {\n <ng-container\n *ngTemplateOutlet=\"taskTemplate; context: {taskWithProcessLink: taskWithProcessLink}\"\n ></ng-container>\n }\n }\n </div>\n\n <div class=\"task-list__tasks-container\" cdsLayer=\"1\">\n <h3 class=\"task-list__subtitle\">{{ 'summary.otherTasks' | translate }}</h3>\n\n @if (obs.tasks?.otherTasks.length === 0) {\n {{ 'summary.noResultsOtherTasks' | translate }}\n } @else {\n @for (taskWithProcessLink of obs.tasks?.otherTasks; track taskWithProcessLink.task.id) {\n <ng-container\n *ngTemplateOutlet=\"taskTemplate; context: {taskWithProcessLink: taskWithProcessLink}\"\n ></ng-container>\n }\n }\n </div>\n }\n\n <valtimo-task-detail-modal\n #taskDetail\n [openFromCaseManagement]=\"true\"\n [modalSize]=\"formSize$ | async\"\n (formSubmit)=\"onFormSubmit()\"\n (assignmentOfTaskChanged)=\"refresh()\"\n (dueDateChanged)=\"refresh()\"\n ></valtimo-task-detail-modal>\n</div>\n\n<ng-template #taskTemplate let-taskWithProcessLink=\"taskWithProcessLink\">\n <cds-clickable-tile [href]=\"null\" (click)=\"rowTaskClick(taskWithProcessLink)\">\n <div class=\"task\">\n <div class=\"task__header\">\n <span class=\"task__title\">{{ taskWithProcessLink.task.name }}</span>\n\n @if (!!taskWithProcessLink.task.assignee) {\n <cds-tag\n class=\"cds-tag--no-margin\"\n [ngbTooltip]=\"'summary.taskIsAssigned' | translate\"\n [type]=\"'cool-gray'\"\n >\n <svg cdsIcon=\"user--filled\" size=\"20\"></svg>\n </cds-tag>\n }\n <cds-tag\n class=\"cds-tag--no-margin\"\n [type]=\"taskWithProcessLink.task.isLocked ? 'cool-gray' : 'green'\"\n >\n @if (!taskWithProcessLink.task.isLocked) {\n {{ 'summary.taskOpen' | translate }}\n } @else {\n <i class=\"icon mdi mdi-lock\"></i>\n }\n </cds-tag>\n </div>\n\n <div class=\"task__description\">\n {{ 'summary.taskCreated' | translate }} {{ taskWithProcessLink.task.created }}\n </div>\n\n <div class=\"task__subtitles\">\n @for (subtitle of taskWithProcessLink.task?.subtitles || []; track subtitle) {\n <p class=\"task__subtitle\">{{ subtitle }}</p>\n }\n </div>\n </div>\n </cds-clickable-tile>\n</ng-template>\n\n<ng-template #noTasksTemplate>\n <valtimo-no-results\n [alwaysRenderVertically]=\"true\"\n illustration=\"valtimo-layout/img/emptystate-success.svg\"\n [description]=\"'summary.userTasksDoneState' | translate\"\n [smallPadding]=\"true\"\n ></valtimo-no-results>\n</ng-template>\n\n<ng-template #loadingTasksTemplate>\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n</ng-template>\n", styles: [".task-list{width:100%;background-color:var(--cds-layer);padding:24px;display:flex;flex-direction:column;gap:16px}.task-list__title{font-size:24px;line-height:24px;font-weight:600}.task-list__subtitle{font-size:16px;line-height:16px;font-weight:600}.task-list__tasks-container,.task{display:flex;flex-direction:column;gap:8px}.task__header{display:flex;justify-content:space-between;align-items:center;gap:8px}.task__header .cds--tag{margin:0;white-space:pre}.task__title{flex:1;font-size:14px;font-weight:600;line-height:20px;letter-spacing:.16px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.task__subtitle{font-size:12px;font-weight:400;line-height:16px;letter-spacing:.32px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task__subtitles{display:flex;flex-direction:column;gap:4px}.task__description{font-size:12px;font-weight:400;line-height:16px;letter-spacing:.32px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.loading-container{width:100%;display:flex;justify-content:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i6$1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: WidgetModule }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i2$2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: TaskModule }, { kind: "component", type: i5$2.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", inputs: ["modalSize", "openFromCaseManagement"], outputs: ["formSubmit", "assignmentOfTaskChanged", "dueDateChanged", "modalClosed"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i2$2.ClickableTile, selector: "cds-clickable-tile, ibm-clickable-tile", inputs: ["theme", "href", "target", "rel", "disabled", "route", "routeExtras"], outputs: ["navigation"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i2$2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i2$2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }] }); }
|
|
3765
4097
|
}
|
|
3766
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4098
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailTaskListComponent, decorators: [{
|
|
3767
4099
|
type: Component,
|
|
3768
4100
|
args: [{ selector: 'valtimo-case-detail-task-list', standalone: true, imports: [
|
|
3769
4101
|
CommonModule,
|
|
@@ -3809,16 +4141,18 @@ class CaseDetailsTaskDetailComponent {
|
|
|
3809
4141
|
if (!value)
|
|
3810
4142
|
return;
|
|
3811
4143
|
this.taskAndProcessLink$.next(value);
|
|
4144
|
+
this.task$.next(value.task);
|
|
3812
4145
|
this.pageValue.set({
|
|
3813
4146
|
title: value?.task.name,
|
|
3814
4147
|
subtitle: `${this.translateService.instant('taskDetail.taskCreated')} ${value?.task?.created}`,
|
|
3815
4148
|
});
|
|
3816
4149
|
}
|
|
3817
|
-
constructor(configService, pageHeaderService, permissionService, translateService) {
|
|
4150
|
+
constructor(configService, pageHeaderService, permissionService, translateService, taskService) {
|
|
3818
4151
|
this.configService = configService;
|
|
3819
4152
|
this.pageHeaderService = pageHeaderService;
|
|
3820
4153
|
this.permissionService = permissionService;
|
|
3821
4154
|
this.translateService = translateService;
|
|
4155
|
+
this.taskService = taskService;
|
|
3822
4156
|
this.closeEvent = new EventEmitter();
|
|
3823
4157
|
this.assignmentOfTaskChanged = new EventEmitter();
|
|
3824
4158
|
this.dueDateChanged = new EventEmitter();
|
|
@@ -3826,7 +4160,7 @@ class CaseDetailsTaskDetailComponent {
|
|
|
3826
4160
|
this.formSubmit = new EventEmitter();
|
|
3827
4161
|
this.compactMode$ = this.pageHeaderService.compactMode$;
|
|
3828
4162
|
this.taskAndProcessLink$ = new BehaviorSubject(null);
|
|
3829
|
-
this.task$ =
|
|
4163
|
+
this.task$ = new BehaviorSubject(null);
|
|
3830
4164
|
this.canAssignUserToTask$ = this.task$.pipe(switchMap((task) => this.permissionService.requestPermission(CAN_ASSIGN_TASK_PERMISSION, {
|
|
3831
4165
|
resource: TASK_DETAIL_PERMISSION_RESOURCE.task,
|
|
3832
4166
|
identifier: task?.id ?? '',
|
|
@@ -3840,6 +4174,14 @@ class CaseDetailsTaskDetailComponent {
|
|
|
3840
4174
|
title: '',
|
|
3841
4175
|
subtitle: '',
|
|
3842
4176
|
});
|
|
4177
|
+
this.candidateUsers$ = combineLatest([
|
|
4178
|
+
this.task$.pipe(filter(task => !!task)),
|
|
4179
|
+
this.canAssignUserToTask$,
|
|
4180
|
+
]).pipe(switchMap(([task, canAssign]) => (canAssign ? this.taskService.getCandidateUsers(task.id) : of([]))), shareReplay(1));
|
|
4181
|
+
this.candidateTeams$ = combineLatest([
|
|
4182
|
+
this.task$.pipe(filter(task => !!task)),
|
|
4183
|
+
this.canAssignUserToTask$,
|
|
4184
|
+
]).pipe(switchMap(([task, canAssign]) => canAssign ? this.taskService.getCandidateTeams(task.id).pipe(map(page => page.content)) : of([])), shareReplay(1));
|
|
3843
4185
|
this.enableIntermediateSave = false;
|
|
3844
4186
|
this.enableIntermediateSave = !!this.configService.featureToggles?.enableIntermediateSave;
|
|
3845
4187
|
}
|
|
@@ -3857,16 +4199,62 @@ class CaseDetailsTaskDetailComponent {
|
|
|
3857
4199
|
onActiveChangeEvent(activeChange) {
|
|
3858
4200
|
this.activeChange.emit(activeChange);
|
|
3859
4201
|
}
|
|
4202
|
+
onAssignmentChanged(event) {
|
|
4203
|
+
this.task$.pipe(take(1)).subscribe(task => {
|
|
4204
|
+
if (!task)
|
|
4205
|
+
return;
|
|
4206
|
+
const assignRequest = {};
|
|
4207
|
+
if (event.userId !== undefined)
|
|
4208
|
+
assignRequest.assignee = event.userId ?? '';
|
|
4209
|
+
if (event.teamKey !== undefined)
|
|
4210
|
+
assignRequest.assignedTeamKey = event.teamKey ?? '';
|
|
4211
|
+
this.taskService
|
|
4212
|
+
.assignTask(task.id, assignRequest)
|
|
4213
|
+
.pipe(switchMap(() => this.taskService.getTask(task.id)), take(1))
|
|
4214
|
+
.subscribe(response => {
|
|
4215
|
+
this.refreshTask(response);
|
|
4216
|
+
this.assignmentOfTaskChanged.emit();
|
|
4217
|
+
});
|
|
4218
|
+
});
|
|
4219
|
+
}
|
|
4220
|
+
onUnassigned() {
|
|
4221
|
+
this.task$.pipe(take(1)).subscribe(task => {
|
|
4222
|
+
if (!task)
|
|
4223
|
+
return;
|
|
4224
|
+
this.taskService
|
|
4225
|
+
.unassignTask(task.id)
|
|
4226
|
+
.pipe(switchMap(() => this.taskService.getTask(task.id)), take(1))
|
|
4227
|
+
.subscribe(response => {
|
|
4228
|
+
this.refreshTask(response);
|
|
4229
|
+
this.assignmentOfTaskChanged.emit();
|
|
4230
|
+
});
|
|
4231
|
+
});
|
|
4232
|
+
}
|
|
4233
|
+
refreshTask(response) {
|
|
4234
|
+
const currentTask = this.task$.getValue();
|
|
4235
|
+
if (!currentTask)
|
|
4236
|
+
return;
|
|
4237
|
+
const fetchedTask = response.task;
|
|
4238
|
+
if (!fetchedTask)
|
|
4239
|
+
return;
|
|
4240
|
+
const mergedTask = { ...currentTask };
|
|
4241
|
+
for (const [key, value] of Object.entries(fetchedTask)) {
|
|
4242
|
+
if (value !== undefined) {
|
|
4243
|
+
mergedTask[key] = value;
|
|
4244
|
+
}
|
|
4245
|
+
}
|
|
4246
|
+
this.task$.next(mergedTask);
|
|
4247
|
+
}
|
|
3860
4248
|
onDueDateChanged() {
|
|
3861
4249
|
this.dueDateChanged.emit();
|
|
3862
4250
|
}
|
|
3863
4251
|
onFormSubmitEvent() {
|
|
3864
4252
|
this.formSubmit.emit();
|
|
3865
4253
|
}
|
|
3866
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3867
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
4254
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailsTaskDetailComponent, deps: [{ token: i1.ConfigService }, { token: i2$1.PageHeaderService }, { token: i2$4.PermissionService }, { token: i4.TranslateService }, { token: i5$2.TaskService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4255
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseDetailsTaskDetailComponent, isStandalone: true, selector: "valtimo-case-detail-task-detail", inputs: { taskAndProcessLink: "taskAndProcessLink" }, outputs: { closeEvent: "closeEvent", assignmentOfTaskChanged: "assignmentOfTaskChanged", dueDateChanged: "dueDateChanged", activeChange: "activeChange", formSubmit: "formSubmit" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n canAssignUserToTask: canAssignUserToTask$ | async,\n intermediateSaveValue: intermediateSaveValue$ | async,\n task: task$ | async,\n taskAndProcessLink: taskAndProcessLink$ | async,\n canModifyTask: canModifyTask$ | async,\n } as obs\"\n class=\"valtimo-case-detail-task-detail\"\n>\n <section class=\"valtimo-case-detail-task-detail__header\">\n <valtimo-task-detail-intermediate-save\n *ngIf=\"enableIntermediateSave\"\n [taskAndProcessLink]=\"obs.taskAndProcessLink\"\n (currentIntermediateSaveEvent)=\"onCurrentIntermediateSaveEvent($event)\"\n ></valtimo-task-detail-intermediate-save>\n\n <button cdsButton=\"ghost\" [iconOnly]=\"true\" (click)=\"onClose()\">\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </section>\n\n <section\n class=\"valtimo-case-detail-task-detail__body\"\n [class.valtimo-case-detail-task-detail__body--compact]=\"compactMode$ | async\"\n >\n <div class=\"title-container\">\n <p class=\"valtimo-case-detail-task-detail__title\">{{ pageValue()?.title }}</p>\n\n <p class=\"cds--modal-header__label cds--type-delta\">{{ pageValue()?.subtitle }}</p>\n\n <p *ngIf=\"obs.intermediateSaveValue\" class=\"cds--modal-header__label\">\n {{ 'formManagement.intermediateSave.lastSavedBy' | translate }}:\n\n {{\n obs.intermediateSaveValue.editedBy\n ? obs.intermediateSaveValue.editedBy\n : obs.intermediateSaveValue.createdBy\n }}\n\n {{ 'formManagement.intermediateSave.on' | translate }}:\n\n {{\n obs.intermediateSaveValue.editedOn\n ? obs.intermediateSaveValue.editedOn\n : obs.intermediateSaveValue.createdOn\n }}\n </p>\n\n <div class=\"task-actions\">\n @if (obs.task) {\n <valtimo-assignment\n mode=\"task\"\n [assigneeId]=\"obs.task.assignee\"\n [assigneeFullName]=\"obs.task.valtimoAssignee?.fullName\"\n [assignedTeamKey]=\"obs.task.assignedTeam?.key\"\n [assignedTeamTitle]=\"obs.task.assignedTeam?.title\"\n [hasPermission]=\"obs.canAssignUserToTask\"\n [candidateUsers$]=\"candidateUsers$\"\n [candidateTeams$]=\"candidateTeams$\"\n (assignmentChangedEvent)=\"onAssignmentChanged($event)\"\n (unassignedEvent)=\"onUnassigned()\"\n ></valtimo-assignment>\n\n <valtimo-set-task-due-date\n [task]=\"obs.task\"\n [canModifyTask]=\"obs.canModifyTask\"\n (dueDateChanged)=\"onDueDateChanged()\"\n ></valtimo-set-task-due-date>\n }\n </div>\n </div>\n\n <valtimo-task-detail-content\n [taskAndProcessLink]=\"obs.taskAndProcessLink\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (formSubmit)=\"onFormSubmitEvent()\"\n ></valtimo-task-detail-content>\n </section>\n</div>\n", styles: [".valtimo-case-detail-task-detail{width:100%;display:flex;flex-direction:column;background-color:var(--cds-layer);padding:8px 16px 16px}.valtimo-case-detail-task-detail__header{display:flex;justify-content:flex-end}.valtimo-case-detail-task-detail__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-case-detail-task-detail__body{overflow-y:auto;max-height:calc(100vh - 320px)}.valtimo-case-detail-task-detail__body--compact{max-height:calc(100vh - 280px)}.valtimo-case-detail-task-detail__body .title-container{position:sticky;background-color:var(--cds-layer);top:0;z-index:12;padding-bottom:16px}.valtimo-case-detail-task-detail .task-actions{display:flex;flex-wrap:wrap;width:100%;padding-top:8px;gap:8px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: TaskDetailContentComponent, selector: "valtimo-task-detail-content", inputs: ["task", "taskAndProcessLink", "modalClosed"], outputs: ["closeModalEvent", "formSubmit", "activeChange", "taskUpdated"] }, { kind: "component", type: TaskDetailIntermediateSaveComponent, selector: "valtimo-task-detail-intermediate-save", inputs: ["task", "taskAndProcessLink"], outputs: ["currentIntermediateSaveEvent", "showModalEvent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: AssignmentComponent, selector: "valtimo-assignment", inputs: ["mode", "hasPermission", "assigneeId", "assigneeFullName", "assignedTeamKey", "assignedTeamTitle", "candidateUsers$", "candidateTeams$"], outputs: ["assignmentChangedEvent", "unassignedEvent"] }, { kind: "component", type: SetTaskDueDateComponent, selector: "valtimo-set-task-due-date", inputs: ["canModifyTask", "task"], outputs: ["dueDateChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3868
4256
|
}
|
|
3869
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailsTaskDetailComponent, decorators: [{
|
|
3870
4258
|
type: Component,
|
|
3871
4259
|
args: [{ selector: 'valtimo-case-detail-task-detail', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
3872
4260
|
CommonModule,
|
|
@@ -3875,10 +4263,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3875
4263
|
TaskDetailIntermediateSaveComponent,
|
|
3876
4264
|
ButtonModule,
|
|
3877
4265
|
IconModule,
|
|
3878
|
-
|
|
4266
|
+
AssignmentComponent,
|
|
3879
4267
|
SetTaskDueDateComponent,
|
|
3880
|
-
], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n canAssignUserToTask: canAssignUserToTask$ | async,\n intermediateSaveValue: intermediateSaveValue$ | async,\n task: task$ | async,\n taskAndProcessLink: taskAndProcessLink$ | async,\n canModifyTask: canModifyTask$ | async,\n } as obs\"\n class=\"valtimo-case-detail-task-detail\"\n>\n <section class=\"valtimo-case-detail-task-detail__header\">\n <valtimo-task-detail-intermediate-save\n *ngIf=\"enableIntermediateSave\"\n [taskAndProcessLink]=\"obs.taskAndProcessLink\"\n (currentIntermediateSaveEvent)=\"onCurrentIntermediateSaveEvent($event)\"\n ></valtimo-task-detail-intermediate-save>\n\n <button cdsButton=\"ghost\" [iconOnly]=\"true\" (click)=\"onClose()\">\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </section>\n\n <section\n class=\"valtimo-case-detail-task-detail__body\"\n [class.valtimo-case-detail-task-detail__body--compact]=\"compactMode$ | async\"\n >\n <div class=\"title-container\">\n <p class=\"valtimo-case-detail-task-detail__title\">{{ pageValue()?.title }}</p>\n\n <p class=\"cds--modal-header__label cds--type-delta\">{{ pageValue()?.subtitle }}</p>\n\n <p *ngIf=\"obs.intermediateSaveValue\" class=\"cds--modal-header__label\">\n {{ 'formManagement.intermediateSave.lastSavedBy' | translate }}:\n\n {{\n obs.intermediateSaveValue.editedBy\n ? obs.intermediateSaveValue.editedBy\n : obs.intermediateSaveValue.createdBy\n }}\n\n {{ 'formManagement.intermediateSave.on' | translate }}:\n\n {{\n obs.intermediateSaveValue.editedOn\n ? obs.intermediateSaveValue.editedOn\n : obs.intermediateSaveValue.createdOn\n }}\n </p>\n\n <div class=\"task-actions\">\n @if (obs.task) {\n <valtimo-
|
|
3881
|
-
}], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2$1.PageHeaderService }, { type: i2$4.PermissionService }, { type: i4.TranslateService }], propDecorators: { taskAndProcessLink: [{
|
|
4268
|
+
], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n canAssignUserToTask: canAssignUserToTask$ | async,\n intermediateSaveValue: intermediateSaveValue$ | async,\n task: task$ | async,\n taskAndProcessLink: taskAndProcessLink$ | async,\n canModifyTask: canModifyTask$ | async,\n } as obs\"\n class=\"valtimo-case-detail-task-detail\"\n>\n <section class=\"valtimo-case-detail-task-detail__header\">\n <valtimo-task-detail-intermediate-save\n *ngIf=\"enableIntermediateSave\"\n [taskAndProcessLink]=\"obs.taskAndProcessLink\"\n (currentIntermediateSaveEvent)=\"onCurrentIntermediateSaveEvent($event)\"\n ></valtimo-task-detail-intermediate-save>\n\n <button cdsButton=\"ghost\" [iconOnly]=\"true\" (click)=\"onClose()\">\n <svg cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </section>\n\n <section\n class=\"valtimo-case-detail-task-detail__body\"\n [class.valtimo-case-detail-task-detail__body--compact]=\"compactMode$ | async\"\n >\n <div class=\"title-container\">\n <p class=\"valtimo-case-detail-task-detail__title\">{{ pageValue()?.title }}</p>\n\n <p class=\"cds--modal-header__label cds--type-delta\">{{ pageValue()?.subtitle }}</p>\n\n <p *ngIf=\"obs.intermediateSaveValue\" class=\"cds--modal-header__label\">\n {{ 'formManagement.intermediateSave.lastSavedBy' | translate }}:\n\n {{\n obs.intermediateSaveValue.editedBy\n ? obs.intermediateSaveValue.editedBy\n : obs.intermediateSaveValue.createdBy\n }}\n\n {{ 'formManagement.intermediateSave.on' | translate }}:\n\n {{\n obs.intermediateSaveValue.editedOn\n ? obs.intermediateSaveValue.editedOn\n : obs.intermediateSaveValue.createdOn\n }}\n </p>\n\n <div class=\"task-actions\">\n @if (obs.task) {\n <valtimo-assignment\n mode=\"task\"\n [assigneeId]=\"obs.task.assignee\"\n [assigneeFullName]=\"obs.task.valtimoAssignee?.fullName\"\n [assignedTeamKey]=\"obs.task.assignedTeam?.key\"\n [assignedTeamTitle]=\"obs.task.assignedTeam?.title\"\n [hasPermission]=\"obs.canAssignUserToTask\"\n [candidateUsers$]=\"candidateUsers$\"\n [candidateTeams$]=\"candidateTeams$\"\n (assignmentChangedEvent)=\"onAssignmentChanged($event)\"\n (unassignedEvent)=\"onUnassigned()\"\n ></valtimo-assignment>\n\n <valtimo-set-task-due-date\n [task]=\"obs.task\"\n [canModifyTask]=\"obs.canModifyTask\"\n (dueDateChanged)=\"onDueDateChanged()\"\n ></valtimo-set-task-due-date>\n }\n </div>\n </div>\n\n <valtimo-task-detail-content\n [taskAndProcessLink]=\"obs.taskAndProcessLink\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (formSubmit)=\"onFormSubmitEvent()\"\n ></valtimo-task-detail-content>\n </section>\n</div>\n", styles: [".valtimo-case-detail-task-detail{width:100%;display:flex;flex-direction:column;background-color:var(--cds-layer);padding:8px 16px 16px}.valtimo-case-detail-task-detail__header{display:flex;justify-content:flex-end}.valtimo-case-detail-task-detail__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}.valtimo-case-detail-task-detail__body{overflow-y:auto;max-height:calc(100vh - 320px)}.valtimo-case-detail-task-detail__body--compact{max-height:calc(100vh - 280px)}.valtimo-case-detail-task-detail__body .title-container{position:sticky;background-color:var(--cds-layer);top:0;z-index:12;padding-bottom:16px}.valtimo-case-detail-task-detail .task-actions{display:flex;flex-wrap:wrap;width:100%;padding-top:8px;gap:8px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
4269
|
+
}], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2$1.PageHeaderService }, { type: i2$4.PermissionService }, { type: i4.TranslateService }, { type: i5$2.TaskService }], propDecorators: { taskAndProcessLink: [{
|
|
3882
4270
|
type: Input
|
|
3883
4271
|
}], closeEvent: [{
|
|
3884
4272
|
type: Output
|
|
@@ -3946,10 +4334,10 @@ class CaseDetailHeaderWidgetComponent {
|
|
|
3946
4334
|
onNoVisibleFields(noVisibleFields) {
|
|
3947
4335
|
this.$noVisibleFields.set(noVisibleFields);
|
|
3948
4336
|
}
|
|
3949
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
3950
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
4337
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailHeaderWidgetComponent, deps: [{ token: CaseHeaderWidgetApiService }, { token: i1$2.ActivatedRoute }, { token: i2$4.PermissionService }, { token: i2$1.CdsThemeService }, { token: i5.SseService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4338
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseDetailHeaderWidgetComponent, isStandalone: true, selector: "valtimo-case-detail-header-widget", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n@if (canViewCaseHeaderWidget$ | async) {\n <ng-container\n *ngIf=\"{\n headerWidget: headerWidget$ | async,\n headerWidgetData: headerWidgetData$ | async,\n theme: theme$ | async,\n } as obs\"\n >\n <div\n *ngIf=\"obs.headerWidget\"\n class=\"header-widget-container\"\n [attr.data-carbon-theme]=\"obs.theme\"\n [style.display]=\"$noVisibleFields() && 'none'\"\n >\n @if (!obs.headerWidgetData) {\n <div class=\"header-widget-container__loader\"><cds-loading size=\"sm\"></cds-loading></div>\n } @else {\n <valtimo-widget-field\n class=\"valtimo-widget-field--compact\"\n [cdsLayer]=\"1\"\n [widgetConfiguration]=\"obs.headerWidget\"\n [widgetData]=\"obs.headerWidgetData\"\n (noVisibleFieldsEvent)=\"onNoVisibleFields($event)\"\n ></valtimo-widget-field>\n }\n </div>\n </ng-container>\n}\n", styles: [".header-widget-container{display:flex;width:100%;justify-content:center;background:var(--cds-layer);margin-top:16px;margin-bottom:16px}.header-widget-container__loader{margin:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "component", type: WidgetFieldComponent, selector: "valtimo-widget-field", inputs: ["widgetConfiguration", "widgetData"], outputs: ["noVisibleFieldsEvent"] }, { kind: "ngmodule", type: LoadingModule }, { kind: "component", type: i2$2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i2$2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "ngmodule", type: InputModule }] }); }
|
|
3951
4339
|
}
|
|
3952
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4340
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailHeaderWidgetComponent, decorators: [{
|
|
3953
4341
|
type: Component,
|
|
3954
4342
|
args: [{ standalone: true, selector: 'valtimo-case-detail-header-widget', imports: [CommonModule, WidgetFieldComponent, LoadingModule, LayerModule, InputModule], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n@if (canViewCaseHeaderWidget$ | async) {\n <ng-container\n *ngIf=\"{\n headerWidget: headerWidget$ | async,\n headerWidgetData: headerWidgetData$ | async,\n theme: theme$ | async,\n } as obs\"\n >\n <div\n *ngIf=\"obs.headerWidget\"\n class=\"header-widget-container\"\n [attr.data-carbon-theme]=\"obs.theme\"\n [style.display]=\"$noVisibleFields() && 'none'\"\n >\n @if (!obs.headerWidgetData) {\n <div class=\"header-widget-container__loader\"><cds-loading size=\"sm\"></cds-loading></div>\n } @else {\n <valtimo-widget-field\n class=\"valtimo-widget-field--compact\"\n [cdsLayer]=\"1\"\n [widgetConfiguration]=\"obs.headerWidget\"\n [widgetData]=\"obs.headerWidgetData\"\n (noVisibleFieldsEvent)=\"onNoVisibleFields($event)\"\n ></valtimo-widget-field>\n }\n </div>\n </ng-container>\n}\n", styles: [".header-widget-container{display:flex;width:100%;justify-content:center;background:var(--cds-layer);margin-top:16px;margin-bottom:16px}.header-widget-container__loader{margin:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
3955
4343
|
}], ctorParameters: () => [{ type: CaseHeaderWidgetApiService }, { type: i1$2.ActivatedRoute }, { type: i2$4.PermissionService }, { type: i2$1.CdsThemeService }, { type: i5.SseService }] });
|
|
@@ -4131,10 +4519,10 @@ class CaseSupportingProcessStartModalComponent {
|
|
|
4131
4519
|
openCdsModal() {
|
|
4132
4520
|
this.modalOpen$.next(true);
|
|
4133
4521
|
}
|
|
4134
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
4522
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseSupportingProcessStartModalComponent, deps: [{ token: i1$2.Router }, { token: i2$3.ProcessService }, { token: i3$3.ProcessLinkService }, { token: FORM_VIEW_MODEL_TOKEN, optional: true }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4523
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseSupportingProcessStartModalComponent, isStandalone: false, selector: "valtimo-case-supporting-process-start-modal", inputs: { isAdmin: "isAdmin" }, outputs: { formSubmit: "formSubmit" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "formViewModelDynamicContainer", first: true, predicate: ["formViewModelComponent"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "formCustomComponentDynamicContainer", first: true, predicate: ["formCustomComponent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal [open]=\"modalOpen$ | async\" valtimoCdsModal size=\"sm\" [minContentHeight]=\"480\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\" [cdsLayer]=\"1\"\n ><h3 cdsModalHeaderHeading>\n {{\n (processDefinitionKey$ | async | translate) !== (processDefinitionKey$ | async)\n ? (processDefinitionKey$ | async | translate)\n : (processName$ | async)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-template #formViewModelComponent></ng-template>\n <ng-template #formCustomComponent></ng-template>\n\n @if (isLoading$ | async) {\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form' &&\n (formDefinition$ | async)\n ) {\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition$ | async\"\n [options]=\"options$ | async\"\n (submit)=\"onSubmit($event)\"\n ></valtimo-form-io>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form-flow' &&\n (formFlowInstanceId$ | async)\n ) {\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId$ | async\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n }\n\n @if (\n !(isLoading$ | async) &&\n !(formDefinition$ | async) &&\n !(formFlowInstanceId$ | async) &&\n (startProcessLinkType$ | async) !== 'ui-component'\n ) {\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n isAdmin\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n }\n </section>\n</cds-modal>\n", styles: ["#supportingProcessStartModal .formio-component-submit{text-align:right}.loading-container{width:100%;display:flex;justify-content:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "component", type: i2$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "component", type: i2$2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i3$3.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete", "formFlowChange"] }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: i2$1.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "directive", type: i2$2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
4136
4524
|
}
|
|
4137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4525
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseSupportingProcessStartModalComponent, decorators: [{
|
|
4138
4526
|
type: Component,
|
|
4139
4527
|
args: [{ standalone: false, selector: 'valtimo-case-supporting-process-start-modal', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<cds-modal [open]=\"modalOpen$ | async\" valtimoCdsModal size=\"sm\" [minContentHeight]=\"480\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\" [cdsLayer]=\"1\"\n ><h3 cdsModalHeaderHeading>\n {{\n (processDefinitionKey$ | async | translate) !== (processDefinitionKey$ | async)\n ? (processDefinitionKey$ | async | translate)\n : (processName$ | async)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\">\n <ng-template #formViewModelComponent></ng-template>\n <ng-template #formCustomComponent></ng-template>\n\n @if (isLoading$ | async) {\n <div class=\"loading-container\">\n <cds-loading size=\"sm\"></cds-loading>\n </div>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form' &&\n (formDefinition$ | async)\n ) {\n <valtimo-form-io\n #form\n [submission]=\"submission$ | async\"\n [form]=\"formDefinition$ | async\"\n [options]=\"options$ | async\"\n (submit)=\"onSubmit($event)\"\n ></valtimo-form-io>\n }\n\n @if (\n !(isLoading$ | async) &&\n (startProcessLinkType$ | async) === 'form-flow' &&\n (formFlowInstanceId$ | async)\n ) {\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId$ | async\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n }\n\n @if (\n !(isLoading$ | async) &&\n !(formDefinition$ | async) &&\n !(formFlowInstanceId$ | async) &&\n (startProcessLinkType$ | async) !== 'ui-component'\n ) {\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n isAdmin\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n }\n </section>\n</cds-modal>\n", styles: ["#supportingProcessStartModal .formio-component-submit{text-align:right}.loading-container{width:100%;display:flex;justify-content:center}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
4140
4528
|
}], ctorParameters: () => [{ type: i1$2.Router }, { type: i2$3.ProcessService }, { type: i3$3.ProcessLinkService }, { type: undefined, decorators: [{
|
|
@@ -4177,142 +4565,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
4177
4565
|
* See the License for the specific language governing permissions and
|
|
4178
4566
|
* limitations under the License.
|
|
4179
4567
|
*/
|
|
4180
|
-
class
|
|
4181
|
-
|
|
4182
|
-
this.
|
|
4183
|
-
}
|
|
4184
|
-
set assigneeId(value) {
|
|
4185
|
-
this.assigneeId$.next(value);
|
|
4186
|
-
}
|
|
4187
|
-
set assigneeFullName(value) {
|
|
4188
|
-
this.assigneeFullName$.next(value);
|
|
4189
|
-
}
|
|
4190
|
-
constructor(documentService, cdsThemeService, iconService) {
|
|
4191
|
-
this.documentService = documentService;
|
|
4192
|
-
this.cdsThemeService = cdsThemeService;
|
|
4193
|
-
this.iconService = iconService;
|
|
4194
|
-
this.hasPermission = true;
|
|
4195
|
-
this.assignmentOfDocumentChanged = new EventEmitter();
|
|
4196
|
-
this.disabled$ = new BehaviorSubject(true);
|
|
4197
|
-
this.documentId$ = new BehaviorSubject('');
|
|
4198
|
-
this.userItems$ = this.documentId$.pipe(filter(documentId => !!documentId), switchMap(documentId => this.hasPermission ? this.documentService.getCandidateUsers(documentId) : of([])), map(candidateUsers => this.mapUsersForDropdown(candidateUsers)), tap$1(() => this.enable()));
|
|
4199
|
-
this.assigneeId$ = new BehaviorSubject('');
|
|
4200
|
-
this.assigneeFullName$ = new BehaviorSubject('');
|
|
4201
|
-
this.mouseIsOverAssignee$ = new BehaviorSubject(false);
|
|
4202
|
-
this.selectedUserId$ = new BehaviorSubject(null);
|
|
4203
|
-
this.open$ = new Subject();
|
|
4204
|
-
this.toggletipTheme$ = this.cdsThemeService.toggletipTheme$;
|
|
4205
|
-
this.iconService.registerAll([UserFollow16]);
|
|
4206
|
-
}
|
|
4207
|
-
assignDocument(userId) {
|
|
4208
|
-
this.disable();
|
|
4209
|
-
this.documentId$
|
|
4210
|
-
.pipe(switchMap(documentId => this.documentService.assignHandlerToDocument(documentId, userId)))
|
|
4211
|
-
.subscribe(() => {
|
|
4212
|
-
this.closeToggletip();
|
|
4213
|
-
this.emitChange();
|
|
4214
|
-
this.enable();
|
|
4215
|
-
});
|
|
4216
|
-
}
|
|
4217
|
-
unassignDocument() {
|
|
4218
|
-
this.disable();
|
|
4219
|
-
this.documentId$
|
|
4220
|
-
.pipe(switchMap(documentId => this.documentService.unassignHandlerFromDocument(documentId)))
|
|
4221
|
-
.subscribe(() => {
|
|
4222
|
-
this.emitChange();
|
|
4223
|
-
this.enable();
|
|
4224
|
-
});
|
|
4225
|
-
}
|
|
4226
|
-
onUserSelect(event) {
|
|
4227
|
-
this.selectedUserId$.next(event?.id || null);
|
|
4228
|
-
}
|
|
4229
|
-
onSubmitButtonClick() {
|
|
4230
|
-
const userId = this.selectedUserId$.getValue();
|
|
4231
|
-
if (userId) {
|
|
4232
|
-
this.assignDocument(userId);
|
|
4233
|
-
}
|
|
4234
|
-
}
|
|
4235
|
-
clear() {
|
|
4236
|
-
this.selectedUserId$.next(null);
|
|
4237
|
-
}
|
|
4238
|
-
onMouseEnterAssignee() {
|
|
4239
|
-
this.mouseIsOverAssignee$.next(true);
|
|
4240
|
-
}
|
|
4241
|
-
onMouseLeaveAssignee() {
|
|
4242
|
-
this.mouseIsOverAssignee$.next(false);
|
|
4568
|
+
class TabTranslatePipe {
|
|
4569
|
+
constructor(translateService) {
|
|
4570
|
+
this.translateService = translateService;
|
|
4243
4571
|
}
|
|
4244
|
-
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
|
|
4248
|
-
|
|
4249
|
-
|
|
4250
|
-
|
|
4251
|
-
})
|
|
4252
|
-
.map(user => ({ content: user.label, id: user.id, selected: false }));
|
|
4572
|
+
transform(tab) {
|
|
4573
|
+
const translationId = 'case.tabs.' + tab.name;
|
|
4574
|
+
return tab.title
|
|
4575
|
+
? of(tab.title)
|
|
4576
|
+
: this.translateService
|
|
4577
|
+
.stream(translationId)
|
|
4578
|
+
.pipe(map(translation => (translationId !== translation ? translation : tab.name)));
|
|
4253
4579
|
}
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
}
|
|
4257
|
-
enable() {
|
|
4258
|
-
this.disabled$.next(false);
|
|
4259
|
-
}
|
|
4260
|
-
disable() {
|
|
4261
|
-
this.disabled$.next(true);
|
|
4262
|
-
}
|
|
4263
|
-
closeToggletip() {
|
|
4264
|
-
this.open$.next(true);
|
|
4265
|
-
setTimeout(() => this.open$.next(false));
|
|
4266
|
-
}
|
|
4267
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CaseAssignUserComponent, deps: [{ token: i2.DocumentService }, { token: i2$1.CdsThemeService }, { token: i2$2.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4268
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: CaseAssignUserComponent, isStandalone: false, selector: "valtimo-case-assign-user", inputs: { documentId: "documentId", assigneeId: "assigneeId", assigneeFullName: "assigneeFullName", hasPermission: "hasPermission" }, outputs: { assignmentOfDocumentChanged: "assignmentOfDocumentChanged" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async,\n userItems: userItems$ | async,\n mouseIsOverAssignee: mouseIsOverAssignee$ | async,\n selectedUserId: selectedUserId$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.assigneeId || hasPermission\">\n <div\n class=\"assign-user-container\"\n (mouseenter)=\"onMouseEnterAssignee()\"\n (mouseleave)=\"onMouseLeaveAssignee()\"\n >\n <div\n class=\"assignee-text element\"\n [ngClass]=\"{\n active: hasPermission\n ? obs.assigneeId && !obs.mouseIsOverAssignee\n : obs.assigneeId,\n }\"\n >\n <span class=\"bold\">{{ 'assignDocument.assignedTo' | translate }}</span>\n \n <span class=\"name\">{{ obs.assigneeFullName }}</span>\n </div>\n\n <button\n *ngIf=\"hasPermission && obs.assigneeId\"\n cdsButton=\"ghost\"\n class=\"element remove-button\"\n [ngClass]=\"{active: obs.assigneeId && obs.mouseIsOverAssignee}\"\n [disabled]=\"obs.disabled\"\n size=\"sm\"\n (click)=\"unassignDocument()\"\n >\n {{ 'assignDocument.remove' | translate }}\n </button>\n\n <cds-toggletip\n *ngIf=\"hasPermission\"\n align=\"bottom\"\n class=\"element main\"\n [autoAlign]=\"true\"\n [isOpen]=\"open$ | async\"\n [ngClass]=\"{active: !obs.assigneeId}\"\n (onOpen)=\"clear()\"\n >\n <button\n cdsToggletipButton\n [removeClassnames]=\"['cds--toggletip-button']\"\n cdsButton=\"tertiary\"\n size=\"sm\"\n class=\"set-assignee-button\"\n >\n {{ 'assignDocument.header' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"user--follow\" size=\"16\"></svg>\n </button>\n\n <div\n cdsToggletipContent\n class=\"assign-case-popover-content\"\n >\n <cds-combo-box\n *ngIf=\"!obs.assigneeId\"\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n [label]=\"'assignDocument.header' | translate\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [cdsLayer]=\"1\"\n [items]=\"obs?.userItems || []\"\n [disabled]=\"obs.disabled\"\n (selected)=\"onUserSelect($event)\"\n >\n <cds-dropdown-list onclick=\"event.stopPropagation()\"></cds-dropdown-list>\n </cds-combo-box>\n\n <button\n cdsButton\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n class=\"submit-assignee-button\"\n [disabled]=\"!obs.selectedUserId || obs.disabled\"\n (click)=\"onSubmitButtonClick()\"\n >\n {{ 'assignDocument.submitButtonText' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"user--follow\" size=\"16\"></svg>\n </button>\n\n <ng-container *ngIf=\"!obs.userItems\">\n <span class=\"loading-text\" [attr.data-carbon-theme]=\"toggletipTheme$ | async\">{{ 'assignDocument.fetchingUsers' | translate }}</span>\n </ng-container>\n </div>\n </cds-toggletip>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host ::ng-deep .cds--popover-content{max-inline-size:unset}.assign-user-container{display:flex;align-items:center;justify-content:center;position:relative;font-weight:400;font-size:14px;line-height:18px;letter-spacing:.16px;color:var(--cds-link-01)}.assign-user-container .bold{font-weight:700;flex-shrink:0}.assign-user-container .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remove-button{width:100%}.assignee-text{display:flex;justify-content:flex-start;align-items:center;width:100%}.element{opacity:0;visibility:hidden;position:absolute;transition:opacity .3s ease-in-out}.element.active{opacity:1;visibility:visible}.element.main{position:relative}.assign-case-popover-content{width:400px;max-inline-size:400px;display:flex;flex-direction:column;gap:16px}.set-assignee-button{width:250px}.submit-assignee-button{width:100%;max-width:unset}.loading-text{font-size:14px;color:var(--cds-text-secondary)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i2$2.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled", "readonly", "fluid"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "directive", type: i2$2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: i2$2.Toggletip, selector: "cds-toggletip, ibm-toggletip", inputs: ["id", "isOpen"] }, { kind: "directive", type: i2$2.ToggletipButton, selector: "[cdsToggletipButton], [ibmToggletipButton]", inputs: ["ariaLabel"] }, { kind: "directive", type: i2$2.ToggletipContent, selector: "[cdsToggletipContent], [ibmToggletipContent]" }, { kind: "directive", type: i2$1.RemoveClassnamesDirective, selector: "[removeClassnames]", inputs: ["removeClassnames"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
4580
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabTranslatePipe, deps: [{ token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
4581
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: TabTranslatePipe, isStandalone: false, name: "tabTranslate" }); }
|
|
4269
4582
|
}
|
|
4270
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
4271
|
-
type: Component,
|
|
4272
|
-
args: [{ standalone: false, selector: 'valtimo-case-assign-user', template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n assigneeFullName: assigneeFullName$ | async,\n assigneeId: assigneeId$ | async,\n userItems: userItems$ | async,\n mouseIsOverAssignee: mouseIsOverAssignee$ | async,\n selectedUserId: selectedUserId$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.assigneeId || hasPermission\">\n <div\n class=\"assign-user-container\"\n (mouseenter)=\"onMouseEnterAssignee()\"\n (mouseleave)=\"onMouseLeaveAssignee()\"\n >\n <div\n class=\"assignee-text element\"\n [ngClass]=\"{\n active: hasPermission\n ? obs.assigneeId && !obs.mouseIsOverAssignee\n : obs.assigneeId,\n }\"\n >\n <span class=\"bold\">{{ 'assignDocument.assignedTo' | translate }}</span>\n \n <span class=\"name\">{{ obs.assigneeFullName }}</span>\n </div>\n\n <button\n *ngIf=\"hasPermission && obs.assigneeId\"\n cdsButton=\"ghost\"\n class=\"element remove-button\"\n [ngClass]=\"{active: obs.assigneeId && obs.mouseIsOverAssignee}\"\n [disabled]=\"obs.disabled\"\n size=\"sm\"\n (click)=\"unassignDocument()\"\n >\n {{ 'assignDocument.remove' | translate }}\n </button>\n\n <cds-toggletip\n *ngIf=\"hasPermission\"\n align=\"bottom\"\n class=\"element main\"\n [autoAlign]=\"true\"\n [isOpen]=\"open$ | async\"\n [ngClass]=\"{active: !obs.assigneeId}\"\n (onOpen)=\"clear()\"\n >\n <button\n cdsToggletipButton\n [removeClassnames]=\"['cds--toggletip-button']\"\n cdsButton=\"tertiary\"\n size=\"sm\"\n class=\"set-assignee-button\"\n >\n {{ 'assignDocument.header' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"user--follow\" size=\"16\"></svg>\n </button>\n\n <div\n cdsToggletipContent\n class=\"assign-case-popover-content\"\n >\n <cds-combo-box\n *ngIf=\"!obs.assigneeId\"\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n [label]=\"'assignDocument.header' | translate\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n [appendInline]=\"true\"\n [dropUp]=\"false\"\n [cdsLayer]=\"1\"\n [items]=\"obs?.userItems || []\"\n [disabled]=\"obs.disabled\"\n (selected)=\"onUserSelect($event)\"\n >\n <cds-dropdown-list onclick=\"event.stopPropagation()\"></cds-dropdown-list>\n </cds-combo-box>\n\n <button\n cdsButton\n [attr.data-carbon-theme]=\"toggletipTheme$ | async\"\n class=\"submit-assignee-button\"\n [disabled]=\"!obs.selectedUserId || obs.disabled\"\n (click)=\"onSubmitButtonClick()\"\n >\n {{ 'assignDocument.submitButtonText' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"user--follow\" size=\"16\"></svg>\n </button>\n\n <ng-container *ngIf=\"!obs.userItems\">\n <span class=\"loading-text\" [attr.data-carbon-theme]=\"toggletipTheme$ | async\">{{ 'assignDocument.fetchingUsers' | translate }}</span>\n </ng-container>\n </div>\n </cds-toggletip>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host ::ng-deep .cds--popover-content{max-inline-size:unset}.assign-user-container{display:flex;align-items:center;justify-content:center;position:relative;font-weight:400;font-size:14px;line-height:18px;letter-spacing:.16px;color:var(--cds-link-01)}.assign-user-container .bold{font-weight:700;flex-shrink:0}.assign-user-container .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remove-button{width:100%}.assignee-text{display:flex;justify-content:flex-start;align-items:center;width:100%}.element{opacity:0;visibility:hidden;position:absolute;transition:opacity .3s ease-in-out}.element.active{opacity:1;visibility:visible}.element.main{position:relative}.assign-case-popover-content{width:400px;max-inline-size:400px;display:flex;flex-direction:column;gap:16px}.set-assignee-button{width:250px}.submit-assignee-button{width:100%;max-width:unset}.loading-text{font-size:14px;color:var(--cds-text-secondary)}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
4273
|
-
}], ctorParameters: () => [{ type: i2.DocumentService }, { type: i2$1.CdsThemeService }, { type: i2$2.IconService }], propDecorators: { documentId: [{
|
|
4274
|
-
type: Input
|
|
4275
|
-
}], assigneeId: [{
|
|
4276
|
-
type: Input
|
|
4277
|
-
}], assigneeFullName: [{
|
|
4278
|
-
type: Input
|
|
4279
|
-
}], hasPermission: [{
|
|
4280
|
-
type: Input
|
|
4281
|
-
}], assignmentOfDocumentChanged: [{
|
|
4282
|
-
type: Output
|
|
4283
|
-
}] } });
|
|
4284
|
-
|
|
4285
|
-
/*
|
|
4286
|
-
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
4287
|
-
*
|
|
4288
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
4289
|
-
* you may not use this file except in compliance with the License.
|
|
4290
|
-
* You may obtain a copy of the License at
|
|
4291
|
-
*
|
|
4292
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
4293
|
-
*
|
|
4294
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
4295
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
4296
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4297
|
-
* See the License for the specific language governing permissions and
|
|
4298
|
-
* limitations under the License.
|
|
4299
|
-
*/
|
|
4300
|
-
class TabTranslatePipe {
|
|
4301
|
-
constructor(translateService) {
|
|
4302
|
-
this.translateService = translateService;
|
|
4303
|
-
}
|
|
4304
|
-
transform(tab) {
|
|
4305
|
-
const translationId = 'case.tabs.' + tab.name;
|
|
4306
|
-
return tab.title
|
|
4307
|
-
? of(tab.title)
|
|
4308
|
-
: this.translateService
|
|
4309
|
-
.stream(translationId)
|
|
4310
|
-
.pipe(map(translation => (translationId !== translation ? translation : tab.name)));
|
|
4311
|
-
}
|
|
4312
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TabTranslatePipe, deps: [{ token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
4313
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: TabTranslatePipe, isStandalone: false, name: "tabTranslate" }); }
|
|
4314
|
-
}
|
|
4315
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TabTranslatePipe, decorators: [{
|
|
4583
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabTranslatePipe, decorators: [{
|
|
4316
4584
|
type: Pipe,
|
|
4317
4585
|
args: [{
|
|
4318
4586
|
standalone: false,
|
|
@@ -4420,6 +4688,16 @@ class CaseDetailComponent {
|
|
|
4420
4688
|
})), tap(() => {
|
|
4421
4689
|
this.canAssignLoaded$.next(true);
|
|
4422
4690
|
}));
|
|
4691
|
+
this.candidateUsers$ = combineLatest([
|
|
4692
|
+
this.caseService.refreshDocument$,
|
|
4693
|
+
this.canAssign$,
|
|
4694
|
+
]).pipe(switchMap(([_, canAssign]) => canAssign ? this.documentService.getCandidateUsers(this.documentId) : of([])), shareReplay(1));
|
|
4695
|
+
this.candidateTeams$ = combineLatest([
|
|
4696
|
+
this.caseService.refreshDocument$,
|
|
4697
|
+
this.canAssign$,
|
|
4698
|
+
]).pipe(switchMap(([_, canAssign]) => canAssign
|
|
4699
|
+
? this.documentService.getCandidateTeams(this.documentId).pipe(map(page => page.content))
|
|
4700
|
+
: of([])), shareReplay(1));
|
|
4423
4701
|
this.canClaim$ = this.route.paramMap.pipe(switchMap((params) => this.permissionService.requestPermission(CAN_CLAIM_CASE_PERMISSION, {
|
|
4424
4702
|
resource: CASE_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
4425
4703
|
identifier: params.get('documentId') ?? '',
|
|
@@ -4649,6 +4927,20 @@ class CaseDetailComponent {
|
|
|
4649
4927
|
assignmentOfDocumentChanged() {
|
|
4650
4928
|
this.caseService.refresh();
|
|
4651
4929
|
}
|
|
4930
|
+
onAssignmentChanged(event) {
|
|
4931
|
+
const assigneeId = event.userId !== undefined ? (event.userId ?? '') : undefined;
|
|
4932
|
+
const assignedTeamKey = event.teamKey !== undefined ? (event.teamKey ?? '') : undefined;
|
|
4933
|
+
this.documentService
|
|
4934
|
+
.assignHandlerToDocument(this.documentId, assigneeId, assignedTeamKey)
|
|
4935
|
+
.subscribe(() => {
|
|
4936
|
+
this.caseService.refresh();
|
|
4937
|
+
});
|
|
4938
|
+
}
|
|
4939
|
+
onUnassigned() {
|
|
4940
|
+
this.documentService.unassignHandlerFromDocument(this.documentId).subscribe(() => {
|
|
4941
|
+
this.caseService.refresh();
|
|
4942
|
+
});
|
|
4943
|
+
}
|
|
4652
4944
|
getNestedProperty(obj, path, defaultValue) {
|
|
4653
4945
|
return (path.split('.').reduce((currentObject, key) => currentObject?.[key], obj) || defaultValue);
|
|
4654
4946
|
}
|
|
@@ -4728,13 +5020,13 @@ class CaseDetailComponent {
|
|
|
4728
5020
|
}
|
|
4729
5021
|
}));
|
|
4730
5022
|
}
|
|
4731
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4732
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: CaseDetailComponent, isStandalone: false, selector: "ng-component", providers: [CaseTabService, CaseDetailLayoutService, ObserveSizeDirective], viewQueries: [{ propertyName: "supportingProcessStart", first: true, predicate: ["supportingProcessStartModal"], descendants: true }, { propertyName: "viewContainerRef", first: true, predicate: ["tabContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "_tabContentContainer", first: true, predicate: ["tabContentContainer"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF 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\n class=\"main-content__header\"\n observeSize\n (heightChange)=\"onMainContentHeaderHeightChange($event)\"\n >\n <valtimo-case-detail-header-widget></valtimo-case-detail-header-widget>\n\n <ng-container *ngIf=\"caseTags$ | async as caseTags\">\n @if ((caseTags || []).length > 0) {\n <div class=\"spacing-case-tags\">\n @for (tag of caseTags; track tag) {\n <cds-tag size=\"sm\" [type]=\"tag.tagType\">\n {{ tag.title }}\n </cds-tag>\n }\n </div>\n }\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n\n <ng-template #tabs>\n <ng-container *ngIf=\"{activeTab: activeTab$ | async} as obs\">\n <cds-tabs *ngIf=\"tabLoader\" type=\"inline\" class=\"case-detail-tabs\">\n <cds-tab\n *ngFor=\"let tab of tabLoader.tabs\"\n [active]=\"tab.name === (activeTabName$ | async)\"\n heading=\"{{ tab | tabTranslate | async }}\"\n (selected)=\"onTabSelected(tab, obs.activeTab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n </ng-template>\n </div>\n\n <div\n *ngIf=\"{\n noTabsConfigured: noTabsConfigured$ | async,\n showTaskList: showTaskList$ | async,\n showNoAccess: showNoAccess$ | async,\n caseDetailLayout: caseDetailLayout$ | async,\n openTaskAndProcessLinkInModal: openTaskAndProcessLinkInModal$ | async,\n taskAndProcessLinkOpenedInPanel: taskAndProcessLinkOpenedInPanel$ | async,\n isDarkMode: isDarkMode$ | async,\n compactMode: compactMode$ | async,\n tabContentContainerMaxHeight: tabContentContainerMaxHeight$ | async,\n } as tabContentObs\"\n #tabContentContainer\n class=\"tab-content-container\"\n [ngClass]=\"{\n 'tab-content-container--dark': tabContentObs.isDarkMode,\n 'tab-content-container--compact': tabContentObs.compactMode,\n }\"\n [style.max-height]=\"tabContentObs.tabContentContainerMaxHeight\"\n [style.height]=\"tabContentObs.tabContentContainerMaxHeight\"\n >\n <as-split\n direction=\"horizontal\"\n [disabled]=\"!tabContentObs.caseDetailLayout.widthAdjustable\"\n [gutterSize]=\"CASE_DETAIL_GUTTER_SIZE\"\n [unit]=\"tabContentObs.caseDetailLayout.unit\"\n class=\"split-area\"\n >\n <as-split-area\n [size]=\"tabContentObs.caseDetailLayout.leftPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.leftPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.leftPanelMaxWidth\"\n class=\"split-area__content\"\n >\n <div\n class=\"card-body bg-white p-5 position-relative tab-container\"\n [class.tab-container--compact]=\"compactMode$ | async\"\n >\n <div *ngIf=\"loadingTabs$ | async\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.showNoAccess\"\n description=\"{{ 'case.noAccess.description' | translate }}\"\n title=\"{{ 'case.noAccess.title' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-not-authorised.svg\"\n >\n </valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.noTabsConfigured\"\n [description]=\"'case.tabs.noResultsDescription' | translate\"\n [title]=\"'case.tabs.noResults' | translate\"\n ></valtimo-no-results>\n\n <ng-template #tabContainer></ng-template>\n\n <div class=\"clearfix\"></div>\n </div>\n </as-split-area>\n\n <as-split-area\n *ngIf=\"tabContentObs.caseDetailLayout.showRightPanel\"\n [size]=\"tabContentObs.caseDetailLayout.rightPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.rightPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.rightPanelMaxWidth\"\n >\n @if (tabContentObs.showTaskList) {\n <div class=\"task-panel\">\n @if (!tabContentObs.taskAndProcessLinkOpenedInPanel) {\n <valtimo-case-detail-task-list\n [openTaskAndProcessLinkInModal]=\"tabContentObs.openTaskAndProcessLinkInModal\"\n (taskClickEvent)=\"onTaskClickEvent($event)\"\n (formSubmitEvent)=\"onFormSubmitEvent()\"\n ></valtimo-case-detail-task-list>\n }\n\n @if (tabContentObs.taskAndProcessLinkOpenedInPanel) {\n <valtimo-case-detail-task-detail\n [taskAndProcessLink]=\"tabContentObs.taskAndProcessLinkOpenedInPanel\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (closeEvent)=\"onTaskDetailsClose()\"\n (formSubmit)=\"onFormSubmitEvent()\"\n (dueDateChanged)=\"onDueDateChanged()\"\n >\n </valtimo-case-detail-task-detail>\n }\n </div>\n }\n </as-split-area>\n </as-split>\n </div>\n </div>\n\n <valtimo-case-supporting-process-start-modal\n [isAdmin]=\"isAdmin$ | async\"\n (formSubmit)=\"onFormSubmitEvent()\"\n #supportingProcessStartModal\n ></valtimo-case-supporting-process-start-modal>\n</div>\n\n<ng-template\n #caseDetailHeader\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document, canAssign: canAssign}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template\n #caseDetailAssignee\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div *ngIf=\"canHaveAssignee && document\">\n <valtimo-case-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-case-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 {{ 'case.claimAssigneeCase' | translate }}\n </cds-overflow-menu-option>\n</ng-template>\n\n<ng-template\n #unassignButton\n let-canAssign=\"canAssign\"\n let-canHaveAssignee=\"canHaveAssignee\"\n let-assigneeId=\"assigneeId\"\n>\n <cds-overflow-menu-option\n *ngIf=\"canHaveAssignee && canAssign\"\n [disabled]=\"!assigneeId\"\n (selected)=\"unassignAssignee()\"\n >\n {{ 'assignDocument.remove' | translate }}\n </cds-overflow-menu-option>\n</ng-template>\n\n<ng-template #deleteButton let-canDelete=\"canDelete\">\n <cds-overflow-menu-option\n *ngIf=\"canDelete\"\n [disabled]=\"isDeleting$ | async\"\n (click)=\"deleteDocument()\"\n type=\"danger\"\n >\n {{ 'case.delete.delete' | translate }}\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]=\"processDefinitionCaseDefinitions.length === 0\"\n [ngbTooltip]=\"processDefinitionCaseDefinitions.length === 0 ? 'No action' : null\"\n >\n {{ 'case.startSubProcess' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"chevron--down\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.delete.confirm\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.delete.description\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.delete.delete\"\n (confirmEvent)=\"onConfirmDelete()\"\n></valtimo-confirmation-modal>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"case-actions\"\n [ngClass]=\"{\n 'case-actions--compact': compactMode$ | async,\n 'case-actions--small-title': smallTitle$ | async,\n }\"\n *ngIf=\"{\n assigneeId: assigneeId$ | async,\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n canDelete: canDelete$ | async,\n document: document$ | async,\n caseStatus: caseStatus$ | async,\n } as obs\"\n >\n <div class=\"case-status-assign-custom-title\" [ngClass]=\"{'--compact': compactMode$ | async}\">\n @if (obs.caseStatus) {\n <cds-tag size=\"sm\" [type]=\"obs.caseStatus.tagType\" [title]=\"obs.caseStatus.title\">{{\n obs.caseStatus.title\n }}</cds-tag>\n }\n\n <div [ngClass]=\"{'--compact': compactMode$ | async}\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {\n canHaveAssignee: obs.canHaveAssignee,\n document: obs.document,\n canAssign: obs.canAssign,\n }\n \"\n ></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"caseDetailHeader\"></ng-container>\n </div>\n\n <div class=\"buttons-container\">\n <cds-overflow-menu\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n *ngIf=\"obs.canHaveAssignee || obs.canDelete\"\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\n <ng-container\n *ngTemplateOutlet=\"\n unassignButton;\n context: {\n canAssign: obs.canAssign,\n canHaveAssignee: obs.canHaveAssignee,\n assigneeId: obs.assigneeId,\n }\n \"\n >\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteButton; context: {canDelete: obs.canDelete}\">\n </ng-container>\n </cds-overflow-menu>\n\n <cds-overflow-menu\n valtimoCdsOverflowButton\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n [width]=\"dropdownWidth$ | async\"\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 processDefinitionCaseDefinition of processDefinitionCaseDefinitions\"\n [attr.title]=\"processDefinitionCaseDefinition.displayName\"\n (click)=\"startProcess(processDefinitionCaseDefinition)\"\n >\n {{ processDefinitionCaseDefinition.displayName }}\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;overflow-x:hidden}.tab-container:has(>.tab--no-margin){padding:0!important}.tab-container:has(>.tab--no-min-height){min-height:unset}.tab-container:has(>.tab--no-background){background:transparent!important}.tab-content-container{display:flex;gap:32px;overflow:auto;margin-bottom:16px}.loading-container{display:flex;justify-content:center;flex-direction:row}.case-detail-tabs{display:flex;margin-bottom:24px}.case-detail-tabs cds-tab{display:none!important}.cds--overflow-menu-options{margin-top:32px}.assign-overflow{margin-right:8px}.buttons-container{display:flex;flex-direction:row}.case-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:4px}.case-actions--compact,.case-actions--small-title{padding-bottom:0;align-items:flex-start}.case-actions ::ng-deep .version-selection{width:160px}.case-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.case-status-assign-custom-title{display:flex;gap:16px;align-items:flex-end}.case-status-assign-custom-title .cds--tag{margin:0;overflow:hidden;text-overflow:ellipsis;line-height:24px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:100%}.case-status-assign-custom-title.--compact{align-items:center}.task-panel{width:100%;transition:height .15s ease-in-out}.split-area__content{height:100%!important}.split-area__content .tab-container{height:min-content!important;overflow:hidden!important}:host ::ng-deep .container-fluid{height:100%!important;width:100%!important;margin:0!important;padding:0!important}::ng-deep .tab-content-container .as-split-gutter{background-color:transparent!important;--_as-gutter-icon-disabled: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1'/%3E\");--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABQJJREFUeF7dWll22zAMpNwzlM5xmpMlOVl6mzrKHexWm8UFy4xIp+/FP3mxQWAwWAiRGsJ3/gwhhJvt4CRCfgCtosYhDOHm4SlW7rZyq9t/R7GsZoYQDhCA89UIrzakKuQtpRTiHv03ycJB3t8KuU9AByNfw5dWJpj1h5YABmGRsvgufzsSG21NEwGWUrv5yiuZb31yMZoAAjBFPqBdor9G0vpwu2+PBgE6TK/q0pUxxiwZxnE0SefkE0sHWQUygGG3ll0c2tGNn+M0DiSfHDlHQBu2rffoWgBWPRHWIUreM654li5bMwDQBIhI9naHFgVQCSS2PHliWlLm0/YsMrcwK6ISp1QGANhzG7XFDj2gUFr8yzrkydOJ6CyACBB1lIWkbPyeQ2UQ2ZKxksCLft4EaWqB/AshHCdg0b/1gB7wJB1QBrQ0ml4E2MMyFgxJ6iABuEGdgCUeZVQm+fQ7fhfAsflzAKFLS1G2ptmMwUpDl1oyAGxo2fw2hHBzjpsm+XiO2TGQF1GWACJGfecAjHmgCTZum/lQfezQTZ3L7z+g3goc2xGtFT86A0qLh5pgjPF13aLmv9aHdYiVn8uMwFNixQlYqVuNvayK3sZxNElgHarlP6duo2bpOcbXWxheVhkTj7Tv4ATsTG/OL6CG8DZ+KCQMIcSf6HnAAo8hrAjGRpIblLxveDm8/q4YC6fT6flyufzWBhXGoTWd4QOUp6enX9fr9X2od6SFhJlTu4FBGZA5n+jbnddZjPG8nz8lo222ItHJEraRICAAMmG6rPGb2FTjedqHsET+4/Lbu+phHWLlJ/g+Cd4gpJDgp71HHzAHFCqOEFCSULjrNkaxw2rO/zidnv/MNY99WIcY+TKufibUmOcSEB5IxLTHXLal2FG4h83VPzET1h6wUxDP8fXfJW5V8xuQhqFwVtGNgDuQ6Yo367Pb9ixdjVckVE1QS/0ekZhybRw/zMZblkBpd1sMPIdJkAsClF2ghQQPYJYBQjp5BKCBEHD4JZDi6bED3AebRDFbAp58Ski3JrgphQcgozEwXZ2dBH3nZ2Bq5KcyahuEgO1wIWBnyIuoS5hA9pHIp01dnANSdlvKwXWocRC6Pw/U70MBozCQAWI5JKDF5wFrtk8uR6XKYQibnL9dr+/CjgA5v81AamMFByTTmOhQp56hPw5/vrrvx61euz2gZKfHgcj98bUkgjo/WJCxeMrJFyQgR8ocQcGnwqsJpgSK8pymTPeIThus4DKwBKWJFNsFklEcOT9ApyFADswAQJMiwkaUldeQ7ZTKDWf79tsSgIasDwGduro1CbY+hVqZgpJ1SA5L6bQHMJNjOy19MsCgBiNgV8DK+1GxSXoYAcMwhNttOedPIZTPAhm8bQ6Anx57ZMBGgfHuXs6yuEANBBtR/2bIjzkj8bAMSIYU+KLDaoKSU8KFCOP7LAsTcDTZ2jPAfrUWf3VGnwdo1pgF5xiz9yhazwOExwfv9suEm2XArJwNtSP/+AxgwlHL1iVwiAUdhEaAxhtLWGbZDEbPEiCyhHWIla93KO7AvMoAwre7bW5jxCAfwaHnoa4N3gVU5X2RthX0gdVNBPhDZnYgzMH7ImKbCOA8wnfsVO+jeUgIEHfYFUs7jHYNLN2YvJkBXwYaNuQIwnp2cgoCag3LN1Z2+EwfwCVPLPAOJ1n05oDt9x5oRR37Pb72s/e+kU81L/EXSRwjcUdkvjUAAAAASUVORK5CYII=)}::ng-deep .tab-content-container .as-split-gutter-icon{background-repeat:no-repeat;background-size:16px 16px}::ng-deep .tab-content-container--dark .as-split-gutter{--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABPlJREFUeF7tm1tW3DAMhu2+krCmdmWlKytrIuGV9HjixDddfjkOtOd0XmAGWZfPsiw7g3fVyzvntvpD9H01+JIuwCamX5YKf9VfmCVaDze2S2fXIDG+CGC8YsrqMCvDFDmHZYCeI5gE6LietD2LlNb6uQAQTLWfCDTLmLpOIfoRvxEZydZn+pH7+vdlAEJyoIwIwDIrFtk7C2TyA/Po9gxY1zVWrN2haZq85FqS3zEF+YET3qi6rFzjfAR0yGkBwQA0wyFU75zf5MaOBYDoR2YGDigqY+U7HOKHlAsFiQOXqax+JYCYBGJr32ZAB+lEpxwc3i1nDcDWtBUYPjN8p35VBxf/4/MQUI7lqAGPzwjYBQDv3PQ0+Ue/CjV/sODp8+UiyNE7XLHO6EM+Dg4/ntBdAI69zdIqBlgTlDldADLN9a7R551cDot0kDPNbn40AIh6LSS4DS0Be9jJg7sAXPHJfBZojbXriMscGgDvvhUYmRGEes6iocJiyVejWdelYDPNk5cquhnAxVSAlgDZQG/7bUqKjvZEDqgdYwaAzQsrVQHowFkPqd5bA4LlO1ytp+zoFM0Ml2V5CYPmeX78lF7v67rla8B6GpynKZxnxBfmD03MvASCMe/9z+DRtm2/SAiZLXRGqcapbYTaICB/BHwggN1wbuzQSUHI3UQBHPqo+wPO/7dlefkWJ0PyR0ofEIAjg49Z8GOe51fOCAYgIcPkd2vLsnz33v+ubadJ0TZw8Fqcmnkk+CBjCahHXodQ49mhHGjUDJCDf37Vjmn54Sa4MuxGaL/weWzDdggJigjgDL7KpG3bxLTPmY/PALqa90JgAahpf/ohb8jjAfAlrQdCCSDG0gRPxCiHzf81XwKUVA1M7gDwbojbspsM4GZea3jov5cFp6cGoHYRFCWE5FthQwKAGCnLS9vD6UXwXbnIRpGUcsH3D6JxI2sADwFHwEnqAI4HKW0AB07ci6QDXgLHELUIghPxbxRBBukICDuAZMCaAbu8XnLf1K4wzBjdGYpzSUGI66ntBQg/8QzYB+PyyW18++sAEHvu8wSY02IbosyONaBTPj7XO6/F+SxVzgPKRooWlN7l0A0g+i0tGXrmvdu2D/qYTrBgO0GKG3ocRlrhB/jm6a13zR2i8GAk+BOOw/lmy95RMIlgAlAvh4ex5/ll5CUndYMkJfGNFyL84sCuoHa3tSVQW9HkGxjeueUNv6Krx7dbTO5R/J1FARSQ9X3d8gyh13RSZAYA9iOcmHkJWO1ZA+LkRdbaRAlO3wogKL/+/YDZl5cuFQogC/P4k/j+mx0AYVDyYVQGWDMPlbcDQDVHOREA1DmGDAgv7emA0bEofgmAmn3euXUpT3d9Z4G+4PRR+6PR9oigRqarPiT6ng4nBzRguCe0ZJEBatyqQGvkfw249VtiHTNSzdGZAddVESmW1YBDv5bSpoxBnOZkst7h6jISx5sCEltnJFp7KKkG3KNfPQvULluB2UMuR1zaBiXjB08+IJr4FQA9c3gDgNINKSDK4SCff67VjEsZEI+Cl3Scg3vwA4cU6uu0bRL3d4k3ZEDm3mAoY2YqdX7BvVsA2OJW9qlhUe+KQvObX1DYANS+2iIdHArR0bArgXfUBoAMoewopH9ROd3oBmcZiMkOANA3sXUq9mm5Pqrvq7IYXLo3Vs713ao7WRAZ8NULfTACRd0fdjtUcYyr1cIAAAAASUVORK5CYII=)}.spacing-case-tags{margin-bottom:8px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6$1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i2$2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i2$2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2$2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "directive", type: i2$1.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i2$2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: i2$2.OverflowMenu, selector: "cds-overflow-menu, ibm-overflow-menu", inputs: ["buttonLabel", "description", "flip", "placement", "open", "customTrigger", "offset", "wrapperClass", "triggerClass"], outputs: ["openChange"] }, { kind: "component", type: i2$2.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "directive", type: i2$1.ValtimoCdsOverflowButtonDirective, selector: "[valtimoCdsOverflowButton]", inputs: ["width"] }, { kind: "component", type: CaseDetailTaskListComponent, selector: "valtimo-case-detail-task-list", inputs: ["openTaskAndProcessLinkInModal"], outputs: ["taskClickEvent", "formSubmitEvent"] }, { kind: "component", type: CaseDetailsTaskDetailComponent, selector: "valtimo-case-detail-task-detail", inputs: ["taskAndProcessLink"], outputs: ["closeEvent", "assignmentOfTaskChanged", "dueDateChanged", "activeChange", "formSubmit"] }, { kind: "component", type: i17.SplitComponent, selector: "as-split", inputs: ["gutterSize", "gutterStep", "disabled", "gutterClickDeltaPx", "direction", "dir", "unit", "gutterAriaLabel", "restrictMove", "useTransition", "gutterDblClickDuration"], outputs: ["gutterClick", "gutterDblClick", "dragStart", "dragEnd", "transitionEnd"], exportAs: ["asSplit"] }, { kind: "component", type: i17.SplitAreaComponent, selector: "as-split-area", inputs: ["size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "component", type: CaseDetailHeaderWidgetComponent, selector: "valtimo-case-detail-header-widget" }, { kind: "directive", type: i2$1.ObserveSizeDirective, selector: "[observeSize]", outputs: ["widthChange", "heightChange"] }, { kind: "component", type: CaseSupportingProcessStartModalComponent, selector: "valtimo-case-supporting-process-start-modal", inputs: ["isAdmin"], outputs: ["formSubmit"] }, { kind: "component", type: CaseAssignUserComponent, selector: "valtimo-case-assign-user", inputs: ["documentId", "assigneeId", "assigneeFullName", "hasPermission"], outputs: ["assignmentOfDocumentChanged"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: TabTranslatePipe, name: "tabTranslate" }] }); }
|
|
5023
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailComponent, deps: [{ token: i2$1.BreadcrumbService }, { token: i2.CaseStatusService }, { token: i2$1.CdsThemeService }, { token: i0.ComponentFactoryResolver }, { token: i2.DocumentService }, { token: CaseDetailLayoutService }, { token: CaseService }, { token: CaseTabService }, { token: i2$2.IconService }, { token: i5$3.KeycloakService }, { token: i1$3.NGXLogger }, { token: i1.GlobalNotificationService }, { token: i2$1.PageHeaderService }, { token: i2$1.PageTitleService }, { token: i2$4.PermissionService }, { token: i4.TranslateService }, { token: i0.Renderer2 }, { token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: WidgetsService }, { token: i12.UserProviderService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5024
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseDetailComponent, isStandalone: false, selector: "ng-component", providers: [CaseTabService, CaseDetailLayoutService, ObserveSizeDirective], viewQueries: [{ propertyName: "supportingProcessStart", first: true, predicate: ["supportingProcessStartModal"], descendants: true }, { propertyName: "viewContainerRef", first: true, predicate: ["tabContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "_tabContentContainer", first: true, predicate: ["tabContentContainer"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF 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\n class=\"main-content__header\"\n observeSize\n (heightChange)=\"onMainContentHeaderHeightChange($event)\"\n >\n <valtimo-case-detail-header-widget></valtimo-case-detail-header-widget>\n\n <ng-container *ngIf=\"caseTags$ | async as caseTags\">\n @if ((caseTags || []).length > 0) {\n <div class=\"spacing-case-tags\">\n @for (tag of caseTags; track tag) {\n <cds-tag size=\"sm\" [type]=\"tag.tagType\">\n {{ tag.title }}\n </cds-tag>\n }\n </div>\n }\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n\n <ng-template #tabs>\n <ng-container *ngIf=\"{activeTab: activeTab$ | async} as obs\">\n <cds-tabs *ngIf=\"tabLoader\" type=\"inline\" class=\"case-detail-tabs\">\n <cds-tab\n *ngFor=\"let tab of tabLoader.tabs\"\n [active]=\"tab.name === (activeTabName$ | async)\"\n heading=\"{{ tab | tabTranslate | async }}\"\n (selected)=\"onTabSelected(tab, obs.activeTab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n </ng-template>\n </div>\n\n <div\n *ngIf=\"{\n noTabsConfigured: noTabsConfigured$ | async,\n showTaskList: showTaskList$ | async,\n showNoAccess: showNoAccess$ | async,\n caseDetailLayout: caseDetailLayout$ | async,\n openTaskAndProcessLinkInModal: openTaskAndProcessLinkInModal$ | async,\n taskAndProcessLinkOpenedInPanel: taskAndProcessLinkOpenedInPanel$ | async,\n isDarkMode: isDarkMode$ | async,\n compactMode: compactMode$ | async,\n tabContentContainerMaxHeight: tabContentContainerMaxHeight$ | async,\n } as tabContentObs\"\n #tabContentContainer\n class=\"tab-content-container\"\n [ngClass]=\"{\n 'tab-content-container--dark': tabContentObs.isDarkMode,\n 'tab-content-container--compact': tabContentObs.compactMode,\n }\"\n [style.max-height]=\"tabContentObs.tabContentContainerMaxHeight\"\n [style.height]=\"tabContentObs.tabContentContainerMaxHeight\"\n >\n <as-split\n direction=\"horizontal\"\n [disabled]=\"!tabContentObs.caseDetailLayout.widthAdjustable\"\n [gutterSize]=\"CASE_DETAIL_GUTTER_SIZE\"\n [unit]=\"tabContentObs.caseDetailLayout.unit\"\n class=\"split-area\"\n >\n <as-split-area\n [size]=\"tabContentObs.caseDetailLayout.leftPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.leftPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.leftPanelMaxWidth\"\n class=\"split-area__content\"\n >\n <div\n class=\"card-body bg-white p-5 position-relative tab-container\"\n [class.tab-container--compact]=\"compactMode$ | async\"\n >\n <div *ngIf=\"loadingTabs$ | async\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.showNoAccess\"\n description=\"{{ 'case.noAccess.description' | translate }}\"\n title=\"{{ 'case.noAccess.title' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-not-authorised.svg\"\n >\n </valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.noTabsConfigured\"\n [description]=\"'case.tabs.noResultsDescription' | translate\"\n [title]=\"'case.tabs.noResults' | translate\"\n ></valtimo-no-results>\n\n <ng-template #tabContainer></ng-template>\n\n <div class=\"clearfix\"></div>\n </div>\n </as-split-area>\n\n <as-split-area\n *ngIf=\"tabContentObs.caseDetailLayout.showRightPanel\"\n [size]=\"tabContentObs.caseDetailLayout.rightPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.rightPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.rightPanelMaxWidth\"\n >\n @if (tabContentObs.showTaskList) {\n <div class=\"task-panel\">\n @if (!tabContentObs.taskAndProcessLinkOpenedInPanel) {\n <valtimo-case-detail-task-list\n [openTaskAndProcessLinkInModal]=\"tabContentObs.openTaskAndProcessLinkInModal\"\n (taskClickEvent)=\"onTaskClickEvent($event)\"\n (formSubmitEvent)=\"onFormSubmitEvent()\"\n ></valtimo-case-detail-task-list>\n }\n\n @if (tabContentObs.taskAndProcessLinkOpenedInPanel) {\n <valtimo-case-detail-task-detail\n [taskAndProcessLink]=\"tabContentObs.taskAndProcessLinkOpenedInPanel\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (closeEvent)=\"onTaskDetailsClose()\"\n (formSubmit)=\"onFormSubmitEvent()\"\n (dueDateChanged)=\"onDueDateChanged()\"\n >\n </valtimo-case-detail-task-detail>\n }\n </div>\n }\n </as-split-area>\n </as-split>\n </div>\n </div>\n\n <valtimo-case-supporting-process-start-modal\n [isAdmin]=\"isAdmin$ | async\"\n (formSubmit)=\"onFormSubmitEvent()\"\n #supportingProcessStartModal\n ></valtimo-case-supporting-process-start-modal>\n</div>\n\n<ng-template\n #caseDetailHeader\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document, canAssign: canAssign}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template\n #caseDetailAssignee\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div *ngIf=\"canHaveAssignee && document\">\n <valtimo-assignment\n *ngIf=\"canAssignLoaded$ | async\"\n mode=\"case\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n [assigneeId]=\"document.assigneeId\"\n [assignedTeamKey]=\"document.assignedTeamKey\"\n [assignedTeamTitle]=\"document.assignedTeamTitle\"\n [hasPermission]=\"canAssign\"\n [candidateUsers$]=\"candidateUsers$\"\n [candidateTeams$]=\"candidateTeams$\"\n (assignmentChangedEvent)=\"onAssignmentChanged($event)\"\n (unassignedEvent)=\"onUnassigned()\"\n ></valtimo-assignment>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canClaim=\"canClaim\" let-canHaveAssignee=\"canHaveAssignee\">\n <v-overflow-menu-option\n *ngIf=\"canClaim && canHaveAssignee\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n (selected)=\"claimAssignee()\"\n >\n {{ 'case.claimAssigneeCase' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template\n #unassignButton\n let-canAssign=\"canAssign\"\n let-canHaveAssignee=\"canHaveAssignee\"\n let-assigneeId=\"assigneeId\"\n>\n <v-overflow-menu-option\n *ngIf=\"canHaveAssignee && canAssign\"\n [disabled]=\"!assigneeId\"\n (selected)=\"unassignAssignee()\"\n >\n {{ 'assignDocument.remove' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #deleteButton let-canDelete=\"canDelete\">\n <v-overflow-menu-option\n *ngIf=\"canDelete\"\n [disabled]=\"isDeleting$ | async\"\n (selected)=\"deleteDocument()\"\n type=\"danger\"\n >\n {{ 'case.delete.delete' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #customStartTrigger>\n <button\n [size]=\"(compactMode$ | async) ? 'sm' : 'lg'\"\n cdsButton=\"primary\"\n [disabled]=\"processDefinitionCaseDefinitions.length === 0\"\n [ngbTooltip]=\"processDefinitionCaseDefinitions.length === 0 ? 'No action' : null\"\n >\n {{ 'case.startSubProcess' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"chevron--down\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.delete.confirm\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.delete.description\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.delete.delete\"\n (confirmEvent)=\"onConfirmDelete()\"\n></valtimo-confirmation-modal>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"case-actions\"\n [ngClass]=\"{\n 'case-actions--compact': compactMode$ | async,\n 'case-actions--small-title': smallTitle$ | async,\n }\"\n *ngIf=\"{\n assigneeId: assigneeId$ | async,\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n canDelete: canDelete$ | async,\n document: document$ | async,\n caseStatus: caseStatus$ | async,\n } as obs\"\n >\n <div class=\"case-status-assign-custom-title\" [ngClass]=\"{'--compact': compactMode$ | async}\">\n @if (obs.caseStatus) {\n <cds-tag size=\"sm\" [type]=\"obs.caseStatus.tagType\" [title]=\"obs.caseStatus.title\">{{\n obs.caseStatus.title\n }}</cds-tag>\n }\n\n <div [ngClass]=\"{'--compact': compactMode$ | async}\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {\n canHaveAssignee: obs.canHaveAssignee,\n document: obs.document,\n canAssign: obs.canAssign,\n }\n \"\n ></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"caseDetailHeader\"></ng-container>\n </div>\n\n <div class=\"buttons-container\">\n <v-overflow-menu\n *ngIf=\"obs.canHaveAssignee || obs.canDelete\"\n placement=\"bottom-end\"\n class=\"overflow-button assign-overflow\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n <v-overflow-menu-trigger overflowTrigger [compact]=\"compactMode$ | async\"></v-overflow-menu-trigger>\n\n <ng-container\n *ngTemplateOutlet=\"\n claimButton;\n context: {canClaim: obs.canClaim, canHaveAssignee: obs.canHaveAssignee}\n \"\n >\n </ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n unassignButton;\n context: {\n canAssign: obs.canAssign,\n canHaveAssignee: obs.canHaveAssignee,\n assigneeId: obs.assigneeId,\n }\n \"\n >\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteButton; context: {canDelete: obs.canDelete}\">\n </ng-container>\n </v-overflow-menu>\n\n <v-overflow-menu\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n [menuWidth]=\"dropdownWidth$ | async\"\n placement=\"bottom-end\"\n class=\"overflow-button case-detail-overflow\"\n >\n <ng-container overflowTrigger>\n <ng-container *ngTemplateOutlet=\"customStartTrigger\"></ng-container>\n </ng-container>\n <v-overflow-menu-option\n *ngFor=\"let processDefinitionCaseDefinition of processDefinitionCaseDefinitions\"\n [attr.title]=\"processDefinitionCaseDefinition.displayName\"\n (selected)=\"startProcess(processDefinitionCaseDefinition)\"\n >\n {{ processDefinitionCaseDefinition.displayName }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n </div>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".main-content{overflow:hidden;padding-bottom:0}.main-content--no-horizontal-overflow{overflow-x:hidden}.tab-container{height:min-content;min-height:300px;overflow-y:auto;overflow-x:hidden}.tab-container:has(>.tab--no-margin){padding:0!important}.tab-container:has(>.tab--no-min-height){min-height:unset}.tab-container:has(>.tab--no-background){background:transparent!important}.tab-content-container{display:flex;gap:32px;overflow:auto;margin-bottom:16px}.loading-container{display:flex;justify-content:center;flex-direction:row}.case-detail-tabs{display:flex;margin-bottom:24px}.case-detail-tabs cds-tab{display:none!important}.buttons-container{display:flex;flex-direction:row;gap:8px;align-items:center}.case-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:4px}.case-actions--compact,.case-actions--small-title{padding-bottom:0;align-items:flex-start}.case-actions ::ng-deep .version-selection{width:160px}.case-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.case-status-assign-custom-title{display:flex;gap:16px;align-items:flex-end}.case-status-assign-custom-title .cds--tag{margin:0;overflow:hidden;text-overflow:ellipsis;line-height:24px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:100%}.case-status-assign-custom-title.--compact{align-items:center}.task-panel{width:100%;transition:height .15s ease-in-out}.split-area__content{height:100%!important}.split-area__content .tab-container{height:min-content!important;overflow:hidden!important}:host ::ng-deep .container-fluid{height:100%!important;width:100%!important;margin:0!important;padding:0!important}::ng-deep .tab-content-container .as-split-gutter{background-color:transparent!important;--_as-gutter-icon-disabled: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1'/%3E\");--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABQJJREFUeF7dWll22zAMpNwzlM5xmpMlOVl6mzrKHexWm8UFy4xIp+/FP3mxQWAwWAiRGsJ3/gwhhJvt4CRCfgCtosYhDOHm4SlW7rZyq9t/R7GsZoYQDhCA89UIrzakKuQtpRTiHv03ycJB3t8KuU9AByNfw5dWJpj1h5YABmGRsvgufzsSG21NEwGWUrv5yiuZb31yMZoAAjBFPqBdor9G0vpwu2+PBgE6TK/q0pUxxiwZxnE0SefkE0sHWQUygGG3ll0c2tGNn+M0DiSfHDlHQBu2rffoWgBWPRHWIUreM654li5bMwDQBIhI9naHFgVQCSS2PHliWlLm0/YsMrcwK6ISp1QGANhzG7XFDj2gUFr8yzrkydOJ6CyACBB1lIWkbPyeQ2UQ2ZKxksCLft4EaWqB/AshHCdg0b/1gB7wJB1QBrQ0ml4E2MMyFgxJ6iABuEGdgCUeZVQm+fQ7fhfAsflzAKFLS1G2ptmMwUpDl1oyAGxo2fw2hHBzjpsm+XiO2TGQF1GWACJGfecAjHmgCTZum/lQfezQTZ3L7z+g3goc2xGtFT86A0qLh5pgjPF13aLmv9aHdYiVn8uMwFNixQlYqVuNvayK3sZxNElgHarlP6duo2bpOcbXWxheVhkTj7Tv4ATsTG/OL6CG8DZ+KCQMIcSf6HnAAo8hrAjGRpIblLxveDm8/q4YC6fT6flyufzWBhXGoTWd4QOUp6enX9fr9X2od6SFhJlTu4FBGZA5n+jbnddZjPG8nz8lo222ItHJEraRICAAMmG6rPGb2FTjedqHsET+4/Lbu+phHWLlJ/g+Cd4gpJDgp71HHzAHFCqOEFCSULjrNkaxw2rO/zidnv/MNY99WIcY+TKufibUmOcSEB5IxLTHXLal2FG4h83VPzET1h6wUxDP8fXfJW5V8xuQhqFwVtGNgDuQ6Yo367Pb9ixdjVckVE1QS/0ekZhybRw/zMZblkBpd1sMPIdJkAsClF2ghQQPYJYBQjp5BKCBEHD4JZDi6bED3AebRDFbAp58Ski3JrgphQcgozEwXZ2dBH3nZ2Bq5KcyahuEgO1wIWBnyIuoS5hA9pHIp01dnANSdlvKwXWocRC6Pw/U70MBozCQAWI5JKDF5wFrtk8uR6XKYQibnL9dr+/CjgA5v81AamMFByTTmOhQp56hPw5/vrrvx61euz2gZKfHgcj98bUkgjo/WJCxeMrJFyQgR8ocQcGnwqsJpgSK8pymTPeIThus4DKwBKWJFNsFklEcOT9ApyFADswAQJMiwkaUldeQ7ZTKDWf79tsSgIasDwGduro1CbY+hVqZgpJ1SA5L6bQHMJNjOy19MsCgBiNgV8DK+1GxSXoYAcMwhNttOedPIZTPAhm8bQ6Anx57ZMBGgfHuXs6yuEANBBtR/2bIjzkj8bAMSIYU+KLDaoKSU8KFCOP7LAsTcDTZ2jPAfrUWf3VGnwdo1pgF5xiz9yhazwOExwfv9suEm2XArJwNtSP/+AxgwlHL1iVwiAUdhEaAxhtLWGbZDEbPEiCyhHWIla93KO7AvMoAwre7bW5jxCAfwaHnoa4N3gVU5X2RthX0gdVNBPhDZnYgzMH7ImKbCOA8wnfsVO+jeUgIEHfYFUs7jHYNLN2YvJkBXwYaNuQIwnp2cgoCag3LN1Z2+EwfwCVPLPAOJ1n05oDt9x5oRR37Pb72s/e+kU81L/EXSRwjcUdkvjUAAAAASUVORK5CYII=)}::ng-deep .tab-content-container .as-split-gutter-icon{background-repeat:no-repeat;background-size:16px 16px}::ng-deep .tab-content-container--dark .as-split-gutter{--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABPlJREFUeF7tm1tW3DAMhu2+krCmdmWlKytrIuGV9HjixDddfjkOtOd0XmAGWZfPsiw7g3fVyzvntvpD9H01+JIuwCamX5YKf9VfmCVaDze2S2fXIDG+CGC8YsrqMCvDFDmHZYCeI5gE6LietD2LlNb6uQAQTLWfCDTLmLpOIfoRvxEZydZn+pH7+vdlAEJyoIwIwDIrFtk7C2TyA/Po9gxY1zVWrN2haZq85FqS3zEF+YET3qi6rFzjfAR0yGkBwQA0wyFU75zf5MaOBYDoR2YGDigqY+U7HOKHlAsFiQOXqax+JYCYBGJr32ZAB+lEpxwc3i1nDcDWtBUYPjN8p35VBxf/4/MQUI7lqAGPzwjYBQDv3PQ0+Ue/CjV/sODp8+UiyNE7XLHO6EM+Dg4/ntBdAI69zdIqBlgTlDldADLN9a7R551cDot0kDPNbn40AIh6LSS4DS0Be9jJg7sAXPHJfBZojbXriMscGgDvvhUYmRGEes6iocJiyVejWdelYDPNk5cquhnAxVSAlgDZQG/7bUqKjvZEDqgdYwaAzQsrVQHowFkPqd5bA4LlO1ytp+zoFM0Ml2V5CYPmeX78lF7v67rla8B6GpynKZxnxBfmD03MvASCMe/9z+DRtm2/SAiZLXRGqcapbYTaICB/BHwggN1wbuzQSUHI3UQBHPqo+wPO/7dlefkWJ0PyR0ofEIAjg49Z8GOe51fOCAYgIcPkd2vLsnz33v+ubadJ0TZw8Fqcmnkk+CBjCahHXodQ49mhHGjUDJCDf37Vjmn54Sa4MuxGaL/weWzDdggJigjgDL7KpG3bxLTPmY/PALqa90JgAahpf/ohb8jjAfAlrQdCCSDG0gRPxCiHzf81XwKUVA1M7gDwbojbspsM4GZea3jov5cFp6cGoHYRFCWE5FthQwKAGCnLS9vD6UXwXbnIRpGUcsH3D6JxI2sADwFHwEnqAI4HKW0AB07ci6QDXgLHELUIghPxbxRBBukICDuAZMCaAbu8XnLf1K4wzBjdGYpzSUGI66ntBQg/8QzYB+PyyW18++sAEHvu8wSY02IbosyONaBTPj7XO6/F+SxVzgPKRooWlN7l0A0g+i0tGXrmvdu2D/qYTrBgO0GKG3ocRlrhB/jm6a13zR2i8GAk+BOOw/lmy95RMIlgAlAvh4ex5/ll5CUndYMkJfGNFyL84sCuoHa3tSVQW9HkGxjeueUNv6Krx7dbTO5R/J1FARSQ9X3d8gyh13RSZAYA9iOcmHkJWO1ZA+LkRdbaRAlO3wogKL/+/YDZl5cuFQogC/P4k/j+mx0AYVDyYVQGWDMPlbcDQDVHOREA1DmGDAgv7emA0bEofgmAmn3euXUpT3d9Z4G+4PRR+6PR9oigRqarPiT6ng4nBzRguCe0ZJEBatyqQGvkfw249VtiHTNSzdGZAddVESmW1YBDv5bSpoxBnOZkst7h6jISx5sCEltnJFp7KKkG3KNfPQvULluB2UMuR1zaBiXjB08+IJr4FQA9c3gDgNINKSDK4SCff67VjEsZEI+Cl3Scg3vwA4cU6uu0bRL3d4k3ZEDm3mAoY2YqdX7BvVsA2OJW9qlhUe+KQvObX1DYANS+2iIdHArR0bArgXfUBoAMoewopH9ROd3oBmcZiMkOANA3sXUq9mm5Pqrvq7IYXLo3Vs713ao7WRAZ8NULfTACRd0fdjtUcYyr1cIAAAAASUVORK5CYII=)}.spacing-case-tags{margin-bottom:8px}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6$1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i2$2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i2$2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2$2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "directive", type: i2$1.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "component", type: i2$2.Tag, selector: "cds-tag, ibm-tag", inputs: ["type", "size", "class", "skeleton"] }, { kind: "component", type: i2$1.OverflowMenuComponent, selector: "v-overflow-menu", inputs: ["open", "placement", "menuWidth", "offsetX", "offsetY", "closeOnSelect", "useHostAsReference", "portalToBody"], outputs: ["openChange"] }, { kind: "component", type: i2$1.OverflowMenuOptionComponent, selector: "v-overflow-menu-option", inputs: ["disabled", "type", "testId", "optionId"], outputs: ["selected"] }, { kind: "component", type: i2$1.OverflowMenuTriggerComponent, selector: "v-overflow-menu-trigger", inputs: ["compact"] }, { kind: "component", type: CaseDetailTaskListComponent, selector: "valtimo-case-detail-task-list", inputs: ["openTaskAndProcessLinkInModal"], outputs: ["taskClickEvent", "formSubmitEvent"] }, { kind: "component", type: CaseDetailsTaskDetailComponent, selector: "valtimo-case-detail-task-detail", inputs: ["taskAndProcessLink"], outputs: ["closeEvent", "assignmentOfTaskChanged", "dueDateChanged", "activeChange", "formSubmit"] }, { kind: "component", type: i17.SplitComponent, selector: "as-split", inputs: ["gutterSize", "gutterStep", "disabled", "gutterClickDeltaPx", "direction", "dir", "unit", "gutterAriaLabel", "restrictMove", "useTransition", "gutterDblClickDuration"], outputs: ["gutterClick", "gutterDblClick", "dragStart", "dragEnd", "transitionEnd"], exportAs: ["asSplit"] }, { kind: "component", type: i17.SplitAreaComponent, selector: "as-split-area", inputs: ["size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { kind: "component", type: CaseDetailHeaderWidgetComponent, selector: "valtimo-case-detail-header-widget" }, { kind: "directive", type: i2$1.ObserveSizeDirective, selector: "[observeSize]", outputs: ["widthChange", "heightChange"] }, { kind: "component", type: i2$1.AssignmentComponent, selector: "valtimo-assignment", inputs: ["mode", "hasPermission", "assigneeId", "assigneeFullName", "assignedTeamKey", "assignedTeamTitle", "candidateUsers$", "candidateTeams$"], outputs: ["assignmentChangedEvent", "unassignedEvent"] }, { kind: "component", type: CaseSupportingProcessStartModalComponent, selector: "valtimo-case-supporting-process-start-modal", inputs: ["isAdmin"], outputs: ["formSubmit"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: TabTranslatePipe, name: "tabTranslate" }] }); }
|
|
4733
5025
|
}
|
|
4734
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5026
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseDetailComponent, decorators: [{
|
|
4735
5027
|
type: Component,
|
|
4736
|
-
args: [{ standalone: false, providers: [CaseTabService, CaseDetailLayoutService, ObserveSizeDirective], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n class=\"main-content\"\n [ngClass]=\"{'main-content--no-horizontal-overflow': $tabHorizontalOverflowDisabled()}\"\n>\n <div class=\"container-fluid\">\n <div\n class=\"main-content__header\"\n observeSize\n (heightChange)=\"onMainContentHeaderHeightChange($event)\"\n >\n <valtimo-case-detail-header-widget></valtimo-case-detail-header-widget>\n\n <ng-container *ngIf=\"caseTags$ | async as caseTags\">\n @if ((caseTags || []).length > 0) {\n <div class=\"spacing-case-tags\">\n @for (tag of caseTags; track tag) {\n <cds-tag size=\"sm\" [type]=\"tag.tagType\">\n {{ tag.title }}\n </cds-tag>\n }\n </div>\n }\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n\n <ng-template #tabs>\n <ng-container *ngIf=\"{activeTab: activeTab$ | async} as obs\">\n <cds-tabs *ngIf=\"tabLoader\" type=\"inline\" class=\"case-detail-tabs\">\n <cds-tab\n *ngFor=\"let tab of tabLoader.tabs\"\n [active]=\"tab.name === (activeTabName$ | async)\"\n heading=\"{{ tab | tabTranslate | async }}\"\n (selected)=\"onTabSelected(tab, obs.activeTab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n </ng-template>\n </div>\n\n <div\n *ngIf=\"{\n noTabsConfigured: noTabsConfigured$ | async,\n showTaskList: showTaskList$ | async,\n showNoAccess: showNoAccess$ | async,\n caseDetailLayout: caseDetailLayout$ | async,\n openTaskAndProcessLinkInModal: openTaskAndProcessLinkInModal$ | async,\n taskAndProcessLinkOpenedInPanel: taskAndProcessLinkOpenedInPanel$ | async,\n isDarkMode: isDarkMode$ | async,\n compactMode: compactMode$ | async,\n tabContentContainerMaxHeight: tabContentContainerMaxHeight$ | async,\n } as tabContentObs\"\n #tabContentContainer\n class=\"tab-content-container\"\n [ngClass]=\"{\n 'tab-content-container--dark': tabContentObs.isDarkMode,\n 'tab-content-container--compact': tabContentObs.compactMode,\n }\"\n [style.max-height]=\"tabContentObs.tabContentContainerMaxHeight\"\n [style.height]=\"tabContentObs.tabContentContainerMaxHeight\"\n >\n <as-split\n direction=\"horizontal\"\n [disabled]=\"!tabContentObs.caseDetailLayout.widthAdjustable\"\n [gutterSize]=\"CASE_DETAIL_GUTTER_SIZE\"\n [unit]=\"tabContentObs.caseDetailLayout.unit\"\n class=\"split-area\"\n >\n <as-split-area\n [size]=\"tabContentObs.caseDetailLayout.leftPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.leftPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.leftPanelMaxWidth\"\n class=\"split-area__content\"\n >\n <div\n class=\"card-body bg-white p-5 position-relative tab-container\"\n [class.tab-container--compact]=\"compactMode$ | async\"\n >\n <div *ngIf=\"loadingTabs$ | async\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.showNoAccess\"\n description=\"{{ 'case.noAccess.description' | translate }}\"\n title=\"{{ 'case.noAccess.title' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-not-authorised.svg\"\n >\n </valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.noTabsConfigured\"\n [description]=\"'case.tabs.noResultsDescription' | translate\"\n [title]=\"'case.tabs.noResults' | translate\"\n ></valtimo-no-results>\n\n <ng-template #tabContainer></ng-template>\n\n <div class=\"clearfix\"></div>\n </div>\n </as-split-area>\n\n <as-split-area\n *ngIf=\"tabContentObs.caseDetailLayout.showRightPanel\"\n [size]=\"tabContentObs.caseDetailLayout.rightPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.rightPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.rightPanelMaxWidth\"\n >\n @if (tabContentObs.showTaskList) {\n <div class=\"task-panel\">\n @if (!tabContentObs.taskAndProcessLinkOpenedInPanel) {\n <valtimo-case-detail-task-list\n [openTaskAndProcessLinkInModal]=\"tabContentObs.openTaskAndProcessLinkInModal\"\n (taskClickEvent)=\"onTaskClickEvent($event)\"\n (formSubmitEvent)=\"onFormSubmitEvent()\"\n ></valtimo-case-detail-task-list>\n }\n\n @if (tabContentObs.taskAndProcessLinkOpenedInPanel) {\n <valtimo-case-detail-task-detail\n [taskAndProcessLink]=\"tabContentObs.taskAndProcessLinkOpenedInPanel\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (closeEvent)=\"onTaskDetailsClose()\"\n (formSubmit)=\"onFormSubmitEvent()\"\n (dueDateChanged)=\"onDueDateChanged()\"\n >\n </valtimo-case-detail-task-detail>\n }\n </div>\n }\n </as-split-area>\n </as-split>\n </div>\n </div>\n\n <valtimo-case-supporting-process-start-modal\n [isAdmin]=\"isAdmin$ | async\"\n (formSubmit)=\"onFormSubmitEvent()\"\n #supportingProcessStartModal\n ></valtimo-case-supporting-process-start-modal>\n</div>\n\n<ng-template\n #caseDetailHeader\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document, canAssign: canAssign}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template\n #caseDetailAssignee\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div *ngIf=\"canHaveAssignee && document\">\n <valtimo-case-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-case-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 {{ 'case.claimAssigneeCase' | translate }}\n </cds-overflow-menu-option>\n</ng-template>\n\n<ng-template\n #unassignButton\n let-canAssign=\"canAssign\"\n let-canHaveAssignee=\"canHaveAssignee\"\n let-assigneeId=\"assigneeId\"\n>\n <cds-overflow-menu-option\n *ngIf=\"canHaveAssignee && canAssign\"\n [disabled]=\"!assigneeId\"\n (selected)=\"unassignAssignee()\"\n >\n {{ 'assignDocument.remove' | translate }}\n </cds-overflow-menu-option>\n</ng-template>\n\n<ng-template #deleteButton let-canDelete=\"canDelete\">\n <cds-overflow-menu-option\n *ngIf=\"canDelete\"\n [disabled]=\"isDeleting$ | async\"\n (click)=\"deleteDocument()\"\n type=\"danger\"\n >\n {{ 'case.delete.delete' | translate }}\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]=\"processDefinitionCaseDefinitions.length === 0\"\n [ngbTooltip]=\"processDefinitionCaseDefinitions.length === 0 ? 'No action' : null\"\n >\n {{ 'case.startSubProcess' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"chevron--down\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.delete.confirm\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.delete.description\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.delete.delete\"\n (confirmEvent)=\"onConfirmDelete()\"\n></valtimo-confirmation-modal>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"case-actions\"\n [ngClass]=\"{\n 'case-actions--compact': compactMode$ | async,\n 'case-actions--small-title': smallTitle$ | async,\n }\"\n *ngIf=\"{\n assigneeId: assigneeId$ | async,\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n canDelete: canDelete$ | async,\n document: document$ | async,\n caseStatus: caseStatus$ | async,\n } as obs\"\n >\n <div class=\"case-status-assign-custom-title\" [ngClass]=\"{'--compact': compactMode$ | async}\">\n @if (obs.caseStatus) {\n <cds-tag size=\"sm\" [type]=\"obs.caseStatus.tagType\" [title]=\"obs.caseStatus.title\">{{\n obs.caseStatus.title\n }}</cds-tag>\n }\n\n <div [ngClass]=\"{'--compact': compactMode$ | async}\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {\n canHaveAssignee: obs.canHaveAssignee,\n document: obs.document,\n canAssign: obs.canAssign,\n }\n \"\n ></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"caseDetailHeader\"></ng-container>\n </div>\n\n <div class=\"buttons-container\">\n <cds-overflow-menu\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n *ngIf=\"obs.canHaveAssignee || obs.canDelete\"\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\n <ng-container\n *ngTemplateOutlet=\"\n unassignButton;\n context: {\n canAssign: obs.canAssign,\n canHaveAssignee: obs.canHaveAssignee,\n assigneeId: obs.assigneeId,\n }\n \"\n >\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteButton; context: {canDelete: obs.canDelete}\">\n </ng-container>\n </cds-overflow-menu>\n\n <cds-overflow-menu\n valtimoCdsOverflowButton\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n [width]=\"dropdownWidth$ | async\"\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 processDefinitionCaseDefinition of processDefinitionCaseDefinitions\"\n [attr.title]=\"processDefinitionCaseDefinition.displayName\"\n (click)=\"startProcess(processDefinitionCaseDefinition)\"\n >\n {{ processDefinitionCaseDefinition.displayName }}\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;overflow-x:hidden}.tab-container:has(>.tab--no-margin){padding:0!important}.tab-container:has(>.tab--no-min-height){min-height:unset}.tab-container:has(>.tab--no-background){background:transparent!important}.tab-content-container{display:flex;gap:32px;overflow:auto;margin-bottom:16px}.loading-container{display:flex;justify-content:center;flex-direction:row}.case-detail-tabs{display:flex;margin-bottom:24px}.case-detail-tabs cds-tab{display:none!important}.cds--overflow-menu-options{margin-top:32px}.assign-overflow{margin-right:8px}.buttons-container{display:flex;flex-direction:row}.case-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:4px}.case-actions--compact,.case-actions--small-title{padding-bottom:0;align-items:flex-start}.case-actions ::ng-deep .version-selection{width:160px}.case-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.case-status-assign-custom-title{display:flex;gap:16px;align-items:flex-end}.case-status-assign-custom-title .cds--tag{margin:0;overflow:hidden;text-overflow:ellipsis;line-height:24px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:100%}.case-status-assign-custom-title.--compact{align-items:center}.task-panel{width:100%;transition:height .15s ease-in-out}.split-area__content{height:100%!important}.split-area__content .tab-container{height:min-content!important;overflow:hidden!important}:host ::ng-deep .container-fluid{height:100%!important;width:100%!important;margin:0!important;padding:0!important}::ng-deep .tab-content-container .as-split-gutter{background-color:transparent!important;--_as-gutter-icon-disabled: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1'/%3E\");--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABQJJREFUeF7dWll22zAMpNwzlM5xmpMlOVl6mzrKHexWm8UFy4xIp+/FP3mxQWAwWAiRGsJ3/gwhhJvt4CRCfgCtosYhDOHm4SlW7rZyq9t/R7GsZoYQDhCA89UIrzakKuQtpRTiHv03ycJB3t8KuU9AByNfw5dWJpj1h5YABmGRsvgufzsSG21NEwGWUrv5yiuZb31yMZoAAjBFPqBdor9G0vpwu2+PBgE6TK/q0pUxxiwZxnE0SefkE0sHWQUygGG3ll0c2tGNn+M0DiSfHDlHQBu2rffoWgBWPRHWIUreM654li5bMwDQBIhI9naHFgVQCSS2PHliWlLm0/YsMrcwK6ISp1QGANhzG7XFDj2gUFr8yzrkydOJ6CyACBB1lIWkbPyeQ2UQ2ZKxksCLft4EaWqB/AshHCdg0b/1gB7wJB1QBrQ0ml4E2MMyFgxJ6iABuEGdgCUeZVQm+fQ7fhfAsflzAKFLS1G2ptmMwUpDl1oyAGxo2fw2hHBzjpsm+XiO2TGQF1GWACJGfecAjHmgCTZum/lQfezQTZ3L7z+g3goc2xGtFT86A0qLh5pgjPF13aLmv9aHdYiVn8uMwFNixQlYqVuNvayK3sZxNElgHarlP6duo2bpOcbXWxheVhkTj7Tv4ATsTG/OL6CG8DZ+KCQMIcSf6HnAAo8hrAjGRpIblLxveDm8/q4YC6fT6flyufzWBhXGoTWd4QOUp6enX9fr9X2od6SFhJlTu4FBGZA5n+jbnddZjPG8nz8lo222ItHJEraRICAAMmG6rPGb2FTjedqHsET+4/Lbu+phHWLlJ/g+Cd4gpJDgp71HHzAHFCqOEFCSULjrNkaxw2rO/zidnv/MNY99WIcY+TKufibUmOcSEB5IxLTHXLal2FG4h83VPzET1h6wUxDP8fXfJW5V8xuQhqFwVtGNgDuQ6Yo367Pb9ixdjVckVE1QS/0ekZhybRw/zMZblkBpd1sMPIdJkAsClF2ghQQPYJYBQjp5BKCBEHD4JZDi6bED3AebRDFbAp58Ski3JrgphQcgozEwXZ2dBH3nZ2Bq5KcyahuEgO1wIWBnyIuoS5hA9pHIp01dnANSdlvKwXWocRC6Pw/U70MBozCQAWI5JKDF5wFrtk8uR6XKYQibnL9dr+/CjgA5v81AamMFByTTmOhQp56hPw5/vrrvx61euz2gZKfHgcj98bUkgjo/WJCxeMrJFyQgR8ocQcGnwqsJpgSK8pymTPeIThus4DKwBKWJFNsFklEcOT9ApyFADswAQJMiwkaUldeQ7ZTKDWf79tsSgIasDwGduro1CbY+hVqZgpJ1SA5L6bQHMJNjOy19MsCgBiNgV8DK+1GxSXoYAcMwhNttOedPIZTPAhm8bQ6Anx57ZMBGgfHuXs6yuEANBBtR/2bIjzkj8bAMSIYU+KLDaoKSU8KFCOP7LAsTcDTZ2jPAfrUWf3VGnwdo1pgF5xiz9yhazwOExwfv9suEm2XArJwNtSP/+AxgwlHL1iVwiAUdhEaAxhtLWGbZDEbPEiCyhHWIla93KO7AvMoAwre7bW5jxCAfwaHnoa4N3gVU5X2RthX0gdVNBPhDZnYgzMH7ImKbCOA8wnfsVO+jeUgIEHfYFUs7jHYNLN2YvJkBXwYaNuQIwnp2cgoCag3LN1Z2+EwfwCVPLPAOJ1n05oDt9x5oRR37Pb72s/e+kU81L/EXSRwjcUdkvjUAAAAASUVORK5CYII=)}::ng-deep .tab-content-container .as-split-gutter-icon{background-repeat:no-repeat;background-size:16px 16px}::ng-deep .tab-content-container--dark .as-split-gutter{--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABPlJREFUeF7tm1tW3DAMhu2+krCmdmWlKytrIuGV9HjixDddfjkOtOd0XmAGWZfPsiw7g3fVyzvntvpD9H01+JIuwCamX5YKf9VfmCVaDze2S2fXIDG+CGC8YsrqMCvDFDmHZYCeI5gE6LietD2LlNb6uQAQTLWfCDTLmLpOIfoRvxEZydZn+pH7+vdlAEJyoIwIwDIrFtk7C2TyA/Po9gxY1zVWrN2haZq85FqS3zEF+YET3qi6rFzjfAR0yGkBwQA0wyFU75zf5MaOBYDoR2YGDigqY+U7HOKHlAsFiQOXqax+JYCYBGJr32ZAB+lEpxwc3i1nDcDWtBUYPjN8p35VBxf/4/MQUI7lqAGPzwjYBQDv3PQ0+Ue/CjV/sODp8+UiyNE7XLHO6EM+Dg4/ntBdAI69zdIqBlgTlDldADLN9a7R551cDot0kDPNbn40AIh6LSS4DS0Be9jJg7sAXPHJfBZojbXriMscGgDvvhUYmRGEes6iocJiyVejWdelYDPNk5cquhnAxVSAlgDZQG/7bUqKjvZEDqgdYwaAzQsrVQHowFkPqd5bA4LlO1ytp+zoFM0Ml2V5CYPmeX78lF7v67rla8B6GpynKZxnxBfmD03MvASCMe/9z+DRtm2/SAiZLXRGqcapbYTaICB/BHwggN1wbuzQSUHI3UQBHPqo+wPO/7dlefkWJ0PyR0ofEIAjg49Z8GOe51fOCAYgIcPkd2vLsnz33v+ubadJ0TZw8Fqcmnkk+CBjCahHXodQ49mhHGjUDJCDf37Vjmn54Sa4MuxGaL/weWzDdggJigjgDL7KpG3bxLTPmY/PALqa90JgAahpf/ohb8jjAfAlrQdCCSDG0gRPxCiHzf81XwKUVA1M7gDwbojbspsM4GZea3jov5cFp6cGoHYRFCWE5FthQwKAGCnLS9vD6UXwXbnIRpGUcsH3D6JxI2sADwFHwEnqAI4HKW0AB07ci6QDXgLHELUIghPxbxRBBukICDuAZMCaAbu8XnLf1K4wzBjdGYpzSUGI66ntBQg/8QzYB+PyyW18++sAEHvu8wSY02IbosyONaBTPj7XO6/F+SxVzgPKRooWlN7l0A0g+i0tGXrmvdu2D/qYTrBgO0GKG3ocRlrhB/jm6a13zR2i8GAk+BOOw/lmy95RMIlgAlAvh4ex5/ll5CUndYMkJfGNFyL84sCuoHa3tSVQW9HkGxjeueUNv6Krx7dbTO5R/J1FARSQ9X3d8gyh13RSZAYA9iOcmHkJWO1ZA+LkRdbaRAlO3wogKL/+/YDZl5cuFQogC/P4k/j+mx0AYVDyYVQGWDMPlbcDQDVHOREA1DmGDAgv7emA0bEofgmAmn3euXUpT3d9Z4G+4PRR+6PR9oigRqarPiT6ng4nBzRguCe0ZJEBatyqQGvkfw249VtiHTNSzdGZAddVESmW1YBDv5bSpoxBnOZkst7h6jISx5sCEltnJFp7KKkG3KNfPQvULluB2UMuR1zaBiXjB08+IJr4FQA9c3gDgNINKSDK4SCff67VjEsZEI+Cl3Scg3vwA4cU6uu0bRL3d4k3ZEDm3mAoY2YqdX7BvVsA2OJW9qlhUe+KQvObX1DYANS+2iIdHArR0bArgXfUBoAMoewopH9ROd3oBmcZiMkOANA3sXUq9mm5Pqrvq7IYXLo3Vs713ao7WRAZ8NULfTACRd0fdjtUcYyr1cIAAAAASUVORK5CYII=)}.spacing-case-tags{margin-bottom:8px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
4737
|
-
}], ctorParameters: () => [{ type: i2$1.BreadcrumbService }, { type: i2.CaseStatusService }, { type: i2$1.CdsThemeService }, { type: i0.ComponentFactoryResolver }, { type: i2.DocumentService }, { type: CaseDetailLayoutService }, { type: CaseService }, { type: CaseTabService }, { type: i2$2.IconService }, { type: i5$
|
|
5028
|
+
args: [{ standalone: false, providers: [CaseTabService, CaseDetailLayoutService, ObserveSizeDirective], template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n class=\"main-content\"\n [ngClass]=\"{'main-content--no-horizontal-overflow': $tabHorizontalOverflowDisabled()}\"\n>\n <div class=\"container-fluid\">\n <div\n class=\"main-content__header\"\n observeSize\n (heightChange)=\"onMainContentHeaderHeightChange($event)\"\n >\n <valtimo-case-detail-header-widget></valtimo-case-detail-header-widget>\n\n <ng-container *ngIf=\"caseTags$ | async as caseTags\">\n @if ((caseTags || []).length > 0) {\n <div class=\"spacing-case-tags\">\n @for (tag of caseTags; track tag) {\n <cds-tag size=\"sm\" [type]=\"tag.tagType\">\n {{ tag.title }}\n </cds-tag>\n }\n </div>\n }\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n\n <ng-template #tabs>\n <ng-container *ngIf=\"{activeTab: activeTab$ | async} as obs\">\n <cds-tabs *ngIf=\"tabLoader\" type=\"inline\" class=\"case-detail-tabs\">\n <cds-tab\n *ngFor=\"let tab of tabLoader.tabs\"\n [active]=\"tab.name === (activeTabName$ | async)\"\n heading=\"{{ tab | tabTranslate | async }}\"\n (selected)=\"onTabSelected(tab, obs.activeTab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n </ng-template>\n </div>\n\n <div\n *ngIf=\"{\n noTabsConfigured: noTabsConfigured$ | async,\n showTaskList: showTaskList$ | async,\n showNoAccess: showNoAccess$ | async,\n caseDetailLayout: caseDetailLayout$ | async,\n openTaskAndProcessLinkInModal: openTaskAndProcessLinkInModal$ | async,\n taskAndProcessLinkOpenedInPanel: taskAndProcessLinkOpenedInPanel$ | async,\n isDarkMode: isDarkMode$ | async,\n compactMode: compactMode$ | async,\n tabContentContainerMaxHeight: tabContentContainerMaxHeight$ | async,\n } as tabContentObs\"\n #tabContentContainer\n class=\"tab-content-container\"\n [ngClass]=\"{\n 'tab-content-container--dark': tabContentObs.isDarkMode,\n 'tab-content-container--compact': tabContentObs.compactMode,\n }\"\n [style.max-height]=\"tabContentObs.tabContentContainerMaxHeight\"\n [style.height]=\"tabContentObs.tabContentContainerMaxHeight\"\n >\n <as-split\n direction=\"horizontal\"\n [disabled]=\"!tabContentObs.caseDetailLayout.widthAdjustable\"\n [gutterSize]=\"CASE_DETAIL_GUTTER_SIZE\"\n [unit]=\"tabContentObs.caseDetailLayout.unit\"\n class=\"split-area\"\n >\n <as-split-area\n [size]=\"tabContentObs.caseDetailLayout.leftPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.leftPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.leftPanelMaxWidth\"\n class=\"split-area__content\"\n >\n <div\n class=\"card-body bg-white p-5 position-relative tab-container\"\n [class.tab-container--compact]=\"compactMode$ | async\"\n >\n <div *ngIf=\"loadingTabs$ | async\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.showNoAccess\"\n description=\"{{ 'case.noAccess.description' | translate }}\"\n title=\"{{ 'case.noAccess.title' | translate }}\"\n illustration=\"valtimo-layout/img/emptystate-not-authorised.svg\"\n >\n </valtimo-no-results>\n\n <valtimo-no-results\n *ngIf=\"tabContentObs.noTabsConfigured\"\n [description]=\"'case.tabs.noResultsDescription' | translate\"\n [title]=\"'case.tabs.noResults' | translate\"\n ></valtimo-no-results>\n\n <ng-template #tabContainer></ng-template>\n\n <div class=\"clearfix\"></div>\n </div>\n </as-split-area>\n\n <as-split-area\n *ngIf=\"tabContentObs.caseDetailLayout.showRightPanel\"\n [size]=\"tabContentObs.caseDetailLayout.rightPanelWidth\"\n [minSize]=\"tabContentObs.caseDetailLayout.rightPanelMinWidth\"\n [maxSize]=\"tabContentObs.caseDetailLayout.rightPanelMaxWidth\"\n >\n @if (tabContentObs.showTaskList) {\n <div class=\"task-panel\">\n @if (!tabContentObs.taskAndProcessLinkOpenedInPanel) {\n <valtimo-case-detail-task-list\n [openTaskAndProcessLinkInModal]=\"tabContentObs.openTaskAndProcessLinkInModal\"\n (taskClickEvent)=\"onTaskClickEvent($event)\"\n (formSubmitEvent)=\"onFormSubmitEvent()\"\n ></valtimo-case-detail-task-list>\n }\n\n @if (tabContentObs.taskAndProcessLinkOpenedInPanel) {\n <valtimo-case-detail-task-detail\n [taskAndProcessLink]=\"tabContentObs.taskAndProcessLinkOpenedInPanel\"\n (activeChange)=\"onActiveChangeEvent($event)\"\n (closeEvent)=\"onTaskDetailsClose()\"\n (formSubmit)=\"onFormSubmitEvent()\"\n (dueDateChanged)=\"onDueDateChanged()\"\n >\n </valtimo-case-detail-task-detail>\n }\n </div>\n }\n </as-split-area>\n </as-split>\n </div>\n </div>\n\n <valtimo-case-supporting-process-start-modal\n [isAdmin]=\"isAdmin$ | async\"\n (formSubmit)=\"onFormSubmitEvent()\"\n #supportingProcessStartModal\n ></valtimo-case-supporting-process-start-modal>\n</div>\n\n<ng-template\n #caseDetailHeader\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document, canAssign: canAssign}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template\n #caseDetailAssignee\n let-canHaveAssignee=\"canHaveAssignee\"\n let-document=\"document\"\n let-canAssign=\"canAssign\"\n>\n <div *ngIf=\"canHaveAssignee && document\">\n <valtimo-assignment\n *ngIf=\"canAssignLoaded$ | async\"\n mode=\"case\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n [assigneeId]=\"document.assigneeId\"\n [assignedTeamKey]=\"document.assignedTeamKey\"\n [assignedTeamTitle]=\"document.assignedTeamTitle\"\n [hasPermission]=\"canAssign\"\n [candidateUsers$]=\"candidateUsers$\"\n [candidateTeams$]=\"candidateTeams$\"\n (assignmentChangedEvent)=\"onAssignmentChanged($event)\"\n (unassignedEvent)=\"onUnassigned()\"\n ></valtimo-assignment>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canClaim=\"canClaim\" let-canHaveAssignee=\"canHaveAssignee\">\n <v-overflow-menu-option\n *ngIf=\"canClaim && canHaveAssignee\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n (selected)=\"claimAssignee()\"\n >\n {{ 'case.claimAssigneeCase' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template\n #unassignButton\n let-canAssign=\"canAssign\"\n let-canHaveAssignee=\"canHaveAssignee\"\n let-assigneeId=\"assigneeId\"\n>\n <v-overflow-menu-option\n *ngIf=\"canHaveAssignee && canAssign\"\n [disabled]=\"!assigneeId\"\n (selected)=\"unassignAssignee()\"\n >\n {{ 'assignDocument.remove' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #deleteButton let-canDelete=\"canDelete\">\n <v-overflow-menu-option\n *ngIf=\"canDelete\"\n [disabled]=\"isDeleting$ | async\"\n (selected)=\"deleteDocument()\"\n type=\"danger\"\n >\n {{ 'case.delete.delete' | translate }}\n </v-overflow-menu-option>\n</ng-template>\n\n<ng-template #customStartTrigger>\n <button\n [size]=\"(compactMode$ | async) ? 'sm' : 'lg'\"\n cdsButton=\"primary\"\n [disabled]=\"processDefinitionCaseDefinitions.length === 0\"\n [ngbTooltip]=\"processDefinitionCaseDefinitions.length === 0 ? 'No action' : null\"\n >\n {{ 'case.startSubProcess' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"chevron--down\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.delete.confirm\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"case.delete.description\"\n [showModalSubject$]=\"showDeleteModal$\"\n titleTranslationKey=\"case.delete.delete\"\n (confirmEvent)=\"onConfirmDelete()\"\n></valtimo-confirmation-modal>\n\n<ng-container renderInPageHeader [fullWidth]=\"true\">\n <ng-template>\n <div\n class=\"case-actions\"\n [ngClass]=\"{\n 'case-actions--compact': compactMode$ | async,\n 'case-actions--small-title': smallTitle$ | async,\n }\"\n *ngIf=\"{\n assigneeId: assigneeId$ | async,\n canAssign: canAssign$ | async,\n canClaim: canClaim$ | async,\n canHaveAssignee: canHaveAssignee$ | async,\n canDelete: canDelete$ | async,\n document: document$ | async,\n caseStatus: caseStatus$ | async,\n } as obs\"\n >\n <div class=\"case-status-assign-custom-title\" [ngClass]=\"{'--compact': compactMode$ | async}\">\n @if (obs.caseStatus) {\n <cds-tag size=\"sm\" [type]=\"obs.caseStatus.tagType\" [title]=\"obs.caseStatus.title\">{{\n obs.caseStatus.title\n }}</cds-tag>\n }\n\n <div [ngClass]=\"{'--compact': compactMode$ | async}\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {\n canHaveAssignee: obs.canHaveAssignee,\n document: obs.document,\n canAssign: obs.canAssign,\n }\n \"\n ></ng-container>\n </div>\n\n <ng-container *ngTemplateOutlet=\"caseDetailHeader\"></ng-container>\n </div>\n\n <div class=\"buttons-container\">\n <v-overflow-menu\n *ngIf=\"obs.canHaveAssignee || obs.canDelete\"\n placement=\"bottom-end\"\n class=\"overflow-button assign-overflow\"\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n >\n <v-overflow-menu-trigger overflowTrigger [compact]=\"compactMode$ | async\"></v-overflow-menu-trigger>\n\n <ng-container\n *ngTemplateOutlet=\"\n claimButton;\n context: {canClaim: obs.canClaim, canHaveAssignee: obs.canHaveAssignee}\n \"\n >\n </ng-container>\n\n <ng-container\n *ngTemplateOutlet=\"\n unassignButton;\n context: {\n canAssign: obs.canAssign,\n canHaveAssignee: obs.canHaveAssignee,\n assigneeId: obs.assigneeId,\n }\n \"\n >\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"deleteButton; context: {canDelete: obs.canDelete}\">\n </ng-container>\n </v-overflow-menu>\n\n <v-overflow-menu\n [ngClass]=\"{'--compact': compactMode$ | async}\"\n [menuWidth]=\"dropdownWidth$ | async\"\n placement=\"bottom-end\"\n class=\"overflow-button case-detail-overflow\"\n >\n <ng-container overflowTrigger>\n <ng-container *ngTemplateOutlet=\"customStartTrigger\"></ng-container>\n </ng-container>\n <v-overflow-menu-option\n *ngFor=\"let processDefinitionCaseDefinition of processDefinitionCaseDefinitions\"\n [attr.title]=\"processDefinitionCaseDefinition.displayName\"\n (selected)=\"startProcess(processDefinitionCaseDefinition)\"\n >\n {{ processDefinitionCaseDefinition.displayName }}\n </v-overflow-menu-option>\n </v-overflow-menu>\n </div>\n </div>\n </ng-template>\n</ng-container>\n", styles: [".main-content{overflow:hidden;padding-bottom:0}.main-content--no-horizontal-overflow{overflow-x:hidden}.tab-container{height:min-content;min-height:300px;overflow-y:auto;overflow-x:hidden}.tab-container:has(>.tab--no-margin){padding:0!important}.tab-container:has(>.tab--no-min-height){min-height:unset}.tab-container:has(>.tab--no-background){background:transparent!important}.tab-content-container{display:flex;gap:32px;overflow:auto;margin-bottom:16px}.loading-container{display:flex;justify-content:center;flex-direction:row}.case-detail-tabs{display:flex;margin-bottom:24px}.case-detail-tabs cds-tab{display:none!important}.buttons-container{display:flex;flex-direction:row;gap:8px;align-items:center}.case-actions{display:flex;width:100%;justify-content:space-between;align-items:flex-end;padding-bottom:4px}.case-actions--compact,.case-actions--small-title{padding-bottom:0;align-items:flex-start}.case-actions ::ng-deep .version-selection{width:160px}.case-actions ::ng-deep .version-selection .cds--list-box__selection{display:none}.case-status-assign-custom-title{display:flex;gap:16px;align-items:flex-end}.case-status-assign-custom-title .cds--tag{margin:0;overflow:hidden;text-overflow:ellipsis;line-height:24px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:100%}.case-status-assign-custom-title.--compact{align-items:center}.task-panel{width:100%;transition:height .15s ease-in-out}.split-area__content{height:100%!important}.split-area__content .tab-container{height:min-content!important;overflow:hidden!important}:host ::ng-deep .container-fluid{height:100%!important;width:100%!important;margin:0!important;padding:0!important}::ng-deep .tab-content-container .as-split-gutter{background-color:transparent!important;--_as-gutter-icon-disabled: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='1'/%3E\");--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABQJJREFUeF7dWll22zAMpNwzlM5xmpMlOVl6mzrKHexWm8UFy4xIp+/FP3mxQWAwWAiRGsJ3/gwhhJvt4CRCfgCtosYhDOHm4SlW7rZyq9t/R7GsZoYQDhCA89UIrzakKuQtpRTiHv03ycJB3t8KuU9AByNfw5dWJpj1h5YABmGRsvgufzsSG21NEwGWUrv5yiuZb31yMZoAAjBFPqBdor9G0vpwu2+PBgE6TK/q0pUxxiwZxnE0SefkE0sHWQUygGG3ll0c2tGNn+M0DiSfHDlHQBu2rffoWgBWPRHWIUreM654li5bMwDQBIhI9naHFgVQCSS2PHliWlLm0/YsMrcwK6ISp1QGANhzG7XFDj2gUFr8yzrkydOJ6CyACBB1lIWkbPyeQ2UQ2ZKxksCLft4EaWqB/AshHCdg0b/1gB7wJB1QBrQ0ml4E2MMyFgxJ6iABuEGdgCUeZVQm+fQ7fhfAsflzAKFLS1G2ptmMwUpDl1oyAGxo2fw2hHBzjpsm+XiO2TGQF1GWACJGfecAjHmgCTZum/lQfezQTZ3L7z+g3goc2xGtFT86A0qLh5pgjPF13aLmv9aHdYiVn8uMwFNixQlYqVuNvayK3sZxNElgHarlP6duo2bpOcbXWxheVhkTj7Tv4ATsTG/OL6CG8DZ+KCQMIcSf6HnAAo8hrAjGRpIblLxveDm8/q4YC6fT6flyufzWBhXGoTWd4QOUp6enX9fr9X2od6SFhJlTu4FBGZA5n+jbnddZjPG8nz8lo222ItHJEraRICAAMmG6rPGb2FTjedqHsET+4/Lbu+phHWLlJ/g+Cd4gpJDgp71HHzAHFCqOEFCSULjrNkaxw2rO/zidnv/MNY99WIcY+TKufibUmOcSEB5IxLTHXLal2FG4h83VPzET1h6wUxDP8fXfJW5V8xuQhqFwVtGNgDuQ6Yo367Pb9ixdjVckVE1QS/0ekZhybRw/zMZblkBpd1sMPIdJkAsClF2ghQQPYJYBQjp5BKCBEHD4JZDi6bED3AebRDFbAp58Ski3JrgphQcgozEwXZ2dBH3nZ2Bq5KcyahuEgO1wIWBnyIuoS5hA9pHIp01dnANSdlvKwXWocRC6Pw/U70MBozCQAWI5JKDF5wFrtk8uR6XKYQibnL9dr+/CjgA5v81AamMFByTTmOhQp56hPw5/vrrvx61euz2gZKfHgcj98bUkgjo/WJCxeMrJFyQgR8ocQcGnwqsJpgSK8pymTPeIThus4DKwBKWJFNsFklEcOT9ApyFADswAQJMiwkaUldeQ7ZTKDWf79tsSgIasDwGduro1CbY+hVqZgpJ1SA5L6bQHMJNjOy19MsCgBiNgV8DK+1GxSXoYAcMwhNttOedPIZTPAhm8bQ6Anx57ZMBGgfHuXs6yuEANBBtR/2bIjzkj8bAMSIYU+KLDaoKSU8KFCOP7LAsTcDTZ2jPAfrUWf3VGnwdo1pgF5xiz9yhazwOExwfv9suEm2XArJwNtSP/+AxgwlHL1iVwiAUdhEaAxhtLWGbZDEbPEiCyhHWIla93KO7AvMoAwre7bW5jxCAfwaHnoa4N3gVU5X2RthX0gdVNBPhDZnYgzMH7ImKbCOA8wnfsVO+jeUgIEHfYFUs7jHYNLN2YvJkBXwYaNuQIwnp2cgoCag3LN1Z2+EwfwCVPLPAOJ1n05oDt9x5oRR37Pb72s/e+kU81L/EXSRwjcUdkvjUAAAAASUVORK5CYII=)}::ng-deep .tab-content-container .as-split-gutter-icon{background-repeat:no-repeat;background-size:16px 16px}::ng-deep .tab-content-container--dark .as-split-gutter{--_as-gutter-icon-horizontal: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABPlJREFUeF7tm1tW3DAMhu2+krCmdmWlKytrIuGV9HjixDddfjkOtOd0XmAGWZfPsiw7g3fVyzvntvpD9H01+JIuwCamX5YKf9VfmCVaDze2S2fXIDG+CGC8YsrqMCvDFDmHZYCeI5gE6LietD2LlNb6uQAQTLWfCDTLmLpOIfoRvxEZydZn+pH7+vdlAEJyoIwIwDIrFtk7C2TyA/Po9gxY1zVWrN2haZq85FqS3zEF+YET3qi6rFzjfAR0yGkBwQA0wyFU75zf5MaOBYDoR2YGDigqY+U7HOKHlAsFiQOXqax+JYCYBGJr32ZAB+lEpxwc3i1nDcDWtBUYPjN8p35VBxf/4/MQUI7lqAGPzwjYBQDv3PQ0+Ue/CjV/sODp8+UiyNE7XLHO6EM+Dg4/ntBdAI69zdIqBlgTlDldADLN9a7R551cDot0kDPNbn40AIh6LSS4DS0Be9jJg7sAXPHJfBZojbXriMscGgDvvhUYmRGEes6iocJiyVejWdelYDPNk5cquhnAxVSAlgDZQG/7bUqKjvZEDqgdYwaAzQsrVQHowFkPqd5bA4LlO1ytp+zoFM0Ml2V5CYPmeX78lF7v67rla8B6GpynKZxnxBfmD03MvASCMe/9z+DRtm2/SAiZLXRGqcapbYTaICB/BHwggN1wbuzQSUHI3UQBHPqo+wPO/7dlefkWJ0PyR0ofEIAjg49Z8GOe51fOCAYgIcPkd2vLsnz33v+ubadJ0TZw8Fqcmnkk+CBjCahHXodQ49mhHGjUDJCDf37Vjmn54Sa4MuxGaL/weWzDdggJigjgDL7KpG3bxLTPmY/PALqa90JgAahpf/ohb8jjAfAlrQdCCSDG0gRPxCiHzf81XwKUVA1M7gDwbojbspsM4GZea3jov5cFp6cGoHYRFCWE5FthQwKAGCnLS9vD6UXwXbnIRpGUcsH3D6JxI2sADwFHwEnqAI4HKW0AB07ci6QDXgLHELUIghPxbxRBBukICDuAZMCaAbu8XnLf1K4wzBjdGYpzSUGI66ntBQg/8QzYB+PyyW18++sAEHvu8wSY02IbosyONaBTPj7XO6/F+SxVzgPKRooWlN7l0A0g+i0tGXrmvdu2D/qYTrBgO0GKG3ocRlrhB/jm6a13zR2i8GAk+BOOw/lmy95RMIlgAlAvh4ex5/ll5CUndYMkJfGNFyL84sCuoHa3tSVQW9HkGxjeueUNv6Krx7dbTO5R/J1FARSQ9X3d8gyh13RSZAYA9iOcmHkJWO1ZA+LkRdbaRAlO3wogKL/+/YDZl5cuFQogC/P4k/j+mx0AYVDyYVQGWDMPlbcDQDVHOREA1DmGDAgv7emA0bEofgmAmn3euXUpT3d9Z4G+4PRR+6PR9oigRqarPiT6ng4nBzRguCe0ZJEBatyqQGvkfw249VtiHTNSzdGZAddVESmW1YBDv5bSpoxBnOZkst7h6jISx5sCEltnJFp7KKkG3KNfPQvULluB2UMuR1zaBiXjB08+IJr4FQA9c3gDgNINKSDK4SCff67VjEsZEI+Cl3Scg3vwA4cU6uu0bRL3d4k3ZEDm3mAoY2YqdX7BvVsA2OJW9qlhUe+KQvObX1DYANS+2iIdHArR0bArgXfUBoAMoewopH9ROd3oBmcZiMkOANA3sXUq9mm5Pqrvq7IYXLo3Vs713ao7WRAZ8NULfTACRd0fdjtUcYyr1cIAAAAASUVORK5CYII=)}.spacing-case-tags{margin-bottom:8px}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
5029
|
+
}], ctorParameters: () => [{ type: i2$1.BreadcrumbService }, { type: i2.CaseStatusService }, { type: i2$1.CdsThemeService }, { type: i0.ComponentFactoryResolver }, { type: i2.DocumentService }, { type: CaseDetailLayoutService }, { type: CaseService }, { type: CaseTabService }, { type: i2$2.IconService }, { type: i5$3.KeycloakService }, { type: i1$3.NGXLogger }, { type: i1.GlobalNotificationService }, { type: i2$1.PageHeaderService }, { type: i2$1.PageTitleService }, { type: i2$4.PermissionService }, { type: i4.TranslateService }, { type: i0.Renderer2 }, { type: i1$2.ActivatedRoute }, { type: i1$2.Router }, { type: WidgetsService }, { type: i12.UserProviderService }, { type: Document, decorators: [{
|
|
4738
5030
|
type: Inject,
|
|
4739
5031
|
args: [DOCUMENT]
|
|
4740
5032
|
}] }], propDecorators: { supportingProcessStart: [{
|
|
@@ -4970,10 +5262,10 @@ class CaseProcessStartModalComponent {
|
|
|
4970
5262
|
setTimeout(() => this.modalOpen$.next(false));
|
|
4971
5263
|
this.closeModalEvent.emit();
|
|
4972
5264
|
}
|
|
4973
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
4974
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
5265
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseProcessStartModalComponent, deps: [{ token: i1$2.Router }, { token: i2$3.ProcessService }, { token: i3$3.ProcessLinkService }, { token: i12.UserProviderService }, { token: i2$4.PermissionService }, { token: CaseListService }, { token: StartModalService }, { token: i1.ConfigService }, { token: FORM_VIEW_MODEL_TOKEN, optional: true }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }, { token: i3$3.UrlResolverService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5266
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: CaseProcessStartModalComponent, isStandalone: true, selector: "valtimo-case-process-start-modal", inputs: { navigateAfterSubmit: "navigateAfterSubmit" }, outputs: { formFlowComplete: "formFlowComplete", noProcessLinked: "noProcessLinked" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "formViewModelDynamicContainer", first: true, predicate: ["formViewModelComponent"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "formCustomComponentDynamicContainer", first: true, predicate: ["formCustomComponent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<valtimo-render-in-body>\n <cds-modal [open]=\"modalOpen$ | async\" size=\"sm\" valtimoCdsModal [minContentHeight]=\"480\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\"\n ><h3 cdsModalHeaderHeading>\n {{ modalTitle }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent [cdsLayer]=\"1\" class=\"process-start-modal-content\">\n <ng-template #formViewModelComponent></ng-template>\n\n <ng-template #formCustomComponent></ng-template>\n\n @if (formDefinition && !isFormViewModel) {\n <valtimo-form-io\n #form\n [form]=\"formDefinition\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n }\n\n @if (formFlowInstanceId) {\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted()\"\n ></valtimo-form-flow>\n }\n\n @if (!formFlowInstanceId && !formDefinition && isAdmin && !isUIComponent) {\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundAdmin'\"\n ></div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n (click)=\"gotoProcessLinkScreen()\"\n class=\"btn btn-secondary btn-space\"\n id=\"process-link-button\"\n type=\"button\"\n >\n {{ 'formManagement.gotoProcessLinksButton' | translate }}\n </button>\n </div>\n }\n\n @if (!formFlowInstanceId && !formDefinition && !isAdmin && !isUIComponent) {\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n }\n </section>\n </cds-modal>\n</valtimo-render-in-body>\n", styles: [".process-start-modal-content{padding:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "ngmodule", type: ProcessLinkModule }, { kind: "component", type: i3$3.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete", "formFlowChange"] }, { kind: "ngmodule", type: FormIoModule }, { kind: "component", type: i2$1.FormioComponent, selector: "valtimo-form-io", inputs: ["options", "submission", "form", "readOnly", "formRefresh$"], outputs: ["submit", "change", "event"] }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i2$2.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }, { kind: "component", type: RenderInBodyComponent, selector: "valtimo-render-in-body" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
4975
5267
|
}
|
|
4976
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseProcessStartModalComponent, decorators: [{
|
|
4977
5269
|
type: Component,
|
|
4978
5270
|
args: [{ standalone: true, selector: 'valtimo-case-process-start-modal', encapsulation: ViewEncapsulation.None, imports: [
|
|
4979
5271
|
CommonModule,
|
|
@@ -5124,10 +5416,10 @@ class CaseListActionsComponent {
|
|
|
5124
5416
|
this.selectedProcessDefinitionCaseDefinition = null;
|
|
5125
5417
|
}
|
|
5126
5418
|
}
|
|
5127
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
5419
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListActionsComponent, deps: [{ token: i2.DocumentService }, { token: CaseListService }, { token: i1.GlobalNotificationService }, { token: i1$2.Router }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5420
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseListActionsComponent, isStandalone: true, selector: "valtimo-case-list-actions", inputs: { loading: "loading", navigateAfterSubmit: "navigateAfterSubmit" }, outputs: { formFlowComplete: "formFlowComplete", startButtonDisableEvent: "startButtonDisableEvent" }, viewQueries: [{ propertyName: "processStart", first: true, predicate: ["processStartModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-render-in-body>\n <cds-modal\n valtimoCdsModal\n [open]=\"startSelectionModalOpen$ | async\"\n size=\"xs\"\n *ngIf=\"{\n associatedProcessDocumentDefinitions: associatedProcessDocumentDefinitions$ | async,\n caseSettings: caseSettings$ | async,\n } as obs\"\n >\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCloseSelect()\"\n ><h3 cdsModalHeaderHeading>\n {{ 'dashboard.startProcess.title' | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent class=\"start-modal-content\" [cdsLayer]=\"1\">\n <cds-clickable-tile\n *ngIf=\"obs.caseSettings?.hasExternalStartForm\"\n (click)=\"openExternalCaseStartForm(true)\"\n >\n {{ obs?.caseSettings.externalStartFormDescription || '-' }}\n </cds-clickable-tile>\n\n <cds-clickable-tile\n *ngFor=\"let processDocumentDefinition of obs.associatedProcessDocumentDefinitions\"\n (click)=\"selectProcess(processDocumentDefinition)\"\n >\n {{ processDocumentDefinition.processDefinitionName }}\n </cds-clickable-tile>\n </section>\n </cds-modal>\n</valtimo-render-in-body>\n\n<valtimo-case-process-start-modal\n #processStartModal\n [navigateAfterSubmit]=\"navigateAfterSubmit\"\n (formFlowComplete)=\"onFormFlowComplete()\"\n (noProcessLinked)=\"onNoProcessLinked($event)\"\n></valtimo-case-process-start-modal>\n", styles: ["/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i2$2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "directive", type: i2$2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "ngmodule", type: TilesModule }, { kind: "component", type: i2$2.ClickableTile, selector: "cds-clickable-tile, ibm-clickable-tile", inputs: ["theme", "href", "target", "rel", "disabled", "route", "routeExtras"], outputs: ["navigation"] }, { kind: "component", type: CaseProcessStartModalComponent, selector: "valtimo-case-process-start-modal", inputs: ["navigateAfterSubmit"], outputs: ["formFlowComplete", "noProcessLinked"] }, { kind: "component", type: RenderInBodyComponent, selector: "valtimo-render-in-body" }] }); }
|
|
5129
5421
|
}
|
|
5130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListActionsComponent, decorators: [{
|
|
5131
5423
|
type: Component,
|
|
5132
5424
|
args: [{ standalone: true, selector: 'valtimo-case-list-actions', imports: [
|
|
5133
5425
|
CommonModule,
|
|
@@ -5152,6 +5444,146 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
5152
5444
|
type: Output
|
|
5153
5445
|
}] } });
|
|
5154
5446
|
|
|
5447
|
+
/*
|
|
5448
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
5449
|
+
*
|
|
5450
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5451
|
+
* you may not use this file except in compliance with the License.
|
|
5452
|
+
* You may obtain a copy of the License at
|
|
5453
|
+
*
|
|
5454
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
5455
|
+
*
|
|
5456
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
5457
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
5458
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5459
|
+
* See the License for the specific language governing permissions and
|
|
5460
|
+
* limitations under the License.
|
|
5461
|
+
*/
|
|
5462
|
+
class CaseListTabsComponent {
|
|
5463
|
+
constructor() {
|
|
5464
|
+
this.assigneeFilter = null;
|
|
5465
|
+
this.selectedRowCount = 0;
|
|
5466
|
+
this.visibleTabs = null;
|
|
5467
|
+
this.tabChangeEvent = new EventEmitter();
|
|
5468
|
+
this.activeTab = null;
|
|
5469
|
+
this.defaultTabs = DEFAULT_CASE_LIST_TABS;
|
|
5470
|
+
this.showChangeTabModal$ = new BehaviorSubject(false);
|
|
5471
|
+
this.tabChange$ = new BehaviorSubject(null);
|
|
5472
|
+
}
|
|
5473
|
+
trackByIndex(index) {
|
|
5474
|
+
return index;
|
|
5475
|
+
}
|
|
5476
|
+
tabChange(tab) {
|
|
5477
|
+
if (!this.activeTab) {
|
|
5478
|
+
this.activeTab = tab;
|
|
5479
|
+
return;
|
|
5480
|
+
}
|
|
5481
|
+
if (this.activeTab.toLowerCase() === tab.toLowerCase())
|
|
5482
|
+
return;
|
|
5483
|
+
if (this.selectedRowCount > 0) {
|
|
5484
|
+
this.showChangeTabModal$.next(true);
|
|
5485
|
+
this.tabChange$.next(tab);
|
|
5486
|
+
return;
|
|
5487
|
+
}
|
|
5488
|
+
this.confirmTabChange(tab);
|
|
5489
|
+
}
|
|
5490
|
+
onChangeTabCancel() {
|
|
5491
|
+
if (!this.tabsComponent)
|
|
5492
|
+
return;
|
|
5493
|
+
const prevTab = this.tabsComponent.tabs.find((tab) => tab.id === this.activeTab);
|
|
5494
|
+
if (!prevTab)
|
|
5495
|
+
return;
|
|
5496
|
+
const tab = this.tabsComponent.tabs.find((tab) => tab.active);
|
|
5497
|
+
if (!tab)
|
|
5498
|
+
return;
|
|
5499
|
+
tab.active = false;
|
|
5500
|
+
prevTab.active = true;
|
|
5501
|
+
}
|
|
5502
|
+
onChangeTabConfirm(tab) {
|
|
5503
|
+
this.confirmTabChange(tab);
|
|
5504
|
+
}
|
|
5505
|
+
confirmTabChange(tab) {
|
|
5506
|
+
this.activeTab = tab;
|
|
5507
|
+
this.tabChangeEvent.emit(tab);
|
|
5508
|
+
}
|
|
5509
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5510
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseListTabsComponent, isStandalone: false, selector: "valtimo-case-list-tabs", inputs: { assigneeFilter: "assigneeFilter", selectedRowCount: "selectedRowCount", visibleTabs: "visibleTabs" }, outputs: { tabChangeEvent: "tabChangeEvent" }, viewQueries: [{ propertyName: "tabsComponent", first: true, predicate: Tabs, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"!visibleTabs; else configuredTabs\">\n <cds-tabs type=\"contained\" class=\"case-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'case.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-container>\n\n<ng-template #configuredTabs>\n <cds-tabs type=\"contained\" class=\"case-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'case.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changeTabModal.confirm\"\n contentTranslationKey=\"case.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"case.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n></valtimo-confirmation-modal>\n", styles: [".case-list-tabs cds-tab{display:none}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i2$2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2$2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5511
|
+
}
|
|
5512
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListTabsComponent, decorators: [{
|
|
5513
|
+
type: Component,
|
|
5514
|
+
args: [{ standalone: false, selector: 'valtimo-case-list-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"!visibleTabs; else configuredTabs\">\n <cds-tabs type=\"contained\" class=\"case-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'case.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-container>\n\n<ng-template #configuredTabs>\n <cds-tabs type=\"contained\" class=\"case-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'case.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n</ng-template>\n\n<valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changeTabModal.confirm\"\n contentTranslationKey=\"case.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"case.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n></valtimo-confirmation-modal>\n", styles: [".case-list-tabs cds-tab{display:none}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
5515
|
+
}], propDecorators: { tabsComponent: [{
|
|
5516
|
+
type: ViewChild,
|
|
5517
|
+
args: [Tabs]
|
|
5518
|
+
}], assigneeFilter: [{
|
|
5519
|
+
type: Input
|
|
5520
|
+
}], selectedRowCount: [{
|
|
5521
|
+
type: Input
|
|
5522
|
+
}], visibleTabs: [{
|
|
5523
|
+
type: Input
|
|
5524
|
+
}], tabChangeEvent: [{
|
|
5525
|
+
type: Output
|
|
5526
|
+
}] } });
|
|
5527
|
+
|
|
5528
|
+
/*
|
|
5529
|
+
* Copyright 2015-2026 Ritense BV, the Netherlands.
|
|
5530
|
+
*
|
|
5531
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5532
|
+
* you may not use this file except in compliance with the License.
|
|
5533
|
+
* You may obtain a copy of the License at
|
|
5534
|
+
*
|
|
5535
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
5536
|
+
*
|
|
5537
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
5538
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
5539
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5540
|
+
* See the License for the specific language governing permissions and
|
|
5541
|
+
* limitations under the License.
|
|
5542
|
+
*/
|
|
5543
|
+
class CaseListToolbarComponent {
|
|
5544
|
+
constructor() {
|
|
5545
|
+
this.availableFields = null;
|
|
5546
|
+
this.canCreate = false;
|
|
5547
|
+
this.canExport = false;
|
|
5548
|
+
this.disableExport = false;
|
|
5549
|
+
this.disableStart = false;
|
|
5550
|
+
this.hasApiColumnConfig = false;
|
|
5551
|
+
this.hiddenColumns = null;
|
|
5552
|
+
this.loadingExport = false;
|
|
5553
|
+
this.exportEvent = new EventEmitter();
|
|
5554
|
+
this.startCaseEvent = new EventEmitter();
|
|
5555
|
+
this.viewUpdateEvent = new EventEmitter();
|
|
5556
|
+
}
|
|
5557
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5558
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseListToolbarComponent, isStandalone: false, selector: "valtimo-case-list-toolbar", inputs: { availableFields: "availableFields", canCreate: "canCreate", canExport: "canExport", disableExport: "disableExport", disableStart: "disableStart", hasApiColumnConfig: "hasApiColumnConfig", hiddenColumns: "hiddenColumns", loadingExport: "loadingExport" }, outputs: { exportEvent: "exportEvent", startCaseEvent: "startCaseEvent", viewUpdateEvent: "viewUpdateEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"case-list-toolbar\">\n <valtimo-list-column-view\n [availableFields]=\"availableFields\"\n [disabled]=\"!hasApiColumnConfig\"\n [hiddenColumns]=\"hiddenColumns\"\n (viewUpdateEvent)=\"viewUpdateEvent.emit($event)\"\n ></valtimo-list-column-view>\n\n <cds-tooltip *ngIf=\"canExport\" [description]=\"'case.exportButtonTooltip' | translate\">\n <cds-loading *ngIf=\"loadingExport\" size=\"sm\" class=\"loading-spinner\"></cds-loading>\n\n <button\n *ngIf=\"!loadingExport\"\n data-testid=\"case-list-export-button\"\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n (click)=\"exportEvent.emit()\"\n [disabled]=\"disableExport\"\n >\n <svg cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n </cds-tooltip>\n\n <button\n *ngIf=\"canCreate\"\n cdsButton=\"primary\"\n [disabled]=\"disableStart\"\n (click)=\"startCaseEvent.emit()\"\n >\n {{ 'Start Case' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</div>\n", styles: [".case-list-toolbar{display:flex}.loading-spinner{margin:24px 24px 0 10px}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "component", type: i2$1.ListColumnViewComponent, selector: "valtimo-list-column-view", inputs: ["availableFields", "hiddenColumns", "disabled"], outputs: ["viewUpdateEvent"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5559
|
+
}
|
|
5560
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListToolbarComponent, decorators: [{
|
|
5561
|
+
type: Component,
|
|
5562
|
+
args: [{ standalone: false, selector: 'valtimo-case-list-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"case-list-toolbar\">\n <valtimo-list-column-view\n [availableFields]=\"availableFields\"\n [disabled]=\"!hasApiColumnConfig\"\n [hiddenColumns]=\"hiddenColumns\"\n (viewUpdateEvent)=\"viewUpdateEvent.emit($event)\"\n ></valtimo-list-column-view>\n\n <cds-tooltip *ngIf=\"canExport\" [description]=\"'case.exportButtonTooltip' | translate\">\n <cds-loading *ngIf=\"loadingExport\" size=\"sm\" class=\"loading-spinner\"></cds-loading>\n\n <button\n *ngIf=\"!loadingExport\"\n data-testid=\"case-list-export-button\"\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n (click)=\"exportEvent.emit()\"\n [disabled]=\"disableExport\"\n >\n <svg cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n </cds-tooltip>\n\n <button\n *ngIf=\"canCreate\"\n cdsButton=\"primary\"\n [disabled]=\"disableStart\"\n (click)=\"startCaseEvent.emit()\"\n >\n {{ 'Start Case' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</div>\n", styles: [".case-list-toolbar{display:flex}.loading-spinner{margin:24px 24px 0 10px}\n/*!\n * Copyright 2015-2026 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
5563
|
+
}], propDecorators: { availableFields: [{
|
|
5564
|
+
type: Input
|
|
5565
|
+
}], canCreate: [{
|
|
5566
|
+
type: Input
|
|
5567
|
+
}], canExport: [{
|
|
5568
|
+
type: Input
|
|
5569
|
+
}], disableExport: [{
|
|
5570
|
+
type: Input
|
|
5571
|
+
}], disableStart: [{
|
|
5572
|
+
type: Input
|
|
5573
|
+
}], hasApiColumnConfig: [{
|
|
5574
|
+
type: Input
|
|
5575
|
+
}], hiddenColumns: [{
|
|
5576
|
+
type: Input
|
|
5577
|
+
}], loadingExport: [{
|
|
5578
|
+
type: Input
|
|
5579
|
+
}], exportEvent: [{
|
|
5580
|
+
type: Output
|
|
5581
|
+
}], startCaseEvent: [{
|
|
5582
|
+
type: Output
|
|
5583
|
+
}], viewUpdateEvent: [{
|
|
5584
|
+
type: Output
|
|
5585
|
+
}] } });
|
|
5586
|
+
|
|
5155
5587
|
/*
|
|
5156
5588
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
5157
5589
|
*
|
|
@@ -5168,289 +5600,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
5168
5600
|
* limitations under the License.
|
|
5169
5601
|
*/
|
|
5170
5602
|
class CaseListComponent {
|
|
5171
|
-
constructor(assigneeService, breadcrumbService, bulkAssignService,
|
|
5603
|
+
constructor(assigneeService, breadcrumbService, bulkAssignService, caseExportService, caseListCaseTagService, listService, pageTitleService, paginationService, parameterService, quickSearchStateService, route, router, searchService, statusService, caseListQuickSearchService, configService, teamsApiService) {
|
|
5172
5604
|
this.assigneeService = assigneeService;
|
|
5173
5605
|
this.breadcrumbService = breadcrumbService;
|
|
5174
5606
|
this.bulkAssignService = bulkAssignService;
|
|
5175
|
-
this.
|
|
5176
|
-
this.
|
|
5177
|
-
this.documentService = documentService;
|
|
5607
|
+
this.caseExportService = caseExportService;
|
|
5608
|
+
this.caseListCaseTagService = caseListCaseTagService;
|
|
5178
5609
|
this.listService = listService;
|
|
5179
5610
|
this.pageTitleService = pageTitleService;
|
|
5180
5611
|
this.paginationService = paginationService;
|
|
5181
5612
|
this.parameterService = parameterService;
|
|
5613
|
+
this.quickSearchStateService = quickSearchStateService;
|
|
5182
5614
|
this.route = route;
|
|
5183
5615
|
this.router = router;
|
|
5184
5616
|
this.searchService = searchService;
|
|
5185
|
-
this.translateService = translateService;
|
|
5186
|
-
this.permissionService = permissionService;
|
|
5187
5617
|
this.statusService = statusService;
|
|
5188
|
-
this.caseListCaseTagService = caseListCaseTagService;
|
|
5189
|
-
this.caseExportService = caseExportService;
|
|
5190
|
-
this.caseListHiddenColumnsService = caseListHiddenColumnsService;
|
|
5191
|
-
this.quickSearchStateService = quickSearchStateService;
|
|
5192
5618
|
this.caseListQuickSearchService = caseListQuickSearchService;
|
|
5193
|
-
this.
|
|
5194
|
-
this.
|
|
5195
|
-
this.loadingPagination = true;
|
|
5196
|
-
this.loadingSearchFields = true;
|
|
5197
|
-
this.loadingAssigneeFilter = true;
|
|
5198
|
-
this.loadingDocumentItems = true;
|
|
5199
|
-
this.loadingStatuses = true;
|
|
5200
|
-
this.visibleCaseTabs = null;
|
|
5619
|
+
this.configService = configService;
|
|
5620
|
+
this.teamsApiService = teamsApiService;
|
|
5201
5621
|
this.loadingExport = false;
|
|
5202
|
-
this.
|
|
5622
|
+
this.visibleCaseTabs = null;
|
|
5623
|
+
this.orchestration = inject(CaseListOrchestrationService);
|
|
5203
5624
|
this.tableTranslations = CASE_LIST_TABLE_TRANSLATIONS;
|
|
5204
|
-
this.noResultsMessage$ = new BehaviorSubject(CASE_LIST_NO_RESULTS_MESSAGE);
|
|
5205
|
-
this.disableStartButton$ = new BehaviorSubject(false);
|
|
5206
5625
|
this.showAssignModal$ = new BehaviorSubject(false);
|
|
5207
5626
|
this.showChangePageModal$ = new BehaviorSubject(false);
|
|
5208
|
-
this.
|
|
5209
|
-
this.disableExportButton$ = new BehaviorSubject(false);
|
|
5210
|
-
this.searchFields$ = this.searchService.documentSearchFields$.pipe(tap(() => (this.loadingSearchFields = false)));
|
|
5211
|
-
this.statuses$ = this.statusService.caseStatuses$.pipe(tap(() => (this.loadingStatuses = false)));
|
|
5212
|
-
this.caseTags$ = this.caseListCaseTagService.caseTags$.pipe(tap(() => (this.loadingStatuses = false)));
|
|
5213
|
-
this.selectedStatusKeys$ = this.statusService.selectedCaseStatuses$;
|
|
5214
|
-
this.selectedCaseTagKeys$ = this.caseListCaseTagService.selectedCaseTagKeys$;
|
|
5215
|
-
this.caseDefinitionKey$ = this.listService.caseDefinitionKey$.pipe(tap((caseDefinitionKey) => this.caseListQuickSearchService.initParams(caseDefinitionKey)));
|
|
5627
|
+
this.disableStartButton$ = new BehaviorSubject(false);
|
|
5216
5628
|
this.selectedCaseIds$ = new BehaviorSubject([]);
|
|
5217
|
-
this._refreshHiddenColumns$ = new BehaviorSubject(null);
|
|
5218
|
-
this.hiddenColumns$ = this._refreshHiddenColumns$.pipe(switchMap(() => this.caseDefinitionKey$), switchMap((caseDefinitionKey) => this.caseListHiddenColumnsService.getHiddenColumns(caseDefinitionKey)));
|
|
5219
|
-
this.schema$ = this.listService.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => this.documentService.getDocumentDefinition(caseDefinitionKey)), map(caseDefinition => caseDefinition?.schema), tap(schema => {
|
|
5220
|
-
if (schema?.title) {
|
|
5221
|
-
this.pageTitleService.setCustomPageTitle(schema?.title, true);
|
|
5222
|
-
}
|
|
5223
|
-
}));
|
|
5224
|
-
this.canCreateCase$ = this.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => this.permissionService.requestPermission(CAN_CREATE_CASE_PERMISSION, {
|
|
5225
|
-
resource: CASE_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocumentDefinition,
|
|
5226
|
-
identifier: caseDefinitionKey,
|
|
5227
|
-
})));
|
|
5228
|
-
this.canExportCase$ = this.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => combineLatest([
|
|
5229
|
-
this.permissionService.requestPermission(CAN_EXPORT_CASE_PERMISSION, {
|
|
5230
|
-
resource: CASE_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocumentDefinition,
|
|
5231
|
-
identifier: caseDefinitionKey,
|
|
5232
|
-
}),
|
|
5233
|
-
this.documentService.getCaseList(caseDefinitionKey),
|
|
5234
|
-
])), switchMap(([canExportPermission, caseList]) => {
|
|
5235
|
-
const isExportableColumns = caseList.some(caseListitem => caseListitem.exportable);
|
|
5236
|
-
return of(canExportPermission && isExportableColumns);
|
|
5237
|
-
}));
|
|
5238
|
-
this.searchFieldValues$ = this.parameterService.searchFieldValues$;
|
|
5239
|
-
this.assigneeFilter$ = this.assigneeService.assigneeFilter$.pipe(tap(assigneeFilter => (this.activeTab = assigneeFilter)));
|
|
5240
5629
|
this.paginationChange$ = new BehaviorSubject(null);
|
|
5241
|
-
this.tabChange$ = new BehaviorSubject(null);
|
|
5242
|
-
this._pagination$ = this.paginationService.pagination$.pipe(tap(pagination => {
|
|
5243
|
-
this.pagination = pagination;
|
|
5244
|
-
this.loadingPagination = false;
|
|
5245
|
-
}));
|
|
5246
|
-
this.hasApiColumnConfig$ = new BehaviorSubject(false);
|
|
5247
|
-
this._canHaveAssignee$ = this.assigneeService.canHaveAssignee$;
|
|
5248
|
-
this._columns$ = this.listService.caseDefinitionKey$.pipe(switchMap(caseDefinitionKey => this.columnService.getDefinitionColumns(caseDefinitionKey)), map(res => {
|
|
5249
|
-
this.hasApiColumnConfig$.next(res.hasApiConfig);
|
|
5250
|
-
return res.columns;
|
|
5251
|
-
}), tap(columns => {
|
|
5252
|
-
this.listService.caseDefinitionKey$.pipe(take(1)).subscribe(_ => {
|
|
5253
|
-
this.paginationService.setPagination(columns);
|
|
5254
|
-
});
|
|
5255
|
-
}));
|
|
5256
|
-
this.showStatusSelector$ = this.statusService.showStatusSelector$;
|
|
5257
|
-
this.showCaseTagsSelector$ = this.caseListCaseTagService.showCaseTagsSelector$;
|
|
5258
|
-
this.INTERNAL_STATUS_COLUMN = 'internalStatus';
|
|
5259
|
-
this.CASE_TAGS_COLUMN = 'caseTags';
|
|
5260
|
-
this._statusField = {
|
|
5261
|
-
label: 'document.status',
|
|
5262
|
-
key: this.INTERNAL_STATUS_COLUMN,
|
|
5263
|
-
viewType: ViewType.TAGS,
|
|
5264
|
-
sortable: true,
|
|
5265
|
-
};
|
|
5266
|
-
this._internalStatusKeys$ = new BehaviorSubject([
|
|
5267
|
-
this.INTERNAL_STATUS_COLUMN,
|
|
5268
|
-
]);
|
|
5269
|
-
this._caseTagsKeys$ = new BehaviorSubject([this.CASE_TAGS_COLUMN]);
|
|
5270
|
-
this.availableFields$ = combineLatest([
|
|
5271
|
-
this._canHaveAssignee$,
|
|
5272
|
-
this._columns$,
|
|
5273
|
-
this.hasApiColumnConfig$,
|
|
5274
|
-
this.statuses$,
|
|
5275
|
-
this.translateService.stream('key'),
|
|
5276
|
-
]).pipe(tap(([canHaveAssignee]) => {
|
|
5277
|
-
this.canHaveAssignee = canHaveAssignee;
|
|
5278
|
-
}), map(([canHaveAssignee, columns, hasApiConfig, statuses]) => {
|
|
5279
|
-
this._internalStatusKeys$.next([
|
|
5280
|
-
...this._internalStatusKeys$.getValue(),
|
|
5281
|
-
...columns.reduce((acc, curr) => curr.propertyName === this.INTERNAL_STATUS_COLUMN ? [...acc, curr.translationKey] : acc, []),
|
|
5282
|
-
]);
|
|
5283
|
-
this._caseTagsKeys$.next([
|
|
5284
|
-
...this._caseTagsKeys$.getValue(),
|
|
5285
|
-
...columns.reduce((acc, curr) => curr.propertyName === this.CASE_TAGS_COLUMN ? [...acc, curr.translationKey] : acc, []),
|
|
5286
|
-
]);
|
|
5287
|
-
const filteredAssigneeColumns = this.assigneeService.filterAssigneeColumns(columns, canHaveAssignee);
|
|
5288
|
-
const listFields = this.columnService.mapDefinitionColumnsToListFields(filteredAssigneeColumns, hasApiConfig);
|
|
5289
|
-
const fieldsToReturn = this.assigneeService.addAssigneeListField(columns, listFields, canHaveAssignee);
|
|
5290
|
-
return statuses.some((status) => status.key !== CASES_WITHOUT_STATUS_KEY) && !hasApiConfig
|
|
5291
|
-
? [...fieldsToReturn, this._statusField]
|
|
5292
|
-
: fieldsToReturn;
|
|
5293
|
-
}));
|
|
5294
|
-
this.fields$ = combineLatest([
|
|
5295
|
-
this.availableFields$,
|
|
5296
|
-
this.hiddenColumns$,
|
|
5297
|
-
]).pipe(map(([fields, hiddenColumns]) => fields.filter((field) => !hiddenColumns.find((hiddenColumn) => hiddenColumn.key === field.key))), tap(listFields => {
|
|
5298
|
-
const defaultListField = listFields.find(field => field.default);
|
|
5299
|
-
// set default sort state if no pagination query parameters for sorting are available
|
|
5300
|
-
this.parameterService.queryPaginationParams$
|
|
5301
|
-
.pipe(take(1))
|
|
5302
|
-
.subscribe(queryPaginationParams => {
|
|
5303
|
-
if (defaultListField && !queryPaginationParams?.sort?.isSorting) {
|
|
5304
|
-
const sortDirection = typeof defaultListField.default === 'string' ? defaultListField.default : 'DESC';
|
|
5305
|
-
this.paginationService.sortChanged({
|
|
5306
|
-
isSorting: true,
|
|
5307
|
-
state: { name: defaultListField.key, direction: sortDirection },
|
|
5308
|
-
});
|
|
5309
|
-
}
|
|
5310
|
-
});
|
|
5311
|
-
}), tap(() => {
|
|
5312
|
-
this.loadingFields = false;
|
|
5313
|
-
}));
|
|
5314
|
-
this._documentSearchRequest$ = combineLatest([this._pagination$, this.listService.caseDefinitionKey$]).pipe(filter(([pagination]) => !!pagination), map(([pagination, caseDefinitionKey]) => {
|
|
5315
|
-
const page = pagination.page - 1;
|
|
5316
|
-
return new AdvancedDocumentSearchRequestImpl(caseDefinitionKey, page >= 0 ? page : 0, pagination.size, pagination.sort);
|
|
5317
|
-
}));
|
|
5318
|
-
this.documentItems$ = this.listService.checkRefresh$.pipe(switchMap(() => combineLatest([
|
|
5319
|
-
this._documentSearchRequest$,
|
|
5320
|
-
this.assigneeFilter$,
|
|
5321
|
-
this.searchFieldValues$,
|
|
5322
|
-
this.statusService.selectedCaseStatuses$,
|
|
5323
|
-
this.caseListCaseTagService.selectedCaseTagKeys$,
|
|
5324
|
-
this.listService.forceRefresh$,
|
|
5325
|
-
this.hasApiColumnConfig$,
|
|
5326
|
-
this.statusService.caseStatuses$,
|
|
5327
|
-
this.caseListCaseTagService.caseTags$,
|
|
5328
|
-
]).pipe(debounceTime(50))), distinctUntilChanged(([prevSearchRequest, prevAssigneeFilter, prevSearchFieldValues, prevSelectedStatuses, prevCaseTagKeys, prevForceRefresh,], [currSearchRequest, currAssigneeFilter, currSearchFieldValues, currSelectedStatuses, currCaseTagKeys, currForceRefresh,]) => isEqual$1({
|
|
5329
|
-
...prevSearchRequest,
|
|
5330
|
-
assignee: prevAssigneeFilter,
|
|
5331
|
-
...prevSearchFieldValues,
|
|
5332
|
-
...prevSelectedStatuses,
|
|
5333
|
-
...prevCaseTagKeys,
|
|
5334
|
-
forceRefresh: prevForceRefresh,
|
|
5335
|
-
}, {
|
|
5336
|
-
...currSearchRequest,
|
|
5337
|
-
assignee: currAssigneeFilter,
|
|
5338
|
-
...currSearchFieldValues,
|
|
5339
|
-
...currSelectedStatuses,
|
|
5340
|
-
...currCaseTagKeys,
|
|
5341
|
-
forceRefresh: currForceRefresh,
|
|
5342
|
-
})), switchMap(([documentSearchRequest, assigneeFilter, searchValues, selectedStatuses, selectedCaseTagKeys, _, hasApiColumnConfig, allStatuses,]) => {
|
|
5343
|
-
const obsApi = of(hasApiColumnConfig);
|
|
5344
|
-
const statusKeys = allStatuses.length === 1
|
|
5345
|
-
? []
|
|
5346
|
-
: selectedStatuses.map((statusKey) => statusKey === CASES_WITHOUT_STATUS_KEY ? null : statusKey);
|
|
5347
|
-
if ((Object.keys(searchValues) || []).length > 0) {
|
|
5348
|
-
return forkJoin({
|
|
5349
|
-
documents: !hasApiColumnConfig
|
|
5350
|
-
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.searchService.mapSearchValuesToFilters(searchValues), statusKeys, selectedCaseTagKeys)
|
|
5351
|
-
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.searchService.mapSearchValuesToFilters(searchValues), statusKeys, selectedCaseTagKeys),
|
|
5352
|
-
hasApiColumnConfig: obsApi,
|
|
5353
|
-
isSearchResult: of(true),
|
|
5354
|
-
allStatuses: of(allStatuses),
|
|
5355
|
-
});
|
|
5356
|
-
}
|
|
5357
|
-
return forkJoin({
|
|
5358
|
-
documents: !hasApiColumnConfig
|
|
5359
|
-
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, undefined, statusKeys, selectedCaseTagKeys)
|
|
5360
|
-
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, undefined, statusKeys, selectedCaseTagKeys),
|
|
5361
|
-
hasApiColumnConfig: obsApi,
|
|
5362
|
-
isSearchResult: of(false),
|
|
5363
|
-
allStatuses: of(allStatuses),
|
|
5364
|
-
});
|
|
5365
|
-
}), switchMap(res => combineLatest([
|
|
5366
|
-
of(res),
|
|
5367
|
-
forkJoin(res.documents.content.map(document => this.permissionService
|
|
5368
|
-
.requestPermission(CAN_VIEW_CASE_PERMISSION, {
|
|
5369
|
-
resource: CASE_DETAIL_PERMISSION_RESOURCE.jsonSchemaDocument,
|
|
5370
|
-
identifier: document.id,
|
|
5371
|
-
})
|
|
5372
|
-
.pipe(take(1)))).pipe(defaultIfEmpty([])),
|
|
5373
|
-
this._internalStatusKeys$,
|
|
5374
|
-
this._caseTagsKeys$,
|
|
5375
|
-
])), map(([res, documentsAuthorization, statusColumnKeys, caseTagsKeys]) => ({
|
|
5376
|
-
...res,
|
|
5377
|
-
documents: {
|
|
5378
|
-
...res.documents,
|
|
5379
|
-
content: res.documents.content.map((document, index) => ({
|
|
5380
|
-
...document,
|
|
5381
|
-
locked: !documentsAuthorization[index],
|
|
5382
|
-
})),
|
|
5383
|
-
},
|
|
5384
|
-
statusColumnKeys,
|
|
5385
|
-
caseTagsKeys,
|
|
5386
|
-
})), map((res) => {
|
|
5387
|
-
this.paginationService.setCollectionSize(res.documents);
|
|
5388
|
-
this.paginationService.checkPage(res.documents);
|
|
5389
|
-
this.updateNoResultsMessage(res.isSearchResult);
|
|
5390
|
-
return {
|
|
5391
|
-
data: this.listService.mapDocuments(res.documents, res.hasApiColumnConfig),
|
|
5392
|
-
statuses: res.allStatuses,
|
|
5393
|
-
statusColumnKeys: res.statusColumnKeys,
|
|
5394
|
-
caseTagsKeys: res.caseTagsKeys,
|
|
5395
|
-
};
|
|
5396
|
-
}), map(res => {
|
|
5397
|
-
if (!Array.isArray(res.data))
|
|
5398
|
-
return res.data;
|
|
5399
|
-
this.disableExportButton$.next(res.data.length === 0 ? true : false);
|
|
5400
|
-
return res.data.map(item => {
|
|
5401
|
-
const mappedInternalStatusColumns = res.statusColumnKeys.reduce((acc, curr) => {
|
|
5402
|
-
const status = res.statuses.find((status) => status.key === item[curr] || status.key === item.status);
|
|
5403
|
-
return !status
|
|
5404
|
-
? acc
|
|
5405
|
-
: {
|
|
5406
|
-
...acc,
|
|
5407
|
-
[curr]: {
|
|
5408
|
-
content: status.title,
|
|
5409
|
-
type: InternalCaseStatusUtils.getTagTypeFromInternalCaseStatusColor(status.color),
|
|
5410
|
-
},
|
|
5411
|
-
};
|
|
5412
|
-
}, {});
|
|
5413
|
-
const mappedTagColumns = res.caseTagsKeys.reduce((acc, curr) => {
|
|
5414
|
-
if (item[curr]) {
|
|
5415
|
-
return {
|
|
5416
|
-
...acc,
|
|
5417
|
-
[curr]: item[curr].map(tag => ({
|
|
5418
|
-
content: tag.title,
|
|
5419
|
-
type: CaseTagsUtils.getTagTypeFromCaseTagColor(tag.color),
|
|
5420
|
-
})),
|
|
5421
|
-
};
|
|
5422
|
-
}
|
|
5423
|
-
return acc;
|
|
5424
|
-
}, {});
|
|
5425
|
-
return {
|
|
5426
|
-
...item,
|
|
5427
|
-
...mappedInternalStatusColumns,
|
|
5428
|
-
...mappedTagColumns,
|
|
5429
|
-
};
|
|
5430
|
-
});
|
|
5431
|
-
}), tap(() => {
|
|
5432
|
-
this.loadingAssigneeFilter = false;
|
|
5433
|
-
this.loadingDocumentItems = false;
|
|
5434
|
-
}));
|
|
5435
|
-
this.disableSaveSearch$ = combineLatest([
|
|
5436
|
-
this.statusService.selectedCaseStatuses$,
|
|
5437
|
-
this.caseListCaseTagService.selectedCaseTagKeys$,
|
|
5438
|
-
]).pipe(map(([selectedStatuses, selectedTags]) => !selectedStatuses.length && !selectedTags.length));
|
|
5439
5630
|
}
|
|
5440
5631
|
ngOnInit() {
|
|
5441
|
-
this.setVisibleTabs();
|
|
5442
5632
|
this.openCaseDefinitionKeySubscription();
|
|
5633
|
+
this.subscribeToPagination();
|
|
5634
|
+
this.subscribeToCanHaveAssignee();
|
|
5635
|
+
this.subscribeToSearchFields();
|
|
5636
|
+
this.resolveVisibleCaseTabs();
|
|
5443
5637
|
}
|
|
5444
5638
|
ngOnDestroy() {
|
|
5445
5639
|
this._caseDefinitionKeySubscription?.unsubscribe();
|
|
5640
|
+
this._paginationSubscription?.unsubscribe();
|
|
5641
|
+
this._canHaveAssigneeSubscription?.unsubscribe();
|
|
5642
|
+
this._searchFieldsSubscription?.unsubscribe();
|
|
5446
5643
|
this.pageTitleService.enableReset();
|
|
5447
5644
|
}
|
|
5448
|
-
|
|
5449
|
-
return index;
|
|
5450
|
-
}
|
|
5645
|
+
// --- Search ---
|
|
5451
5646
|
search(searchFieldValues) {
|
|
5452
5647
|
this.searchService.search(searchFieldValues);
|
|
5453
5648
|
}
|
|
5649
|
+
// --- Row click ---
|
|
5454
5650
|
rowClick(item) {
|
|
5455
5651
|
this.listService.caseDefinitionKey$.pipe(take(1)).subscribe(caseDefinitionKey => {
|
|
5456
5652
|
this.breadcrumbService.cacheQueryParams(`/cases/${caseDefinitionKey}`, this.route.snapshot.queryParams);
|
|
@@ -5462,36 +5658,14 @@ class CaseListComponent {
|
|
|
5462
5658
|
}
|
|
5463
5659
|
});
|
|
5464
5660
|
}
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5470
|
-
|
|
5471
|
-
if (this.activeTab.toLowerCase() === tab.toLowerCase()) {
|
|
5472
|
-
return;
|
|
5473
|
-
}
|
|
5474
|
-
if (this.carbonList.model.selectedRowsCount()) {
|
|
5475
|
-
this.showChangeTabModal$.next(true);
|
|
5476
|
-
this.tabChange$.next(tab);
|
|
5477
|
-
return;
|
|
5478
|
-
}
|
|
5479
|
-
this.onChangeTabConfirm(tab);
|
|
5480
|
-
}
|
|
5481
|
-
onChangeTabCancel() {
|
|
5482
|
-
if (!this.tabsComponent) {
|
|
5483
|
-
return;
|
|
5484
|
-
}
|
|
5485
|
-
const prevTab = this.tabsComponent.tabs.find((tab) => tab.id === this.activeTab);
|
|
5486
|
-
if (!prevTab) {
|
|
5487
|
-
return;
|
|
5488
|
-
}
|
|
5489
|
-
const tab = this.tabsComponent.tabs.find((tab) => tab.active);
|
|
5490
|
-
if (!tab)
|
|
5491
|
-
return;
|
|
5492
|
-
tab.active = false;
|
|
5493
|
-
prevTab.active = true;
|
|
5661
|
+
// --- Tab change ---
|
|
5662
|
+
onTabChange(tab) {
|
|
5663
|
+
this.orchestration.setLoadingAssigneeFilter(true);
|
|
5664
|
+
this.orchestration.updateNoResultsMessage(false, tab);
|
|
5665
|
+
this.paginationService.setPage(1);
|
|
5666
|
+
this.assigneeService.setAssigneeFilter(tab);
|
|
5494
5667
|
}
|
|
5668
|
+
// --- Pagination ---
|
|
5495
5669
|
pageChange(page) {
|
|
5496
5670
|
if (this.carbonList?.model.selectedRowsCount()) {
|
|
5497
5671
|
this.showChangePageModal$.next(true);
|
|
@@ -5511,33 +5685,28 @@ class CaseListComponent {
|
|
|
5511
5685
|
sortChanged(newSortState) {
|
|
5512
5686
|
this.paginationService.sortChanged(newSortState);
|
|
5513
5687
|
}
|
|
5514
|
-
|
|
5515
|
-
this.
|
|
5516
|
-
|
|
5517
|
-
|
|
5518
|
-
|
|
5519
|
-
this.
|
|
5688
|
+
onChangePageConfirm(pagination) {
|
|
5689
|
+
if (pagination.size !== this.pagination.size) {
|
|
5690
|
+
this.paginationService.pageSizeChange(pagination.size);
|
|
5691
|
+
return;
|
|
5692
|
+
}
|
|
5693
|
+
this.paginationService.pageChange(pagination.page);
|
|
5520
5694
|
}
|
|
5695
|
+
// --- Bulk assign ---
|
|
5521
5696
|
showAssignModal() {
|
|
5522
|
-
this.selectedCaseIds$.next(this.carbonList.selectedItems.map(
|
|
5697
|
+
this.selectedCaseIds$.next(this.carbonList.selectedItems.map(document => document.id));
|
|
5523
5698
|
this.showAssignModal$.next(true);
|
|
5524
5699
|
}
|
|
5525
5700
|
onCloseEvent(bulkAssign) {
|
|
5526
5701
|
this.showAssignModal$.next(false);
|
|
5527
|
-
if (!bulkAssign?.assigneeId)
|
|
5702
|
+
if (!bulkAssign?.assigneeId && !bulkAssign?.assignedTeamKey)
|
|
5528
5703
|
return;
|
|
5529
|
-
|
|
5530
|
-
|
|
5704
|
+
this.bulkAssignService.bulkAssign(bulkAssign.ids, bulkAssign.assigneeId, bulkAssign.assignedTeamKey).subscribe(() => {
|
|
5705
|
+
this.carbonList.model.selectAll(false);
|
|
5531
5706
|
this.forceRefresh();
|
|
5532
5707
|
});
|
|
5533
5708
|
}
|
|
5534
|
-
|
|
5535
|
-
if (pagination.size !== this.pagination.size) {
|
|
5536
|
-
this.paginationService.pageSizeChange(pagination.size);
|
|
5537
|
-
return;
|
|
5538
|
-
}
|
|
5539
|
-
this.paginationService.pageChange(pagination.page);
|
|
5540
|
-
}
|
|
5709
|
+
// --- Actions ---
|
|
5541
5710
|
startCase() {
|
|
5542
5711
|
this.listActionsComponent.startCase();
|
|
5543
5712
|
}
|
|
@@ -5549,6 +5718,7 @@ class CaseListComponent {
|
|
|
5549
5718
|
forceRefresh() {
|
|
5550
5719
|
this.listService.forceRefresh();
|
|
5551
5720
|
}
|
|
5721
|
+
// --- Filters ---
|
|
5552
5722
|
onSelectedStatusesChange(statusKeys) {
|
|
5553
5723
|
this.statusService.setSelectedStatuses(statusKeys);
|
|
5554
5724
|
}
|
|
@@ -5559,10 +5729,9 @@ class CaseListComponent {
|
|
|
5559
5729
|
this.disableStartButton$.next(disabled);
|
|
5560
5730
|
}
|
|
5561
5731
|
onViewUpdateEvent(hiddenColumns) {
|
|
5562
|
-
this.
|
|
5563
|
-
.pipe(take(1), switchMap((caseDefinitionKey) => this.caseListHiddenColumnsService.saveHiddenColumns(caseDefinitionKey, hiddenColumns)))
|
|
5564
|
-
.subscribe(() => this._refreshHiddenColumns$.next(null));
|
|
5732
|
+
this.orchestration.saveHiddenColumns(hiddenColumns);
|
|
5565
5733
|
}
|
|
5734
|
+
// --- Quick search ---
|
|
5566
5735
|
onSaveSearchEvent(event) {
|
|
5567
5736
|
combineLatest([
|
|
5568
5737
|
this.statusService.selectedCaseStatuses$,
|
|
@@ -5578,7 +5747,7 @@ class CaseListComponent {
|
|
|
5578
5747
|
});
|
|
5579
5748
|
}
|
|
5580
5749
|
onQuickSearchEvent(queryPath) {
|
|
5581
|
-
combineLatest([this.route.queryParams, this.caseDefinitionKey$])
|
|
5750
|
+
combineLatest([this.route.queryParams, this.orchestration.caseDefinitionKey$])
|
|
5582
5751
|
.pipe(take(1))
|
|
5583
5752
|
.subscribe(([urlParams, caseDefinitionKey]) => {
|
|
5584
5753
|
const queryParams = { ...urlParams, ...Object.fromEntries(new URLSearchParams(queryPath)) };
|
|
@@ -5596,6 +5765,7 @@ class CaseListComponent {
|
|
|
5596
5765
|
this.statusService.setSelectedStatuses([]);
|
|
5597
5766
|
this.caseListCaseTagService.setSelectedCaseTags([]);
|
|
5598
5767
|
}
|
|
5768
|
+
// --- Private ---
|
|
5599
5769
|
openCaseDefinitionKeySubscription() {
|
|
5600
5770
|
this._caseDefinitionKeySubscription = this.route.params
|
|
5601
5771
|
.pipe(map((params) => params?.caseDefinitionKey), filter(docDefName => !!docDefName), distinctUntilChanged())
|
|
@@ -5608,35 +5778,33 @@ class CaseListComponent {
|
|
|
5608
5778
|
this.paginationService.clearPagination();
|
|
5609
5779
|
this.assigneeService.resetAssigneeFilter();
|
|
5610
5780
|
this.listService.setCaseDefinitionKey(caseDefinitionKey);
|
|
5611
|
-
this.setLoading();
|
|
5781
|
+
this.orchestration.setLoading();
|
|
5612
5782
|
});
|
|
5613
5783
|
}
|
|
5614
|
-
|
|
5615
|
-
this.
|
|
5616
|
-
|
|
5617
|
-
|
|
5618
|
-
this.loadingAssigneeFilter = true;
|
|
5619
|
-
this.loadingDocumentItems = true;
|
|
5620
|
-
this.loadingStatuses = true;
|
|
5784
|
+
subscribeToPagination() {
|
|
5785
|
+
this._paginationSubscription = this.orchestration.pagination$.subscribe(pagination => {
|
|
5786
|
+
this.pagination = pagination;
|
|
5787
|
+
});
|
|
5621
5788
|
}
|
|
5622
|
-
|
|
5623
|
-
this.
|
|
5789
|
+
subscribeToCanHaveAssignee() {
|
|
5790
|
+
this._canHaveAssigneeSubscription = this.assigneeService.canHaveAssignee$.subscribe(canHaveAssignee => {
|
|
5791
|
+
this.canHaveAssignee = canHaveAssignee;
|
|
5792
|
+
});
|
|
5624
5793
|
}
|
|
5625
|
-
|
|
5626
|
-
this.
|
|
5627
|
-
|
|
5628
|
-
|
|
5629
|
-
isSearchResult,
|
|
5630
|
-
title: 'case.noResults.search.title',
|
|
5631
|
-
}
|
|
5632
|
-
: {
|
|
5633
|
-
description: `case.noResults.${this.activeTab ?? 'ALL'}.description`,
|
|
5634
|
-
isSearchResult,
|
|
5635
|
-
title: `case.noResults.${this.activeTab ?? 'ALL'}.title`,
|
|
5636
|
-
});
|
|
5794
|
+
subscribeToSearchFields() {
|
|
5795
|
+
this._searchFieldsSubscription = this.orchestration.searchFields$.subscribe(() => {
|
|
5796
|
+
this.orchestration.setLoadingSearchFields(false);
|
|
5797
|
+
});
|
|
5637
5798
|
}
|
|
5638
|
-
|
|
5639
|
-
|
|
5799
|
+
resolveVisibleCaseTabs() {
|
|
5800
|
+
const tabs = this.configService.config?.visibleCaseListTabs || DEFAULT_CASE_LIST_TABS;
|
|
5801
|
+
this.teamsApiService.getCurrentUserTeams().subscribe(teams => {
|
|
5802
|
+
this.visibleCaseTabs =
|
|
5803
|
+
teams.length > 0 ? tabs : tabs.filter(tab => tab !== CaseListTab.TEAM);
|
|
5804
|
+
});
|
|
5805
|
+
}
|
|
5806
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListComponent, deps: [{ token: CaseListAssigneeService }, { token: i2$1.BreadcrumbService }, { token: CaseBulkAssignService }, { token: CaseExportService }, { token: CaseListCaseTagService }, { token: CaseListService }, { token: i2$1.PageTitleService }, { token: CaseListPaginationService }, { token: CaseParameterService }, { token: i2$1.QuickSearchStateService }, { token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: CaseListSearchService }, { token: CaseListStatusService }, { token: QUICK_SEARCH_SERVICE }, { token: i1.ConfigService }, { token: i4$1.TeamsApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5807
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseListComponent, isStandalone: false, selector: "ng-component", providers: [
|
|
5640
5808
|
CaseListService,
|
|
5641
5809
|
CaseColumnService,
|
|
5642
5810
|
CaseListAssigneeService,
|
|
@@ -5646,13 +5814,14 @@ class CaseListComponent {
|
|
|
5646
5814
|
CaseListStatusService,
|
|
5647
5815
|
CaseListCaseTagService,
|
|
5648
5816
|
CaseExportService,
|
|
5817
|
+
CaseListOrchestrationService,
|
|
5649
5818
|
{
|
|
5650
5819
|
provide: QUICK_SEARCH_SERVICE,
|
|
5651
5820
|
useClass: CaseListQuickSearchService,
|
|
5652
5821
|
},
|
|
5653
|
-
], viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }, { propertyName: "listActionsComponent", first: true, predicate: CaseListActionsComponent, descendants: true }, { propertyName: "tabsComponent", first: true, predicate: Tabs, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n availableFields: availableFields$ | async,\n fields: fields$ | async,\n documentItems: documentItems$ | async,\n noResultsMessage: noResultsMessage$ | async,\n hasApiColumnConfig: hasApiColumnConfig$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedCaseIds: selectedCaseIds$ | async,\n statuses: statuses$ | async,\n caseTags: caseTags$ | async,\n selectedStatusKeys: selectedStatusKeys$ | async,\n selectedCaseTagKeys: selectedCaseTagKeys$ | async,\n showStatusSelector: showStatusSelector$ | async,\n showCaseTagsSelector: showCaseTagsSelector$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems,\n } as obs\"\n>\n <valtimo-case-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-case-list-actions>\n\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <valtimo-quick-search (quickSearchEvent)=\"onQuickSearchEvent($event)\"></valtimo-quick-search>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changeTabModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <valtimo-search-fields\n [disableSaveSearch]=\"disableSaveSearch$ | async\"\n [canSaveSearch]=\"true\"\n [searchFields]=\"obs.searchFields\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n (clearEvent)=\"onClearEvent()\"\n (doSearch)=\"search($event)\"\n (saveSearchEvent)=\"onSaveSearchEvent($event)\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatusKeys]=\"obs.selectedStatusKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n\n <valtimo-case-tags-selector\n *ngIf=\"obs.showCaseTagsSelector\"\n [caseTags]=\"obs.caseTags\"\n [selectedCaseTagKeys]=\"obs.selectedCaseTagKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedCaseTagsChangeEvent)=\"onSelectedCaseTagsChange($event)\"\n ></valtimo-case-tags-selector>\n </valtimo-search-fields>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"caseList\"\n lockedTooltipTranslationKey=\"case.rowLocked\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'case.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div class=\"case-list-toolbar\" carbonToolbarContent>\n <valtimo-list-column-view\n [availableFields]=\"availableFields$ | async\"\n [disabled]=\"!obs.hasApiColumnConfig\"\n [hiddenColumns]=\"hiddenColumns$ | async\"\n (viewUpdateEvent)=\"onViewUpdateEvent($event)\"\n ></valtimo-list-column-view>\n\n <ng-container *ngTemplateOutlet=\"caseListActions\"></ng-container>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : caseListActionsNoResult\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <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 *ngIf=\"!visibleCaseTabs; else configuredTabs\" type=\"contained\" class=\"case-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of defaultTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'case.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <cds-tabs type=\"contained\" class=\"case-list-tabs\">\n <cds-tab\n *ngFor=\"let tab of visibleCaseTabs; trackBy: trackByIndex\"\n [active]=\"assigneeFilter === tab\"\n heading=\"{{ 'case.tabs.' + tab | translate }}\"\n [id]=\"tab\"\n (selected)=\"tabChange(tab)\"\n ></cds-tab>\n </cds-tabs>\n </ng-container>\n</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-case-bulk-assign-modal\n [documentIds]=\"obs.selectedCaseIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event)\"\n ></valtimo-case-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changePageModal.confirm\"\n contentTranslationKey=\"case.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"case.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #changeTabModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changeTabModal.confirm\"\n contentTranslationKey=\"case.changeTabModal.content\"\n [outputOnConfirm]=\"tabChange$ | async\"\n [showModalSubject$]=\"showChangeTabModal$\"\n titleTranslationKey=\"case.changeTabModal.title\"\n (cancelEvent)=\"onChangeTabCancel()\"\n (confirmEvent)=\"onChangeTabConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #caseListActions>\n <cds-tooltip\n *ngIf=\"canExportCase$ | async\"\n [description]=\"'case.exportButtonTooltip' | translate\"\n >\n <cds-loading *ngIf=\"loadingExport\" size=\"sm\" class=\"loading-spinner\"></cds-loading>\n\n <button\n *ngIf=\"!loadingExport\"\n data-testid=\"case-list-export-button\"\n cdsButton=\"ghost\"\n iconOnly=\"true\"\n (click)=\"export()\"\n [disabled]=\"disableExportButton$ | async\"\n >\n <svg cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n </cds-tooltip>\n\n <button\n *ngIf=\"canCreateCase$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startCase()\"\n >\n {{ 'Start Case' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n\n<ng-template #caseListActionsNoResult>\n <button\n *ngIf=\"canCreateCase$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startCase()\"\n >\n {{ 'Start Case' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [".case-list-tabs cds-tab{display:none}.case-list-toolbar{display:flex}:host{display:flex;flex-direction:column;gap:16px}.loading-spinner{margin:24px 24px 0 10px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "caseDefinitionKey", "setValuesSubject$", "clearValuesSubject$", "defaultValues", "disableSaveSearch", "inputDisabled", "externalSearchField", "canSaveSearch"], outputs: ["doSearch", "saveSearchEvent", "clearEvent"] }, { kind: "component", type: i2$2.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i2$2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2$2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: i2$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2$1.StatusSelectorComponent, selector: "valtimo-status-selector", inputs: ["statuses", "selectedStatusKeys", "carbonTheme", "disabled"], outputs: ["selectedStatusesChangeEvent"] }, { kind: "component", type: i2$1.CaseTagsSelectorComponent, selector: "valtimo-case-tags-selector", inputs: ["caseTags", "selectedCaseTagKeys", "carbonTheme", "disabled"], outputs: ["selectedCaseTagsChangeEvent"] }, { kind: "component", type: i2$2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "component", type: i2$1.ListColumnViewComponent, selector: "valtimo-list-column-view", inputs: ["availableFields", "hiddenColumns", "disabled"], outputs: ["viewUpdateEvent"] }, { kind: "component", type: i2$1.QuickSearchComponent, selector: "valtimo-quick-search", outputs: ["quickSearchEvent"] }, { kind: "component", type: CaseListActionsComponent, selector: "valtimo-case-list-actions", inputs: ["loading", "navigateAfterSubmit"], outputs: ["formFlowComplete", "startButtonDisableEvent"] }, { kind: "component", type: CaseBulkAssignModalComponent, selector: "valtimo-case-bulk-assign-modal", inputs: ["documentIds", "open"], outputs: ["closeEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
5822
|
+
], viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }, { propertyName: "listActionsComponent", first: true, predicate: CaseListActionsComponent, descendants: true }, { propertyName: "tabsComponent", first: true, predicate: CaseListTabsComponent, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n availableFields: orchestration.availableFields$ | async,\n fields: orchestration.fields$ | async,\n documentItems: orchestration.documentItems$ | async,\n noResultsMessage: orchestration.noResultsMessage$ | async,\n hasApiColumnConfig: orchestration.hasApiColumnConfig$ | async,\n searchFields: orchestration.searchFields$ | async,\n schema: orchestration.schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedCaseIds: selectedCaseIds$ | async,\n statuses: orchestration.statuses$ | async,\n caseTags: orchestration.caseTags$ | async,\n selectedStatusKeys: orchestration.selectedStatusKeys$ | async,\n selectedCaseTagKeys: orchestration.selectedCaseTagKeys$ | async,\n showStatusSelector: orchestration.showStatusSelector$ | async,\n showCaseTagsSelector: orchestration.showCaseTagsSelector$ | async,\n loaded: orchestration.loaded$ | async,\n canCreate: orchestration.canCreateCase$ | async,\n canExport: orchestration.canExportCase$ | async,\n disableExport: orchestration.disableExportButton$ | async,\n disableSaveSearch: orchestration.disableSaveSearch$ | async,\n assigneeFilter: orchestration.assigneeFilter$ | async,\n hiddenColumns: orchestration.hiddenColumns$ | async,\n disableStartButton: disableStartButton$ | async,\n } as obs\"\n>\n <valtimo-case-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-case-list-actions>\n\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <valtimo-quick-search (quickSearchEvent)=\"onQuickSearchEvent($event)\"></valtimo-quick-search>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <valtimo-search-fields\n [disableSaveSearch]=\"obs.disableSaveSearch\"\n [canSaveSearch]=\"true\"\n [searchFields]=\"obs.searchFields\"\n [caseDefinitionKey]=\"orchestration.caseDefinitionKey$ | async\"\n [defaultValues]=\"orchestration.searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n (clearEvent)=\"onClearEvent()\"\n (doSearch)=\"search($event)\"\n (saveSearchEvent)=\"onSaveSearchEvent($event)\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatusKeys]=\"obs.selectedStatusKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n\n <valtimo-case-tags-selector\n *ngIf=\"obs.showCaseTagsSelector\"\n [caseTags]=\"obs.caseTags\"\n [selectedCaseTagKeys]=\"obs.selectedCaseTagKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedCaseTagsChangeEvent)=\"onSelectedCaseTagsChange($event)\"\n ></valtimo-case-tags-selector>\n </valtimo-search-fields>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"caseList\"\n lockedTooltipTranslationKey=\"case.rowLocked\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'case.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <valtimo-case-list-toolbar\n [availableFields]=\"obs.availableFields\"\n [canCreate]=\"obs.canCreate\"\n [canExport]=\"obs.canExport\"\n [disableExport]=\"obs.disableExport\"\n [disableStart]=\"obs.disableStartButton\"\n [hasApiColumnConfig]=\"obs.hasApiColumnConfig\"\n [hiddenColumns]=\"obs.hiddenColumns\"\n [loadingExport]=\"loadingExport\"\n (exportEvent)=\"export()\"\n (startCaseEvent)=\"startCase()\"\n (viewUpdateEvent)=\"onViewUpdateEvent($event)\"\n ></valtimo-case-list-toolbar>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : caseListActionsNoResult\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"obs.assigneeFilter\"\n [selectedRowCount]=\"carbonList?.model?.selectedRowsCount() ?? 0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"orchestration.assigneeFilter$ | async\"\n [selectedRowCount]=\"0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-case-bulk-assign-modal\n [documentIds]=\"obs.selectedCaseIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event)\"\n ></valtimo-case-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changePageModal.confirm\"\n contentTranslationKey=\"case.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"case.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #caseListActionsNoResult>\n <button\n *ngIf=\"orchestration.canCreateCase$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startCase()\"\n >\n {{ 'Start Case' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "caseDefinitionKey", "setValuesSubject$", "clearValuesSubject$", "defaultValues", "disableSaveSearch", "inputDisabled", "externalSearchField", "canSaveSearch"], outputs: ["doSearch", "saveSearchEvent", "clearEvent"] }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: i2$1.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }, { kind: "component", type: i2$1.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "skeletonRowCount", "actions", "actionItems", "showActionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i2$1.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "component", type: i2$1.StatusSelectorComponent, selector: "valtimo-status-selector", inputs: ["statuses", "selectedStatusKeys", "carbonTheme", "disabled"], outputs: ["selectedStatusesChangeEvent"] }, { kind: "component", type: i2$1.CaseTagsSelectorComponent, selector: "valtimo-case-tags-selector", inputs: ["caseTags", "selectedCaseTagKeys", "carbonTheme", "disabled"], outputs: ["selectedCaseTagsChangeEvent"] }, { kind: "component", type: i2$1.QuickSearchComponent, selector: "valtimo-quick-search", outputs: ["quickSearchEvent"] }, { kind: "component", type: CaseListActionsComponent, selector: "valtimo-case-list-actions", inputs: ["loading", "navigateAfterSubmit"], outputs: ["formFlowComplete", "startButtonDisableEvent"] }, { kind: "component", type: CaseBulkAssignModalComponent, selector: "valtimo-case-bulk-assign-modal", inputs: ["documentIds", "open"], outputs: ["closeEvent"] }, { kind: "component", type: CaseListTabsComponent, selector: "valtimo-case-list-tabs", inputs: ["assigneeFilter", "selectedRowCount", "visibleTabs"], outputs: ["tabChangeEvent"] }, { kind: "component", type: CaseListToolbarComponent, selector: "valtimo-case-list-toolbar", inputs: ["availableFields", "canCreate", "canExport", "disableExport", "disableStart", "hasApiColumnConfig", "hiddenColumns", "loadingExport"], outputs: ["exportEvent", "startCaseEvent", "viewUpdateEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
5654
5823
|
}
|
|
5655
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5824
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseListComponent, decorators: [{
|
|
5656
5825
|
type: Component,
|
|
5657
5826
|
args: [{ standalone: false, providers: [
|
|
5658
5827
|
CaseListService,
|
|
@@ -5664,15 +5833,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
5664
5833
|
CaseListStatusService,
|
|
5665
5834
|
CaseListCaseTagService,
|
|
5666
5835
|
CaseExportService,
|
|
5836
|
+
CaseListOrchestrationService,
|
|
5667
5837
|
{
|
|
5668
5838
|
provide: QUICK_SEARCH_SERVICE,
|
|
5669
5839
|
useClass: CaseListQuickSearchService,
|
|
5670
5840
|
},
|
|
5671
|
-
], template: "<!--\n ~ Copyright 2015-
|
|
5672
|
-
}], ctorParameters: () => [{ type: CaseListAssigneeService }, { type: i2$1.BreadcrumbService }, { type: CaseBulkAssignService }, { type:
|
|
5841
|
+
], template: "<!--\n ~ Copyright 2015-2026 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n availableFields: orchestration.availableFields$ | async,\n fields: orchestration.fields$ | async,\n documentItems: orchestration.documentItems$ | async,\n noResultsMessage: orchestration.noResultsMessage$ | async,\n hasApiColumnConfig: orchestration.hasApiColumnConfig$ | async,\n searchFields: orchestration.searchFields$ | async,\n schema: orchestration.schema$ | async,\n showAssignModal: showAssignModal$ | async,\n selectedCaseIds: selectedCaseIds$ | async,\n statuses: orchestration.statuses$ | async,\n caseTags: orchestration.caseTags$ | async,\n selectedStatusKeys: orchestration.selectedStatusKeys$ | async,\n selectedCaseTagKeys: orchestration.selectedCaseTagKeys$ | async,\n showStatusSelector: orchestration.showStatusSelector$ | async,\n showCaseTagsSelector: orchestration.showCaseTagsSelector$ | async,\n loaded: orchestration.loaded$ | async,\n canCreate: orchestration.canCreateCase$ | async,\n canExport: orchestration.canExportCase$ | async,\n disableExport: orchestration.disableExportButton$ | async,\n disableSaveSearch: orchestration.disableSaveSearch$ | async,\n assigneeFilter: orchestration.assigneeFilter$ | async,\n hiddenColumns: orchestration.hiddenColumns$ | async,\n disableStartButton: disableStartButton$ | async,\n } as obs\"\n>\n <valtimo-case-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"forceRefresh()\"\n (startButtonDisableEvent)=\"onStartButtonDisableEvent($event)\"\n ></valtimo-case-list-actions>\n\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n\n <valtimo-quick-search (quickSearchEvent)=\"onQuickSearchEvent($event)\"></valtimo-quick-search>\n\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"bulkAssignModal; context: {obs: obs}\"></ng-container>\n\n <ng-container *ngTemplateOutlet=\"changePageModal\"></ng-container>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <valtimo-search-fields\n [disableSaveSearch]=\"obs.disableSaveSearch\"\n [canSaveSearch]=\"true\"\n [searchFields]=\"obs.searchFields\"\n [caseDefinitionKey]=\"orchestration.caseDefinitionKey$ | async\"\n [defaultValues]=\"orchestration.searchFieldValues$ | async\"\n [inputDisabled]=\"!obs.loaded\"\n [externalSearchField]=\"obs.showStatusSelector\"\n (clearEvent)=\"onClearEvent()\"\n (doSearch)=\"search($event)\"\n (saveSearchEvent)=\"onSaveSearchEvent($event)\"\n >\n <valtimo-status-selector\n *ngIf=\"obs.showStatusSelector\"\n [statuses]=\"obs.statuses\"\n [selectedStatusKeys]=\"obs.selectedStatusKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedStatusesChangeEvent)=\"onSelectedStatusesChange($event)\"\n ></valtimo-status-selector>\n\n <valtimo-case-tags-selector\n *ngIf=\"obs.showCaseTagsSelector\"\n [caseTags]=\"obs.caseTags\"\n [selectedCaseTagKeys]=\"obs.selectedCaseTagKeys\"\n [disabled]=\"!obs.loaded\"\n (selectedCaseTagsChangeEvent)=\"onSelectedCaseTagsChange($event)\"\n ></valtimo-case-tags-selector>\n </valtimo-search-fields>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [initialSortState]=\"pagination.sort\"\n [items]=\"obs.documentItems\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"caseList\"\n lockedTooltipTranslationKey=\"case.rowLocked\"\n [showSelectionColumn]=\"canHaveAssignee\"\n [tableTranslations]=\"tableTranslations\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n (rowClicked)=\"rowClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showAssignModal()\">\n {{ 'case.bulkAssign.assign' | translate }}\n </button>\n </ng-container>\n\n <div carbonToolbarContent>\n <valtimo-case-list-toolbar\n [availableFields]=\"obs.availableFields\"\n [canCreate]=\"obs.canCreate\"\n [canExport]=\"obs.canExport\"\n [disableExport]=\"obs.disableExport\"\n [disableStart]=\"obs.disableStartButton\"\n [hasApiColumnConfig]=\"obs.hasApiColumnConfig\"\n [hiddenColumns]=\"obs.hiddenColumns\"\n [loadingExport]=\"loadingExport\"\n (exportEvent)=\"export()\"\n (startCaseEvent)=\"startCase()\"\n (viewUpdateEvent)=\"onViewUpdateEvent($event)\"\n ></valtimo-case-list-toolbar>\n </div>\n\n <valtimo-no-results\n [action]=\"obs.noResultsMessage.isSearchResult ? null : caseListActionsNoResult\"\n [description]=\"obs.noResultsMessage.description | translate\"\n [title]=\"obs.noResultsMessage.title | translate\"\n ></valtimo-no-results>\n\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"obs.assigneeFilter\"\n [selectedRowCount]=\"carbonList?.model?.selectedRowsCount() ?? 0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-carbon-list [loading]=\"true\">\n <div tabs *ngIf=\"canHaveAssignee\">\n <valtimo-case-list-tabs\n [assigneeFilter]=\"orchestration.assigneeFilter$ | async\"\n [selectedRowCount]=\"0\"\n [visibleTabs]=\"visibleCaseTabs\"\n (tabChangeEvent)=\"onTabChange($event)\"\n ></valtimo-case-list-tabs>\n </div>\n </valtimo-carbon-list>\n</ng-template>\n\n<ng-template #bulkAssignModal let-obs=\"obs\">\n <valtimo-case-bulk-assign-modal\n [documentIds]=\"obs.selectedCaseIds\"\n [open]=\"obs.showAssignModal\"\n (closeEvent)=\"onCloseEvent($event)\"\n ></valtimo-case-bulk-assign-modal>\n</ng-template>\n\n<ng-template #changePageModal>\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"case.changePageModal.confirm\"\n contentTranslationKey=\"case.changePageModal.content\"\n [outputOnConfirm]=\"paginationChange$ | async\"\n [showModalSubject$]=\"showChangePageModal$\"\n titleTranslationKey=\"case.changePageModal.title\"\n (confirmEvent)=\"onChangePageConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-template>\n\n<ng-template #caseListActionsNoResult>\n <button\n *ngIf=\"orchestration.canCreateCase$ | async\"\n cdsButton=\"primary\"\n [disabled]=\"disableStartButton$ | async\"\n (click)=\"startCase()\"\n >\n {{ 'Start Case' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
5842
|
+
}], ctorParameters: () => [{ type: CaseListAssigneeService }, { type: i2$1.BreadcrumbService }, { type: CaseBulkAssignService }, { type: CaseExportService }, { type: CaseListCaseTagService }, { type: CaseListService }, { type: i2$1.PageTitleService }, { type: CaseListPaginationService }, { type: CaseParameterService }, { type: i2$1.QuickSearchStateService }, { type: i1$2.ActivatedRoute }, { type: i1$2.Router }, { type: CaseListSearchService }, { type: CaseListStatusService }, { type: undefined, decorators: [{
|
|
5673
5843
|
type: Inject,
|
|
5674
5844
|
args: [QUICK_SEARCH_SERVICE]
|
|
5675
|
-
}] }], propDecorators: { carbonList: [{
|
|
5845
|
+
}] }, { type: i1.ConfigService }, { type: i4$1.TeamsApiService }], propDecorators: { carbonList: [{
|
|
5676
5846
|
type: ViewChild,
|
|
5677
5847
|
args: [CarbonListComponent]
|
|
5678
5848
|
}], listActionsComponent: [{
|
|
@@ -5680,7 +5850,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
5680
5850
|
args: [CaseListActionsComponent]
|
|
5681
5851
|
}], tabsComponent: [{
|
|
5682
5852
|
type: ViewChild,
|
|
5683
|
-
args: [
|
|
5853
|
+
args: [CaseListTabsComponent]
|
|
5684
5854
|
}] } });
|
|
5685
5855
|
|
|
5686
5856
|
moment.locale(localStorage.getItem('langKey') || '');
|
|
@@ -5771,13 +5941,13 @@ class CaseUpdateComponent {
|
|
|
5771
5941
|
returnZero() {
|
|
5772
5942
|
return 0;
|
|
5773
5943
|
}
|
|
5774
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5775
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
5944
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseUpdateComponent, deps: [{ token: CaseService }, { token: i2.DocumentService }, { token: i1.GlobalNotificationService }, { token: i6.Location }, { token: i1$2.ActivatedRoute }, { token: i5$2.TaskService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5945
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CaseUpdateComponent, isStandalone: false, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget [title]=\"page?.title\" [subtitle]=\"page?.subtitle\" [divider]=\"true\">\n <div class=\"card-body\">\n <!--view with custom definitions-->\n <div *ngIf=\"this.customDefinitions\">\n <div\n class=\"mb-4\"\n *ngFor=\"let definition of this.customDefinitions | keyvalue: returnZero\"\n ></div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"button\"\n (click)=\"save()\"\n id=\"save-button\"\n >\n Save\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"submit\"\n (click)=\"submit({})\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <valtimo-camunda-form\n *ngIf=\"task?.formFields && !this.customDefinitions\"\n (submitted)=\"submit($event)\"\n [formFields]=\"task.formFields\"\n [componentName]=\"task.formLocation\"\n ></valtimo-camunda-form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i2$1.CamundaFormComponent, selector: "valtimo-camunda-form", inputs: ["componentName", "formFields"], outputs: ["submitted"] }, { kind: "pipe", type: i6.KeyValuePipe, name: "keyvalue" }] }); }
|
|
5776
5946
|
}
|
|
5777
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
5947
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseUpdateComponent, decorators: [{
|
|
5778
5948
|
type: Component,
|
|
5779
5949
|
args: [{ standalone: false, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget [title]=\"page?.title\" [subtitle]=\"page?.subtitle\" [divider]=\"true\">\n <div class=\"card-body\">\n <!--view with custom definitions-->\n <div *ngIf=\"this.customDefinitions\">\n <div\n class=\"mb-4\"\n *ngFor=\"let definition of this.customDefinitions | keyvalue: returnZero\"\n ></div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"button\"\n (click)=\"save()\"\n id=\"save-button\"\n >\n Save\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"submit\"\n (click)=\"submit({})\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <valtimo-camunda-form\n *ngIf=\"task?.formFields && !this.customDefinitions\"\n (submitted)=\"submit($event)\"\n [formFields]=\"task.formFields\"\n [componentName]=\"task.formLocation\"\n ></valtimo-camunda-form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
5780
|
-
}], ctorParameters: () => [{ type: CaseService }, { type: i2.DocumentService }, { type: i1.GlobalNotificationService }, { type: i6.Location }, { type: i1$2.ActivatedRoute }, { type:
|
|
5950
|
+
}], ctorParameters: () => [{ type: CaseService }, { type: i2.DocumentService }, { type: i1.GlobalNotificationService }, { type: i6.Location }, { type: i1$2.ActivatedRoute }, { type: i5$2.TaskService }, { type: i4.TranslateService }] });
|
|
5781
5951
|
|
|
5782
5952
|
/*
|
|
5783
5953
|
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
@@ -5835,11 +6005,11 @@ const routes = [
|
|
|
5835
6005
|
},
|
|
5836
6006
|
];
|
|
5837
6007
|
class CaseRoutingModule {
|
|
5838
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5839
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
5840
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
6008
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6009
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: CaseRoutingModule, imports: [CommonModule, i1$2.RouterModule], exports: [RouterModule] }); }
|
|
6010
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
5841
6011
|
}
|
|
5842
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6012
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseRoutingModule, decorators: [{
|
|
5843
6013
|
type: NgModule,
|
|
5844
6014
|
args: [{
|
|
5845
6015
|
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
@@ -5863,11 +6033,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
5863
6033
|
* limitations under the License.
|
|
5864
6034
|
*/
|
|
5865
6035
|
class TabTranslatePipeModule {
|
|
5866
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5867
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
5868
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
6036
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabTranslatePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6037
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: TabTranslatePipeModule, declarations: [TabTranslatePipe], imports: [TranslateModule], exports: [TabTranslatePipe] }); }
|
|
6038
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabTranslatePipeModule, imports: [TranslateModule] }); }
|
|
5869
6039
|
}
|
|
5870
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6040
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TabTranslatePipeModule, decorators: [{
|
|
5871
6041
|
type: NgModule,
|
|
5872
6042
|
args: [{
|
|
5873
6043
|
imports: [TranslateModule],
|
|
@@ -5935,8 +6105,8 @@ class CaseModule {
|
|
|
5935
6105
|
this.menuService = menuService;
|
|
5936
6106
|
this.menuService.registerAppendMenuItemsFunction(this.caseMenuService.appendCaseMenuItems);
|
|
5937
6107
|
}
|
|
5938
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
5939
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
6108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseModule, deps: [{ token: CaseMenuService }, { token: i2$1.MenuService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6109
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: CaseModule, declarations: [CaseBulkAssignModalComponent,
|
|
5940
6110
|
CaseListComponent,
|
|
5941
6111
|
CaseDetailComponent,
|
|
5942
6112
|
CaseDetailTabSummaryComponent,
|
|
@@ -5948,9 +6118,10 @@ class CaseModule {
|
|
|
5948
6118
|
CaseSupportingProcessStartModalComponent,
|
|
5949
6119
|
CaseDetailTabS3DocumentsComponent,
|
|
5950
6120
|
CaseDetailTabNotFoundComponent,
|
|
5951
|
-
CaseAssignUserComponent,
|
|
5952
6121
|
NoteModalComponent,
|
|
5953
|
-
CaseDetailTabFormioComponent
|
|
6122
|
+
CaseDetailTabFormioComponent,
|
|
6123
|
+
CaseListTabsComponent,
|
|
6124
|
+
CaseListToolbarComponent], imports: [CommonModule,
|
|
5954
6125
|
CaseRoutingModule,
|
|
5955
6126
|
WidgetModule,
|
|
5956
6127
|
BpmnJsDiagramModule,
|
|
@@ -6000,7 +6171,9 @@ class CaseModule {
|
|
|
6000
6171
|
RenderInPageHeaderDirective,
|
|
6001
6172
|
TagModule,
|
|
6002
6173
|
DialogModule,
|
|
6003
|
-
|
|
6174
|
+
OverflowMenuComponent,
|
|
6175
|
+
OverflowMenuOptionComponent,
|
|
6176
|
+
OverflowMenuTriggerComponent,
|
|
6004
6177
|
CaseDetailWidgetsComponent,
|
|
6005
6178
|
CaseDetailTaskListComponent,
|
|
6006
6179
|
CaseDetailsTaskDetailComponent,
|
|
@@ -6019,8 +6192,9 @@ class CaseModule {
|
|
|
6019
6192
|
ObserveSizeDirective,
|
|
6020
6193
|
QuickSearchComponent,
|
|
6021
6194
|
CaseProcessStartModalComponent,
|
|
6022
|
-
CaseListActionsComponent
|
|
6023
|
-
|
|
6195
|
+
CaseListActionsComponent,
|
|
6196
|
+
AssignmentComponent], exports: [CaseListComponent, CaseDetailComponent] }); }
|
|
6197
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseModule, imports: [CommonModule,
|
|
6024
6198
|
CaseRoutingModule,
|
|
6025
6199
|
WidgetModule,
|
|
6026
6200
|
BpmnJsDiagramModule,
|
|
@@ -6072,6 +6246,9 @@ class CaseModule {
|
|
|
6072
6246
|
StatusSelectorComponent,
|
|
6073
6247
|
TagModule,
|
|
6074
6248
|
DialogModule,
|
|
6249
|
+
OverflowMenuComponent,
|
|
6250
|
+
OverflowMenuOptionComponent,
|
|
6251
|
+
OverflowMenuTriggerComponent,
|
|
6075
6252
|
CaseDetailWidgetsComponent,
|
|
6076
6253
|
CaseDetailTaskListComponent,
|
|
6077
6254
|
CaseDetailsTaskDetailComponent,
|
|
@@ -6087,9 +6264,10 @@ class CaseModule {
|
|
|
6087
6264
|
CaseDetailHeaderWidgetComponent,
|
|
6088
6265
|
QuickSearchComponent,
|
|
6089
6266
|
CaseProcessStartModalComponent,
|
|
6090
|
-
CaseListActionsComponent
|
|
6267
|
+
CaseListActionsComponent,
|
|
6268
|
+
AssignmentComponent] }); }
|
|
6091
6269
|
}
|
|
6092
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
6270
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CaseModule, decorators: [{
|
|
6093
6271
|
type: NgModule,
|
|
6094
6272
|
args: [{
|
|
6095
6273
|
declarations: [
|
|
@@ -6105,9 +6283,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
6105
6283
|
CaseSupportingProcessStartModalComponent,
|
|
6106
6284
|
CaseDetailTabS3DocumentsComponent,
|
|
6107
6285
|
CaseDetailTabNotFoundComponent,
|
|
6108
|
-
CaseAssignUserComponent,
|
|
6109
6286
|
NoteModalComponent,
|
|
6110
6287
|
CaseDetailTabFormioComponent,
|
|
6288
|
+
CaseListTabsComponent,
|
|
6289
|
+
CaseListToolbarComponent,
|
|
6111
6290
|
],
|
|
6112
6291
|
imports: [
|
|
6113
6292
|
CommonModule,
|
|
@@ -6164,7 +6343,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
6164
6343
|
RenderInPageHeaderDirective,
|
|
6165
6344
|
TagModule,
|
|
6166
6345
|
DialogModule,
|
|
6167
|
-
|
|
6346
|
+
OverflowMenuComponent,
|
|
6347
|
+
OverflowMenuOptionComponent,
|
|
6348
|
+
OverflowMenuTriggerComponent,
|
|
6168
6349
|
CaseDetailWidgetsComponent,
|
|
6169
6350
|
CaseDetailTaskListComponent,
|
|
6170
6351
|
CaseDetailsTaskDetailComponent,
|
|
@@ -6184,6 +6365,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
6184
6365
|
QuickSearchComponent,
|
|
6185
6366
|
CaseProcessStartModalComponent,
|
|
6186
6367
|
CaseListActionsComponent,
|
|
6368
|
+
AssignmentComponent,
|
|
6187
6369
|
],
|
|
6188
6370
|
exports: [CaseListComponent, CaseDetailComponent],
|
|
6189
6371
|
}]
|
|
@@ -6212,5 +6394,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
6212
6394
|
* Generated bundle index. Do not edit.
|
|
6213
6395
|
*/
|
|
6214
6396
|
|
|
6215
|
-
export { ApiTabType, CASE_DETAIL_DEFAULT_DISPLAY_SIZE, CASE_DETAIL_DEFAULT_DISPLAY_TYPE, CASE_DETAIL_GUTTER_SIZE, CASE_DETAIL_LEFT_PANEL_MIN_WIDTH, CASE_DETAIL_RIGHT_PANEL_MIN_WIDTHS, CASE_DETAIL_START_PROCESS_DROPDOWN_WIDTH, CASE_DETAIL_TASK_LIST_WIDTH, CASE_LIST_NO_RESULTS_MESSAGE, CASE_LIST_TABLE_TRANSLATIONS, CASE_TAB_TOKEN, CASE_WITHOUT_STATUS_STATUS, CaseBulkAssignModalComponent, CaseBulkAssignService, CaseColumnService, CaseDetailComponent, CaseDetailLayoutService, CaseDetailTabAuditComponent, CaseDetailTabDocumentsComponent, CaseDetailTabNotesComponent, CaseDetailTabProgressComponent, CaseDetailTabSummaryComponent, CaseExportService, CaseHeaderWidgetApiService, CaseListActionsComponent, CaseListAssigneeService, CaseListCaseTagService, CaseListComponent, CaseListHiddenColumnsService, CaseListPaginationService, CaseListQuickSearchService, CaseListSearchService, CaseListService, CaseListStatusService, CaseMenuService, CaseModule, CaseParameterService, CaseProcessStartModalComponent, CaseService, CaseTabApiService, CaseTabService, CaseWidgetsApiService, DEFAULT_CASE_LIST_TABS, DEFAULT_TABS, DEFAULT_TAB_COMPONENTS, DefaultTabs, StartModalService, TAB_MAP, TabImpl, TabLoaderImpl, WIDGET_HEIGHT_1X, WIDGET_WIDTH_1X };
|
|
6397
|
+
export { ApiTabType, CASE_DETAIL_DEFAULT_DISPLAY_SIZE, CASE_DETAIL_DEFAULT_DISPLAY_TYPE, CASE_DETAIL_GUTTER_SIZE, CASE_DETAIL_LEFT_PANEL_MIN_WIDTH, CASE_DETAIL_RIGHT_PANEL_MIN_WIDTHS, CASE_DETAIL_START_PROCESS_DROPDOWN_WIDTH, CASE_DETAIL_TASK_LIST_WIDTH, CASE_LIST_NO_RESULTS_MESSAGE, CASE_LIST_TABLE_TRANSLATIONS, CASE_TAB_TOKEN, CASE_WITHOUT_STATUS_STATUS, CaseBulkAssignModalComponent, CaseBulkAssignService, CaseColumnService, CaseDetailComponent, CaseDetailLayoutService, CaseDetailTabAuditComponent, CaseDetailTabDocumentsComponent, CaseDetailTabNotesComponent, CaseDetailTabProgressComponent, CaseDetailTabSummaryComponent, CaseExportService, CaseHeaderWidgetApiService, CaseListActionsComponent, CaseListAssigneeService, CaseListCaseTagService, CaseListComponent, CaseListHiddenColumnsService, CaseListOrchestrationService, CaseListPaginationService, CaseListQuickSearchService, CaseListSearchService, CaseListService, CaseListStatusService, CaseMenuService, CaseModule, CaseParameterService, CaseProcessStartModalComponent, CaseService, CaseTabApiService, CaseTabService, CaseWidgetsApiService, DEFAULT_CASE_LIST_TABS, DEFAULT_TABS, DEFAULT_TAB_COMPONENTS, DefaultTabs, StartModalService, TAB_MAP, TabImpl, TabLoaderImpl, WIDGET_HEIGHT_1X, WIDGET_WIDTH_1X };
|
|
6216
6398
|
//# sourceMappingURL=valtimo-case.mjs.map
|