@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.
Files changed (125) hide show
  1. package/fesm2022/adf-process-services.mjs +297 -301
  2. package/fesm2022/adf-process-services.mjs.map +1 -1
  3. package/package.json +4 -6
  4. package/esm2022/adf-process-services.mjs +0 -5
  5. package/esm2022/lib/app-list/apps-list.component.mjs +0 -195
  6. package/esm2022/lib/app-list/icon.model.mjs +0 -166
  7. package/esm2022/lib/app-list/index.mjs +0 -18
  8. package/esm2022/lib/app-list/public-api.mjs +0 -23
  9. package/esm2022/lib/app-list/select-apps-dialog/select-apps-dialog.component.mjs +0 -53
  10. package/esm2022/lib/attachment/create-process-attachment/create-process-attachment.component.mjs +0 -73
  11. package/esm2022/lib/attachment/create-task-attachment/create-task-attachment.component.mjs +0 -73
  12. package/esm2022/lib/attachment/index.mjs +0 -18
  13. package/esm2022/lib/attachment/process-attachment-list/process-attachment-list.component.mjs +0 -197
  14. package/esm2022/lib/attachment/public-api.mjs +0 -31
  15. package/esm2022/lib/attachment/task-attachment-list/task-attachment-list.component.mjs +0 -196
  16. package/esm2022/lib/compat/types.mjs +0 -18
  17. package/esm2022/lib/form/events/validate-dynamic-table-row.event.mjs +0 -26
  18. package/esm2022/lib/form/form-custom-outcomes.component.mjs +0 -31
  19. package/esm2022/lib/form/form-list/form-list.component.mjs +0 -50
  20. package/esm2022/lib/form/form.component.mjs +0 -346
  21. package/esm2022/lib/form/index.mjs +0 -18
  22. package/esm2022/lib/form/model/form-definition.model.mjs +0 -92
  23. package/esm2022/lib/form/process-form-rendering.service.mjs +0 -55
  24. package/esm2022/lib/form/public-api.mjs +0 -32
  25. package/esm2022/lib/form/services/activiti-alfresco.service.mjs +0 -113
  26. package/esm2022/lib/form/services/ecm-model.service.mjs +0 -156
  27. package/esm2022/lib/form/services/editor.service.mjs +0 -87
  28. package/esm2022/lib/form/services/external-alfresco-api.service.mjs +0 -57
  29. package/esm2022/lib/form/services/index.mjs +0 -26
  30. package/esm2022/lib/form/services/model.service.mjs +0 -130
  31. package/esm2022/lib/form/services/process-content.service.mjs +0 -223
  32. package/esm2022/lib/form/services/process-definition.service.mjs +0 -93
  33. package/esm2022/lib/form/services/task-form.service.mjs +0 -127
  34. package/esm2022/lib/form/services/task.service.mjs +0 -77
  35. package/esm2022/lib/form/start-form/start-form.component.mjs +0 -141
  36. package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog-component.interface.mjs +0 -18
  37. package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.component.mjs +0 -115
  38. package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.service.mjs +0 -100
  39. package/esm2022/lib/form/widgets/content-widget/attach-file-widget.component.mjs +0 -254
  40. package/esm2022/lib/form/widgets/content-widget/attach-folder-widget.component.mjs +0 -93
  41. package/esm2022/lib/form/widgets/content-widget/index.mjs +0 -18
  42. package/esm2022/lib/form/widgets/content-widget/public-api.mjs +0 -22
  43. package/esm2022/lib/form/widgets/document/content.widget.mjs +0 -125
  44. package/esm2022/lib/form/widgets/document/document.widget.mjs +0 -61
  45. package/esm2022/lib/form/widgets/dropdown/dropdown.widget.mjs +0 -182
  46. package/esm2022/lib/form/widgets/dynamic-table/dynamic-table.widget.mjs +0 -192
  47. package/esm2022/lib/form/widgets/dynamic-table/editors/amount/amount.editor.mjs +0 -47
  48. package/esm2022/lib/form/widgets/dynamic-table/editors/boolean/boolean.editor.mjs +0 -42
  49. package/esm2022/lib/form/widgets/dynamic-table/editors/date/date.editor.mjs +0 -84
  50. package/esm2022/lib/form/widgets/dynamic-table/editors/datetime/datetime.editor.mjs +0 -84
  51. package/esm2022/lib/form/widgets/dynamic-table/editors/dropdown/dropdown.editor.mjs +0 -95
  52. package/esm2022/lib/form/widgets/dynamic-table/editors/models/cell-validator.model.mjs +0 -18
  53. package/esm2022/lib/form/widgets/dynamic-table/editors/models/date-cell-validator-model.mjs +0 -47
  54. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-row-validation-summary.model.mjs +0 -24
  55. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-column-option.model.mjs +0 -18
  56. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-column.model.mjs +0 -18
  57. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-row.model.mjs +0 -18
  58. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table.widget.model.mjs +0 -159
  59. package/esm2022/lib/form/widgets/dynamic-table/editors/models/number-cell-validator.model.mjs +0 -45
  60. package/esm2022/lib/form/widgets/dynamic-table/editors/models/required-cell-validator.model.mjs +0 -40
  61. package/esm2022/lib/form/widgets/dynamic-table/editors/row-editor/row.editor.mjs +0 -89
  62. package/esm2022/lib/form/widgets/dynamic-table/editors/text/text.editor.mjs +0 -47
  63. package/esm2022/lib/form/widgets/dynamic-table/index.mjs +0 -18
  64. package/esm2022/lib/form/widgets/dynamic-table/public-api.mjs +0 -44
  65. package/esm2022/lib/form/widgets/file-viewer/file-viewer.widget.mjs +0 -46
  66. package/esm2022/lib/form/widgets/functional-group/functional-group.widget.mjs +0 -167
  67. package/esm2022/lib/form/widgets/index.mjs +0 -18
  68. package/esm2022/lib/form/widgets/people/people.widget.mjs +0 -169
  69. package/esm2022/lib/form/widgets/public-api.mjs +0 -54
  70. package/esm2022/lib/form/widgets/radio-buttons/radio-buttons.widget.mjs +0 -97
  71. package/esm2022/lib/form/widgets/typeahead/typeahead.widget.mjs +0 -152
  72. package/esm2022/lib/form/widgets/upload/upload.widget.mjs +0 -128
  73. package/esm2022/lib/people/components/people/people.component.mjs +0 -124
  74. package/esm2022/lib/people/components/people-list/people-list.component.mjs +0 -74
  75. package/esm2022/lib/people/components/people-search/people-search.component.mjs +0 -83
  76. package/esm2022/lib/people/components/people-search-field/people-search-field.component.mjs +0 -90
  77. package/esm2022/lib/people/components/people-selector/people-selector.component.mjs +0 -76
  78. package/esm2022/lib/people/helpers/get-display-user.mjs +0 -22
  79. package/esm2022/lib/people/index.mjs +0 -18
  80. package/esm2022/lib/people/interfaces/perform-search-callback.interface.mjs +0 -18
  81. package/esm2022/lib/people/public-api.mjs +0 -35
  82. package/esm2022/lib/process-comments/index.mjs +0 -21
  83. package/esm2022/lib/process-comments/process-comments.component.mjs +0 -45
  84. package/esm2022/lib/process-comments/services/comment-process.service.mjs +0 -77
  85. package/esm2022/lib/process-list/components/process-audit/process-audit.directive.mjs +0 -105
  86. package/esm2022/lib/process-list/components/process-filters/process-filters.component.mjs +0 -211
  87. package/esm2022/lib/process-list/components/process-instance-details/process-instance-details.component.mjs +0 -142
  88. package/esm2022/lib/process-list/components/process-instance-header/process-instance-header.component.mjs +0 -123
  89. package/esm2022/lib/process-list/components/process-instance-tasks/process-instance-tasks.component.mjs +0 -163
  90. package/esm2022/lib/process-list/components/process-list/process-list.component.mjs +0 -327
  91. package/esm2022/lib/process-list/components/start-process/start-process.component.mjs +0 -423
  92. package/esm2022/lib/process-list/index.mjs +0 -18
  93. package/esm2022/lib/process-list/public-api.mjs +0 -44
  94. package/esm2022/lib/process-list/services/process-filter.service.mjs +0 -182
  95. package/esm2022/lib/process-list/services/process.service.mjs +0 -259
  96. package/esm2022/lib/process.module.mjs +0 -132
  97. package/esm2022/lib/services/apps-process.service.mjs +0 -58
  98. package/esm2022/lib/services/people-process.service.mjs +0 -124
  99. package/esm2022/lib/services/task-comments.service.mjs +0 -65
  100. package/esm2022/lib/task-comments/index.mjs +0 -21
  101. package/esm2022/lib/task-comments/task-comments.component.mjs +0 -44
  102. package/esm2022/lib/task-list/components/attach-form/attach-form.component.mjs +0 -127
  103. package/esm2022/lib/task-list/components/checklist/checklist.component.mjs +0 -140
  104. package/esm2022/lib/task-list/components/start-task/start-task.component.mjs +0 -221
  105. package/esm2022/lib/task-list/components/task-details/task-details.component.mjs +0 -360
  106. package/esm2022/lib/task-list/components/task-filters/task-filters.component.mjs +0 -261
  107. package/esm2022/lib/task-list/components/task-form/claim-task.directive.mjs +0 -77
  108. package/esm2022/lib/task-list/components/task-form/task-form.component.mjs +0 -313
  109. package/esm2022/lib/task-list/components/task-form/unclaim-task.directive.mjs +0 -77
  110. package/esm2022/lib/task-list/components/task-header/task-header.component.mjs +0 -361
  111. package/esm2022/lib/task-list/components/task-list/task-list.component.mjs +0 -359
  112. package/esm2022/lib/task-list/components/task-standalone/task-standalone.component.mjs +0 -82
  113. package/esm2022/lib/task-list/index.mjs +0 -18
  114. package/esm2022/lib/task-list/models/form.model.mjs +0 -26
  115. package/esm2022/lib/task-list/models/task-details.event.mjs +0 -32
  116. package/esm2022/lib/task-list/models/task-preset.model.mjs +0 -41
  117. package/esm2022/lib/task-list/models/user-event.model.mjs +0 -18
  118. package/esm2022/lib/task-list/models/user-group.model.mjs +0 -18
  119. package/esm2022/lib/task-list/public-api.mjs +0 -60
  120. package/esm2022/lib/task-list/services/process-upload.service.mjs +0 -42
  121. package/esm2022/lib/task-list/services/task-filter.service.mjs +0 -249
  122. package/esm2022/lib/task-list/services/task-upload.service.mjs +0 -42
  123. package/esm2022/lib/task-list/services/tasklist.service.mjs +0 -251
  124. package/esm2022/lib/task-list/validators/task-description.validator.mjs +0 -26
  125. 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