@alfresco/adf-process-services-cloud 8.1.0-16500060130 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/assets/adf-process-services-cloud/i18n/de.json +0 -3
- package/bundles/assets/adf-process-services-cloud/i18n/es.json +0 -3
- package/bundles/assets/adf-process-services-cloud/i18n/fr.json +0 -3
- package/bundles/assets/adf-process-services-cloud/i18n/it.json +0 -3
- package/bundles/assets/adf-process-services-cloud/i18n/pl.json +0 -3
- package/bundles/assets/adf-process-services-cloud/i18n/pt.json +0 -3
- package/fesm2022/adf-process-services-cloud.mjs +490 -410
- package/fesm2022/adf-process-services-cloud.mjs.map +1 -1
- package/lib/app/services/apps-process-cloud.service.d.ts +2 -2
- package/lib/form/components/widgets/display-rich-text/display-rich-text.widget.scss +0 -1
- package/lib/process/start-process/components/start-process-cloud.component.d.ts +0 -1
- package/lib/process/start-process/components/start-process-cloud.component.scss +4 -0
- package/lib/process/start-process/services/start-process-cloud.service.d.ts +1 -0
- package/lib/process-services-cloud.module.d.ts +2 -1
- package/lib/screen/components/screen-cloud/screen-cloud.component.d.ts +1 -1
- package/lib/screen/public-api.d.ts +3 -1
- package/lib/screen/services/provide-screen.d.ts +37 -0
- package/lib/{services → screen/services}/screen-rendering.service.d.ts +29 -0
- package/lib/services/public-api.d.ts +0 -1
- package/lib/task/task-filters/components/base-task-filters-cloud.component.d.ts +1 -1
- package/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.d.ts +1 -1
- package/lib/task/task-list/components/base-task-list-cloud.component.d.ts +1 -1
- package/package.json +4 -6
- package/esm2022/adf-process-services-cloud.mjs +0 -5
- package/esm2022/lib/app/app-list-cloud.module.mjs +0 -20
- package/esm2022/lib/app/components/app-details-cloud/app-details-cloud.component.mjs +0 -67
- package/esm2022/lib/app/components/app-list-cloud/app-list-cloud.component.mjs +0 -125
- package/esm2022/lib/app/models/application-instance.model.mjs +0 -24
- package/esm2022/lib/app/public-api.mjs +0 -22
- package/esm2022/lib/app/services/apps-process-cloud.service.mjs +0 -97
- package/esm2022/lib/common/date-range-filter/date-range-filter.component.mjs +0 -163
- package/esm2022/lib/common/date-range-filter/date-range-filter.service.mjs +0 -97
- package/esm2022/lib/common/index.mjs +0 -18
- package/esm2022/lib/common/interface/environment.interface.mjs +0 -18
- package/esm2022/lib/common/interface/index.mjs +0 -18
- package/esm2022/lib/common/interface/public-api.mjs +0 -18
- package/esm2022/lib/common/public-api.mjs +0 -19
- package/esm2022/lib/form/components/cloud-form-rendering.service.mjs +0 -57
- package/esm2022/lib/form/components/form-cloud-custom-outcomes.component.mjs +0 -31
- package/esm2022/lib/form/components/form-cloud.component.mjs +0 -420
- package/esm2022/lib/form/components/form-definition-selector-cloud.component.mjs +0 -53
- package/esm2022/lib/form/components/spinner/form-spinner.component.mjs +0 -35
- package/esm2022/lib/form/components/widgets/attach-file/attach-file-cloud-widget.component.mjs +0 -249
- package/esm2022/lib/form/components/widgets/attach-file/file-properties-table/file-properties-table-cloud.component.mjs +0 -136
- package/esm2022/lib/form/components/widgets/data-table/data-table-adapter.widget.mjs +0 -107
- package/esm2022/lib/form/components/widgets/data-table/data-table.widget.mjs +0 -120
- package/esm2022/lib/form/components/widgets/data-table/helpers/data-table-path-parser.helper.mjs +0 -122
- package/esm2022/lib/form/components/widgets/date/date-cloud.widget.mjs +0 -189
- package/esm2022/lib/form/components/widgets/display-external-property/display-external-property.widget.mjs +0 -85
- package/esm2022/lib/form/components/widgets/display-rich-text/display-rich-text.widget.mjs +0 -80
- package/esm2022/lib/form/components/widgets/dropdown/dropdown-cloud.widget.mjs +0 -464
- package/esm2022/lib/form/components/widgets/dropdown/validators.mjs +0 -29
- package/esm2022/lib/form/components/widgets/file-viewer/file-viewer.widget.mjs +0 -46
- package/esm2022/lib/form/components/widgets/group/group-cloud.widget.mjs +0 -82
- package/esm2022/lib/form/components/widgets/people/people-cloud.widget.mjs +0 -91
- package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer-wrapper/properties-viewer-wrapper.component.mjs +0 -81
- package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer.widget.mjs +0 -53
- package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.schema.mjs +0 -86
- package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.widget.mjs +0 -116
- package/esm2022/lib/form/components/widgets/upload/upload-cloud.widget.mjs +0 -187
- package/esm2022/lib/form/form-cloud.module.mjs +0 -99
- package/esm2022/lib/form/models/form-cloud-representation.model.mjs +0 -48
- package/esm2022/lib/form/models/task-variable-cloud.model.mjs +0 -28
- package/esm2022/lib/form/public-api.mjs +0 -44
- package/esm2022/lib/form/services/content-cloud-node-selector.service.mjs +0 -120
- package/esm2022/lib/form/services/display-mode.service.mjs +0 -146
- package/esm2022/lib/form/services/form-cloud.service.interface.mjs +0 -18
- package/esm2022/lib/form/services/form-cloud.service.mjs +0 -201
- package/esm2022/lib/form/services/form-definition-selector-cloud.service.interface.mjs +0 -18
- package/esm2022/lib/form/services/form-definition-selector-cloud.service.mjs +0 -51
- package/esm2022/lib/form/services/form-utils.service.mjs +0 -37
- package/esm2022/lib/form/services/process-cloud-content.service.mjs +0 -71
- package/esm2022/lib/form/services/spinner/form-cloud-spinner.service.mjs +0 -52
- package/esm2022/lib/group/components/group-cloud.component.mjs +0 -423
- package/esm2022/lib/group/group-cloud.module.mjs +0 -33
- package/esm2022/lib/group/models/identity-group.model.mjs +0 -18
- package/esm2022/lib/group/public-api.mjs +0 -21
- package/esm2022/lib/group/services/identity-group.service.mjs +0 -89
- package/esm2022/lib/models/application-version.model.mjs +0 -21
- package/esm2022/lib/models/constant-values.type.mjs +0 -18
- package/esm2022/lib/models/data-column-custom-data.mjs +0 -18
- package/esm2022/lib/models/date-cloud-filter.model.mjs +0 -31
- package/esm2022/lib/models/date-format-cloud.model.mjs +0 -18
- package/esm2022/lib/models/engine-event-cloud.model.mjs +0 -18
- package/esm2022/lib/models/filter-cloud-model.mjs +0 -128
- package/esm2022/lib/models/process-definition-cloud.model.mjs +0 -32
- package/esm2022/lib/models/process-instance-variable.model.mjs +0 -18
- package/esm2022/lib/models/process-variable-filter.model.mjs +0 -18
- package/esm2022/lib/models/task-cloud.model.mjs +0 -23
- package/esm2022/lib/models/task-list-sorting.model.mjs +0 -40
- package/esm2022/lib/models/variable-definition.mjs +0 -18
- package/esm2022/lib/people/components/people-cloud.component.mjs +0 -498
- package/esm2022/lib/people/models/identity-user.model.mjs +0 -18
- package/esm2022/lib/people/people-cloud.module.mjs +0 -33
- package/esm2022/lib/people/public-api.mjs +0 -21
- package/esm2022/lib/people/services/identity-user.service.mjs +0 -119
- package/esm2022/lib/process/process-cloud.module.mjs +0 -40
- package/esm2022/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.mjs +0 -801
- package/esm2022/lib/process/process-filters/components/process-filter-dialog/process-filter-dialog-cloud.component.mjs +0 -58
- package/esm2022/lib/process/process-filters/components/process-filters/process-filters-cloud.component.mjs +0 -292
- package/esm2022/lib/process/process-filters/models/process-filter-cloud.model.mjs +0 -170
- package/esm2022/lib/process/process-filters/process-filters-cloud.module.mjs +0 -44
- package/esm2022/lib/process/process-filters/public-api.mjs +0 -23
- package/esm2022/lib/process/process-filters/services/process-filter-cloud.service.mjs +0 -408
- package/esm2022/lib/process/process-header/components/process-header-cloud.component.mjs +0 -137
- package/esm2022/lib/process/process-header/process-header-cloud.module.mjs +0 -33
- package/esm2022/lib/process/process-header/public-api.mjs +0 -19
- package/esm2022/lib/process/process-list/components/process-list-cloud.component.mjs +0 -593
- package/esm2022/lib/process/process-list/datatable/process-list-datatable-adapter.mjs +0 -31
- package/esm2022/lib/process/process-list/models/perocess-instance-cloud-view.model.mjs +0 -18
- package/esm2022/lib/process/process-list/models/process-cloud-preferences.mjs +0 -24
- package/esm2022/lib/process/process-list/models/process-cloud-preset.model.mjs +0 -37
- package/esm2022/lib/process/process-list/models/process-cloud-query-request.model.mjs +0 -107
- package/esm2022/lib/process/process-list/models/process-list-sorting.model.mjs +0 -40
- package/esm2022/lib/process/process-list/process-list-cloud.module.mjs +0 -45
- package/esm2022/lib/process/process-list/public-api.mjs +0 -25
- package/esm2022/lib/process/process-list/services/process-list-cloud.service.mjs +0 -253
- package/esm2022/lib/process/process-list/services/process-task-list-cloud.service.mjs +0 -109
- package/esm2022/lib/process/public-api.mjs +0 -23
- package/esm2022/lib/process/services/process-cloud.service.mjs +0 -105
- package/esm2022/lib/process/start-process/components/start-process-cloud.component.mjs +0 -465
- package/esm2022/lib/process/start-process/models/process-instance-cloud.model.mjs +0 -18
- package/esm2022/lib/process/start-process/models/process-payload-cloud.model.mjs +0 -26
- package/esm2022/lib/process/start-process/models/process-with-form-payload-cloud.model.mjs +0 -26
- package/esm2022/lib/process/start-process/public-api.mjs +0 -21
- package/esm2022/lib/process/start-process/services/start-process-cloud.service.mjs +0 -125
- package/esm2022/lib/process-services-cloud.module.mjs +0 -98
- package/esm2022/lib/providers.mjs +0 -45
- package/esm2022/lib/screen/components/screen-cloud/screen-cloud.component.mjs +0 -186
- package/esm2022/lib/screen/models/screen-cloud.model.mjs +0 -18
- package/esm2022/lib/screen/public-api.mjs +0 -18
- package/esm2022/lib/services/base-cloud.service.mjs +0 -83
- package/esm2022/lib/services/cloud-token.service.mjs +0 -23
- package/esm2022/lib/services/form-fields.interfaces.mjs +0 -55
- package/esm2022/lib/services/local-preference-cloud.service.mjs +0 -122
- package/esm2022/lib/services/notification-cloud.service.mjs +0 -45
- package/esm2022/lib/services/preference-cloud.interface.mjs +0 -18
- package/esm2022/lib/services/public-api.mjs +0 -28
- package/esm2022/lib/services/screen-rendering.service.mjs +0 -30
- package/esm2022/lib/services/task-list-cloud.service.interface.mjs +0 -18
- package/esm2022/lib/services/user-preference-cloud.service.mjs +0 -105
- package/esm2022/lib/services/variable-mapper.sevice.mjs +0 -77
- package/esm2022/lib/services/web-socket.service.mjs +0 -146
- package/esm2022/lib/task/models/start-task-cloud-request.model.mjs +0 -32
- package/esm2022/lib/task/models/task-details-cloud.model.mjs +0 -26
- package/esm2022/lib/task/models/task.model.mjs +0 -23
- package/esm2022/lib/task/public-api.mjs +0 -26
- package/esm2022/lib/task/services/task-cloud.service.mjs +0 -272
- package/esm2022/lib/task/task-cloud.module.mjs +0 -45
- package/esm2022/lib/task/task-filters/components/base-task-filters-cloud.component.mjs +0 -59
- package/esm2022/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.mjs +0 -467
- package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter/edit-service-task-filter-cloud.component.mjs +0 -205
- package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component.mjs +0 -317
- package/esm2022/lib/task/task-filters/components/service-task-filters/service-task-filters-cloud.component.mjs +0 -146
- package/esm2022/lib/task/task-filters/components/task-assignment-filter/task-assignment-filter.component.mjs +0 -142
- package/esm2022/lib/task/task-filters/components/task-filter-dialog/task-filter-dialog-cloud.component.mjs +0 -72
- package/esm2022/lib/task/task-filters/components/task-filters/task-filters-cloud.component.mjs +0 -255
- package/esm2022/lib/task/task-filters/models/filter-cloud.model.mjs +0 -207
- package/esm2022/lib/task/task-filters/public-api.mjs +0 -27
- package/esm2022/lib/task/task-filters/services/service-task-filter-cloud.service.mjs +0 -283
- package/esm2022/lib/task/task-filters/services/task-filter-cloud.service.mjs +0 -392
- package/esm2022/lib/task/task-filters/task-filters-cloud.module.mjs +0 -56
- package/esm2022/lib/task/task-form/components/task-form-cloud/task-form-cloud.component.mjs +0 -231
- package/esm2022/lib/task/task-form/components/user-task-cloud/complete-task/complete-task.directive.mjs +0 -89
- package/esm2022/lib/task/task-form/components/user-task-cloud/user-task-cloud.component.mjs +0 -309
- package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/claim-task/claim-task-cloud.directive.mjs +0 -101
- package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/unclaim-task/unclaim-task-cloud.directive.mjs +0 -87
- package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/user-task-cloud-buttons.component.mjs +0 -85
- package/esm2022/lib/task/task-form/public-api.mjs +0 -21
- package/esm2022/lib/task/task-form/task-form.module.mjs +0 -36
- package/esm2022/lib/task/task-header/components/task-header-cloud.component.mjs +0 -280
- package/esm2022/lib/task/task-header/public-api.mjs +0 -19
- package/esm2022/lib/task/task-header/task-header-cloud.module.mjs +0 -33
- package/esm2022/lib/task/task-list/components/base-task-list-cloud.component.mjs +0 -331
- package/esm2022/lib/task/task-list/components/service-task-list/service-task-list-cloud.component.mjs +0 -115
- package/esm2022/lib/task/task-list/components/task-list/datatable/task-list-datatable-adapter.mjs +0 -31
- package/esm2022/lib/task/task-list/components/task-list/task-list-cloud.component.mjs +0 -389
- package/esm2022/lib/task/task-list/models/service-task-cloud.model.mjs +0 -18
- package/esm2022/lib/task/task-list/models/task-cloud-view.model.mjs +0 -18
- package/esm2022/lib/task/task-list/public-api.mjs +0 -23
- package/esm2022/lib/task/task-list/services/service-task-list-cloud.service.mjs +0 -115
- package/esm2022/lib/task/task-list/services/task-list-cloud.service.mjs +0 -178
- package/esm2022/lib/task/task-list/task-list-cloud.module.mjs +0 -35
- package/esm2022/lib/types.mjs +0 -18
- package/esm2022/public-api.mjs +0 -40
- /package/lib/screen/{models → components/screen-cloud}/screen-cloud.model.d.ts +0 -0
|
@@ -1,392 +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 { Injectable, Inject } from '@angular/core';
|
|
18
|
-
import { of, BehaviorSubject, throwError, Subject } from 'rxjs';
|
|
19
|
-
import { TaskFilterCloudModel } from '../models/filter-cloud.model';
|
|
20
|
-
import { switchMap, map } from 'rxjs/operators';
|
|
21
|
-
import { BaseCloudService } from '../../../services/base-cloud.service';
|
|
22
|
-
import { TASK_FILTERS_SERVICE_TOKEN } from '../../../services/cloud-token.service';
|
|
23
|
-
import { NotificationCloudService } from '../../../services/notification-cloud.service';
|
|
24
|
-
import { IdentityUserService } from '../../../people/services/identity-user.service';
|
|
25
|
-
import { AdfHttpClient } from '@alfresco/adf-core/api';
|
|
26
|
-
import * as i0 from "@angular/core";
|
|
27
|
-
import * as i1 from "../../../people/services/identity-user.service";
|
|
28
|
-
import * as i2 from "../../../services/notification-cloud.service";
|
|
29
|
-
import * as i3 from "@alfresco/adf-core/api";
|
|
30
|
-
const TASK_EVENT_SUBSCRIPTION_QUERY = `
|
|
31
|
-
subscription {
|
|
32
|
-
engineEvents(eventType: [
|
|
33
|
-
TASK_COMPLETED
|
|
34
|
-
TASK_ASSIGNED
|
|
35
|
-
TASK_ACTIVATED
|
|
36
|
-
TASK_SUSPENDED
|
|
37
|
-
TASK_CANCELLED,
|
|
38
|
-
TASK_CREATED
|
|
39
|
-
]) {
|
|
40
|
-
eventType
|
|
41
|
-
entity
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
`;
|
|
45
|
-
export class TaskFilterCloudService extends BaseCloudService {
|
|
46
|
-
constructor(identityUserService, preferenceService, notificationCloudService, adfHttpClient) {
|
|
47
|
-
super(adfHttpClient);
|
|
48
|
-
this.identityUserService = identityUserService;
|
|
49
|
-
this.preferenceService = preferenceService;
|
|
50
|
-
this.notificationCloudService = notificationCloudService;
|
|
51
|
-
this.filtersSubject = new BehaviorSubject([]);
|
|
52
|
-
this.filters$ = this.filtersSubject.asObservable();
|
|
53
|
-
this.filterKeyToBeRefreshedSource = new Subject();
|
|
54
|
-
this.filterKeyToBeRefreshed$ = this.filterKeyToBeRefreshedSource.asObservable();
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Creates and returns the default task filters for an app.
|
|
58
|
-
*
|
|
59
|
-
* @param appName Name of the target app
|
|
60
|
-
*/
|
|
61
|
-
createDefaultFilters(appName) {
|
|
62
|
-
const key = this.prepareKey(appName);
|
|
63
|
-
this.preferenceService
|
|
64
|
-
.getPreferences(appName, key)
|
|
65
|
-
.pipe(switchMap((response) => {
|
|
66
|
-
const preferences = response?.list?.entries || [];
|
|
67
|
-
if (!this.hasPreferences(preferences) || !this.hasTaskFilters(preferences, key)) {
|
|
68
|
-
return this.createTaskFilters(appName, key, this.defaultTaskFilters(appName));
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
return of(this.findFiltersByKeyInPreferences(preferences, key));
|
|
72
|
-
}
|
|
73
|
-
}), switchMap((filters) => this.handleCreateFilterBackwardsCompatibility(appName, key, filters)))
|
|
74
|
-
.subscribe((filters) => {
|
|
75
|
-
this.addFiltersToStream(filters);
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Checks user preference are empty or not
|
|
80
|
-
*
|
|
81
|
-
* @param preferences User preferences of the target app
|
|
82
|
-
* @returns Boolean value if the preferences are not empty
|
|
83
|
-
*/
|
|
84
|
-
hasPreferences(preferences) {
|
|
85
|
-
return preferences && preferences.length > 0;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Checks for task filters in given user preferences
|
|
89
|
-
*
|
|
90
|
-
* @param preferences User preferences of the target app
|
|
91
|
-
* @param key Key of the task filters
|
|
92
|
-
* @returns Boolean value if the preference has task filters
|
|
93
|
-
*/
|
|
94
|
-
hasTaskFilters(preferences, key) {
|
|
95
|
-
const filters = preferences.find((filter) => filter.entry.key === key);
|
|
96
|
-
return filters?.entry ? JSON.parse(filters.entry.value).length > 0 : false;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Calls create preference api to create task filters
|
|
100
|
-
*
|
|
101
|
-
* @param appName Name of the target app
|
|
102
|
-
* @param key Key of the task instance filters
|
|
103
|
-
* @param filters Details of new task filter
|
|
104
|
-
* @returns Observable of created task filters
|
|
105
|
-
*/
|
|
106
|
-
createTaskFilters(appName, key, filters) {
|
|
107
|
-
return this.preferenceService.createPreference(appName, key, filters);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Calls get preference api to get task filter by preference key
|
|
111
|
-
*
|
|
112
|
-
* @param appName Name of the target app
|
|
113
|
-
* @param key Key of the task filters
|
|
114
|
-
* @returns Observable of task filters
|
|
115
|
-
*/
|
|
116
|
-
getTaskFiltersByKey(appName, key) {
|
|
117
|
-
return this.preferenceService.getPreferenceByKey(appName, key);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Gets all task filters for a task app.
|
|
121
|
-
*
|
|
122
|
-
* @param appName Name of the target app
|
|
123
|
-
* @returns Observable of task filter details
|
|
124
|
-
*/
|
|
125
|
-
getTaskListFilters(appName) {
|
|
126
|
-
this.createDefaultFilters(appName);
|
|
127
|
-
return this.filters$;
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Gets a task filter.
|
|
131
|
-
*
|
|
132
|
-
* @param appName Name of the target app
|
|
133
|
-
* @param id ID of the task
|
|
134
|
-
* @returns Details of the task filter
|
|
135
|
-
*/
|
|
136
|
-
getTaskFilterById(appName, id) {
|
|
137
|
-
const key = this.prepareKey(appName);
|
|
138
|
-
return this.getTaskFiltersByKey(appName, key).pipe(switchMap((filters) => {
|
|
139
|
-
if (filters && filters.length === 0) {
|
|
140
|
-
return this.createTaskFilters(appName, key, this.defaultTaskFilters(appName));
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
return of(filters);
|
|
144
|
-
}
|
|
145
|
-
}), map((filters) => filters.filter((filter) => filter.id === id)[0]));
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Adds a new task filter.
|
|
149
|
-
*
|
|
150
|
-
* @param newFilter The new filter to add
|
|
151
|
-
* @returns Observable of task instance filters with newly added filter
|
|
152
|
-
*/
|
|
153
|
-
addFilter(newFilter) {
|
|
154
|
-
const key = this.prepareKey(newFilter.appName);
|
|
155
|
-
return this.getTaskFiltersByKey(newFilter.appName, key).pipe(switchMap((filters) => {
|
|
156
|
-
if (filters?.length === 0) {
|
|
157
|
-
return this.createTaskFilters(newFilter.appName, key, [newFilter]);
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
filters.push(newFilter);
|
|
161
|
-
return this.preferenceService.updatePreference(newFilter.appName, key, filters);
|
|
162
|
-
}
|
|
163
|
-
}), map((filters) => {
|
|
164
|
-
this.addFiltersToStream(filters);
|
|
165
|
-
return filters;
|
|
166
|
-
}));
|
|
167
|
-
}
|
|
168
|
-
addFiltersToStream(filters) {
|
|
169
|
-
this.filtersSubject.next(filters);
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Updates a task filter.
|
|
173
|
-
*
|
|
174
|
-
* @param updatedFilter The filter to update
|
|
175
|
-
* @returns Observable of task instance filters with updated filter
|
|
176
|
-
*/
|
|
177
|
-
updateFilter(updatedFilter) {
|
|
178
|
-
const key = this.prepareKey(updatedFilter.appName);
|
|
179
|
-
return this.getTaskFiltersByKey(updatedFilter.appName, key).pipe(switchMap((filters) => {
|
|
180
|
-
if (filters?.length === 0) {
|
|
181
|
-
return this.createTaskFilters(updatedFilter.appName, key, [updatedFilter]);
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
const itemIndex = filters.findIndex((filter) => filter.id === updatedFilter.id);
|
|
185
|
-
filters[itemIndex] = updatedFilter;
|
|
186
|
-
return this.updateTaskFilters(updatedFilter.appName, key, filters);
|
|
187
|
-
}
|
|
188
|
-
}), map((updatedFilters) => {
|
|
189
|
-
this.addFiltersToStream(updatedFilters);
|
|
190
|
-
return updatedFilters;
|
|
191
|
-
}));
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Deletes a task filter
|
|
195
|
-
*
|
|
196
|
-
* @param deletedFilter The filter to delete
|
|
197
|
-
* @returns Observable of task instance filters without deleted filter
|
|
198
|
-
*/
|
|
199
|
-
deleteFilter(deletedFilter) {
|
|
200
|
-
const key = this.prepareKey(deletedFilter.appName);
|
|
201
|
-
return this.getTaskFiltersByKey(deletedFilter.appName, key).pipe(switchMap((filters) => {
|
|
202
|
-
if (filters?.length > 0) {
|
|
203
|
-
filters = filters.filter((filter) => filter.id !== deletedFilter.id);
|
|
204
|
-
return this.updateTaskFilters(deletedFilter.appName, key, filters);
|
|
205
|
-
}
|
|
206
|
-
return of([]);
|
|
207
|
-
}), map((filters) => {
|
|
208
|
-
this.addFiltersToStream(filters);
|
|
209
|
-
return filters;
|
|
210
|
-
}));
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Checks if given filter is a default filter
|
|
214
|
-
*
|
|
215
|
-
* @param filterName Name of the target task filter
|
|
216
|
-
* @returns Boolean value for whether the filter is a default filter
|
|
217
|
-
*/
|
|
218
|
-
isDefaultFilter(filterName) {
|
|
219
|
-
const defaultFilters = this.defaultTaskFilters();
|
|
220
|
-
return defaultFilters.findIndex((filter) => filterName === filter.name) !== -1;
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Finds a task using an object with optional query properties.
|
|
224
|
-
*
|
|
225
|
-
* @returns Task information
|
|
226
|
-
* @param taskFilter task filter model
|
|
227
|
-
*/
|
|
228
|
-
getTaskFilterCounter(taskFilter) {
|
|
229
|
-
if (taskFilter.appName || taskFilter.appName === '') {
|
|
230
|
-
const queryUrl = `${this.getBasePath(taskFilter.appName)}/query/v1/tasks`;
|
|
231
|
-
const queryParams = {
|
|
232
|
-
processInstanceId: taskFilter.processInstanceId,
|
|
233
|
-
processDefinitionId: taskFilter.processDefinitionId,
|
|
234
|
-
processDefinitionName: taskFilter.processDefinitionName,
|
|
235
|
-
assignee: taskFilter.assignee,
|
|
236
|
-
status: taskFilter.status,
|
|
237
|
-
taskName: taskFilter.taskName,
|
|
238
|
-
appName: taskFilter.appName,
|
|
239
|
-
assignmentType: taskFilter.assignmentType,
|
|
240
|
-
owner: taskFilter.owner,
|
|
241
|
-
taskId: taskFilter.taskId,
|
|
242
|
-
parentTaskId: taskFilter.parentTaskId,
|
|
243
|
-
priority: taskFilter.priority,
|
|
244
|
-
lastModifiedFrom: taskFilter.lastModifiedFrom,
|
|
245
|
-
lastModifiedTo: taskFilter.lastModifiedTo,
|
|
246
|
-
standalone: taskFilter.standalone,
|
|
247
|
-
createdDate: taskFilter.createdDate,
|
|
248
|
-
completedDate: taskFilter.completedDate,
|
|
249
|
-
completedBy: taskFilter.completedBy,
|
|
250
|
-
dueDate: taskFilter.dueDate,
|
|
251
|
-
maxItems: 1
|
|
252
|
-
};
|
|
253
|
-
return this.get(queryUrl, queryParams).pipe(map((tasks) => tasks.list.pagination.totalItems));
|
|
254
|
-
}
|
|
255
|
-
else {
|
|
256
|
-
return throwError('Appname not configured');
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
/**
|
|
260
|
-
* Calls update preference api to update task filter
|
|
261
|
-
*
|
|
262
|
-
* @param appName Name of the target app
|
|
263
|
-
* @param key Key of the task filters
|
|
264
|
-
* @param filters Details of update filter
|
|
265
|
-
* @returns Observable of updated task filters
|
|
266
|
-
*/
|
|
267
|
-
updateTaskFilters(appName, key, filters) {
|
|
268
|
-
return this.preferenceService.updatePreference(appName, key, filters);
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Creates a uniq key with appName and username
|
|
272
|
-
*
|
|
273
|
-
* @param appName Name of the target app
|
|
274
|
-
* @returns String of task filters preference key
|
|
275
|
-
*/
|
|
276
|
-
prepareKey(appName) {
|
|
277
|
-
return `task-filters-${appName}-${this.identityUserService.getCurrentUserInfo().username}`;
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Finds and returns the task filters from preferences
|
|
281
|
-
*
|
|
282
|
-
* @returns Array of TaskFilterCloudModel
|
|
283
|
-
* @param preferences preferences
|
|
284
|
-
* @param key key
|
|
285
|
-
*/
|
|
286
|
-
findFiltersByKeyInPreferences(preferences, key) {
|
|
287
|
-
const result = preferences.find((filter) => filter.entry.key === key);
|
|
288
|
-
return result?.entry ? JSON.parse(result.entry.value) : [];
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Creates and returns the default filters for a task app.
|
|
292
|
-
*
|
|
293
|
-
* @param appName Name of the target app
|
|
294
|
-
* @returns Array of TaskFilterCloudModel
|
|
295
|
-
*/
|
|
296
|
-
defaultTaskFilters(appName) {
|
|
297
|
-
return [
|
|
298
|
-
new TaskFilterCloudModel({
|
|
299
|
-
name: 'ADF_CLOUD_TASK_FILTERS.MY_TASKS',
|
|
300
|
-
key: 'my-tasks',
|
|
301
|
-
icon: 'inbox',
|
|
302
|
-
appName,
|
|
303
|
-
status: 'ASSIGNED',
|
|
304
|
-
assignee: this.identityUserService.getCurrentUserInfo().username,
|
|
305
|
-
sort: 'createdDate',
|
|
306
|
-
order: 'DESC',
|
|
307
|
-
showCounter: true
|
|
308
|
-
}),
|
|
309
|
-
new TaskFilterCloudModel({
|
|
310
|
-
name: 'ADF_CLOUD_TASK_FILTERS.QUEUED_TASKS',
|
|
311
|
-
key: 'queued-tasks',
|
|
312
|
-
icon: 'queue',
|
|
313
|
-
appName,
|
|
314
|
-
status: 'CREATED',
|
|
315
|
-
assignee: '',
|
|
316
|
-
sort: 'createdDate',
|
|
317
|
-
order: 'DESC',
|
|
318
|
-
showCounter: true
|
|
319
|
-
}),
|
|
320
|
-
new TaskFilterCloudModel({
|
|
321
|
-
name: 'ADF_CLOUD_TASK_FILTERS.COMPLETED_TASKS',
|
|
322
|
-
key: 'completed-tasks',
|
|
323
|
-
icon: 'done',
|
|
324
|
-
appName,
|
|
325
|
-
status: 'COMPLETED',
|
|
326
|
-
assignee: '',
|
|
327
|
-
sort: 'createdDate',
|
|
328
|
-
order: 'DESC'
|
|
329
|
-
})
|
|
330
|
-
];
|
|
331
|
-
}
|
|
332
|
-
getTaskNotificationSubscription(appName) {
|
|
333
|
-
return this.notificationCloudService
|
|
334
|
-
.makeGQLQuery(appName, TASK_EVENT_SUBSCRIPTION_QUERY)
|
|
335
|
-
.pipe(map((events) => events.data.engineEvents));
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* Refresh filter key
|
|
339
|
-
*
|
|
340
|
-
* @param filterKey Key of the filter
|
|
341
|
-
*/
|
|
342
|
-
refreshFilter(filterKey) {
|
|
343
|
-
this.filterKeyToBeRefreshedSource.next(filterKey);
|
|
344
|
-
}
|
|
345
|
-
/**
|
|
346
|
-
* This method is run after retrieving the filter array from preferences.
|
|
347
|
-
* It handles the backwards compatibility with the new API by looking for the new properties and their counterparts in each passed filter.
|
|
348
|
-
* If the new property is not found, it is created and assigned the value constructed from the old property.
|
|
349
|
-
* The filters are then updated in the preferences and returned.
|
|
350
|
-
* Old properties are left untouched for purposes like feature toggling.
|
|
351
|
-
*
|
|
352
|
-
* @param appName Name of the target app.
|
|
353
|
-
* @param key Key of the task filters.
|
|
354
|
-
* @param filters Array of task filters to be checked for backward compatibility.
|
|
355
|
-
* @returns Observable of task filters with updated properties.
|
|
356
|
-
*/
|
|
357
|
-
handleCreateFilterBackwardsCompatibility(appName, key, filters) {
|
|
358
|
-
filters.forEach((filter) => {
|
|
359
|
-
if (filter.taskName && !filter.taskNames) {
|
|
360
|
-
filter.taskNames = [filter.taskName];
|
|
361
|
-
}
|
|
362
|
-
if (filter.status && !filter.statuses) {
|
|
363
|
-
filter.statuses = [filter.status];
|
|
364
|
-
}
|
|
365
|
-
if (filter.assignee && !filter.assignees) {
|
|
366
|
-
filter.assignees = [filter.assignee];
|
|
367
|
-
}
|
|
368
|
-
if (filter.processDefinitionName && !filter.processDefinitionNames) {
|
|
369
|
-
filter.processDefinitionNames = [filter.processDefinitionName];
|
|
370
|
-
}
|
|
371
|
-
if (filter.completedBy?.username && !filter.completedByUsers) {
|
|
372
|
-
filter.completedByUsers = [filter.completedBy.username];
|
|
373
|
-
}
|
|
374
|
-
if (filter.priority && !filter.priorities) {
|
|
375
|
-
filter.priorities = [`${filter.priority}`];
|
|
376
|
-
}
|
|
377
|
-
});
|
|
378
|
-
return this.updateTaskFilters(appName, key, filters);
|
|
379
|
-
}
|
|
380
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFilterCloudService, deps: [{ token: i1.IdentityUserService }, { token: TASK_FILTERS_SERVICE_TOKEN }, { token: i2.NotificationCloudService }, { token: i3.AdfHttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
381
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFilterCloudService, providedIn: 'root' }); }
|
|
382
|
-
}
|
|
383
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFilterCloudService, decorators: [{
|
|
384
|
-
type: Injectable,
|
|
385
|
-
args: [{
|
|
386
|
-
providedIn: 'root'
|
|
387
|
-
}]
|
|
388
|
-
}], ctorParameters: () => [{ type: i1.IdentityUserService }, { type: undefined, decorators: [{
|
|
389
|
-
type: Inject,
|
|
390
|
-
args: [TASK_FILTERS_SERVICE_TOKEN]
|
|
391
|
-
}] }, { type: i2.NotificationCloudService }, { type: i3.AdfHttpClient }] });
|
|
392
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1maWx0ZXItY2xvdWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvc2VydmljZXMvdGFzay1maWx0ZXItY2xvdWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQUV2RCxNQUFNLDZCQUE2QixHQUFHOzs7Ozs7Ozs7Ozs7OztDQWNyQyxDQUFDO0FBS0YsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQU14RCxZQUNZLG1CQUF3QyxFQUV6QyxpQkFBa0QsRUFDakQsd0JBQWtELEVBQzFELGFBQTRCO1FBRTVCLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQU5iLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFFekMsc0JBQWlC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QUNELElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDM0QsTUFBTSxDQUFDLGdCQUFnQixHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1RCxDQUFDO1lBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN4QyxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBclhRLHNCQUFzQixxREFRbkIsMEJBQTBCO21IQVI3QixzQkFBc0IsY0FGbkIsTUFBTTs7NEZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBU1EsTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIEJlaGF2aW9yU3ViamVjdCwgdGhyb3dFcnJvciwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFza0ZpbHRlckNsb3VkTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzZUNsb3VkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jhc2UtY2xvdWQuc2VydmljZSc7XG5pbXBvcnQgeyBQcmVmZXJlbmNlQ2xvdWRTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlZmVyZW5jZS1jbG91ZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVEFTS19GSUxURVJTX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbG91ZC10b2tlbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRhc2tDbG91ZE5vZGVQYWdpbmcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdGFzay1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25DbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24tY2xvdWQuc2VydmljZSc7XG5pbXBvcnQgeyBUYXNrQ2xvdWRFbmdpbmVFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9lbmdpbmUtZXZlbnQtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgSWRlbnRpdHlVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Blb3BsZS9zZXJ2aWNlcy9pZGVudGl0eS11c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWRmSHR0cENsaWVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZS9hcGknO1xuXG5jb25zdCBUQVNLX0VWRU5UX1NVQlNDUklQVElPTl9RVUVSWSA9IGBcbiAgICBzdWJzY3JpcHRpb24ge1xuICAgICAgICBlbmdpbmVFdmVudHMoZXZlbnRUeXBlOiBbXG4gICAgICAgICAgICBUQVNLX0NPTVBMRVRFRFxuICAgICAgICAgICAgVEFTS19BU1NJR05FRFxuICAgICAgICAgICAgVEFTS19BQ1RJVkFURURcbiAgICAgICAgICAgIFRBU0tfU1VTUEVOREVEXG4gICAgICAgICAgICBUQVNLX0NBTkNFTExFRCxcbiAgICAgICAgICAgIFRBU0tfQ1JFQVRFRFxuICAgICAgICBdKSB7XG4gICAgICAgICAgICBldmVudFR5cGVcbiAgICAgICAgICAgIGVudGl0eVxuICAgICAgICB9XG4gICAgfVxuYDtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUYXNrRmlsdGVyQ2xvdWRTZXJ2aWNlIGV4dGVuZHMgQmFzZUNsb3VkU2VydmljZSB7XG4gICAgcHJpdmF0ZSBmaWx0ZXJzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFza0ZpbHRlckNsb3VkTW9kZWxbXT4oW10pO1xuICAgIGZpbHRlcnMkID0gdGhpcy5maWx0ZXJzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICBwcml2YXRlIGZpbHRlcktleVRvQmVSZWZyZXNoZWRTb3VyY2UgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gICAgZmlsdGVyS2V5VG9CZVJlZnJlc2hlZCQgPSB0aGlzLmZpbHRlcktleVRvQmVSZWZyZXNoZWRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpZGVudGl0eVVzZXJTZXJ2aWNlOiBJZGVudGl0eVVzZXJTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFRBU0tfRklMVEVSU19TRVJWSUNFX1RPS0VOKVxuICAgICAgICBwdWJsaWMgcHJlZmVyZW5jZVNlcnZpY2U6IFByZWZlcmVuY2VDbG91ZFNlcnZpY2VJbnRlcmZhY2UsXG4gICAgICAgIHByaXZhdGUgbm90aWZpY2F0aW9uQ2xvdWRTZXJ2aWNlOiBOb3RpZmljYXRpb25DbG91ZFNlcnZpY2UsXG4gICAgICAgIGFkZkh0dHBDbGllbnQ6IEFkZkh0dHBDbGllbnRcbiAgICApIHtcbiAgICAgICAgc3VwZXIoYWRmSHR0cENsaWVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbmQgcmV0dXJucyB0aGUgZGVmYXVsdCB0YXNrIGZpbHRlcnMgZm9yIGFuIGFwcC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZURlZmF1bHRGaWx0ZXJzKGFwcE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBrZXk6IHN0cmluZyA9IHRoaXMucHJlcGFyZUtleShhcHBOYW1lKTtcbiAgICAgICAgdGhpcy5wcmVmZXJlbmNlU2VydmljZVxuICAgICAgICAgICAgLmdldFByZWZlcmVuY2VzKGFwcE5hbWUsIGtleSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJlZmVyZW5jZXMgPSByZXNwb25zZT8ubGlzdD8uZW50cmllcyB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc1ByZWZlcmVuY2VzKHByZWZlcmVuY2VzKSB8fCAhdGhpcy5oYXNUYXNrRmlsdGVycyhwcmVmZXJlbmNlcywga2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlVGFza0ZpbHRlcnMoYXBwTmFtZSwga2V5LCB0aGlzLmRlZmF1bHRUYXNrRmlsdGVycyhhcHBOYW1lKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5maW5kRmlsdGVyc0J5S2V5SW5QcmVmZXJlbmNlcyhwcmVmZXJlbmNlcywga2V5KSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGZpbHRlcnMpID0+IHRoaXMuaGFuZGxlQ3JlYXRlRmlsdGVyQmFja3dhcmRzQ29tcGF0aWJpbGl0eShhcHBOYW1lLCBrZXksIGZpbHRlcnMpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZmlsdGVycykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyc1RvU3RyZWFtKGZpbHRlcnMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHVzZXIgcHJlZmVyZW5jZSBhcmUgZW1wdHkgb3Igbm90XG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJlZmVyZW5jZXMgVXNlciBwcmVmZXJlbmNlcyBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIEJvb2xlYW4gdmFsdWUgaWYgdGhlIHByZWZlcmVuY2VzIGFyZSBub3QgZW1wdHlcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhc1ByZWZlcmVuY2VzKHByZWZlcmVuY2VzOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHByZWZlcmVuY2VzICYmIHByZWZlcmVuY2VzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGZvciB0YXNrIGZpbHRlcnMgaW4gZ2l2ZW4gdXNlciBwcmVmZXJlbmNlc1xuICAgICAqXG4gICAgICogQHBhcmFtIHByZWZlcmVuY2VzIFVzZXIgcHJlZmVyZW5jZXMgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKiBAcGFyYW0ga2V5IEtleSBvZiB0aGUgdGFzayBmaWx0ZXJzXG4gICAgICogQHJldHVybnMgQm9vbGVhbiB2YWx1ZSBpZiB0aGUgcHJlZmVyZW5jZSBoYXMgdGFzayBmaWx0ZXJzXG4gICAgICovXG4gICAgcHJpdmF0ZSBoYXNUYXNrRmlsdGVycyhwcmVmZXJlbmNlczogYW55LCBrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmaWx0ZXJzID0gcHJlZmVyZW5jZXMuZmluZCgoZmlsdGVyOiBhbnkpID0+IGZpbHRlci5lbnRyeS5rZXkgPT09IGtleSk7XG4gICAgICAgIHJldHVybiBmaWx0ZXJzPy5lbnRyeSA/IEpTT04ucGFyc2UoZmlsdGVycy5lbnRyeS52YWx1ZSkubGVuZ3RoID4gMCA6IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGxzIGNyZWF0ZSBwcmVmZXJlbmNlIGFwaSB0byBjcmVhdGUgdGFzayBmaWx0ZXJzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBOYW1lIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHBhcmFtIGtleSBLZXkgb2YgdGhlIHRhc2sgaW5zdGFuY2UgZmlsdGVyc1xuICAgICAqIEBwYXJhbSBmaWx0ZXJzIERldGFpbHMgb2YgbmV3IHRhc2sgZmlsdGVyXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBjcmVhdGVkIHRhc2sgZmlsdGVyc1xuICAgICAqL1xuICAgIHByaXZhdGUgY3JlYXRlVGFza0ZpbHRlcnMoYXBwTmFtZTogc3RyaW5nLCBrZXk6IHN0cmluZywgZmlsdGVyczogVGFza0ZpbHRlckNsb3VkTW9kZWxbXSk6IE9ic2VydmFibGU8VGFza0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVmZXJlbmNlU2VydmljZS5jcmVhdGVQcmVmZXJlbmNlKGFwcE5hbWUsIGtleSwgZmlsdGVycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgZ2V0IHByZWZlcmVuY2UgYXBpIHRvIGdldCB0YXNrIGZpbHRlciBieSBwcmVmZXJlbmNlIGtleVxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEBwYXJhbSBrZXkgS2V5IG9mIHRoZSB0YXNrIGZpbHRlcnNcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHRhc2sgZmlsdGVyc1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0VGFza0ZpbHRlcnNCeUtleShhcHBOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUYXNrRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWZlcmVuY2VTZXJ2aWNlLmdldFByZWZlcmVuY2VCeUtleShhcHBOYW1lLCBrZXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYWxsIHRhc2sgZmlsdGVycyBmb3IgYSB0YXNrIGFwcC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHRhc2sgZmlsdGVyIGRldGFpbHNcbiAgICAgKi9cbiAgICBnZXRUYXNrTGlzdEZpbHRlcnMoYXBwTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8VGFza0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZURlZmF1bHRGaWx0ZXJzKGFwcE5hbWUpO1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJzJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgdGFzayBmaWx0ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBOYW1lIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHBhcmFtIGlkIElEIG9mIHRoZSB0YXNrXG4gICAgICogQHJldHVybnMgRGV0YWlscyBvZiB0aGUgdGFzayBmaWx0ZXJcbiAgICAgKi9cbiAgICBnZXRUYXNrRmlsdGVyQnlJZChhcHBOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRhc2tGaWx0ZXJDbG91ZE1vZGVsPiB7XG4gICAgICAgIGNvbnN0IGtleTogc3RyaW5nID0gdGhpcy5wcmVwYXJlS2V5KGFwcE5hbWUpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUYXNrRmlsdGVyc0J5S2V5KGFwcE5hbWUsIGtleSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoZmlsdGVycykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJzICYmIGZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVRhc2tGaWx0ZXJzKGFwcE5hbWUsIGtleSwgdGhpcy5kZWZhdWx0VGFza0ZpbHRlcnMoYXBwTmFtZSkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihmaWx0ZXJzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoZmlsdGVycykgPT4gZmlsdGVycy5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLmlkID09PSBpZClbMF0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIG5ldyB0YXNrIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdGaWx0ZXIgVGhlIG5ldyBmaWx0ZXIgdG8gYWRkXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0YXNrIGluc3RhbmNlIGZpbHRlcnMgd2l0aCBuZXdseSBhZGRlZCBmaWx0ZXJcbiAgICAgKi9cbiAgICBhZGRGaWx0ZXIobmV3RmlsdGVyOiBUYXNrRmlsdGVyQ2xvdWRNb2RlbCk6IE9ic2VydmFibGU8VGFza0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICBjb25zdCBrZXk6IHN0cmluZyA9IHRoaXMucHJlcGFyZUtleShuZXdGaWx0ZXIuYXBwTmFtZSk7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRhc2tGaWx0ZXJzQnlLZXkobmV3RmlsdGVyLmFwcE5hbWUsIGtleSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoZmlsdGVycykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJzPy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlVGFza0ZpbHRlcnMobmV3RmlsdGVyLmFwcE5hbWUsIGtleSwgW25ld0ZpbHRlcl0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcnMucHVzaChuZXdGaWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcmVmZXJlbmNlU2VydmljZS51cGRhdGVQcmVmZXJlbmNlKG5ld0ZpbHRlci5hcHBOYW1lLCBrZXksIGZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKChmaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRGaWx0ZXJzVG9TdHJlYW0oZmlsdGVycyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlcnM7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkRmlsdGVyc1RvU3RyZWFtKGZpbHRlcnM6IFRhc2tGaWx0ZXJDbG91ZE1vZGVsW10pIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzU3ViamVjdC5uZXh0KGZpbHRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgYSB0YXNrIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1cGRhdGVkRmlsdGVyIFRoZSBmaWx0ZXIgdG8gdXBkYXRlXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0YXNrIGluc3RhbmNlIGZpbHRlcnMgd2l0aCB1cGRhdGVkIGZpbHRlclxuICAgICAqL1xuICAgIHVwZGF0ZUZpbHRlcih1cGRhdGVkRmlsdGVyOiBUYXNrRmlsdGVyQ2xvdWRNb2RlbCk6IE9ic2VydmFibGU8VGFza0ZpbHRlckNsb3VkTW9kZWxbXT4ge1xuICAgICAgICBjb25zdCBrZXk6IHN0cmluZyA9IHRoaXMucHJlcGFyZUtleSh1cGRhdGVkRmlsdGVyLmFwcE5hbWUpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUYXNrRmlsdGVyc0J5S2V5KHVwZGF0ZWRGaWx0ZXIuYXBwTmFtZSwga2V5KS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChmaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcnM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVUYXNrRmlsdGVycyh1cGRhdGVkRmlsdGVyLmFwcE5hbWUsIGtleSwgW3VwZGF0ZWRGaWx0ZXJdKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSBmaWx0ZXJzLmZpbmRJbmRleCgoZmlsdGVyKSA9PiBmaWx0ZXIuaWQgPT09IHVwZGF0ZWRGaWx0ZXIuaWQpO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzW2l0ZW1JbmRleF0gPSB1cGRhdGVkRmlsdGVyO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVUYXNrRmlsdGVycyh1cGRhdGVkRmlsdGVyLmFwcE5hbWUsIGtleSwgZmlsdGVycyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKHVwZGF0ZWRGaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRGaWx0ZXJzVG9TdHJlYW0odXBkYXRlZEZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVkRmlsdGVycztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBhIHRhc2sgZmlsdGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGVsZXRlZEZpbHRlciBUaGUgZmlsdGVyIHRvIGRlbGV0ZVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgdGFzayBpbnN0YW5jZSBmaWx0ZXJzIHdpdGhvdXQgZGVsZXRlZCBmaWx0ZXJcbiAgICAgKi9cbiAgICBkZWxldGVGaWx0ZXIoZGVsZXRlZEZpbHRlcjogVGFza0ZpbHRlckNsb3VkTW9kZWwpOiBPYnNlcnZhYmxlPFRhc2tGaWx0ZXJDbG91ZE1vZGVsW10+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5wcmVwYXJlS2V5KGRlbGV0ZWRGaWx0ZXIuYXBwTmFtZSk7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRhc2tGaWx0ZXJzQnlLZXkoZGVsZXRlZEZpbHRlci5hcHBOYW1lLCBrZXkpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVycz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzID0gZmlsdGVycy5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLmlkICE9PSBkZWxldGVkRmlsdGVyLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlVGFza0ZpbHRlcnMoZGVsZXRlZEZpbHRlci5hcHBOYW1lLCBrZXksIGZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEZpbHRlcnNUb1N0cmVhbShmaWx0ZXJzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVycztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGdpdmVuIGZpbHRlciBpcyBhIGRlZmF1bHQgZmlsdGVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVyTmFtZSBOYW1lIG9mIHRoZSB0YXJnZXQgdGFzayBmaWx0ZXJcbiAgICAgKiBAcmV0dXJucyBCb29sZWFuIHZhbHVlIGZvciB3aGV0aGVyIHRoZSBmaWx0ZXIgaXMgYSBkZWZhdWx0IGZpbHRlclxuICAgICAqL1xuICAgIGlzRGVmYXVsdEZpbHRlcihmaWx0ZXJOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdEZpbHRlcnMgPSB0aGlzLmRlZmF1bHRUYXNrRmlsdGVycygpO1xuICAgICAgICByZXR1cm4gZGVmYXVsdEZpbHRlcnMuZmluZEluZGV4KChmaWx0ZXIpID0+IGZpbHRlck5hbWUgPT09IGZpbHRlci5uYW1lKSAhPT0gLTE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgYSB0YXNrIHVzaW5nIGFuIG9iamVjdCB3aXRoIG9wdGlvbmFsIHF1ZXJ5IHByb3BlcnRpZXMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUYXNrIGluZm9ybWF0aW9uXG4gICAgICogQHBhcmFtIHRhc2tGaWx0ZXIgdGFzayBmaWx0ZXIgbW9kZWxcbiAgICAgKi9cbiAgICBnZXRUYXNrRmlsdGVyQ291bnRlcih0YXNrRmlsdGVyOiBUYXNrRmlsdGVyQ2xvdWRNb2RlbCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIGlmICh0YXNrRmlsdGVyLmFwcE5hbWUgfHwgdGFza0ZpbHRlci5hcHBOYW1lID09PSAnJykge1xuICAgICAgICAgICAgY29uc3QgcXVlcnlVcmwgPSBgJHt0aGlzLmdldEJhc2VQYXRoKHRhc2tGaWx0ZXIuYXBwTmFtZSl9L3F1ZXJ5L3YxL3Rhc2tzYDtcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge1xuICAgICAgICAgICAgICAgIHByb2Nlc3NJbnN0YW5jZUlkOiB0YXNrRmlsdGVyLnByb2Nlc3NJbnN0YW5jZUlkLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uSWQ6IHRhc2tGaWx0ZXIucHJvY2Vzc0RlZmluaXRpb25JZCxcbiAgICAgICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbk5hbWU6IHRhc2tGaWx0ZXIucHJvY2Vzc0RlZmluaXRpb25OYW1lLFxuICAgICAgICAgICAgICAgIGFzc2lnbmVlOiB0YXNrRmlsdGVyLmFzc2lnbmVlLFxuICAgICAgICAgICAgICAgIHN0YXR1czogdGFza0ZpbHRlci5zdGF0dXMsXG4gICAgICAgICAgICAgICAgdGFza05hbWU6IHRhc2tGaWx0ZXIudGFza05hbWUsXG4gICAgICAgICAgICAgICAgYXBwTmFtZTogdGFza0ZpbHRlci5hcHBOYW1lLFxuICAgICAgICAgICAgICAgIGFzc2lnbm1lbnRUeXBlOiB0YXNrRmlsdGVyLmFzc2lnbm1lbnRUeXBlLFxuICAgICAgICAgICAgICAgIG93bmVyOiB0YXNrRmlsdGVyLm93bmVyLFxuICAgICAgICAgICAgICAgIHRhc2tJZDogdGFza0ZpbHRlci50YXNrSWQsXG4gICAgICAgICAgICAgICAgcGFyZW50VGFza0lkOiB0YXNrRmlsdGVyLnBhcmVudFRhc2tJZCxcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogdGFza0ZpbHRlci5wcmlvcml0eSxcbiAgICAgICAgICAgICAgICBsYXN0TW9kaWZpZWRGcm9tOiB0YXNrRmlsdGVyLmxhc3RNb2RpZmllZEZyb20sXG4gICAgICAgICAgICAgICAgbGFzdE1vZGlmaWVkVG86IHRhc2tGaWx0ZXIubGFzdE1vZGlmaWVkVG8sXG4gICAgICAgICAgICAgICAgc3RhbmRhbG9uZTogdGFza0ZpbHRlci5zdGFuZGFsb25lLFxuICAgICAgICAgICAgICAgIGNyZWF0ZWREYXRlOiB0YXNrRmlsdGVyLmNyZWF0ZWREYXRlLFxuICAgICAgICAgICAgICAgIGNvbXBsZXRlZERhdGU6IHRhc2tGaWx0ZXIuY29tcGxldGVkRGF0ZSxcbiAgICAgICAgICAgICAgICBjb21wbGV0ZWRCeTogdGFza0ZpbHRlci5jb21wbGV0ZWRCeSxcbiAgICAgICAgICAgICAgICBkdWVEYXRlOiB0YXNrRmlsdGVyLmR1ZURhdGUsXG4gICAgICAgICAgICAgICAgbWF4SXRlbXM6IDFcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQ8VGFza0Nsb3VkTm9kZVBhZ2luZz4ocXVlcnlVcmwsIHF1ZXJ5UGFyYW1zKS5waXBlKG1hcCgodGFza3MpID0+IHRhc2tzLmxpc3QucGFnaW5hdGlvbi50b3RhbEl0ZW1zKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcignQXBwbmFtZSBub3QgY29uZmlndXJlZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbHMgdXBkYXRlIHByZWZlcmVuY2UgYXBpIHRvIHVwZGF0ZSB0YXNrIGZpbHRlclxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEBwYXJhbSBrZXkgS2V5IG9mIHRoZSB0YXNrIGZpbHRlcnNcbiAgICAgKiBAcGFyYW0gZmlsdGVycyBEZXRhaWxzIG9mIHVwZGF0ZSBmaWx0ZXJcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHVwZGF0ZWQgdGFzayBmaWx0ZXJzXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVUYXNrRmlsdGVycyhhcHBOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBmaWx0ZXJzOiBUYXNrRmlsdGVyQ2xvdWRNb2RlbFtdKTogT2JzZXJ2YWJsZTxUYXNrRmlsdGVyQ2xvdWRNb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWZlcmVuY2VTZXJ2aWNlLnVwZGF0ZVByZWZlcmVuY2UoYXBwTmFtZSwga2V5LCBmaWx0ZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgdW5pcSBrZXkgd2l0aCBhcHBOYW1lIGFuZCB1c2VybmFtZVxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIFN0cmluZyBvZiB0YXNrIGZpbHRlcnMgcHJlZmVyZW5jZSBrZXlcbiAgICAgKi9cbiAgICBwcml2YXRlIHByZXBhcmVLZXkoYXBwTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGB0YXNrLWZpbHRlcnMtJHthcHBOYW1lfS0ke3RoaXMuaWRlbnRpdHlVc2VyU2VydmljZS5nZXRDdXJyZW50VXNlckluZm8oKS51c2VybmFtZX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbmRzIGFuZCByZXR1cm5zIHRoZSB0YXNrIGZpbHRlcnMgZnJvbSBwcmVmZXJlbmNlc1xuICAgICAqXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgVGFza0ZpbHRlckNsb3VkTW9kZWxcbiAgICAgKiBAcGFyYW0gcHJlZmVyZW5jZXMgcHJlZmVyZW5jZXNcbiAgICAgKiBAcGFyYW0ga2V5IGtleVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZEZpbHRlcnNCeUtleUluUHJlZmVyZW5jZXMocHJlZmVyZW5jZXM6IGFueSwga2V5OiBzdHJpbmcpOiBUYXNrRmlsdGVyQ2xvdWRNb2RlbFtdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gcHJlZmVyZW5jZXMuZmluZCgoZmlsdGVyOiBhbnkpID0+IGZpbHRlci5lbnRyeS5rZXkgPT09IGtleSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ/LmVudHJ5ID8gSlNPTi5wYXJzZShyZXN1bHQuZW50cnkudmFsdWUpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbmQgcmV0dXJucyB0aGUgZGVmYXVsdCBmaWx0ZXJzIGZvciBhIHRhc2sgYXBwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIFRhc2tGaWx0ZXJDbG91ZE1vZGVsXG4gICAgICovXG4gICAgcHJpdmF0ZSBkZWZhdWx0VGFza0ZpbHRlcnMoYXBwTmFtZT86IHN0cmluZyk6IFRhc2tGaWx0ZXJDbG91ZE1vZGVsW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgbmV3IFRhc2tGaWx0ZXJDbG91ZE1vZGVsKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnQURGX0NMT1VEX1RBU0tfRklMVEVSUy5NWV9UQVNLUycsXG4gICAgICAgICAgICAgICAga2V5OiAnbXktdGFza3MnLFxuICAgICAgICAgICAgICAgIGljb246ICdpbmJveCcsXG4gICAgICAgICAgICAgICAgYXBwTmFtZSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6ICdBU1NJR05FRCcsXG4gICAgICAgICAgICAgICAgYXNzaWduZWU6IHRoaXMuaWRlbnRpdHlVc2VyU2VydmljZS5nZXRDdXJyZW50VXNlckluZm8oKS51c2VybmFtZSxcbiAgICAgICAgICAgICAgICBzb3J0OiAnY3JlYXRlZERhdGUnLFxuICAgICAgICAgICAgICAgIG9yZGVyOiAnREVTQycsXG4gICAgICAgICAgICAgICAgc2hvd0NvdW50ZXI6IHRydWVcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IFRhc2tGaWx0ZXJDbG91ZE1vZGVsKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnQURGX0NMT1VEX1RBU0tfRklMVEVSUy5RVUVVRURfVEFTS1MnLFxuICAgICAgICAgICAgICAgIGtleTogJ3F1ZXVlZC10YXNrcycsXG4gICAgICAgICAgICAgICAgaWNvbjogJ3F1ZXVlJyxcbiAgICAgICAgICAgICAgICBhcHBOYW1lLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ0NSRUFURUQnLFxuICAgICAgICAgICAgICAgIGFzc2lnbmVlOiAnJyxcbiAgICAgICAgICAgICAgICBzb3J0OiAnY3JlYXRlZERhdGUnLFxuICAgICAgICAgICAgICAgIG9yZGVyOiAnREVTQycsXG4gICAgICAgICAgICAgICAgc2hvd0NvdW50ZXI6IHRydWVcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IFRhc2tGaWx0ZXJDbG91ZE1vZGVsKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnQURGX0NMT1VEX1RBU0tfRklMVEVSUy5DT01QTEVURURfVEFTS1MnLFxuICAgICAgICAgICAgICAgIGtleTogJ2NvbXBsZXRlZC10YXNrcycsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2RvbmUnLFxuICAgICAgICAgICAgICAgIGFwcE5hbWUsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAnQ09NUExFVEVEJyxcbiAgICAgICAgICAgICAgICBhc3NpZ25lZTogJycsXG4gICAgICAgICAgICAgICAgc29ydDogJ2NyZWF0ZWREYXRlJyxcbiAgICAgICAgICAgICAgICBvcmRlcjogJ0RFU0MnXG4gICAgICAgICAgICB9KVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGdldFRhc2tOb3RpZmljYXRpb25TdWJzY3JpcHRpb24oYXBwTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUYXNrQ2xvdWRFbmdpbmVFdmVudFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbkNsb3VkU2VydmljZVxuICAgICAgICAgICAgLm1ha2VHUUxRdWVyeShhcHBOYW1lLCBUQVNLX0VWRU5UX1NVQlNDUklQVElPTl9RVUVSWSlcbiAgICAgICAgICAgIC5waXBlKG1hcCgoZXZlbnRzOiBhbnkpID0+IGV2ZW50cy5kYXRhLmVuZ2luZUV2ZW50cykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZnJlc2ggZmlsdGVyIGtleVxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbHRlcktleSAgS2V5IG9mIHRoZSBmaWx0ZXJcbiAgICAgKi9cbiAgICByZWZyZXNoRmlsdGVyKGZpbHRlcktleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyS2V5VG9CZVJlZnJlc2hlZFNvdXJjZS5uZXh0KGZpbHRlcktleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgcnVuIGFmdGVyIHJldHJpZXZpbmcgdGhlIGZpbHRlciBhcnJheSBmcm9tIHByZWZlcmVuY2VzLlxuICAgICAqIEl0IGhhbmRsZXMgdGhlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggdGhlIG5ldyBBUEkgYnkgbG9va2luZyBmb3IgdGhlIG5ldyBwcm9wZXJ0aWVzIGFuZCB0aGVpciBjb3VudGVycGFydHMgaW4gZWFjaCBwYXNzZWQgZmlsdGVyLlxuICAgICAqIElmIHRoZSBuZXcgcHJvcGVydHkgaXMgbm90IGZvdW5kLCBpdCBpcyBjcmVhdGVkIGFuZCBhc3NpZ25lZCB0aGUgdmFsdWUgY29uc3RydWN0ZWQgZnJvbSB0aGUgb2xkIHByb3BlcnR5LlxuICAgICAqIFRoZSBmaWx0ZXJzIGFyZSB0aGVuIHVwZGF0ZWQgaW4gdGhlIHByZWZlcmVuY2VzIGFuZCByZXR1cm5lZC5cbiAgICAgKiBPbGQgcHJvcGVydGllcyBhcmUgbGVmdCB1bnRvdWNoZWQgZm9yIHB1cnBvc2VzIGxpa2UgZmVhdHVyZSB0b2dnbGluZy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIHRhcmdldCBhcHAuXG4gICAgICogQHBhcmFtIGtleSBLZXkgb2YgdGhlIHRhc2sgZmlsdGVycy5cbiAgICAgKiBAcGFyYW0gZmlsdGVycyBBcnJheSBvZiB0YXNrIGZpbHRlcnMgdG8gYmUgY2hlY2tlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHRhc2sgZmlsdGVycyB3aXRoIHVwZGF0ZWQgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGhhbmRsZUNyZWF0ZUZpbHRlckJhY2t3YXJkc0NvbXBhdGliaWxpdHkoXG4gICAgICAgIGFwcE5hbWU6IHN0cmluZyxcbiAgICAgICAga2V5OiBzdHJpbmcsXG4gICAgICAgIGZpbHRlcnM6IFRhc2tGaWx0ZXJDbG91ZE1vZGVsW11cbiAgICApOiBPYnNlcnZhYmxlPFRhc2tGaWx0ZXJDbG91ZE1vZGVsW10+IHtcbiAgICAgICAgZmlsdGVycy5mb3JFYWNoKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgIGlmIChmaWx0ZXIudGFza05hbWUgJiYgIWZpbHRlci50YXNrTmFtZXMpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXIudGFza05hbWVzID0gW2ZpbHRlci50YXNrTmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZmlsdGVyLnN0YXR1cyAmJiAhZmlsdGVyLnN0YXR1c2VzKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyLnN0YXR1c2VzID0gW2ZpbHRlci5zdGF0dXNdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGZpbHRlci5hc3NpZ25lZSAmJiAhZmlsdGVyLmFzc2lnbmVlcykge1xuICAgICAgICAgICAgICAgIGZpbHRlci5hc3NpZ25lZXMgPSBbZmlsdGVyLmFzc2lnbmVlXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmaWx0ZXIucHJvY2Vzc0RlZmluaXRpb25OYW1lICYmICFmaWx0ZXIucHJvY2Vzc0RlZmluaXRpb25OYW1lcykge1xuICAgICAgICAgICAgICAgIGZpbHRlci5wcm9jZXNzRGVmaW5pdGlvbk5hbWVzID0gW2ZpbHRlci5wcm9jZXNzRGVmaW5pdGlvbk5hbWVdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGZpbHRlci5jb21wbGV0ZWRCeT8udXNlcm5hbWUgJiYgIWZpbHRlci5jb21wbGV0ZWRCeVVzZXJzKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyLmNvbXBsZXRlZEJ5VXNlcnMgPSBbZmlsdGVyLmNvbXBsZXRlZEJ5LnVzZXJuYW1lXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmaWx0ZXIucHJpb3JpdHkgJiYgIWZpbHRlci5wcmlvcml0aWVzKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyLnByaW9yaXRpZXMgPSBbYCR7ZmlsdGVyLnByaW9yaXR5fWBdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVUYXNrRmlsdGVycyhhcHBOYW1lLCBrZXksIGZpbHRlcnMpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,56 +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 { NgModule } from '@angular/core';
|
|
18
|
-
import { TaskFiltersCloudComponent } from './components/task-filters/task-filters-cloud.component';
|
|
19
|
-
import { EditServiceTaskFilterCloudComponent } from './components/edit-task-filters/edit-service-task-filter/edit-service-task-filter-cloud.component';
|
|
20
|
-
import { EditTaskFilterCloudComponent } from './components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component';
|
|
21
|
-
import { TaskFilterDialogCloudComponent } from './components/task-filter-dialog/task-filter-dialog-cloud.component';
|
|
22
|
-
import { ServiceTaskFiltersCloudComponent } from './components/service-task-filters/service-task-filters-cloud.component';
|
|
23
|
-
import { TaskAssignmentFilterCloudComponent } from './components/task-assignment-filter/task-assignment-filter.component';
|
|
24
|
-
import * as i0 from "@angular/core";
|
|
25
|
-
export const TASK_FILTERS_CLOUD_DIRECTIVES = [
|
|
26
|
-
TaskFilterDialogCloudComponent,
|
|
27
|
-
TaskFiltersCloudComponent,
|
|
28
|
-
ServiceTaskFiltersCloudComponent,
|
|
29
|
-
EditTaskFilterCloudComponent,
|
|
30
|
-
TaskAssignmentFilterCloudComponent,
|
|
31
|
-
EditServiceTaskFilterCloudComponent
|
|
32
|
-
];
|
|
33
|
-
/** @deprecated use ...TASK_FILTERS_CLOUD_DIRECTIVES instead */
|
|
34
|
-
export class TaskFiltersCloudModule {
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFiltersCloudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
36
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TaskFiltersCloudModule, imports: [TaskFilterDialogCloudComponent,
|
|
37
|
-
TaskFiltersCloudComponent,
|
|
38
|
-
ServiceTaskFiltersCloudComponent,
|
|
39
|
-
EditTaskFilterCloudComponent,
|
|
40
|
-
TaskAssignmentFilterCloudComponent,
|
|
41
|
-
EditServiceTaskFilterCloudComponent], exports: [TaskFilterDialogCloudComponent,
|
|
42
|
-
TaskFiltersCloudComponent,
|
|
43
|
-
ServiceTaskFiltersCloudComponent,
|
|
44
|
-
EditTaskFilterCloudComponent,
|
|
45
|
-
TaskAssignmentFilterCloudComponent,
|
|
46
|
-
EditServiceTaskFilterCloudComponent] }); }
|
|
47
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFiltersCloudModule, imports: [TASK_FILTERS_CLOUD_DIRECTIVES] }); }
|
|
48
|
-
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFiltersCloudModule, decorators: [{
|
|
50
|
-
type: NgModule,
|
|
51
|
-
args: [{
|
|
52
|
-
imports: [...TASK_FILTERS_CLOUD_DIRECTIVES],
|
|
53
|
-
exports: [...TASK_FILTERS_CLOUD_DIRECTIVES]
|
|
54
|
-
}]
|
|
55
|
-
}] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1maWx0ZXJzLWNsb3VkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvdGFzay1maWx0ZXJzLWNsb3VkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGtHQUFrRyxDQUFDO0FBQ3ZKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtGQUFrRixDQUFDO0FBQ2hJLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQzFILE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNFQUFzRSxDQUFDOztBQUUxSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRztJQUN6Qyw4QkFBOEI7SUFDOUIseUJBQXlCO0lBQ3pCLGdDQUFnQztJQUNoQyw0QkFBNEI7SUFDNUIsa0NBQWtDO0lBQ2xDLG1DQUFtQztDQUM3QixDQUFDO0FBRVgsK0RBQStEO0FBSy9ELE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCLFlBYi9CLDhCQUE4QjtZQUM5Qix5QkFBeUI7WUFDekIsZ0NBQWdDO1lBQ2hDLDRCQUE0QjtZQUM1QixrQ0FBa0M7WUFDbEMsbUNBQW1DLGFBTG5DLDhCQUE4QjtZQUM5Qix5QkFBeUI7WUFDekIsZ0NBQWdDO1lBQ2hDLDRCQUE0QjtZQUM1QixrQ0FBa0M7WUFDbEMsbUNBQW1DO2dIQVExQixzQkFBc0IsWUFIbEIsNkJBQTZCOzs0RkFHakMsc0JBQXNCO2tCQUpsQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsNkJBQTZCLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxDQUFDLEdBQUcsNkJBQTZCLENBQUM7aUJBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFza0ZpbHRlcnNDbG91ZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YXNrLWZpbHRlcnMvdGFzay1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGl0U2VydmljZVRhc2tGaWx0ZXJDbG91ZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lZGl0LXRhc2stZmlsdGVycy9lZGl0LXNlcnZpY2UtdGFzay1maWx0ZXIvZWRpdC1zZXJ2aWNlLXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGl0VGFza0ZpbHRlckNsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VkaXQtdGFzay1maWx0ZXJzL2VkaXQtdGFzay1maWx0ZXIvZWRpdC10YXNrLWZpbHRlci1jbG91ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFza0ZpbHRlckRpYWxvZ0Nsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rhc2stZmlsdGVyLWRpYWxvZy90YXNrLWZpbHRlci1kaWFsb2ctY2xvdWQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlcnZpY2VUYXNrRmlsdGVyc0Nsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlcnZpY2UtdGFzay1maWx0ZXJzL3NlcnZpY2UtdGFzay1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYXNrQXNzaWdubWVudEZpbHRlckNsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rhc2stYXNzaWdubWVudC1maWx0ZXIvdGFzay1hc3NpZ25tZW50LWZpbHRlci5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgVEFTS19GSUxURVJTX0NMT1VEX0RJUkVDVElWRVMgPSBbXG4gICAgVGFza0ZpbHRlckRpYWxvZ0Nsb3VkQ29tcG9uZW50LFxuICAgIFRhc2tGaWx0ZXJzQ2xvdWRDb21wb25lbnQsXG4gICAgU2VydmljZVRhc2tGaWx0ZXJzQ2xvdWRDb21wb25lbnQsXG4gICAgRWRpdFRhc2tGaWx0ZXJDbG91ZENvbXBvbmVudCxcbiAgICBUYXNrQXNzaWdubWVudEZpbHRlckNsb3VkQ29tcG9uZW50LFxuICAgIEVkaXRTZXJ2aWNlVGFza0ZpbHRlckNsb3VkQ29tcG9uZW50XG5dIGFzIGNvbnN0O1xuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIC4uLlRBU0tfRklMVEVSU19DTE9VRF9ESVJFQ1RJVkVTIGluc3RlYWQgKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogWy4uLlRBU0tfRklMVEVSU19DTE9VRF9ESVJFQ1RJVkVTXSxcbiAgICBleHBvcnRzOiBbLi4uVEFTS19GSUxURVJTX0NMT1VEX0RJUkVDVElWRVNdXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tGaWx0ZXJzQ2xvdWRNb2R1bGUge31cbiJdfQ==
|