@alfresco/adf-process-services 8.1.0-16320806191 → 9.1.0-16312921641
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/adf-process-services.mjs +297 -301
- package/fesm2022/adf-process-services.mjs.map +1 -1
- package/package.json +4 -6
- package/esm2022/adf-process-services.mjs +0 -5
- package/esm2022/lib/app-list/apps-list.component.mjs +0 -195
- package/esm2022/lib/app-list/icon.model.mjs +0 -166
- package/esm2022/lib/app-list/index.mjs +0 -18
- package/esm2022/lib/app-list/public-api.mjs +0 -23
- package/esm2022/lib/app-list/select-apps-dialog/select-apps-dialog.component.mjs +0 -53
- package/esm2022/lib/attachment/create-process-attachment/create-process-attachment.component.mjs +0 -73
- package/esm2022/lib/attachment/create-task-attachment/create-task-attachment.component.mjs +0 -73
- package/esm2022/lib/attachment/index.mjs +0 -18
- package/esm2022/lib/attachment/process-attachment-list/process-attachment-list.component.mjs +0 -197
- package/esm2022/lib/attachment/public-api.mjs +0 -31
- package/esm2022/lib/attachment/task-attachment-list/task-attachment-list.component.mjs +0 -196
- package/esm2022/lib/compat/types.mjs +0 -18
- package/esm2022/lib/form/events/validate-dynamic-table-row.event.mjs +0 -26
- package/esm2022/lib/form/form-custom-outcomes.component.mjs +0 -31
- package/esm2022/lib/form/form-list/form-list.component.mjs +0 -50
- package/esm2022/lib/form/form.component.mjs +0 -346
- package/esm2022/lib/form/index.mjs +0 -18
- package/esm2022/lib/form/model/form-definition.model.mjs +0 -92
- package/esm2022/lib/form/process-form-rendering.service.mjs +0 -55
- package/esm2022/lib/form/public-api.mjs +0 -32
- package/esm2022/lib/form/services/activiti-alfresco.service.mjs +0 -113
- package/esm2022/lib/form/services/ecm-model.service.mjs +0 -156
- package/esm2022/lib/form/services/editor.service.mjs +0 -87
- package/esm2022/lib/form/services/external-alfresco-api.service.mjs +0 -57
- package/esm2022/lib/form/services/index.mjs +0 -26
- package/esm2022/lib/form/services/model.service.mjs +0 -130
- package/esm2022/lib/form/services/process-content.service.mjs +0 -223
- package/esm2022/lib/form/services/process-definition.service.mjs +0 -93
- package/esm2022/lib/form/services/task-form.service.mjs +0 -127
- package/esm2022/lib/form/services/task.service.mjs +0 -77
- package/esm2022/lib/form/start-form/start-form.component.mjs +0 -141
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog-component.interface.mjs +0 -18
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.component.mjs +0 -115
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.service.mjs +0 -100
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget.component.mjs +0 -254
- package/esm2022/lib/form/widgets/content-widget/attach-folder-widget.component.mjs +0 -93
- package/esm2022/lib/form/widgets/content-widget/index.mjs +0 -18
- package/esm2022/lib/form/widgets/content-widget/public-api.mjs +0 -22
- package/esm2022/lib/form/widgets/document/content.widget.mjs +0 -125
- package/esm2022/lib/form/widgets/document/document.widget.mjs +0 -61
- package/esm2022/lib/form/widgets/dropdown/dropdown.widget.mjs +0 -182
- package/esm2022/lib/form/widgets/dynamic-table/dynamic-table.widget.mjs +0 -192
- package/esm2022/lib/form/widgets/dynamic-table/editors/amount/amount.editor.mjs +0 -47
- package/esm2022/lib/form/widgets/dynamic-table/editors/boolean/boolean.editor.mjs +0 -42
- package/esm2022/lib/form/widgets/dynamic-table/editors/date/date.editor.mjs +0 -84
- package/esm2022/lib/form/widgets/dynamic-table/editors/datetime/datetime.editor.mjs +0 -84
- package/esm2022/lib/form/widgets/dynamic-table/editors/dropdown/dropdown.editor.mjs +0 -95
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/cell-validator.model.mjs +0 -18
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/date-cell-validator-model.mjs +0 -47
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-row-validation-summary.model.mjs +0 -24
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-column-option.model.mjs +0 -18
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-column.model.mjs +0 -18
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-row.model.mjs +0 -18
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table.widget.model.mjs +0 -159
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/number-cell-validator.model.mjs +0 -45
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/required-cell-validator.model.mjs +0 -40
- package/esm2022/lib/form/widgets/dynamic-table/editors/row-editor/row.editor.mjs +0 -89
- package/esm2022/lib/form/widgets/dynamic-table/editors/text/text.editor.mjs +0 -47
- package/esm2022/lib/form/widgets/dynamic-table/index.mjs +0 -18
- package/esm2022/lib/form/widgets/dynamic-table/public-api.mjs +0 -44
- package/esm2022/lib/form/widgets/file-viewer/file-viewer.widget.mjs +0 -46
- package/esm2022/lib/form/widgets/functional-group/functional-group.widget.mjs +0 -167
- package/esm2022/lib/form/widgets/index.mjs +0 -18
- package/esm2022/lib/form/widgets/people/people.widget.mjs +0 -169
- package/esm2022/lib/form/widgets/public-api.mjs +0 -54
- package/esm2022/lib/form/widgets/radio-buttons/radio-buttons.widget.mjs +0 -97
- package/esm2022/lib/form/widgets/typeahead/typeahead.widget.mjs +0 -152
- package/esm2022/lib/form/widgets/upload/upload.widget.mjs +0 -128
- package/esm2022/lib/people/components/people/people.component.mjs +0 -124
- package/esm2022/lib/people/components/people-list/people-list.component.mjs +0 -74
- package/esm2022/lib/people/components/people-search/people-search.component.mjs +0 -83
- package/esm2022/lib/people/components/people-search-field/people-search-field.component.mjs +0 -90
- package/esm2022/lib/people/components/people-selector/people-selector.component.mjs +0 -76
- package/esm2022/lib/people/helpers/get-display-user.mjs +0 -22
- package/esm2022/lib/people/index.mjs +0 -18
- package/esm2022/lib/people/interfaces/perform-search-callback.interface.mjs +0 -18
- package/esm2022/lib/people/public-api.mjs +0 -35
- package/esm2022/lib/process-comments/index.mjs +0 -21
- package/esm2022/lib/process-comments/process-comments.component.mjs +0 -45
- package/esm2022/lib/process-comments/services/comment-process.service.mjs +0 -77
- package/esm2022/lib/process-list/components/process-audit/process-audit.directive.mjs +0 -105
- package/esm2022/lib/process-list/components/process-filters/process-filters.component.mjs +0 -211
- package/esm2022/lib/process-list/components/process-instance-details/process-instance-details.component.mjs +0 -142
- package/esm2022/lib/process-list/components/process-instance-header/process-instance-header.component.mjs +0 -123
- package/esm2022/lib/process-list/components/process-instance-tasks/process-instance-tasks.component.mjs +0 -163
- package/esm2022/lib/process-list/components/process-list/process-list.component.mjs +0 -327
- package/esm2022/lib/process-list/components/start-process/start-process.component.mjs +0 -423
- package/esm2022/lib/process-list/index.mjs +0 -18
- package/esm2022/lib/process-list/public-api.mjs +0 -44
- package/esm2022/lib/process-list/services/process-filter.service.mjs +0 -182
- package/esm2022/lib/process-list/services/process.service.mjs +0 -259
- package/esm2022/lib/process.module.mjs +0 -132
- package/esm2022/lib/services/apps-process.service.mjs +0 -58
- package/esm2022/lib/services/people-process.service.mjs +0 -124
- package/esm2022/lib/services/task-comments.service.mjs +0 -65
- package/esm2022/lib/task-comments/index.mjs +0 -21
- package/esm2022/lib/task-comments/task-comments.component.mjs +0 -44
- package/esm2022/lib/task-list/components/attach-form/attach-form.component.mjs +0 -127
- package/esm2022/lib/task-list/components/checklist/checklist.component.mjs +0 -140
- package/esm2022/lib/task-list/components/start-task/start-task.component.mjs +0 -221
- package/esm2022/lib/task-list/components/task-details/task-details.component.mjs +0 -360
- package/esm2022/lib/task-list/components/task-filters/task-filters.component.mjs +0 -261
- package/esm2022/lib/task-list/components/task-form/claim-task.directive.mjs +0 -77
- package/esm2022/lib/task-list/components/task-form/task-form.component.mjs +0 -313
- package/esm2022/lib/task-list/components/task-form/unclaim-task.directive.mjs +0 -77
- package/esm2022/lib/task-list/components/task-header/task-header.component.mjs +0 -361
- package/esm2022/lib/task-list/components/task-list/task-list.component.mjs +0 -359
- package/esm2022/lib/task-list/components/task-standalone/task-standalone.component.mjs +0 -82
- package/esm2022/lib/task-list/index.mjs +0 -18
- package/esm2022/lib/task-list/models/form.model.mjs +0 -26
- package/esm2022/lib/task-list/models/task-details.event.mjs +0 -32
- package/esm2022/lib/task-list/models/task-preset.model.mjs +0 -41
- package/esm2022/lib/task-list/models/user-event.model.mjs +0 -18
- package/esm2022/lib/task-list/models/user-group.model.mjs +0 -18
- package/esm2022/lib/task-list/public-api.mjs +0 -60
- package/esm2022/lib/task-list/services/process-upload.service.mjs +0 -42
- package/esm2022/lib/task-list/services/task-filter.service.mjs +0 -249
- package/esm2022/lib/task-list/services/task-upload.service.mjs +0 -42
- package/esm2022/lib/task-list/services/tasklist.service.mjs +0 -251
- package/esm2022/lib/task-list/validators/task-description.validator.mjs +0 -26
- package/esm2022/public-api.mjs +0 -30
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { AppsProcessService } from '../../../services/apps-process.service';
|
|
18
|
-
import { Component, DestroyRef, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
19
|
-
import { TaskFilterService } from '../../services/task-filter.service';
|
|
20
|
-
import { TaskListService } from '../../services/tasklist.service';
|
|
21
|
-
import { IconModel } from '../../../app-list/icon.model';
|
|
22
|
-
import { ActivatedRoute, NavigationStart, Router } from '@angular/router';
|
|
23
|
-
import { filter } from 'rxjs/operators';
|
|
24
|
-
import { UserTaskFilterRepresentation } from '@alfresco/js-api';
|
|
25
|
-
import { CommonModule } from '@angular/common';
|
|
26
|
-
import { TranslatePipe } from '@ngx-translate/core';
|
|
27
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
28
|
-
import { IconComponent } from '@alfresco/adf-core';
|
|
29
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
30
|
-
import { forkJoin } from 'rxjs';
|
|
31
|
-
import * as i0 from "@angular/core";
|
|
32
|
-
import * as i1 from "../../services/task-filter.service";
|
|
33
|
-
import * as i2 from "../../services/tasklist.service";
|
|
34
|
-
import * as i3 from "../../../services/apps-process.service";
|
|
35
|
-
import * as i4 from "@angular/router";
|
|
36
|
-
import * as i5 from "@angular/common";
|
|
37
|
-
import * as i6 from "@angular/material/button";
|
|
38
|
-
export class TaskFiltersComponent {
|
|
39
|
-
constructor(taskFilterService, taskListService, appsProcessService, router, activatedRoute) {
|
|
40
|
-
this.taskFilterService = taskFilterService;
|
|
41
|
-
this.taskListService = taskListService;
|
|
42
|
-
this.appsProcessService = appsProcessService;
|
|
43
|
-
this.router = router;
|
|
44
|
-
this.activatedRoute = activatedRoute;
|
|
45
|
-
/** Emitted when a filter is being clicked from the UI. */
|
|
46
|
-
this.filterClicked = new EventEmitter();
|
|
47
|
-
/** Emitted when a filter is being selected based on the filterParam input. */
|
|
48
|
-
this.filterSelected = new EventEmitter();
|
|
49
|
-
/** Emitted when the list is loaded. */
|
|
50
|
-
this.success = new EventEmitter();
|
|
51
|
-
/** Emitted when an error occurs during loading. */
|
|
52
|
-
this.error = new EventEmitter();
|
|
53
|
-
this.filters = [];
|
|
54
|
-
this.destroyRef = inject(DestroyRef);
|
|
55
|
-
}
|
|
56
|
-
ngOnInit() {
|
|
57
|
-
this.iconsMDL = new IconModel();
|
|
58
|
-
this.router.events
|
|
59
|
-
.pipe(filter((event) => event instanceof NavigationStart), takeUntilDestroyed(this.destroyRef))
|
|
60
|
-
.subscribe((navigationStart) => {
|
|
61
|
-
const activeRoute = navigationStart.url;
|
|
62
|
-
this.isTaskActive = activeRoute.includes('tasks');
|
|
63
|
-
});
|
|
64
|
-
this.activatedRoute.url.subscribe((segments) => {
|
|
65
|
-
const currentRoute = segments.join('/');
|
|
66
|
-
this.isTaskRoute = currentRoute.includes('tasks');
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
ngOnChanges(changes) {
|
|
70
|
-
const appName = changes['appName'];
|
|
71
|
-
const appId = changes['appId'];
|
|
72
|
-
const filterParam = changes['filterParam'];
|
|
73
|
-
if (appName?.currentValue) {
|
|
74
|
-
this.getFiltersByAppName(appName.currentValue);
|
|
75
|
-
}
|
|
76
|
-
else if (appId && appId.currentValue !== appId.previousValue) {
|
|
77
|
-
this.getFiltersByAppId(appId.currentValue);
|
|
78
|
-
}
|
|
79
|
-
else if (filterParam && filterParam.currentValue !== filterParam.previousValue) {
|
|
80
|
-
this.selectFilterAndEmit(filterParam.currentValue);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
isActiveRoute(filterActive) {
|
|
84
|
-
return (this.isTaskActive || this.isTaskRoute) && this.currentFilter === filterActive;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Return the filter list filtered by appId
|
|
88
|
-
*
|
|
89
|
-
* @param appId - optional
|
|
90
|
-
*/
|
|
91
|
-
getFiltersByAppId(appId) {
|
|
92
|
-
this.taskFilterService.getTaskListFilters(appId).subscribe((res) => {
|
|
93
|
-
if (res.length === 0 && this.isFilterListEmpty()) {
|
|
94
|
-
this.createFiltersByAppId(appId);
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
const migratedFilters = this.migrateObsoleteFilters(res);
|
|
98
|
-
if (migratedFilters.length > 0) {
|
|
99
|
-
forkJoin(migratedFilters).subscribe(() => {
|
|
100
|
-
this.setTaskFilters(res);
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
this.setTaskFilters(res);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}, (err) => {
|
|
108
|
-
this.error.emit(err);
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Return the filter list filtered by appName
|
|
113
|
-
*
|
|
114
|
-
* @param appName application name
|
|
115
|
-
*/
|
|
116
|
-
getFiltersByAppName(appName) {
|
|
117
|
-
this.appsProcessService.getDeployedApplicationsByName(appName).subscribe((application) => {
|
|
118
|
-
this.getFiltersByAppId(application.id);
|
|
119
|
-
}, (err) => {
|
|
120
|
-
this.error.emit(err);
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Create default filters by appId
|
|
125
|
-
*
|
|
126
|
-
* @param appId application id
|
|
127
|
-
*/
|
|
128
|
-
createFiltersByAppId(appId) {
|
|
129
|
-
this.taskFilterService.createDefaultFilters(appId).subscribe((resDefault) => {
|
|
130
|
-
this.setTaskFilters(resDefault);
|
|
131
|
-
}, (errDefault) => {
|
|
132
|
-
this.error.emit(errDefault);
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Pass the selected filter as next
|
|
137
|
-
*
|
|
138
|
-
* @param newFilter new filter model
|
|
139
|
-
*/
|
|
140
|
-
selectFilter(newFilter) {
|
|
141
|
-
if (newFilter) {
|
|
142
|
-
this.currentFilter = this.filters.find((entry, index) => newFilter.index === index ||
|
|
143
|
-
newFilter.id === entry.id ||
|
|
144
|
-
(newFilter.name && newFilter.name.toLocaleLowerCase() === entry.name.toLocaleLowerCase()));
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
selectFilterAndEmit(newFilter) {
|
|
148
|
-
this.selectFilter(newFilter);
|
|
149
|
-
this.filterSelected.emit(this.currentFilter);
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Selects and emits the clicked filter.
|
|
153
|
-
*
|
|
154
|
-
* @param filterParams filter parameters model
|
|
155
|
-
*/
|
|
156
|
-
onFilterClick(filterParams) {
|
|
157
|
-
this.selectFilter(filterParams);
|
|
158
|
-
this.filterClicked.emit(this.currentFilter);
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Select filter with task
|
|
162
|
-
*
|
|
163
|
-
* @param taskId task id
|
|
164
|
-
*/
|
|
165
|
-
selectFilterWithTask(taskId) {
|
|
166
|
-
const filteredFilterList = [];
|
|
167
|
-
this.taskListService.getFilterForTaskById(taskId, this.filters).subscribe((filterModel) => {
|
|
168
|
-
filteredFilterList.push(filterModel);
|
|
169
|
-
}, (err) => {
|
|
170
|
-
this.error.emit(err);
|
|
171
|
-
}, () => {
|
|
172
|
-
if (filteredFilterList.length > 0) {
|
|
173
|
-
this.selectFilter(filteredFilterList[0]);
|
|
174
|
-
this.filterSelected.emit(this.currentFilter);
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Get the current filter
|
|
180
|
-
*
|
|
181
|
-
* @returns filter model
|
|
182
|
-
*/
|
|
183
|
-
getCurrentFilter() {
|
|
184
|
-
return this.currentFilter;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Check if the filter list is empty
|
|
188
|
-
*
|
|
189
|
-
* @returns `true` if filter list is empty, otherwise `false`
|
|
190
|
-
*/
|
|
191
|
-
isFilterListEmpty() {
|
|
192
|
-
return this.filters === undefined || (this.filters && this.filters.length === 0);
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Get the material icons equivalent of the glyphicon icon
|
|
196
|
-
*
|
|
197
|
-
* @param icon glyphicon name
|
|
198
|
-
* @returns material icons equivalent of the icon
|
|
199
|
-
*/
|
|
200
|
-
getFilterIcon(icon) {
|
|
201
|
-
return this.iconsMDL.mapGlyphiconToMaterialDesignIcons(icon);
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Reset the filters properties
|
|
205
|
-
*/
|
|
206
|
-
resetFilter() {
|
|
207
|
-
this.filters = [];
|
|
208
|
-
this.currentFilter = undefined;
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Migrate "Involved" and "Queued" filters to "Overdue" and "Unassigned" filters
|
|
212
|
-
*
|
|
213
|
-
* @param filters - list of filters to migrate
|
|
214
|
-
* @returns list of observables for each migrated filter
|
|
215
|
-
*/
|
|
216
|
-
migrateObsoleteFilters(filters) {
|
|
217
|
-
const migratedFilters = [];
|
|
218
|
-
filters.forEach((filterToMigrate) => {
|
|
219
|
-
switch (filterToMigrate.name) {
|
|
220
|
-
case 'Involved Tasks':
|
|
221
|
-
migratedFilters.push(this.taskFilterService.updateTaskFilter(filterToMigrate.id, this.taskFilterService.getOverdueTasksFilterInstance(this.appId)));
|
|
222
|
-
break;
|
|
223
|
-
case 'Queued Tasks':
|
|
224
|
-
migratedFilters.push(this.taskFilterService.updateTaskFilter(filterToMigrate.id, this.taskFilterService.getUnassignedTasksFilterInstance(this.appId)));
|
|
225
|
-
break;
|
|
226
|
-
default:
|
|
227
|
-
break;
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
|
-
return migratedFilters;
|
|
231
|
-
}
|
|
232
|
-
setTaskFilters(taskFilters) {
|
|
233
|
-
this.resetFilter();
|
|
234
|
-
this.filters = taskFilters;
|
|
235
|
-
this.selectFilter(this.filterParam);
|
|
236
|
-
this.success.emit(taskFilters);
|
|
237
|
-
}
|
|
238
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFiltersComponent, deps: [{ token: i1.TaskFilterService }, { token: i2.TaskListService }, { token: i3.AppsProcessService }, { token: i4.Router }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
239
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TaskFiltersComponent, isStandalone: true, selector: "adf-task-filters", inputs: { filterParam: "filterParam", appId: "appId", appName: "appName", showIcon: "showIcon" }, outputs: { filterClicked: "filterClicked", filterSelected: "filterSelected", success: "success", error: "error" }, usesOnChanges: true, ngImport: i0, template: "<div *ngFor=\"let filter of filters\" class=\"adf-filters__entry\" [class.adf-active]=\"isActiveRoute(filter)\">\n <button\n (click)=\"onFilterClick(filter)\"\n [attr.aria-label]=\"filter.name | translate\"\n [id]=\"filter.id\"\n [attr.data-automation-id]=\"filter.name + '_filter'\"\n mat-button\n class=\"adf-filter-action-button adf-full-width\">\n <ng-container *ngIf=\"showIcon\">\n <adf-icon data-automation-id=\"adf-filter-icon\" [value]=\"getFilterIcon(filter.icon)\" />\n </ng-container>\n <span data-automation-id=\"adf-filter-label\" class=\"adf-filter-action-button__label\">{{ filter.name | translate }}</span>\n </button>\n</div>\n", styles: ["adf-task-filters .adf-filters__entry:has(.adf-filter-action-button){padding:0;width:100%;cursor:pointer;font-size:var(--theme-body-1-font-size);font-weight:700}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-full-width{display:flex;width:100%}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-filter-action-button{align-items:center;height:32px;justify-content:flex-start}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-filter-action-button .adf-filter-action-button__label{padding-left:20px;margin:0 8px;color:var(--theme-action-button-text-color)}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button).adf-active .adf-filter-action-button__label{color:var(--adf-sidenav-active-text-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
240
|
-
}
|
|
241
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFiltersComponent, decorators: [{
|
|
242
|
-
type: Component,
|
|
243
|
-
args: [{ selector: 'adf-task-filters', standalone: true, imports: [CommonModule, TranslatePipe, MatButtonModule, IconComponent], encapsulation: ViewEncapsulation.None, template: "<div *ngFor=\"let filter of filters\" class=\"adf-filters__entry\" [class.adf-active]=\"isActiveRoute(filter)\">\n <button\n (click)=\"onFilterClick(filter)\"\n [attr.aria-label]=\"filter.name | translate\"\n [id]=\"filter.id\"\n [attr.data-automation-id]=\"filter.name + '_filter'\"\n mat-button\n class=\"adf-filter-action-button adf-full-width\">\n <ng-container *ngIf=\"showIcon\">\n <adf-icon data-automation-id=\"adf-filter-icon\" [value]=\"getFilterIcon(filter.icon)\" />\n </ng-container>\n <span data-automation-id=\"adf-filter-label\" class=\"adf-filter-action-button__label\">{{ filter.name | translate }}</span>\n </button>\n</div>\n", styles: ["adf-task-filters .adf-filters__entry:has(.adf-filter-action-button){padding:0;width:100%;cursor:pointer;font-size:var(--theme-body-1-font-size);font-weight:700}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-full-width{display:flex;width:100%}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-filter-action-button{align-items:center;height:32px;justify-content:flex-start}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button) .adf-filter-action-button .adf-filter-action-button__label{padding-left:20px;margin:0 8px;color:var(--theme-action-button-text-color)}adf-task-filters .adf-filters__entry:has(.adf-filter-action-button).adf-active .adf-filter-action-button__label{color:var(--adf-sidenav-active-text-color)}\n"] }]
|
|
244
|
-
}], ctorParameters: () => [{ type: i1.TaskFilterService }, { type: i2.TaskListService }, { type: i3.AppsProcessService }, { type: i4.Router }, { type: i4.ActivatedRoute }], propDecorators: { filterParam: [{
|
|
245
|
-
type: Input
|
|
246
|
-
}], filterClicked: [{
|
|
247
|
-
type: Output
|
|
248
|
-
}], filterSelected: [{
|
|
249
|
-
type: Output
|
|
250
|
-
}], success: [{
|
|
251
|
-
type: Output
|
|
252
|
-
}], error: [{
|
|
253
|
-
type: Output
|
|
254
|
-
}], appId: [{
|
|
255
|
-
type: Input
|
|
256
|
-
}], appName: [{
|
|
257
|
-
type: Input
|
|
258
|
-
}], showIcon: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}] } });
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvdGFzay1saXN0L2NvbXBvbmVudHMvdGFzay1maWx0ZXJzL3Rhc2stZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL3Rhc2stbGlzdC9jb21wb25lbnRzL3Rhc2stZmlsdGVycy90YXNrLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEosT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1B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QVcsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQWhSUSxvQkFBb0I7bUdBQXBCLG9CQUFvQixzVEN4Q2pDLHV0QkFjQSxvMEJEcUJjLFlBQVksMlBBQUUsYUFBYSxpREFBRSxlQUFlLDROQUFFLGFBQWE7OzRGQUs1RCxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0ksa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxpQkFHdkQsaUJBQWlCLENBQUMsSUFBSTt1TUFRckMsV0FBVztzQkFEVixLQUFLO2dCQUtOLGFBQWE7c0JBRFosTUFBTTtnQkFLUCxjQUFjO3NCQURiLE1BQU07Z0JBS1AsT0FBTztzQkFETixNQUFNO2dCQUtQLEtBQUs7c0JBREosTUFBTTtnQkFLUCxLQUFLO3NCQURKLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQXBwc1Byb2Nlc3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBwcy1wcm9jZXNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYXNrRmlsdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rhc2stZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFza0xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFza2xpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBJY29uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9hcHAtbGlzdC9pY29uLm1vZGVsJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtdGFzay1maWx0ZXJzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZVBpcGUsIE1hdEJ1dHRvbk1vZHVsZSwgSWNvbkNvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFzay1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBUYXNrRmlsdGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiBQYXJhbWV0ZXJzIHRvIHVzZSBmb3IgdGhlIHRhc2sgZmlsdGVyLiBJZiB0aGVyZSBpcyBubyBtYXRjaCB0aGVuXG4gICAgICogdGhlIGRlZmF1bHQgZmlsdGVyICh0aGUgZmlyc3Qgb25lIHRoZSBsaXN0KSBpcyBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbHRlclBhcmFtOiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhIGZpbHRlciBpcyBiZWluZyBjbGlja2VkIGZyb20gdGhlIFVJLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZpbHRlckNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb24+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsdGVyIGlzIGJlaW5nIHNlbGVjdGVkIGJhc2VkIG9uIHRoZSBmaWx0ZXJQYXJhbSBpbnB1dC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmaWx0ZXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbj4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxpc3QgaXMgbG9hZGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYW4gZXJyb3Igb2NjdXJzIGR1cmluZyBsb2FkaW5nLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKiogRGlzcGxheSBmaWx0ZXJzIGF2YWlsYWJsZSB0byB0aGUgY3VycmVudCB1c2VyIGZvciB0aGUgYXBwbGljYXRpb24gd2l0aCB0aGUgc3BlY2lmaWVkIElELiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXBwSWQ6IG51bWJlcjtcblxuICAgIC8qKiBEaXNwbGF5IGZpbHRlcnMgYXZhaWxhYmxlIHRvIHRoZSBjdXJyZW50IHVzZXIgZm9yIHRoZSBhcHBsaWNhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFwcE5hbWU6IHN0cmluZztcblxuICAgIC8qKiBUb2dnbGVzIGRpc3BsYXkgb2YgdGhlIGZpbHRlcidzIGljb24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93SWNvbjogYm9vbGVhbjtcblxuICAgIGN1cnJlbnRGaWx0ZXI6IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb247XG4gICAgZmlsdGVyczogVXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbltdID0gW107XG5cbiAgICBpc1Rhc2tSb3V0ZTogYm9vbGVhbjtcbiAgICBpc1Rhc2tBY3RpdmU6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGljb25zTURMOiBJY29uTW9kZWw7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0YXNrRmlsdGVyU2VydmljZTogVGFza0ZpbHRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGFza0xpc3RTZXJ2aWNlOiBUYXNrTGlzdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwc1Byb2Nlc3NTZXJ2aWNlOiBBcHBzUHJvY2Vzc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaWNvbnNNREwgPSBuZXcgSWNvbk1vZGVsKCk7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChuYXZpZ2F0aW9uU3RhcnQ6IE5hdmlnYXRpb25TdGFydCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVJvdXRlID0gbmF2aWdhdGlvblN0YXJ0LnVybDtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVGFza0FjdGl2ZSA9IGFjdGl2ZVJvdXRlLmluY2x1ZGVzKCd0YXNrcycpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUudXJsLnN1YnNjcmliZSgoc2VnbWVudHMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHNlZ21lbnRzLmpvaW4oJy8nKTtcbiAgICAgICAgICAgIHRoaXMuaXNUYXNrUm91dGUgPSBjdXJyZW50Um91dGUuaW5jbHVkZXMoJ3Rhc2tzJyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgYXBwTmFtZSA9IGNoYW5nZXNbJ2FwcE5hbWUnXTtcbiAgICAgICAgY29uc3QgYXBwSWQgPSBjaGFuZ2VzWydhcHBJZCddO1xuICAgICAgICBjb25zdCBmaWx0ZXJQYXJhbSA9IGNoYW5nZXNbJ2ZpbHRlclBhcmFtJ107XG4gICAgICAgIGlmIChhcHBOYW1lPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0RmlsdGVyc0J5QXBwTmFtZShhcHBOYW1lLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoYXBwSWQgJiYgYXBwSWQuY3VycmVudFZhbHVlICE9PSBhcHBJZC5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmdldEZpbHRlcnNCeUFwcElkKGFwcElkLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyUGFyYW0gJiYgZmlsdGVyUGFyYW0uY3VycmVudFZhbHVlICE9PSBmaWx0ZXJQYXJhbS5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEZpbHRlckFuZEVtaXQoZmlsdGVyUGFyYW0uY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzQWN0aXZlUm91dGUoZmlsdGVyQWN0aXZlOiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAodGhpcy5pc1Rhc2tBY3RpdmUgfHwgdGhpcy5pc1Rhc2tSb3V0ZSkgJiYgdGhpcy5jdXJyZW50RmlsdGVyID09PSBmaWx0ZXJBY3RpdmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBmaWx0ZXIgbGlzdCBmaWx0ZXJlZCBieSBhcHBJZFxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcElkIC0gb3B0aW9uYWxcbiAgICAgKi9cbiAgICBnZXRGaWx0ZXJzQnlBcHBJZChhcHBJZD86IG51bWJlcikge1xuICAgICAgICB0aGlzLnRhc2tGaWx0ZXJTZXJ2aWNlLmdldFRhc2tMaXN0RmlsdGVycyhhcHBJZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXMubGVuZ3RoID09PSAwICYmIHRoaXMuaXNGaWx0ZXJMaXN0RW1wdHkoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUZpbHRlcnNCeUFwcElkKGFwcElkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtaWdyYXRlZEZpbHRlcnMgPSB0aGlzLm1pZ3JhdGVPYnNvbGV0ZUZpbHRlcnMocmVzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1pZ3JhdGVkRmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JrSm9pbihtaWdyYXRlZEZpbHRlcnMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRUYXNrRmlsdGVycyhyZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFRhc2tGaWx0ZXJzKHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBmaWx0ZXIgbGlzdCBmaWx0ZXJlZCBieSBhcHBOYW1lXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBhcHBsaWNhdGlvbiBuYW1lXG4gICAgICovXG4gICAgZ2V0RmlsdGVyc0J5QXBwTmFtZShhcHBOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBzUHJvY2Vzc1NlcnZpY2UuZ2V0RGVwbG95ZWRBcHBsaWNhdGlvbnNCeU5hbWUoYXBwTmFtZSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGFwcGxpY2F0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRGaWx0ZXJzQnlBcHBJZChhcHBsaWNhdGlvbi5pZCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBkZWZhdWx0IGZpbHRlcnMgYnkgYXBwSWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBJZCBhcHBsaWNhdGlvbiBpZFxuICAgICAqL1xuICAgIHByaXZhdGUgY3JlYXRlRmlsdGVyc0J5QXBwSWQoYXBwSWQ/OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YXNrRmlsdGVyU2VydmljZS5jcmVhdGVEZWZhdWx0RmlsdGVycyhhcHBJZCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKHJlc0RlZmF1bHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFRhc2tGaWx0ZXJzKHJlc0RlZmF1bHQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlcnJEZWZhdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyRGVmYXVsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzcyB0aGUgc2VsZWN0ZWQgZmlsdGVyIGFzIG5leHRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdGaWx0ZXIgbmV3IGZpbHRlciBtb2RlbFxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3RGaWx0ZXIobmV3RmlsdGVyOiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmIChuZXdGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEZpbHRlciA9IHRoaXMuZmlsdGVycy5maW5kKFxuICAgICAgICAgICAgICAgIChlbnRyeSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZpbHRlci5pbmRleCA9PT0gaW5kZXggfHxcbiAgICAgICAgICAgICAgICAgICAgbmV3RmlsdGVyLmlkID09PSBlbnRyeS5pZCB8fFxuICAgICAgICAgICAgICAgICAgICAobmV3RmlsdGVyLm5hbWUgJiYgbmV3RmlsdGVyLm5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gZW50cnkubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0RmlsdGVyQW5kRW1pdChuZXdGaWx0ZXI6IFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIobmV3RmlsdGVyKTtcbiAgICAgICAgdGhpcy5maWx0ZXJTZWxlY3RlZC5lbWl0KHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0cyBhbmQgZW1pdHMgdGhlIGNsaWNrZWQgZmlsdGVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbHRlclBhcmFtcyBmaWx0ZXIgcGFyYW1ldGVycyBtb2RlbFxuICAgICAqL1xuICAgIG9uRmlsdGVyQ2xpY2soZmlsdGVyUGFyYW1zOiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyKGZpbHRlclBhcmFtcyk7XG4gICAgICAgIHRoaXMuZmlsdGVyQ2xpY2tlZC5lbWl0KHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGZpbHRlciB3aXRoIHRhc2tcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXNrSWQgdGFzayBpZFxuICAgICAqL1xuICAgIHNlbGVjdEZpbHRlcldpdGhUYXNrKHRhc2tJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRmlsdGVyTGlzdDogVXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbltdID0gW107XG4gICAgICAgIHRoaXMudGFza0xpc3RTZXJ2aWNlLmdldEZpbHRlckZvclRhc2tCeUlkKHRhc2tJZCwgdGhpcy5maWx0ZXJzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoZmlsdGVyTW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZEZpbHRlckxpc3QucHVzaChmaWx0ZXJNb2RlbCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnIpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyZWRGaWx0ZXJMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIoZmlsdGVyZWRGaWx0ZXJMaXN0WzBdKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJTZWxlY3RlZC5lbWl0KHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgY3VycmVudCBmaWx0ZXJcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGZpbHRlciBtb2RlbFxuICAgICAqL1xuICAgIGdldEN1cnJlbnRGaWx0ZXIoKTogVXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRGaWx0ZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGZpbHRlciBsaXN0IGlzIGVtcHR5XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgZmlsdGVyIGxpc3QgaXMgZW1wdHksIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgaXNGaWx0ZXJMaXN0RW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcnMgPT09IHVuZGVmaW5lZCB8fCAodGhpcy5maWx0ZXJzICYmIHRoaXMuZmlsdGVycy5sZW5ndGggPT09IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgbWF0ZXJpYWwgaWNvbnMgZXF1aXZhbGVudCBvZiB0aGUgZ2x5cGhpY29uIGljb25cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpY29uIGdseXBoaWNvbiBuYW1lXG4gICAgICogQHJldHVybnMgbWF0ZXJpYWwgaWNvbnMgZXF1aXZhbGVudCBvZiB0aGUgaWNvblxuICAgICAqL1xuICAgIGdldEZpbHRlckljb24oaWNvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbnNNREwubWFwR2x5cGhpY29uVG9NYXRlcmlhbERlc2lnbkljb25zKGljb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0IHRoZSBmaWx0ZXJzIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlc2V0RmlsdGVyKCkge1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSBbXTtcbiAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1pZ3JhdGUgXCJJbnZvbHZlZFwiIGFuZCBcIlF1ZXVlZFwiIGZpbHRlcnMgdG8gXCJPdmVyZHVlXCIgYW5kIFwiVW5hc3NpZ25lZFwiIGZpbHRlcnNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJzIC0gbGlzdCBvZiBmaWx0ZXJzIHRvIG1pZ3JhdGVcbiAgICAgKiBAcmV0dXJucyBsaXN0IG9mIG9ic2VydmFibGVzIGZvciBlYWNoIG1pZ3JhdGVkIGZpbHRlclxuICAgICAqL1xuICAgIHByaXZhdGUgbWlncmF0ZU9ic29sZXRlRmlsdGVycyhmaWx0ZXJzOiBVc2VyVGFza0ZpbHRlclJlcHJlc2VudGF0aW9uW10pOiBPYnNlcnZhYmxlPFVzZXJUYXNrRmlsdGVyUmVwcmVzZW50YXRpb24+W10ge1xuICAgICAgICBjb25zdCBtaWdyYXRlZEZpbHRlcnM6IE9ic2VydmFibGU8VXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbj5bXSA9IFtdO1xuICAgICAgICBmaWx0ZXJzLmZvckVhY2goKGZpbHRlclRvTWlncmF0ZSkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChmaWx0ZXJUb01pZ3JhdGUubmFtZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ0ludm9sdmVkIFRhc2tzJzpcbiAgICAgICAgICAgICAgICAgICAgbWlncmF0ZWRGaWx0ZXJzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhc2tGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVRhc2tGaWx0ZXIoZmlsdGVyVG9NaWdyYXRlLmlkLCB0aGlzLnRhc2tGaWx0ZXJTZXJ2aWNlLmdldE92ZXJkdWVUYXNrc0ZpbHRlckluc3RhbmNlKHRoaXMuYXBwSWQpKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdRdWV1ZWQgVGFza3MnOlxuICAgICAgICAgICAgICAgICAgICBtaWdyYXRlZEZpbHRlcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFza0ZpbHRlclNlcnZpY2UudXBkYXRlVGFza0ZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJUb01pZ3JhdGUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YXNrRmlsdGVyU2VydmljZS5nZXRVbmFzc2lnbmVkVGFza3NGaWx0ZXJJbnN0YW5jZSh0aGlzLmFwcElkKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBtaWdyYXRlZEZpbHRlcnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRUYXNrRmlsdGVycyh0YXNrRmlsdGVyczogVXNlclRhc2tGaWx0ZXJSZXByZXNlbnRhdGlvbltdKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzZXRGaWx0ZXIoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJzID0gdGFza0ZpbHRlcnM7XG4gICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyKHRoaXMuZmlsdGVyUGFyYW0pO1xuICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0YXNrRmlsdGVycyk7XG4gICAgfVxufVxuIiwiPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlcnNcIiBjbGFzcz1cImFkZi1maWx0ZXJzX19lbnRyeVwiIFtjbGFzcy5hZGYtYWN0aXZlXT1cImlzQWN0aXZlUm91dGUoZmlsdGVyKVwiPlxuICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cIm9uRmlsdGVyQ2xpY2soZmlsdGVyKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsdGVyLm5hbWUgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbaWRdPVwiZmlsdGVyLmlkXCJcbiAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cImZpbHRlci5uYW1lICsgJ19maWx0ZXInXCJcbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICBjbGFzcz1cImFkZi1maWx0ZXItYWN0aW9uLWJ1dHRvbiBhZGYtZnVsbC13aWR0aFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0ljb25cIj5cbiAgICAgICAgICAgIDxhZGYtaWNvbiBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtZmlsdGVyLWljb25cIiBbdmFsdWVdPVwiZ2V0RmlsdGVySWNvbihmaWx0ZXIuaWNvbilcIiAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHNwYW4gZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWZpbHRlci1sYWJlbFwiIGNsYXNzPVwiYWRmLWZpbHRlci1hY3Rpb24tYnV0dG9uX19sYWJlbFwiPnt7IGZpbHRlci5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { Directive, Input, Output, EventEmitter, HostListener } from '@angular/core';
|
|
18
|
-
import { TaskListService } from '../../services/tasklist.service';
|
|
19
|
-
import * as i0 from "@angular/core";
|
|
20
|
-
import * as i1 from "../../services/tasklist.service";
|
|
21
|
-
export class ClaimTaskDirective {
|
|
22
|
-
constructor(taskListService) {
|
|
23
|
-
this.taskListService = taskListService;
|
|
24
|
-
/** Emitted when the task is claimed. */
|
|
25
|
-
this.success = new EventEmitter();
|
|
26
|
-
/** Emitted when the task cannot be claimed. */
|
|
27
|
-
this.error = new EventEmitter();
|
|
28
|
-
this.invalidParams = [];
|
|
29
|
-
}
|
|
30
|
-
onClick() {
|
|
31
|
-
try {
|
|
32
|
-
this.claimTask();
|
|
33
|
-
}
|
|
34
|
-
catch (error) {
|
|
35
|
-
this.error.emit(error);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
ngOnInit() {
|
|
39
|
-
this.validateInputs();
|
|
40
|
-
}
|
|
41
|
-
validateInputs() {
|
|
42
|
-
if (!this.isTaskValid()) {
|
|
43
|
-
this.invalidParams.push('taskId');
|
|
44
|
-
}
|
|
45
|
-
if (this.invalidParams.length) {
|
|
46
|
-
throw new Error(`Attribute ${this.invalidParams.join(', ')} is required`);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
isTaskValid() {
|
|
50
|
-
return this.taskId && this.taskId.length > 0;
|
|
51
|
-
}
|
|
52
|
-
claimTask() {
|
|
53
|
-
this.taskListService.claimTask(this.taskId).subscribe(() => {
|
|
54
|
-
this.success.emit(this.taskId);
|
|
55
|
-
}, (error) => this.error.emit(error));
|
|
56
|
-
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ClaimTaskDirective, deps: [{ token: i1.TaskListService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
58
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ClaimTaskDirective, isStandalone: true, selector: "[adf-claim-task]", inputs: { taskId: "taskId" }, outputs: { success: "success", error: "error" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ClaimTaskDirective, decorators: [{
|
|
61
|
-
type: Directive,
|
|
62
|
-
args: [{
|
|
63
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
64
|
-
selector: '[adf-claim-task]',
|
|
65
|
-
standalone: true
|
|
66
|
-
}]
|
|
67
|
-
}], ctorParameters: () => [{ type: i1.TaskListService }], propDecorators: { taskId: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], success: [{
|
|
70
|
-
type: Output
|
|
71
|
-
}], error: [{
|
|
72
|
-
type: Output
|
|
73
|
-
}], onClick: [{
|
|
74
|
-
type: HostListener,
|
|
75
|
-
args: ['click']
|
|
76
|
-
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhaW0tdGFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL3Rhc2stbGlzdC9jb21wb25lbnRzL3Rhc2stZm9ybS9jbGFpbS10YXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQU9sRSxNQUFNLE9BQU8sa0JBQWtCO0lBZTNCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVZwRCx3Q0FBd0M7UUFFeEMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbEMsK0NBQStDO1FBRS9DLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWhDLGtCQUFhLEdBQWEsRUFBRSxDQUFDO0lBRTBCLENBQUM7SUFHeEQsT0FBTztRQUNILElBQUksQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUUsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sU0FBUztRQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQ2pELEdBQUcsRUFBRTtZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUNwQyxDQUFDO0lBQ04sQ0FBQzsrR0FuRFEsa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7b0ZBSUcsTUFBTTtzQkFETCxLQUFLO2dCQUtOLE9BQU87c0JBRE4sTUFBTTtnQkFLUCxLQUFLO3NCQURKLE1BQU07Z0JBUVAsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFza0xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFza2xpc3Quc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbYWRmLWNsYWltLXRhc2tdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIENsYWltVGFza0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqIChSZXF1aXJlZCkgVGhlIGlkIG9mIHRoZSB0YXNrLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGFza0lkOiBzdHJpbmc7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0YXNrIGlzIGNsYWltZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdGFzayBjYW5ub3QgYmUgY2xhaW1lZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgaW52YWxpZFBhcmFtczogc3RyaW5nW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFza0xpc3RTZXJ2aWNlOiBUYXNrTGlzdFNlcnZpY2UpIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuY2xhaW1UYXNrKCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVJbnB1dHMoKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZUlucHV0cygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVGFza1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW52YWxpZFBhcmFtcy5wdXNoKCd0YXNrSWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmludmFsaWRQYXJhbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEF0dHJpYnV0ZSAke3RoaXMuaW52YWxpZFBhcmFtcy5qb2luKCcsICcpfSBpcyByZXF1aXJlZGApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNUYXNrVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tJZCAmJiB0aGlzLnRhc2tJZC5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xhaW1UYXNrKCkge1xuICAgICAgICB0aGlzLnRhc2tMaXN0U2VydmljZS5jbGFpbVRhc2sodGhpcy50YXNrSWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLnRhc2tJZCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVycm9yKSA9PiB0aGlzLmVycm9yLmVtaXQoZXJyb3IpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|