@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.
Files changed (186) hide show
  1. package/bundles/assets/adf-process-services-cloud/i18n/de.json +0 -3
  2. package/bundles/assets/adf-process-services-cloud/i18n/es.json +0 -3
  3. package/bundles/assets/adf-process-services-cloud/i18n/fr.json +0 -3
  4. package/bundles/assets/adf-process-services-cloud/i18n/it.json +0 -3
  5. package/bundles/assets/adf-process-services-cloud/i18n/pl.json +0 -3
  6. package/bundles/assets/adf-process-services-cloud/i18n/pt.json +0 -3
  7. package/fesm2022/adf-process-services-cloud.mjs +490 -410
  8. package/fesm2022/adf-process-services-cloud.mjs.map +1 -1
  9. package/lib/app/services/apps-process-cloud.service.d.ts +2 -2
  10. package/lib/form/components/widgets/display-rich-text/display-rich-text.widget.scss +0 -1
  11. package/lib/process/start-process/components/start-process-cloud.component.d.ts +0 -1
  12. package/lib/process/start-process/components/start-process-cloud.component.scss +4 -0
  13. package/lib/process/start-process/services/start-process-cloud.service.d.ts +1 -0
  14. package/lib/process-services-cloud.module.d.ts +2 -1
  15. package/lib/screen/components/screen-cloud/screen-cloud.component.d.ts +1 -1
  16. package/lib/screen/public-api.d.ts +3 -1
  17. package/lib/screen/services/provide-screen.d.ts +37 -0
  18. package/lib/{services → screen/services}/screen-rendering.service.d.ts +29 -0
  19. package/lib/services/public-api.d.ts +0 -1
  20. package/lib/task/task-filters/components/base-task-filters-cloud.component.d.ts +1 -1
  21. package/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.d.ts +1 -1
  22. package/lib/task/task-list/components/base-task-list-cloud.component.d.ts +1 -1
  23. package/package.json +4 -6
  24. package/esm2022/adf-process-services-cloud.mjs +0 -5
  25. package/esm2022/lib/app/app-list-cloud.module.mjs +0 -20
  26. package/esm2022/lib/app/components/app-details-cloud/app-details-cloud.component.mjs +0 -67
  27. package/esm2022/lib/app/components/app-list-cloud/app-list-cloud.component.mjs +0 -125
  28. package/esm2022/lib/app/models/application-instance.model.mjs +0 -24
  29. package/esm2022/lib/app/public-api.mjs +0 -22
  30. package/esm2022/lib/app/services/apps-process-cloud.service.mjs +0 -97
  31. package/esm2022/lib/common/date-range-filter/date-range-filter.component.mjs +0 -163
  32. package/esm2022/lib/common/date-range-filter/date-range-filter.service.mjs +0 -97
  33. package/esm2022/lib/common/index.mjs +0 -18
  34. package/esm2022/lib/common/interface/environment.interface.mjs +0 -18
  35. package/esm2022/lib/common/interface/index.mjs +0 -18
  36. package/esm2022/lib/common/interface/public-api.mjs +0 -18
  37. package/esm2022/lib/common/public-api.mjs +0 -19
  38. package/esm2022/lib/form/components/cloud-form-rendering.service.mjs +0 -57
  39. package/esm2022/lib/form/components/form-cloud-custom-outcomes.component.mjs +0 -31
  40. package/esm2022/lib/form/components/form-cloud.component.mjs +0 -420
  41. package/esm2022/lib/form/components/form-definition-selector-cloud.component.mjs +0 -53
  42. package/esm2022/lib/form/components/spinner/form-spinner.component.mjs +0 -35
  43. package/esm2022/lib/form/components/widgets/attach-file/attach-file-cloud-widget.component.mjs +0 -249
  44. package/esm2022/lib/form/components/widgets/attach-file/file-properties-table/file-properties-table-cloud.component.mjs +0 -136
  45. package/esm2022/lib/form/components/widgets/data-table/data-table-adapter.widget.mjs +0 -107
  46. package/esm2022/lib/form/components/widgets/data-table/data-table.widget.mjs +0 -120
  47. package/esm2022/lib/form/components/widgets/data-table/helpers/data-table-path-parser.helper.mjs +0 -122
  48. package/esm2022/lib/form/components/widgets/date/date-cloud.widget.mjs +0 -189
  49. package/esm2022/lib/form/components/widgets/display-external-property/display-external-property.widget.mjs +0 -85
  50. package/esm2022/lib/form/components/widgets/display-rich-text/display-rich-text.widget.mjs +0 -80
  51. package/esm2022/lib/form/components/widgets/dropdown/dropdown-cloud.widget.mjs +0 -464
  52. package/esm2022/lib/form/components/widgets/dropdown/validators.mjs +0 -29
  53. package/esm2022/lib/form/components/widgets/file-viewer/file-viewer.widget.mjs +0 -46
  54. package/esm2022/lib/form/components/widgets/group/group-cloud.widget.mjs +0 -82
  55. package/esm2022/lib/form/components/widgets/people/people-cloud.widget.mjs +0 -91
  56. package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer-wrapper/properties-viewer-wrapper.component.mjs +0 -81
  57. package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer.widget.mjs +0 -53
  58. package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.schema.mjs +0 -86
  59. package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.widget.mjs +0 -116
  60. package/esm2022/lib/form/components/widgets/upload/upload-cloud.widget.mjs +0 -187
  61. package/esm2022/lib/form/form-cloud.module.mjs +0 -99
  62. package/esm2022/lib/form/models/form-cloud-representation.model.mjs +0 -48
  63. package/esm2022/lib/form/models/task-variable-cloud.model.mjs +0 -28
  64. package/esm2022/lib/form/public-api.mjs +0 -44
  65. package/esm2022/lib/form/services/content-cloud-node-selector.service.mjs +0 -120
  66. package/esm2022/lib/form/services/display-mode.service.mjs +0 -146
  67. package/esm2022/lib/form/services/form-cloud.service.interface.mjs +0 -18
  68. package/esm2022/lib/form/services/form-cloud.service.mjs +0 -201
  69. package/esm2022/lib/form/services/form-definition-selector-cloud.service.interface.mjs +0 -18
  70. package/esm2022/lib/form/services/form-definition-selector-cloud.service.mjs +0 -51
  71. package/esm2022/lib/form/services/form-utils.service.mjs +0 -37
  72. package/esm2022/lib/form/services/process-cloud-content.service.mjs +0 -71
  73. package/esm2022/lib/form/services/spinner/form-cloud-spinner.service.mjs +0 -52
  74. package/esm2022/lib/group/components/group-cloud.component.mjs +0 -423
  75. package/esm2022/lib/group/group-cloud.module.mjs +0 -33
  76. package/esm2022/lib/group/models/identity-group.model.mjs +0 -18
  77. package/esm2022/lib/group/public-api.mjs +0 -21
  78. package/esm2022/lib/group/services/identity-group.service.mjs +0 -89
  79. package/esm2022/lib/models/application-version.model.mjs +0 -21
  80. package/esm2022/lib/models/constant-values.type.mjs +0 -18
  81. package/esm2022/lib/models/data-column-custom-data.mjs +0 -18
  82. package/esm2022/lib/models/date-cloud-filter.model.mjs +0 -31
  83. package/esm2022/lib/models/date-format-cloud.model.mjs +0 -18
  84. package/esm2022/lib/models/engine-event-cloud.model.mjs +0 -18
  85. package/esm2022/lib/models/filter-cloud-model.mjs +0 -128
  86. package/esm2022/lib/models/process-definition-cloud.model.mjs +0 -32
  87. package/esm2022/lib/models/process-instance-variable.model.mjs +0 -18
  88. package/esm2022/lib/models/process-variable-filter.model.mjs +0 -18
  89. package/esm2022/lib/models/task-cloud.model.mjs +0 -23
  90. package/esm2022/lib/models/task-list-sorting.model.mjs +0 -40
  91. package/esm2022/lib/models/variable-definition.mjs +0 -18
  92. package/esm2022/lib/people/components/people-cloud.component.mjs +0 -498
  93. package/esm2022/lib/people/models/identity-user.model.mjs +0 -18
  94. package/esm2022/lib/people/people-cloud.module.mjs +0 -33
  95. package/esm2022/lib/people/public-api.mjs +0 -21
  96. package/esm2022/lib/people/services/identity-user.service.mjs +0 -119
  97. package/esm2022/lib/process/process-cloud.module.mjs +0 -40
  98. package/esm2022/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.mjs +0 -801
  99. package/esm2022/lib/process/process-filters/components/process-filter-dialog/process-filter-dialog-cloud.component.mjs +0 -58
  100. package/esm2022/lib/process/process-filters/components/process-filters/process-filters-cloud.component.mjs +0 -292
  101. package/esm2022/lib/process/process-filters/models/process-filter-cloud.model.mjs +0 -170
  102. package/esm2022/lib/process/process-filters/process-filters-cloud.module.mjs +0 -44
  103. package/esm2022/lib/process/process-filters/public-api.mjs +0 -23
  104. package/esm2022/lib/process/process-filters/services/process-filter-cloud.service.mjs +0 -408
  105. package/esm2022/lib/process/process-header/components/process-header-cloud.component.mjs +0 -137
  106. package/esm2022/lib/process/process-header/process-header-cloud.module.mjs +0 -33
  107. package/esm2022/lib/process/process-header/public-api.mjs +0 -19
  108. package/esm2022/lib/process/process-list/components/process-list-cloud.component.mjs +0 -593
  109. package/esm2022/lib/process/process-list/datatable/process-list-datatable-adapter.mjs +0 -31
  110. package/esm2022/lib/process/process-list/models/perocess-instance-cloud-view.model.mjs +0 -18
  111. package/esm2022/lib/process/process-list/models/process-cloud-preferences.mjs +0 -24
  112. package/esm2022/lib/process/process-list/models/process-cloud-preset.model.mjs +0 -37
  113. package/esm2022/lib/process/process-list/models/process-cloud-query-request.model.mjs +0 -107
  114. package/esm2022/lib/process/process-list/models/process-list-sorting.model.mjs +0 -40
  115. package/esm2022/lib/process/process-list/process-list-cloud.module.mjs +0 -45
  116. package/esm2022/lib/process/process-list/public-api.mjs +0 -25
  117. package/esm2022/lib/process/process-list/services/process-list-cloud.service.mjs +0 -253
  118. package/esm2022/lib/process/process-list/services/process-task-list-cloud.service.mjs +0 -109
  119. package/esm2022/lib/process/public-api.mjs +0 -23
  120. package/esm2022/lib/process/services/process-cloud.service.mjs +0 -105
  121. package/esm2022/lib/process/start-process/components/start-process-cloud.component.mjs +0 -465
  122. package/esm2022/lib/process/start-process/models/process-instance-cloud.model.mjs +0 -18
  123. package/esm2022/lib/process/start-process/models/process-payload-cloud.model.mjs +0 -26
  124. package/esm2022/lib/process/start-process/models/process-with-form-payload-cloud.model.mjs +0 -26
  125. package/esm2022/lib/process/start-process/public-api.mjs +0 -21
  126. package/esm2022/lib/process/start-process/services/start-process-cloud.service.mjs +0 -125
  127. package/esm2022/lib/process-services-cloud.module.mjs +0 -98
  128. package/esm2022/lib/providers.mjs +0 -45
  129. package/esm2022/lib/screen/components/screen-cloud/screen-cloud.component.mjs +0 -186
  130. package/esm2022/lib/screen/models/screen-cloud.model.mjs +0 -18
  131. package/esm2022/lib/screen/public-api.mjs +0 -18
  132. package/esm2022/lib/services/base-cloud.service.mjs +0 -83
  133. package/esm2022/lib/services/cloud-token.service.mjs +0 -23
  134. package/esm2022/lib/services/form-fields.interfaces.mjs +0 -55
  135. package/esm2022/lib/services/local-preference-cloud.service.mjs +0 -122
  136. package/esm2022/lib/services/notification-cloud.service.mjs +0 -45
  137. package/esm2022/lib/services/preference-cloud.interface.mjs +0 -18
  138. package/esm2022/lib/services/public-api.mjs +0 -28
  139. package/esm2022/lib/services/screen-rendering.service.mjs +0 -30
  140. package/esm2022/lib/services/task-list-cloud.service.interface.mjs +0 -18
  141. package/esm2022/lib/services/user-preference-cloud.service.mjs +0 -105
  142. package/esm2022/lib/services/variable-mapper.sevice.mjs +0 -77
  143. package/esm2022/lib/services/web-socket.service.mjs +0 -146
  144. package/esm2022/lib/task/models/start-task-cloud-request.model.mjs +0 -32
  145. package/esm2022/lib/task/models/task-details-cloud.model.mjs +0 -26
  146. package/esm2022/lib/task/models/task.model.mjs +0 -23
  147. package/esm2022/lib/task/public-api.mjs +0 -26
  148. package/esm2022/lib/task/services/task-cloud.service.mjs +0 -272
  149. package/esm2022/lib/task/task-cloud.module.mjs +0 -45
  150. package/esm2022/lib/task/task-filters/components/base-task-filters-cloud.component.mjs +0 -59
  151. package/esm2022/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.mjs +0 -467
  152. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter/edit-service-task-filter-cloud.component.mjs +0 -205
  153. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component.mjs +0 -317
  154. package/esm2022/lib/task/task-filters/components/service-task-filters/service-task-filters-cloud.component.mjs +0 -146
  155. package/esm2022/lib/task/task-filters/components/task-assignment-filter/task-assignment-filter.component.mjs +0 -142
  156. package/esm2022/lib/task/task-filters/components/task-filter-dialog/task-filter-dialog-cloud.component.mjs +0 -72
  157. package/esm2022/lib/task/task-filters/components/task-filters/task-filters-cloud.component.mjs +0 -255
  158. package/esm2022/lib/task/task-filters/models/filter-cloud.model.mjs +0 -207
  159. package/esm2022/lib/task/task-filters/public-api.mjs +0 -27
  160. package/esm2022/lib/task/task-filters/services/service-task-filter-cloud.service.mjs +0 -283
  161. package/esm2022/lib/task/task-filters/services/task-filter-cloud.service.mjs +0 -392
  162. package/esm2022/lib/task/task-filters/task-filters-cloud.module.mjs +0 -56
  163. package/esm2022/lib/task/task-form/components/task-form-cloud/task-form-cloud.component.mjs +0 -231
  164. package/esm2022/lib/task/task-form/components/user-task-cloud/complete-task/complete-task.directive.mjs +0 -89
  165. package/esm2022/lib/task/task-form/components/user-task-cloud/user-task-cloud.component.mjs +0 -309
  166. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/claim-task/claim-task-cloud.directive.mjs +0 -101
  167. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/unclaim-task/unclaim-task-cloud.directive.mjs +0 -87
  168. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/user-task-cloud-buttons.component.mjs +0 -85
  169. package/esm2022/lib/task/task-form/public-api.mjs +0 -21
  170. package/esm2022/lib/task/task-form/task-form.module.mjs +0 -36
  171. package/esm2022/lib/task/task-header/components/task-header-cloud.component.mjs +0 -280
  172. package/esm2022/lib/task/task-header/public-api.mjs +0 -19
  173. package/esm2022/lib/task/task-header/task-header-cloud.module.mjs +0 -33
  174. package/esm2022/lib/task/task-list/components/base-task-list-cloud.component.mjs +0 -331
  175. package/esm2022/lib/task/task-list/components/service-task-list/service-task-list-cloud.component.mjs +0 -115
  176. package/esm2022/lib/task/task-list/components/task-list/datatable/task-list-datatable-adapter.mjs +0 -31
  177. package/esm2022/lib/task/task-list/components/task-list/task-list-cloud.component.mjs +0 -389
  178. package/esm2022/lib/task/task-list/models/service-task-cloud.model.mjs +0 -18
  179. package/esm2022/lib/task/task-list/models/task-cloud-view.model.mjs +0 -18
  180. package/esm2022/lib/task/task-list/public-api.mjs +0 -23
  181. package/esm2022/lib/task/task-list/services/service-task-list-cloud.service.mjs +0 -115
  182. package/esm2022/lib/task/task-list/services/task-list-cloud.service.mjs +0 -178
  183. package/esm2022/lib/task/task-list/task-list-cloud.module.mjs +0 -35
  184. package/esm2022/lib/types.mjs +0 -18
  185. package/esm2022/public-api.mjs +0 -40
  186. /package/lib/screen/{models → components/screen-cloud}/screen-cloud.model.d.ts +0 -0
@@ -1,331 +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 { ContentChild, DestroyRef, Directive, EventEmitter, inject, Input, Output } from '@angular/core';
18
- import { AppConfigService, CustomEmptyContentTemplateDirective, DataTableSchema, UserPreferencesService, UserPreferenceValues } from '@alfresco/adf-core';
19
- import { BehaviorSubject } from 'rxjs';
20
- import { TaskListCloudSortingModel } from '../../../models/task-list-sorting.model';
21
- import { map, take } from 'rxjs/operators';
22
- import { TaskCloudService } from '../../services/task-cloud.service';
23
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
24
- import * as i0 from "@angular/core";
25
- import * as i1 from "@alfresco/adf-core";
26
- import * as i2 from "../../services/task-cloud.service";
27
- // eslint-disable-next-line no-shadow
28
- export var TasksListCloudPreferences;
29
- (function (TasksListCloudPreferences) {
30
- TasksListCloudPreferences["columnOrder"] = "tasks-list-cloud-columns-order";
31
- TasksListCloudPreferences["columnsVisibility"] = "tasks-list-cloud-columns-visibility";
32
- TasksListCloudPreferences["columnsWidths"] = "tasks-list-cloud-columns-widths";
33
- })(TasksListCloudPreferences || (TasksListCloudPreferences = {}));
34
- const taskPresetsCloudDefaultModel = {
35
- default: [
36
- {
37
- id: 'name',
38
- key: 'name',
39
- type: 'text',
40
- title: 'ADF_CLOUD_TASK_LIST.PROPERTIES.NAME',
41
- sortable: true
42
- },
43
- {
44
- id: 'created',
45
- key: 'created',
46
- type: 'text',
47
- title: 'ADF_CLOUD_TASK_LIST.PROPERTIES.CREATED',
48
- cssClass: 'hidden',
49
- sortable: true
50
- },
51
- {
52
- id: 'assignee',
53
- key: 'assignee',
54
- type: 'text',
55
- title: 'ADF_CLOUD_TASK_LIST.PROPERTIES.ASSIGNEE',
56
- cssClass: 'hidden',
57
- sortable: true
58
- }
59
- ]
60
- };
61
- /* eslint-disable @typescript-eslint/brace-style */
62
- // eslint-disable-next-line @angular-eslint/directive-class-suffix
63
- export class BaseTaskListCloudComponent extends DataTableSchema {
64
- constructor(appConfigService, taskCloudService, userPreferences, presetKey, cloudPreferenceService) {
65
- super(appConfigService, presetKey, taskPresetsCloudDefaultModel);
66
- this.taskCloudService = taskCloudService;
67
- this.userPreferences = userPreferences;
68
- this.cloudPreferenceService = cloudPreferenceService;
69
- /** The name of the application. */
70
- this.appName = '';
71
- /**
72
- * Row selection mode. Can be none, `single` or `multiple`. For `multiple` mode,
73
- * you can use the Cmd (macOS) or Ctrl (Win) modifier key to toggle selection for
74
- * multiple rows.
75
- */
76
- this.selectionMode = 'single'; // none|single|multiple
77
- /** Toggles multiple row selection, rendering a checkbox at the beginning of each row. */
78
- this.multiselect = false;
79
- /** Toggles the sticky header mode. */
80
- this.stickyHeader = false;
81
- /** Toggles the data actions column. */
82
- this.showActions = false;
83
- /** Position of the actions dropdown menu. Can be "left" or "right". */
84
- this.actionsPosition = 'right'; // left|right
85
- /** Toggles custom context menu for the component. */
86
- this.showContextMenu = false;
87
- /** Toggles the provided actions. */
88
- this.showProvidedActions = false;
89
- /** Toggles main datatable actions. */
90
- this.showMainDatatableActions = false;
91
- /** Toggles main datatable column resizing feature. */
92
- this.isResizingEnabled = false;
93
- /** Emitted before the context menu is displayed for a row. */
94
- this.showRowContextMenu = new EventEmitter();
95
- /** Emitted before the actions menu is displayed for a row. */
96
- this.showRowActionsMenu = new EventEmitter();
97
- /** Emitted when the user executes a row action. */
98
- this.executeRowAction = new EventEmitter();
99
- /** Emitted when a task in the list is clicked */
100
- this.rowClick = new EventEmitter();
101
- /** Emitted when rows are selected/unselected */
102
- this.rowsSelected = new EventEmitter();
103
- /** Emitted when the task list is loaded */
104
- this.success = new EventEmitter();
105
- /** Emitted when an error occurs. */
106
- this.error = new EventEmitter();
107
- this.rows = [];
108
- this.skipCount = 0;
109
- this.defaultSorting = { key: 'startDate', direction: 'desc' };
110
- this.isLoadingPreferences$ = new BehaviorSubject(true);
111
- this.destroyRef = inject(DestroyRef);
112
- this.size = userPreferences.paginationSize;
113
- this.pagination = new BehaviorSubject({
114
- maxItems: this.size,
115
- skipCount: 0,
116
- totalItems: 0
117
- });
118
- this.boundReplacePriorityValues = this.replacePriorityValues.bind(this);
119
- }
120
- ngOnInit() {
121
- this.userPreferences
122
- .select(UserPreferenceValues.PaginationSize)
123
- .pipe(takeUntilDestroyed(this.destroyRef))
124
- .subscribe((pageSize) => (this.size = pageSize));
125
- }
126
- ngOnChanges(changes) {
127
- if (changes['sorting']) {
128
- this.formatSorting(changes['sorting'].currentValue);
129
- }
130
- if (changes['appName']) {
131
- this.retrieveTasksPreferences();
132
- }
133
- this.reload();
134
- }
135
- retrieveTasksPreferences() {
136
- this.isLoadingPreferences$.next(true);
137
- this.cloudPreferenceService
138
- .getPreferences(this.appName)
139
- .pipe(take(1), map((preferences) => {
140
- const preferencesList = preferences?.list?.entries ?? [];
141
- const columnsOrder = preferencesList.find((preference) => preference.entry.key === TasksListCloudPreferences.columnOrder);
142
- const columnsVisibility = preferencesList.find((preference) => preference.entry.key === TasksListCloudPreferences.columnsVisibility);
143
- const columnsWidths = preferencesList.find((preference) => preference.entry.key === TasksListCloudPreferences.columnsWidths);
144
- return {
145
- columnsOrder: columnsOrder ? JSON.parse(columnsOrder.entry.value) : undefined,
146
- columnsVisibility: columnsVisibility ? JSON.parse(columnsVisibility.entry.value) : undefined,
147
- columnsWidths: columnsWidths ? JSON.parse(columnsWidths.entry.value) : undefined
148
- };
149
- }))
150
- .subscribe(({ columnsOrder, columnsVisibility, columnsWidths }) => {
151
- if (columnsOrder) {
152
- this.columnsOrder = columnsOrder;
153
- }
154
- if (columnsVisibility) {
155
- this.columnsVisibility = columnsVisibility;
156
- }
157
- if (columnsWidths) {
158
- this.columnsWidths = columnsWidths;
159
- }
160
- this.createDatatableSchema();
161
- this.createColumns();
162
- this.isLoadingPreferences$.next(false);
163
- }, (error) => {
164
- this.error.emit(error);
165
- this.isLoadingPreferences$.next(false);
166
- });
167
- }
168
- ngAfterContentInit() {
169
- this.retrieveTasksPreferences();
170
- }
171
- isListEmpty() {
172
- return !this.rows || this.rows.length === 0;
173
- }
174
- /**
175
- * Resets the pagination values
176
- */
177
- resetPagination() {
178
- this.skipCount = 0;
179
- this.size = this.userPreferences.paginationSize;
180
- this.pagination.next({
181
- skipCount: 0,
182
- maxItems: this.size
183
- });
184
- }
185
- /**
186
- * Resets the pagination values and
187
- * Reloads the task list
188
- *
189
- * @param pagination Pagination values to be set
190
- */
191
- updatePagination(pagination) {
192
- this.size = pagination.maxItems;
193
- this.skipCount = pagination.skipCount;
194
- this.pagination.next(pagination);
195
- this.reload();
196
- }
197
- onSortingChanged(event) {
198
- this.setSorting(event.detail);
199
- this.formatSorting(this.sorting);
200
- this.reload();
201
- }
202
- onRowClick(item) {
203
- this.currentInstanceId = item.value.getValue('id');
204
- this.rowClick.emit(this.currentInstanceId);
205
- }
206
- onRowSelect(event) {
207
- this.selectedInstances = [...event.detail.selection];
208
- this.rowsSelected.emit(this.selectedInstances);
209
- }
210
- onRowUnselect(event) {
211
- this.selectedInstances = [...event.detail.selection];
212
- this.rowsSelected.emit(this.selectedInstances);
213
- }
214
- onRowKeyUp(event) {
215
- if (event.detail.keyboardEvent.key === 'Enter') {
216
- event.preventDefault();
217
- this.currentInstanceId = event.detail.row.getValue('id');
218
- this.rowClick.emit(this.currentInstanceId);
219
- }
220
- }
221
- onShowRowActionsMenu(event) {
222
- this.showRowActionsMenu.emit(event);
223
- }
224
- onShowRowContextMenu(event) {
225
- this.showRowContextMenu.emit(event);
226
- }
227
- onExecuteRowAction(row) {
228
- this.executeRowAction.emit(row);
229
- }
230
- onColumnOrderChanged(columnsWithNewOrder) {
231
- this.columnsOrder = columnsWithNewOrder.map((column) => column.id);
232
- this.createColumns();
233
- if (this.appName) {
234
- this.cloudPreferenceService.updatePreference(this.appName, TasksListCloudPreferences.columnOrder, this.columnsOrder);
235
- }
236
- }
237
- onColumnsVisibilityChange(columns) {
238
- this.columnsVisibility = columns.reduce((visibleColumnsMap, column) => {
239
- if (column.isHidden !== undefined) {
240
- visibleColumnsMap[column.id] = !column.isHidden;
241
- }
242
- return visibleColumnsMap;
243
- }, {});
244
- this.createColumns();
245
- this.createDatatableSchema();
246
- if (this.appName) {
247
- this.cloudPreferenceService.updatePreference(this.appName, TasksListCloudPreferences.columnsVisibility, this.columnsVisibility);
248
- }
249
- }
250
- onColumnsWidthChanged(columns) {
251
- const newColumnsWidths = columns.reduce((widthsColumnsMap, column) => {
252
- if (column.width) {
253
- widthsColumnsMap[column.id] = Math.ceil(column.width);
254
- }
255
- return widthsColumnsMap;
256
- }, {});
257
- this.columnsWidths = { ...this.columnsWidths, ...newColumnsWidths };
258
- this.createColumns();
259
- if (this.appName) {
260
- this.cloudPreferenceService.updatePreference(this.appName, TasksListCloudPreferences.columnsWidths, this.columnsWidths);
261
- }
262
- }
263
- setSorting(sortDetail) {
264
- const sorting = sortDetail
265
- ? {
266
- orderBy: sortDetail.sortingKey || sortDetail.key,
267
- direction: sortDetail.direction.toUpperCase()
268
- }
269
- : { ...this.defaultSorting };
270
- this.sorting = [new TaskListCloudSortingModel(sorting)];
271
- }
272
- formatSorting(sorting) {
273
- this.formattedSorting = this.isValidSorting(sorting) ? [sorting[0].orderBy, sorting[0].direction.toLocaleLowerCase()] : null;
274
- }
275
- isValidSorting(sorting) {
276
- return sorting?.length && sorting[0].orderBy && sorting[0].direction;
277
- }
278
- replacePriorityValues(row, column) {
279
- return column.key.split('.').reduce((source, key) => {
280
- if (key === 'priority' && source && typeof source[key] === 'number') {
281
- return (source[key] = this.taskCloudService.getPriorityLabel(source[key]));
282
- }
283
- return source && typeof source === 'object' ? source[key] : undefined;
284
- }, row.obj);
285
- }
286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseTaskListCloudComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
287
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: BaseTaskListCloudComponent, inputs: { appName: "appName", selectionMode: "selectionMode", multiselect: "multiselect", stickyHeader: "stickyHeader", sorting: "sorting", showActions: "showActions", actionsPosition: "actionsPosition", showContextMenu: "showContextMenu", showProvidedActions: "showProvidedActions", showMainDatatableActions: "showMainDatatableActions", isResizingEnabled: "isResizingEnabled" }, outputs: { showRowContextMenu: "showRowContextMenu", showRowActionsMenu: "showRowActionsMenu", executeRowAction: "executeRowAction", rowClick: "rowClick", rowsSelected: "rowsSelected", success: "success", error: "error" }, queries: [{ propertyName: "emptyCustomContent", first: true, predicate: CustomEmptyContentTemplateDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
288
- }
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseTaskListCloudComponent, decorators: [{
290
- type: Directive
291
- }], ctorParameters: () => [{ type: i1.AppConfigService }, { type: i2.TaskCloudService }, { type: i1.UserPreferencesService }, { type: undefined }, { type: undefined }], propDecorators: { emptyCustomContent: [{
292
- type: ContentChild,
293
- args: [CustomEmptyContentTemplateDirective]
294
- }], appName: [{
295
- type: Input
296
- }], selectionMode: [{
297
- type: Input
298
- }], multiselect: [{
299
- type: Input
300
- }], stickyHeader: [{
301
- type: Input
302
- }], sorting: [{
303
- type: Input
304
- }], showActions: [{
305
- type: Input
306
- }], actionsPosition: [{
307
- type: Input
308
- }], showContextMenu: [{
309
- type: Input
310
- }], showProvidedActions: [{
311
- type: Input
312
- }], showMainDatatableActions: [{
313
- type: Input
314
- }], isResizingEnabled: [{
315
- type: Input
316
- }], showRowContextMenu: [{
317
- type: Output
318
- }], showRowActionsMenu: [{
319
- type: Output
320
- }], executeRowAction: [{
321
- type: Output
322
- }], rowClick: [{
323
- type: Output
324
- }], rowsSelected: [{
325
- type: Output
326
- }], success: [{
327
- type: Output
328
- }], error: [{
329
- type: Output
330
- }] } });
331
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10YXNrLWxpc3QtY2xvdWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi90YXNrL3Rhc2stbGlzdC9jb21wb25lbnRzL2Jhc2UtdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBRUgsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsbUNBQW1DLEVBTW5DLGVBQWUsRUFJZixzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3ZCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRWhFLHFDQUFxQztBQUNyQyxNQUFNLENBQU4sSUFBWSx5QkFJWDtBQUpELFdBQVkseUJBQXlCO0lBQ2pDLDJFQUE4QyxDQUFBO0lBQzlDLHNGQUF5RCxDQUFBO0lBQ3pELDhFQUFpRCxDQUFBO0FBQ3JELENBQUMsRUFKVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBSXBDO0FBRUQsTUFBTSw0QkFBNEIsR0FBRztJQUNqQyxPQUFPLEVBQUU7UUFDTDtZQUNJLEVBQUUsRUFBRSxNQUFNO1lBQ1Ys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LEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvRSxDQUFDO1lBQ0QsT0FBTyxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMxRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7K0dBeFVpQiwwQkFBMEI7bUdBQTFCLDBCQUEwQixxcUJBSTlCLG1DQUFtQzs7NEZBSi9CLDBCQUEwQjtrQkFGL0MsU0FBUzttTUFPTixrQkFBa0I7c0JBRGpCLFlBQVk7dUJBQUMsbUNBQW1DO2dCQUtqRCxPQUFPO3NCQUROLEtBQUs7Z0JBU04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBT04sT0FBTztzQkFETixLQUFLO2dCQUtOLFdBQVc7c0JBRFYsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxLQUFLO2dCQUtOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFLTix3QkFBd0I7c0JBRHZCLEtBQUs7Z0JBS04saUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLGtCQUFrQjtzQkFEakIsTUFBTTtnQkFLUCxrQkFBa0I7c0JBRGpCLE1BQU07Z0JBS1AsZ0JBQWdCO3NCQURmLE1BQU07Z0JBS1AsUUFBUTtzQkFEUCxNQUFNO2dCQUtQLFlBQVk7c0JBRFgsTUFBTTtnQkFLUCxPQUFPO3NCQUROLE1BQU07Z0JBS1AsS0FBSztzQkFESixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQXBwQ29uZmlnU2VydmljZSxcbiAgICBDdXN0b21FbXB0eUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBEYXRhQ2VsbEV2ZW50LFxuICAgIERhdGFDb2x1bW4sXG4gICAgRGF0YVJvdyxcbiAgICBEYXRhUm93QWN0aW9uRXZlbnQsXG4gICAgRGF0YVJvd0V2ZW50LFxuICAgIERhdGFUYWJsZVNjaGVtYSxcbiAgICBPYmplY3REYXRhVGFibGVBZGFwdGVyLFxuICAgIFBhZ2luYXRlZENvbXBvbmVudCxcbiAgICBQYWdpbmF0aW9uTW9kZWwsXG4gICAgVXNlclByZWZlcmVuY2VzU2VydmljZSxcbiAgICBVc2VyUHJlZmVyZW5jZVZhbHVlc1xufSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgVGFza1F1ZXJ5Q2xvdWRSZXF1ZXN0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmlsdGVyLWNsb3VkLW1vZGVsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFza0xpc3RDbG91ZFNvcnRpbmdNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90YXNrLWxpc3Qtc29ydGluZy5tb2RlbCc7XG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUYXNrQ2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFzay1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IFByZWZlcmVuY2VDbG91ZFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVmZXJlbmNlLWNsb3VkLmludGVyZmFjZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zaGFkb3dcbmV4cG9ydCBlbnVtIFRhc2tzTGlzdENsb3VkUHJlZmVyZW5jZXMge1xuICAgIGNvbHVtbk9yZGVyID0gJ3Rhc2tzLWxpc3QtY2xvdWQtY29sdW1ucy1vcmRlcicsXG4gICAgY29sdW1uc1Zpc2liaWxpdHkgPSAndGFza3MtbGlzdC1jbG91ZC1jb2x1bW5zLXZpc2liaWxpdHknLFxuICAgIGNvbHVtbnNXaWR0aHMgPSAndGFza3MtbGlzdC1jbG91ZC1jb2x1bW5zLXdpZHRocydcbn1cblxuY29uc3QgdGFza1ByZXNldHNDbG91ZERlZmF1bHRNb2RlbCA9IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnbmFtZScsXG4gICAgICAgICAgICBrZXk6ICduYW1lJyxcbiAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIHRpdGxlOiAnQURGX0NMT1VEX1RBU0tfTElTVC5QUk9QRVJUSUVTLk5BTUUnLFxuICAgICAgICAgICAgc29ydGFibGU6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdjcmVhdGVkJyxcbiAgICAgICAgICAgIGtleTogJ2NyZWF0ZWQnLFxuICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgdGl0bGU6ICdBREZfQ0xPVURfVEFTS19MSVNULlBST1BFUlRJRVMuQ1JFQVRFRCcsXG4gICAgICAgICAgICBjc3NDbGFzczogJ2hpZGRlbicsXG4gICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2Fzc2lnbmVlJyxcbiAgICAgICAgICAgIGtleTogJ2Fzc2lnbmVlJyxcbiAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIHRpdGxlOiAnQURGX0NMT1VEX1RBU0tfTElTVC5QUk9QRVJUSUVTLkFTU0lHTkVFJyxcbiAgICAgICAgICAgIGNzc0NsYXNzOiAnaGlkZGVuJyxcbiAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59O1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYnJhY2Utc3R5bGUgKi9cblxuQERpcmVjdGl2ZSgpXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVGFza0xpc3RDbG91ZENvbXBvbmVudDxUID0gdW5rbm93bj5cbiAgICBleHRlbmRzIERhdGFUYWJsZVNjaGVtYTxUPlxuICAgIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0LCBQYWdpbmF0ZWRDb21wb25lbnQsIE9uSW5pdFxue1xuICAgIEBDb250ZW50Q2hpbGQoQ3VzdG9tRW1wdHlDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUpXG4gICAgZW1wdHlDdXN0b21Db250ZW50OiBDdXN0b21FbXB0eUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZTtcblxuICAgIC8qKiBUaGUgbmFtZSBvZiB0aGUgYXBwbGljYXRpb24uICovXG4gICAgQElucHV0KClcbiAgICBhcHBOYW1lOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIFJvdyBzZWxlY3Rpb24gbW9kZS4gQ2FuIGJlIG5vbmUsIGBzaW5nbGVgIG9yIGBtdWx0aXBsZWAuIEZvciBgbXVsdGlwbGVgIG1vZGUsXG4gICAgICogeW91IGNhbiB1c2UgdGhlIENtZCAobWFjT1MpIG9yIEN0cmwgKFdpbikgbW9kaWZpZXIga2V5IHRvIHRvZ2dsZSBzZWxlY3Rpb24gZm9yXG4gICAgICogbXVsdGlwbGUgcm93cy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNlbGVjdGlvbk1vZGU6IHN0cmluZyA9ICdzaW5nbGUnOyAvLyBub25lfHNpbmdsZXxtdWx0aXBsZVxuXG4gICAgLyoqIFRvZ2dsZXMgbXVsdGlwbGUgcm93IHNlbGVjdGlvbiwgcmVuZGVyaW5nIGEgY2hlY2tib3ggYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIHJvdy4gKi9cbiAgICBASW5wdXQoKVxuICAgIG11bHRpc2VsZWN0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlcyB0aGUgc3RpY2t5IGhlYWRlciBtb2RlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RpY2t5SGVhZGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgaG93IHRoZSB0YWJsZSBzaG91bGQgYmUgc29ydGVkLiBUaGUgcGFyYW1ldGVycyBhcmUgZm9yIEJFIHNvcnRpbmcuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzb3J0aW5nOiBUYXNrTGlzdENsb3VkU29ydGluZ01vZGVsW107XG5cbiAgICAvKiogVG9nZ2xlcyB0aGUgZGF0YSBhY3Rpb25zIGNvbHVtbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dBY3Rpb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogUG9zaXRpb24gb2YgdGhlIGFjdGlvbnMgZHJvcGRvd24gbWVudS4gQ2FuIGJlIFwibGVmdFwiIG9yIFwicmlnaHRcIi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFjdGlvbnNQb3NpdGlvbjogc3RyaW5nID0gJ3JpZ2h0JzsgLy8gbGVmdHxyaWdodFxuXG4gICAgLyoqIFRvZ2dsZXMgY3VzdG9tIGNvbnRleHQgbWVudSBmb3IgdGhlIGNvbXBvbmVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dDb250ZXh0TWVudTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFRvZ2dsZXMgdGhlIHByb3ZpZGVkIGFjdGlvbnMuICovXG4gICAgQElucHV0KClcbiAgICBzaG93UHJvdmlkZWRBY3Rpb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlcyBtYWluIGRhdGF0YWJsZSBhY3Rpb25zLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd01haW5EYXRhdGFibGVBY3Rpb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlcyBtYWluIGRhdGF0YWJsZSBjb2x1bW4gcmVzaXppbmcgZmVhdHVyZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlzUmVzaXppbmdFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGNvbnRleHQgbWVudSBpcyBkaXNwbGF5ZWQgZm9yIGEgcm93LiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNob3dSb3dDb250ZXh0TWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YUNlbGxFdmVudD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgYWN0aW9ucyBtZW51IGlzIGRpc3BsYXllZCBmb3IgYSByb3cuICovXG4gICAgQE91dHB1dCgpXG4gICAgc2hvd1Jvd0FjdGlvbnNNZW51ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhQ2VsbEV2ZW50PigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdXNlciBleGVjdXRlcyBhIHJvdyBhY3Rpb24uICovXG4gICAgQE91dHB1dCgpXG4gICAgZXhlY3V0ZVJvd0FjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YVJvd0FjdGlvbkV2ZW50PigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhIHRhc2sgaW4gdGhlIGxpc3QgaXMgY2xpY2tlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJvd0NsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiByb3dzIGFyZSBzZWxlY3RlZC91bnNlbGVjdGVkICovXG4gICAgQE91dHB1dCgpXG4gICAgcm93c1NlbGVjdGVkOiBFdmVudEVtaXR0ZXI8dW5rbm93bltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bltdPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdGFzayBsaXN0IGlzIGxvYWRlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjx1bmtub3duPiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYW4gZXJyb3Igb2NjdXJzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yOiBFdmVudEVtaXR0ZXI8dW5rbm93bj4gPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XG5cbiAgICBwYWdpbmF0aW9uOiBCZWhhdmlvclN1YmplY3Q8UGFnaW5hdGlvbk1vZGVsPjtcblxuICAgIHJlcXVlc3ROb2RlOiBUYXNrUXVlcnlDbG91ZFJlcXVlc3RNb2RlbDtcbiAgICByb3dzID0gW107XG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIHNraXBDb3VudDogbnVtYmVyID0gMDtcbiAgICBjdXJyZW50SW5zdGFuY2VJZDogc3RyaW5nO1xuICAgIHNlbGVjdGVkSW5zdGFuY2VzOiBzdHJpbmdbXTtcbiAgICBmb3JtYXR0ZWRTb3J0aW5nOiBzdHJpbmdbXTtcbiAgICBkYXRhQWRhcHRlcjogT2JqZWN0RGF0YVRhYmxlQWRhcHRlciB8IHVuZGVmaW5lZDtcblxuICAgIHByb3RlY3RlZCBkZWZhdWx0U29ydGluZyA9IHsga2V5OiAnc3RhcnREYXRlJywgZGlyZWN0aW9uOiAnZGVzYycgfTtcbiAgICBib3VuZFJlcGxhY2VQcmlvcml0eVZhbHVlczogKHJvdzogRGF0YVJvdywgY29sOiBEYXRhQ29sdW1uKSA9PiB1bmtub3duO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGlzTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHJvdGVjdGVkIGlzTG9hZGluZ1ByZWZlcmVuY2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBhcHBDb25maWdTZXJ2aWNlOiBBcHBDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRhc2tDbG91ZFNlcnZpY2U6IFRhc2tDbG91ZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdXNlclByZWZlcmVuY2VzOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLFxuICAgICAgICBwcmVzZXRLZXk6IHN0cmluZyxcbiAgICAgICAgcHJpdmF0ZSBjbG91ZFByZWZlcmVuY2VTZXJ2aWNlOiBQcmVmZXJlbmNlQ2xvdWRTZXJ2aWNlSW50ZXJmYWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGFwcENvbmZpZ1NlcnZpY2UsIHByZXNldEtleSwgdGFza1ByZXNldHNDbG91ZERlZmF1bHRNb2RlbCk7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHVzZXJQcmVmZXJlbmNlcy5wYWdpbmF0aW9uU2l6ZTtcblxuICAgICAgICB0aGlzLnBhZ2luYXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhZ2luYXRpb25Nb2RlbD4oe1xuICAgICAgICAgICAgbWF4SXRlbXM6IHRoaXMuc2l6ZSxcbiAgICAgICAgICAgIHNraXBDb3VudDogMCxcbiAgICAgICAgICAgIHRvdGFsSXRlbXM6IDBcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ib3VuZFJlcGxhY2VQcmlvcml0eVZhbHVlcyA9IHRoaXMucmVwbGFjZVByaW9yaXR5VmFsdWVzLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudXNlclByZWZlcmVuY2VzXG4gICAgICAgICAgICAuc2VsZWN0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLlBhZ2luYXRpb25TaXplKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChwYWdlU2l6ZSkgPT4gKHRoaXMuc2l6ZSA9IHBhZ2VTaXplKSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlc1snc29ydGluZyddKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdFNvcnRpbmcoY2hhbmdlc1snc29ydGluZyddLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXNbJ2FwcE5hbWUnXSkge1xuICAgICAgICAgICAgdGhpcy5yZXRyaWV2ZVRhc2tzUHJlZmVyZW5jZXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmV0cmlldmVUYXNrc1ByZWZlcmVuY2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTG9hZGluZ1ByZWZlcmVuY2VzJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmNsb3VkUHJlZmVyZW5jZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRQcmVmZXJlbmNlcyh0aGlzLmFwcE5hbWUpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgIG1hcCgocHJlZmVyZW5jZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJlZmVyZW5jZXNMaXN0ID0gcHJlZmVyZW5jZXM/Lmxpc3Q/LmVudHJpZXMgPz8gW107XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbnNPcmRlciA9IHByZWZlcmVuY2VzTGlzdC5maW5kKChwcmVmZXJlbmNlKSA9PiBwcmVmZXJlbmNlLmVudHJ5LmtleSA9PT0gVGFza3NMaXN0Q2xvdWRQcmVmZXJlbmNlcy5jb2x1bW5PcmRlcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbnNWaXNpYmlsaXR5ID0gcHJlZmVyZW5jZXNMaXN0LmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAocHJlZmVyZW5jZSkgPT4gcHJlZmVyZW5jZS5lbnRyeS5rZXkgPT09IFRhc2tzTGlzdENsb3VkUHJlZmVyZW5jZXMuY29sdW1uc1Zpc2liaWxpdHlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sdW1uc1dpZHRocyA9IHByZWZlcmVuY2VzTGlzdC5maW5kKChwcmVmZXJlbmNlKSA9PiBwcmVmZXJlbmNlLmVudHJ5LmtleSA9PT0gVGFza3NMaXN0Q2xvdWRQcmVmZXJlbmNlcy5jb2x1bW5zV2lkdGhzKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uc09yZGVyOiBjb2x1bW5zT3JkZXIgPyBKU09OLnBhcnNlKGNvbHVtbnNPcmRlci5lbnRyeS52YWx1ZSkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zVmlzaWJpbGl0eTogY29sdW1uc1Zpc2liaWxpdHkgPyBKU09OLnBhcnNlKGNvbHVtbnNWaXNpYmlsaXR5LmVudHJ5LnZhbHVlKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnNXaWR0aHM6IGNvbHVtbnNXaWR0aHMgPyBKU09OLnBhcnNlKGNvbHVtbnNXaWR0aHMuZW50cnkudmFsdWUpIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKHsgY29sdW1uc09yZGVyLCBjb2x1bW5zVmlzaWJpbGl0eSwgY29sdW1uc1dpZHRocyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW5zT3JkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29sdW1uc09yZGVyID0gY29sdW1uc09yZGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbnNWaXNpYmlsaXR5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbnNWaXNpYmlsaXR5ID0gY29sdW1uc1Zpc2liaWxpdHk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uc1dpZHRocykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2x1bW5zV2lkdGhzID0gY29sdW1uc1dpZHRocztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlRGF0YXRhYmxlU2NoZW1hKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlQ29sdW1ucygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZ1ByZWZlcmVuY2VzJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZ1ByZWZlcmVuY2VzJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXRyaWV2ZVRhc2tzUHJlZmVyZW5jZXMoKTtcbiAgICB9XG5cbiAgICBpc0xpc3RFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJvd3MgfHwgdGhpcy5yb3dzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldHMgdGhlIHBhZ2luYXRpb24gdmFsdWVzXG4gICAgICovXG4gICAgcmVzZXRQYWdpbmF0aW9uKCkge1xuICAgICAgICB0aGlzLnNraXBDb3VudCA9IDA7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHRoaXMudXNlclByZWZlcmVuY2VzLnBhZ2luYXRpb25TaXplO1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24ubmV4dCh7XG4gICAgICAgICAgICBza2lwQ291bnQ6IDAsXG4gICAgICAgICAgICBtYXhJdGVtczogdGhpcy5zaXplXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0cyB0aGUgcGFnaW5hdGlvbiB2YWx1ZXMgYW5kXG4gICAgICogUmVsb2FkcyB0aGUgdGFzayBsaXN0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFnaW5hdGlvbiBQYWdpbmF0aW9uIHZhbHVlcyB0byBiZSBzZXRcbiAgICAgKi9cbiAgICB1cGRhdGVQYWdpbmF0aW9uKHBhZ2luYXRpb246IFBhZ2luYXRpb25Nb2RlbCkge1xuICAgICAgICB0aGlzLnNpemUgPSBwYWdpbmF0aW9uLm1heEl0ZW1zO1xuICAgICAgICB0aGlzLnNraXBDb3VudCA9IHBhZ2luYXRpb24uc2tpcENvdW50O1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24ubmV4dChwYWdpbmF0aW9uKTtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICB9XG5cbiAgICBvblNvcnRpbmdDaGFuZ2VkKGV2ZW50OiBDdXN0b21FdmVudCkge1xuICAgICAgICB0aGlzLnNldFNvcnRpbmcoZXZlbnQuZGV0YWlsKTtcbiAgICAgICAgdGhpcy5mb3JtYXRTb3J0aW5nKHRoaXMuc29ydGluZyk7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgfVxuXG4gICAgb25Sb3dDbGljayhpdGVtOiBEYXRhUm93RXZlbnQpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50SW5zdGFuY2VJZCA9IGl0ZW0udmFsdWUuZ2V0VmFsdWUoJ2lkJyk7XG4gICAgICAgIHRoaXMucm93Q2xpY2suZW1pdCh0aGlzLmN1cnJlbnRJbnN0YW5jZUlkKTtcbiAgICB9XG5cbiAgICBvblJvd1NlbGVjdChldmVudDogQ3VzdG9tRXZlbnQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluc3RhbmNlcyA9IFsuLi5ldmVudC5kZXRhaWwuc2VsZWN0aW9uXTtcbiAgICAgICAgdGhpcy5yb3dzU2VsZWN0ZWQuZW1pdCh0aGlzLnNlbGVjdGVkSW5zdGFuY2VzKTtcbiAgICB9XG5cbiAgICBvblJvd1Vuc2VsZWN0KGV2ZW50OiBDdXN0b21FdmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5zdGFuY2VzID0gWy4uLmV2ZW50LmRldGFpbC5zZWxlY3Rpb25dO1xuICAgICAgICB0aGlzLnJvd3NTZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWRJbnN0YW5jZXMpO1xuICAgIH1cblxuICAgIG9uUm93S2V5VXAoZXZlbnQ6IEN1c3RvbUV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5kZXRhaWwua2V5Ym9hcmRFdmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRJbnN0YW5jZUlkID0gZXZlbnQuZGV0YWlsLnJvdy5nZXRWYWx1ZSgnaWQnKTtcbiAgICAgICAgICAgIHRoaXMucm93Q2xpY2suZW1pdCh0aGlzLmN1cnJlbnRJbnN0YW5jZUlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2hvd1Jvd0FjdGlvbnNNZW51KGV2ZW50OiBEYXRhQ2VsbEV2ZW50KSB7XG4gICAgICAgIHRoaXMuc2hvd1Jvd0FjdGlvbnNNZW51LmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uU2hvd1Jvd0NvbnRleHRNZW51KGV2ZW50OiBEYXRhQ2VsbEV2ZW50KSB7XG4gICAgICAgIHRoaXMuc2hvd1Jvd0NvbnRleHRNZW51LmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uRXhlY3V0ZVJvd0FjdGlvbihyb3c6IERhdGFSb3dBY3Rpb25FdmVudCkge1xuICAgICAgICB0aGlzLmV4ZWN1dGVSb3dBY3Rpb24uZW1pdChyb3cpO1xuICAgIH1cblxuICAgIG9uQ29sdW1uT3JkZXJDaGFuZ2VkKGNvbHVtbnNXaXRoTmV3T3JkZXI6IERhdGFDb2x1bW5bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbHVtbnNPcmRlciA9IGNvbHVtbnNXaXRoTmV3T3JkZXIubWFwKChjb2x1bW4pID0+IGNvbHVtbi5pZCk7XG4gICAgICAgIHRoaXMuY3JlYXRlQ29sdW1ucygpO1xuXG4gICAgICAgIGlmICh0aGlzLmFwcE5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvdWRQcmVmZXJlbmNlU2VydmljZS51cGRhdGVQcmVmZXJlbmNlKHRoaXMuYXBwTmFtZSwgVGFza3NMaXN0Q2xvdWRQcmVmZXJlbmNlcy5jb2x1bW5PcmRlciwgdGhpcy5jb2x1bW5zT3JkZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Db2x1bW5zVmlzaWJpbGl0eUNoYW5nZShjb2x1bW5zOiBEYXRhQ29sdW1uW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2x1bW5zVmlzaWJpbGl0eSA9IGNvbHVtbnMucmVkdWNlKCh2aXNpYmxlQ29sdW1uc01hcCwgY29sdW1uKSA9PiB7XG4gICAgICAgICAgICBpZiAoY29sdW1uLmlzSGlkZGVuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB2aXNpYmxlQ29sdW1uc01hcFtjb2x1bW4uaWRdID0gIWNvbHVtbi5pc0hpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZpc2libGVDb2x1bW5zTWFwO1xuICAgICAgICB9LCB7fSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVDb2x1bW5zKCk7XG4gICAgICAgIHRoaXMuY3JlYXRlRGF0YXRhYmxlU2NoZW1hKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuYXBwTmFtZSkge1xuICAgICAgICAgICAgdGhpcy5jbG91ZFByZWZlcmVuY2VTZXJ2aWNlLnVwZGF0ZVByZWZlcmVuY2UodGhpcy5hcHBOYW1lLCBUYXNrc0xpc3RDbG91ZFByZWZlcmVuY2VzLmNvbHVtbnNWaXNpYmlsaXR5LCB0aGlzLmNvbHVtbnNWaXNpYmlsaXR5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ29sdW1uc1dpZHRoQ2hhbmdlZChjb2x1bW5zOiBEYXRhQ29sdW1uW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3Q29sdW1uc1dpZHRocyA9IGNvbHVtbnMucmVkdWNlKCh3aWR0aHNDb2x1bW5zTWFwLCBjb2x1bW4pID0+IHtcbiAgICAgICAgICAgIGlmIChjb2x1bW4ud2lkdGgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aHNDb2x1bW5zTWFwW2NvbHVtbi5pZF0gPSBNYXRoLmNlaWwoY29sdW1uLndpZHRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB3aWR0aHNDb2x1bW5zTWFwO1xuICAgICAgICB9LCB7fSk7XG5cbiAgICAgICAgdGhpcy5jb2x1bW5zV2lkdGhzID0geyAuLi50aGlzLmNvbHVtbnNXaWR0aHMsIC4uLm5ld0NvbHVtbnNXaWR0aHMgfTtcblxuICAgICAgICB0aGlzLmNyZWF0ZUNvbHVtbnMoKTtcblxuICAgICAgICBpZiAodGhpcy5hcHBOYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3VkUHJlZmVyZW5jZVNlcnZpY2UudXBkYXRlUHJlZmVyZW5jZSh0aGlzLmFwcE5hbWUsIFRhc2tzTGlzdENsb3VkUHJlZmVyZW5jZXMuY29sdW1uc1dpZHRocywgdGhpcy5jb2x1bW5zV2lkdGhzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldFNvcnRpbmcoc29ydERldGFpbCkge1xuICAgICAgICBjb25zdCBzb3J0aW5nID0gc29ydERldGFpbFxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICBvcmRlckJ5OiBzb3J0RGV0YWlsLnNvcnRpbmdLZXkgfHwgc29ydERldGFpbC5rZXksXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb246IHNvcnREZXRhaWwuZGlyZWN0aW9uLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7IC4uLnRoaXMuZGVmYXVsdFNvcnRpbmcgfTtcbiAgICAgICAgdGhpcy5zb3J0aW5nID0gW25ldyBUYXNrTGlzdENsb3VkU29ydGluZ01vZGVsKHNvcnRpbmcpXTtcbiAgICB9XG5cbiAgICBmb3JtYXRTb3J0aW5nKHNvcnRpbmc6IFRhc2tMaXN0Q2xvdWRTb3J0aW5nTW9kZWxbXSkge1xuICAgICAgICB0aGlzLmZvcm1hdHRlZFNvcnRpbmcgPSB0aGlzLmlzVmFsaWRTb3J0aW5nKHNvcnRpbmcpID8gW3NvcnRpbmdbMF0ub3JkZXJCeSwgc29ydGluZ1swXS5kaXJlY3Rpb24udG9Mb2NhbGVMb3dlckNhc2UoKV0gOiBudWxsO1xuICAgIH1cblxuICAgIGlzVmFsaWRTb3J0aW5nKHNvcnRpbmc6IFRhc2tMaXN0Q2xvdWRTb3J0aW5nTW9kZWxbXSkge1xuICAgICAgICByZXR1cm4gc29ydGluZz8ubGVuZ3RoICYmIHNvcnRpbmdbMF0ub3JkZXJCeSAmJiBzb3J0aW5nWzBdLmRpcmVjdGlvbjtcbiAgICB9XG5cbiAgICByZXBsYWNlUHJpb3JpdHlWYWx1ZXMocm93OiBEYXRhUm93LCBjb2x1bW46IERhdGFDb2x1bW4pIHtcbiAgICAgICAgcmV0dXJuIGNvbHVtbi5rZXkuc3BsaXQoJy4nKS5yZWR1Y2UoKHNvdXJjZSwga2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoa2V5ID09PSAncHJpb3JpdHknICYmIHNvdXJjZSAmJiB0eXBlb2Ygc291cmNlW2tleV0gPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChzb3VyY2Vba2V5XSA9IHRoaXMudGFza0Nsb3VkU2VydmljZS5nZXRQcmlvcml0eUxhYmVsKHNvdXJjZVtrZXldKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc291cmNlICYmIHR5cGVvZiBzb3VyY2UgPT09ICdvYmplY3QnID8gc291cmNlW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgICAgIH0sIHJvdy5vYmopO1xuICAgIH1cblxuICAgIGFic3RyYWN0IHJlbG9hZCgpO1xufVxuIl19
@@ -1,115 +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 { Component, Inject, Input, ViewEncapsulation } from '@angular/core';
18
- import { AppConfigService, ColumnsSelectorComponent, DataTableComponent, EmptyContentComponent, LoadingContentTemplateDirective, MainMenuDataTableTemplateDirective, NoContentTemplateDirective, UserPreferencesService } from '@alfresco/adf-core';
19
- import { BaseTaskListCloudComponent } from '../base-task-list-cloud.component';
20
- import { ServiceTaskListCloudService } from '../../services/service-task-list-cloud.service';
21
- import { TaskCloudService } from '../../../services/task-cloud.service';
22
- import { BehaviorSubject, combineLatest } from 'rxjs';
23
- import { TASK_LIST_PREFERENCES_SERVICE_TOKEN } from '../../../../services/public-api';
24
- import { map } from 'rxjs/operators';
25
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
26
- import { CommonModule } from '@angular/common';
27
- import { TranslatePipe } from '@ngx-translate/core';
28
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
29
- import * as i0 from "@angular/core";
30
- import * as i1 from "../../services/service-task-list-cloud.service";
31
- import * as i2 from "@alfresco/adf-core";
32
- import * as i3 from "../../../services/task-cloud.service";
33
- import * as i4 from "@angular/common";
34
- import * as i5 from "@angular/material/progress-spinner";
35
- const PRESET_KEY = 'adf-cloud-service-task-list.presets';
36
- export class ServiceTaskListCloudComponent extends BaseTaskListCloudComponent {
37
- constructor(serviceTaskListCloudService, appConfigService, taskCloudService, userPreferences, cloudPreferenceService) {
38
- super(appConfigService, taskCloudService, userPreferences, PRESET_KEY, cloudPreferenceService);
39
- this.serviceTaskListCloudService = serviceTaskListCloudService;
40
- this.queryParams = {};
41
- this.isReloadingSubject$ = new BehaviorSubject(false);
42
- this.isLoading$ = combineLatest([this.isLoadingPreferences$, this.isReloadingSubject$]).pipe(map(([isLoadingPreferences, isReloading]) => isLoadingPreferences || isReloading));
43
- }
44
- reload() {
45
- this.isReloadingSubject$.next(true);
46
- this.requestNode = this.createRequestNode();
47
- if (this.requestNode.appName || this.requestNode.appName === '') {
48
- combineLatest([this.serviceTaskListCloudService.getServiceTaskByRequest(this.requestNode), this.isColumnSchemaCreated$])
49
- .pipe(takeUntilDestroyed(this.destroyRef))
50
- .subscribe(([tasks]) => {
51
- this.rows = tasks.list.entries.map((task) => task.entry);
52
- this.success.emit(tasks);
53
- this.pagination.next(tasks.list.pagination);
54
- this.isReloadingSubject$.next(false);
55
- }, (error) => {
56
- this.error.emit(error);
57
- this.isReloadingSubject$.next(false);
58
- });
59
- }
60
- else {
61
- this.rows = [];
62
- }
63
- }
64
- createRequestNode() {
65
- const requestNode = {
66
- appName: this.appName,
67
- maxItems: this.size,
68
- skipCount: this.skipCount,
69
- sorting: this.sorting,
70
- id: this.queryParams?.serviceTaskId,
71
- environmentId: this.queryParams?.environmentId,
72
- activityName: this.queryParams?.activityName,
73
- activityType: this.queryParams?.activityType,
74
- completedDate: this.queryParams?.completedDate,
75
- completedFrom: this.queryParams?.completedFrom,
76
- completedTo: this.queryParams?.completedTo,
77
- elementId: this.queryParams?.elementId,
78
- executionId: this.queryParams?.executionId,
79
- processDefinitionId: this.queryParams?.processDefinitionId,
80
- processDefinitionKey: this.queryParams?.processDefinitionKey,
81
- processDefinitionVersion: this.queryParams?.processDefinitionVersion,
82
- processInstanceId: this.queryParams?.processInstanceId,
83
- serviceFullName: this.queryParams?.serviceFullName,
84
- serviceName: this.queryParams?.serviceName,
85
- serviceVersion: this.queryParams?.serviceVersion,
86
- startedDate: this.queryParams?.startedDate,
87
- startedFrom: this.queryParams?.startedFrom,
88
- startedTo: this.queryParams?.startedTo,
89
- status: this.queryParams?.status
90
- };
91
- return requestNode;
92
- }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServiceTaskListCloudComponent, deps: [{ token: i1.ServiceTaskListCloudService }, { token: i2.AppConfigService }, { token: i3.TaskCloudService }, { token: i2.UserPreferencesService }, { token: TASK_LIST_PREFERENCES_SERVICE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ServiceTaskListCloudComponent, isStandalone: true, selector: "adf-cloud-service-task-list", inputs: { queryParams: "queryParams" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"!rows\">{{ 'ADF_CLOUD_TASK_LIST.FILTERS.MESSAGES.NONE' | translate }}</div>\n<ng-container *ngIf=\"rows\">\n <adf-datatable\n [rows]=\"rows\"\n [columns]=\"columns\"\n [data]=\"dataAdapter\"\n [loading]=\"isLoading$ | async\"\n [sorting]=\"formattedSorting\"\n [multiselect]=\"multiselect\"\n [selectionMode]=\"selectionMode\"\n [stickyHeader]=\"stickyHeader\"\n [actions]=\"showActions\"\n [actionsPosition]=\"actionsPosition\"\n [contextMenu]=\"showContextMenu\"\n [resolverFn]=\"boundReplacePriorityValues\"\n [showProvidedActions]=\"showProvidedActions\"\n [showMainDatatableActions]=\"showMainDatatableActions\"\n [isResizingEnabled]=\"isResizingEnabled\"\n (showRowActionsMenu)=\"onShowRowActionsMenu($event)\"\n (showRowContextMenu)=\"onShowRowContextMenu($event)\"\n (executeRowAction)=\"onExecuteRowAction($event)\"\n (row-select)=\"onRowSelect($any($event))\"\n (row-unselect)=\"onRowUnselect($any($event))\"\n (rowClick)=\"onRowClick($any($event))\"\n (row-keyup)=\"onRowKeyUp($any($event))\"\n (sorting-changed)=\"onSortingChanged($any($event))\"\n (columnOrderChanged)=\"onColumnOrderChanged($event)\"\n (columnsWidthChanged)=\"onColumnsWidthChanged($event)\"\n >\n <adf-loading-content-template>\n <ng-template>\n <mat-progress-spinner\n class=\"adf-cloud-task-list-loading-margin\"\n [color]=\"'primary'\"\n [mode]=\"'indeterminate'\" />\n </ng-template>\n </adf-loading-content-template>\n <adf-no-content-template>\n <ng-template>\n <adf-empty-content\n *ngIf=\"!emptyCustomContent\"\n icon=\"assignment\"\n [title]=\"'ADF_CLOUD_TASK_LIST.LIST.MESSAGES.TITLE' | translate\"\n [subtitle]=\"'ADF_CLOUD_TASK_LIST.LIST.MESSAGES.SUBTITLE' | translate\" />\n <ng-content select=\"adf-custom-empty-content-template\" />\n </ng-template>\n </adf-no-content-template>\n\n <adf-main-menu-datatable-template>\n <ng-template let-mainMenuTrigger>\n <adf-datatable-column-selector\n [columns]=\"columns\"\n [mainMenuTrigger]=\"mainMenuTrigger\"\n (submitColumnsVisibility)=\"onColumnsVisibilityChange($event)\" />\n </ng-template>\n </adf-main-menu-datatable-template>\n </adf-datatable>\n</ng-container>\n", styles: [".adf-cloud-task-list-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: ColumnsSelectorComponent, selector: "adf-datatable-column-selector", inputs: ["columns", "mainMenuTrigger", "columnsSorting", "maxColumnsVisible"], outputs: ["submitColumnsVisibility"] }, { kind: "directive", type: MainMenuDataTableTemplateDirective, selector: "adf-main-menu-datatable-template" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "directive", type: NoContentTemplateDirective, selector: "adf-no-content-template, no-content-template" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: LoadingContentTemplateDirective, selector: "adf-loading-content-template, loading-content-template" }, { kind: "component", type: DataTableComponent, selector: "adf-datatable", inputs: ["data", "rows", "sorting", "columns", "selectionMode", "multiselect", "mainTableAction", "actions", "showMainDatatableActions", "showProvidedActions", "actionsPosition", "actionsVisibleOnHover", "fallbackThumbnail", "contextMenu", "rowStyle", "rowStyleClass", "showHeader", "stickyHeader", "loading", "noPermission", "rowMenuCacheEnabled", "resolverFn", "allowFiltering", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover", "enableDragRows"], outputs: ["rowClick", "rowDblClick", "showRowContextMenu", "showRowActionsMenu", "executeRowAction", "columnOrderChanged", "columnsWidthChanged", "selectedItemsCountChanged", "dragDropped"] }], encapsulation: i0.ViewEncapsulation.None }); }
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServiceTaskListCloudComponent, decorators: [{
97
- type: Component,
98
- args: [{ selector: 'adf-cloud-service-task-list', standalone: true, imports: [
99
- CommonModule,
100
- ColumnsSelectorComponent,
101
- MainMenuDataTableTemplateDirective,
102
- TranslatePipe,
103
- EmptyContentComponent,
104
- NoContentTemplateDirective,
105
- MatProgressSpinnerModule,
106
- LoadingContentTemplateDirective,
107
- DataTableComponent
108
- ], encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"!rows\">{{ 'ADF_CLOUD_TASK_LIST.FILTERS.MESSAGES.NONE' | translate }}</div>\n<ng-container *ngIf=\"rows\">\n <adf-datatable\n [rows]=\"rows\"\n [columns]=\"columns\"\n [data]=\"dataAdapter\"\n [loading]=\"isLoading$ | async\"\n [sorting]=\"formattedSorting\"\n [multiselect]=\"multiselect\"\n [selectionMode]=\"selectionMode\"\n [stickyHeader]=\"stickyHeader\"\n [actions]=\"showActions\"\n [actionsPosition]=\"actionsPosition\"\n [contextMenu]=\"showContextMenu\"\n [resolverFn]=\"boundReplacePriorityValues\"\n [showProvidedActions]=\"showProvidedActions\"\n [showMainDatatableActions]=\"showMainDatatableActions\"\n [isResizingEnabled]=\"isResizingEnabled\"\n (showRowActionsMenu)=\"onShowRowActionsMenu($event)\"\n (showRowContextMenu)=\"onShowRowContextMenu($event)\"\n (executeRowAction)=\"onExecuteRowAction($event)\"\n (row-select)=\"onRowSelect($any($event))\"\n (row-unselect)=\"onRowUnselect($any($event))\"\n (rowClick)=\"onRowClick($any($event))\"\n (row-keyup)=\"onRowKeyUp($any($event))\"\n (sorting-changed)=\"onSortingChanged($any($event))\"\n (columnOrderChanged)=\"onColumnOrderChanged($event)\"\n (columnsWidthChanged)=\"onColumnsWidthChanged($event)\"\n >\n <adf-loading-content-template>\n <ng-template>\n <mat-progress-spinner\n class=\"adf-cloud-task-list-loading-margin\"\n [color]=\"'primary'\"\n [mode]=\"'indeterminate'\" />\n </ng-template>\n </adf-loading-content-template>\n <adf-no-content-template>\n <ng-template>\n <adf-empty-content\n *ngIf=\"!emptyCustomContent\"\n icon=\"assignment\"\n [title]=\"'ADF_CLOUD_TASK_LIST.LIST.MESSAGES.TITLE' | translate\"\n [subtitle]=\"'ADF_CLOUD_TASK_LIST.LIST.MESSAGES.SUBTITLE' | translate\" />\n <ng-content select=\"adf-custom-empty-content-template\" />\n </ng-template>\n </adf-no-content-template>\n\n <adf-main-menu-datatable-template>\n <ng-template let-mainMenuTrigger>\n <adf-datatable-column-selector\n [columns]=\"columns\"\n [mainMenuTrigger]=\"mainMenuTrigger\"\n (submitColumnsVisibility)=\"onColumnsVisibilityChange($event)\" />\n </ng-template>\n </adf-main-menu-datatable-template>\n </adf-datatable>\n</ng-container>\n", styles: [".adf-cloud-task-list-loading-margin{margin-left:calc((100% - 100px)/2);margin-right:calc((100% - 100px)/2)}\n"] }]
109
- }], ctorParameters: () => [{ type: i1.ServiceTaskListCloudService }, { type: i2.AppConfigService }, { type: i3.TaskCloudService }, { type: i2.UserPreferencesService }, { type: undefined, decorators: [{
110
- type: Inject,
111
- args: [TASK_LIST_PREFERENCES_SERVICE_TOKEN]
112
- }] }], propDecorators: { queryParams: [{
113
- type: Input
114
- }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS10YXNrLWxpc3QtY2xvdWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi90YXNrL3Rhc2stbGlzdC9jb21wb25lbnRzL3NlcnZpY2UtdGFzay1saXN0L3NlcnZpY2UtdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWxpc3QvY29tcG9uZW50cy9zZXJ2aWNlLXRhc2stbGlzdC9zZXJ2aWNlLXRhc2stbGlzdC1jbG91ZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUNILGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQiwrQkFBK0IsRUFDL0Isa0NBQWtDLEVBQ2xDLDBCQUEwQixFQUMxQixzQkFBc0IsRUFDekIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQW1DLG1DQUFtQyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkgsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdC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bUtBYzFCLG1DQUFtQzttR0FkdEMsNkJBQTZCLHNKQzVEMUMsczBGQTBEQSxzS0RaUSxZQUFZLHdMQUNaLHdCQUF3QiwrTEFDeEIsa0NBQWtDLHdFQUNsQyxhQUFhLGtEQUNiLHFCQUFxQixxR0FDckIsMEJBQTBCLHdGQUMxQix3QkFBd0IsbU9BQ3hCLCtCQUErQixtR0FDL0Isa0JBQWtCOzs0RkFNYiw2QkFBNkI7a0JBbEJ6QyxTQUFTOytCQUNJLDZCQUE2QixjQUMzQixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLGtDQUFrQzt3QkFDbEMsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4QiwrQkFBK0I7d0JBQy9CLGtCQUFrQjtxQkFDckIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTs7MEJBZ0JoQyxNQUFNOzJCQUFDLG1DQUFtQzt5Q0FaL0MsV0FBVztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFwcENvbmZpZ1NlcnZpY2UsXG4gICAgQ29sdW1uc1NlbGVjdG9yQ29tcG9uZW50LFxuICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICBFbXB0eUNvbnRlbnRDb21wb25lbnQsXG4gICAgTG9hZGluZ0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBNYWluTWVudURhdGFUYWJsZVRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIE5vQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2Vcbn0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IFNlcnZpY2VUYXNrUXVlcnlDbG91ZFJlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zZXJ2aWNlLXRhc2stY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgQmFzZVRhc2tMaXN0Q2xvdWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLXRhc2stbGlzdC1jbG91ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VydmljZVRhc2tMaXN0Q2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VydmljZS10YXNrLWxpc3QtY2xvdWQuc2VydmljZSc7XG5pbXBvcnQgeyBUYXNrQ2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdGFzay1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJlZmVyZW5jZUNsb3VkU2VydmljZUludGVyZmFjZSwgVEFTS19MSVNUX1BSRUZFUkVOQ0VTX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcblxuY29uc3QgUFJFU0VUX0tFWSA9ICdhZGYtY2xvdWQtc2VydmljZS10YXNrLWxpc3QucHJlc2V0cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWNsb3VkLXNlcnZpY2UtdGFzay1saXN0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBDb2x1bW5zU2VsZWN0b3JDb21wb25lbnQsXG4gICAgICAgIE1haW5NZW51RGF0YVRhYmxlVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgICAgIEVtcHR5Q29udGVudENvbXBvbmVudCxcbiAgICAgICAgTm9Db250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICAgICAgTG9hZGluZ0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgRGF0YVRhYmxlQ29tcG9uZW50XG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VydmljZS10YXNrLWxpc3QtY2xvdWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlcnZpY2UtdGFzay1saXN0LWNsb3VkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlVGFza0xpc3RDbG91ZENvbXBvbmVudCBleHRlbmRzIEJhc2VUYXNrTGlzdENsb3VkQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHF1ZXJ5UGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgICBwcml2YXRlIGlzUmVsb2FkaW5nU3ViamVjdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBpc0xvYWRpbmckID0gY29tYmluZUxhdGVzdChbdGhpcy5pc0xvYWRpbmdQcmVmZXJlbmNlcyQsIHRoaXMuaXNSZWxvYWRpbmdTdWJqZWN0JF0pLnBpcGUoXG4gICAgICAgIG1hcCgoW2lzTG9hZGluZ1ByZWZlcmVuY2VzLCBpc1JlbG9hZGluZ10pID0+IGlzTG9hZGluZ1ByZWZlcmVuY2VzIHx8IGlzUmVsb2FkaW5nKVxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBzZXJ2aWNlVGFza0xpc3RDbG91ZFNlcnZpY2U6IFNlcnZpY2VUYXNrTGlzdENsb3VkU2VydmljZSxcbiAgICAgICAgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZSxcbiAgICAgICAgdGFza0Nsb3VkU2VydmljZTogVGFza0Nsb3VkU2VydmljZSxcbiAgICAgICAgdXNlclByZWZlcmVuY2VzOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFRBU0tfTElTVF9QUkVGRVJFTkNFU19TRVJWSUNFX1RPS0VOKSBjbG91ZFByZWZlcmVuY2VTZXJ2aWNlOiBQcmVmZXJlbmNlQ2xvdWRTZXJ2aWNlSW50ZXJmYWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGFwcENvbmZpZ1NlcnZpY2UsIHRhc2tDbG91ZFNlcnZpY2UsIHVzZXJQcmVmZXJlbmNlcywgUFJFU0VUX0tFWSwgY2xvdWRQcmVmZXJlbmNlU2VydmljZSk7XG4gICAgfVxuXG4gICAgcmVsb2FkKCkge1xuICAgICAgICB0aGlzLmlzUmVsb2FkaW5nU3ViamVjdCQubmV4dCh0cnVlKTtcblxuICAgICAgICB0aGlzLnJlcXVlc3ROb2RlID0gdGhpcy5jcmVhdGVSZXF1ZXN0Tm9kZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLnJlcXVlc3ROb2RlLmFwcE5hbWUgfHwgdGhpcy5yZXF1ZXN0Tm9kZS5hcHBOYW1lID09PSAnJykge1xuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5zZXJ2aWNlVGFza0xpc3RDbG91ZFNlcnZpY2UuZ2V0U2VydmljZVRhc2tCeVJlcXVlc3QodGhpcy5yZXF1ZXN0Tm9kZSksIHRoaXMuaXNDb2x1bW5TY2hlbWFDcmVhdGVkJF0pXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKFt0YXNrc10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm93cyA9IHRhc2tzLmxpc3QuZW50cmllcy5tYXAoKHRhc2spID0+IHRhc2suZW50cnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQodGFza3MpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uLm5leHQodGFza3MubGlzdC5wYWdpbmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNSZWxvYWRpbmdTdWJqZWN0JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1JlbG9hZGluZ1N1YmplY3QkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucm93cyA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlUmVxdWVzdE5vZGUoKTogU2VydmljZVRhc2tRdWVyeUNsb3VkUmVxdWVzdE1vZGVsIHtcbiAgICAgICAgY29uc3QgcmVxdWVzdE5vZGU6IFNlcnZpY2VUYXNrUXVlcnlDbG91ZFJlcXVlc3RNb2RlbCA9IHtcbiAgICAgICAgICAgIGFwcE5hbWU6IHRoaXMuYXBwTmFtZSxcbiAgICAgICAgICAgIG1heEl0ZW1zOiB0aGlzLnNpemUsXG4gICAgICAgICAgICBza2lwQ291bnQ6IHRoaXMuc2tpcENvdW50LFxuICAgICAgICAgICAgc29ydGluZzogdGhpcy5zb3J0aW5nLFxuICAgICAgICAgICAgaWQ6IHRoaXMucXVlcnlQYXJhbXM/LnNlcnZpY2VUYXNrSWQsXG4gICAgICAgICAgICBlbnZpcm9ubWVudElkOiB0aGlzLnF1ZXJ5UGFyYW1zPy5lbnZpcm9ubWVudElkLFxuICAgICAgICAgICAgYWN0aXZpdHlOYW1lOiB0aGlzLnF1ZXJ5UGFyYW1zPy5hY3Rpdml0eU5hbWUsXG4gICAgICAgICAgICBhY3Rpdml0eVR5cGU6IHRoaXMucXVlcnlQYXJhbXM/LmFjdGl2aXR5VHlwZSxcbiAgICAgICAgICAgIGNvbXBsZXRlZERhdGU6IHRoaXMucXVlcnlQYXJhbXM/LmNvbXBsZXRlZERhdGUsXG4gICAgICAgICAgICBjb21wbGV0ZWRGcm9tOiB0aGlzLnF1ZXJ5UGFyYW1zPy5jb21wbGV0ZWRGcm9tLFxuICAgICAgICAgICAgY29tcGxldGVkVG86IHRoaXMucXVlcnlQYXJhbXM/LmNvbXBsZXRlZFRvLFxuICAgICAgICAgICAgZWxlbWVudElkOiB0aGlzLnF1ZXJ5UGFyYW1zPy5lbGVtZW50SWQsXG4gICAgICAgICAgICBleGVjdXRpb25JZDogdGhpcy5xdWVyeVBhcmFtcz8uZXhlY3V0aW9uSWQsXG4gICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbklkOiB0aGlzLnF1ZXJ5UGFyYW1zPy5wcm9jZXNzRGVmaW5pdGlvbklkLFxuICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25LZXk6IHRoaXMucXVlcnlQYXJhbXM/LnByb2Nlc3NEZWZpbml0aW9uS2V5LFxuICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25WZXJzaW9uOiB0aGlzLnF1ZXJ5UGFyYW1zPy5wcm9jZXNzRGVmaW5pdGlvblZlcnNpb24sXG4gICAgICAgICAgICBwcm9jZXNzSW5zdGFuY2VJZDogdGhpcy5xdWVyeVBhcmFtcz8ucHJvY2Vzc0luc3RhbmNlSWQsXG4gICAgICAgICAgICBzZXJ2aWNlRnVsbE5hbWU6IHRoaXMucXVlcnlQYXJhbXM/LnNlcnZpY2VGdWxsTmFtZSxcbiAgICAgICAgICAgIHNlcnZpY2VOYW1lOiB0aGlzLnF1ZXJ5UGFyYW1zPy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgICAgIHNlcnZpY2VWZXJzaW9uOiB0aGlzLnF1ZXJ5UGFyYW1zPy5zZXJ2aWNlVmVyc2lvbixcbiAgICAgICAgICAgIHN0YXJ0ZWREYXRlOiB0aGlzLnF1ZXJ5UGFyYW1zPy5zdGFydGVkRGF0ZSxcbiAgICAgICAgICAgIHN0YXJ0ZWRGcm9tOiB0aGlzLnF1ZXJ5UGFyYW1zPy5zdGFydGVkRnJvbSxcbiAgICAgICAgICAgIHN0YXJ0ZWRUbzogdGhpcy5xdWVyeVBhcmFtcz8uc3RhcnRlZFRvLFxuICAgICAgICAgICAgc3RhdHVzOiB0aGlzLnF1ZXJ5UGFyYW1zPy5zdGF0dXNcbiAgICAgICAgfSBhcyBTZXJ2aWNlVGFza1F1ZXJ5Q2xvdWRSZXF1ZXN0TW9kZWw7XG4gICAgICAgIHJldHVybiByZXF1ZXN0Tm9kZTtcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiIXJvd3NcIj57eyAnQURGX0NMT1VEX1RBU0tfTElTVC5GSUxURVJTLk1FU1NBR0VTLk5PTkUnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwicm93c1wiPlxuICAgICAgICA8YWRmLWRhdGF0YWJsZVxuICAgICAgICAgICAgW3Jvd3NdPVwicm93c1wiXG4gICAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcbiAgICAgICAgICAgIFtkYXRhXT1cImRhdGFBZGFwdGVyXCJcbiAgICAgICAgICAgIFtsb2FkaW5nXT1cImlzTG9hZGluZyQgfCBhc3luY1wiXG4gICAgICAgICAgICBbc29ydGluZ109XCJmb3JtYXR0ZWRTb3J0aW5nXCJcbiAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJtdWx0aXNlbGVjdFwiXG4gICAgICAgICAgICBbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlXCJcbiAgICAgICAgICAgIFtzdGlja3lIZWFkZXJdPVwic3RpY2t5SGVhZGVyXCJcbiAgICAgICAgICAgIFthY3Rpb25zXT1cInNob3dBY3Rpb25zXCJcbiAgICAgICAgICAgIFthY3Rpb25zUG9zaXRpb25dPVwiYWN0aW9uc1Bvc2l0aW9uXCJcbiAgICAgICAgICAgIFtjb250ZXh0TWVudV09XCJzaG93Q29udGV4dE1lbnVcIlxuICAgICAgICAgICAgW3Jlc29sdmVyRm5dPVwiYm91bmRSZXBsYWNlUHJpb3JpdHlWYWx1ZXNcIlxuICAgICAgICAgICAgW3Nob3dQcm92aWRlZEFjdGlvbnNdPVwic2hvd1Byb3ZpZGVkQWN0aW9uc1wiXG4gICAgICAgICAgICBbc2hvd01haW5EYXRhdGFibGVBY3Rpb25zXT1cInNob3dNYWluRGF0YXRhYmxlQWN0aW9uc1wiXG4gICAgICAgICAgICBbaXNSZXNpemluZ0VuYWJsZWRdPVwiaXNSZXNpemluZ0VuYWJsZWRcIlxuICAgICAgICAgICAgKHNob3dSb3dBY3Rpb25zTWVudSk9XCJvblNob3dSb3dBY3Rpb25zTWVudSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChzaG93Um93Q29udGV4dE1lbnUpPVwib25TaG93Um93Q29udGV4dE1lbnUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoZXhlY3V0ZVJvd0FjdGlvbik9XCJvbkV4ZWN1dGVSb3dBY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAocm93LXNlbGVjdCk9XCJvblJvd1NlbGVjdCgkYW55KCRldmVudCkpXCJcbiAgICAgICAgICAgIChyb3ctdW5zZWxlY3QpPVwib25Sb3dVbnNlbGVjdCgkYW55KCRldmVudCkpXCJcbiAgICAgICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKHJvdy1rZXl1cCk9XCJvblJvd0tleVVwKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKHNvcnRpbmctY2hhbmdlZCk9XCJvblNvcnRpbmdDaGFuZ2VkKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgKGNvbHVtbk9yZGVyQ2hhbmdlZCk9XCJvbkNvbHVtbk9yZGVyQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChjb2x1bW5zV2lkdGhDaGFuZ2VkKT1cIm9uQ29sdW1uc1dpZHRoQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxhZGYtbG9hZGluZy1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1jbG91ZC10YXNrLWxpc3QtbG9hZGluZy1tYXJnaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCInaW5kZXRlcm1pbmF0ZSdcIiAvPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2FkZi1sb2FkaW5nLWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgICAgICA8YWRmLW5vLWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLWVtcHR5LWNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWVtcHR5Q3VzdG9tQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiYXNzaWdubWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FERl9DTE9VRF9UQVNLX0xJU1QuTElTVC5NRVNTQUdFUy5USVRMRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N1YnRpdGxlXT1cIidBREZfQ0xPVURfVEFTS19MSVNULkxJU1QuTUVTU0FHRVMuU1VCVElUTEUnIHwgdHJhbnNsYXRlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYWRmLWN1c3RvbS1lbXB0eS1jb250ZW50LXRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9hZGYtbm8tY29udGVudC10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGFkZi1tYWluLW1lbnUtZGF0YXRhYmxlLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWFpbk1lbnVUcmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLWRhdGF0YWJsZS1jb2x1bW4tc2VsZWN0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21haW5NZW51VHJpZ2dlcl09XCJtYWluTWVudVRyaWdnZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHN1Ym1pdENvbHVtbnNWaXNpYmlsaXR5KT1cIm9uQ29sdW1uc1Zpc2liaWxpdHlDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYWRmLW1haW4tbWVudS1kYXRhdGFibGUtdGVtcGxhdGU+XG4gICAgICAgIDwvYWRmLWRhdGF0YWJsZT5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,31 +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 { ObjectDataTableAdapter } from '@alfresco/adf-core';
18
- import { PROCESS_LIST_CUSTOM_VARIABLE_COLUMN } from '../../../../../models/data-column-custom-data';
19
- export class TasksListDatatableAdapter extends ObjectDataTableAdapter {
20
- constructor(data, schema) {
21
- super(data, schema, 'server');
22
- }
23
- getColumnType(row, col) {
24
- if (col.customData?.columnType === PROCESS_LIST_CUSTOM_VARIABLE_COLUMN) {
25
- const columnType = row.obj.variablesMap?.[col.id]?.type;
26
- return columnType ?? 'text';
27
- }
28
- return super.getColumnType(row, col);
29
- }
30
- }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1saXN0LWRhdGF0YWJsZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi90YXNrL3Rhc2stbGlzdC9jb21wb25lbnRzL3Rhc2stbGlzdC9kYXRhdGFibGUvdGFzay1saXN0LWRhdGF0YWJsZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBdUIsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRixPQUFPLEVBQW1DLG1DQUFtQyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFHckksTUFBTSxPQUFPLHlCQUEwQixTQUFRLHNCQUFzQjtJQUNqRSxZQUFZLElBQXNDLEVBQUUsTUFBcUQ7UUFDckcsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFZLEVBQUUsR0FBZ0Q7UUFDeEUsSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsS0FBSyxtQ0FBbUMsRUFBRSxDQUFDO1lBQ3JFLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQztZQUN4RCxPQUFPLFVBQVUsSUFBSSxNQUFNLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBEYXRhQ29sdW1uLCBEYXRhUm93LCBPYmplY3REYXRhVGFibGVBZGFwdGVyIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IFByb2Nlc3NMaXN0RGF0YUNvbHVtbkN1c3RvbURhdGEsIFBST0NFU1NfTElTVF9DVVNUT01fVkFSSUFCTEVfQ09MVU1OIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2RhdGEtY29sdW1uLWN1c3RvbS1kYXRhJztcbmltcG9ydCB7IFRhc2tJbnN0YW5jZUNsb3VkTGlzdFZpZXdNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90YXNrLWNsb3VkLXZpZXcubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgVGFza3NMaXN0RGF0YXRhYmxlQWRhcHRlciBleHRlbmRzIE9iamVjdERhdGFUYWJsZUFkYXB0ZXIge1xuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFRhc2tJbnN0YW5jZUNsb3VkTGlzdFZpZXdNb2RlbFtdLCBzY2hlbWE6IERhdGFDb2x1bW48UHJvY2Vzc0xpc3REYXRhQ29sdW1uQ3VzdG9tRGF0YT5bXSkge1xuICAgICAgICBzdXBlcihkYXRhLCBzY2hlbWEsICdzZXJ2ZXInKTtcbiAgICB9XG5cbiAgICBnZXRDb2x1bW5UeXBlKHJvdzogRGF0YVJvdywgY29sOiBEYXRhQ29sdW1uPFByb2Nlc3NMaXN0RGF0YUNvbHVtbkN1c3RvbURhdGE+KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGNvbC5jdXN0b21EYXRhPy5jb2x1bW5UeXBlID09PSBQUk9DRVNTX0xJU1RfQ1VTVE9NX1ZBUklBQkxFX0NPTFVNTikge1xuICAgICAgICAgICAgY29uc3QgY29sdW1uVHlwZSA9IHJvdy5vYmoudmFyaWFibGVzTWFwPy5bY29sLmlkXT8udHlwZTtcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW5UeXBlID8/ICd0ZXh0JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdXBlci5nZXRDb2x1bW5UeXBlKHJvdywgY29sKTtcbiAgICB9XG59XG4iXX0=