@alfresco/adf-process-services-cloud 8.1.0-16499147278 → 8.1.0-16877609768

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 (188) 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 +597 -449
  8. package/fesm2022/adf-process-services-cloud.mjs.map +1 -1
  9. package/lib/form/components/form-cloud.component.d.ts +1 -12
  10. package/lib/form/form-cloud.module.d.ts +18 -16
  11. package/lib/form/services/form-cloud.service.d.ts +1 -1
  12. package/lib/process-services-cloud.module.d.ts +22 -20
  13. package/lib/rich-text-editor/editorjs-config.d.ts +78 -0
  14. package/lib/rich-text-editor/index.d.ts +17 -0
  15. package/lib/rich-text-editor/public-api.d.ts +18 -0
  16. package/lib/rich-text-editor/rich-text-editor.component.d.ts +36 -0
  17. package/lib/rich-text-editor/rich-text-editor.component.scss +32 -0
  18. package/lib/rich-text-editor/rich-text-editor.module.d.ts +8 -0
  19. package/lib/task/task-filters/components/base-task-filters-cloud.component.d.ts +1 -1
  20. package/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.d.ts +1 -1
  21. package/lib/task/task-form/components/task-form-cloud/task-form-cloud.component.d.ts +1 -21
  22. package/lib/task/task-form/components/user-task-cloud/user-task-cloud.component.d.ts +1 -21
  23. package/lib/task/task-form/components/user-task-cloud-buttons/user-task-cloud-buttons.component.d.ts +1 -6
  24. package/lib/task/task-list/components/base-task-list-cloud.component.d.ts +1 -1
  25. package/package.json +21 -10
  26. package/public-api.d.ts +1 -0
  27. package/esm2022/adf-process-services-cloud.mjs +0 -5
  28. package/esm2022/lib/app/app-list-cloud.module.mjs +0 -20
  29. package/esm2022/lib/app/components/app-details-cloud/app-details-cloud.component.mjs +0 -67
  30. package/esm2022/lib/app/components/app-list-cloud/app-list-cloud.component.mjs +0 -125
  31. package/esm2022/lib/app/models/application-instance.model.mjs +0 -24
  32. package/esm2022/lib/app/public-api.mjs +0 -22
  33. package/esm2022/lib/app/services/apps-process-cloud.service.mjs +0 -97
  34. package/esm2022/lib/common/date-range-filter/date-range-filter.component.mjs +0 -163
  35. package/esm2022/lib/common/date-range-filter/date-range-filter.service.mjs +0 -97
  36. package/esm2022/lib/common/index.mjs +0 -18
  37. package/esm2022/lib/common/interface/environment.interface.mjs +0 -18
  38. package/esm2022/lib/common/interface/index.mjs +0 -18
  39. package/esm2022/lib/common/interface/public-api.mjs +0 -18
  40. package/esm2022/lib/common/public-api.mjs +0 -19
  41. package/esm2022/lib/form/components/cloud-form-rendering.service.mjs +0 -57
  42. package/esm2022/lib/form/components/form-cloud-custom-outcomes.component.mjs +0 -31
  43. package/esm2022/lib/form/components/form-cloud.component.mjs +0 -420
  44. package/esm2022/lib/form/components/form-definition-selector-cloud.component.mjs +0 -53
  45. package/esm2022/lib/form/components/spinner/form-spinner.component.mjs +0 -35
  46. package/esm2022/lib/form/components/widgets/attach-file/attach-file-cloud-widget.component.mjs +0 -249
  47. package/esm2022/lib/form/components/widgets/attach-file/file-properties-table/file-properties-table-cloud.component.mjs +0 -136
  48. package/esm2022/lib/form/components/widgets/data-table/data-table-adapter.widget.mjs +0 -107
  49. package/esm2022/lib/form/components/widgets/data-table/data-table.widget.mjs +0 -120
  50. package/esm2022/lib/form/components/widgets/data-table/helpers/data-table-path-parser.helper.mjs +0 -122
  51. package/esm2022/lib/form/components/widgets/date/date-cloud.widget.mjs +0 -189
  52. package/esm2022/lib/form/components/widgets/display-external-property/display-external-property.widget.mjs +0 -85
  53. package/esm2022/lib/form/components/widgets/display-rich-text/display-rich-text.widget.mjs +0 -80
  54. package/esm2022/lib/form/components/widgets/dropdown/dropdown-cloud.widget.mjs +0 -463
  55. package/esm2022/lib/form/components/widgets/dropdown/validators.mjs +0 -29
  56. package/esm2022/lib/form/components/widgets/file-viewer/file-viewer.widget.mjs +0 -46
  57. package/esm2022/lib/form/components/widgets/group/group-cloud.widget.mjs +0 -82
  58. package/esm2022/lib/form/components/widgets/people/people-cloud.widget.mjs +0 -91
  59. package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer-wrapper/properties-viewer-wrapper.component.mjs +0 -81
  60. package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer.widget.mjs +0 -53
  61. package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.schema.mjs +0 -86
  62. package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.widget.mjs +0 -116
  63. package/esm2022/lib/form/components/widgets/upload/upload-cloud.widget.mjs +0 -187
  64. package/esm2022/lib/form/form-cloud.module.mjs +0 -99
  65. package/esm2022/lib/form/models/form-cloud-representation.model.mjs +0 -48
  66. package/esm2022/lib/form/models/task-variable-cloud.model.mjs +0 -28
  67. package/esm2022/lib/form/public-api.mjs +0 -44
  68. package/esm2022/lib/form/services/content-cloud-node-selector.service.mjs +0 -120
  69. package/esm2022/lib/form/services/display-mode.service.mjs +0 -146
  70. package/esm2022/lib/form/services/form-cloud.service.interface.mjs +0 -18
  71. package/esm2022/lib/form/services/form-cloud.service.mjs +0 -201
  72. package/esm2022/lib/form/services/form-definition-selector-cloud.service.interface.mjs +0 -18
  73. package/esm2022/lib/form/services/form-definition-selector-cloud.service.mjs +0 -51
  74. package/esm2022/lib/form/services/form-utils.service.mjs +0 -37
  75. package/esm2022/lib/form/services/process-cloud-content.service.mjs +0 -71
  76. package/esm2022/lib/form/services/spinner/form-cloud-spinner.service.mjs +0 -52
  77. package/esm2022/lib/group/components/group-cloud.component.mjs +0 -423
  78. package/esm2022/lib/group/group-cloud.module.mjs +0 -33
  79. package/esm2022/lib/group/models/identity-group.model.mjs +0 -18
  80. package/esm2022/lib/group/public-api.mjs +0 -21
  81. package/esm2022/lib/group/services/identity-group.service.mjs +0 -89
  82. package/esm2022/lib/models/application-version.model.mjs +0 -21
  83. package/esm2022/lib/models/constant-values.type.mjs +0 -18
  84. package/esm2022/lib/models/data-column-custom-data.mjs +0 -18
  85. package/esm2022/lib/models/date-cloud-filter.model.mjs +0 -31
  86. package/esm2022/lib/models/date-format-cloud.model.mjs +0 -18
  87. package/esm2022/lib/models/engine-event-cloud.model.mjs +0 -18
  88. package/esm2022/lib/models/filter-cloud-model.mjs +0 -128
  89. package/esm2022/lib/models/process-definition-cloud.model.mjs +0 -32
  90. package/esm2022/lib/models/process-instance-variable.model.mjs +0 -18
  91. package/esm2022/lib/models/process-variable-filter.model.mjs +0 -18
  92. package/esm2022/lib/models/task-cloud.model.mjs +0 -23
  93. package/esm2022/lib/models/task-list-sorting.model.mjs +0 -40
  94. package/esm2022/lib/models/variable-definition.mjs +0 -18
  95. package/esm2022/lib/people/components/people-cloud.component.mjs +0 -498
  96. package/esm2022/lib/people/models/identity-user.model.mjs +0 -18
  97. package/esm2022/lib/people/people-cloud.module.mjs +0 -33
  98. package/esm2022/lib/people/public-api.mjs +0 -21
  99. package/esm2022/lib/people/services/identity-user.service.mjs +0 -119
  100. package/esm2022/lib/process/process-cloud.module.mjs +0 -40
  101. package/esm2022/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.mjs +0 -801
  102. package/esm2022/lib/process/process-filters/components/process-filter-dialog/process-filter-dialog-cloud.component.mjs +0 -58
  103. package/esm2022/lib/process/process-filters/components/process-filters/process-filters-cloud.component.mjs +0 -292
  104. package/esm2022/lib/process/process-filters/models/process-filter-cloud.model.mjs +0 -170
  105. package/esm2022/lib/process/process-filters/process-filters-cloud.module.mjs +0 -44
  106. package/esm2022/lib/process/process-filters/public-api.mjs +0 -23
  107. package/esm2022/lib/process/process-filters/services/process-filter-cloud.service.mjs +0 -408
  108. package/esm2022/lib/process/process-header/components/process-header-cloud.component.mjs +0 -137
  109. package/esm2022/lib/process/process-header/process-header-cloud.module.mjs +0 -33
  110. package/esm2022/lib/process/process-header/public-api.mjs +0 -19
  111. package/esm2022/lib/process/process-list/components/process-list-cloud.component.mjs +0 -593
  112. package/esm2022/lib/process/process-list/datatable/process-list-datatable-adapter.mjs +0 -31
  113. package/esm2022/lib/process/process-list/models/perocess-instance-cloud-view.model.mjs +0 -18
  114. package/esm2022/lib/process/process-list/models/process-cloud-preferences.mjs +0 -24
  115. package/esm2022/lib/process/process-list/models/process-cloud-preset.model.mjs +0 -37
  116. package/esm2022/lib/process/process-list/models/process-cloud-query-request.model.mjs +0 -107
  117. package/esm2022/lib/process/process-list/models/process-list-sorting.model.mjs +0 -40
  118. package/esm2022/lib/process/process-list/process-list-cloud.module.mjs +0 -45
  119. package/esm2022/lib/process/process-list/public-api.mjs +0 -25
  120. package/esm2022/lib/process/process-list/services/process-list-cloud.service.mjs +0 -253
  121. package/esm2022/lib/process/process-list/services/process-task-list-cloud.service.mjs +0 -109
  122. package/esm2022/lib/process/public-api.mjs +0 -23
  123. package/esm2022/lib/process/services/process-cloud.service.mjs +0 -105
  124. package/esm2022/lib/process/start-process/components/start-process-cloud.component.mjs +0 -465
  125. package/esm2022/lib/process/start-process/models/process-instance-cloud.model.mjs +0 -18
  126. package/esm2022/lib/process/start-process/models/process-payload-cloud.model.mjs +0 -26
  127. package/esm2022/lib/process/start-process/models/process-with-form-payload-cloud.model.mjs +0 -26
  128. package/esm2022/lib/process/start-process/public-api.mjs +0 -21
  129. package/esm2022/lib/process/start-process/services/start-process-cloud.service.mjs +0 -125
  130. package/esm2022/lib/process-services-cloud.module.mjs +0 -98
  131. package/esm2022/lib/providers.mjs +0 -45
  132. package/esm2022/lib/screen/components/screen-cloud/screen-cloud.component.mjs +0 -186
  133. package/esm2022/lib/screen/models/screen-cloud.model.mjs +0 -18
  134. package/esm2022/lib/screen/public-api.mjs +0 -18
  135. package/esm2022/lib/services/base-cloud.service.mjs +0 -83
  136. package/esm2022/lib/services/cloud-token.service.mjs +0 -23
  137. package/esm2022/lib/services/form-fields.interfaces.mjs +0 -55
  138. package/esm2022/lib/services/local-preference-cloud.service.mjs +0 -122
  139. package/esm2022/lib/services/notification-cloud.service.mjs +0 -45
  140. package/esm2022/lib/services/preference-cloud.interface.mjs +0 -18
  141. package/esm2022/lib/services/public-api.mjs +0 -28
  142. package/esm2022/lib/services/screen-rendering.service.mjs +0 -30
  143. package/esm2022/lib/services/task-list-cloud.service.interface.mjs +0 -18
  144. package/esm2022/lib/services/user-preference-cloud.service.mjs +0 -105
  145. package/esm2022/lib/services/variable-mapper.sevice.mjs +0 -77
  146. package/esm2022/lib/services/web-socket.service.mjs +0 -146
  147. package/esm2022/lib/task/models/start-task-cloud-request.model.mjs +0 -32
  148. package/esm2022/lib/task/models/task-details-cloud.model.mjs +0 -26
  149. package/esm2022/lib/task/models/task.model.mjs +0 -23
  150. package/esm2022/lib/task/public-api.mjs +0 -26
  151. package/esm2022/lib/task/services/task-cloud.service.mjs +0 -272
  152. package/esm2022/lib/task/task-cloud.module.mjs +0 -45
  153. package/esm2022/lib/task/task-filters/components/base-task-filters-cloud.component.mjs +0 -59
  154. package/esm2022/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.mjs +0 -467
  155. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter/edit-service-task-filter-cloud.component.mjs +0 -205
  156. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component.mjs +0 -317
  157. package/esm2022/lib/task/task-filters/components/service-task-filters/service-task-filters-cloud.component.mjs +0 -146
  158. package/esm2022/lib/task/task-filters/components/task-assignment-filter/task-assignment-filter.component.mjs +0 -142
  159. package/esm2022/lib/task/task-filters/components/task-filter-dialog/task-filter-dialog-cloud.component.mjs +0 -72
  160. package/esm2022/lib/task/task-filters/components/task-filters/task-filters-cloud.component.mjs +0 -255
  161. package/esm2022/lib/task/task-filters/models/filter-cloud.model.mjs +0 -207
  162. package/esm2022/lib/task/task-filters/public-api.mjs +0 -27
  163. package/esm2022/lib/task/task-filters/services/service-task-filter-cloud.service.mjs +0 -283
  164. package/esm2022/lib/task/task-filters/services/task-filter-cloud.service.mjs +0 -392
  165. package/esm2022/lib/task/task-filters/task-filters-cloud.module.mjs +0 -56
  166. package/esm2022/lib/task/task-form/components/task-form-cloud/task-form-cloud.component.mjs +0 -231
  167. package/esm2022/lib/task/task-form/components/user-task-cloud/complete-task/complete-task.directive.mjs +0 -89
  168. package/esm2022/lib/task/task-form/components/user-task-cloud/user-task-cloud.component.mjs +0 -309
  169. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/claim-task/claim-task-cloud.directive.mjs +0 -101
  170. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/unclaim-task/unclaim-task-cloud.directive.mjs +0 -87
  171. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/user-task-cloud-buttons.component.mjs +0 -85
  172. package/esm2022/lib/task/task-form/public-api.mjs +0 -21
  173. package/esm2022/lib/task/task-form/task-form.module.mjs +0 -36
  174. package/esm2022/lib/task/task-header/components/task-header-cloud.component.mjs +0 -280
  175. package/esm2022/lib/task/task-header/public-api.mjs +0 -19
  176. package/esm2022/lib/task/task-header/task-header-cloud.module.mjs +0 -33
  177. package/esm2022/lib/task/task-list/components/base-task-list-cloud.component.mjs +0 -331
  178. package/esm2022/lib/task/task-list/components/service-task-list/service-task-list-cloud.component.mjs +0 -115
  179. package/esm2022/lib/task/task-list/components/task-list/datatable/task-list-datatable-adapter.mjs +0 -31
  180. package/esm2022/lib/task/task-list/components/task-list/task-list-cloud.component.mjs +0 -389
  181. package/esm2022/lib/task/task-list/models/service-task-cloud.model.mjs +0 -18
  182. package/esm2022/lib/task/task-list/models/task-cloud-view.model.mjs +0 -18
  183. package/esm2022/lib/task/task-list/public-api.mjs +0 -23
  184. package/esm2022/lib/task/task-list/services/service-task-list-cloud.service.mjs +0 -115
  185. package/esm2022/lib/task/task-list/services/task-list-cloud.service.mjs +0 -178
  186. package/esm2022/lib/task/task-list/task-list-cloud.module.mjs +0 -35
  187. package/esm2022/lib/types.mjs +0 -18
  188. package/esm2022/public-api.mjs +0 -40
@@ -1,231 +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 { FormRenderingService } from '@alfresco/adf-core';
18
- import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
19
- import { FormCloudComponent } from '../../../../form/components/form-cloud.component';
20
- import { AttachFileCloudWidgetComponent } from '../../../../form/components/widgets/attach-file/attach-file-cloud-widget.component';
21
- import { DateCloudWidgetComponent } from '../../../../form/components/widgets/date/date-cloud.widget';
22
- import { DropdownCloudWidgetComponent } from '../../../../form/components/widgets/dropdown/dropdown-cloud.widget';
23
- import { TaskCloudService } from '../../../services/task-cloud.service';
24
- import { CommonModule } from '@angular/common';
25
- import { UserTaskCloudButtonsComponent } from '../user-task-cloud-buttons/user-task-cloud-buttons.component';
26
- import { FormCustomOutcomesComponent } from '../../../../form/components/form-cloud-custom-outcomes.component';
27
- import * as i0 from "@angular/core";
28
- import * as i1 from "../../../services/task-cloud.service";
29
- import * as i2 from "@alfresco/adf-core";
30
- export class TaskFormCloudComponent {
31
- constructor(taskCloudService, formRenderingService) {
32
- this.taskCloudService = taskCloudService;
33
- this.formRenderingService = formRenderingService;
34
- /** App id to fetch corresponding form and values. */
35
- this.appName = '';
36
- /**Candidates users*/
37
- this.candidateUsers = [];
38
- /**Candidates groups */
39
- this.candidateGroups = [];
40
- /** Toggle rendering of the form title. */
41
- this.showTitle = true;
42
- /** Toggle rendering of the `Refresh` button. */
43
- this.showRefreshButton = false;
44
- /** Toggle rendering of the `Validation` icon. */
45
- this.showValidationIcon = true;
46
- /** Toggle rendering of the `Cancel` button. */
47
- this.showCancelButton = true;
48
- /** Toggle rendering of the `Complete` button. */
49
- this.showCompleteButton = true;
50
- /** Toggle rendering of the `Save` button. */
51
- this.showSaveButton = true;
52
- /**
53
- * Custom text for the `Cancel` button.
54
- * If not provided, the default text will be used.
55
- */
56
- this.customCancelButtonText = '';
57
- /**
58
- * Custom text for the `Complete` button.
59
- * If not provided, the default text will be used.
60
- */
61
- this.customCompleteButtonText = '';
62
- /**
63
- * Custom text for the `Save` button.
64
- * If not provided, the default text will be used.
65
- */
66
- this.customSaveButtonText = '';
67
- /** Toggle readonly state of the task. */
68
- this.readOnly = false;
69
- /** Emitted when the form is loaded or reloaded. */
70
- this.formLoaded = new EventEmitter();
71
- /** Emitted when the form is saved. */
72
- this.formSaved = new EventEmitter();
73
- /** Emitted when the form is submitted with the `Complete` outcome. */
74
- this.formCompleted = new EventEmitter();
75
- /** Emitted when the task is completed. */
76
- this.taskCompleted = new EventEmitter();
77
- /** Emitted when the task is claimed. */
78
- this.taskClaimed = new EventEmitter();
79
- /** Emitted when the task is unclaimed. */
80
- this.taskUnclaimed = new EventEmitter();
81
- /** Emitted when the cancel button is clicked. */
82
- this.cancelClick = new EventEmitter();
83
- /** Emitted when any error occurs. */
84
- this.error = new EventEmitter();
85
- /** Emitted when form content is clicked. */
86
- this.formContentClicked = new EventEmitter();
87
- /**
88
- * Emitted when any outcome is executed. Default behaviour can be prevented
89
- * via `event.preventDefault()`.
90
- */
91
- this.executeOutcome = new EventEmitter();
92
- /** Emitted when a display mode configuration is turned on. */
93
- this.displayModeOn = new EventEmitter();
94
- /** Emitted when a display mode configuration is turned off. */
95
- this.displayModeOff = new EventEmitter();
96
- this.loading = false;
97
- this.formRenderingService.setComponentTypeResolver('upload', () => AttachFileCloudWidgetComponent, true);
98
- this.formRenderingService.setComponentTypeResolver('dropdown', () => DropdownCloudWidgetComponent, true);
99
- this.formRenderingService.setComponentTypeResolver('date', () => DateCloudWidgetComponent, true);
100
- }
101
- hasForm() {
102
- return this.taskDetails && !!this.taskDetails.formKey;
103
- }
104
- canCompleteTask() {
105
- return this.showCompleteButton && !this.readOnly && this.taskCloudService.canCompleteTask(this.taskDetails);
106
- }
107
- canClaimTask() {
108
- return !this.readOnly && this.taskCloudService.canClaimTask(this.taskDetails) && this.hasCandidateUsersOrGroups();
109
- }
110
- canUnclaimTask() {
111
- return !this.readOnly && this.taskCloudService.canUnclaimTask(this.taskDetails) && this.hasCandidateUsersOrGroups();
112
- }
113
- hasCandidateUsers() {
114
- return this.candidateUsers.length !== 0;
115
- }
116
- hasCandidateGroups() {
117
- return this.candidateGroups.length !== 0;
118
- }
119
- hasCandidateUsersOrGroups() {
120
- return this.hasCandidateUsers() || this.hasCandidateGroups();
121
- }
122
- isReadOnly() {
123
- return this.readOnly || !this.taskCloudService.canCompleteTask(this.taskDetails);
124
- }
125
- onCompleteTask() {
126
- this.taskCompleted.emit(this.taskId);
127
- }
128
- onClaimTask() {
129
- this.taskClaimed.emit(this.taskId);
130
- }
131
- onUnclaimTask() {
132
- this.taskUnclaimed.emit(this.taskId);
133
- }
134
- onCancelClick() {
135
- this.cancelClick.emit(this.taskId);
136
- }
137
- onFormSaved(form) {
138
- this.formSaved.emit(form);
139
- }
140
- onFormCompleted(form) {
141
- this.formCompleted.emit(form);
142
- this.taskCompleted.emit(this.taskId);
143
- }
144
- onError(data) {
145
- this.error.emit(data);
146
- }
147
- onFormContentClicked(content) {
148
- this.formContentClicked.emit(content);
149
- }
150
- onFormExecuteOutcome(outcome) {
151
- this.executeOutcome.emit(outcome);
152
- }
153
- switchToDisplayMode(newDisplayMode) {
154
- this.adfCloudForm.switchToDisplayMode(newDisplayMode);
155
- }
156
- onDisplayModeOn(displayModeConfiguration) {
157
- this.displayModeOn.emit(displayModeConfiguration);
158
- }
159
- onDisplayModeOff(displayModeConfiguration) {
160
- this.displayModeOff.emit(displayModeConfiguration);
161
- }
162
- onFormLoaded(form) {
163
- this.formLoaded.emit(form);
164
- }
165
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFormCloudComponent, deps: [{ token: i1.TaskCloudService }, { token: i2.FormRenderingService }], target: i0.ɵɵFactoryTarget.Component }); }
166
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TaskFormCloudComponent, isStandalone: true, selector: "adf-cloud-task-form", inputs: { appName: "appName", candidateUsers: "candidateUsers", candidateGroups: "candidateGroups", taskId: "taskId", showTitle: "showTitle", showRefreshButton: "showRefreshButton", showValidationIcon: "showValidationIcon", showCancelButton: "showCancelButton", showCompleteButton: "showCompleteButton", showSaveButton: "showSaveButton", customCancelButtonText: "customCancelButtonText", customCompleteButtonText: "customCompleteButtonText", customSaveButtonText: "customSaveButtonText", readOnly: "readOnly", displayModeConfigurations: "displayModeConfigurations", taskDetails: "taskDetails" }, outputs: { formLoaded: "formLoaded", formSaved: "formSaved", formCompleted: "formCompleted", taskCompleted: "taskCompleted", taskClaimed: "taskClaimed", taskUnclaimed: "taskUnclaimed", cancelClick: "cancelClick", error: "error", formContentClicked: "formContentClicked", executeOutcome: "executeOutcome", displayModeOn: "displayModeOn", displayModeOff: "displayModeOff" }, viewQueries: [{ propertyName: "adfCloudForm", first: true, predicate: ["adfCloudForm"], descendants: true }], ngImport: i0, template: "<div class=\"adf-task-form-cloud-container\">\n <adf-cloud-form\n #adfCloudForm\n [appName]=\"appName\"\n [appVersion]=\"taskDetails.appVersion\"\n [taskId]=\"taskId\"\n [showTitle]=\"showTitle\"\n [processInstanceId]=\"taskDetails.processInstanceId\"\n [readOnly]=\"isReadOnly()\"\n [showRefreshButton]=\"showRefreshButton\"\n [showValidationIcon]=\"showValidationIcon\"\n [showCompleteButton]=\"showCompleteButton && canCompleteTask()\"\n [showSaveButton]=\"showSaveButton && canCompleteTask()\"\n [customSaveButtonText]=\"customSaveButtonText\"\n [customCompleteButtonText]=\"customCompleteButtonText\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n (formLoaded)=\"onFormLoaded($event)\"\n (formSaved)=\"onFormSaved($event)\"\n (formCompleted)=\"onFormCompleted($event)\"\n (formError)=\"onError($event)\"\n (error)=\"onError($event)\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (executeOutcome)=\"onFormExecuteOutcome($event)\"\n (displayModeOn)=\"onDisplayModeOn($event)\"\n (displayModeOff)=\"onDisplayModeOff($event)\"\n >\n <adf-cloud-form-custom-outcomes>\n <adf-cloud-user-task-cloud-buttons\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [showCancelButton]=\"showCancelButton\"\n [customCancelButtonText]=\"customCancelButtonText\"\n [taskId]=\"taskId\"\n (cancelClick)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n</div>\n", styles: [".adf-task-form-cloud-container{height:100%}.adf-task-form-cloud-container .adf-task-form-container{overflow:hidden}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button){padding-bottom:25px;padding-right:25px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .adf-task-form-actions-button{height:36px;border-radius:5px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mdc-button__label{min-width:58px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: UserTaskCloudButtonsComponent, selector: "adf-cloud-user-task-cloud-buttons", inputs: ["appName", "canClaimTask", "canUnclaimTask", "taskId", "showCancelButton", "customCancelButtonText"], outputs: ["error", "cancelClick", "claimTask", "unclaimTask"] }, { kind: "component", type: FormCustomOutcomesComponent, selector: "adf-cloud-form-custom-outcomes" }, { kind: "component", type: FormCloudComponent, selector: "adf-cloud-form", inputs: ["appName", "appVersion", "formId", "processInstanceId", "taskId", "data", "displayModeConfigurations", "showCompleteButton", "customSaveButtonText", "customCompleteButtonText"], outputs: ["formSaved", "formCompleted", "formLoaded", "formDataRefreshed", "formContentClicked", "displayModeOn", "displayModeOff"] }], encapsulation: i0.ViewEncapsulation.None }); }
167
- }
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFormCloudComponent, decorators: [{
169
- type: Component,
170
- args: [{ selector: 'adf-cloud-task-form', standalone: true, imports: [CommonModule, UserTaskCloudButtonsComponent, FormCustomOutcomesComponent, FormCloudComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-task-form-cloud-container\">\n <adf-cloud-form\n #adfCloudForm\n [appName]=\"appName\"\n [appVersion]=\"taskDetails.appVersion\"\n [taskId]=\"taskId\"\n [showTitle]=\"showTitle\"\n [processInstanceId]=\"taskDetails.processInstanceId\"\n [readOnly]=\"isReadOnly()\"\n [showRefreshButton]=\"showRefreshButton\"\n [showValidationIcon]=\"showValidationIcon\"\n [showCompleteButton]=\"showCompleteButton && canCompleteTask()\"\n [showSaveButton]=\"showSaveButton && canCompleteTask()\"\n [customSaveButtonText]=\"customSaveButtonText\"\n [customCompleteButtonText]=\"customCompleteButtonText\"\n [displayModeConfigurations]=\"displayModeConfigurations\"\n (formLoaded)=\"onFormLoaded($event)\"\n (formSaved)=\"onFormSaved($event)\"\n (formCompleted)=\"onFormCompleted($event)\"\n (formError)=\"onError($event)\"\n (error)=\"onError($event)\"\n (formContentClicked)=\"onFormContentClicked($event)\"\n (executeOutcome)=\"onFormExecuteOutcome($event)\"\n (displayModeOn)=\"onDisplayModeOn($event)\"\n (displayModeOff)=\"onDisplayModeOff($event)\"\n >\n <adf-cloud-form-custom-outcomes>\n <adf-cloud-user-task-cloud-buttons\n [appName]=\"appName\"\n [canClaimTask]=\"canClaimTask()\"\n [canUnclaimTask]=\"canUnclaimTask()\"\n [showCancelButton]=\"showCancelButton\"\n [customCancelButtonText]=\"customCancelButtonText\"\n [taskId]=\"taskId\"\n (cancelClick)=\"onCancelClick()\"\n (claimTask)=\"onClaimTask()\"\n (unclaimTask)=\"onUnclaimTask()\"\n (error)=\"onError($event)\"\n />\n </adf-cloud-form-custom-outcomes>\n </adf-cloud-form>\n</div>\n", styles: [".adf-task-form-cloud-container{height:100%}.adf-task-form-cloud-container .adf-task-form-container{overflow:hidden}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button){padding-bottom:25px;padding-right:25px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .adf-task-form-actions-button{height:36px;border-radius:5px}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-task-form-cloud-container .adf-task-form-container .adf-task-form-actions:has(button) .mdc-button__label{min-width:58px}\n"] }]
171
- }], ctorParameters: () => [{ type: i1.TaskCloudService }, { type: i2.FormRenderingService }], propDecorators: { appName: [{
172
- type: Input
173
- }], candidateUsers: [{
174
- type: Input
175
- }], candidateGroups: [{
176
- type: Input
177
- }], taskId: [{
178
- type: Input
179
- }], showTitle: [{
180
- type: Input
181
- }], showRefreshButton: [{
182
- type: Input
183
- }], showValidationIcon: [{
184
- type: Input
185
- }], showCancelButton: [{
186
- type: Input
187
- }], showCompleteButton: [{
188
- type: Input
189
- }], showSaveButton: [{
190
- type: Input
191
- }], customCancelButtonText: [{
192
- type: Input
193
- }], customCompleteButtonText: [{
194
- type: Input
195
- }], customSaveButtonText: [{
196
- type: Input
197
- }], readOnly: [{
198
- type: Input
199
- }], displayModeConfigurations: [{
200
- type: Input
201
- }], taskDetails: [{
202
- type: Input
203
- }], formLoaded: [{
204
- type: Output
205
- }], formSaved: [{
206
- type: Output
207
- }], formCompleted: [{
208
- type: Output
209
- }], taskCompleted: [{
210
- type: Output
211
- }], taskClaimed: [{
212
- type: Output
213
- }], taskUnclaimed: [{
214
- type: Output
215
- }], cancelClick: [{
216
- type: Output
217
- }], error: [{
218
- type: Output
219
- }], formContentClicked: [{
220
- type: Output
221
- }], executeOutcome: [{
222
- type: Output
223
- }], displayModeOn: [{
224
- type: Output
225
- }], displayModeOff: [{
226
- type: Output
227
- }], adfCloudForm: [{
228
- type: ViewChild,
229
- args: ['adfCloudForm', { static: false }]
230
- }] } });
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1mb3JtLWNsb3VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZvcm0vY29tcG9uZW50cy90YXNrLWZvcm0tY2xvdWQvdGFzay1mb3JtLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZvcm0vY29tcG9uZW50cy90YXNrLWZvcm0tY2xvdWQvdGFzay1mb3JtLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBaUQsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxvRkFBb0YsQ0FBQztBQUNwSSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUVsSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDN0csT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7Ozs7QUFV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WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbnRlbnRMaW5rTW9kZWwsIEZvcm1Nb2RlbCwgRm9ybU91dGNvbWVFdmVudCwgRm9ybVJlbmRlcmluZ1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1DbG91ZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2Zvcm0vY29tcG9uZW50cy9mb3JtLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdHRhY2hGaWxlQ2xvdWRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9mb3JtL2NvbXBvbmVudHMvd2lkZ2V0cy9hdHRhY2gtZmlsZS9hdHRhY2gtZmlsZS1jbG91ZC13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVDbG91ZFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2RhdGUvZGF0ZS1jbG91ZC53aWRnZXQnO1xuaW1wb3J0IHsgRHJvcGRvd25DbG91ZFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2Ryb3Bkb3duL2Ryb3Bkb3duLWNsb3VkLndpZGdldCc7XG5pbXBvcnQgeyBGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLWZpZWxkcy5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRhc2tDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90YXNrLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFza0RldGFpbHNDbG91ZE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Rhc2stZGV0YWlscy1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVXNlclRhc2tDbG91ZEJ1dHRvbnNDb21wb25lbnQgfSBmcm9tICcuLi91c2VyLXRhc2stY2xvdWQtYnV0dG9ucy91c2VyLXRhc2stY2xvdWQtYnV0dG9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUN1c3RvbU91dGNvbWVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZm9ybS9jb21wb25lbnRzL2Zvcm0tY2xvdWQtY3VzdG9tLW91dGNvbWVzLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWNsb3VkLXRhc2stZm9ybScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBVc2VyVGFza0Nsb3VkQnV0dG9uc0NvbXBvbmVudCwgRm9ybUN1c3RvbU91dGNvbWVzQ29tcG9uZW50LCBGb3JtQ2xvdWRDb21wb25lbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YXNrLWZvcm0tY2xvdWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rhc2stZm9ybS1jbG91ZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVGFza0Zvcm1DbG91ZENvbXBvbmVudCB7XG4gICAgLyoqIEFwcCBpZCB0byBmZXRjaCBjb3JyZXNwb25kaW5nIGZvcm0gYW5kIHZhbHVlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFwcE5hbWU6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqQ2FuZGlkYXRlcyB1c2VycyovXG4gICAgQElucHV0KClcbiAgICBjYW5kaWRhdGVVc2Vyczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKkNhbmRpZGF0ZXMgZ3JvdXBzICovXG4gICAgQElucHV0KClcbiAgICBjYW5kaWRhdGVHcm91cHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAvKiogVGFzayBpZCB0byBmZXRjaCBjb3JyZXNwb25kaW5nIGZvcm0gYW5kIHZhbHVlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRhc2tJZDogc3RyaW5nO1xuXG4gICAgLyoqIFRvZ2dsZSByZW5kZXJpbmcgb2YgdGhlIGZvcm0gdGl0bGUuICovXG4gICAgQElucHV0KClcbiAgICBzaG93VGl0bGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIFRvZ2dsZSByZW5kZXJpbmcgb2YgdGhlIGBSZWZyZXNoYCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93UmVmcmVzaEJ1dHRvbiA9IGZhbHNlO1xuXG4gICAgLyoqIFRvZ2dsZSByZW5kZXJpbmcgb2YgdGhlIGBWYWxpZGF0aW9uYCBpY29uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1ZhbGlkYXRpb25JY29uID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSBgQ2FuY2VsYCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93Q2FuY2VsQnV0dG9uID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGUgcmVuZGVyaW5nIG9mIHRoZSBgQ29tcGxldGVgIGJ1dHRvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dDb21wbGV0ZUJ1dHRvbiA9IHRydWU7XG5cbiAgICAvKiogVG9nZ2xlIHJlbmRlcmluZyBvZiB0aGUgYFNhdmVgIGJ1dHRvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dTYXZlQnV0dG9uID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSB0ZXh0IGZvciB0aGUgYENhbmNlbGAgYnV0dG9uLlxuICAgICAqIElmIG5vdCBwcm92aWRlZCwgdGhlIGRlZmF1bHQgdGV4dCB3aWxsIGJlIHVzZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjdXN0b21DYW5jZWxCdXR0b25UZXh0OiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSB0ZXh0IGZvciB0aGUgYENvbXBsZXRlYCBidXR0b24uXG4gICAgICogSWYgbm90IHByb3ZpZGVkLCB0aGUgZGVmYXVsdCB0ZXh0IHdpbGwgYmUgdXNlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGN1c3RvbUNvbXBsZXRlQnV0dG9uVGV4dDogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGV4dCBmb3IgdGhlIGBTYXZlYCBidXR0b24uXG4gICAgICogSWYgbm90IHByb3ZpZGVkLCB0aGUgZGVmYXVsdCB0ZXh0IHdpbGwgYmUgdXNlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGN1c3RvbVNhdmVCdXR0b25UZXh0OiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBUb2dnbGUgcmVhZG9ubHkgc3RhdGUgb2YgdGhlIHRhc2suICovXG4gICAgQElucHV0KClcbiAgICByZWFkT25seSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGF2YWlsYWJsZSBkaXNwbGF5IGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgZm9ybVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheU1vZGVDb25maWd1cmF0aW9uczogRm9ybUNsb3VkRGlzcGxheU1vZGVDb25maWd1cmF0aW9uW107XG5cbiAgICAvKiogVGFzayBkZXRhaWxzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGFza0RldGFpbHM6IFRhc2tEZXRhaWxzQ2xvdWRNb2RlbDtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGZvcm0gaXMgbG9hZGVkIG9yIHJlbG9hZGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1Mb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Nb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGZvcm0gaXMgc2F2ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybVNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCB3aXRoIHRoZSBgQ29tcGxldGVgIG91dGNvbWUuICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybUNvbXBsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybU1vZGVsPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdGFzayBpcyBjb21wbGV0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgdGFza0NvbXBsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdGFzayBpcyBjbGFpbWVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHRhc2tDbGFpbWVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0YXNrIGlzIHVuY2xhaW1lZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICB0YXNrVW5jbGFpbWVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBjYW5jZWwgYnV0dG9uIGlzIGNsaWNrZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgY2FuY2VsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYW55IGVycm9yIG9jY3Vycy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBmb3JtIGNvbnRlbnQgaXMgY2xpY2tlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtQ29udGVudENsaWNrZWQ6IEV2ZW50RW1pdHRlcjxDb250ZW50TGlua01vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBhbnkgb3V0Y29tZSBpcyBleGVjdXRlZC4gRGVmYXVsdCBiZWhhdmlvdXIgY2FuIGJlIHByZXZlbnRlZFxuICAgICAqIHZpYSBgZXZlbnQucHJldmVudERlZmF1bHQoKWAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZXhlY3V0ZU91dGNvbWUgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1PdXRjb21lRXZlbnQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZGlzcGxheSBtb2RlIGNvbmZpZ3VyYXRpb24gaXMgdHVybmVkIG9uLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGRpc3BsYXlNb2RlT24gPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1DbG91ZERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbj4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYSBkaXNwbGF5IG1vZGUgY29uZmlndXJhdGlvbiBpcyB0dXJuZWQgb2ZmLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGRpc3BsYXlNb2RlT2ZmID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdhZGZDbG91ZEZvcm0nLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBhZGZDbG91ZEZvcm06IEZvcm1DbG91ZENvbXBvbmVudDtcblxuICAgIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFza0Nsb3VkU2VydmljZTogVGFza0Nsb3VkU2VydmljZSwgcHJpdmF0ZSBmb3JtUmVuZGVyaW5nU2VydmljZTogRm9ybVJlbmRlcmluZ1NlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5mb3JtUmVuZGVyaW5nU2VydmljZS5zZXRDb21wb25lbnRUeXBlUmVzb2x2ZXIoJ3VwbG9hZCcsICgpID0+IEF0dGFjaEZpbGVDbG91ZFdpZGdldENvbXBvbmVudCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuZm9ybVJlbmRlcmluZ1NlcnZpY2Uuc2V0Q29tcG9uZW50VHlwZVJlc29sdmVyKCdkcm9wZG93bicsICgpID0+IERyb3Bkb3duQ2xvdWRXaWRnZXRDb21wb25lbnQsIHRydWUpO1xuICAgICAgICB0aGlzLmZvcm1SZW5kZXJpbmdTZXJ2aWNlLnNldENvbXBvbmVudFR5cGVSZXNvbHZlcignZGF0ZScsICgpID0+IERhdGVDbG91ZFdpZGdldENvbXBvbmVudCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgaGFzRm9ybSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFza0RldGFpbHMgJiYgISF0aGlzLnRhc2tEZXRhaWxzLmZvcm1LZXk7XG4gICAgfVxuXG4gICAgY2FuQ29tcGxldGVUYXNrKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93Q29tcGxldGVCdXR0b24gJiYgIXRoaXMucmVhZE9ubHkgJiYgdGhpcy50YXNrQ2xvdWRTZXJ2aWNlLmNhbkNvbXBsZXRlVGFzayh0aGlzLnRhc2tEZXRhaWxzKTtcbiAgICB9XG5cbiAgICBjYW5DbGFpbVRhc2soKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yZWFkT25seSAmJiB0aGlzLnRhc2tDbG91ZFNlcnZpY2UuY2FuQ2xhaW1UYXNrKHRoaXMudGFza0RldGFpbHMpICYmIHRoaXMuaGFzQ2FuZGlkYXRlVXNlcnNPckdyb3VwcygpO1xuICAgIH1cblxuICAgIGNhblVuY2xhaW1UYXNrKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVhZE9ubHkgJiYgdGhpcy50YXNrQ2xvdWRTZXJ2aWNlLmNhblVuY2xhaW1UYXNrKHRoaXMudGFza0RldGFpbHMpICYmIHRoaXMuaGFzQ2FuZGlkYXRlVXNlcnNPckdyb3VwcygpO1xuICAgIH1cblxuICAgIGhhc0NhbmRpZGF0ZVVzZXJzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYW5kaWRhdGVVc2Vycy5sZW5ndGggIT09IDA7XG4gICAgfVxuXG4gICAgaGFzQ2FuZGlkYXRlR3JvdXBzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYW5kaWRhdGVHcm91cHMubGVuZ3RoICE9PSAwO1xuICAgIH1cblxuICAgIGhhc0NhbmRpZGF0ZVVzZXJzT3JHcm91cHMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NhbmRpZGF0ZVVzZXJzKCkgfHwgdGhpcy5oYXNDYW5kaWRhdGVHcm91cHMoKTtcbiAgICB9XG5cbiAgICBpc1JlYWRPbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWFkT25seSB8fCAhdGhpcy50YXNrQ2xvdWRTZXJ2aWNlLmNhbkNvbXBsZXRlVGFzayh0aGlzLnRhc2tEZXRhaWxzKTtcbiAgICB9XG5cbiAgICBvbkNvbXBsZXRlVGFzaygpIHtcbiAgICAgICAgdGhpcy50YXNrQ29tcGxldGVkLmVtaXQodGhpcy50YXNrSWQpO1xuICAgIH1cblxuICAgIG9uQ2xhaW1UYXNrKCkge1xuICAgICAgICB0aGlzLnRhc2tDbGFpbWVkLmVtaXQodGhpcy50YXNrSWQpO1xuICAgIH1cblxuICAgIG9uVW5jbGFpbVRhc2soKSB7XG4gICAgICAgIHRoaXMudGFza1VuY2xhaW1lZC5lbWl0KHRoaXMudGFza0lkKTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbENsaWNrKCkge1xuICAgICAgICB0aGlzLmNhbmNlbENsaWNrLmVtaXQodGhpcy50YXNrSWQpO1xuICAgIH1cblxuICAgIG9uRm9ybVNhdmVkKGZvcm06IEZvcm1Nb2RlbCkge1xuICAgICAgICB0aGlzLmZvcm1TYXZlZC5lbWl0KGZvcm0pO1xuICAgIH1cblxuICAgIG9uRm9ybUNvbXBsZXRlZChmb3JtOiBGb3JtTW9kZWwpIHtcbiAgICAgICAgdGhpcy5mb3JtQ29tcGxldGVkLmVtaXQoZm9ybSk7XG4gICAgICAgIHRoaXMudGFza0NvbXBsZXRlZC5lbWl0KHRoaXMudGFza0lkKTtcbiAgICB9XG5cbiAgICBvbkVycm9yKGRhdGE6IGFueSkge1xuICAgICAgICB0aGlzLmVycm9yLmVtaXQoZGF0YSk7XG4gICAgfVxuXG4gICAgb25Gb3JtQ29udGVudENsaWNrZWQoY29udGVudDogQ29udGVudExpbmtNb2RlbCkge1xuICAgICAgICB0aGlzLmZvcm1Db250ZW50Q2xpY2tlZC5lbWl0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIG9uRm9ybUV4ZWN1dGVPdXRjb21lKG91dGNvbWU6IEZvcm1PdXRjb21lRXZlbnQpIHtcbiAgICAgICAgdGhpcy5leGVjdXRlT3V0Y29tZS5lbWl0KG91dGNvbWUpO1xuICAgIH1cblxuICAgIHN3aXRjaFRvRGlzcGxheU1vZGUobmV3RGlzcGxheU1vZGU/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5hZGZDbG91ZEZvcm0uc3dpdGNoVG9EaXNwbGF5TW9kZShuZXdEaXNwbGF5TW9kZSk7XG4gICAgfVxuXG4gICAgb25EaXNwbGF5TW9kZU9uKGRpc3BsYXlNb2RlQ29uZmlndXJhdGlvbjogRm9ybUNsb3VkRGlzcGxheU1vZGVDb25maWd1cmF0aW9uKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheU1vZGVPbi5lbWl0KGRpc3BsYXlNb2RlQ29uZmlndXJhdGlvbik7XG4gICAgfVxuXG4gICAgb25EaXNwbGF5TW9kZU9mZihkaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb246IEZvcm1DbG91ZERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbikge1xuICAgICAgICB0aGlzLmRpc3BsYXlNb2RlT2ZmLmVtaXQoZGlzcGxheU1vZGVDb25maWd1cmF0aW9uKTtcbiAgICB9XG5cbiAgICBvbkZvcm1Mb2FkZWQoZm9ybTogRm9ybU1vZGVsKSB7XG4gICAgICAgIHRoaXMuZm9ybUxvYWRlZC5lbWl0KGZvcm0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGYtdGFzay1mb3JtLWNsb3VkLWNvbnRhaW5lclwiPlxuICAgIDxhZGYtY2xvdWQtZm9ybVxuICAgICAgICAjYWRmQ2xvdWRGb3JtXG4gICAgICAgIFthcHBOYW1lXT1cImFwcE5hbWVcIlxuICAgICAgICBbYXBwVmVyc2lvbl09XCJ0YXNrRGV0YWlscy5hcHBWZXJzaW9uXCJcbiAgICAgICAgW3Rhc2tJZF09XCJ0YXNrSWRcIlxuICAgICAgICBbc2hvd1RpdGxlXT1cInNob3dUaXRsZVwiXG4gICAgICAgIFtwcm9jZXNzSW5zdGFuY2VJZF09XCJ0YXNrRGV0YWlscy5wcm9jZXNzSW5zdGFuY2VJZFwiXG4gICAgICAgIFtyZWFkT25seV09XCJpc1JlYWRPbmx5KClcIlxuICAgICAgICBbc2hvd1JlZnJlc2hCdXR0b25dPVwic2hvd1JlZnJlc2hCdXR0b25cIlxuICAgICAgICBbc2hvd1ZhbGlkYXRpb25JY29uXT1cInNob3dWYWxpZGF0aW9uSWNvblwiXG4gICAgICAgIFtzaG93Q29tcGxldGVCdXR0b25dPVwic2hvd0NvbXBsZXRlQnV0dG9uICYmIGNhbkNvbXBsZXRlVGFzaygpXCJcbiAgICAgICAgW3Nob3dTYXZlQnV0dG9uXT1cInNob3dTYXZlQnV0dG9uICYmIGNhbkNvbXBsZXRlVGFzaygpXCJcbiAgICAgICAgW2N1c3RvbVNhdmVCdXR0b25UZXh0XT1cImN1c3RvbVNhdmVCdXR0b25UZXh0XCJcbiAgICAgICAgW2N1c3RvbUNvbXBsZXRlQnV0dG9uVGV4dF09XCJjdXN0b21Db21wbGV0ZUJ1dHRvblRleHRcIlxuICAgICAgICBbZGlzcGxheU1vZGVDb25maWd1cmF0aW9uc109XCJkaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zXCJcbiAgICAgICAgKGZvcm1Mb2FkZWQpPVwib25Gb3JtTG9hZGVkKCRldmVudClcIlxuICAgICAgICAoZm9ybVNhdmVkKT1cIm9uRm9ybVNhdmVkKCRldmVudClcIlxuICAgICAgICAoZm9ybUNvbXBsZXRlZCk9XCJvbkZvcm1Db21wbGV0ZWQoJGV2ZW50KVwiXG4gICAgICAgIChmb3JtRXJyb3IpPVwib25FcnJvcigkZXZlbnQpXCJcbiAgICAgICAgKGVycm9yKT1cIm9uRXJyb3IoJGV2ZW50KVwiXG4gICAgICAgIChmb3JtQ29udGVudENsaWNrZWQpPVwib25Gb3JtQ29udGVudENsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgIChleGVjdXRlT3V0Y29tZSk9XCJvbkZvcm1FeGVjdXRlT3V0Y29tZSgkZXZlbnQpXCJcbiAgICAgICAgKGRpc3BsYXlNb2RlT24pPVwib25EaXNwbGF5TW9kZU9uKCRldmVudClcIlxuICAgICAgICAoZGlzcGxheU1vZGVPZmYpPVwib25EaXNwbGF5TW9kZU9mZigkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxhZGYtY2xvdWQtZm9ybS1jdXN0b20tb3V0Y29tZXM+XG4gICAgICAgICAgICA8YWRmLWNsb3VkLXVzZXItdGFzay1jbG91ZC1idXR0b25zXG4gICAgICAgICAgICAgICAgW2FwcE5hbWVdPVwiYXBwTmFtZVwiXG4gICAgICAgICAgICAgICAgW2NhbkNsYWltVGFza109XCJjYW5DbGFpbVRhc2soKVwiXG4gICAgICAgICAgICAgICAgW2NhblVuY2xhaW1UYXNrXT1cImNhblVuY2xhaW1UYXNrKClcIlxuICAgICAgICAgICAgICAgIFtzaG93Q2FuY2VsQnV0dG9uXT1cInNob3dDYW5jZWxCdXR0b25cIlxuICAgICAgICAgICAgICAgIFtjdXN0b21DYW5jZWxCdXR0b25UZXh0XT1cImN1c3RvbUNhbmNlbEJ1dHRvblRleHRcIlxuICAgICAgICAgICAgICAgIFt0YXNrSWRdPVwidGFza0lkXCJcbiAgICAgICAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwib25DYW5jZWxDbGljaygpXCJcbiAgICAgICAgICAgICAgICAoY2xhaW1UYXNrKT1cIm9uQ2xhaW1UYXNrKClcIlxuICAgICAgICAgICAgICAgICh1bmNsYWltVGFzayk9XCJvblVuY2xhaW1UYXNrKClcIlxuICAgICAgICAgICAgICAgIChlcnJvcik9XCJvbkVycm9yKCRldmVudClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9hZGYtY2xvdWQtZm9ybS1jdXN0b20tb3V0Y29tZXM+XG4gICAgPC9hZGYtY2xvdWQtZm9ybT5cbjwvZGl2PlxuIl19
@@ -1,89 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { Directive, Input, HostListener, Output, EventEmitter, ElementRef, Renderer2 } from '@angular/core';
18
- import { TaskCloudService } from '../../../../services/task-cloud.service';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "../../../../services/task-cloud.service";
21
- export class CompleteTaskDirective {
22
- constructor(el, renderer, taskListService) {
23
- this.el = el;
24
- this.renderer = renderer;
25
- this.taskListService = taskListService;
26
- /** (Required) The name of the application. */
27
- this.appName = '';
28
- /** Emitted when the task is completed. */
29
- this.success = new EventEmitter();
30
- /** Emitted when the task cannot be completed. */
31
- this.error = new EventEmitter();
32
- this.invalidParams = [];
33
- }
34
- ngOnInit() {
35
- this.validateInputs();
36
- }
37
- validateInputs() {
38
- if (!this.isTaskValid()) {
39
- this.invalidParams.push('taskId');
40
- }
41
- if (!this.isAppValid()) {
42
- this.invalidParams.push('appName');
43
- }
44
- if (this.invalidParams.length) {
45
- throw new Error(`Attribute ${this.invalidParams.join(', ')} is required`);
46
- }
47
- }
48
- isTaskValid() {
49
- return this.taskId && this.taskId.length > 0;
50
- }
51
- isAppValid() {
52
- return !!this.appName || this.appName === '';
53
- }
54
- async onClick() {
55
- try {
56
- this.renderer.setAttribute(this.el.nativeElement, 'disabled', 'true');
57
- const result = await this.taskListService.completeTask(this.appName, this.taskId).toPromise();
58
- if (result) {
59
- this.success.emit(result);
60
- }
61
- }
62
- catch (error) {
63
- this.renderer.removeAttribute(this.el.nativeElement, 'disabled');
64
- this.error.emit(error);
65
- }
66
- }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompleteTaskDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.TaskCloudService }], target: i0.ɵɵFactoryTarget.Directive }); }
68
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: CompleteTaskDirective, isStandalone: true, selector: "[adf-cloud-complete-task]", inputs: { taskId: "taskId", appName: "appName" }, outputs: { success: "success", error: "error" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
69
- }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompleteTaskDirective, decorators: [{
71
- type: Directive,
72
- args: [{
73
- // eslint-disable-next-line @angular-eslint/directive-selector
74
- selector: '[adf-cloud-complete-task]',
75
- standalone: true
76
- }]
77
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.TaskCloudService }], propDecorators: { taskId: [{
78
- type: Input
79
- }], appName: [{
80
- type: Input
81
- }], success: [{
82
- type: Output
83
- }], error: [{
84
- type: Output
85
- }], onClick: [{
86
- type: HostListener,
87
- args: ['click']
88
- }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtdGFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL3Rhc2svdGFzay1mb3JtL2NvbXBvbmVudHMvdXNlci10YXNrLWNsb3VkL2NvbXBsZXRlLXRhc2svY29tcGxldGUtdGFzay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBTzNFLE1BQU0sT0FBTyxxQkFBcUI7SUFtQjlCLFlBQTZCLEVBQWMsRUFBbUIsUUFBbUIsRUFBbUIsZUFBaUM7UUFBeEcsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFtQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQW1CLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQWRySSw4Q0FBOEM7UUFFOUMsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUVyQiwwQ0FBMEM7UUFFMUMsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXJELGlEQUFpRDtRQUVqRCxVQUFLLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbkQsa0JBQWEsR0FBYSxFQUFFLENBQUM7SUFFMkcsQ0FBQztJQUV6SSxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlFLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFHRCxLQUFLLENBQUMsT0FBTztRQUNULElBQUksQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN0RSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzlGLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7K0dBekRRLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3NJQUlHLE1BQU07c0JBREwsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBS04sT0FBTztzQkFETixNQUFNO2dCQUtQLEtBQUs7c0JBREosTUFBTTtnQkFnQ0QsT0FBTztzQkFEWixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYXNrQ2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdGFzay1jbG91ZC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1thZGYtY2xvdWQtY29tcGxldGUtdGFza10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ29tcGxldGVUYXNrRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogKFJlcXVpcmVkKSBUaGUgaWQgb2YgdGhlIHRhc2suICovXG4gICAgQElucHV0KClcbiAgICB0YXNrSWQ6IHN0cmluZztcblxuICAgIC8qKiAoUmVxdWlyZWQpIFRoZSBuYW1lIG9mIHRoZSBhcHBsaWNhdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFwcE5hbWU6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdGFzayBpcyBjb21wbGV0ZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRhc2sgY2Fubm90IGJlIGNvbXBsZXRlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIGludmFsaWRQYXJhbXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgcmVhZG9ubHkgdGFza0xpc3RTZXJ2aWNlOiBUYXNrQ2xvdWRTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVJbnB1dHMoKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZUlucHV0cygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzVGFza1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW52YWxpZFBhcmFtcy5wdXNoKCd0YXNrSWQnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuaXNBcHBWYWxpZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmludmFsaWRQYXJhbXMucHVzaCgnYXBwTmFtZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmludmFsaWRQYXJhbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEF0dHJpYnV0ZSAke3RoaXMuaW52YWxpZFBhcmFtcy5qb2luKCcsICcpfSBpcyByZXF1aXJlZGApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNUYXNrVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tJZCAmJiB0aGlzLnRhc2tJZC5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGlzQXBwVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuYXBwTmFtZSB8fCB0aGlzLmFwcE5hbWUgPT09ICcnO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBhc3luYyBvbkNsaWNrKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCAndHJ1ZScpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy50YXNrTGlzdFNlcnZpY2UuY29tcGxldGVUYXNrKHRoaXMuYXBwTmFtZSwgdGhpcy50YXNrSWQpLnRvUHJvbWlzZSgpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xuICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==