@valtimo/task-management 12.14.1 → 13.0.1
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-task-management.mjs +144 -343
- package/fesm2022/valtimo-task-management.mjs.map +1 -1
- package/lib/components/index.d.ts +3 -4
- package/lib/components/index.d.ts.map +1 -1
- package/lib/components/task-management-column-modal/task-management-column-modal.component.d.ts +14 -14
- package/lib/components/task-management-column-modal/task-management-column-modal.component.d.ts.map +1 -1
- package/lib/components/task-management-columns/task-management-columns.component.d.ts +10 -12
- package/lib/components/task-management-columns/task-management-columns.component.d.ts.map +1 -1
- package/lib/components/task-management-detail/task-management-detail.component.d.ts +4 -15
- package/lib/components/task-management-detail/task-management-detail.component.d.ts.map +1 -1
- package/lib/components/task-management-search-fields/task-management-search-fields.component.d.ts +1 -1
- package/lib/components/task-management-search-fields/task-management-search-fields.component.d.ts.map +1 -1
- package/lib/components/task-management-search-fields-modal/task-management-search-fields-modal.component.d.ts +9 -11
- package/lib/components/task-management-search-fields-modal/task-management-search-fields-modal.component.d.ts.map +1 -1
- package/lib/services/task-management-api.service.d.ts +6 -5
- package/lib/services/task-management-api.service.d.ts.map +1 -1
- package/lib/services/task-management-search-fields.service.d.ts +3 -3
- package/lib/services/task-management-search-fields.service.d.ts.map +1 -1
- package/package.json +4 -6
- package/public_api.d.ts +0 -1
- package/public_api.d.ts.map +1 -1
- package/esm2022/lib/components/index.mjs +0 -21
- package/esm2022/lib/components/task-management/index.mjs +0 -17
- package/esm2022/lib/components/task-management/task-management.component.mjs +0 -73
- package/esm2022/lib/components/task-management-column-modal/index.mjs +0 -17
- package/esm2022/lib/components/task-management-column-modal/task-management-column-modal.component.mjs +0 -373
- package/esm2022/lib/components/task-management-columns/index.mjs +0 -17
- package/esm2022/lib/components/task-management-columns/task-management-columns.component.mjs +0 -218
- package/esm2022/lib/components/task-management-detail/index.mjs +0 -17
- package/esm2022/lib/components/task-management-detail/task-management-detail.component.mjs +0 -68
- package/esm2022/lib/components/task-management-search-fields/task-management-search-fields.component.mjs +0 -178
- package/esm2022/lib/components/task-management-search-fields-modal/task-management-search-fields-modal.component.mjs +0 -359
- package/esm2022/lib/models/index.mjs +0 -17
- package/esm2022/lib/models/task-management.model.mjs +0 -22
- package/esm2022/lib/services/index.mjs +0 -19
- package/esm2022/lib/services/task-management-api.service.mjs +0 -48
- package/esm2022/lib/services/task-management-search-fields.service.mjs +0 -47
- package/esm2022/lib/services/task-management.service.mjs +0 -36
- package/esm2022/lib/task-management-routing.module.mjs +0 -50
- package/esm2022/lib/task-management.module.mjs +0 -31
- package/esm2022/public_api.mjs +0 -23
- package/esm2022/valtimo-task-management.mjs +0 -5
- package/lib/components/task-management/index.d.ts +0 -2
- package/lib/components/task-management/index.d.ts.map +0 -1
- package/lib/components/task-management/task-management.component.d.ts +0 -20
- package/lib/components/task-management/task-management.component.d.ts.map +0 -1
- package/lib/components/task-management-column-modal/index.d.ts +0 -2
- package/lib/components/task-management-column-modal/index.d.ts.map +0 -1
- package/lib/components/task-management-columns/index.d.ts +0 -2
- package/lib/components/task-management-columns/index.d.ts.map +0 -1
- package/lib/components/task-management-detail/index.d.ts +0 -2
- package/lib/components/task-management-detail/index.d.ts.map +0 -1
- package/lib/task-management-routing.module.d.ts +0 -9
- package/lib/task-management-routing.module.d.ts.map +0 -1
- package/lib/task-management.module.d.ts +0 -9
- package/lib/task-management.module.d.ts.map +0 -1
|
@@ -1,108 +1,28 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Injectable, EventEmitter, Output, Input, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
3
|
import * as i6 from '@valtimo/components';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import moment from 'moment/moment';
|
|
7
|
-
import * as i3 from '@angular/common';
|
|
4
|
+
import { CARBON_THEME, ViewType, CARBON_CONSTANTS, CarbonListModule, TooltipIconModule, CarbonMultiInputModule, ValtimoCdsModalDirective, ConfirmationModalModule, ValuePathSelectorPrefix, InputLabelModule, ValuePathSelectorComponent } from '@valtimo/components';
|
|
5
|
+
import * as i5 from '@angular/common';
|
|
8
6
|
import { CommonModule } from '@angular/common';
|
|
9
7
|
import * as i4 from '@ngx-translate/core';
|
|
10
8
|
import { TranslateModule } from '@ngx-translate/core';
|
|
11
|
-
import * as
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import * as i2$2 from 'carbon-components-angular';
|
|
15
|
-
import { TabsModule, ModalModule, CheckboxModule, DropdownModule, InputModule, ButtonModule, IconModule } from 'carbon-components-angular';
|
|
16
|
-
import * as i2$1 from '@valtimo/config';
|
|
17
|
-
import { BaseApiService, ROLE_ADMIN } from '@valtimo/config';
|
|
18
|
-
import * as i1$1 from '@angular/common/http';
|
|
19
|
-
import * as i3$1 from '@angular/forms';
|
|
9
|
+
import * as i2$1 from 'carbon-components-angular';
|
|
10
|
+
import { TabsModule, ModalModule, CheckboxModule, DropdownModule, InputModule, ButtonModule, LayerModule, IconModule } from 'carbon-components-angular';
|
|
11
|
+
import * as i3 from '@angular/forms';
|
|
20
12
|
import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
13
|
+
import { BehaviorSubject, of, map, tap, combineLatest, Subject, switchMap, take, startWith, distinctUntilChanged as distinctUntilChanged$1, filter } from 'rxjs';
|
|
21
14
|
import { TaskListColumnDefaultSort, TaskListSearchFieldDataType, TaskListSearchFieldFieldType, TaskListSearchDropdownDataProvider, TaskListSearchFieldMatchType } from '@valtimo/task';
|
|
22
15
|
import { distinctUntilChanged } from 'rxjs/operators';
|
|
23
16
|
import { isEqual } from 'lodash';
|
|
17
|
+
import * as i2 from '@valtimo/shared';
|
|
18
|
+
import { BaseApiService, getCaseManagementRouteParams } from '@valtimo/shared';
|
|
19
|
+
import * as i1 from '@angular/common/http';
|
|
20
|
+
import * as i1$1 from '@angular/router';
|
|
24
21
|
import { TrashCan16, InformationFilled16 } from '@carbon/icons';
|
|
25
|
-
import
|
|
22
|
+
import * as i1$2 from '@valtimo/document';
|
|
26
23
|
|
|
27
24
|
/*
|
|
28
|
-
* Copyright 2015-
|
|
29
|
-
*
|
|
30
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
31
|
-
* you may not use this file except in compliance with the License.
|
|
32
|
-
* You may obtain a copy of the License at
|
|
33
|
-
*
|
|
34
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
35
|
-
*
|
|
36
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
37
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
38
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
39
|
-
* See the License for the specific language governing permissions and
|
|
40
|
-
* limitations under the License.
|
|
41
|
-
*/
|
|
42
|
-
class TaskManagementComponent {
|
|
43
|
-
constructor(documentService, router) {
|
|
44
|
-
this.documentService = documentService;
|
|
45
|
-
this.router = router;
|
|
46
|
-
this.pagination = {
|
|
47
|
-
collectionSize: 0,
|
|
48
|
-
page: 1,
|
|
49
|
-
size: 10,
|
|
50
|
-
};
|
|
51
|
-
this._refreshData$ = new BehaviorSubject(null);
|
|
52
|
-
this.dossiers$ = this._refreshData$.pipe(switchMap(() => this.documentService.queryDefinitionsForManagement({
|
|
53
|
-
page: this.pagination.page - 1,
|
|
54
|
-
size: this.pagination.size,
|
|
55
|
-
})), map((documentDefinitionPage) => {
|
|
56
|
-
this.pagination = {
|
|
57
|
-
...this.pagination,
|
|
58
|
-
collectionSize: documentDefinitionPage.totalElements,
|
|
59
|
-
};
|
|
60
|
-
return documentDefinitionPage.content.map((documentDefinition) => ({
|
|
61
|
-
...documentDefinition,
|
|
62
|
-
createdOn: moment(documentDefinition.createdOn).format('DD MMM YYYY HH:mm'),
|
|
63
|
-
}));
|
|
64
|
-
}));
|
|
65
|
-
this.dossierFields = [
|
|
66
|
-
{ key: 'schema.title', label: 'taskManagement.caseName', viewType: ViewType.TEXT },
|
|
67
|
-
];
|
|
68
|
-
}
|
|
69
|
-
paginationClicked(page) {
|
|
70
|
-
this.pagination = { ...this.pagination, page };
|
|
71
|
-
this._refreshData$.next(null);
|
|
72
|
-
}
|
|
73
|
-
paginationSet(size) {
|
|
74
|
-
this.pagination = { ...this.pagination, size };
|
|
75
|
-
this._refreshData$.next(null);
|
|
76
|
-
}
|
|
77
|
-
redirectToDetails(documentDefinition) {
|
|
78
|
-
this.router.navigate(['/task-management/dossier', documentDefinition.id.name]);
|
|
79
|
-
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementComponent, deps: [{ token: i1.DocumentService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
81
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TaskManagementComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"dossiers$ | async as dossiers; else loading\"\n [items]=\"dossiers\"\n [fields]=\"dossierFields\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"dossierManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"redirectToDetails($event)\"\n [hideToolbar]=\"true\"\n>\n <valtimo-no-results\n [description]=\"'dossierManagement.noResults.description' | translate\"\n [title]=\"'dossierManagement.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #loading>\n <valtimo-carbon-list loading=\"true\"></valtimo-carbon-list>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i6.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i6.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
82
|
-
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementComponent, decorators: [{
|
|
84
|
-
type: Component,
|
|
85
|
-
args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, CarbonListModule, TranslateModule], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-carbon-list\n *ngIf=\"dossiers$ | async as dossiers; else loading\"\n [items]=\"dossiers\"\n [fields]=\"dossierFields\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"dossierManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"redirectToDetails($event)\"\n [hideToolbar]=\"true\"\n>\n <valtimo-no-results\n [description]=\"'dossierManagement.noResults.description' | translate\"\n [title]=\"'dossierManagement.noResults.title' | translate\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<ng-template #loading>\n <valtimo-carbon-list loading=\"true\"></valtimo-carbon-list>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
86
|
-
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2.Router }] });
|
|
87
|
-
|
|
88
|
-
/*
|
|
89
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
90
|
-
*
|
|
91
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
92
|
-
* you may not use this file except in compliance with the License.
|
|
93
|
-
* You may obtain a copy of the License at
|
|
94
|
-
*
|
|
95
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
96
|
-
*
|
|
97
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
98
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
99
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
100
|
-
* See the License for the specific language governing permissions and
|
|
101
|
-
* limitations under the License.
|
|
102
|
-
*/
|
|
103
|
-
|
|
104
|
-
/*
|
|
105
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
25
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
106
26
|
*
|
|
107
27
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
108
28
|
* you may not use this file except in compliance with the License.
|
|
@@ -123,7 +43,7 @@ var TaskManagementTab;
|
|
|
123
43
|
})(TaskManagementTab || (TaskManagementTab = {}));
|
|
124
44
|
|
|
125
45
|
/*
|
|
126
|
-
* Copyright 2015-
|
|
46
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
127
47
|
*
|
|
128
48
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
129
49
|
* you may not use this file except in compliance with the License.
|
|
@@ -139,7 +59,7 @@ var TaskManagementTab;
|
|
|
139
59
|
*/
|
|
140
60
|
|
|
141
61
|
/*
|
|
142
|
-
* Copyright 2015-
|
|
62
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
143
63
|
*
|
|
144
64
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
145
65
|
* you may not use this file except in compliance with the License.
|
|
@@ -163,15 +83,15 @@ class TaskManagementService {
|
|
|
163
83
|
setActiveTab(tab) {
|
|
164
84
|
this._activeTab$.next(tab);
|
|
165
85
|
}
|
|
166
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
167
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
87
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementService }); }
|
|
168
88
|
}
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementService, decorators: [{
|
|
170
90
|
type: Injectable
|
|
171
91
|
}] });
|
|
172
92
|
|
|
173
93
|
/*
|
|
174
|
-
* Copyright 2015-
|
|
94
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
175
95
|
*
|
|
176
96
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
177
97
|
* you may not use this file except in compliance with the License.
|
|
@@ -191,27 +111,30 @@ class TaskManagementApiService extends BaseApiService {
|
|
|
191
111
|
this.httpClient = httpClient;
|
|
192
112
|
this.configService = configService;
|
|
193
113
|
}
|
|
194
|
-
getTaskListColumns(
|
|
195
|
-
return this.httpClient.get(this.getApiUrl(`/management/v1/case/${
|
|
114
|
+
getTaskListColumns(caseDefinitionKey) {
|
|
115
|
+
return this.httpClient.get(this.getApiUrl(`/management/v1/case/${caseDefinitionKey}/task-list-column`));
|
|
196
116
|
}
|
|
197
|
-
updateTaskListColumn(
|
|
198
|
-
return this.httpClient.put(this.getApiUrl(`/management/v1/case/${
|
|
117
|
+
updateTaskListColumn(caseDefinitionKey, column) {
|
|
118
|
+
return this.httpClient.put(this.getApiUrl(`/management/v1/case/${caseDefinitionKey}/task-list-column/${column.key}`), column);
|
|
199
119
|
}
|
|
200
|
-
deleteTaskListColumn(
|
|
201
|
-
return this.httpClient.delete(this.getApiUrl(`/management/v1/case/${
|
|
120
|
+
deleteTaskListColumn(caseDefinitionKey, columnKey) {
|
|
121
|
+
return this.httpClient.delete(this.getApiUrl(`/management/v1/case/${caseDefinitionKey}/task-list-column/${columnKey}`));
|
|
202
122
|
}
|
|
203
|
-
|
|
204
|
-
return this.httpClient.post(this.getApiUrl(`/management/
|
|
123
|
+
updateTaskListColumnOrder(caseDefinitionKey, columnKeys) {
|
|
124
|
+
return this.httpClient.post(this.getApiUrl(`/management/v2/case/${caseDefinitionKey}/task-list-column`), columnKeys);
|
|
205
125
|
}
|
|
206
|
-
|
|
207
|
-
|
|
126
|
+
swapTaskListColumns(caseDefinitionKey, firstColumn, secondColumn) {
|
|
127
|
+
return this.httpClient.post(this.getApiUrl(`/management/v1/case/${caseDefinitionKey}/task-list-column`), { first: firstColumn.key, second: secondColumn.key });
|
|
128
|
+
}
|
|
129
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementApiService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
130
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementApiService, providedIn: 'root' }); }
|
|
208
131
|
}
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementApiService, decorators: [{
|
|
210
133
|
type: Injectable,
|
|
211
134
|
args: [{
|
|
212
135
|
providedIn: 'root',
|
|
213
136
|
}]
|
|
214
|
-
}], ctorParameters: () => [{ type: i1
|
|
137
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
|
|
215
138
|
|
|
216
139
|
class TaskManagementSearchFieldsService extends BaseApiService {
|
|
217
140
|
constructor(httpClient, configService) {
|
|
@@ -219,44 +142,44 @@ class TaskManagementSearchFieldsService extends BaseApiService {
|
|
|
219
142
|
this.httpClient = httpClient;
|
|
220
143
|
this.configService = configService;
|
|
221
144
|
}
|
|
222
|
-
|
|
223
|
-
this.
|
|
145
|
+
setCaseDefinitionKey(caseDefinitionKey) {
|
|
146
|
+
this._caseDefinitionKey = caseDefinitionKey;
|
|
224
147
|
}
|
|
225
148
|
getTaskListSearchFields() {
|
|
226
|
-
return this.httpClient.get(this.getApiUrl(`/v1/search/field/TaskListSearchColumns/${this.
|
|
149
|
+
return this.httpClient.get(this.getApiUrl(`/v1/search/field/TaskListSearchColumns/${this._caseDefinitionKey}`));
|
|
227
150
|
}
|
|
228
151
|
createTaskListSearchField(searchField) {
|
|
229
|
-
return this.httpClient.post(this.getApiUrl(`/v1/search/field/${this.
|
|
152
|
+
return this.httpClient.post(this.getApiUrl(`/v1/search/field/${this._caseDefinitionKey}`), {
|
|
230
153
|
...searchField,
|
|
231
154
|
ownerType: 'TaskListSearchColumns',
|
|
232
|
-
ownerId: this.
|
|
155
|
+
ownerId: this._caseDefinitionKey,
|
|
233
156
|
});
|
|
234
157
|
}
|
|
235
158
|
updateTaskListSearchField(searchField) {
|
|
236
|
-
return this.httpClient.put(this.getApiUrl(`/v1/search/field/${this.
|
|
159
|
+
return this.httpClient.put(this.getApiUrl(`/v1/search/field/${this._caseDefinitionKey}/${searchField.key}`), {
|
|
237
160
|
...searchField,
|
|
238
161
|
ownerType: 'TaskListSearchColumns',
|
|
239
|
-
ownerId: this.
|
|
162
|
+
ownerId: this._caseDefinitionKey,
|
|
240
163
|
});
|
|
241
164
|
}
|
|
242
165
|
deleteTaskListSearchField(searchFieldKey) {
|
|
243
|
-
return this.httpClient.delete(this.getApiUrl(`/v1/search/field/TaskListSearchColumns/${this.
|
|
166
|
+
return this.httpClient.delete(this.getApiUrl(`/v1/search/field/TaskListSearchColumns/${this._caseDefinitionKey}/${searchFieldKey}`));
|
|
244
167
|
}
|
|
245
168
|
orderTaskListSearchFields(searchFields) {
|
|
246
|
-
return this.httpClient.put(this.getApiUrl(`/v1/search/field/${this.
|
|
169
|
+
return this.httpClient.put(this.getApiUrl(`/v1/search/field/${this._caseDefinitionKey}/fields`), searchFields);
|
|
247
170
|
}
|
|
248
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
249
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
171
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementSearchFieldsService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
172
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementSearchFieldsService, providedIn: 'root' }); }
|
|
250
173
|
}
|
|
251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementSearchFieldsService, decorators: [{
|
|
252
175
|
type: Injectable,
|
|
253
176
|
args: [{
|
|
254
177
|
providedIn: 'root',
|
|
255
178
|
}]
|
|
256
|
-
}], ctorParameters: () => [{ type: i1
|
|
179
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
|
|
257
180
|
|
|
258
181
|
/*
|
|
259
|
-
* Copyright 2015-
|
|
182
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
260
183
|
*
|
|
261
184
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
262
185
|
* you may not use this file except in compliance with the License.
|
|
@@ -272,7 +195,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
272
195
|
*/
|
|
273
196
|
|
|
274
197
|
/*
|
|
275
|
-
* Copyright 2015-
|
|
198
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
276
199
|
*
|
|
277
200
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
278
201
|
* you may not use this file except in compliance with the License.
|
|
@@ -319,7 +242,7 @@ class TaskManagementColumnModalComponent {
|
|
|
319
242
|
return this.formGroup.get('key');
|
|
320
243
|
}
|
|
321
244
|
get keyValue$() {
|
|
322
|
-
return this.key
|
|
245
|
+
return this.key?.valueChanges.pipe(distinctUntilChanged()) ?? of(null);
|
|
323
246
|
}
|
|
324
247
|
get path() {
|
|
325
248
|
return this.formGroup.get('path');
|
|
@@ -366,10 +289,10 @@ class TaskManagementColumnModalComponent {
|
|
|
366
289
|
this.isAdd$ = this.type$.pipe(map(type => type === 'add'));
|
|
367
290
|
this.isEdit$ = this.type$.pipe(map(type => type === 'edit'), tap(isEdit => {
|
|
368
291
|
if (isEdit) {
|
|
369
|
-
this.key
|
|
292
|
+
this.key?.disable();
|
|
370
293
|
}
|
|
371
294
|
else {
|
|
372
|
-
this.key
|
|
295
|
+
this.key?.enable();
|
|
373
296
|
}
|
|
374
297
|
}));
|
|
375
298
|
this.show$ = new BehaviorSubject(false);
|
|
@@ -400,17 +323,15 @@ class TaskManagementColumnModalComponent {
|
|
|
400
323
|
: { invalidItem: true };
|
|
401
324
|
this.formGroup = new FormGroup({
|
|
402
325
|
title: new FormControl(null),
|
|
403
|
-
key: new FormControl(null, [
|
|
404
|
-
|
|
405
|
-
dateFormat: new FormControl(null),
|
|
406
|
-
displayType: new FormControl(this.getInvalidListItem(`listColumn.selectDefaultSort`), [
|
|
326
|
+
key: new FormControl(null, [
|
|
327
|
+
this.uniqueKeyValidator.bind(this),
|
|
407
328
|
Validators.required,
|
|
408
|
-
this.listItemValidator.bind(this),
|
|
409
329
|
]),
|
|
330
|
+
path: new FormControl(null, Validators.required),
|
|
331
|
+
dateFormat: new FormControl(null),
|
|
332
|
+
displayType: new FormControl(this.getInvalidListItem(`listColumn.selectDefaultSort`), [Validators.required, this.listItemValidator.bind(this)]),
|
|
410
333
|
sortable: new FormControl(false),
|
|
411
|
-
defaultSort: new FormControl(this.getInvalidListItem(`listColumn.selectDefaultSort`), [
|
|
412
|
-
Validators.required,
|
|
413
|
-
]),
|
|
334
|
+
defaultSort: new FormControl(this.getInvalidListItem(`listColumn.selectDefaultSort`), [Validators.required]),
|
|
414
335
|
});
|
|
415
336
|
this.sortItems$ = combineLatest([
|
|
416
337
|
this.defaultSort?.valueChanges || of(null),
|
|
@@ -471,7 +392,7 @@ class TaskManagementColumnModalComponent {
|
|
|
471
392
|
save() {
|
|
472
393
|
this.disable();
|
|
473
394
|
this.taskManagementApiService
|
|
474
|
-
.updateTaskListColumn(this.
|
|
395
|
+
.updateTaskListColumn(this.caseDefinitionKey, this.getTaskListColumnFromFormValue(this._showEnum, this._showDateFormat, this._showYesNo))
|
|
475
396
|
.subscribe({
|
|
476
397
|
next: () => {
|
|
477
398
|
this.closeModalAndRefresh();
|
|
@@ -532,26 +453,26 @@ class TaskManagementColumnModalComponent {
|
|
|
532
453
|
const mappedYesNoValues = validYesNoValues && validYesNoValues.length > 0 && this.mapEnumValues(validYesNoValues);
|
|
533
454
|
const formValue = this.formGroup.getRawValue();
|
|
534
455
|
const taskListColumn = {
|
|
535
|
-
|
|
536
|
-
key: formValue.key,
|
|
537
|
-
path: formValue.path,
|
|
456
|
+
title: formValue?.title ?? '',
|
|
457
|
+
key: formValue.key ?? '',
|
|
458
|
+
path: formValue.path ?? '',
|
|
538
459
|
displayType: {
|
|
539
|
-
type: formValue
|
|
460
|
+
type: formValue?.displayType?.key ?? '',
|
|
540
461
|
displayTypeParameters: {
|
|
541
|
-
...(includeDateFormat &&
|
|
462
|
+
...(!!includeDateFormat && { dateFormat: formValue.dateFormat ?? '' }),
|
|
542
463
|
...(includeEnum && mappedEnumValues && { enum: mappedEnumValues }),
|
|
543
464
|
...(includeYesNo && mappedYesNoValues && { enum: mappedYesNoValues }),
|
|
544
465
|
},
|
|
545
466
|
},
|
|
546
|
-
sortable: formValue.sortable,
|
|
547
|
-
...(formValue
|
|
548
|
-
defaultSort: formValue
|
|
467
|
+
sortable: formValue.sortable ?? false,
|
|
468
|
+
...(formValue?.defaultSort?.key !== this._INVALID_KEY && {
|
|
469
|
+
defaultSort: formValue?.defaultSort?.key,
|
|
549
470
|
}),
|
|
550
471
|
};
|
|
551
472
|
return taskListColumn;
|
|
552
473
|
}
|
|
553
474
|
mapEnumValues(enumValues) {
|
|
554
|
-
return enumValues.reduce((acc, curr) => ({ ...acc, [curr
|
|
475
|
+
return enumValues.reduce((acc, curr) => ({ ...acc, [curr?.key ?? '']: curr.value }), {});
|
|
555
476
|
}
|
|
556
477
|
getValidEnumValues(values) {
|
|
557
478
|
return (values || []).filter(value => value.value && value.key);
|
|
@@ -586,14 +507,14 @@ class TaskManagementColumnModalComponent {
|
|
|
586
507
|
...(column.defaultSort === 'ASC' && { defaultSort: this._SORT_ASC_ITEM }),
|
|
587
508
|
...(column.defaultSort === 'DESC' && { defaultSort: this._SORT_DESC_ITEM }),
|
|
588
509
|
...(column.displayType?.type === ViewType.DATE && {
|
|
589
|
-
dateFormat: column.displayType
|
|
510
|
+
dateFormat: column.displayType?.displayTypeParameters?.dateFormat,
|
|
590
511
|
}),
|
|
591
512
|
});
|
|
592
513
|
}
|
|
593
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
594
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TaskManagementColumnModalComponent, isStandalone: true, selector: "valtimo-task-management-column-modal", inputs: { carbonTheme: "carbonTheme", taskListColumns: "taskListColumns", type: "type", show: "show", documentDefinitionName: "documentDefinitionName", selectedTaskListColumn: "selectedTaskListColumn" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n show: show$ | async,\n type: type$ | async,\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n disabled: disabled$ | async,\n showDateFormat: showDateFormat$ | async,\n showEnum: showEnum$ | async,\n showYesNo: showYesNo$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n enumValues: enumValues$ | async,\n enumValid: enumValid$ | async,\n yesNoValues: yesNoValues$ | async,\n viewTypeItems: viewTypeItems$ | async,\n sortItems: sortItems$ | async,\n } as obs\"\n>\n <cds-modal size=\"sm\" [open]=\"obs.show\" valtimoCdsModal>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n obs.type === 'add'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"form; context: {obs: obs}\"></ng-container>\n </section>\n\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {obs: obs}\"> </ng-container>\n </cds-modal>\n</ng-container>\n\n<ng-template #form let-obs=\"obs\">\n <form [formGroup]=\"formGroup\" class=\"list-column-form\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"title\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label\n [invalid]=\"key?.touched && key?.invalid\"\n [disabled]=\"obs.disabled || obs.isEdit\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"key\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"path\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n *ngIf=\"obs.viewTypeItems\"\n formControlName=\"displayType\"\n [disabled]=\"obs.disabled\"\n >\n <cds-dropdown-list [items]=\"obs.viewTypeItems\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showDateFormat\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"dateFormat\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showEnum\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.enumTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.enumTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"obs.showEnum\"\n [fullWidth]=\"true\"\n [carbonTheme]=\"CARBON_THEME_WHITE\"\n [defaultValues]=\"obs.enumValues\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showYesNo\" [ngClass]=\"'no-margin'\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.enumTitleOptional' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.enumTooltipOptional' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"obs.showYesNo\"\n [fullWidth]=\"true\"\n [carbonTheme]=\"CARBON_THEME_WHITE\"\n [defaultValues]=\"obs.yesNoValues\"\n type=\"keyValue\"\n [hideAddButton]=\"true\"\n [hideDeleteButton]=\"true\"\n [maxRows]=\"1\"\n [keyColumnTitle]=\"'viewTypeConverter.Yes' | translate\"\n [valueColumnTitle]=\"'viewTypeConverter.No' | translate\"\n (valueChange)=\"yesNoValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-checkbox formControlName=\"sortable\" [disabled]=\"obs.disabled\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled || obs.disableDefaultSort\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown formControlName=\"defaultSort\" [disabled]=\"obs.disabled\" *ngIf=\"obs.sortItems\">\n <cds-dropdown-list [items]=\"obs.sortItems\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n</ng-template>\n\n<ng-template #modalFooter let-obs=\"obs\">\n <cds-modal-footer>\n <ng-container>\n <button\n (click)=\"closeModal()\"\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'listColumn.close' | translate }}\n </button>\n\n <button\n (click)=\"save()\"\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"!obs.valid\"\n [disabled]=\"obs.disabled || formGroup?.invalid || (obs.showEnum && !obs.enumValid)\"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n", styles: [".cds--text-input__field-wrapper cds-label{width:100%}.cds--text-input__field-wrapper ::ng-deep .cds--label{width:100%}.cds--text-input__field-wrapper:not(:last-child){margin-bottom:16px}.label-with-tooltip{display:flex;align-items:center}.select-label{padding-bottom:8px}.list-column-form{margin-bottom:16px}.no-margin{margin-bottom:0!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.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: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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: "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: "ngmodule", type: CheckboxModule }, { kind: "component", type: i2$2.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2$2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i2$2.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TooltipIconModule }, { kind: "component", type: i6.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "ngmodule", type: CarbonMultiInputModule }, { kind: "component", type: i6.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorDocumentDefinitionName", "valuePathSelectorPrefixes", "valuePathSelectorShowDocumentDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: ValtimoCdsModalDirectiveModule }, { kind: "directive", type: i6.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["enableOverflow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
514
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementColumnModalComponent, deps: [{ token: i4.TranslateService }, { token: TaskManagementApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
515
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TaskManagementColumnModalComponent, isStandalone: true, selector: "valtimo-task-management-column-modal", inputs: { carbonTheme: "carbonTheme", taskListColumns: "taskListColumns", type: "type", show: "show", caseDefinitionKey: "caseDefinitionKey", selectedTaskListColumn: "selectedTaskListColumn" }, outputs: { closeEvent: "closeEvent" }, 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 show: show$ | async,\n type: type$ | async,\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n disabled: disabled$ | async,\n showDateFormat: showDateFormat$ | async,\n showEnum: showEnum$ | async,\n showYesNo: showYesNo$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n enumValues: enumValues$ | async,\n enumValid: enumValid$ | async,\n yesNoValues: yesNoValues$ | async,\n viewTypeItems: viewTypeItems$ | async,\n sortItems: sortItems$ | async,\n } as obs\"\n>\n <cds-modal size=\"sm\" [open]=\"obs.show\" valtimoCdsModal (close)=\"closeModal()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n obs.type === 'add'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <form cdsModalContent [formGroup]=\"formGroup\" class=\"list-column-form\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText cdsLayer formControlName=\"title\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label\n [invalid]=\"key?.touched && key?.invalid\"\n [disabled]=\"obs.disabled || obs.isEdit\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText cdsLayer formControlName=\"key\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText cdsLayer formControlName=\"path\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n *ngIf=\"obs.viewTypeItems\"\n cdsLayer\n formControlName=\"displayType\"\n [disabled]=\"obs.disabled\"\n >\n <cds-dropdown-list [items]=\"obs.viewTypeItems\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showDateFormat\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText cdsLayer formControlName=\"dateFormat\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showEnum\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.enumTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.enumTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"obs.showEnum\"\n [fullWidth]=\"true\"\n [carbonTheme]=\"CARBON_THEME_WHITE\"\n [defaultValues]=\"obs.enumValues\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showYesNo\" [ngClass]=\"'no-margin'\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.enumTitleOptional' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.enumTooltipOptional' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"obs.showYesNo\"\n [fullWidth]=\"true\"\n [defaultValues]=\"obs.yesNoValues\"\n type=\"keyValue\"\n [hideAddButton]=\"true\"\n [hideDeleteButton]=\"true\"\n [maxRows]=\"1\"\n [keyColumnTitle]=\"'viewTypeConverter.Yes' | translate\"\n [valueColumnTitle]=\"'viewTypeConverter.No' | translate\"\n (valueChange)=\"yesNoValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-checkbox formControlName=\"sortable\" [disabled]=\"obs.disabled\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled || obs.disableDefaultSort\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n formControlName=\"defaultSort\"\n [disabled]=\"obs.disabled\"\n cdsLayer\n *ngIf=\"obs.sortItems\"\n >\n <cds-dropdown-list [items]=\"obs.sortItems\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n\n <cds-modal-footer>\n <button (click)=\"closeModal()\" cdsButton=\"secondary\" [disabled]=\"obs.disabled\">\n {{ 'listColumn.close' | translate }}\n </button>\n\n <button\n (click)=\"save()\"\n cdsButton=\"primary\"\n [disabled]=\"obs.disabled || formGroup.invalid || (obs.showEnum && !obs.enumValid)\"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </cds-modal-footer>\n </cds-modal>\n</ng-container>\n", styles: [".cds--text-input__field-wrapper cds-label{width:100%}.cds--text-input__field-wrapper ::ng-deep .cds--label{width:100%}.cds--text-input__field-wrapper:not(:last-child){margin-bottom:16px}.label-with-tooltip{display:flex;align-items:center}.select-label{padding-bottom:8px}.list-column-form{margin-bottom:16px}.no-margin{margin-bottom:0!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i2$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i2$1.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2$1.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i2$1.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TooltipIconModule }, { kind: "component", type: i6.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "ngmodule", type: CarbonMultiInputModule }, { kind: "component", type: i6.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["addRowText", "addRowTranslationKey", "arbitraryAmountTitles", "arbitraryValueAmount", "defaultValues", "deleteRowText", "deleteRowTranslationKey", "disabled", "dropdownColumnTitle", "dropdownItems", "dropdownWidth", "fullWidth", "hideAddButton", "hideDeleteButton", "initialAmountOfRows", "keyColumnTitle", "margin", "maxRows", "minimumAmountOfRows", "name", "required", "title", "titleTranslationKey", "tooltip", "type", "valueColumnTitle", "valuePathSelectorCaseDefinitionKey", "valuePathSelectorPrefixes", "valuePathSelectorShowCaseDefinitionSelector", "valuePathSelectorNotation", "keyColumnFlex", "dropdownColumnFlex", "valueColumnFlex"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: ["minContentHeight"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i2$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
595
516
|
}
|
|
596
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementColumnModalComponent, decorators: [{
|
|
597
518
|
type: Component,
|
|
598
519
|
args: [{ selector: 'valtimo-task-management-column-modal', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
599
520
|
CommonModule,
|
|
@@ -609,8 +530,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
609
530
|
TooltipIconModule,
|
|
610
531
|
CarbonMultiInputModule,
|
|
611
532
|
ButtonModule,
|
|
612
|
-
|
|
613
|
-
|
|
533
|
+
ValtimoCdsModalDirective,
|
|
534
|
+
LayerModule,
|
|
535
|
+
], 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 show: show$ | async,\n type: type$ | async,\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n disabled: disabled$ | async,\n showDateFormat: showDateFormat$ | async,\n showEnum: showEnum$ | async,\n showYesNo: showYesNo$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n enumValues: enumValues$ | async,\n enumValid: enumValid$ | async,\n yesNoValues: yesNoValues$ | async,\n viewTypeItems: viewTypeItems$ | async,\n sortItems: sortItems$ | async,\n } as obs\"\n>\n <cds-modal size=\"sm\" [open]=\"obs.show\" valtimoCdsModal (close)=\"closeModal()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n obs.type === 'add'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <form cdsModalContent [formGroup]=\"formGroup\" class=\"list-column-form\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText cdsLayer formControlName=\"title\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label\n [invalid]=\"key?.touched && key?.invalid\"\n [disabled]=\"obs.disabled || obs.isEdit\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText cdsLayer formControlName=\"key\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText cdsLayer formControlName=\"path\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n *ngIf=\"obs.viewTypeItems\"\n cdsLayer\n formControlName=\"displayType\"\n [disabled]=\"obs.disabled\"\n >\n <cds-dropdown-list [items]=\"obs.viewTypeItems\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showDateFormat\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText cdsLayer formControlName=\"dateFormat\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showEnum\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.enumTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.enumTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"obs.showEnum\"\n [fullWidth]=\"true\"\n [carbonTheme]=\"CARBON_THEME_WHITE\"\n [defaultValues]=\"obs.enumValues\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showYesNo\" [ngClass]=\"'no-margin'\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.enumTitleOptional' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.enumTooltipOptional' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"obs.showYesNo\"\n [fullWidth]=\"true\"\n [defaultValues]=\"obs.yesNoValues\"\n type=\"keyValue\"\n [hideAddButton]=\"true\"\n [hideDeleteButton]=\"true\"\n [maxRows]=\"1\"\n [keyColumnTitle]=\"'viewTypeConverter.Yes' | translate\"\n [valueColumnTitle]=\"'viewTypeConverter.No' | translate\"\n (valueChange)=\"yesNoValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-checkbox formControlName=\"sortable\" [disabled]=\"obs.disabled\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled || obs.disableDefaultSort\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n formControlName=\"defaultSort\"\n [disabled]=\"obs.disabled\"\n cdsLayer\n *ngIf=\"obs.sortItems\"\n >\n <cds-dropdown-list [items]=\"obs.sortItems\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n\n <cds-modal-footer>\n <button (click)=\"closeModal()\" cdsButton=\"secondary\" [disabled]=\"obs.disabled\">\n {{ 'listColumn.close' | translate }}\n </button>\n\n <button\n (click)=\"save()\"\n cdsButton=\"primary\"\n [disabled]=\"obs.disabled || formGroup.invalid || (obs.showEnum && !obs.enumValid)\"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </cds-modal-footer>\n </cds-modal>\n</ng-container>\n", styles: [".cds--text-input__field-wrapper cds-label{width:100%}.cds--text-input__field-wrapper ::ng-deep .cds--label{width:100%}.cds--text-input__field-wrapper:not(:last-child){margin-bottom:16px}.label-with-tooltip{display:flex;align-items:center}.select-label{padding-bottom:8px}.list-column-form{margin-bottom:16px}.no-margin{margin-bottom:0!important}\n/*!\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
614
536
|
}], ctorParameters: () => [{ type: i4.TranslateService }, { type: TaskManagementApiService }], propDecorators: { carbonTheme: [{
|
|
615
537
|
type: Input
|
|
616
538
|
}], taskListColumns: [{
|
|
@@ -619,7 +541,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
619
541
|
type: Input
|
|
620
542
|
}], show: [{
|
|
621
543
|
type: Input
|
|
622
|
-
}],
|
|
544
|
+
}], caseDefinitionKey: [{
|
|
623
545
|
type: Input
|
|
624
546
|
}], selectedTaskListColumn: [{
|
|
625
547
|
type: Input
|
|
@@ -628,7 +550,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
628
550
|
}] } });
|
|
629
551
|
|
|
630
552
|
/*
|
|
631
|
-
* Copyright 2015-
|
|
553
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
632
554
|
*
|
|
633
555
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
634
556
|
* you may not use this file except in compliance with the License.
|
|
@@ -649,18 +571,18 @@ class TaskManagementColumnsComponent {
|
|
|
649
571
|
this.translateService = translateService;
|
|
650
572
|
this.carbonTheme = CARBON_THEME.G10;
|
|
651
573
|
this._refreshColumns$ = new BehaviorSubject(null);
|
|
652
|
-
this.
|
|
574
|
+
this.caseDefinitionKey$ = getCaseManagementRouteParams(this.route).pipe(map((params) => (!params ? '' : params.caseDefinitionKey)));
|
|
653
575
|
this.loadingColumns$ = new BehaviorSubject(true);
|
|
654
576
|
this.selectedTaskListColumn$ = new Subject();
|
|
655
577
|
this.cachedTaskListColumns$ = new BehaviorSubject([]);
|
|
656
578
|
this.taskListColumns$ = combineLatest([
|
|
657
|
-
this.
|
|
579
|
+
this.caseDefinitionKey$,
|
|
658
580
|
this._refreshColumns$,
|
|
659
581
|
this.translateService.stream('key'),
|
|
660
582
|
]).pipe(tap(([_, refresh]) => {
|
|
661
583
|
if (refresh !== 'noAnimation')
|
|
662
584
|
this.loadingColumns$.next(true);
|
|
663
|
-
}), switchMap(([
|
|
585
|
+
}), switchMap(([caseDefinitionKey]) => this.taskManagementApiService.getTaskListColumns(caseDefinitionKey)), tap(columns => {
|
|
664
586
|
this.cachedTaskListColumns$.next(columns);
|
|
665
587
|
}), map(columns => columns.map(column => ({
|
|
666
588
|
...column,
|
|
@@ -674,13 +596,13 @@ class TaskManagementColumnsComponent {
|
|
|
674
596
|
this.translateService.instant('listColumn.sortableDesc')) ||
|
|
675
597
|
'-',
|
|
676
598
|
displayType: this.translateService.instant(`listColumnDisplayType.${column?.displayType?.type}`),
|
|
677
|
-
displayTypeParameters: this.getDisplayTypeParametersView(column
|
|
599
|
+
displayTypeParameters: this.getDisplayTypeParametersView(column?.displayType?.displayTypeParameters),
|
|
678
600
|
}))), tap(() => {
|
|
679
601
|
this.enable();
|
|
680
602
|
this.loadingColumns$.next(false);
|
|
681
603
|
}));
|
|
682
604
|
this.showDeleteModal$ = new Subject();
|
|
683
|
-
this.
|
|
605
|
+
this.deleteColumnKey$ = new BehaviorSubject('');
|
|
684
606
|
this.disabled$ = new BehaviorSubject(true);
|
|
685
607
|
this.fields = [
|
|
686
608
|
{
|
|
@@ -727,9 +649,13 @@ class TaskManagementColumnsComponent {
|
|
|
727
649
|
},
|
|
728
650
|
];
|
|
729
651
|
this.actionItems = [
|
|
652
|
+
{
|
|
653
|
+
label: 'interface.edit',
|
|
654
|
+
callback: this.editColumn.bind(this),
|
|
655
|
+
},
|
|
730
656
|
{
|
|
731
657
|
label: 'interface.delete',
|
|
732
|
-
callback: this.
|
|
658
|
+
callback: this.deleteColumn.bind(this),
|
|
733
659
|
type: 'danger',
|
|
734
660
|
},
|
|
735
661
|
];
|
|
@@ -739,15 +665,14 @@ class TaskManagementColumnsComponent {
|
|
|
739
665
|
refreshColumns(noAnimation = false) {
|
|
740
666
|
this._refreshColumns$.next(noAnimation ? 'noAnimation' : null);
|
|
741
667
|
}
|
|
742
|
-
|
|
668
|
+
deleteColumn(taskListColumn) {
|
|
743
669
|
this.showDeleteModal$.next(true);
|
|
744
|
-
this.
|
|
670
|
+
this.deleteColumnKey$.next(taskListColumn.key);
|
|
745
671
|
}
|
|
746
|
-
|
|
747
|
-
const { direction, index } = event;
|
|
672
|
+
onItemsReordered(reorderedItems, caseDefinitionKey) {
|
|
748
673
|
this.disable();
|
|
749
|
-
this.
|
|
750
|
-
.
|
|
674
|
+
this.taskManagementApiService
|
|
675
|
+
.updateTaskListColumnOrder(caseDefinitionKey, reorderedItems.map((column) => column.key))
|
|
751
676
|
.subscribe({
|
|
752
677
|
next: () => {
|
|
753
678
|
this.refreshColumns(true);
|
|
@@ -755,10 +680,10 @@ class TaskManagementColumnsComponent {
|
|
|
755
680
|
error: () => this.enable(),
|
|
756
681
|
});
|
|
757
682
|
}
|
|
758
|
-
|
|
683
|
+
editColumn(columnItem) {
|
|
759
684
|
this.cachedTaskListColumns$.pipe(take(1)).subscribe(cachedTaskListColumns => {
|
|
760
|
-
const selectedTaskListColumn = cachedTaskListColumns.find(column => column.key ===
|
|
761
|
-
this.selectedTaskListColumn$.next(selectedTaskListColumn);
|
|
685
|
+
const selectedTaskListColumn = cachedTaskListColumns.find(column => column.key === columnItem.key);
|
|
686
|
+
this.selectedTaskListColumn$.next(selectedTaskListColumn ?? null);
|
|
762
687
|
this.showModal('edit');
|
|
763
688
|
});
|
|
764
689
|
}
|
|
@@ -776,11 +701,9 @@ class TaskManagementColumnsComponent {
|
|
|
776
701
|
this.clearSelectedTaskListColumn();
|
|
777
702
|
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
778
703
|
}
|
|
779
|
-
|
|
704
|
+
deleteColumnConfirmation(columnKey, caseDefinitionKey) {
|
|
780
705
|
this.disable();
|
|
781
|
-
this.taskManagementApiService
|
|
782
|
-
.deleteTaskListColumn(documentDefinitionName, columnKey)
|
|
783
|
-
.subscribe({
|
|
706
|
+
this.taskManagementApiService.deleteTaskListColumn(caseDefinitionKey, columnKey).subscribe({
|
|
784
707
|
next: () => {
|
|
785
708
|
this.refreshColumns(true);
|
|
786
709
|
},
|
|
@@ -788,15 +711,16 @@ class TaskManagementColumnsComponent {
|
|
|
788
711
|
});
|
|
789
712
|
}
|
|
790
713
|
getDisplayTypeParametersView(displayTypeParameters) {
|
|
714
|
+
if (!displayTypeParameters)
|
|
715
|
+
return '-';
|
|
791
716
|
if (displayTypeParameters?.dateFormat) {
|
|
792
717
|
return displayTypeParameters.dateFormat;
|
|
793
718
|
}
|
|
794
719
|
else if (displayTypeParameters?.enum) {
|
|
795
720
|
return Object.keys(displayTypeParameters.enum).reduce((acc, curr) => {
|
|
796
|
-
const keyValuePairString = `${curr}: ${displayTypeParameters
|
|
797
|
-
if (!acc)
|
|
721
|
+
const keyValuePairString = `${curr}: ${displayTypeParameters?.enum?.[curr]}`;
|
|
722
|
+
if (!acc)
|
|
798
723
|
return `${keyValuePairString}`;
|
|
799
|
-
}
|
|
800
724
|
return `${acc}, ${keyValuePairString}`;
|
|
801
725
|
}, '');
|
|
802
726
|
}
|
|
@@ -811,10 +735,10 @@ class TaskManagementColumnsComponent {
|
|
|
811
735
|
clearSelectedTaskListColumn() {
|
|
812
736
|
this.selectedTaskListColumn$.next(null);
|
|
813
737
|
}
|
|
814
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
815
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
738
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementColumnsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: TaskManagementApiService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
739
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TaskManagementColumnsComponent, isStandalone: true, selector: "valtimo-task-management-columns", inputs: { carbonTheme: "carbonTheme" }, providers: [TaskManagementService], 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 taskListColumns: taskListColumns$ | async,\n cachedTaskListColumns: cachedTaskListColumns$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n loadingColumns: loadingColumns$ | async,\n modalType: modalType$ | async,\n showModal: showModal$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.taskListColumns\"\n [loading]=\"obs.loadingColumns\"\n [fields]=\"fields\"\n [header]=\"false\"\n [dragAndDrop]=\"true\"\n (rowClicked)=\"editColumn($event)\"\n (itemsReordered)=\"onItemsReordered($event, obs.caseDefinitionKey)\"\n >\n <ng-container carbonToolbarContent [ngTemplateOutlet]=\"addButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [title]=\"'listColumn.noConfigWarningTitle' | translate\"\n [description]=\"'listColumn.noConfigWarning' | translate\"\n illustration=\"valtimo-layout/img/emptystate-empty.svg\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-task-management-column-modal\n [taskListColumns]=\"obs.cachedTaskListColumns\"\n [type]=\"obs.modalType\"\n [show]=\"obs.showModal\"\n [caseDefinitionKey]=\"obs.caseDefinitionKey\"\n [selectedTaskListColumn]=\"selectedTaskListColumn$ | async\"\n (closeEvent)=\"onModalCloseEvent($event)\"\n ></valtimo-task-management-column-modal>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteColumnKey$ | async\"\n (confirmEvent)=\"deleteColumnConfirmation($event, obs.caseDefinitionKey)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button\n carbonToolbarContent\n cdsButton=\"primary\"\n [disabled]=\"disabled$ | async\"\n (click)=\"showModal('add')\"\n >\n {{ 'listColumn.addButtonText' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i6.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "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: i6.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: TaskManagementColumnModalComponent, selector: "valtimo-task-management-column-modal", inputs: ["carbonTheme", "taskListColumns", "type", "show", "caseDefinitionKey", "selectedTaskListColumn"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i6.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
816
740
|
}
|
|
817
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
741
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementColumnsComponent, decorators: [{
|
|
818
742
|
type: Component,
|
|
819
743
|
args: [{ selector: 'valtimo-task-management-columns', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
820
744
|
CommonModule,
|
|
@@ -825,29 +749,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
825
749
|
ButtonModule,
|
|
826
750
|
IconModule,
|
|
827
751
|
ConfirmationModalModule,
|
|
828
|
-
], providers: [TaskManagementService], template: "<!--\n ~ Copyright 2015-
|
|
829
|
-
}], ctorParameters: () => [{ type:
|
|
752
|
+
], providers: [TaskManagementService], 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 taskListColumns: taskListColumns$ | async,\n cachedTaskListColumns: cachedTaskListColumns$ | async,\n caseDefinitionKey: caseDefinitionKey$ | async,\n loadingColumns: loadingColumns$ | async,\n modalType: modalType$ | async,\n showModal: showModal$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.taskListColumns\"\n [loading]=\"obs.loadingColumns\"\n [fields]=\"fields\"\n [header]=\"false\"\n [dragAndDrop]=\"true\"\n (rowClicked)=\"editColumn($event)\"\n (itemsReordered)=\"onItemsReordered($event, obs.caseDefinitionKey)\"\n >\n <ng-container carbonToolbarContent [ngTemplateOutlet]=\"addButton\"></ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [title]=\"'listColumn.noConfigWarningTitle' | translate\"\n [description]=\"'listColumn.noConfigWarning' | translate\"\n illustration=\"valtimo-layout/img/emptystate-empty.svg\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-task-management-column-modal\n [taskListColumns]=\"obs.cachedTaskListColumns\"\n [type]=\"obs.modalType\"\n [show]=\"obs.showModal\"\n [caseDefinitionKey]=\"obs.caseDefinitionKey\"\n [selectedTaskListColumn]=\"selectedTaskListColumn$ | async\"\n (closeEvent)=\"onModalCloseEvent($event)\"\n ></valtimo-task-management-column-modal>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteColumnKey$ | async\"\n (confirmEvent)=\"deleteColumnConfirmation($event, obs.caseDefinitionKey)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button\n carbonToolbarContent\n cdsButton=\"primary\"\n [disabled]=\"disabled$ | async\"\n (click)=\"showModal('add')\"\n >\n {{ 'listColumn.addButtonText' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n" }]
|
|
753
|
+
}], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: TaskManagementApiService }, { type: i4.TranslateService }], propDecorators: { carbonTheme: [{
|
|
830
754
|
type: Input
|
|
831
755
|
}] } });
|
|
832
756
|
|
|
833
757
|
/*
|
|
834
|
-
* Copyright 2015-
|
|
835
|
-
*
|
|
836
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
837
|
-
* you may not use this file except in compliance with the License.
|
|
838
|
-
* You may obtain a copy of the License at
|
|
839
|
-
*
|
|
840
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
841
|
-
*
|
|
842
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
843
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
844
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
845
|
-
* See the License for the specific language governing permissions and
|
|
846
|
-
* limitations under the License.
|
|
847
|
-
*/
|
|
848
|
-
|
|
849
|
-
/*
|
|
850
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
758
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
851
759
|
*
|
|
852
760
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
853
761
|
* you may not use this file except in compliance with the License.
|
|
@@ -862,6 +770,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
862
770
|
* limitations under the License.
|
|
863
771
|
*/
|
|
864
772
|
class TaskManagementSearchFieldsModalComponent {
|
|
773
|
+
set caseDefinitionKey(value) {
|
|
774
|
+
this.caseDefinitionKey$.next(value);
|
|
775
|
+
}
|
|
865
776
|
set prefillData(value) {
|
|
866
777
|
this._prefillData = value;
|
|
867
778
|
this.setPrefilledForm(value);
|
|
@@ -873,25 +784,26 @@ class TaskManagementSearchFieldsModalComponent {
|
|
|
873
784
|
return this.form.get('dataType');
|
|
874
785
|
}
|
|
875
786
|
get dataTypeValue$() {
|
|
876
|
-
return this.dataType
|
|
787
|
+
return this.dataType?.valueChanges.pipe(startWith(this.dataType.value)) ?? of(null);
|
|
877
788
|
}
|
|
878
789
|
get matchType() {
|
|
879
790
|
return this.form.get('matchType');
|
|
880
791
|
}
|
|
881
792
|
get matchTypeValue$() {
|
|
882
|
-
return this.matchType
|
|
793
|
+
return this.matchType?.valueChanges.pipe(startWith(this.matchType.value)) ?? of(null);
|
|
883
794
|
}
|
|
884
795
|
get dropdownDataProvider() {
|
|
885
796
|
return this.form.get('dropdownDataProvider');
|
|
886
797
|
}
|
|
887
798
|
get dropdownDataProviderValue$() {
|
|
888
|
-
return this.dropdownDataProvider
|
|
799
|
+
return (this.dropdownDataProvider?.valueChanges.pipe(startWith(this.dropdownDataProvider.value)) ??
|
|
800
|
+
of(null));
|
|
889
801
|
}
|
|
890
802
|
get fieldType() {
|
|
891
803
|
return this.form.get('fieldType');
|
|
892
804
|
}
|
|
893
805
|
get fieldTypeValue$() {
|
|
894
|
-
return this.fieldType
|
|
806
|
+
return this.fieldType?.valueChanges.pipe(startWith(this.fieldType.value)) ?? of(null);
|
|
895
807
|
}
|
|
896
808
|
get keyValue() {
|
|
897
809
|
const controlValue = this.form.get('key')?.value;
|
|
@@ -915,12 +827,12 @@ class TaskManagementSearchFieldsModalComponent {
|
|
|
915
827
|
const formArray = this.form.get('dropdownValues');
|
|
916
828
|
return !formArray ? null : formArray;
|
|
917
829
|
}
|
|
918
|
-
constructor(documentService, iconService, fb, translateService
|
|
830
|
+
constructor(documentService, iconService, fb, translateService) {
|
|
919
831
|
this.documentService = documentService;
|
|
920
832
|
this.iconService = iconService;
|
|
921
833
|
this.fb = fb;
|
|
922
834
|
this.translateService = translateService;
|
|
923
|
-
this.
|
|
835
|
+
this.caseDefinitionKey$ = new BehaviorSubject('');
|
|
924
836
|
this.closeEvent = new EventEmitter();
|
|
925
837
|
this.form = this.fb.group({
|
|
926
838
|
key: this.fb.control('', Validators.required),
|
|
@@ -949,7 +861,7 @@ class TaskManagementSearchFieldsModalComponent {
|
|
|
949
861
|
];
|
|
950
862
|
this._dataTypeValue$ = new BehaviorSubject(null);
|
|
951
863
|
this._dropdownProviderValue$ = new BehaviorSubject(null);
|
|
952
|
-
this.dropdownReadonlyItems$ = this._dropdownProviderValue$.pipe(distinctUntilChanged$1(), filter(val => !!val && val === TaskListSearchDropdownDataProvider.JSON), switchMap((provider) => this.documentService.getDropdownData(provider ?? '', this.
|
|
864
|
+
this.dropdownReadonlyItems$ = this._dropdownProviderValue$.pipe(distinctUntilChanged$1(), filter(val => !!val && val === TaskListSearchDropdownDataProvider.JSON), switchMap((provider) => this.documentService.getDropdownData(provider ?? '', this.caseDefinitionKey$.getValue() ?? '', this.keyValue ?? '')), map(dropdownData => dropdownData ? Object.entries(dropdownData).map(([key, value]) => ({ key, value })) : []));
|
|
953
865
|
this.dataTypeItems$ = combineLatest([
|
|
954
866
|
this.dataTypeValue$,
|
|
955
867
|
this.translateService.stream('key'),
|
|
@@ -1029,7 +941,6 @@ class TaskManagementSearchFieldsModalComponent {
|
|
|
1029
941
|
id: TaskListSearchFieldMatchType.EXACT,
|
|
1030
942
|
},
|
|
1031
943
|
].map(item => ({ ...item, selected: item.id === matchTypeValue?.id }))));
|
|
1032
|
-
this.documentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter(docDefName => !!docDefName));
|
|
1033
944
|
this.ValuePathSelectorPrefix = ValuePathSelectorPrefix;
|
|
1034
945
|
this.iconService.registerAll([TrashCan16, InformationFilled16]);
|
|
1035
946
|
}
|
|
@@ -1158,10 +1069,10 @@ class TaskManagementSearchFieldsModalComponent {
|
|
|
1158
1069
|
this.form.enable();
|
|
1159
1070
|
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
1160
1071
|
}
|
|
1161
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1162
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TaskManagementSearchFieldsModalComponent, isStandalone: true, selector: "valtimo-task-management-search-fields-modal", inputs: { open: "open", documentDefinitionName: "documentDefinitionName", prefillData: "prefillData" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<cds-modal [open]=\"open\" showFooter=\"true\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ (!prefillData ? 'searchFieldsOverview.add' : 'searchFieldsOverview.edit') | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\" class=\"valtimo-task-management-search-fields-modal__content\">\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.title' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n >\n </v-input-label>\n\n <input\n data-testid=\"task-management-search-title\"\n cdsText\n type=\"text\"\n formControlName=\"title\"\n />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.key' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n >\n </v-input-label>\n\n <input data-testid=\"task-management-search-key\" cdsText type=\"text\" formControlName=\"key\" />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.path' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n formControlName=\"path\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown data-testid=\"task-management-search-dataType\" formControlName=\"dataType\">\n <cds-dropdown-list [items]=\"dataTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (dataTypeValue === TaskListSearchFieldDataType.TEXT) {\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown data-testid=\"task-management-search-matchType\" formControlName=\"matchType\">\n <cds-dropdown-list [items]=\"matchTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown data-testid=\"task-management-search-fieldType\" formControlName=\"fieldType\">\n <cds-dropdown-list [items]=\"fieldTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (\n dataTypeValue === TaskListSearchFieldDataType.TEXT &&\n (fieldTypeValue === TaskListSearchFieldFieldType.SINGLE_SELECT_DROPDOWN ||\n fieldTypeValue === TaskListSearchFieldFieldType.MULTI_SELECT_DROPDOWN)\n ) {\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown\n data-testid=\"task-management-search-dropdownDataProvider\"\n formControlName=\"dropdownDataProvider\"\n >\n <cds-dropdown-list [items]=\"dataProviderItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (dropdownDataProviderValue === TaskListSearchDropdownDataProvider.DATABASE) {\n <div\n class=\"valtimo-task-management-search-fields-modal__list\"\n formArrayName=\"dropdownValues\"\n >\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n [noMargin]=\"true\"\n >\n </v-input-label>\n\n @for (dropdownValue of dropdownValuesArray?.controls; track $index) {\n <form\n [formGroup]=\"dropdownValue\"\n class=\"valtimo-task-management-search-fields-modal__dropdown-values\"\n >\n <cds-text-label>\n {{ 'interface.value' | translate }}\n\n <input\n data-testid=\"task-management-search-dropdownKey\"\n cdsText\n type=\"text\"\n formControlName=\"key\"\n />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'interface.display' | translate }}\n\n <input\n data-testid=\"task-management-search-dropdownValue\"\n cdsText\n type=\"text\"\n formControlName=\"value\"\n />\n </cds-text-label>\n\n <button\n cdsButton=\"danger\"\n data-testid=\"task-management-search-deleteEnum\"\n [disabled]=\"$count === 1\"\n [iconOnly]=\"true\"\n (click)=\"removeDropdownValue($index)\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </form>\n }\n\n <button\n data-testid=\"task-management-search-addDropdownValue\"\n cdsButton=\"primary\"\n (click)=\"addDropdownValue()\"\n >\n {{ 'interface.addRow' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n } @else if (dropdownDataProviderValue === TaskListSearchDropdownDataProvider.JSON) {\n <valtimo-carbon-list\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [fields]=\"DROPDOWN_FIELDS\"\n [items]=\"dropdownReadonlyItems$ | async\"\n ></valtimo-carbon-list>\n }\n }\n </form>\n </section>\n\n <cds-modal-footer>\n <button data-testid=\"task-management-search-cancel\" cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n data-testid=\"task-management-search-save\"\n cdsButton=\"primary\"\n [disabled]=\"form.invalid\"\n (click)=\"onSave()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-task-management-search-fields-modal__content,.valtimo-task-management-search-fields-modal__dropdown-values{display:flex;gap:16px}.valtimo-task-management-search-fields-modal__content{flex-direction:column}.valtimo-task-management-search-fields-modal__dropdown-values{align-items:flex-end;gap:16px}.valtimo-task-management-search-fields-modal__label{display:flex;gap:4px}.valtimo-task-management-search-fields-modal__list{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2$2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i2$2.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2$2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { 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: "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: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.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: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i6.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i6.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "documentDefinitionName", "version", "prefixes", "label", "tooltip", "required", "showDocumentDefinitionSelector", "notation", "defaultValue", "type", "parentItem"], outputs: ["valueChangeEvent", "collectionSelected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1072
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementSearchFieldsModalComponent, deps: [{ token: i1$2.DocumentService }, { token: i2$1.IconService }, { token: i3.FormBuilder }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1073
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: TaskManagementSearchFieldsModalComponent, isStandalone: true, selector: "valtimo-task-management-search-fields-modal", inputs: { open: "open", caseDefinitionKey: "caseDefinitionKey", prefillData: "prefillData" }, outputs: { closeEvent: "closeEvent" }, 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<cds-modal [open]=\"open\" showFooter=\"true\" (close)=\"onCancel()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ (!prefillData ? 'searchFieldsOverview.add' : 'searchFieldsOverview.edit') | translate }}\n </h3>\n </cds-modal-header>\n\n <form\n cdsModalContent\n [formGroup]=\"form\"\n class=\"valtimo-task-management-search-fields-modal__content\"\n >\n {{ form.invalid }}\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.title' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n >\n </v-input-label>\n\n <input\n data-testid=\"task-management-search-title\"\n cdsText\n type=\"text\"\n formControlName=\"title\"\n cdsLayer\n />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.key' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n >\n </v-input-label>\n\n <input\n cdsLayer\n data-testid=\"task-management-search-key\"\n cdsText\n type=\"text\"\n formControlName=\"key\"\n />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.path' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n formControlName=\"path\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown\n cdsLayer\n data-testid=\"task-management-search-dataType\"\n formControlName=\"dataType\"\n >\n <cds-dropdown-list [items]=\"dataTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (dataTypeValue === TaskListSearchFieldDataType.TEXT) {\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown\n cdsLayer\n data-testid=\"task-management-search-matchType\"\n formControlName=\"matchType\"\n >\n <cds-dropdown-list [items]=\"matchTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown\n cdsLayer\n data-testid=\"task-management-search-fieldType\"\n formControlName=\"fieldType\"\n >\n <cds-dropdown-list [items]=\"fieldTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (\n dataTypeValue === TaskListSearchFieldDataType.TEXT &&\n (fieldTypeValue === TaskListSearchFieldFieldType.SINGLE_SELECT_DROPDOWN ||\n fieldTypeValue === TaskListSearchFieldFieldType.MULTI_SELECT_DROPDOWN)\n ) {\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown\n data-testid=\"task-management-search-dropdownDataProvider\"\n formControlName=\"dropdownDataProvider\"\n cdsLayer\n >\n <cds-dropdown-list [items]=\"dataProviderItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (dropdownDataProviderValue === TaskListSearchDropdownDataProvider.DATABASE) {\n <div\n class=\"valtimo-task-management-search-fields-modal__list\"\n formArrayName=\"dropdownValues\"\n >\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n [noMargin]=\"true\"\n >\n </v-input-label>\n\n @for (dropdownValue of dropdownValuesArray?.controls; track $index) {\n <form\n [formGroup]=\"dropdownValue\"\n class=\"valtimo-task-management-search-fields-modal__dropdown-values\"\n >\n <cds-text-label>\n {{ 'interface.value' | translate }}\n\n <input\n data-testid=\"task-management-search-dropdownKey\"\n cdsText\n type=\"text\"\n formControlName=\"key\"\n cdsLayer\n />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'interface.display' | translate }}\n\n <input\n data-testid=\"task-management-search-dropdownValue\"\n cdsText\n type=\"text\"\n formControlName=\"value\"\n cdsLayer\n />\n </cds-text-label>\n\n <button\n cdsButton=\"danger\"\n data-testid=\"task-management-search-deleteEnum\"\n [disabled]=\"$count === 1\"\n [iconOnly]=\"true\"\n (click)=\"removeDropdownValue($index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </form>\n }\n\n <button\n data-testid=\"task-management-search-addDropdownValue\"\n cdsButton=\"primary\"\n (click)=\"addDropdownValue()\"\n >\n {{ 'interface.addRow' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n } @else if (dropdownDataProviderValue === TaskListSearchDropdownDataProvider.JSON) {\n <valtimo-carbon-list\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [fields]=\"DROPDOWN_FIELDS\"\n [items]=\"dropdownReadonlyItems$ | async\"\n ></valtimo-carbon-list>\n }\n }\n </form>\n\n <cds-modal-footer>\n <button data-testid=\"task-management-search-cancel\" cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n data-testid=\"task-management-search-save\"\n cdsButton=\"primary\"\n [disabled]=\"form.invalid\"\n (click)=\"onSave()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-task-management-search-fields-modal__content,.valtimo-task-management-search-fields-modal__dropdown-values{display:flex;gap:16px}.valtimo-task-management-search-fields-modal__content{flex-direction:column}.valtimo-task-management-search-fields-modal__dropdown-values{align-items:flex-end;gap:16px}.valtimo-task-management-search-fields-modal__label{display:flex;gap:4px}.valtimo-task-management-search-fields-modal__list{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: "ngmodule", type: CommonModule }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2$1.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "readonly", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp", "fluid"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2$1.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i2$1.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel", "fluid"] }, { kind: "directive", type: i2$1.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i2$1.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2$1.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2$1.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2$1.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2$1.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i6.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "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: "ngmodule", type: InputLabelModule }, { kind: "component", type: i6.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "caseDefinitionKey", "caseDefinitionVersionTag", "prefixes", "label", "tooltip", "required", "showCaseDefinitionSelector", "notation", "defaultValue", "type", "parentItem"], outputs: ["valueChangeEvent", "collectionSelected"] }, { kind: "ngmodule", type: LayerModule }, { kind: "directive", type: i2$1.LayerDirective, selector: "[cdsLayer], [ibmLayer]", inputs: ["ibmLayer", "cdsLayer"], exportAs: ["layer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1163
1074
|
}
|
|
1164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1075
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementSearchFieldsModalComponent, decorators: [{
|
|
1165
1076
|
type: Component,
|
|
1166
1077
|
args: [{ selector: 'valtimo-task-management-search-fields-modal', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
1167
1078
|
CommonModule,
|
|
@@ -1175,11 +1086,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1175
1086
|
CarbonListModule,
|
|
1176
1087
|
InputLabelModule,
|
|
1177
1088
|
ValuePathSelectorComponent,
|
|
1178
|
-
|
|
1179
|
-
|
|
1089
|
+
LayerModule,
|
|
1090
|
+
], 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<cds-modal [open]=\"open\" showFooter=\"true\" (close)=\"onCancel()\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ (!prefillData ? 'searchFieldsOverview.add' : 'searchFieldsOverview.edit') | translate }}\n </h3>\n </cds-modal-header>\n\n <form\n cdsModalContent\n [formGroup]=\"form\"\n class=\"valtimo-task-management-search-fields-modal__content\"\n >\n {{ form.invalid }}\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.title' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n >\n </v-input-label>\n\n <input\n data-testid=\"task-management-search-title\"\n cdsText\n type=\"text\"\n formControlName=\"title\"\n cdsLayer\n />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.key' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n >\n </v-input-label>\n\n <input\n cdsLayer\n data-testid=\"task-management-search-key\"\n cdsText\n type=\"text\"\n formControlName=\"key\"\n />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.path' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n formControlName=\"path\"\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n ></valtimo-value-path-selector>\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown\n cdsLayer\n data-testid=\"task-management-search-dataType\"\n formControlName=\"dataType\"\n >\n <cds-dropdown-list [items]=\"dataTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (dataTypeValue === TaskListSearchFieldDataType.TEXT) {\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown\n cdsLayer\n data-testid=\"task-management-search-matchType\"\n formControlName=\"matchType\"\n >\n <cds-dropdown-list [items]=\"matchTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown\n cdsLayer\n data-testid=\"task-management-search-fieldType\"\n formControlName=\"fieldType\"\n >\n <cds-dropdown-list [items]=\"fieldTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (\n dataTypeValue === TaskListSearchFieldDataType.TEXT &&\n (fieldTypeValue === TaskListSearchFieldFieldType.SINGLE_SELECT_DROPDOWN ||\n fieldTypeValue === TaskListSearchFieldFieldType.MULTI_SELECT_DROPDOWN)\n ) {\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown\n data-testid=\"task-management-search-dropdownDataProvider\"\n formControlName=\"dropdownDataProvider\"\n cdsLayer\n >\n <cds-dropdown-list [items]=\"dataProviderItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (dropdownDataProviderValue === TaskListSearchDropdownDataProvider.DATABASE) {\n <div\n class=\"valtimo-task-management-search-fields-modal__list\"\n formArrayName=\"dropdownValues\"\n >\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n [noMargin]=\"true\"\n >\n </v-input-label>\n\n @for (dropdownValue of dropdownValuesArray?.controls; track $index) {\n <form\n [formGroup]=\"dropdownValue\"\n class=\"valtimo-task-management-search-fields-modal__dropdown-values\"\n >\n <cds-text-label>\n {{ 'interface.value' | translate }}\n\n <input\n data-testid=\"task-management-search-dropdownKey\"\n cdsText\n type=\"text\"\n formControlName=\"key\"\n cdsLayer\n />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'interface.display' | translate }}\n\n <input\n data-testid=\"task-management-search-dropdownValue\"\n cdsText\n type=\"text\"\n formControlName=\"value\"\n cdsLayer\n />\n </cds-text-label>\n\n <button\n cdsButton=\"danger\"\n data-testid=\"task-management-search-deleteEnum\"\n [disabled]=\"$count === 1\"\n [iconOnly]=\"true\"\n (click)=\"removeDropdownValue($index)\"\n >\n <svg cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </form>\n }\n\n <button\n data-testid=\"task-management-search-addDropdownValue\"\n cdsButton=\"primary\"\n (click)=\"addDropdownValue()\"\n >\n {{ 'interface.addRow' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n } @else if (dropdownDataProviderValue === TaskListSearchDropdownDataProvider.JSON) {\n <valtimo-carbon-list\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [fields]=\"DROPDOWN_FIELDS\"\n [items]=\"dropdownReadonlyItems$ | async\"\n ></valtimo-carbon-list>\n }\n }\n </form>\n\n <cds-modal-footer>\n <button data-testid=\"task-management-search-cancel\" cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button\n data-testid=\"task-management-search-save\"\n cdsButton=\"primary\"\n [disabled]=\"form.invalid\"\n (click)=\"onSave()\"\n >\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-task-management-search-fields-modal__content,.valtimo-task-management-search-fields-modal__dropdown-values{display:flex;gap:16px}.valtimo-task-management-search-fields-modal__content{flex-direction:column}.valtimo-task-management-search-fields-modal__dropdown-values{align-items:flex-end;gap:16px}.valtimo-task-management-search-fields-modal__label{display:flex;gap:4px}.valtimo-task-management-search-fields-modal__list{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"] }]
|
|
1091
|
+
}], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i2$1.IconService }, { type: i3.FormBuilder }, { type: i4.TranslateService }], propDecorators: { open: [{
|
|
1180
1092
|
type: Input,
|
|
1181
1093
|
args: [{ required: true }]
|
|
1182
|
-
}],
|
|
1094
|
+
}], caseDefinitionKey: [{
|
|
1183
1095
|
type: Input,
|
|
1184
1096
|
args: [{ required: true }]
|
|
1185
1097
|
}], prefillData: [{
|
|
@@ -1189,7 +1101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1189
1101
|
}] } });
|
|
1190
1102
|
|
|
1191
1103
|
/*
|
|
1192
|
-
* Copyright 2015-
|
|
1104
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
1193
1105
|
*
|
|
1194
1106
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1195
1107
|
* you may not use this file except in compliance with the License.
|
|
@@ -1209,10 +1121,10 @@ class TaskManagementSearchFieldsComponent {
|
|
|
1209
1121
|
this.route = route;
|
|
1210
1122
|
this.searchFieldsService = searchFieldsService;
|
|
1211
1123
|
this.trasnlateService = trasnlateService;
|
|
1212
|
-
this.
|
|
1124
|
+
this.caseDefinitionKey$ = getCaseManagementRouteParams(this.route).pipe(map((params) => (!params ? '' : params.caseDefinitionKey)), tap((caseDefinitionKey) => this.searchFieldsService.setCaseDefinitionKey(caseDefinitionKey)));
|
|
1213
1125
|
this._refresh$ = new BehaviorSubject(null);
|
|
1214
1126
|
this.searchFields$ = combineLatest([
|
|
1215
|
-
this.
|
|
1127
|
+
this.caseDefinitionKey$,
|
|
1216
1128
|
this._refresh$,
|
|
1217
1129
|
this.trasnlateService.stream('key'),
|
|
1218
1130
|
]).pipe(switchMap(() => this.searchFieldsService.getTaskListSearchFields()), map((searchFields) => this.mapTranslations(searchFields)));
|
|
@@ -1334,10 +1246,10 @@ class TaskManagementSearchFieldsComponent {
|
|
|
1334
1246
|
return fieldType.toLowerCase();
|
|
1335
1247
|
}
|
|
1336
1248
|
}
|
|
1337
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1338
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1249
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementSearchFieldsComponent, deps: [{ token: i1$2.DocumentService }, { token: i1$1.ActivatedRoute }, { token: TaskManagementSearchFieldsService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1250
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TaskManagementSearchFieldsComponent, isStandalone: true, selector: "valtimo-task-management-search-fields", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n fieldModalOpen: fieldModalOpen$ | async,\n fields: fields$ | async,\n itemToDelete: itemToDelete$ | async,\n prefillData: prefillData$ | async,\n searchFields: searchFields$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"obs.fields\"\n [items]=\"obs.searchFields\"\n [dragAndDrop]=\"true\"\n (itemsReordered)=\"onItemsReordered($event)\"\n (rowClicked)=\"editField($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'searchFieldsOverview.noSearchfieldsDescription' | translate\"\n [title]=\"'searchFieldsOverview.noSearchfieldsTitle' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-task-management-search-fields-modal\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [open]=\"obs.fieldModalOpen\"\n [prefillData]=\"obs.prefillData\"\n (closeEvent)=\"onCloseEvent($event, obs.prefillData)\"\n ></valtimo-task-management-search-fields-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"searchFieldsOverview.deleteSearchFieldConfirmation\"\n [outputOnConfirm]=\"obs.itemToDelete\"\n [showModalSubject$]=\"deleteModalOpen$\"\n titleTranslationKey=\"searchFieldsOverview.deleteSearchField\"\n (confirmEvent)=\"onDeleteFieldConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button cdsButton=\"primary\" (click)=\"onAddButtonClick()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.add' | translate }}\n </button>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i6.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "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: i6.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: TaskManagementSearchFieldsModalComponent, selector: "valtimo-task-management-search-fields-modal", inputs: ["open", "caseDefinitionKey", "prefillData"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i6.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1339
1251
|
}
|
|
1340
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementSearchFieldsComponent, decorators: [{
|
|
1341
1253
|
type: Component,
|
|
1342
1254
|
args: [{ selector: 'valtimo-task-management-search-fields', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
1343
1255
|
CommonModule,
|
|
@@ -1347,11 +1259,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1347
1259
|
IconModule,
|
|
1348
1260
|
TaskManagementSearchFieldsModalComponent,
|
|
1349
1261
|
ConfirmationModalModule,
|
|
1350
|
-
], template: "<!--\n ~ Copyright 2015-
|
|
1351
|
-
}], ctorParameters: () => [{ type: i1.DocumentService }, { type:
|
|
1262
|
+
], 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 fieldModalOpen: fieldModalOpen$ | async,\n fields: fields$ | async,\n itemToDelete: itemToDelete$ | async,\n prefillData: prefillData$ | async,\n searchFields: searchFields$ | async,\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"obs.fields\"\n [items]=\"obs.searchFields\"\n [dragAndDrop]=\"true\"\n (itemsReordered)=\"onItemsReordered($event)\"\n (rowClicked)=\"editField($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'searchFieldsOverview.noSearchfieldsDescription' | translate\"\n [title]=\"'searchFieldsOverview.noSearchfieldsTitle' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-task-management-search-fields-modal\n [caseDefinitionKey]=\"caseDefinitionKey$ | async\"\n [open]=\"obs.fieldModalOpen\"\n [prefillData]=\"obs.prefillData\"\n (closeEvent)=\"onCloseEvent($event, obs.prefillData)\"\n ></valtimo-task-management-search-fields-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"searchFieldsOverview.deleteSearchFieldConfirmation\"\n [outputOnConfirm]=\"obs.itemToDelete\"\n [showModalSubject$]=\"deleteModalOpen$\"\n titleTranslationKey=\"searchFieldsOverview.deleteSearchField\"\n (confirmEvent)=\"onDeleteFieldConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button cdsButton=\"primary\" (click)=\"onAddButtonClick()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.add' | translate }}\n </button>\n</ng-template>\n" }]
|
|
1263
|
+
}], ctorParameters: () => [{ type: i1$2.DocumentService }, { type: i1$1.ActivatedRoute }, { type: TaskManagementSearchFieldsService }, { type: i4.TranslateService }] });
|
|
1352
1264
|
|
|
1353
1265
|
/*
|
|
1354
|
-
* Copyright 2015-
|
|
1266
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
1355
1267
|
*
|
|
1356
1268
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1357
1269
|
* you may not use this file except in compliance with the License.
|
|
@@ -1366,26 +1278,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1366
1278
|
* limitations under the License.
|
|
1367
1279
|
*/
|
|
1368
1280
|
class TaskManagementDetailComponent {
|
|
1369
|
-
constructor(
|
|
1370
|
-
this.configService = configService;
|
|
1371
|
-
this.documentService = documentService;
|
|
1372
|
-
this.pageTitleService = pageTitleService;
|
|
1373
|
-
this.route = route;
|
|
1281
|
+
constructor(taskManagementService) {
|
|
1374
1282
|
this.taskManagementService = taskManagementService;
|
|
1375
|
-
this.carbonTheme = CARBON_THEME.G10;
|
|
1376
|
-
this.setDocumentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter(docDefName => !!docDefName), switchMap(documentDefinitionName => this.documentService.getDocumentDefinitionForManagement(documentDefinitionName)), tap(documentDefinition => {
|
|
1377
|
-
this.pageTitleService.setCustomPageTitle(documentDefinition?.schema?.title || '-');
|
|
1378
|
-
}));
|
|
1379
1283
|
this.activeTab$ = this.taskManagementService.activeTab$;
|
|
1380
|
-
this.
|
|
1284
|
+
this.TaskManagementTab = TaskManagementTab;
|
|
1381
1285
|
}
|
|
1382
1286
|
setActiveTab(tab) {
|
|
1383
1287
|
this.taskManagementService.setActiveTab(tab);
|
|
1384
1288
|
}
|
|
1385
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1386
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1289
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementDetailComponent, deps: [{ token: TaskManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1290
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: TaskManagementDetailComponent, isStandalone: true, selector: "ng-component", providers: [TaskManagementService], 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 (activeTab$ | async; as activeTab) {\n <cds-tabs type=\"contained\">\n <cds-tab\n [active]=\"activeTab === TaskManagementTab.COLUMNS\"\n [heading]=\"'taskManagement.columns' | translate\"\n (selected)=\"setActiveTab(TaskManagementTab.COLUMNS)\"\n >\n <valtimo-task-management-columns *ngIf=\"activeTab === TaskManagementTab.COLUMNS\">\n </valtimo-task-management-columns>\n </cds-tab>\n\n <cds-tab\n [active]=\"activeTab === TaskManagementTab.SEARCH_FIELDS\"\n [heading]=\"'taskManagement.searchFields' | translate\"\n (selected)=\"setActiveTab(TaskManagementTab.SEARCH_FIELDS)\"\n >\n <valtimo-task-management-search-fields *ngIf=\"activeTab === TaskManagementTab.SEARCH_FIELDS\">\n </valtimo-task-management-search-fields>\n </cds-tab>\n </cds-tabs>\n}\n", styles: ["::ng-deep .cds--tab-content{padding: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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i2$1.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2$1.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: TaskManagementColumnsComponent, selector: "valtimo-task-management-columns", inputs: ["carbonTheme"] }, { kind: "component", type: TaskManagementSearchFieldsComponent, selector: "valtimo-task-management-search-fields" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1387
1291
|
}
|
|
1388
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TaskManagementDetailComponent, decorators: [{
|
|
1389
1293
|
type: Component,
|
|
1390
1294
|
args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
1391
1295
|
CommonModule,
|
|
@@ -1394,103 +1298,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1394
1298
|
TabsModule,
|
|
1395
1299
|
TaskManagementColumnsComponent,
|
|
1396
1300
|
TaskManagementSearchFieldsComponent,
|
|
1397
|
-
], providers: [TaskManagementService],
|
|
1398
|
-
}], ctorParameters: () => [{ type:
|
|
1399
|
-
type: Input
|
|
1400
|
-
}] } });
|
|
1401
|
-
|
|
1402
|
-
/*
|
|
1403
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1404
|
-
*
|
|
1405
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1406
|
-
* you may not use this file except in compliance with the License.
|
|
1407
|
-
* You may obtain a copy of the License at
|
|
1408
|
-
*
|
|
1409
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1410
|
-
*
|
|
1411
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
1412
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
1413
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1414
|
-
* See the License for the specific language governing permissions and
|
|
1415
|
-
* limitations under the License.
|
|
1416
|
-
*/
|
|
1417
|
-
|
|
1418
|
-
/*
|
|
1419
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1420
|
-
*
|
|
1421
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1422
|
-
* you may not use this file except in compliance with the License.
|
|
1423
|
-
* You may obtain a copy of the License at
|
|
1424
|
-
*
|
|
1425
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1426
|
-
*
|
|
1427
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
1428
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
1429
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1430
|
-
* See the License for the specific language governing permissions and
|
|
1431
|
-
* limitations under the License.
|
|
1432
|
-
*/
|
|
1433
|
-
|
|
1434
|
-
/*
|
|
1435
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1436
|
-
*
|
|
1437
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1438
|
-
* you may not use this file except in compliance with the License.
|
|
1439
|
-
* You may obtain a copy of the License at
|
|
1440
|
-
*
|
|
1441
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1442
|
-
*
|
|
1443
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
1444
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
1445
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1446
|
-
* See the License for the specific language governing permissions and
|
|
1447
|
-
* limitations under the License.
|
|
1448
|
-
*/
|
|
1449
|
-
|
|
1450
|
-
/*
|
|
1451
|
-
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1452
|
-
*
|
|
1453
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1454
|
-
* you may not use this file except in compliance with the License.
|
|
1455
|
-
* You may obtain a copy of the License at
|
|
1456
|
-
*
|
|
1457
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1458
|
-
*
|
|
1459
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
1460
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
1461
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1462
|
-
* See the License for the specific language governing permissions and
|
|
1463
|
-
* limitations under the License.
|
|
1464
|
-
*/
|
|
1465
|
-
const routes = [
|
|
1466
|
-
{
|
|
1467
|
-
path: 'task-management',
|
|
1468
|
-
component: TaskManagementComponent,
|
|
1469
|
-
canActivate: [AuthGuardService],
|
|
1470
|
-
data: { title: 'Tasks', roles: [ROLE_ADMIN] },
|
|
1471
|
-
},
|
|
1472
|
-
{
|
|
1473
|
-
path: 'task-management/dossier/:name',
|
|
1474
|
-
component: TaskManagementDetailComponent,
|
|
1475
|
-
canActivate: [AuthGuardService],
|
|
1476
|
-
data: { title: 'Task details', roles: [ROLE_ADMIN], customPageTitle: true },
|
|
1477
|
-
},
|
|
1478
|
-
];
|
|
1479
|
-
class TaskManagementRoutingModule {
|
|
1480
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1481
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementRoutingModule, imports: [CommonModule, i2.RouterModule], exports: [RouterModule] }); }
|
|
1482
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
1483
|
-
}
|
|
1484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementRoutingModule, decorators: [{
|
|
1485
|
-
type: NgModule,
|
|
1486
|
-
args: [{
|
|
1487
|
-
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
1488
|
-
exports: [RouterModule],
|
|
1489
|
-
}]
|
|
1490
|
-
}] });
|
|
1301
|
+
], providers: [TaskManagementService], 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 (activeTab$ | async; as activeTab) {\n <cds-tabs type=\"contained\">\n <cds-tab\n [active]=\"activeTab === TaskManagementTab.COLUMNS\"\n [heading]=\"'taskManagement.columns' | translate\"\n (selected)=\"setActiveTab(TaskManagementTab.COLUMNS)\"\n >\n <valtimo-task-management-columns *ngIf=\"activeTab === TaskManagementTab.COLUMNS\">\n </valtimo-task-management-columns>\n </cds-tab>\n\n <cds-tab\n [active]=\"activeTab === TaskManagementTab.SEARCH_FIELDS\"\n [heading]=\"'taskManagement.searchFields' | translate\"\n (selected)=\"setActiveTab(TaskManagementTab.SEARCH_FIELDS)\"\n >\n <valtimo-task-management-search-fields *ngIf=\"activeTab === TaskManagementTab.SEARCH_FIELDS\">\n </valtimo-task-management-search-fields>\n </cds-tab>\n </cds-tabs>\n}\n", styles: ["::ng-deep .cds--tab-content{padding: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"] }]
|
|
1302
|
+
}], ctorParameters: () => [{ type: TaskManagementService }] });
|
|
1491
1303
|
|
|
1492
1304
|
/*
|
|
1493
|
-
* Copyright 2015-
|
|
1305
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
1494
1306
|
*
|
|
1495
1307
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1496
1308
|
* you may not use this file except in compliance with the License.
|
|
@@ -1504,20 +1316,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1504
1316
|
* See the License for the specific language governing permissions and
|
|
1505
1317
|
* limitations under the License.
|
|
1506
1318
|
*/
|
|
1507
|
-
class TaskManagementModule {
|
|
1508
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1509
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementModule, imports: [TaskManagementRoutingModule, TaskManagementComponent] }); }
|
|
1510
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementModule, imports: [TaskManagementRoutingModule, TaskManagementComponent] }); }
|
|
1511
|
-
}
|
|
1512
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementModule, decorators: [{
|
|
1513
|
-
type: NgModule,
|
|
1514
|
-
args: [{
|
|
1515
|
-
imports: [TaskManagementRoutingModule, TaskManagementComponent],
|
|
1516
|
-
}]
|
|
1517
|
-
}] });
|
|
1518
1319
|
|
|
1519
1320
|
/*
|
|
1520
|
-
* Copyright 2015-
|
|
1321
|
+
* Copyright 2015-2025 Ritense BV, the Netherlands.
|
|
1521
1322
|
*
|
|
1522
1323
|
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1523
1324
|
* you may not use this file except in compliance with the License.
|
|
@@ -1539,5 +1340,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1539
1340
|
* Generated bundle index. Do not edit.
|
|
1540
1341
|
*/
|
|
1541
1342
|
|
|
1542
|
-
export { TaskManagementApiService, TaskManagementColumnModalComponent, TaskManagementColumnsComponent,
|
|
1343
|
+
export { TaskManagementApiService, TaskManagementColumnModalComponent, TaskManagementColumnsComponent, TaskManagementDetailComponent, TaskManagementSearchFieldsComponent, TaskManagementSearchFieldsService, TaskManagementService, TaskManagementTab };
|
|
1543
1344
|
//# sourceMappingURL=valtimo-task-management.mjs.map
|