@valtimo/task-management 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/esm2022/lib/components/index.mjs +20 -0
  2. package/esm2022/lib/components/task-management/index.mjs +17 -0
  3. package/esm2022/lib/components/task-management/task-management.component.mjs +73 -0
  4. package/esm2022/lib/components/task-management-column-modal/index.mjs +17 -0
  5. package/esm2022/lib/components/task-management-column-modal/task-management-column-modal.component.mjs +373 -0
  6. package/esm2022/lib/components/task-management-columns/index.mjs +17 -0
  7. package/esm2022/lib/components/task-management-columns/task-management-columns.component.mjs +218 -0
  8. package/esm2022/lib/components/task-management-detail/index.mjs +17 -0
  9. package/esm2022/lib/components/task-management-detail/task-management-detail.component.mjs +64 -0
  10. package/esm2022/lib/models/index.mjs +17 -0
  11. package/esm2022/lib/models/task-management.model.mjs +21 -0
  12. package/esm2022/lib/services/index.mjs +18 -0
  13. package/esm2022/lib/services/task-management-api.service.mjs +48 -0
  14. package/esm2022/lib/services/task-management.service.mjs +36 -0
  15. package/esm2022/lib/task-management-routing.module.mjs +50 -0
  16. package/esm2022/lib/task-management.module.mjs +31 -0
  17. package/esm2022/public_api.mjs +23 -0
  18. package/esm2022/valtimo-task-management.mjs +5 -0
  19. package/fesm2022/valtimo-task-management.mjs +993 -0
  20. package/fesm2022/valtimo-task-management.mjs.map +1 -0
  21. package/index.d.ts +6 -0
  22. package/lib/components/index.d.ts +5 -0
  23. package/lib/components/index.d.ts.map +1 -0
  24. package/lib/components/task-management/index.d.ts +2 -0
  25. package/lib/components/task-management/index.d.ts.map +1 -0
  26. package/lib/components/task-management/task-management.component.d.ts +20 -0
  27. package/lib/components/task-management/task-management.component.d.ts.map +1 -0
  28. package/lib/components/task-management-column-modal/index.d.ts +2 -0
  29. package/lib/components/task-management-column-modal/index.d.ts.map +1 -0
  30. package/lib/components/task-management-column-modal/task-management-column-modal.component.d.ts +89 -0
  31. package/lib/components/task-management-column-modal/task-management-column-modal.component.d.ts.map +1 -0
  32. package/lib/components/task-management-columns/index.d.ts +2 -0
  33. package/lib/components/task-management-columns/index.d.ts.map +1 -0
  34. package/lib/components/task-management-columns/task-management-columns.component.d.ts +43 -0
  35. package/lib/components/task-management-columns/task-management-columns.component.d.ts.map +1 -0
  36. package/lib/components/task-management-detail/index.d.ts +2 -0
  37. package/lib/components/task-management-detail/index.d.ts.map +1 -0
  38. package/lib/components/task-management-detail/task-management-detail.component.d.ts +22 -0
  39. package/lib/components/task-management-detail/task-management-detail.component.d.ts.map +1 -0
  40. package/lib/models/index.d.ts +2 -0
  41. package/lib/models/index.d.ts.map +1 -0
  42. package/lib/models/task-management.model.d.ts +5 -0
  43. package/lib/models/task-management.model.d.ts.map +1 -0
  44. package/lib/services/index.d.ts +3 -0
  45. package/lib/services/index.d.ts.map +1 -0
  46. package/lib/services/task-management-api.service.d.ts +17 -0
  47. package/lib/services/task-management-api.service.d.ts.map +1 -0
  48. package/lib/services/task-management.service.d.ts +11 -0
  49. package/lib/services/task-management.service.d.ts.map +1 -0
  50. package/lib/task-management-routing.module.d.ts +9 -0
  51. package/lib/task-management-routing.module.d.ts.map +1 -0
  52. package/lib/task-management.module.d.ts +9 -0
  53. package/lib/task-management.module.d.ts.map +1 -0
  54. package/package.json +27 -0
  55. package/public_api.d.ts +5 -0
  56. package/public_api.d.ts.map +1 -0
  57. package/valtimo-task-management.d.ts.map +1 -0
@@ -0,0 +1,218 @@
1
+ /*
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
17
+ import { CARBON_CONSTANTS, CARBON_THEME, CarbonListModule, ConfirmationModalModule, MoveRowDirection, } from '@valtimo/components';
18
+ import { CommonModule } from '@angular/common';
19
+ import { TranslateModule } from '@ngx-translate/core';
20
+ import { ButtonModule, IconModule, TabsModule } from 'carbon-components-angular';
21
+ import { TaskManagementService } from '../../services';
22
+ import { BehaviorSubject, combineLatest, filter, map, Subject, switchMap, take, tap, } from 'rxjs';
23
+ import { TaskManagementColumnModalComponent } from '../task-management-column-modal/task-management-column-modal.component';
24
+ import * as i0 from "@angular/core";
25
+ import * as i1 from "@angular/router";
26
+ import * as i2 from "../../services";
27
+ import * as i3 from "@ngx-translate/core";
28
+ import * as i4 from "@angular/common";
29
+ import * as i5 from "@valtimo/components";
30
+ import * as i6 from "carbon-components-angular";
31
+ export class TaskManagementColumnsComponent {
32
+ constructor(route, taskManagementApiService, translateService) {
33
+ this.route = route;
34
+ this.taskManagementApiService = taskManagementApiService;
35
+ this.translateService = translateService;
36
+ this.carbonTheme = CARBON_THEME.G10;
37
+ this._refreshColumns$ = new BehaviorSubject(null);
38
+ this.documentDefinitionName$ = this.route.params.pipe(map(params => params?.name), filter(name => !!name));
39
+ this.loadingColumns$ = new BehaviorSubject(true);
40
+ this.selectedTaskListColumn$ = new Subject();
41
+ this.cachedTaskListColumns$ = new BehaviorSubject([]);
42
+ this.taskListColumns$ = combineLatest([
43
+ this.documentDefinitionName$,
44
+ this._refreshColumns$,
45
+ this.translateService.stream('key'),
46
+ ]).pipe(tap(([_, refresh]) => {
47
+ if (refresh !== 'noAnimation')
48
+ this.loadingColumns$.next(true);
49
+ }), switchMap(([documentDefinitionName]) => this.taskManagementApiService.getTaskListColumns(documentDefinitionName)), tap(columns => {
50
+ this.cachedTaskListColumns$.next(columns);
51
+ }), map(columns => columns.map(column => ({
52
+ ...column,
53
+ title: column.title || '-',
54
+ sortable: column.sortable
55
+ ? this.translateService.instant('listColumn.sortableYes')
56
+ : this.translateService.instant('listColumn.sortableNo'),
57
+ defaultSort: (column.defaultSort === 'ASC' &&
58
+ this.translateService.instant('listColumn.sortableAsc')) ||
59
+ (column.defaultSort === 'DESC' &&
60
+ this.translateService.instant('listColumn.sortableDesc')) ||
61
+ '-',
62
+ displayType: this.translateService.instant(`listColumnDisplayType.${column?.displayType?.type}`),
63
+ displayTypeParameters: this.getDisplayTypeParametersView(column.displayType.displayTypeParameters),
64
+ }))), tap(() => {
65
+ this.enable();
66
+ this.loadingColumns$.next(false);
67
+ }));
68
+ this.showDeleteModal$ = new Subject();
69
+ this.deleteRowKey$ = new BehaviorSubject('');
70
+ this.disabled$ = new BehaviorSubject(true);
71
+ this.fields = [
72
+ {
73
+ viewType: 'string',
74
+ sortable: false,
75
+ key: 'title',
76
+ label: 'listColumn.title',
77
+ },
78
+ {
79
+ viewType: 'string',
80
+ sortable: false,
81
+ key: 'key',
82
+ label: 'listColumn.key',
83
+ },
84
+ {
85
+ viewType: 'string',
86
+ sortable: false,
87
+ key: 'path',
88
+ label: 'listColumn.path',
89
+ },
90
+ {
91
+ viewType: 'string',
92
+ sortable: false,
93
+ key: 'displayType',
94
+ label: 'listColumn.displayType',
95
+ },
96
+ {
97
+ viewType: 'string',
98
+ sortable: false,
99
+ key: 'displayTypeParameters',
100
+ label: 'listColumn.displayTypeParameters',
101
+ },
102
+ {
103
+ viewType: 'string',
104
+ sortable: false,
105
+ key: 'sortable',
106
+ label: 'listColumn.sortable',
107
+ },
108
+ {
109
+ viewType: 'string',
110
+ sortable: false,
111
+ key: 'defaultSort',
112
+ label: 'listColumn.defaultSort',
113
+ },
114
+ ];
115
+ this.actionItems = [
116
+ {
117
+ label: 'interface.delete',
118
+ callback: this.deleteRow.bind(this),
119
+ type: 'danger',
120
+ },
121
+ ];
122
+ this.modalType$ = new Subject();
123
+ this.showModal$ = new Subject();
124
+ }
125
+ refreshColumns(noAnimation = false) {
126
+ this._refreshColumns$.next(noAnimation ? 'noAnimation' : null);
127
+ }
128
+ deleteRow(taskListColumn) {
129
+ this.showDeleteModal$.next(true);
130
+ this.deleteRowKey$.next(taskListColumn.key);
131
+ }
132
+ onMoveRowClick(event, documentDefinitionName) {
133
+ const { direction, index } = event;
134
+ this.disable();
135
+ this.cachedTaskListColumns$
136
+ .pipe(take(1), switchMap(taskListColumns => this.taskManagementApiService.swapTaskListColumns(documentDefinitionName, taskListColumns[index], taskListColumns[direction === MoveRowDirection.UP ? index - 1 : index + 1])))
137
+ .subscribe({
138
+ next: () => {
139
+ this.refreshColumns(true);
140
+ },
141
+ error: () => this.enable(),
142
+ });
143
+ }
144
+ columnRowClicked(row) {
145
+ this.cachedTaskListColumns$.pipe(take(1)).subscribe(cachedTaskListColumns => {
146
+ const selectedTaskListColumn = cachedTaskListColumns.find(column => column.key === row.key);
147
+ this.selectedTaskListColumn$.next(selectedTaskListColumn);
148
+ this.showModal('edit');
149
+ });
150
+ }
151
+ showModal(type) {
152
+ this.modalType$.next(type);
153
+ this.showModal$.next(true);
154
+ }
155
+ onModalCloseEvent(event) {
156
+ this.showModal$.next(false);
157
+ if (event === 'refresh') {
158
+ this.disable();
159
+ this.refreshColumns();
160
+ }
161
+ setTimeout(() => {
162
+ this.clearSelectedTaskListColumn();
163
+ }, CARBON_CONSTANTS.modalAnimationMs);
164
+ }
165
+ deleteRowConfirmation(columnKey, documentDefinitionName) {
166
+ this.disable();
167
+ this.taskManagementApiService
168
+ .deleteTaskListColumn(documentDefinitionName, columnKey)
169
+ .subscribe({
170
+ next: () => {
171
+ this.refreshColumns(true);
172
+ },
173
+ error: () => this.enable(),
174
+ });
175
+ }
176
+ getDisplayTypeParametersView(displayTypeParameters) {
177
+ if (displayTypeParameters?.dateFormat) {
178
+ return displayTypeParameters.dateFormat;
179
+ }
180
+ else if (displayTypeParameters?.enum) {
181
+ return Object.keys(displayTypeParameters.enum).reduce((acc, curr) => {
182
+ const keyValuePairString = `${curr}: ${displayTypeParameters.enum[curr]}`;
183
+ if (!acc) {
184
+ return `${keyValuePairString}`;
185
+ }
186
+ return `${acc}, ${keyValuePairString}`;
187
+ }, '');
188
+ }
189
+ return '-';
190
+ }
191
+ disable() {
192
+ this.disabled$.next(true);
193
+ }
194
+ enable() {
195
+ this.disabled$.next(false);
196
+ }
197
+ clearSelectedTaskListColumn() {
198
+ this.selectedTaskListColumn$.next(null);
199
+ }
200
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementColumnsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.TaskManagementApiService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
201
+ 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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i5.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: i5.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.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: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i6.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i5.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 }); }
202
+ }
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementColumnsComponent, decorators: [{
204
+ type: Component,
205
+ args: [{ selector: 'valtimo-task-management-columns', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
206
+ CommonModule,
207
+ CarbonListModule,
208
+ TranslateModule,
209
+ TabsModule,
210
+ TaskManagementColumnModalComponent,
211
+ ButtonModule,
212
+ IconModule,
213
+ ConfirmationModalModule,
214
+ ], 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" }]
215
+ }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.TaskManagementApiService }, { type: i3.TranslateService }], propDecorators: { carbonTheme: [{
216
+ type: Input
217
+ }] } });
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LWNvbHVtbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stbWFuYWdlbWVudC1jb2x1bW5zL3Rhc2stbWFuYWdlbWVudC1jb2x1bW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtY29sdW1ucy90YXNrLW1hbmFnZW1lbnQtY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLGdCQUFnQixFQUVoQix1QkFBdUIsRUFDdkIsZ0JBQWdCLEdBRWpCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUEyQixxQkFBcUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLE1BQU0sRUFDTixHQUFHLEVBRUgsT0FBTyxFQUNQLFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBUWQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1B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QUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0FqT1UsOEJBQThCO2tHQUE5Qiw4QkFBOEIsc0hBRjlCLENBQUMscUJBQXFCLENBQUMsMEJDbEVwQyw2N0ZBOEVBLDJDRHJCSSxZQUFZLDhWQUNaLGdCQUFnQixxdUJBQ2hCLGVBQWUsMkZBQ2YsVUFBVSwrQkFDVixrQ0FBa0MseU5BQ2xDLFlBQVksZ01BQ1osVUFBVSw0TkFDVix1QkFBdUI7OzJGQUlkLDhCQUE4QjtrQkFqQjFDLFNBQVM7K0JBQ0UsaUNBQWlDLGNBRS9CLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGtDQUFrQzt3QkFDbEMsWUFBWTt3QkFDWixVQUFVO3dCQUNWLHVCQUF1QjtxQkFDeEIsYUFDVSxDQUFDLHFCQUFxQixDQUFDO3lKQUdsQixXQUFXO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25JdGVtLFxuICBDQVJCT05fQ09OU1RBTlRTLFxuICBDQVJCT05fVEhFTUUsXG4gIENhcmJvbkxpc3RNb2R1bGUsXG4gIENvbHVtbkNvbmZpZyxcbiAgQ29uZmlybWF0aW9uTW9kYWxNb2R1bGUsXG4gIE1vdmVSb3dEaXJlY3Rpb24sXG4gIE1vdmVSb3dFdmVudCxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlLCBUYWJzTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7VGFza01hbmFnZW1lbnRBcGlTZXJ2aWNlLCBUYXNrTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBUYXNrTGlzdENvbHVtbixcbiAgVGFza0xpc3RDb2x1bW5EaXNwbGF5VHlwZVBhcmFtZXRlcnMsXG4gIFRhc2tMaXN0Q29sdW1uTW9kYWxDbG9zZUV2ZW50LFxuICBUYXNrTGlzdENvbHVtbk1vZGFsVHlwZSxcbn0gZnJvbSAnQHZhbHRpbW8vdGFzayc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50Q29sdW1uTW9kYWxDb21wb25lbnR9IGZyb20gJy4uL3Rhc2stbWFuYWdlbWVudC1jb2x1bW4tbW9kYWwvdGFzay1tYW5hZ2VtZW50LWNvbHVtbi1tb2RhbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1jb2x1bW5zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stbWFuYWdlbWVudC1jb2x1bW5zLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2FyYm9uTGlzdE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBUYXNrTWFuYWdlbWVudENvbHVtbk1vZGFsQ29tcG9uZW50LFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIENvbmZpcm1hdGlvbk1vZGFsTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtUYXNrTWFuYWdlbWVudFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUYXNrTWFuYWdlbWVudENvbHVtbnNDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgY2FyYm9uVGhlbWU6IENBUkJPTl9USEVNRSA9IENBUkJPTl9USEVNRS5HMTA7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVmcmVzaENvbHVtbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudWxsIHwgJ25vQW5pbWF0aW9uJz4obnVsbCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKFxuICAgIG1hcChwYXJhbXMgPT4gcGFyYW1zPy5uYW1lKSxcbiAgICBmaWx0ZXIobmFtZSA9PiAhIW5hbWUpXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmdDb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkVGFza0xpc3RDb2x1bW4kID0gbmV3IFN1YmplY3Q8VGFza0xpc3RDb2x1bW4+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNhY2hlZFRhc2tMaXN0Q29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhc2tMaXN0Q29sdW1uW10+KFtdKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGFza0xpc3RDb2x1bW5zJDogT2JzZXJ2YWJsZTxUYXNrTGlzdENvbHVtbltdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQsXG4gICAgdGhpcy5fcmVmcmVzaENvbHVtbnMkLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIHRhcCgoW18sIHJlZnJlc2hdKSA9PiB7XG4gICAgICBpZiAocmVmcmVzaCAhPT0gJ25vQW5pbWF0aW9uJykgdGhpcy5sb2FkaW5nQ29sdW1ucyQubmV4dCh0cnVlKTtcbiAgICB9KSxcbiAgICBzd2l0Y2hNYXAoKFtkb2N1bWVudERlZmluaXRpb25OYW1lXSkgPT5cbiAgICAgIHRoaXMudGFza01hbmFnZW1lbnRBcGlTZXJ2aWNlLmdldFRhc2tMaXN0Q29sdW1ucyhkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICksXG4gICAgdGFwKGNvbHVtbnMgPT4ge1xuICAgICAgdGhpcy5jYWNoZWRUYXNrTGlzdENvbHVtbnMkLm5leHQoY29sdW1ucyk7XG4gICAgfSksXG4gICAgbWFwKGNvbHVtbnMgPT5cbiAgICAgIGNvbHVtbnMubWFwKGNvbHVtbiA9PiAoe1xuICAgICAgICAuLi5jb2x1bW4sXG4gICAgICAgIHRpdGxlOiBjb2x1bW4udGl0bGUgfHwgJy0nLFxuICAgICAgICBzb3J0YWJsZTogY29sdW1uLnNvcnRhYmxlXG4gICAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnbGlzdENvbHVtbi5zb3J0YWJsZVllcycpXG4gICAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnbGlzdENvbHVtbi5zb3J0YWJsZU5vJyksXG4gICAgICAgIGRlZmF1bHRTb3J0OlxuICAgICAgICAgIChjb2x1bW4uZGVmYXVsdFNvcnQgPT09ICdBU0MnICYmXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnbGlzdENvbHVtbi5zb3J0YWJsZUFzYycpKSB8fFxuICAgICAgICAgIChjb2x1bW4uZGVmYXVsdFNvcnQgPT09ICdERVNDJyAmJlxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2xpc3RDb2x1bW4uc29ydGFibGVEZXNjJykpIHx8XG4gICAgICAgICAgJy0nLFxuICAgICAgICBkaXNwbGF5VHlwZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgYGxpc3RDb2x1bW5EaXNwbGF5VHlwZS4ke2NvbHVtbj8uZGlzcGxheVR5cGU/LnR5cGV9YFxuICAgICAgICApLFxuICAgICAgICBkaXNwbGF5VHlwZVBhcmFtZXRlcnM6IHRoaXMuZ2V0RGlzcGxheVR5cGVQYXJhbWV0ZXJzVmlldyhcbiAgICAgICAgICBjb2x1bW4uZGlzcGxheVR5cGUuZGlzcGxheVR5cGVQYXJhbWV0ZXJzXG4gICAgICAgICksXG4gICAgICB9KSlcbiAgICApLFxuICAgIHRhcCgoKSA9PiB7XG4gICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgdGhpcy5sb2FkaW5nQ29sdW1ucyQubmV4dChmYWxzZSk7XG4gICAgfSlcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2hvd0RlbGV0ZU1vZGFsJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSBkZWxldGVSb3dLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRzOiBBcnJheTxDb2x1bW5Db25maWc+ID0gW1xuICAgIHtcbiAgICAgIHZpZXdUeXBlOiAnc3RyaW5nJyxcbiAgICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgIGtleTogJ3RpdGxlJyxcbiAgICAgIGxhYmVsOiAnbGlzdENvbHVtbi50aXRsZScsXG4gICAgfSxcbiAgICB7XG4gICAgICB2aWV3VHlwZTogJ3N0cmluZycsXG4gICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICBrZXk6ICdrZXknLFxuICAgICAgbGFiZWw6ICdsaXN0Q29sdW1uLmtleScsXG4gICAgfSxcbiAgICB7XG4gICAgICB2aWV3VHlwZTogJ3N0cmluZycsXG4gICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICBrZXk6ICdwYXRoJyxcbiAgICAgIGxhYmVsOiAnbGlzdENvbHVtbi5wYXRoJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZpZXdUeXBlOiAnc3RyaW5nJyxcbiAgICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgIGtleTogJ2Rpc3BsYXlUeXBlJyxcbiAgICAgIGxhYmVsOiAnbGlzdENvbHVtbi5kaXNwbGF5VHlwZScsXG4gICAgfSxcbiAgICB7XG4gICAgICB2aWV3VHlwZTogJ3N0cmluZycsXG4gICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICBrZXk6ICdkaXNwbGF5VHlwZVBhcmFtZXRlcnMnLFxuICAgICAgbGFiZWw6ICdsaXN0Q29sdW1uLmRpc3BsYXlUeXBlUGFyYW1ldGVycycsXG4gICAgfSxcbiAgICB7XG4gICAgICB2aWV3VHlwZTogJ3N0cmluZycsXG4gICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICBrZXk6ICdzb3J0YWJsZScsXG4gICAgICBsYWJlbDogJ2xpc3RDb2x1bW4uc29ydGFibGUnLFxuICAgIH0sXG4gICAge1xuICAgICAgdmlld1R5cGU6ICdzdHJpbmcnLFxuICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAga2V5OiAnZGVmYXVsdFNvcnQnLFxuICAgICAgbGFiZWw6ICdsaXN0Q29sdW1uLmRlZmF1bHRTb3J0JyxcbiAgICB9LFxuICBdO1xuXG4gIHB1YmxpYyByZWFkb25seSBhY3Rpb25JdGVtczogQWN0aW9uSXRlbVtdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnaW50ZXJmYWNlLmRlbGV0ZScsXG4gICAgICBjYWxsYmFjazogdGhpcy5kZWxldGVSb3cuYmluZCh0aGlzKSxcbiAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgIH0sXG4gIF07XG5cbiAgcHVibGljIHJlYWRvbmx5IG1vZGFsVHlwZSQgPSBuZXcgU3ViamVjdDxUYXNrTGlzdENvbHVtbk1vZGFsVHlwZT4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dNb2RhbCQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFza01hbmFnZW1lbnRBcGlTZXJ2aWNlOiBUYXNrTWFuYWdlbWVudEFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgcmVmcmVzaENvbHVtbnMobm9BbmltYXRpb24gPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuX3JlZnJlc2hDb2x1bW5zJC5uZXh0KG5vQW5pbWF0aW9uID8gJ25vQW5pbWF0aW9uJyA6IG51bGwpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZVJvdyh0YXNrTGlzdENvbHVtbjogVGFza0xpc3RDb2x1bW4pOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEZWxldGVNb2RhbCQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRlbGV0ZVJvd0tleSQubmV4dCh0YXNrTGlzdENvbHVtbi5rZXkpO1xuICB9XG5cbiAgcHVibGljIG9uTW92ZVJvd0NsaWNrKGV2ZW50OiBNb3ZlUm93RXZlbnQsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHtkaXJlY3Rpb24sIGluZGV4fSA9IGV2ZW50O1xuXG4gICAgdGhpcy5kaXNhYmxlKCk7XG5cbiAgICB0aGlzLmNhY2hlZFRhc2tMaXN0Q29sdW1ucyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzd2l0Y2hNYXAodGFza0xpc3RDb2x1bW5zID0+XG4gICAgICAgICAgdGhpcy50YXNrTWFuYWdlbWVudEFwaVNlcnZpY2Uuc3dhcFRhc2tMaXN0Q29sdW1ucyhcbiAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICB0YXNrTGlzdENvbHVtbnNbaW5kZXhdLFxuICAgICAgICAgICAgdGFza0xpc3RDb2x1bW5zW2RpcmVjdGlvbiA9PT0gTW92ZVJvd0RpcmVjdGlvbi5VUCA/IGluZGV4IC0gMSA6IGluZGV4ICsgMV1cbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoQ29sdW1ucyh0cnVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHRoaXMuZW5hYmxlKCksXG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjb2x1bW5Sb3dDbGlja2VkKHJvdzoge2tleTogc3RyaW5nfSk6IHZvaWQge1xuICAgIHRoaXMuY2FjaGVkVGFza0xpc3RDb2x1bW5zJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjYWNoZWRUYXNrTGlzdENvbHVtbnMgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRUYXNrTGlzdENvbHVtbiA9IGNhY2hlZFRhc2tMaXN0Q29sdW1ucy5maW5kKGNvbHVtbiA9PiBjb2x1bW4ua2V5ID09PSByb3cua2V5KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYXNrTGlzdENvbHVtbiQubmV4dChzZWxlY3RlZFRhc2tMaXN0Q29sdW1uKTtcbiAgICAgIHRoaXMuc2hvd01vZGFsKCdlZGl0Jyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd01vZGFsKHR5cGU6IFRhc2tMaXN0Q29sdW1uTW9kYWxUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFR5cGUkLm5leHQodHlwZSk7XG4gICAgdGhpcy5zaG93TW9kYWwkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25Nb2RhbENsb3NlRXZlbnQoZXZlbnQ6IFRhc2tMaXN0Q29sdW1uTW9kYWxDbG9zZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zaG93TW9kYWwkLm5leHQoZmFsc2UpO1xuXG4gICAgaWYgKGV2ZW50ID09PSAncmVmcmVzaCcpIHtcbiAgICAgIHRoaXMuZGlzYWJsZSgpO1xuICAgICAgdGhpcy5yZWZyZXNoQ29sdW1ucygpO1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jbGVhclNlbGVjdGVkVGFza0xpc3RDb2x1bW4oKTtcbiAgICB9LCBDQVJCT05fQ09OU1RBTlRTLm1vZGFsQW5pbWF0aW9uTXMpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZVJvd0NvbmZpcm1hdGlvbihjb2x1bW5LZXk6IHN0cmluZywgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKCk7XG5cbiAgICB0aGlzLnRhc2tNYW5hZ2VtZW50QXBpU2VydmljZVxuICAgICAgLmRlbGV0ZVRhc2tMaXN0Q29sdW1uKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUsIGNvbHVtbktleSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoQ29sdW1ucyh0cnVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHRoaXMuZW5hYmxlKCksXG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlzcGxheVR5cGVQYXJhbWV0ZXJzVmlldyhcbiAgICBkaXNwbGF5VHlwZVBhcmFtZXRlcnM6IFRhc2tMaXN0Q29sdW1uRGlzcGxheVR5cGVQYXJhbWV0ZXJzXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKGRpc3BsYXlUeXBlUGFyYW1ldGVycz8uZGF0ZUZvcm1hdCkge1xuICAgICAgcmV0dXJuIGRpc3BsYXlUeXBlUGFyYW1ldGVycy5kYXRlRm9ybWF0O1xuICAgIH0gZWxzZSBpZiAoZGlzcGxheVR5cGVQYXJhbWV0ZXJzPy5lbnVtKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMoZGlzcGxheVR5cGVQYXJhbWV0ZXJzLmVudW0pLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgIGNvbnN0IGtleVZhbHVlUGFpclN0cmluZyA9IGAke2N1cnJ9OiAke2Rpc3BsYXlUeXBlUGFyYW1ldGVycy5lbnVtW2N1cnJdfWA7XG4gICAgICAgIGlmICghYWNjKSB7XG4gICAgICAgICAgcmV0dXJuIGAke2tleVZhbHVlUGFpclN0cmluZ31gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke2FjY30sICR7a2V5VmFsdWVQYWlyU3RyaW5nfWA7XG4gICAgICB9LCAnJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuICctJztcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyU2VsZWN0ZWRUYXNrTGlzdENvbHVtbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkVGFza0xpc3RDb2x1bW4kLm5leHQobnVsbCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICB0YXNrTGlzdENvbHVtbnM6IHRhc2tMaXN0Q29sdW1ucyQgfCBhc3luYyxcbiAgICBjYWNoZWRUYXNrTGlzdENvbHVtbnM6IGNhY2hlZFRhc2tMaXN0Q29sdW1ucyQgfCBhc3luYyxcbiAgICBkb2N1bWVudERlZmluaXRpb25OYW1lOiBkb2N1bWVudERlZmluaXRpb25OYW1lJCB8IGFzeW5jLFxuICAgIGxvYWRpbmdDb2x1bW5zOiBsb2FkaW5nQ29sdW1ucyQgfCBhc3luYyxcbiAgICBtb2RhbFR5cGU6IG1vZGFsVHlwZSQgfCBhc3luYyxcbiAgICBzaG93TW9kYWw6IHNob3dNb2RhbCQgfCBhc3luYyxcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdDsgY29udGV4dDoge29iczogb2JzfVwiPjwvbmctY29udGFpbmVyPlxuXG4gIDx2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1jb2x1bW4tbW9kYWxcbiAgICBbdGFza0xpc3RDb2x1bW5zXT1cIm9icy5jYWNoZWRUYXNrTGlzdENvbHVtbnNcIlxuICAgIFt0eXBlXT1cIm9icy5tb2RhbFR5cGVcIlxuICAgIFtzaG93XT1cIm9icy5zaG93TW9kYWxcIlxuICAgIFtkb2N1bWVudERlZmluaXRpb25OYW1lXT1cIm9icy5kb2N1bWVudERlZmluaXRpb25OYW1lXCJcbiAgICBbc2VsZWN0ZWRUYXNrTGlzdENvbHVtbl09XCJzZWxlY3RlZFRhc2tMaXN0Q29sdW1uJCB8IGFzeW5jXCJcbiAgICAoY2xvc2VFdmVudCk9XCJvbk1vZGFsQ2xvc2VFdmVudCgkZXZlbnQpXCJcbiAgPjwvdmFsdGltby10YXNrLW1hbmFnZW1lbnQtY29sdW1uLW1vZGFsPlxuXG4gIDx2YWx0aW1vLWNvbmZpcm1hdGlvbi1tb2RhbFxuICAgIFtzaG93TW9kYWxTdWJqZWN0JF09XCJzaG93RGVsZXRlTW9kYWwkXCJcbiAgICBbb3V0cHV0T25Db25maXJtXT1cImRlbGV0ZVJvd0tleSQgfCBhc3luY1wiXG4gICAgKGNvbmZpcm1FdmVudCk9XCJkZWxldGVSb3dDb25maXJtYXRpb24oJGV2ZW50LCBvYnMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcIlxuICAgIGNvbmZpcm1CdXR0b25UZXh0VHJhbnNsYXRpb25LZXk9XCJsaXN0Q29sdW1uLmRlbGV0ZUNvbHVtblwiXG4gICAgdGl0bGVUcmFuc2xhdGlvbktleT1cImxpc3RDb2x1bW4uZGVsZXRlQ29sdW1uXCJcbiAgICBjb250ZW50VHJhbnNsYXRpb25LZXk9XCJsaXN0Q29sdW1uLmRlbGV0ZUNvbHVtbkNvbmZpcm1hdGlvblwiXG4gID48L3ZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbGlzdCBsZXQtb2JzPVwib2JzXCI+XG4gIDx2YWx0aW1vLWNhcmJvbi1saXN0XG4gICAgW2FjdGlvbkl0ZW1zXT1cImFjdGlvbkl0ZW1zXCJcbiAgICBbaXRlbXNdPVwib2JzLnRhc2tMaXN0Q29sdW1uc1wiXG4gICAgW2xvYWRpbmddPVwib2JzLmxvYWRpbmdDb2x1bW5zXCJcbiAgICBbZmllbGRzXT1cImZpZWxkc1wiXG4gICAgW2hlYWRlcl09XCJmYWxzZVwiXG4gICAgW21vdmluZ1Jvd3NFbmFibGVkXT1cInRydWVcIlxuICAgIChyb3dDbGlja2VkKT1cImNvbHVtblJvd0NsaWNrZWQoJGV2ZW50KVwiXG4gICAgKG1vdmVSb3cpPVwib25Nb3ZlUm93Q2xpY2soJGV2ZW50LCBvYnMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgY2FyYm9uVG9vbGJhckNvbnRlbnRcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uczsgY29udGV4dDoge29iczogb2JzfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgPHZhbHRpbW8tbm8tcmVzdWx0c1xuICAgICAgW3RpdGxlXT1cIidsaXN0Q29sdW1uLm5vQ29uZmlnV2FybmluZ1RpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbZGVzY3JpcHRpb25dPVwiJ2xpc3RDb2x1bW4ubm9Db25maWdXYXJuaW5nJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBpbGx1c3RyYXRpb249XCJ2YWx0aW1vLWxheW91dC9pbWcvZW1wdHlzdGF0ZS1lbXB0eS5zdmdcIlxuICAgID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbiAgPC92YWx0aW1vLWNhcmJvbi1saXN0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNidXR0b25zIGxldC1vYnM9XCJvYnNcIj5cbiAgPGJ1dHRvbiBjZHNCdXR0b249XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNob3dNb2RhbCgnYWRkJylcIiBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCI+XG4gICAge3sgJ2xpc3RDb2x1bW4uYWRkQnV0dG9uVGV4dCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export * from './task-management-detail.component';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2stbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvdGFzay1tYW5hZ2VtZW50LWRldGFpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3Rhc2stbWFuYWdlbWVudC1kZXRhaWwuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,64 @@
1
+ /*
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
17
+ import { CARBON_THEME, CarbonListModule } from '@valtimo/components';
18
+ import { CommonModule } from '@angular/common';
19
+ import { TranslateModule } from '@ngx-translate/core';
20
+ import { filter, map, switchMap, tap } from 'rxjs';
21
+ import { TabsModule } from 'carbon-components-angular';
22
+ import { TaskManagementService } from '../../services';
23
+ import { TaskManagementTab } from '../../models';
24
+ import { TaskManagementColumnsComponent } from '../task-management-columns';
25
+ import * as i0 from "@angular/core";
26
+ import * as i1 from "@angular/router";
27
+ import * as i2 from "@valtimo/document";
28
+ import * as i3 from "@valtimo/components";
29
+ import * as i4 from "../../services";
30
+ import * as i5 from "@angular/common";
31
+ import * as i6 from "@ngx-translate/core";
32
+ import * as i7 from "carbon-components-angular";
33
+ export class TaskManagementDetailComponent {
34
+ constructor(route, documentService, pageTitleService, taskManagementService) {
35
+ this.route = route;
36
+ this.documentService = documentService;
37
+ this.pageTitleService = pageTitleService;
38
+ this.taskManagementService = taskManagementService;
39
+ this.carbonTheme = CARBON_THEME.G10;
40
+ this.setDocumentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter(docDefName => !!docDefName), switchMap(documentDefinitionName => this.documentService.getDocumentDefinition(documentDefinitionName)), tap(documentDefinition => {
41
+ this.pageTitleService.setCustomPageTitle(documentDefinition?.schema?.title || '-');
42
+ }));
43
+ this.activeTab$ = this.taskManagementService.activeTab$;
44
+ this.TAB_ENUM = TaskManagementTab;
45
+ }
46
+ setActiveTab(tab) {
47
+ this.taskManagementService.setActiveTab(tab);
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementDetailComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.DocumentService }, { token: i3.PageTitleService }, { token: i4.TaskManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
50
+ 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 documentDefinitionName: setDocumentDefinitionName$ | async,\n activeTab: activeTab$ | async\n } as obs\"\n class=\"task-management-detail\"\n>\n <ng-container *ngIf=\"{columns: obs.activeTab === TAB_ENUM.COLUMNS} as activeTab\">\n <cds-tabs class=\"dossier-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"activeTab.columns\"\n [heading]=\"'taskManagement.columns' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.COLUMNS)\"\n ></cds-tab>\n </cds-tabs>\n\n <valtimo-task-management-columns *ngIf=\"activeTab.columns\"> </valtimo-task-management-columns>\n </ng-container>\n</div>\n", styles: [".task-management-detail .cds--tab-content{display:none}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i7.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i7.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementDetailComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
55
+ CommonModule,
56
+ CarbonListModule,
57
+ TranslateModule,
58
+ TabsModule,
59
+ TaskManagementColumnsComponent,
60
+ ], 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 documentDefinitionName: setDocumentDefinitionName$ | async,\n activeTab: activeTab$ | async\n } as obs\"\n class=\"task-management-detail\"\n>\n <ng-container *ngIf=\"{columns: obs.activeTab === TAB_ENUM.COLUMNS} as activeTab\">\n <cds-tabs class=\"dossier-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"activeTab.columns\"\n [heading]=\"'taskManagement.columns' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.COLUMNS)\"\n ></cds-tab>\n </cds-tabs>\n\n <valtimo-task-management-columns *ngIf=\"activeTab.columns\"> </valtimo-task-management-columns>\n </ng-container>\n</div>\n", styles: [".task-management-detail .cds--tab-content{display:none}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
61
+ }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3.PageTitleService }, { type: i4.TaskManagementService }], propDecorators: { carbonTheme: [{
62
+ type: Input
63
+ }] } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2stbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvdGFzay1tYW5hZ2VtZW50LWRldGFpbC90YXNrLW1hbmFnZW1lbnQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtZGV0YWlsL3Rhc2stbWFuYWdlbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc3RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7QUFpQjFFLE1BQU0sT0FBTyw2QkFBNkI7SUFtQnhDLFlBQ21CLEtBQXFCLEVBQ3JCLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUNsQyxxQkFBNEM7UUFINUMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQXRCL0MsZ0JBQVcsR0FBaUIsWUFBWSxDQUFDLEdBQUcsQ0FBQztRQUU3QywrQkFBMEIsR0FDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUNoQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQ2xDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsc0JBQXNCLENBQUMsQ0FDbkUsRUFDRCxHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUUsa0JBQTBCLEVBQUUsTUFBTSxFQUFFLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQztRQUM5RixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRVksZUFBVSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7UUFFbkQsYUFBUSxHQUFHLGlCQUFpQixDQUFDO0lBTzFDLENBQUM7SUFFRyxZQUFZLENBQUMsR0FBc0I7UUFDeEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQTVCVSw2QkFBNkI7a0dBQTdCLDZCQUE2QixtR0FIN0IsQ0FBQyxxQkFBcUIsQ0FBQywwQkN4Q3BDLDR5Q0FtQ0EsZ3ZCRERJLFlBQVksdUxBQ1osZ0JBQWdCLDhCQUNoQixlQUFlLDJGQUNmLFVBQVUsK1pBQ1YsOEJBQThCOzsyRkFLckIsNkJBQTZCO2tCQWZ6QyxTQUFTO2lDQUdJLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLDhCQUE4QjtxQkFDL0IsYUFDVSxDQUFDLHFCQUFxQixDQUFDLGlCQUNuQixpQkFBaUIsQ0FBQyxJQUFJO29MQUdyQixXQUFXO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDQVJCT05fVEhFTUUsIENhcmJvbkxpc3RNb2R1bGUsIFBhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtEb2N1bWVudERlZmluaXRpb24sIERvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtUYWJzTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7VGFza01hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50VGFifSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtUYXNrTWFuYWdlbWVudENvbHVtbnNDb21wb25lbnR9IGZyb20gJy4uL3Rhc2stbWFuYWdlbWVudC1jb2x1bW5zJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi90YXNrLW1hbmFnZW1lbnQtZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFzay1tYW5hZ2VtZW50LWRldGFpbC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDYXJib25MaXN0TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIFRhc2tNYW5hZ2VtZW50Q29sdW1uc0NvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbVGFza01hbmFnZW1lbnRTZXJ2aWNlXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFza01hbmFnZW1lbnREZXRhaWxDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgY2FyYm9uVGhlbWU6IENBUkJPTl9USEVNRSA9IENBUkJPTl9USEVNRS5HMTA7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNldERvY3VtZW50RGVmaW5pdGlvbk5hbWUkOiBPYnNlcnZhYmxlPERvY3VtZW50RGVmaW5pdGlvbj4gPVxuICAgIHRoaXMucm91dGUucGFyYW1zLnBpcGUoXG4gICAgICBtYXAocGFyYW1zID0+IHBhcmFtcy5uYW1lIHx8ICcnKSxcbiAgICAgIGZpbHRlcihkb2NEZWZOYW1lID0+ICEhZG9jRGVmTmFtZSksXG4gICAgICBzd2l0Y2hNYXAoZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9PlxuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXREb2N1bWVudERlZmluaXRpb24oZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICAgICksXG4gICAgICB0YXAoZG9jdW1lbnREZWZpbml0aW9uID0+IHtcbiAgICAgICAgdGhpcy5wYWdlVGl0bGVTZXJ2aWNlLnNldEN1c3RvbVBhZ2VUaXRsZSgoZG9jdW1lbnREZWZpbml0aW9uIGFzIGFueSk/LnNjaGVtYT8udGl0bGUgfHwgJy0nKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVGFiJCA9IHRoaXMudGFza01hbmFnZW1lbnRTZXJ2aWNlLmFjdGl2ZVRhYiQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IFRBQl9FTlVNID0gVGFza01hbmFnZW1lbnRUYWI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VUaXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YXNrTWFuYWdlbWVudFNlcnZpY2U6IFRhc2tNYW5hZ2VtZW50U2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIHNldEFjdGl2ZVRhYih0YWI6IFRhc2tNYW5hZ2VtZW50VGFiKTogdm9pZCB7XG4gICAgdGhpcy50YXNrTWFuYWdlbWVudFNlcnZpY2Uuc2V0QWN0aXZlVGFiKHRhYik7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdlxuICAqbmdJZj1cIntcbiAgICBkb2N1bWVudERlZmluaXRpb25OYW1lOiBzZXREb2N1bWVudERlZmluaXRpb25OYW1lJCB8IGFzeW5jLFxuICAgIGFjdGl2ZVRhYjogYWN0aXZlVGFiJCB8IGFzeW5jXG4gIH0gYXMgb2JzXCJcbiAgY2xhc3M9XCJ0YXNrLW1hbmFnZW1lbnQtZGV0YWlsXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIntjb2x1bW5zOiBvYnMuYWN0aXZlVGFiID09PSBUQUJfRU5VTS5DT0xVTU5TfSBhcyBhY3RpdmVUYWJcIj5cbiAgICA8Y2RzLXRhYnMgY2xhc3M9XCJkb3NzaWVyLW1hbmFnZW1lbnQtdGFic1wiIHR5cGU9XCJjb250YWluZWRcIj5cbiAgICAgIDxjZHMtdGFiXG4gICAgICAgIFthY3RpdmVdPVwiYWN0aXZlVGFiLmNvbHVtbnNcIlxuICAgICAgICBbaGVhZGluZ109XCIndGFza01hbmFnZW1lbnQuY29sdW1ucycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoc2VsZWN0ZWQpPVwic2V0QWN0aXZlVGFiKFRBQl9FTlVNLkNPTFVNTlMpXCJcbiAgICAgID48L2Nkcy10YWI+XG4gICAgPC9jZHMtdGFicz5cblxuICAgIDx2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1jb2x1bW5zICpuZ0lmPVwiYWN0aXZlVGFiLmNvbHVtbnNcIj4gPC92YWx0aW1vLXRhc2stbWFuYWdlbWVudC1jb2x1bW5zPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export * from './task-management.model';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2stbWFuYWdlbWVudC9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3Rhc2stbWFuYWdlbWVudC5tb2RlbCc7XG4iXX0=
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ var TaskManagementTab;
17
+ (function (TaskManagementTab) {
18
+ TaskManagementTab[TaskManagementTab["COLUMNS"] = 0] = "COLUMNS";
19
+ })(TaskManagementTab || (TaskManagementTab = {}));
20
+ export { TaskManagementTab };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrLW1hbmFnZW1lbnQvc3JjL2xpYi9tb2RlbHMvdGFzay1tYW5hZ2VtZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsSUFBSyxpQkFFSjtBQUZELFdBQUssaUJBQWlCO0lBQ3BCLCtEQUFPLENBQUE7QUFDVCxDQUFDLEVBRkksaUJBQWlCLEtBQWpCLGlCQUFpQixRQUVyQjtBQUVELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZW51bSBUYXNrTWFuYWdlbWVudFRhYiB7XG4gIENPTFVNTlMsXG59XG5cbmV4cG9ydCB7VGFza01hbmFnZW1lbnRUYWJ9O1xuIl19
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export * from './task-management.service';
17
+ export * from './task-management-api.service';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2stbWFuYWdlbWVudC9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi90YXNrLW1hbmFnZW1lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rhc2stbWFuYWdlbWVudC1hcGkuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Injectable } from '@angular/core';
17
+ import { BaseApiService } from '@valtimo/config';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "@angular/common/http";
20
+ import * as i2 from "@valtimo/config";
21
+ export class TaskManagementApiService extends BaseApiService {
22
+ constructor(httpClient, configService) {
23
+ super(httpClient, configService);
24
+ this.httpClient = httpClient;
25
+ this.configService = configService;
26
+ }
27
+ getTaskListColumns(caseDefinitionName) {
28
+ return this.httpClient.get(this.getApiUrl(`/management/v1/case/${caseDefinitionName}/task-list-column`));
29
+ }
30
+ updateTaskListColumn(caseDefinitionName, column) {
31
+ return this.httpClient.put(this.getApiUrl(`/management/v1/case/${caseDefinitionName}/task-list-column/${column.key}`), column);
32
+ }
33
+ deleteTaskListColumn(caseDefinitionName, columnKey) {
34
+ return this.httpClient.delete(this.getApiUrl(`/management/v1/case/${caseDefinitionName}/task-list-column/${columnKey}`));
35
+ }
36
+ swapTaskListColumns(caseDefinitionName, firstColumn, secondColumn) {
37
+ return this.httpClient.post(this.getApiUrl(`/management/v1/case/${caseDefinitionName}/task-list-column`), { first: firstColumn.key, second: secondColumn.key });
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementApiService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementApiService, providedIn: 'root' }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementApiService, decorators: [{
43
+ type: Injectable,
44
+ args: [{
45
+ providedIn: 'root',
46
+ }]
47
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigService }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrLW1hbmFnZW1lbnQvc3JjL2xpYi9zZXJ2aWNlcy90YXNrLW1hbmFnZW1lbnQtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFROUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGNBQWM7SUFDMUQsWUFDcUIsVUFBc0IsRUFDdEIsYUFBNEI7UUFFL0MsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUhkLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFHakQsQ0FBQztJQUVNLGtCQUFrQixDQUFDLGtCQUEwQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixrQkFBa0IsbUJBQW1CLENBQUMsQ0FDN0UsQ0FBQztJQUNKLENBQUM7SUFFTSxvQkFBb0IsQ0FDekIsa0JBQTBCLEVBQzFCLE1BQXNCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLGtCQUFrQixxQkFBcUIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQzFGLE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUVNLG9CQUFvQixDQUN6QixrQkFBMEIsRUFDMUIsU0FBaUI7UUFFakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsa0JBQWtCLHFCQUFxQixTQUFTLEVBQUUsQ0FBQyxDQUMxRixDQUFDO0lBQ0osQ0FBQztJQUVNLG1CQUFtQixDQUN4QixrQkFBMEIsRUFDMUIsV0FBMkIsRUFDM0IsWUFBNEI7UUFFNUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsa0JBQWtCLG1CQUFtQixDQUFDLEVBQzVFLEVBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxHQUFHLEVBQUMsQ0FDbkQsQ0FBQztJQUNKLENBQUM7OEdBMUNVLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07OzJGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYXNlQXBpU2VydmljZSwgQ29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7VGFza0xpc3RDb2x1bW59IGZyb20gJ0B2YWx0aW1vL3Rhc2snO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGFza01hbmFnZW1lbnRBcGlTZXJ2aWNlIGV4dGVuZHMgQmFzZUFwaVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwQ2xpZW50LCBjb25maWdTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUYXNrTGlzdENvbHVtbnMoY2FzZURlZmluaXRpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRhc2tMaXN0Q29sdW1uW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUYXNrTGlzdENvbHVtbltdPihcbiAgICAgIHRoaXMuZ2V0QXBpVXJsKGAvbWFuYWdlbWVudC92MS9jYXNlLyR7Y2FzZURlZmluaXRpb25OYW1lfS90YXNrLWxpc3QtY29sdW1uYClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVRhc2tMaXN0Q29sdW1uKFxuICAgIGNhc2VEZWZpbml0aW9uTmFtZTogc3RyaW5nLFxuICAgIGNvbHVtbjogVGFza0xpc3RDb2x1bW5cbiAgKTogT2JzZXJ2YWJsZTxUYXNrTGlzdENvbHVtbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PFRhc2tMaXN0Q29sdW1uPihcbiAgICAgIHRoaXMuZ2V0QXBpVXJsKGAvbWFuYWdlbWVudC92MS9jYXNlLyR7Y2FzZURlZmluaXRpb25OYW1lfS90YXNrLWxpc3QtY29sdW1uLyR7Y29sdW1uLmtleX1gKSxcbiAgICAgIGNvbHVtblxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlVGFza0xpc3RDb2x1bW4oXG4gICAgY2FzZURlZmluaXRpb25OYW1lOiBzdHJpbmcsXG4gICAgY29sdW1uS2V5OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxUYXNrTGlzdENvbHVtbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPFRhc2tMaXN0Q29sdW1uPihcbiAgICAgIHRoaXMuZ2V0QXBpVXJsKGAvbWFuYWdlbWVudC92MS9jYXNlLyR7Y2FzZURlZmluaXRpb25OYW1lfS90YXNrLWxpc3QtY29sdW1uLyR7Y29sdW1uS2V5fWApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzd2FwVGFza0xpc3RDb2x1bW5zKFxuICAgIGNhc2VEZWZpbml0aW9uTmFtZTogc3RyaW5nLFxuICAgIGZpcnN0Q29sdW1uOiBUYXNrTGlzdENvbHVtbixcbiAgICBzZWNvbmRDb2x1bW46IFRhc2tMaXN0Q29sdW1uXG4gICk6IE9ic2VydmFibGU8VGFza0xpc3RDb2x1bW5bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxUYXNrTGlzdENvbHVtbltdPihcbiAgICAgIHRoaXMuZ2V0QXBpVXJsKGAvbWFuYWdlbWVudC92MS9jYXNlLyR7Y2FzZURlZmluaXRpb25OYW1lfS90YXNrLWxpc3QtY29sdW1uYCksXG4gICAgICB7Zmlyc3Q6IGZpcnN0Q29sdW1uLmtleSwgc2Vjb25kOiBzZWNvbmRDb2x1bW4ua2V5fVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright 2015-2024 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Injectable } from '@angular/core';
17
+ import { BehaviorSubject } from 'rxjs';
18
+ import { TaskManagementTab } from '../models';
19
+ import * as i0 from "@angular/core";
20
+ export class TaskManagementService {
21
+ constructor() {
22
+ this._activeTab$ = new BehaviorSubject(TaskManagementTab.COLUMNS);
23
+ }
24
+ get activeTab$() {
25
+ return this._activeTab$.asObservable();
26
+ }
27
+ setActiveTab(tab) {
28
+ this._activeTab$.next(tab);
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
31
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementService }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementService, decorators: [{
34
+ type: Injectable
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2stbWFuYWdlbWVudC9zcmMvbGliL3NlcnZpY2VzL3Rhc2stbWFuYWdlbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7QUFHNUMsTUFBTSxPQUFPLHFCQUFxQjtJQURsQztRQUVtQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFvQixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQVNsRztJQVBDLElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLFlBQVksQ0FBQyxHQUFzQjtRQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDOzhHQVRVLHFCQUFxQjtrSEFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7VGFza01hbmFnZW1lbnRUYWJ9IGZyb20gJy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYXNrTWFuYWdlbWVudFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmVUYWIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYXNrTWFuYWdlbWVudFRhYj4oVGFza01hbmFnZW1lbnRUYWIuQ09MVU1OUyk7XG5cbiAgcHVibGljIGdldCBhY3RpdmVUYWIkKCk6IE9ic2VydmFibGU8VGFza01hbmFnZW1lbnRUYWI+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlVGFiJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBY3RpdmVUYWIodGFiOiBUYXNrTWFuYWdlbWVudFRhYik6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2ZVRhYiQubmV4dCh0YWIpO1xuICB9XG59XG4iXX0=