@valtimo/task-management 12.0.0 → 12.1.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/esm2022/lib/components/index.mjs +2 -1
- package/esm2022/lib/components/task-management/task-management.component.mjs +2 -2
- package/esm2022/lib/components/task-management-columns/task-management-columns.component.mjs +2 -2
- package/esm2022/lib/components/task-management-detail/task-management-detail.component.mjs +21 -17
- package/esm2022/lib/components/task-management-search-fields/task-management-search-fields.component.mjs +176 -0
- package/esm2022/lib/components/task-management-search-fields-modal/task-management-search-fields-modal.component.mjs +354 -0
- package/esm2022/lib/models/task-management.model.mjs +3 -2
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/services/task-management-search-fields.service.mjs +47 -0
- package/fesm2022/valtimo-task-management.mjs +574 -30
- package/fesm2022/valtimo-task-management.mjs.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.d.ts.map +1 -1
- package/lib/components/task-management-detail/task-management-detail.component.d.ts +7 -5
- 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 +35 -0
- package/lib/components/task-management-search-fields/task-management-search-fields.component.d.ts.map +1 -0
- package/lib/components/task-management-search-fields-modal/task-management-search-fields-modal.component.d.ts +79 -0
- package/lib/components/task-management-search-fields-modal/task-management-search-fields-modal.component.d.ts.map +1 -0
- package/lib/models/task-management.model.d.ts +2 -1
- package/lib/models/task-management.model.d.ts.map +1 -1
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/task-management-search-fields.service.d.ts +20 -0
- package/lib/services/task-management-search-fields.service.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, ChangeDetectionStrategy, Injectable, EventEmitter, Input, Output, ViewEncapsulation, NgModule } from '@angular/core';
|
|
3
3
|
import * as i6 from '@valtimo/components';
|
|
4
|
-
import { ViewType, CarbonListModule, CARBON_THEME, CARBON_CONSTANTS, TooltipIconModule, CarbonMultiInputModule, ValtimoCdsModalDirectiveModule, MoveRowDirection, ConfirmationModalModule } from '@valtimo/components';
|
|
5
|
-
import { BehaviorSubject, switchMap, map, tap, combineLatest, of, filter, Subject, take } from 'rxjs';
|
|
4
|
+
import { ViewType, CarbonListModule, CARBON_THEME, CARBON_CONSTANTS, TooltipIconModule, CarbonMultiInputModule, ValtimoCdsModalDirectiveModule, MoveRowDirection, ConfirmationModalModule, InputLabelModule } from '@valtimo/components';
|
|
5
|
+
import { BehaviorSubject, switchMap, map, tap, combineLatest, of, filter, Subject, take, startWith, distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs';
|
|
6
6
|
import moment from 'moment/moment';
|
|
7
7
|
import * as i3 from '@angular/common';
|
|
8
8
|
import { CommonModule } from '@angular/common';
|
|
9
|
-
import * as
|
|
9
|
+
import * as i4 from '@ngx-translate/core';
|
|
10
10
|
import { TranslateModule } from '@ngx-translate/core';
|
|
11
11
|
import * as i1 from '@valtimo/document';
|
|
12
|
-
import * as
|
|
12
|
+
import * as i2 from '@angular/router';
|
|
13
13
|
import { RouterModule } from '@angular/router';
|
|
14
|
-
import * as
|
|
14
|
+
import * as i2$2 from 'carbon-components-angular';
|
|
15
15
|
import { TabsModule, ModalModule, CheckboxModule, DropdownModule, InputModule, ButtonModule, IconModule } from 'carbon-components-angular';
|
|
16
|
-
import * as i2 from '@valtimo/config';
|
|
16
|
+
import * as i2$1 from '@valtimo/config';
|
|
17
17
|
import { BaseApiService, ROLE_ADMIN } from '@valtimo/config';
|
|
18
|
-
import * as i1$
|
|
19
|
-
import * as
|
|
18
|
+
import * as i1$1 from '@angular/common/http';
|
|
19
|
+
import * as i3$1 from '@angular/forms';
|
|
20
20
|
import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
21
|
-
import { TaskListColumnDefaultSort } from '@valtimo/task';
|
|
21
|
+
import { TaskListColumnDefaultSort, TaskListSearchFieldDataType, TaskListSearchFieldFieldType, TaskListSearchDropdownDataProvider, TaskListSearchFieldMatchType } from '@valtimo/task';
|
|
22
22
|
import { distinctUntilChanged } from 'rxjs/operators';
|
|
23
23
|
import { isEqual } from 'lodash';
|
|
24
|
+
import { TrashCan16, InformationFilled16 } from '@carbon/icons';
|
|
24
25
|
import { AuthGuardService } from '@valtimo/security';
|
|
25
26
|
|
|
26
27
|
/*
|
|
@@ -76,13 +77,13 @@ class TaskManagementComponent {
|
|
|
76
77
|
redirectToDetails(documentDefinition) {
|
|
77
78
|
this.router.navigate(['/task-management/dossier', documentDefinition.id.name]);
|
|
78
79
|
}
|
|
79
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementComponent, deps: [{ token: i1.DocumentService }, { token:
|
|
80
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", 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", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i6.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type:
|
|
80
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", 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.3", 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 }); }
|
|
81
82
|
}
|
|
82
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementComponent, decorators: [{
|
|
83
84
|
type: Component,
|
|
84
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"] }]
|
|
85
|
-
}], ctorParameters: () => [{ type: i1.DocumentService }, { type:
|
|
86
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2.Router }] });
|
|
86
87
|
|
|
87
88
|
/*
|
|
88
89
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -117,7 +118,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
117
118
|
*/
|
|
118
119
|
var TaskManagementTab;
|
|
119
120
|
(function (TaskManagementTab) {
|
|
120
|
-
TaskManagementTab[
|
|
121
|
+
TaskManagementTab["COLUMNS"] = "columns";
|
|
122
|
+
TaskManagementTab["SEARCH_FIELDS"] = "searchFields";
|
|
121
123
|
})(TaskManagementTab || (TaskManagementTab = {}));
|
|
122
124
|
|
|
123
125
|
/*
|
|
@@ -201,7 +203,7 @@ class TaskManagementApiService extends BaseApiService {
|
|
|
201
203
|
swapTaskListColumns(caseDefinitionName, firstColumn, secondColumn) {
|
|
202
204
|
return this.httpClient.post(this.getApiUrl(`/management/v1/case/${caseDefinitionName}/task-list-column`), { first: firstColumn.key, second: secondColumn.key });
|
|
203
205
|
}
|
|
204
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementApiService, deps: [{ token: i1$
|
|
206
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementApiService, deps: [{ token: i1$1.HttpClient }, { token: i2$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
205
207
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementApiService, providedIn: 'root' }); }
|
|
206
208
|
}
|
|
207
209
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementApiService, decorators: [{
|
|
@@ -209,7 +211,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
209
211
|
args: [{
|
|
210
212
|
providedIn: 'root',
|
|
211
213
|
}]
|
|
212
|
-
}], ctorParameters: () => [{ type: i1$
|
|
214
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: i2$1.ConfigService }] });
|
|
215
|
+
|
|
216
|
+
class TaskManagementSearchFieldsService extends BaseApiService {
|
|
217
|
+
constructor(httpClient, configService) {
|
|
218
|
+
super(httpClient, configService);
|
|
219
|
+
this.httpClient = httpClient;
|
|
220
|
+
this.configService = configService;
|
|
221
|
+
}
|
|
222
|
+
setDocumentDefinitionName(documentDefinitionName) {
|
|
223
|
+
this._documentDefinitionName = documentDefinitionName;
|
|
224
|
+
}
|
|
225
|
+
getTaskListSearchFields() {
|
|
226
|
+
return this.httpClient.get(this.getApiUrl(`/v1/search/field/TaskListSearchColumns/${this._documentDefinitionName}`));
|
|
227
|
+
}
|
|
228
|
+
createTaskListSearchField(searchField) {
|
|
229
|
+
return this.httpClient.post(this.getApiUrl(`/v1/search/field/${this._documentDefinitionName}`), {
|
|
230
|
+
...searchField,
|
|
231
|
+
ownerType: 'TaskListSearchColumns',
|
|
232
|
+
ownerId: this._documentDefinitionName,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
updateTaskListSearchField(searchField) {
|
|
236
|
+
return this.httpClient.put(this.getApiUrl(`/v1/search/field/${this._documentDefinitionName}/${searchField.key}`), {
|
|
237
|
+
...searchField,
|
|
238
|
+
ownerType: 'TaskListSearchColumns',
|
|
239
|
+
ownerId: this._documentDefinitionName,
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
deleteTaskListSearchField(searchFieldKey) {
|
|
243
|
+
return this.httpClient.delete(this.getApiUrl(`/v1/search/field/TaskListSearchColumns/${this._documentDefinitionName}/${searchFieldKey}`));
|
|
244
|
+
}
|
|
245
|
+
orderTaskListSearchFields(searchFields) {
|
|
246
|
+
return this.httpClient.put(this.getApiUrl(`/v1/search/field/${this._documentDefinitionName}/fields`), searchFields);
|
|
247
|
+
}
|
|
248
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementSearchFieldsService, deps: [{ token: i1$1.HttpClient }, { token: i2$1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
249
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementSearchFieldsService, providedIn: 'root' }); }
|
|
250
|
+
}
|
|
251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementSearchFieldsService, decorators: [{
|
|
252
|
+
type: Injectable,
|
|
253
|
+
args: [{
|
|
254
|
+
providedIn: 'root',
|
|
255
|
+
}]
|
|
256
|
+
}], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: i2$1.ConfigService }] });
|
|
213
257
|
|
|
214
258
|
/*
|
|
215
259
|
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
@@ -546,8 +590,8 @@ class TaskManagementColumnModalComponent {
|
|
|
546
590
|
}),
|
|
547
591
|
});
|
|
548
592
|
}
|
|
549
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementColumnModalComponent, deps: [{ token:
|
|
550
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", 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: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i5.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5.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: i5.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "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: i5.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: i5.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i5.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.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: ["name", "title", "titleTranslationKey", "type", "arbitraryValueAmount", "arbitraryAmountTitles", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth", "carbonTheme"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: ValtimoCdsModalDirectiveModule }, { kind: "directive", type: i6.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
593
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementColumnModalComponent, deps: [{ token: i4.TranslateService }, { token: TaskManagementApiService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
594
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", 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", "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: ["name", "title", "titleTranslationKey", "type", "arbitraryValueAmount", "arbitraryAmountTitles", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth", "carbonTheme"], 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]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
551
595
|
}
|
|
552
596
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementColumnModalComponent, decorators: [{
|
|
553
597
|
type: Component,
|
|
@@ -567,7 +611,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
567
611
|
ButtonModule,
|
|
568
612
|
ValtimoCdsModalDirectiveModule,
|
|
569
613
|
], 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"] }]
|
|
570
|
-
}], ctorParameters: () => [{ type:
|
|
614
|
+
}], ctorParameters: () => [{ type: i4.TranslateService }, { type: TaskManagementApiService }], propDecorators: { carbonTheme: [{
|
|
571
615
|
type: Input
|
|
572
616
|
}], taskListColumns: [{
|
|
573
617
|
type: Input
|
|
@@ -767,8 +811,8 @@ class TaskManagementColumnsComponent {
|
|
|
767
811
|
clearSelectedTaskListColumn() {
|
|
768
812
|
this.selectedTaskListColumn$.next(null);
|
|
769
813
|
}
|
|
770
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementColumnsComponent, deps: [{ token:
|
|
771
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: TaskManagementColumnsComponent, isStandalone: true, selector: "valtimo-task-management-columns", inputs: { carbonTheme: "carbonTheme" }, providers: [TaskManagementService], 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 taskListColumns: taskListColumns$ | async,\n cachedTaskListColumns: cachedTaskListColumns$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n loadingColumns: loadingColumns$ | async,\n modalType: modalType$ | async,\n showModal: showModal$ | async,\n disabled: disabled$ | async\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n\n <valtimo-task-management-column-modal\n [taskListColumns]=\"obs.cachedTaskListColumns\"\n [type]=\"obs.modalType\"\n [show]=\"obs.showModal\"\n [documentDefinitionName]=\"obs.documentDefinitionName\"\n [selectedTaskListColumn]=\"selectedTaskListColumn$ | async\"\n (closeEvent)=\"onModalCloseEvent($event)\"\n ></valtimo-task-management-column-modal>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n (confirmEvent)=\"deleteRowConfirmation($event, obs.documentDefinitionName)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.taskListColumns\"\n [loading]=\"obs.loadingColumns\"\n [fields]=\"fields\"\n [header]=\"false\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"columnRowClicked($event)\"\n (moveRow)=\"onMoveRowClick($event, obs.documentDefinitionName)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\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</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <button cdsButton=\"primary\" (click)=\"showModal('add')\" [disabled]=\"obs.disabled\">\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: 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: "component", type: i6.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i6.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type:
|
|
814
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementColumnsComponent, deps: [{ token: i2.ActivatedRoute }, { token: TaskManagementApiService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
815
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: TaskManagementColumnsComponent, isStandalone: true, selector: "valtimo-task-management-columns", inputs: { carbonTheme: "carbonTheme" }, providers: [TaskManagementService], 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 taskListColumns: taskListColumns$ | async,\n cachedTaskListColumns: cachedTaskListColumns$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n loadingColumns: loadingColumns$ | async,\n modalType: modalType$ | async,\n showModal: showModal$ | async,\n disabled: disabled$ | async\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n\n <valtimo-task-management-column-modal\n [taskListColumns]=\"obs.cachedTaskListColumns\"\n [type]=\"obs.modalType\"\n [show]=\"obs.showModal\"\n [documentDefinitionName]=\"obs.documentDefinitionName\"\n [selectedTaskListColumn]=\"selectedTaskListColumn$ | async\"\n (closeEvent)=\"onModalCloseEvent($event)\"\n ></valtimo-task-management-column-modal>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n (confirmEvent)=\"deleteRowConfirmation($event, obs.documentDefinitionName)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.taskListColumns\"\n [loading]=\"obs.loadingColumns\"\n [fields]=\"fields\"\n [header]=\"false\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"columnRowClicked($event)\"\n (moveRow)=\"onMoveRowClick($event, obs.documentDefinitionName)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\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</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <button cdsButton=\"primary\" (click)=\"showModal('add')\" [disabled]=\"obs.disabled\">\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: 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: "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" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: TaskManagementColumnModalComponent, selector: "valtimo-task-management-column-modal", inputs: ["carbonTheme", "taskListColumns", "type", "show", "documentDefinitionName", "selectedTaskListColumn"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "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 }); }
|
|
772
816
|
}
|
|
773
817
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementColumnsComponent, decorators: [{
|
|
774
818
|
type: Component,
|
|
@@ -782,7 +826,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
782
826
|
IconModule,
|
|
783
827
|
ConfirmationModalModule,
|
|
784
828
|
], providers: [TaskManagementService], 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 taskListColumns: taskListColumns$ | async,\n cachedTaskListColumns: cachedTaskListColumns$ | async,\n documentDefinitionName: documentDefinitionName$ | async,\n loadingColumns: loadingColumns$ | async,\n modalType: modalType$ | async,\n showModal: showModal$ | async,\n disabled: disabled$ | async\n } as obs\"\n>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n\n <valtimo-task-management-column-modal\n [taskListColumns]=\"obs.cachedTaskListColumns\"\n [type]=\"obs.modalType\"\n [show]=\"obs.showModal\"\n [documentDefinitionName]=\"obs.documentDefinitionName\"\n [selectedTaskListColumn]=\"selectedTaskListColumn$ | async\"\n (closeEvent)=\"onModalCloseEvent($event)\"\n ></valtimo-task-management-column-modal>\n\n <valtimo-confirmation-modal\n [showModalSubject$]=\"showDeleteModal$\"\n [outputOnConfirm]=\"deleteRowKey$ | async\"\n (confirmEvent)=\"deleteRowConfirmation($event, obs.documentDefinitionName)\"\n confirmButtonTextTranslationKey=\"listColumn.deleteColumn\"\n titleTranslationKey=\"listColumn.deleteColumn\"\n contentTranslationKey=\"listColumn.deleteColumnConfirmation\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-carbon-list\n [actionItems]=\"actionItems\"\n [items]=\"obs.taskListColumns\"\n [loading]=\"obs.loadingColumns\"\n [fields]=\"fields\"\n [header]=\"false\"\n [movingRowsEnabled]=\"true\"\n (rowClicked)=\"columnRowClicked($event)\"\n (moveRow)=\"onMoveRowClick($event, obs.documentDefinitionName)\"\n >\n <ng-container\n carbonToolbarContent\n *ngTemplateOutlet=\"buttons; context: {obs: obs}\"\n ></ng-container>\n\n <valtimo-no-results\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</ng-template>\n\n<ng-template #buttons let-obs=\"obs\">\n <button cdsButton=\"primary\" (click)=\"showModal('add')\" [disabled]=\"obs.disabled\">\n {{ 'listColumn.addButtonText' | translate }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n" }]
|
|
785
|
-
}], ctorParameters: () => [{ type:
|
|
829
|
+
}], ctorParameters: () => [{ type: i2.ActivatedRoute }, { type: TaskManagementApiService }, { type: i4.TranslateService }], propDecorators: { carbonTheme: [{
|
|
786
830
|
type: Input
|
|
787
831
|
}] } });
|
|
788
832
|
|
|
@@ -817,14 +861,513 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
817
861
|
* See the License for the specific language governing permissions and
|
|
818
862
|
* limitations under the License.
|
|
819
863
|
*/
|
|
820
|
-
class
|
|
821
|
-
|
|
864
|
+
class TaskManagementSearchFieldsModalComponent {
|
|
865
|
+
set prefillData(value) {
|
|
866
|
+
this._prefillData = value;
|
|
867
|
+
this.setPrefilledForm(value);
|
|
868
|
+
}
|
|
869
|
+
get prefillData() {
|
|
870
|
+
return this._prefillData;
|
|
871
|
+
}
|
|
872
|
+
get dataType() {
|
|
873
|
+
return this.form.get('dataType');
|
|
874
|
+
}
|
|
875
|
+
get dataTypeValue$() {
|
|
876
|
+
return this.dataType.valueChanges.pipe(startWith(this.dataType.value));
|
|
877
|
+
}
|
|
878
|
+
get matchType() {
|
|
879
|
+
return this.form.get('matchType');
|
|
880
|
+
}
|
|
881
|
+
get matchTypeValue$() {
|
|
882
|
+
return this.matchType.valueChanges.pipe(startWith(this.matchType.value));
|
|
883
|
+
}
|
|
884
|
+
get dropdownDataProvider() {
|
|
885
|
+
return this.form.get('dropdownDataProvider');
|
|
886
|
+
}
|
|
887
|
+
get dropdownDataProviderValue$() {
|
|
888
|
+
return this.dropdownDataProvider.valueChanges.pipe(startWith(this.dropdownDataProvider.value));
|
|
889
|
+
}
|
|
890
|
+
get fieldType() {
|
|
891
|
+
return this.form.get('fieldType');
|
|
892
|
+
}
|
|
893
|
+
get fieldTypeValue$() {
|
|
894
|
+
return this.fieldType.valueChanges.pipe(startWith(this.fieldType.value));
|
|
895
|
+
}
|
|
896
|
+
get keyValue() {
|
|
897
|
+
const controlValue = this.form.get('key')?.value;
|
|
898
|
+
return !controlValue ? null : controlValue;
|
|
899
|
+
}
|
|
900
|
+
get dataTypeValue() {
|
|
901
|
+
const controlValue = this.form.get('dataType')?.value;
|
|
902
|
+
this._dataTypeValue$.next(controlValue?.id);
|
|
903
|
+
return !controlValue ? null : controlValue.id;
|
|
904
|
+
}
|
|
905
|
+
get fieldTypeValue() {
|
|
906
|
+
const controlValue = this.form.get('fieldType')?.value;
|
|
907
|
+
return !controlValue ? null : controlValue.id;
|
|
908
|
+
}
|
|
909
|
+
get dropdownDataProviderValue() {
|
|
910
|
+
const controlValue = this.form.get('dropdownDataProvider')?.value;
|
|
911
|
+
this._dropdownProviderValue$.next(controlValue?.id);
|
|
912
|
+
return !controlValue ? null : controlValue.id;
|
|
913
|
+
}
|
|
914
|
+
get dropdownValuesArray() {
|
|
915
|
+
const formArray = this.form.get('dropdownValues');
|
|
916
|
+
return !formArray ? null : formArray;
|
|
917
|
+
}
|
|
918
|
+
constructor(documentService, iconService, fb, translateService) {
|
|
919
|
+
this.documentService = documentService;
|
|
920
|
+
this.iconService = iconService;
|
|
921
|
+
this.fb = fb;
|
|
922
|
+
this.translateService = translateService;
|
|
923
|
+
this.closeEvent = new EventEmitter();
|
|
924
|
+
this.form = this.fb.group({
|
|
925
|
+
key: this.fb.control('', Validators.required),
|
|
926
|
+
title: this.fb.control('', Validators.required),
|
|
927
|
+
path: this.fb.control('', Validators.required),
|
|
928
|
+
dataType: this.fb.control(null, Validators.required),
|
|
929
|
+
matchType: this.fb.control(null, this.matchTypeValidator),
|
|
930
|
+
fieldType: this.fb.control(null, Validators.required),
|
|
931
|
+
dropdownDataProvider: this.fb.control(null),
|
|
932
|
+
dropdownValues: this.fb.array([]),
|
|
933
|
+
});
|
|
934
|
+
this.TaskListSearchFieldDataType = TaskListSearchFieldDataType;
|
|
935
|
+
this.TaskListSearchFieldFieldType = TaskListSearchFieldFieldType;
|
|
936
|
+
this.TaskListSearchDropdownDataProvider = TaskListSearchDropdownDataProvider;
|
|
937
|
+
this.DROPDOWN_FIELDS = [
|
|
938
|
+
{
|
|
939
|
+
key: 'key',
|
|
940
|
+
label: 'searchFieldsOverview.key',
|
|
941
|
+
viewType: ViewType.TEXT,
|
|
942
|
+
},
|
|
943
|
+
{
|
|
944
|
+
key: 'value',
|
|
945
|
+
label: 'searchFieldsOverview.text',
|
|
946
|
+
viewType: ViewType.TEXT,
|
|
947
|
+
},
|
|
948
|
+
];
|
|
949
|
+
this._dataTypeValue$ = new BehaviorSubject(null);
|
|
950
|
+
this._dropdownProviderValue$ = new BehaviorSubject(null);
|
|
951
|
+
this.dropdownReadonlyItems$ = this._dropdownProviderValue$.pipe(distinctUntilChanged$1(), filter(val => !!val && val === TaskListSearchDropdownDataProvider.JSON), switchMap((provider) => this.documentService.getDropdownData(provider ?? '', this.documentDefinitionName ?? '', this.keyValue ?? '')), map(dropdownData => dropdownData ? Object.entries(dropdownData).map(([key, value]) => ({ key, value })) : []));
|
|
952
|
+
this.dataTypeItems$ = combineLatest([
|
|
953
|
+
this.dataTypeValue$,
|
|
954
|
+
this.translateService.stream('key'),
|
|
955
|
+
]).pipe(map(([dataTypeValue]) => [
|
|
956
|
+
{
|
|
957
|
+
content: this.translateService.instant('searchFields.text'),
|
|
958
|
+
id: TaskListSearchFieldDataType.TEXT,
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
content: this.translateService.instant('searchFields.boolean'),
|
|
962
|
+
id: TaskListSearchFieldDataType.BOOLEAN,
|
|
963
|
+
},
|
|
964
|
+
{
|
|
965
|
+
content: this.translateService.instant('searchFields.date'),
|
|
966
|
+
id: TaskListSearchFieldDataType.DATE,
|
|
967
|
+
},
|
|
968
|
+
{
|
|
969
|
+
content: this.translateService.instant('searchFields.datetime'),
|
|
970
|
+
id: TaskListSearchFieldDataType.DATETIME,
|
|
971
|
+
},
|
|
972
|
+
{
|
|
973
|
+
content: this.translateService.instant('searchFields.number'),
|
|
974
|
+
id: TaskListSearchFieldDataType.NUMBER,
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
content: this.translateService.instant('searchFields.time'),
|
|
978
|
+
id: TaskListSearchFieldDataType.TIME,
|
|
979
|
+
},
|
|
980
|
+
].map(item => ({ ...item, selected: item.id === dataTypeValue?.id }))));
|
|
981
|
+
this.fieldTypeItems$ = combineLatest([
|
|
982
|
+
this._dataTypeValue$.pipe(distinctUntilChanged$1()),
|
|
983
|
+
this.fieldTypeValue$,
|
|
984
|
+
this.translateService.stream('key'),
|
|
985
|
+
]).pipe(map(([dataTypeValue, fieldTypeValue]) => [
|
|
986
|
+
{
|
|
987
|
+
content: this.translateService.instant('searchFieldsOverview.single'),
|
|
988
|
+
id: TaskListSearchFieldFieldType.SINGLE,
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
content: this.translateService.instant('searchFieldsOverview.range'),
|
|
992
|
+
id: TaskListSearchFieldFieldType.RANGE,
|
|
993
|
+
},
|
|
994
|
+
...(dataTypeValue === TaskListSearchFieldDataType.TEXT
|
|
995
|
+
? [
|
|
996
|
+
{
|
|
997
|
+
content: this.translateService.instant('searchFieldsOverview.single-select-dropdown'),
|
|
998
|
+
id: TaskListSearchFieldFieldType.SINGLE_SELECT_DROPDOWN,
|
|
999
|
+
},
|
|
1000
|
+
{
|
|
1001
|
+
content: this.translateService.instant('searchFieldsOverview.multi-select-dropdown'),
|
|
1002
|
+
id: TaskListSearchFieldFieldType.MULTI_SELECT_DROPDOWN,
|
|
1003
|
+
},
|
|
1004
|
+
]
|
|
1005
|
+
: []),
|
|
1006
|
+
].map(item => ({ ...item, selected: item.id === fieldTypeValue?.id }))));
|
|
1007
|
+
this.dataProviderItems$ = this.translateService
|
|
1008
|
+
.stream('key')
|
|
1009
|
+
.pipe(switchMap(() => this.dropdownDataProviderValue$), map(dataProviderValue => [
|
|
1010
|
+
{
|
|
1011
|
+
content: this.translateService.instant('searchFieldsOverview.dropdownDatabaseDataProvider'),
|
|
1012
|
+
id: TaskListSearchDropdownDataProvider.DATABASE,
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
content: this.translateService.instant('searchFieldsOverview.dropdownJsonFileDataProvider'),
|
|
1016
|
+
id: TaskListSearchDropdownDataProvider.JSON,
|
|
1017
|
+
},
|
|
1018
|
+
].map(item => ({ ...item, selected: item.id === dataProviderValue?.id }))));
|
|
1019
|
+
this.matchTypeItems$ = this.translateService
|
|
1020
|
+
.stream('key')
|
|
1021
|
+
.pipe(switchMap(() => this.matchTypeValue$), map(matchTypeValue => [
|
|
1022
|
+
{
|
|
1023
|
+
content: this.translateService.instant('searchFieldsOverview.like'),
|
|
1024
|
+
id: TaskListSearchFieldMatchType.LIKE,
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
content: this.translateService.instant('searchFieldsOverview.exact'),
|
|
1028
|
+
id: TaskListSearchFieldMatchType.EXACT,
|
|
1029
|
+
},
|
|
1030
|
+
].map(item => ({ ...item, selected: item.id === matchTypeValue?.id }))));
|
|
1031
|
+
this.iconService.registerAll([TrashCan16, InformationFilled16]);
|
|
1032
|
+
}
|
|
1033
|
+
ngOnInit() {
|
|
1034
|
+
this.form.setValidators([this.dropdownDataProviderValidator, this.dropdownValuesValidator]);
|
|
1035
|
+
}
|
|
1036
|
+
addDropdownValue(prefillValue) {
|
|
1037
|
+
if (!this.dropdownValuesArray)
|
|
1038
|
+
return;
|
|
1039
|
+
this.dropdownValuesArray.push(this.fb.group({
|
|
1040
|
+
key: this.fb.control(prefillValue?.key ?? '', Validators.required),
|
|
1041
|
+
value: this.fb.control(prefillValue?.value ?? '', Validators.required),
|
|
1042
|
+
}));
|
|
1043
|
+
}
|
|
1044
|
+
removeDropdownValue(index) {
|
|
1045
|
+
if (!this.dropdownValuesArray)
|
|
1046
|
+
return;
|
|
1047
|
+
this.dropdownValuesArray.removeAt(index);
|
|
1048
|
+
}
|
|
1049
|
+
onCancel() {
|
|
1050
|
+
this.closeEvent.emit(null);
|
|
1051
|
+
this.resetForm();
|
|
1052
|
+
}
|
|
1053
|
+
onSave() {
|
|
1054
|
+
const groupValue = this.form.getRawValue();
|
|
1055
|
+
this.closeEvent.emit({
|
|
1056
|
+
...(groupValue.title && { title: groupValue.title }),
|
|
1057
|
+
...(groupValue.key && { key: groupValue.key }),
|
|
1058
|
+
...(groupValue.path && { path: groupValue.path }),
|
|
1059
|
+
...(groupValue.dataType?.content && { dataType: groupValue.dataType.id }),
|
|
1060
|
+
...(groupValue.matchType?.content && { matchType: groupValue.matchType.id }),
|
|
1061
|
+
...(groupValue.fieldType?.content && { fieldType: groupValue.fieldType.id }),
|
|
1062
|
+
...(groupValue.dropdownDataProvider?.content && {
|
|
1063
|
+
dropdownDataProvider: groupValue.dropdownDataProvider.id,
|
|
1064
|
+
}),
|
|
1065
|
+
...(groupValue.dropdownValues && {
|
|
1066
|
+
dropdownValues: groupValue.dropdownValues.reduce((acc, curr) => ({ ...acc, ...(!!curr?.key && { [curr.key]: curr.value }) }), {}),
|
|
1067
|
+
}),
|
|
1068
|
+
});
|
|
1069
|
+
this.resetForm();
|
|
1070
|
+
}
|
|
1071
|
+
setPrefilledForm(prefillData) {
|
|
1072
|
+
if (!prefillData)
|
|
1073
|
+
return;
|
|
1074
|
+
this.form.patchValue({
|
|
1075
|
+
...prefillData,
|
|
1076
|
+
dataType: !prefillData.dataType
|
|
1077
|
+
? null
|
|
1078
|
+
: {
|
|
1079
|
+
content: prefillData.dataType,
|
|
1080
|
+
id: prefillData.dataType,
|
|
1081
|
+
selected: true,
|
|
1082
|
+
},
|
|
1083
|
+
matchType: !prefillData.matchType
|
|
1084
|
+
? null
|
|
1085
|
+
: {
|
|
1086
|
+
content: prefillData.matchType,
|
|
1087
|
+
id: prefillData.matchType,
|
|
1088
|
+
selected: true,
|
|
1089
|
+
},
|
|
1090
|
+
fieldType: !prefillData.fieldType
|
|
1091
|
+
? null
|
|
1092
|
+
: {
|
|
1093
|
+
content: prefillData.fieldType,
|
|
1094
|
+
id: prefillData.fieldType,
|
|
1095
|
+
selected: true,
|
|
1096
|
+
},
|
|
1097
|
+
dropdownDataProvider: !prefillData.dropdownDataProvider
|
|
1098
|
+
? null
|
|
1099
|
+
: {
|
|
1100
|
+
content: prefillData.dropdownDataProvider,
|
|
1101
|
+
id: prefillData.dropdownDataProvider,
|
|
1102
|
+
selected: true,
|
|
1103
|
+
},
|
|
1104
|
+
dropdownValues: [],
|
|
1105
|
+
});
|
|
1106
|
+
if (prefillData.dropdownDataProvider && prefillData.dropdownValues)
|
|
1107
|
+
this.setPrefilledDropdownValues(prefillData.dropdownValues);
|
|
1108
|
+
this.form.get('key')?.disable();
|
|
1109
|
+
}
|
|
1110
|
+
setPrefilledDropdownValues(dropdownValue) {
|
|
1111
|
+
if (!this.dropdownValuesArray || !this.dropdownDataProviderValue)
|
|
1112
|
+
return;
|
|
1113
|
+
Object.entries(dropdownValue).forEach(([key, value]) => {
|
|
1114
|
+
this.addDropdownValue({ key, value });
|
|
1115
|
+
});
|
|
1116
|
+
}
|
|
1117
|
+
matchTypeValidator(control) {
|
|
1118
|
+
const controlValue = control.value;
|
|
1119
|
+
const dataTypeControlValue = control.parent?.get('dataType')?.value;
|
|
1120
|
+
if (dataTypeControlValue?.id === TaskListSearchFieldDataType.TEXT &&
|
|
1121
|
+
(!controlValue || !controlValue.selected))
|
|
1122
|
+
return { error: 'Match type not selected' };
|
|
1123
|
+
return null;
|
|
1124
|
+
}
|
|
1125
|
+
dropdownDataProviderValidator(group) {
|
|
1126
|
+
const controlValue = group.get('dropdownDataProvider')?.value;
|
|
1127
|
+
const fieldTypeControlValue = group.get('fieldType')?.value;
|
|
1128
|
+
if ([
|
|
1129
|
+
TaskListSearchFieldFieldType.SINGLE_SELECT_DROPDOWN,
|
|
1130
|
+
TaskListSearchFieldFieldType.MULTI_SELECT_DROPDOWN,
|
|
1131
|
+
].includes(fieldTypeControlValue?.id) &&
|
|
1132
|
+
!controlValue)
|
|
1133
|
+
return { error: 'Dropdown source provider is not specified' };
|
|
1134
|
+
return null;
|
|
1135
|
+
}
|
|
1136
|
+
dropdownValuesValidator(group) {
|
|
1137
|
+
const controlValue = group.get('dropdownValues')?.value;
|
|
1138
|
+
const fieldTypeControlValue = group.get('fieldType')?.value?.id;
|
|
1139
|
+
const dropdownProviderValue = group.get('dropdownDataProvider')?.value?.id;
|
|
1140
|
+
if ([
|
|
1141
|
+
TaskListSearchFieldFieldType.SINGLE_SELECT_DROPDOWN,
|
|
1142
|
+
TaskListSearchFieldFieldType.MULTI_SELECT_DROPDOWN,
|
|
1143
|
+
].includes(fieldTypeControlValue) &&
|
|
1144
|
+
(!controlValue || controlValue?.length === 0) &&
|
|
1145
|
+
dropdownProviderValue === TaskListSearchDropdownDataProvider.DATABASE)
|
|
1146
|
+
return { error: 'Dropdown source provider is not specified or is empty' };
|
|
1147
|
+
return null;
|
|
1148
|
+
}
|
|
1149
|
+
resetForm() {
|
|
1150
|
+
setTimeout(() => {
|
|
1151
|
+
while (!!this.dropdownValuesArray?.length) {
|
|
1152
|
+
this.dropdownValuesArray.removeAt(0);
|
|
1153
|
+
}
|
|
1154
|
+
this.form.reset();
|
|
1155
|
+
this.form.enable();
|
|
1156
|
+
}, CARBON_CONSTANTS.modalAnimationMs);
|
|
1157
|
+
}
|
|
1158
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementSearchFieldsModalComponent, deps: [{ token: i1.DocumentService }, { token: i2$2.IconService }, { token: i3$1.FormBuilder }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1159
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", 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 cdsText type=\"text\" formControlName=\"title\" />\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 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 <input cdsText type=\"text\" formControlName=\"path\" />\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 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 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 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 formControlName=\"dropdownDataProvider\">\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.key' | translate }}\n\n <input cdsText type=\"text\" formControlName=\"key\" />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'interface.value' | translate }}\n\n <input cdsText type=\"text\" formControlName=\"value\" />\n </cds-text-label>\n\n <button\n cdsButton=\"danger\"\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 cdsButton=\"primary\" (click)=\"addDropdownValue()\">\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 cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"onSave()\">\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", "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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1160
|
+
}
|
|
1161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementSearchFieldsModalComponent, decorators: [{
|
|
1162
|
+
type: Component,
|
|
1163
|
+
args: [{ selector: 'valtimo-task-management-search-fields-modal', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
1164
|
+
CommonModule,
|
|
1165
|
+
TranslateModule,
|
|
1166
|
+
ButtonModule,
|
|
1167
|
+
DropdownModule,
|
|
1168
|
+
InputModule,
|
|
1169
|
+
ModalModule,
|
|
1170
|
+
ReactiveFormsModule,
|
|
1171
|
+
IconModule,
|
|
1172
|
+
CarbonListModule,
|
|
1173
|
+
InputLabelModule,
|
|
1174
|
+
], 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 cdsText type=\"text\" formControlName=\"title\" />\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 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 <input cdsText type=\"text\" formControlName=\"path\" />\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 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 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 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 formControlName=\"dropdownDataProvider\">\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.key' | translate }}\n\n <input cdsText type=\"text\" formControlName=\"key\" />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'interface.value' | translate }}\n\n <input cdsText type=\"text\" formControlName=\"value\" />\n </cds-text-label>\n\n <button\n cdsButton=\"danger\"\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 cdsButton=\"primary\" (click)=\"addDropdownValue()\">\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 cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"onSave()\">\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"] }]
|
|
1175
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2$2.IconService }, { type: i3$1.FormBuilder }, { type: i4.TranslateService }], propDecorators: { open: [{
|
|
1176
|
+
type: Input,
|
|
1177
|
+
args: [{ required: true }]
|
|
1178
|
+
}], documentDefinitionName: [{
|
|
1179
|
+
type: Input,
|
|
1180
|
+
args: [{ required: true }]
|
|
1181
|
+
}], prefillData: [{
|
|
1182
|
+
type: Input
|
|
1183
|
+
}], closeEvent: [{
|
|
1184
|
+
type: Output
|
|
1185
|
+
}] } });
|
|
1186
|
+
|
|
1187
|
+
/*
|
|
1188
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1189
|
+
*
|
|
1190
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1191
|
+
* you may not use this file except in compliance with the License.
|
|
1192
|
+
* You may obtain a copy of the License at
|
|
1193
|
+
*
|
|
1194
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1195
|
+
*
|
|
1196
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1197
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
1198
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1199
|
+
* See the License for the specific language governing permissions and
|
|
1200
|
+
* limitations under the License.
|
|
1201
|
+
*/
|
|
1202
|
+
class TaskManagementSearchFieldsComponent {
|
|
1203
|
+
constructor(documentService, route, searchFieldsService, trasnlateService) {
|
|
1204
|
+
this.documentService = documentService;
|
|
822
1205
|
this.route = route;
|
|
1206
|
+
this.searchFieldsService = searchFieldsService;
|
|
1207
|
+
this.trasnlateService = trasnlateService;
|
|
1208
|
+
this.documentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter(docDefName => !!docDefName), tap((docDefName) => this.searchFieldsService.setDocumentDefinitionName(docDefName)));
|
|
1209
|
+
this._refresh$ = new BehaviorSubject(null);
|
|
1210
|
+
this.searchFields$ = combineLatest([
|
|
1211
|
+
this.documentDefinitionName$,
|
|
1212
|
+
this._refresh$,
|
|
1213
|
+
this.trasnlateService.stream('key'),
|
|
1214
|
+
]).pipe(switchMap(() => this.searchFieldsService.getTaskListSearchFields()), map((searchFields) => this.mapTranslations(searchFields)));
|
|
1215
|
+
this.fields$ = this.trasnlateService.stream('key').pipe(map(() => [
|
|
1216
|
+
{
|
|
1217
|
+
key: 'title',
|
|
1218
|
+
label: 'searchFieldsOverview.title',
|
|
1219
|
+
viewType: ViewType.TEXT,
|
|
1220
|
+
},
|
|
1221
|
+
{
|
|
1222
|
+
key: 'key',
|
|
1223
|
+
label: 'searchFieldsOverview.key',
|
|
1224
|
+
viewType: ViewType.TEXT,
|
|
1225
|
+
},
|
|
1226
|
+
{
|
|
1227
|
+
key: 'path',
|
|
1228
|
+
label: 'searchFieldsOverview.path',
|
|
1229
|
+
viewType: ViewType.TEXT,
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
key: 'dataTypeTranslation',
|
|
1233
|
+
label: 'searchFieldsOverview.dataType',
|
|
1234
|
+
viewType: ViewType.TEXT,
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
key: 'fieldTypeTranslation',
|
|
1238
|
+
label: 'searchFieldsOverview.fieldType',
|
|
1239
|
+
viewType: ViewType.TEXT,
|
|
1240
|
+
},
|
|
1241
|
+
]));
|
|
1242
|
+
this.deleteModalOpen$ = new BehaviorSubject(false);
|
|
1243
|
+
this.fieldModalOpen$ = new BehaviorSubject(false);
|
|
1244
|
+
this.itemToDelete$ = new BehaviorSubject(null);
|
|
1245
|
+
this.prefillData$ = new BehaviorSubject(null);
|
|
1246
|
+
this.ACTION_ITEMS = [
|
|
1247
|
+
{
|
|
1248
|
+
label: 'interface.edit',
|
|
1249
|
+
callback: this.editField.bind(this),
|
|
1250
|
+
type: 'normal',
|
|
1251
|
+
},
|
|
1252
|
+
{
|
|
1253
|
+
label: 'interface.delete',
|
|
1254
|
+
callback: this.deleteField.bind(this),
|
|
1255
|
+
type: 'danger',
|
|
1256
|
+
},
|
|
1257
|
+
];
|
|
1258
|
+
}
|
|
1259
|
+
editField(item) {
|
|
1260
|
+
if (!!item.dropdownDataProvider) {
|
|
1261
|
+
this.documentService
|
|
1262
|
+
.getDropdownData(item.dropdownDataProvider, item.ownerId, item.key)
|
|
1263
|
+
.pipe(take(1))
|
|
1264
|
+
.subscribe(dropdownValues => {
|
|
1265
|
+
item.dropdownValues = dropdownValues;
|
|
1266
|
+
this.prefillData$.next(item);
|
|
1267
|
+
this.fieldModalOpen$.next(true);
|
|
1268
|
+
});
|
|
1269
|
+
return;
|
|
1270
|
+
}
|
|
1271
|
+
this.prefillData$.next(item);
|
|
1272
|
+
this.fieldModalOpen$.next(true);
|
|
1273
|
+
}
|
|
1274
|
+
onItemsReordered(event) {
|
|
1275
|
+
this.searchFieldsService
|
|
1276
|
+
.orderTaskListSearchFields(event)
|
|
1277
|
+
.pipe(take(1))
|
|
1278
|
+
.subscribe(() => this._refresh$.next(null));
|
|
1279
|
+
}
|
|
1280
|
+
onAddButtonClick() {
|
|
1281
|
+
this.fieldModalOpen$.next(true);
|
|
1282
|
+
}
|
|
1283
|
+
onCloseEvent(searchField, prefillData) {
|
|
1284
|
+
this.fieldModalOpen$.next(false);
|
|
1285
|
+
this.prefillData$.next(null);
|
|
1286
|
+
if (!searchField)
|
|
1287
|
+
return;
|
|
1288
|
+
const hasDropdownValues = searchField.fieldType === TaskListSearchFieldFieldType.SINGLE_SELECT_DROPDOWN ||
|
|
1289
|
+
searchField.fieldType === TaskListSearchFieldFieldType.MULTI_SELECT_DROPDOWN;
|
|
1290
|
+
(!prefillData
|
|
1291
|
+
? this.searchFieldsService.createTaskListSearchField(searchField)
|
|
1292
|
+
: this.searchFieldsService.updateTaskListSearchField(searchField))
|
|
1293
|
+
.pipe(take(1), switchMap((field) => {
|
|
1294
|
+
return hasDropdownValues
|
|
1295
|
+
? this.documentService.postDropdownData(field.dropdownDataProvider ?? '', field.ownerId, field.key, searchField.dropdownValues ?? {})
|
|
1296
|
+
: of(field);
|
|
1297
|
+
}))
|
|
1298
|
+
.subscribe(() => this._refresh$.next(null));
|
|
1299
|
+
}
|
|
1300
|
+
onDeleteFieldConfirm(item) {
|
|
1301
|
+
if (!item)
|
|
1302
|
+
return;
|
|
1303
|
+
this.searchFieldsService
|
|
1304
|
+
.deleteTaskListSearchField(item.key)
|
|
1305
|
+
.pipe(take(1), switchMap(() => item.dropdownDataProvider
|
|
1306
|
+
? this.documentService.deleteDropdownData(item.dropdownDataProvider, item.ownerId, item.key)
|
|
1307
|
+
: of()))
|
|
1308
|
+
.subscribe(() => this._refresh$.next(null));
|
|
1309
|
+
}
|
|
1310
|
+
deleteField(item) {
|
|
1311
|
+
this.itemToDelete$.next(item);
|
|
1312
|
+
this.deleteModalOpen$.next(true);
|
|
1313
|
+
}
|
|
1314
|
+
mapTranslations(searchFields) {
|
|
1315
|
+
return searchFields.map((searchField) => ({
|
|
1316
|
+
...searchField,
|
|
1317
|
+
dataTypeTranslation: this.trasnlateService.instant(`searchFields.${searchField.dataType.toLowerCase()}`),
|
|
1318
|
+
fieldTypeTranslation: this.trasnlateService.instant(`searchFieldsOverview.${this.fieldTypeTranslation(searchField.fieldType)}`),
|
|
1319
|
+
}));
|
|
1320
|
+
}
|
|
1321
|
+
fieldTypeTranslation(fieldType) {
|
|
1322
|
+
switch (fieldType) {
|
|
1323
|
+
case TaskListSearchFieldFieldType.SINGLE_SELECT_DROPDOWN:
|
|
1324
|
+
return 'single-select-dropdown';
|
|
1325
|
+
case TaskListSearchFieldFieldType.MULTI_SELECT_DROPDOWN:
|
|
1326
|
+
return 'multi-select-dropdown';
|
|
1327
|
+
default:
|
|
1328
|
+
return fieldType.toLowerCase();
|
|
1329
|
+
}
|
|
1330
|
+
}
|
|
1331
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementSearchFieldsComponent, deps: [{ token: i1.DocumentService }, { token: i2.ActivatedRoute }, { token: TaskManagementSearchFieldsService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1332
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: TaskManagementSearchFieldsComponent, isStandalone: true, selector: "valtimo-task-management-search-fields", 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 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 [documentDefinitionName]=\"documentDefinitionName$ | 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: 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: 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", "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$2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2$2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: TaskManagementSearchFieldsModalComponent, selector: "valtimo-task-management-search-fields-modal", inputs: ["open", "documentDefinitionName", "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 }); }
|
|
1333
|
+
}
|
|
1334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementSearchFieldsComponent, decorators: [{
|
|
1335
|
+
type: Component,
|
|
1336
|
+
args: [{ selector: 'valtimo-task-management-search-fields', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
1337
|
+
CommonModule,
|
|
1338
|
+
TranslateModule,
|
|
1339
|
+
CarbonListModule,
|
|
1340
|
+
ButtonModule,
|
|
1341
|
+
IconModule,
|
|
1342
|
+
TaskManagementSearchFieldsModalComponent,
|
|
1343
|
+
ConfirmationModalModule,
|
|
1344
|
+
], 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 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 [documentDefinitionName]=\"documentDefinitionName$ | 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" }]
|
|
1345
|
+
}], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2.ActivatedRoute }, { type: TaskManagementSearchFieldsService }, { type: i4.TranslateService }] });
|
|
1346
|
+
|
|
1347
|
+
/*
|
|
1348
|
+
* Copyright 2015-2024 Ritense BV, the Netherlands.
|
|
1349
|
+
*
|
|
1350
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1351
|
+
* you may not use this file except in compliance with the License.
|
|
1352
|
+
* You may obtain a copy of the License at
|
|
1353
|
+
*
|
|
1354
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1355
|
+
*
|
|
1356
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1357
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
1358
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1359
|
+
* See the License for the specific language governing permissions and
|
|
1360
|
+
* limitations under the License.
|
|
1361
|
+
*/
|
|
1362
|
+
class TaskManagementDetailComponent {
|
|
1363
|
+
constructor(configService, documentService, pageTitleService, route, taskManagementService) {
|
|
1364
|
+
this.configService = configService;
|
|
823
1365
|
this.documentService = documentService;
|
|
824
1366
|
this.pageTitleService = pageTitleService;
|
|
1367
|
+
this.route = route;
|
|
825
1368
|
this.taskManagementService = taskManagementService;
|
|
826
1369
|
this.carbonTheme = CARBON_THEME.G10;
|
|
827
|
-
this.setDocumentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter(docDefName => !!docDefName), switchMap(documentDefinitionName => this.documentService.
|
|
1370
|
+
this.setDocumentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter(docDefName => !!docDefName), switchMap(documentDefinitionName => this.documentService.getDocumentDefinitionForManagement(documentDefinitionName)), tap(documentDefinition => {
|
|
828
1371
|
this.pageTitleService.setCustomPageTitle(documentDefinition?.schema?.title || '-');
|
|
829
1372
|
}));
|
|
830
1373
|
this.activeTab$ = this.taskManagementService.activeTab$;
|
|
@@ -833,8 +1376,8 @@ class TaskManagementDetailComponent {
|
|
|
833
1376
|
setActiveTab(tab) {
|
|
834
1377
|
this.taskManagementService.setActiveTab(tab);
|
|
835
1378
|
}
|
|
836
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementDetailComponent, deps: [{ token:
|
|
837
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: TaskManagementDetailComponent, isStandalone: true, selector: "ng-component", inputs: { carbonTheme: "carbonTheme" }, providers: [TaskManagementService], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n
|
|
1379
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementDetailComponent, deps: [{ token: i2$1.ConfigService }, { token: i1.DocumentService }, { token: i6.PageTitleService }, { token: i2.ActivatedRoute }, { token: TaskManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1380
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: TaskManagementDetailComponent, isStandalone: true, selector: "ng-component", inputs: { carbonTheme: "carbonTheme" }, providers: [TaskManagementService], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n activeTab: activeTab$ | async,\n documentDefinitionName: setDocumentDefinitionName$ | async,\n } as obs\"\n class=\"task-management-detail\"\n>\n <cds-tabs class=\"dossier-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.COLUMNS\"\n [heading]=\"'taskManagement.columns' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.COLUMNS)\"\n >\n <valtimo-task-management-columns> </valtimo-task-management-columns>\n </cds-tab>\n\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.SEARCH_FIELDS\"\n [heading]=\"'taskManagement.searchFields' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.SEARCH_FIELDS)\"\n >\n <valtimo-task-management-search-fields> </valtimo-task-management-search-fields>\n </cds-tab>\n \n </cds-tabs>\n</div>\n", styles: [".task-management-detail .cds--tab-content{padding:0}\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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "component", type: i2$2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2$2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], 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, encapsulation: i0.ViewEncapsulation.None }); }
|
|
838
1381
|
}
|
|
839
1382
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementDetailComponent, decorators: [{
|
|
840
1383
|
type: Component,
|
|
@@ -844,8 +1387,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
844
1387
|
TranslateModule,
|
|
845
1388
|
TabsModule,
|
|
846
1389
|
TaskManagementColumnsComponent,
|
|
847
|
-
|
|
848
|
-
|
|
1390
|
+
TaskManagementSearchFieldsComponent,
|
|
1391
|
+
], providers: [TaskManagementService], encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n activeTab: activeTab$ | async,\n documentDefinitionName: setDocumentDefinitionName$ | async,\n } as obs\"\n class=\"task-management-detail\"\n>\n <cds-tabs class=\"dossier-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.COLUMNS\"\n [heading]=\"'taskManagement.columns' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.COLUMNS)\"\n >\n <valtimo-task-management-columns> </valtimo-task-management-columns>\n </cds-tab>\n\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.SEARCH_FIELDS\"\n [heading]=\"'taskManagement.searchFields' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.SEARCH_FIELDS)\"\n >\n <valtimo-task-management-search-fields> </valtimo-task-management-search-fields>\n </cds-tab>\n \n </cds-tabs>\n</div>\n", styles: [".task-management-detail .cds--tab-content{padding:0}\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"] }]
|
|
1392
|
+
}], ctorParameters: () => [{ type: i2$1.ConfigService }, { type: i1.DocumentService }, { type: i6.PageTitleService }, { type: i2.ActivatedRoute }, { type: TaskManagementService }], propDecorators: { carbonTheme: [{
|
|
849
1393
|
type: Input
|
|
850
1394
|
}] } });
|
|
851
1395
|
|
|
@@ -928,7 +1472,7 @@ const routes = [
|
|
|
928
1472
|
];
|
|
929
1473
|
class TaskManagementRoutingModule {
|
|
930
1474
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
931
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementRoutingModule, imports: [CommonModule,
|
|
1475
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementRoutingModule, imports: [CommonModule, i2.RouterModule], exports: [RouterModule] }); }
|
|
932
1476
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
|
|
933
1477
|
}
|
|
934
1478
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementRoutingModule, decorators: [{
|
|
@@ -989,5 +1533,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
989
1533
|
* Generated bundle index. Do not edit.
|
|
990
1534
|
*/
|
|
991
1535
|
|
|
992
|
-
export { TaskManagementApiService, TaskManagementColumnModalComponent, TaskManagementColumnsComponent, TaskManagementComponent, TaskManagementDetailComponent, TaskManagementModule, TaskManagementService, TaskManagementTab };
|
|
1536
|
+
export { TaskManagementApiService, TaskManagementColumnModalComponent, TaskManagementColumnsComponent, TaskManagementComponent, TaskManagementDetailComponent, TaskManagementModule, TaskManagementSearchFieldsComponent, TaskManagementSearchFieldsService, TaskManagementService, TaskManagementTab };
|
|
993
1537
|
//# sourceMappingURL=valtimo-task-management.mjs.map
|