@valtimo/task 10.8.0 → 11.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 (45) hide show
  1. package/esm2022/lib/assign-user-to-task/assign-user-to-task.component.mjs +122 -0
  2. package/esm2022/lib/models/task-list.model.mjs +28 -0
  3. package/{esm2020 → esm2022}/lib/models/task.model.mjs +1 -1
  4. package/esm2022/lib/task-detail-modal/task-detail-modal.component.mjs +210 -0
  5. package/esm2022/lib/task-list/task-list.component.mjs +252 -0
  6. package/esm2022/lib/task-permissions.mjs +34 -0
  7. package/{esm2020 → esm2022}/lib/task-routing.module.mjs +5 -5
  8. package/esm2022/lib/task.module.mjs +119 -0
  9. package/esm2022/lib/task.service.mjs +72 -0
  10. package/esm2022/public_api.mjs +26 -0
  11. package/fesm2022/valtimo-task.mjs +912 -0
  12. package/fesm2022/valtimo-task.mjs.map +1 -0
  13. package/lib/assign-user-to-task/assign-user-to-task.component.d.ts +4 -4
  14. package/lib/assign-user-to-task/assign-user-to-task.component.d.ts.map +1 -1
  15. package/lib/models/task-list.model.d.ts +0 -1
  16. package/lib/models/task-list.model.d.ts.map +1 -1
  17. package/lib/models/task.model.d.ts +7 -7
  18. package/lib/models/task.model.d.ts.map +1 -1
  19. package/lib/task-detail-modal/task-detail-modal.component.d.ts +29 -34
  20. package/lib/task-detail-modal/task-detail-modal.component.d.ts.map +1 -1
  21. package/lib/task-list/task-list.component.d.ts +22 -16
  22. package/lib/task-list/task-list.component.d.ts.map +1 -1
  23. package/lib/task-permissions.d.ts +8 -0
  24. package/lib/task-permissions.d.ts.map +1 -0
  25. package/lib/task.module.d.ts +1 -1
  26. package/lib/task.module.d.ts.map +1 -1
  27. package/lib/task.service.d.ts +2 -2
  28. package/lib/task.service.d.ts.map +1 -1
  29. package/package.json +10 -16
  30. package/public_api.d.ts +1 -0
  31. package/public_api.d.ts.map +1 -1
  32. package/esm2020/lib/assign-user-to-task/assign-user-to-task.component.mjs +0 -123
  33. package/esm2020/lib/models/task-list.model.mjs +0 -29
  34. package/esm2020/lib/task-detail-modal/task-detail-modal.component.mjs +0 -269
  35. package/esm2020/lib/task-list/task-list.component.mjs +0 -222
  36. package/esm2020/lib/task.module.mjs +0 -113
  37. package/esm2020/lib/task.service.mjs +0 -69
  38. package/esm2020/public_api.mjs +0 -25
  39. package/fesm2015/valtimo-task.mjs +0 -861
  40. package/fesm2015/valtimo-task.mjs.map +0 -1
  41. package/fesm2020/valtimo-task.mjs +0 -898
  42. package/fesm2020/valtimo-task.mjs.map +0 -1
  43. /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
  44. /package/{esm2020 → esm2022}/lib/models/task-definition.model.mjs +0 -0
  45. /package/{esm2020 → esm2022}/valtimo-task.mjs +0 -0
@@ -1,222 +0,0 @@
1
- /*
2
- * Copyright 2015-2023 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 { Component, ViewChild, ViewEncapsulation } from '@angular/core';
17
- import moment from 'moment';
18
- import { TaskList } from '../models';
19
- import { combineLatest } from 'rxjs';
20
- import { take } from 'rxjs/operators';
21
- import * as i0 from "@angular/core";
22
- import * as i1 from "../task.service";
23
- import * as i2 from "@angular/router";
24
- import * as i3 from "ngx-logger";
25
- import * as i4 from "@ngx-translate/core";
26
- import * as i5 from "@valtimo/config";
27
- import * as i6 from "@valtimo/document";
28
- import * as i7 from "@angular/common";
29
- import * as i8 from "@valtimo/components";
30
- import * as i9 from "@ng-bootstrap/ng-bootstrap";
31
- import * as i10 from "carbon-components-angular";
32
- import * as i11 from "../task-detail-modal/task-detail-modal.component";
33
- moment.locale(localStorage.getItem('langKey') || '');
34
- export class TaskListComponent {
35
- constructor(taskService, router, logger, translateService, configService, documentService) {
36
- this.taskService = taskService;
37
- this.router = router;
38
- this.logger = logger;
39
- this.translateService = translateService;
40
- this.configService = configService;
41
- this.documentService = documentService;
42
- this.tasks = {
43
- mine: new TaskList(),
44
- open: new TaskList(),
45
- all: new TaskList(),
46
- };
47
- this.visibleTabs = null;
48
- this.currentTaskType = 'mine';
49
- this.listTitle = null;
50
- this.listDescription = null;
51
- this.sortState = null;
52
- this.visibleTabs = this.configService.config?.visibleTaskListTabs || null;
53
- if (this.visibleTabs != null) {
54
- this.currentTaskType = this.visibleTabs[0];
55
- }
56
- this.setDefaultSorting();
57
- }
58
- paginationClicked(page, type) {
59
- this.tasks[type].page = page - 1;
60
- this.getTasks(type);
61
- }
62
- paginationSet() {
63
- this.tasks.mine.pagination.size =
64
- this.tasks.all.pagination.size =
65
- this.tasks.open.pagination.size =
66
- this.tasks[this.currentTaskType].pagination.size;
67
- this.getTasks(this.currentTaskType);
68
- }
69
- clearPagination(type) {
70
- this.tasks[type].page = 0;
71
- }
72
- tabChange(tab) {
73
- this.clearPagination(this.currentTaskType);
74
- this.getTasks(tab.nextId);
75
- }
76
- showTask(task) {
77
- this.router.navigate(['tasks', task.id]);
78
- }
79
- getTasks(type) {
80
- let params;
81
- this.translationSubscription = combineLatest([
82
- this.translateService.stream(`task-list.${type}.title`),
83
- this.translateService.stream(`task-list.${type}.description`),
84
- ]).subscribe(([title, description]) => {
85
- this.listTitle = title;
86
- this.listDescription = description;
87
- });
88
- switch (type) {
89
- case 'mine':
90
- params = {
91
- page: this.tasks.mine.page,
92
- size: this.tasks.mine.pagination.size,
93
- filter: 'mine',
94
- };
95
- this.currentTaskType = 'mine';
96
- break;
97
- case 'open':
98
- params = {
99
- page: this.tasks.open.page,
100
- size: this.tasks.open.pagination.size,
101
- filter: 'open',
102
- };
103
- this.currentTaskType = 'open';
104
- break;
105
- case 'all':
106
- params = { page: this.tasks.all.page, size: this.tasks.open.pagination.size, filter: 'all' };
107
- this.currentTaskType = 'all';
108
- break;
109
- default:
110
- this.logger.fatal('Unreachable case');
111
- }
112
- if (this.sortState) {
113
- params.sort = this.getSortString(this.sortState);
114
- }
115
- this.taskService.queryTasks(params).subscribe((results) => {
116
- this.tasks[type].pagination.collectionSize = results.headers.get('x-total-count');
117
- this.tasks[type].tasks = results.body;
118
- this.tasks[type].tasks.map((task) => {
119
- task.created = moment(task.created).format('DD MMM YYYY HH:mm');
120
- if (task.due) {
121
- task.due = moment(task.due).format('DD MMM YYYY HH:mm');
122
- }
123
- });
124
- if (this.taskService.getConfigCustomTaskList()) {
125
- this.customTaskListFields(type);
126
- }
127
- else {
128
- this.defaultTaskListFields(type);
129
- }
130
- });
131
- }
132
- openRelatedCase(event, index) {
133
- event.stopPropagation();
134
- const tasks = this.tasks[this.currentTaskType].tasks;
135
- const currentTask = tasks && tasks[index];
136
- if (currentTask) {
137
- this.documentService
138
- .getDocument(currentTask.businessKey)
139
- .pipe(take(1))
140
- .subscribe(document => {
141
- this.router.navigate([
142
- `/dossiers/${document.definitionId.name}/document/${currentTask.businessKey}/summary`,
143
- ]);
144
- });
145
- }
146
- }
147
- defaultTaskListFields(type) {
148
- this.translationSubscription = combineLatest([
149
- this.translateService.stream(`task-list.fieldLabels.created`),
150
- this.translateService.stream(`task-list.fieldLabels.name`),
151
- this.translateService.stream(`task-list.fieldLabels.valtimoAssignee.fullName`),
152
- this.translateService.stream(`task-list.fieldLabels.due`),
153
- this.translateService.stream(`task-list.fieldLabels.context`),
154
- ]).subscribe(([created, name, assignee, due, context]) => {
155
- this.tasks[type].fields = [
156
- {
157
- key: 'created',
158
- label: created,
159
- },
160
- {
161
- key: 'name',
162
- label: name,
163
- },
164
- {
165
- key: 'valtimoAssignee.fullName',
166
- label: assignee,
167
- },
168
- {
169
- key: 'due',
170
- label: due,
171
- },
172
- {
173
- key: 'context',
174
- label: context,
175
- },
176
- ];
177
- });
178
- }
179
- customTaskListFields(type) {
180
- const customTaskListFields = this.taskService.getConfigCustomTaskList().fields;
181
- this.translationSubscription = combineLatest(customTaskListFields.map(column => this.translateService.stream(`task-list.fieldLabels.${column.translationKey}`))).subscribe(labels => {
182
- this.tasks[type].fields = customTaskListFields.map((column, index) => ({
183
- key: column.propertyName,
184
- label: labels[index],
185
- sortable: column.sortable,
186
- ...(column.viewType && { viewType: column.viewType }),
187
- ...(column.enum && { enum: column.enum }),
188
- }));
189
- });
190
- }
191
- rowOpenTaskClick(task) {
192
- if (!task.endTime) {
193
- this.taskDetail.openTaskDetails(task);
194
- }
195
- else {
196
- return false;
197
- }
198
- }
199
- setDefaultSorting() {
200
- this.sortState = this.taskService.getConfigCustomTaskList()?.defaultSortedColumn || null;
201
- }
202
- sortChanged(sortState) {
203
- this.sortState = sortState;
204
- this.getTasks(this.currentTaskType);
205
- }
206
- getSortString(sort) {
207
- return `${sort.state.name},${sort.state.direction}`;
208
- }
209
- ngOnDestroy() {
210
- this.translationSubscription.unsubscribe();
211
- }
212
- }
213
- TaskListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TaskListComponent, deps: [{ token: i1.TaskService }, { token: i2.Router }, { token: i3.NGXLogger }, { token: i4.TranslateService }, { token: i5.ConfigService }, { token: i6.DocumentService }], target: i0.ɵɵFactoryTarget.Component });
214
- TaskListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TaskListComponent, selector: "valtimo-task-list", viewQueries: [{ propertyName: "taskDetail", first: true, predicate: ["taskDetail"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"tasks[currentTaskType].tasks\"\n [fields]=\"tasks[currentTaskType].fields\"\n [pagination]=\"tasks[currentTaskType].pagination\"\n [viewMode]=\"true\"\n (paginationClicked)=\"paginationClicked($event, currentTaskType)\"\n (paginationSet)=\"paginationSet()\"\n paginationIdentifier=\"taskList\"\n [isSearchable]=\"true\"\n [header]=\"true\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n [lastColumnTemplate]=\"caseLink\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ listTitle }}</h3>\n <h5 class=\"list-header-description\">{{ listDescription }}</h5>\n </div>\n <div tabs>\n <ul\n *ngIf=\"visibleTabs === null; else configuredTabs\"\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\n >\n <li ngbNavItem=\"mine\" [title]=\"'task-list.mine.title' | translate\">\n <a ngbNavLink>{{ 'task-list.mine.title' | translate }}</a>\n </li>\n <li ngbNavItem=\"open\" [title]=\"'task-list.open.title' | translate\">\n <a ngbNavLink>{{ 'task-list.open.title' | translate }}</a>\n </li>\n <li ngbNavItem=\"all\" [title]=\"'task-list.all.title' | translate\">\n <a ngbNavLink>{{ 'task-list.all.title' | translate }}</a>\n </li>\n </ul>\n </div>\n </valtimo-list>\n </valtimo-widget>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getTasks(currentTaskType)\"\n (assignmentOfTaskChanged)=\"getTasks(currentTaskType)\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n\n<ng-template #configuredTabs>\n <ul ngbNav [destroyOnHide]=\"false\" (navChange)=\"tabChange($event)\" class=\"nav-tabs\">\n <li\n *ngFor=\"let tab of visibleTabs\"\n [ngbNavItem]=\"tab\"\n [title]=\"'task-list.' + tab + '.title' | translate\"\n >\n <a ngbNavLink>{{ 'task-list.' + tab + '.title' | translate }}</a>\n </li>\n </ul>\n</ng-template>\n\n<ng-template #caseLink let-index=\"index\">\n <a cdsLink href=\"javascript:void(0)\" (click)=\"openRelatedCase($event, index)\">\n {{ 'task-list.goToCase' | translate }}\n </a>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.tab-content{padding:0;margin:0}.nav.nav-tabs{background-color:#f5f5f5}\n"], dependencies: [{ kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i8.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "directive", type: i9.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i9.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i9.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "directive", type: i10.Link, selector: "[cdsLink], [ibmLink]", inputs: ["inline", "disabled"] }, { kind: "component", type: i11.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: ["formSubmit", "assignmentOfTaskChanged"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TaskListComponent, decorators: [{
216
- type: Component,
217
- args: [{ selector: 'valtimo-task-list', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"tasks[currentTaskType].tasks\"\n [fields]=\"tasks[currentTaskType].fields\"\n [pagination]=\"tasks[currentTaskType].pagination\"\n [viewMode]=\"true\"\n (paginationClicked)=\"paginationClicked($event, currentTaskType)\"\n (paginationSet)=\"paginationSet()\"\n paginationIdentifier=\"taskList\"\n [isSearchable]=\"true\"\n [header]=\"true\"\n (rowClicked)=\"rowOpenTaskClick($event)\"\n (sortChanged)=\"sortChanged($event)\"\n [lastColumnTemplate]=\"caseLink\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ listTitle }}</h3>\n <h5 class=\"list-header-description\">{{ listDescription }}</h5>\n </div>\n <div tabs>\n <ul\n *ngIf=\"visibleTabs === null; else configuredTabs\"\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\n >\n <li ngbNavItem=\"mine\" [title]=\"'task-list.mine.title' | translate\">\n <a ngbNavLink>{{ 'task-list.mine.title' | translate }}</a>\n </li>\n <li ngbNavItem=\"open\" [title]=\"'task-list.open.title' | translate\">\n <a ngbNavLink>{{ 'task-list.open.title' | translate }}</a>\n </li>\n <li ngbNavItem=\"all\" [title]=\"'task-list.all.title' | translate\">\n <a ngbNavLink>{{ 'task-list.all.title' | translate }}</a>\n </li>\n </ul>\n </div>\n </valtimo-list>\n </valtimo-widget>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"getTasks(currentTaskType)\"\n (assignmentOfTaskChanged)=\"getTasks(currentTaskType)\"\n ></valtimo-task-detail-modal>\n </div>\n</div>\n\n<ng-template #configuredTabs>\n <ul ngbNav [destroyOnHide]=\"false\" (navChange)=\"tabChange($event)\" class=\"nav-tabs\">\n <li\n *ngFor=\"let tab of visibleTabs\"\n [ngbNavItem]=\"tab\"\n [title]=\"'task-list.' + tab + '.title' | translate\"\n >\n <a ngbNavLink>{{ 'task-list.' + tab + '.title' | translate }}</a>\n </li>\n </ul>\n</ng-template>\n\n<ng-template #caseLink let-index=\"index\">\n <a cdsLink href=\"javascript:void(0)\" (click)=\"openRelatedCase($event, index)\">\n {{ 'task-list.goToCase' | translate }}\n </a>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.tab-content{padding:0;margin:0}.nav.nav-tabs{background-color:#f5f5f5}\n"] }]
218
- }], ctorParameters: function () { return [{ type: i1.TaskService }, { type: i2.Router }, { type: i3.NGXLogger }, { type: i4.TranslateService }, { type: i5.ConfigService }, { type: i6.DocumentService }]; }, propDecorators: { taskDetail: [{
219
- type: ViewChild,
220
- args: ['taskDetail']
221
- }] } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay9zcmMvbGliL3Rhc2stbGlzdC90YXNrLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvdGFzay1saXN0L3Rhc2stbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQWEsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR2pGLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQU8sUUFBUSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBSXpDLE9BQU8sRUFBQyxhQUFhLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFHakQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBRXBDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztBQVFyRCxNQUFNLE9BQU8saUJBQWlCO0lBYzVCLFlBQ1UsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLE1BQWlCLEVBQ2pCLGdCQUFrQyxFQUNsQyxhQUE0QixFQUM1QixlQUFnQztRQUxoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQWxCbkMsVUFBSyxHQUFHO1lBQ2IsSUFBSSxFQUFFLElBQUksUUFBUSxF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bUIsSUFBSSxJQUFJLENBQUM7SUFDM0YsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUFvQjtRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQWU7UUFDM0IsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0MsQ0FBQzs7OEdBNU1VLGlCQUFpQjtrR0FBakIsaUJBQWlCLG1LQ3JDOUIsa21HQW1GQTsyRkQ5Q2EsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLG1CQUFtQixpQkFHZCxpQkFBaUIsQ0FBQyxJQUFJO3dPQUdaLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1Rhc2tTZXJ2aWNlfSBmcm9tICcuLi90YXNrLnNlcnZpY2UnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtUYXNrLCBUYXNrTGlzdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7TkdYTG9nZ2VyfSBmcm9tICduZ3gtbG9nZ2VyJztcbmltcG9ydCB7VGFza0RldGFpbE1vZGFsQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLWRldGFpbC1tb2RhbC90YXNrLWRldGFpbC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29uZmlnU2VydmljZSwgU29ydFN0YXRlLCBUYXNrTGlzdFRhYn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxubW9tZW50LmxvY2FsZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ0tleScpIHx8ICcnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby10YXNrLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFzay1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFzay1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgndGFza0RldGFpbCcpIHRhc2tEZXRhaWw6IFRhc2tEZXRhaWxNb2RhbENvbXBvbmVudDtcbiAgcHVibGljIHRhc2tzID0ge1xuICAgIG1pbmU6IG5ldyBUYXNrTGlzdCgpLFxuICAgIG9wZW46IG5ldyBUYXNrTGlzdCgpLFxuICAgIGFsbDogbmV3IFRhc2tMaXN0KCksXG4gIH07XG4gIHB1YmxpYyB2aXNpYmxlVGFiczogQXJyYXk8VGFza0xpc3RUYWI+IHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyBjdXJyZW50VGFza1R5cGUgPSAnbWluZSc7XG4gIHB1YmxpYyBsaXN0VGl0bGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgbGlzdERlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHVibGljIHNvcnRTdGF0ZTogU29ydFN0YXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgdHJhbnNsYXRpb25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRhc2tTZXJ2aWNlOiBUYXNrU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBOR1hMb2dnZXIsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudmlzaWJsZVRhYnMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnPy52aXNpYmxlVGFza0xpc3RUYWJzIHx8IG51bGw7XG4gICAgaWYgKHRoaXMudmlzaWJsZVRhYnMgIT0gbnVsbCkge1xuICAgICAgdGhpcy5jdXJyZW50VGFza1R5cGUgPSB0aGlzLnZpc2libGVUYWJzWzBdO1xuICAgIH1cbiAgICB0aGlzLnNldERlZmF1bHRTb3J0aW5nKCk7XG4gIH1cblxuICBwdWJsaWMgcGFnaW5hdGlvbkNsaWNrZWQocGFnZTogbnVtYmVyLCB0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRhc2tzW3R5cGVdLnBhZ2UgPSBwYWdlIC0gMTtcbiAgICB0aGlzLmdldFRhc2tzKHR5cGUpO1xuICB9XG5cbiAgcGFnaW5hdGlvblNldCgpIHtcbiAgICB0aGlzLnRhc2tzLm1pbmUucGFnaW5hdGlvbi5zaXplID1cbiAgICAgIHRoaXMudGFza3MuYWxsLnBhZ2luYXRpb24uc2l6ZSA9XG4gICAgICB0aGlzLnRhc2tzLm9wZW4ucGFnaW5hdGlvbi5zaXplID1cbiAgICAgICAgdGhpcy50YXNrc1t0aGlzLmN1cnJlbnRUYXNrVHlwZV0ucGFnaW5hdGlvbi5zaXplO1xuICAgIHRoaXMuZ2V0VGFza3ModGhpcy5jdXJyZW50VGFza1R5cGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhclBhZ2luYXRpb24odHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy50YXNrc1t0eXBlXS5wYWdlID0gMDtcbiAgfVxuXG4gIHRhYkNoYW5nZSh0YWIpIHtcbiAgICB0aGlzLmNsZWFyUGFnaW5hdGlvbih0aGlzLmN1cnJlbnRUYXNrVHlwZSk7XG4gICAgdGhpcy5nZXRUYXNrcyh0YWIubmV4dElkKTtcbiAgfVxuXG4gIHNob3dUYXNrKHRhc2spIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ3Rhc2tzJywgdGFzay5pZF0pO1xuICB9XG5cbiAgZ2V0VGFza3ModHlwZTogc3RyaW5nKSB7XG4gICAgbGV0IHBhcmFtczogYW55O1xuXG4gICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShgdGFzay1saXN0LiR7dHlwZX0udGl0bGVgKSxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oYHRhc2stbGlzdC4ke3R5cGV9LmRlc2NyaXB0aW9uYCksXG4gICAgXSkuc3Vic2NyaWJlKChbdGl0bGUsIGRlc2NyaXB0aW9uXSkgPT4ge1xuICAgICAgdGhpcy5saXN0VGl0bGUgPSB0aXRsZTtcbiAgICAgIHRoaXMubGlzdERlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgfSk7XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ21pbmUnOlxuICAgICAgICBwYXJhbXMgPSB7XG4gICAgICAgICAgcGFnZTogdGhpcy50YXNrcy5taW5lLnBhZ2UsXG4gICAgICAgICAgc2l6ZTogdGhpcy50YXNrcy5taW5lLnBhZ2luYXRpb24uc2l6ZSxcbiAgICAgICAgICBmaWx0ZXI6ICdtaW5lJyxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFza1R5cGUgPSAnbWluZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnb3Blbic6XG4gICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICBwYWdlOiB0aGlzLnRhc2tzLm9wZW4ucGFnZSxcbiAgICAgICAgICBzaXplOiB0aGlzLnRhc2tzLm9wZW4ucGFnaW5hdGlvbi5zaXplLFxuICAgICAgICAgIGZpbHRlcjogJ29wZW4nLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmN1cnJlbnRUYXNrVHlwZSA9ICdvcGVuJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdhbGwnOlxuICAgICAgICBwYXJhbXMgPSB7cGFnZTogdGhpcy50YXNrcy5hbGwucGFnZSwgc2l6ZTogdGhpcy50YXNrcy5vcGVuLnBhZ2luYXRpb24uc2l6ZSwgZmlsdGVyOiAnYWxsJ307XG4gICAgICAgIHRoaXMuY3VycmVudFRhc2tUeXBlID0gJ2FsbCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5sb2dnZXIuZmF0YWwoJ1VucmVhY2hhYmxlIGNhc2UnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zb3J0U3RhdGUpIHtcbiAgICAgIHBhcmFtcy5zb3J0ID0gdGhpcy5nZXRTb3J0U3RyaW5nKHRoaXMuc29ydFN0YXRlKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhc2tTZXJ2aWNlLnF1ZXJ5VGFza3MocGFyYW1zKS5zdWJzY3JpYmUoKHJlc3VsdHM6IGFueSkgPT4ge1xuICAgICAgdGhpcy50YXNrc1t0eXBlXS5wYWdpbmF0aW9uLmNvbGxlY3Rpb25TaXplID0gcmVzdWx0cy5oZWFkZXJzLmdldCgneC10b3RhbC1jb3VudCcpO1xuICAgICAgdGhpcy50YXNrc1t0eXBlXS50YXNrcyA9IHJlc3VsdHMuYm9keSBhcyBBcnJheTxUYXNrPjtcbiAgICAgIHRoaXMudGFza3NbdHlwZV0udGFza3MubWFwKCh0YXNrOiBUYXNrKSA9PiB7XG4gICAgICAgIHRhc2suY3JlYXRlZCA9IG1vbWVudCh0YXNrLmNyZWF0ZWQpLmZvcm1hdCgnREQgTU1NIFlZWVkgSEg6bW0nKTtcbiAgICAgICAgaWYgKHRhc2suZHVlKSB7XG4gICAgICAgICAgdGFzay5kdWUgPSBtb21lbnQodGFzay5kdWUpLmZvcm1hdCgnREQgTU1NIFlZWVkgSEg6bW0nKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy50YXNrU2VydmljZS5nZXRDb25maWdDdXN0b21UYXNrTGlzdCgpKSB7XG4gICAgICAgIHRoaXMuY3VzdG9tVGFza0xpc3RGaWVsZHModHlwZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRlZmF1bHRUYXNrTGlzdEZpZWxkcyh0eXBlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5SZWxhdGVkQ2FzZShldmVudDogTW91c2VFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgY29uc3QgdGFza3MgPSB0aGlzLnRhc2tzW3RoaXMuY3VycmVudFRhc2tUeXBlXS50YXNrcztcbiAgICBjb25zdCBjdXJyZW50VGFzayA9IHRhc2tzICYmIHRhc2tzW2luZGV4XTtcblxuICAgIGlmIChjdXJyZW50VGFzaykge1xuICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgICAgLmdldERvY3VtZW50KGN1cnJlbnRUYXNrLmJ1c2luZXNzS2V5KVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKGRvY3VtZW50ID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXG4gICAgICAgICAgICBgL2Rvc3NpZXJzLyR7ZG9jdW1lbnQuZGVmaW5pdGlvbklkLm5hbWV9L2RvY3VtZW50LyR7Y3VycmVudFRhc2suYnVzaW5lc3NLZXl9L3N1bW1hcnlgLFxuICAgICAgICAgIF0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVmYXVsdFRhc2tMaXN0RmllbGRzKHR5cGUpIHtcbiAgICB0aGlzLnRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKGB0YXNrLWxpc3QuZmllbGRMYWJlbHMuY3JlYXRlZGApLFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShgdGFzay1saXN0LmZpZWxkTGFiZWxzLm5hbWVgKSxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oYHRhc2stbGlzdC5maWVsZExhYmVscy52YWx0aW1vQXNzaWduZWUuZnVsbE5hbWVgKSxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oYHRhc2stbGlzdC5maWVsZExhYmVscy5kdWVgKSxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oYHRhc2stbGlzdC5maWVsZExhYmVscy5jb250ZXh0YCksXG4gICAgXSkuc3Vic2NyaWJlKChbY3JlYXRlZCwgbmFtZSwgYXNzaWduZWUsIGR1ZSwgY29udGV4dF0pID0+IHtcbiAgICAgIHRoaXMudGFza3NbdHlwZV0uZmllbGRzID0gW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiAnY3JlYXRlZCcsXG4gICAgICAgICAgbGFiZWw6IGNyZWF0ZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6ICduYW1lJyxcbiAgICAgICAgICBsYWJlbDogbmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogJ3ZhbHRpbW9Bc3NpZ25lZS5mdWxsTmFtZScsXG4gICAgICAgICAgbGFiZWw6IGFzc2lnbmVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiAnZHVlJyxcbiAgICAgICAgICBsYWJlbDogZHVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiAnY29udGV4dCcsXG4gICAgICAgICAgbGFiZWw6IGNvbnRleHQsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGN1c3RvbVRhc2tMaXN0RmllbGRzKHR5cGUpIHtcbiAgICBjb25zdCBjdXN0b21UYXNrTGlzdEZpZWxkcyA9IHRoaXMudGFza1NlcnZpY2UuZ2V0Q29uZmlnQ3VzdG9tVGFza0xpc3QoKS5maWVsZHM7XG5cbiAgICB0aGlzLnRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChcbiAgICAgIGN1c3RvbVRhc2tMaXN0RmllbGRzLm1hcChjb2x1bW4gPT5cbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShgdGFzay1saXN0LmZpZWxkTGFiZWxzLiR7Y29sdW1uLnRyYW5zbGF0aW9uS2V5fWApXG4gICAgICApXG4gICAgKS5zdWJzY3JpYmUobGFiZWxzID0+IHtcbiAgICAgIHRoaXMudGFza3NbdHlwZV0uZmllbGRzID0gY3VzdG9tVGFza0xpc3RGaWVsZHMubWFwKChjb2x1bW4sIGluZGV4KSA9PiAoe1xuICAgICAgICBrZXk6IGNvbHVtbi5wcm9wZXJ0eU5hbWUsXG4gICAgICAgIGxhYmVsOiBsYWJlbHNbaW5kZXhdLFxuICAgICAgICBzb3J0YWJsZTogY29sdW1uLnNvcnRhYmxlLFxuICAgICAgICAuLi4oY29sdW1uLnZpZXdUeXBlICYmIHt2aWV3VHlwZTogY29sdW1uLnZpZXdUeXBlfSksXG4gICAgICAgIC4uLihjb2x1bW4uZW51bSAmJiB7ZW51bTogY29sdW1uLmVudW19KSxcbiAgICAgIH0pKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByb3dPcGVuVGFza0NsaWNrKHRhc2spIHtcbiAgICBpZiAoIXRhc2suZW5kVGltZSkge1xuICAgICAgdGhpcy50YXNrRGV0YWlsLm9wZW5UYXNrRGV0YWlscyh0YXNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHNldERlZmF1bHRTb3J0aW5nKCkge1xuICAgIHRoaXMuc29ydFN0YXRlID0gdGhpcy50YXNrU2VydmljZS5nZXRDb25maWdDdXN0b21UYXNrTGlzdCgpPy5kZWZhdWx0U29ydGVkQ29sdW1uIHx8IG51bGw7XG4gIH1cblxuICBwdWJsaWMgc29ydENoYW5nZWQoc29ydFN0YXRlOiBTb3J0U3RhdGUpIHtcbiAgICB0aGlzLnNvcnRTdGF0ZSA9IHNvcnRTdGF0ZTtcbiAgICB0aGlzLmdldFRhc2tzKHRoaXMuY3VycmVudFRhc2tUeXBlKTtcbiAgfVxuXG4gIGdldFNvcnRTdHJpbmcoc29ydDogU29ydFN0YXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7c29ydC5zdGF0ZS5uYW1lfSwke3NvcnQuc3RhdGUuZGlyZWN0aW9ufWA7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gICAgPHZhbHRpbW8td2lkZ2V0PlxuICAgICAgPHZhbHRpbW8tbGlzdFxuICAgICAgICBbaXRlbXNdPVwidGFza3NbY3VycmVudFRhc2tUeXBlXS50YXNrc1wiXG4gICAgICAgIFtmaWVsZHNdPVwidGFza3NbY3VycmVudFRhc2tUeXBlXS5maWVsZHNcIlxuICAgICAgICBbcGFnaW5hdGlvbl09XCJ0YXNrc1tjdXJyZW50VGFza1R5cGVdLnBhZ2luYXRpb25cIlxuICAgICAgICBbdmlld01vZGVdPVwidHJ1ZVwiXG4gICAgICAgIChwYWdpbmF0aW9uQ2xpY2tlZCk9XCJwYWdpbmF0aW9uQ2xpY2tlZCgkZXZlbnQsIGN1cnJlbnRUYXNrVHlwZSlcIlxuICAgICAgICAocGFnaW5hdGlvblNldCk9XCJwYWdpbmF0aW9uU2V0KClcIlxuICAgICAgICBwYWdpbmF0aW9uSWRlbnRpZmllcj1cInRhc2tMaXN0XCJcbiAgICAgICAgW2lzU2VhcmNoYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgW2hlYWRlcl09XCJ0cnVlXCJcbiAgICAgICAgKHJvd0NsaWNrZWQpPVwicm93T3BlblRhc2tDbGljaygkZXZlbnQpXCJcbiAgICAgICAgKHNvcnRDaGFuZ2VkKT1cInNvcnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICBbbGFzdENvbHVtblRlbXBsYXRlXT1cImNhc2VMaW5rXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBoZWFkZXI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwibGlzdC1oZWFkZXItdGl0bGVcIj57eyBsaXN0VGl0bGUgfX08L2gzPlxuICAgICAgICAgIDxoNSBjbGFzcz1cImxpc3QtaGVhZGVyLWRlc2NyaXB0aW9uXCI+e3sgbGlzdERlc2NyaXB0aW9uIH19PC9oNT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgdGFicz5cbiAgICAgICAgICA8dWxcbiAgICAgICAgICAgICpuZ0lmPVwidmlzaWJsZVRhYnMgPT09IG51bGw7IGVsc2UgY29uZmlndXJlZFRhYnNcIlxuICAgICAgICAgICAgbmdiTmF2XG4gICAgICAgICAgICBbZGVzdHJveU9uSGlkZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAobmF2Q2hhbmdlKT1cInRhYkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwibmF2LXRhYnNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxsaSBuZ2JOYXZJdGVtPVwibWluZVwiIFt0aXRsZV09XCIndGFzay1saXN0Lm1pbmUudGl0bGUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgIDxhIG5nYk5hdkxpbms+e3sgJ3Rhc2stbGlzdC5taW5lLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgbmdiTmF2SXRlbT1cIm9wZW5cIiBbdGl0bGVdPVwiJ3Rhc2stbGlzdC5vcGVuLnRpdGxlJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICA8YSBuZ2JOYXZMaW5rPnt7ICd0YXNrLWxpc3Qub3Blbi50aXRsZScgfCB0cmFuc2xhdGUgfX08L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIG5nYk5hdkl0ZW09XCJhbGxcIiBbdGl0bGVdPVwiJ3Rhc2stbGlzdC5hbGwudGl0bGUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgIDxhIG5nYk5hdkxpbms+e3sgJ3Rhc2stbGlzdC5hbGwudGl0bGUnIHwgdHJhbnNsYXRlIH19PC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdmFsdGltby1saXN0PlxuICAgIDwvdmFsdGltby13aWRnZXQ+XG4gICAgPHZhbHRpbW8tdGFzay1kZXRhaWwtbW9kYWxcbiAgICAgICN0YXNrRGV0YWlsXG4gICAgICAoZm9ybVN1Ym1pdCk9XCJnZXRUYXNrcyhjdXJyZW50VGFza1R5cGUpXCJcbiAgICAgIChhc3NpZ25tZW50T2ZUYXNrQ2hhbmdlZCk9XCJnZXRUYXNrcyhjdXJyZW50VGFza1R5cGUpXCJcbiAgICA+PC92YWx0aW1vLXRhc2stZGV0YWlsLW1vZGFsPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2NvbmZpZ3VyZWRUYWJzPlxuICA8dWwgbmdiTmF2IFtkZXN0cm95T25IaWRlXT1cImZhbHNlXCIgKG5hdkNoYW5nZSk9XCJ0YWJDaGFuZ2UoJGV2ZW50KVwiIGNsYXNzPVwibmF2LXRhYnNcIj5cbiAgICA8bGlcbiAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdmlzaWJsZVRhYnNcIlxuICAgICAgW25nYk5hdkl0ZW1dPVwidGFiXCJcbiAgICAgIFt0aXRsZV09XCIndGFzay1saXN0LicgKyB0YWIgKyAnLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgPlxuICAgICAgPGEgbmdiTmF2TGluaz57eyAndGFzay1saXN0LicgKyB0YWIgKyAnLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjYXNlTGluayBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICA8YSBjZHNMaW5rIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwib3BlblJlbGF0ZWRDYXNlKCRldmVudCwgaW5kZXgpXCI+XG4gICAge3sgJ3Rhc2stbGlzdC5nb1RvQ2FzZScgfCB0cmFuc2xhdGUgfX1cbiAgPC9hPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,113 +0,0 @@
1
- /*
2
- * Copyright 2015-2023 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 { CommonModule } from '@angular/common';
17
- import { HttpClient } from '@angular/common/http';
18
- import { NgModule } from '@angular/core';
19
- import { FormsModule } from '@angular/forms';
20
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
21
- import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
22
- import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
23
- import { CamundaFormModule, FormIoModule, ListModule, ModalModule, PageHeaderModule, SearchableDropdownSelectModule, SpinnerModule, WidgetModule, } from '@valtimo/components';
24
- import { HttpLoaderFactory } from '@valtimo/config';
25
- import { ToastrModule } from 'ngx-toastr';
26
- import { TaskDetailModalComponent } from './task-detail-modal/task-detail-modal.component';
27
- import { TaskListComponent } from './task-list/task-list.component';
28
- import { TaskRoutingModule } from './task-routing.module';
29
- import { AssignUserToTaskComponent } from './assign-user-to-task/assign-user-to-task.component';
30
- import { LinkModule } from 'carbon-components-angular';
31
- import { FormLinkModule } from '@valtimo/form-link';
32
- import * as i0 from "@angular/core";
33
- import * as i1 from "ngx-toastr";
34
- import * as i2 from "@ngx-translate/core";
35
- export class TaskModule {
36
- }
37
- TaskModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
- TaskModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: TaskModule, declarations: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent], imports: [CommonModule,
39
- TaskRoutingModule,
40
- ListModule,
41
- PageHeaderModule,
42
- WidgetModule,
43
- SpinnerModule,
44
- SearchableDropdownSelectModule,
45
- CamundaFormModule,
46
- BrowserAnimationsModule,
47
- FormsModule, i1.ToastrModule, i2.TranslateModule, NgbModule,
48
- FormIoModule,
49
- ModalModule,
50
- LinkModule,
51
- FormLinkModule], exports: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent] });
52
- TaskModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TaskModule, imports: [CommonModule,
53
- TaskRoutingModule,
54
- ListModule,
55
- PageHeaderModule,
56
- WidgetModule,
57
- SpinnerModule,
58
- SearchableDropdownSelectModule,
59
- CamundaFormModule,
60
- BrowserAnimationsModule,
61
- FormsModule,
62
- ToastrModule.forRoot({
63
- positionClass: 'toast-bottom-full-width',
64
- preventDuplicates: true,
65
- }),
66
- TranslateModule.forRoot({
67
- loader: {
68
- provide: TranslateLoader,
69
- useFactory: HttpLoaderFactory,
70
- deps: [HttpClient],
71
- },
72
- }),
73
- NgbModule,
74
- FormIoModule,
75
- ModalModule,
76
- LinkModule,
77
- FormLinkModule] });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TaskModule, decorators: [{
79
- type: NgModule,
80
- args: [{
81
- declarations: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent],
82
- imports: [
83
- CommonModule,
84
- TaskRoutingModule,
85
- ListModule,
86
- PageHeaderModule,
87
- WidgetModule,
88
- SpinnerModule,
89
- SearchableDropdownSelectModule,
90
- CamundaFormModule,
91
- BrowserAnimationsModule,
92
- FormsModule,
93
- ToastrModule.forRoot({
94
- positionClass: 'toast-bottom-full-width',
95
- preventDuplicates: true,
96
- }),
97
- TranslateModule.forRoot({
98
- loader: {
99
- provide: TranslateLoader,
100
- useFactory: HttpLoaderFactory,
101
- deps: [HttpClient],
102
- },
103
- }),
104
- NgbModule,
105
- FormIoModule,
106
- ModalModule,
107
- LinkModule,
108
- FormLinkModule,
109
- ],
110
- exports: [TaskListComponent, TaskDetailModalComponent, AssignUserToTaskComponent],
111
- }]
112
- }] });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2svc3JjL2xpYi90YXNrLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxlQUFlLEVBQUUsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsOEJBQThCLEVBQzlCLGFBQWEsRUFDYixZQUFZLEdBQ2IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFrQ2xELE1BQU0sT0FBTyxVQUFVOzt1R0FBVixVQUFVO3dHQUFWLFVBQVUsaUJBL0JOLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixhQUVuRixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFVBQVU7UUFDVixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLGFBQWE7UUFDYiw4QkFBOEI7UUFDOUIsaUJBQWlCO1FBQ2pCLHVCQUF1QjtRQUN2QixXQUFXLHVDQVlYLFNBQVM7UUFDVCxZQUFZO1FBQ1osV0FBVztRQUNYLFVBQVU7UUFDVixjQUFjLGFBRU4saUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCO3dHQUVyRSxVQUFVLFlBN0JuQixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFVBQVU7UUFDVixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLGFBQWE7UUFDYiw4QkFBOEI7UUFDOUIsaUJBQWlCO1FBQ2pCLHVCQUF1QjtRQUN2QixXQUFXO1FBQ1gsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNuQixhQUFhLEVBQUUseUJBQXlCO1lBQ3hDLGlCQUFpQixFQUFFLElBQUk7U0FDeEIsQ0FBQztRQUNGLGVBQWUsQ0FBQyxPQUFPLENBQUM7WUFDdEIsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixVQUFVLEVBQUUsaUJBQWlCO2dCQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7YUFDbkI7U0FDRixDQUFDO1FBQ0YsU0FBUztRQUNULFlBQVk7UUFDWixXQUFXO1FBQ1gsVUFBVTtRQUNWLGNBQWM7MkZBSUwsVUFBVTtrQkFoQ3RCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLENBQUM7b0JBQ3RGLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osYUFBYTt3QkFDYiw4QkFBOEI7d0JBQzlCLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixXQUFXO3dCQUNYLFlBQVksQ0FBQyxPQUFPLENBQUM7NEJBQ25CLGFBQWEsRUFBRSx5QkFBeUI7NEJBQ3hDLGlCQUFpQixFQUFFLElBQUk7eUJBQ3hCLENBQUM7d0JBQ0YsZUFBZSxDQUFDLE9BQU8sQ0FBQzs0QkFDdEIsTUFBTSxFQUFFO2dDQUNOLE9BQU8sRUFBRSxlQUFlO2dDQUN4QixVQUFVLEVBQUUsaUJBQWlCO2dDQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7NkJBQ25CO3lCQUNGLENBQUM7d0JBQ0YsU0FBUzt3QkFDVCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixDQUFDO2lCQUNsRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QnJvd3NlckFuaW1hdGlvbnNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge05nYk1vZHVsZX0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHtUcmFuc2xhdGVMb2FkZXIsIFRyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBDYW11bmRhRm9ybU1vZHVsZSxcbiAgRm9ybUlvTW9kdWxlLFxuICBMaXN0TW9kdWxlLFxuICBNb2RhbE1vZHVsZSxcbiAgUGFnZUhlYWRlck1vZHVsZSxcbiAgU2VhcmNoYWJsZURyb3Bkb3duU2VsZWN0TW9kdWxlLFxuICBTcGlubmVyTW9kdWxlLFxuICBXaWRnZXRNb2R1bGUsXG59IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtIdHRwTG9hZGVyRmFjdG9yeX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7VG9hc3RyTW9kdWxlfSBmcm9tICduZ3gtdG9hc3RyJztcbmltcG9ydCB7VGFza0RldGFpbE1vZGFsQ29tcG9uZW50fSBmcm9tICcuL3Rhc2stZGV0YWlsLW1vZGFsL3Rhc2stZGV0YWlsLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQge1Rhc2tMaXN0Q29tcG9uZW50fSBmcm9tICcuL3Rhc2stbGlzdC90YXNrLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7VGFza1JvdXRpbmdNb2R1bGV9IGZyb20gJy4vdGFzay1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQge0Fzc2lnblVzZXJUb1Rhc2tDb21wb25lbnR9IGZyb20gJy4vYXNzaWduLXVzZXItdG8tdGFzay9hc3NpZ24tdXNlci10by10YXNrLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpbmtNb2R1bGV9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtGb3JtTGlua01vZHVsZX0gZnJvbSAnQHZhbHRpbW8vZm9ybS1saW5rJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVGFza0xpc3RDb21wb25lbnQsIFRhc2tEZXRhaWxNb2RhbENvbXBvbmVudCwgQXNzaWduVXNlclRvVGFza0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVGFza1JvdXRpbmdNb2R1bGUsXG4gICAgTGlzdE1vZHVsZSxcbiAgICBQYWdlSGVhZGVyTW9kdWxlLFxuICAgIFdpZGdldE1vZHVsZSxcbiAgICBTcGlubmVyTW9kdWxlLFxuICAgIFNlYXJjaGFibGVEcm9wZG93blNlbGVjdE1vZHVsZSxcbiAgICBDYW11bmRhRm9ybU1vZHVsZSxcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUb2FzdHJNb2R1bGUuZm9yUm9vdCh7XG4gICAgICBwb3NpdGlvbkNsYXNzOiAndG9hc3QtYm90dG9tLWZ1bGwtd2lkdGgnLFxuICAgICAgcHJldmVudER1cGxpY2F0ZXM6IHRydWUsXG4gICAgfSksXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgbG9hZGVyOiB7XG4gICAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICAgICAgdXNlRmFjdG9yeTogSHR0cExvYWRlckZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50XSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgTmdiTW9kdWxlLFxuICAgIEZvcm1Jb01vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBMaW5rTW9kdWxlLFxuICAgIEZvcm1MaW5rTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbVGFza0xpc3RDb21wb25lbnQsIFRhc2tEZXRhaWxNb2RhbENvbXBvbmVudCwgQXNzaWduVXNlclRvVGFza0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tNb2R1bGUge31cbiJdfQ==
@@ -1,69 +0,0 @@
1
- /*
2
- * Copyright 2015-2023 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 { InterceptorSkip } from '@valtimo/security';
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 TaskService {
22
- constructor(http, configService) {
23
- this.http = http;
24
- this.configService = configService;
25
- this.valtimoEndpointUri = configService.config.valtimoApi.endpointUri;
26
- }
27
- queryTasks(params) {
28
- return this.http.get(`${this.valtimoEndpointUri}v1/task`, { observe: 'response', params });
29
- }
30
- getTasks() {
31
- return this.http.get(`${this.valtimoEndpointUri}v1/task?filter=all`);
32
- }
33
- getTask(id) {
34
- return this.http.get(this.valtimoEndpointUri + 'v1/task/' + id);
35
- }
36
- getCandidateUsers(id) {
37
- return this.http.get(this.valtimoEndpointUri + 'v2/task/' + id + '/candidate-user');
38
- }
39
- assignTask(id, assigneeRequest) {
40
- return this.http.post(this.valtimoEndpointUri + 'v1/task/' + id + '/assign', assigneeRequest);
41
- }
42
- unassignTask(id) {
43
- return this.http.post(this.valtimoEndpointUri + 'v1/task/' + id + '/unassign', null);
44
- }
45
- completeTask(id, variables) {
46
- return this.http.post(this.valtimoEndpointUri + 'v1/task/' + id + '/complete', {
47
- variables,
48
- filesToDelete: [],
49
- });
50
- }
51
- getTaskProcessLink(taskId) {
52
- return this.http.get(`${this.valtimoEndpointUri}v2/process-link/task/${taskId}`, {
53
- headers: { [InterceptorSkip]: '' },
54
- });
55
- }
56
- getTaskProcessLinkV1(taskId) {
57
- return this.http.get(`${this.valtimoEndpointUri}v1/process-link/task/${taskId}`);
58
- }
59
- getConfigCustomTaskList() {
60
- return this.configService.config.customTaskList;
61
- }
62
- }
63
- TaskService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TaskService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
64
- TaskService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TaskService, providedIn: 'root' });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TaskService, decorators: [{
66
- type: Injectable,
67
- args: [{ providedIn: 'root' }]
68
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrL3NyYy9saWIvdGFzay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUt6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFHbEQsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBb0IsSUFBZ0IsRUFBbUIsYUFBNEI7UUFBL0QsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFtQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNqRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixTQUFTLEVBQUUsRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixvQkFBb0IsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQVU7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsR0FBRyxFQUFFLEdBQUcsaUJBQWlCLENBQzlELENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQVUsRUFBRSxlQUFnQztRQUNyRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLEdBQUcsRUFBRSxHQUFHLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFVLEVBQUUsU0FBMkI7UUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUU7WUFDN0UsU0FBUztZQUNULGFBQWEsRUFBRSxFQUFFO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFjO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQix3QkFBd0IsTUFBTSxFQUFFLEVBQzFEO1lBQ0UsT0FBTyxFQUFFLEVBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEVBQUM7U0FDakMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQixDQUFDLE1BQWM7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLHdCQUF3QixNQUFNLEVBQUUsQ0FDM0QsQ0FBQztJQUNKLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDbEQsQ0FBQzs7d0dBekRVLFdBQVc7NEdBQVgsV0FBVyxjQURDLE1BQU07MkZBQ2xCLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7QXNzaWduZWVSZXF1ZXN0LCBUYXNrLCBUYXNrUHJvY2Vzc0xpbmtSZXN1bHR9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7Q29uZmlnU2VydmljZSwgQ3VzdG9tVGFza0xpc3QsIE5hbWVkVXNlcn0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7SW50ZXJjZXB0b3JTa2lwfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFRhc2tTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB2YWx0aW1vRW5kcG9pbnRVcmk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkge1xuICAgIHRoaXMudmFsdGltb0VuZHBvaW50VXJpID0gY29uZmlnU2VydmljZS5jb25maWcudmFsdGltb0FwaS5lbmRwb2ludFVyaTtcbiAgfVxuXG4gIHF1ZXJ5VGFza3MocGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS90YXNrYCwge29ic2VydmU6ICdyZXNwb25zZScsIHBhcmFtc30pO1xuICB9XG5cbiAgZ2V0VGFza3MoKTogT2JzZXJ2YWJsZTxUYXNrW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUYXNrW10+KGAke3RoaXMudmFsdGltb0VuZHBvaW50VXJpfXYxL3Rhc2s/ZmlsdGVyPWFsbGApO1xuICB9XG5cbiAgZ2V0VGFzayhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLnZhbHRpbW9FbmRwb2ludFVyaSArICd2MS90YXNrLycgKyBpZCk7XG4gIH1cblxuICBnZXRDYW5kaWRhdGVVc2VycyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxOYW1lZFVzZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5hbWVkVXNlcltdPihcbiAgICAgIHRoaXMudmFsdGltb0VuZHBvaW50VXJpICsgJ3YyL3Rhc2svJyArIGlkICsgJy9jYW5kaWRhdGUtdXNlcidcbiAgICApO1xuICB9XG5cbiAgYXNzaWduVGFzayhpZDogc3RyaW5nLCBhc3NpZ25lZVJlcXVlc3Q6IEFzc2lnbmVlUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMudmFsdGltb0VuZHBvaW50VXJpICsgJ3YxL3Rhc2svJyArIGlkICsgJy9hc3NpZ24nLCBhc3NpZ25lZVJlcXVlc3QpO1xuICB9XG5cbiAgdW5hc3NpZ25UYXNrKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnZhbHRpbW9FbmRwb2ludFVyaSArICd2MS90YXNrLycgKyBpZCArICcvdW5hc3NpZ24nLCBudWxsKTtcbiAgfVxuXG4gIGNvbXBsZXRlVGFzayhpZDogc3RyaW5nLCB2YXJpYWJsZXM6IE1hcDxzdHJpbmcsIGFueT4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnZhbHRpbW9FbmRwb2ludFVyaSArICd2MS90YXNrLycgKyBpZCArICcvY29tcGxldGUnLCB7XG4gICAgICB2YXJpYWJsZXMsXG4gICAgICBmaWxlc1RvRGVsZXRlOiBbXSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldFRhc2tQcm9jZXNzTGluayh0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGFza1Byb2Nlc3NMaW5rUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VGFza1Byb2Nlc3NMaW5rUmVzdWx0PihcbiAgICAgIGAke3RoaXMudmFsdGltb0VuZHBvaW50VXJpfXYyL3Byb2Nlc3MtbGluay90YXNrLyR7dGFza0lkfWAsXG4gICAgICB7XG4gICAgICAgIGhlYWRlcnM6IHtbSW50ZXJjZXB0b3JTa2lwXTogJyd9LFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBnZXRUYXNrUHJvY2Vzc0xpbmtWMSh0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGFza1Byb2Nlc3NMaW5rUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VGFza1Byb2Nlc3NMaW5rUmVzdWx0PihcbiAgICAgIGAke3RoaXMudmFsdGltb0VuZHBvaW50VXJpfXYxL3Byb2Nlc3MtbGluay90YXNrLyR7dGFza0lkfWBcbiAgICApO1xuICB9XG5cbiAgZ2V0Q29uZmlnQ3VzdG9tVGFza0xpc3QoKTogQ3VzdG9tVGFza0xpc3Qge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLmN1c3RvbVRhc2tMaXN0O1xuICB9XG59XG4iXX0=
@@ -1,25 +0,0 @@
1
- /*
2
- * Copyright 2015-2023 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
- /*
17
- * Public API Surface of task
18
- */
19
- export * from './lib/models';
20
- export * from './lib/task.service';
21
- export * from './lib/task.module';
22
- export * from './lib/task-detail-modal/task-detail-modal.component';
23
- export * from './lib/task-list/task-list.component';
24
- export * from './lib/assign-user-to-task/assign-user-to-task.component';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVIOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlEQUF5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0YXNrXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rhc2suc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YXNrLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YXNrLWRldGFpbC1tb2RhbC90YXNrLWRldGFpbC1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFzay1saXN0L3Rhc2stbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXNzaWduLXVzZXItdG8tdGFzay9hc3NpZ24tdXNlci10by10YXNrLmNvbXBvbmVudCc7XG4iXX0=