@alfresco/adf-process-services-cloud 8.1.0-16120632321 → 8.1.0-16121703802

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 (172) hide show
  1. package/esm2022/adf-process-services-cloud.mjs +5 -0
  2. package/esm2022/lib/app/app-list-cloud.module.mjs +20 -0
  3. package/esm2022/lib/app/components/app-details-cloud/app-details-cloud.component.mjs +67 -0
  4. package/esm2022/lib/app/components/app-list-cloud/app-list-cloud.component.mjs +125 -0
  5. package/esm2022/lib/app/models/application-instance.model.mjs +24 -0
  6. package/esm2022/lib/app/public-api.mjs +22 -0
  7. package/esm2022/lib/app/services/apps-process-cloud.service.mjs +97 -0
  8. package/esm2022/lib/common/date-range-filter/date-range-filter.component.mjs +163 -0
  9. package/esm2022/lib/common/date-range-filter/date-range-filter.service.mjs +97 -0
  10. package/esm2022/lib/common/index.mjs +18 -0
  11. package/esm2022/lib/common/interface/environment.interface.mjs +18 -0
  12. package/esm2022/lib/common/interface/index.mjs +18 -0
  13. package/esm2022/lib/common/interface/public-api.mjs +18 -0
  14. package/esm2022/lib/common/public-api.mjs +19 -0
  15. package/esm2022/lib/form/components/cloud-form-rendering.service.mjs +57 -0
  16. package/esm2022/lib/form/components/form-cloud-custom-outcomes.component.mjs +31 -0
  17. package/esm2022/lib/form/components/form-cloud.component.mjs +415 -0
  18. package/esm2022/lib/form/components/form-definition-selector-cloud.component.mjs +53 -0
  19. package/esm2022/lib/form/components/spinner/form-spinner.component.mjs +35 -0
  20. package/esm2022/lib/form/components/widgets/attach-file/attach-file-cloud-widget.component.mjs +249 -0
  21. package/esm2022/lib/form/components/widgets/attach-file/file-properties-table/file-properties-table-cloud.component.mjs +136 -0
  22. package/esm2022/lib/form/components/widgets/data-table/data-table-adapter.widget.mjs +107 -0
  23. package/esm2022/lib/form/components/widgets/data-table/data-table.widget.mjs +120 -0
  24. package/esm2022/lib/form/components/widgets/data-table/helpers/data-table-path-parser.helper.mjs +122 -0
  25. package/esm2022/lib/form/components/widgets/date/date-cloud.widget.mjs +189 -0
  26. package/esm2022/lib/form/components/widgets/display-external-property/display-external-property.widget.mjs +85 -0
  27. package/esm2022/lib/form/components/widgets/display-rich-text/display-rich-text.widget.mjs +80 -0
  28. package/esm2022/lib/form/components/widgets/dropdown/dropdown-cloud.widget.mjs +463 -0
  29. package/esm2022/lib/form/components/widgets/dropdown/validators.mjs +29 -0
  30. package/esm2022/lib/form/components/widgets/file-viewer/file-viewer.widget.mjs +46 -0
  31. package/esm2022/lib/form/components/widgets/group/group-cloud.widget.mjs +82 -0
  32. package/esm2022/lib/form/components/widgets/people/people-cloud.widget.mjs +91 -0
  33. package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer-wrapper/properties-viewer-wrapper.component.mjs +81 -0
  34. package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer.widget.mjs +53 -0
  35. package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.schema.mjs +86 -0
  36. package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.widget.mjs +116 -0
  37. package/esm2022/lib/form/components/widgets/upload/upload-cloud.widget.mjs +187 -0
  38. package/esm2022/lib/form/form-cloud.module.mjs +103 -0
  39. package/esm2022/lib/form/models/form-cloud-representation.model.mjs +48 -0
  40. package/esm2022/lib/form/models/task-variable-cloud.model.mjs +28 -0
  41. package/esm2022/lib/form/public-api.mjs +44 -0
  42. package/esm2022/lib/form/services/content-cloud-node-selector.service.mjs +120 -0
  43. package/esm2022/lib/form/services/display-mode.service.mjs +146 -0
  44. package/esm2022/lib/form/services/form-cloud.service.interface.mjs +18 -0
  45. package/esm2022/lib/form/services/form-cloud.service.mjs +201 -0
  46. package/esm2022/lib/form/services/form-definition-selector-cloud.service.interface.mjs +18 -0
  47. package/esm2022/lib/form/services/form-definition-selector-cloud.service.mjs +51 -0
  48. package/esm2022/lib/form/services/form-utils.service.mjs +37 -0
  49. package/esm2022/lib/form/services/process-cloud-content.service.mjs +71 -0
  50. package/esm2022/lib/form/services/spinner/form-cloud-spinner.service.mjs +52 -0
  51. package/esm2022/lib/group/components/group-cloud.component.mjs +423 -0
  52. package/esm2022/lib/group/group-cloud.module.mjs +33 -0
  53. package/esm2022/lib/group/models/identity-group.model.mjs +18 -0
  54. package/esm2022/lib/group/public-api.mjs +21 -0
  55. package/esm2022/lib/group/services/identity-group.service.mjs +89 -0
  56. package/esm2022/lib/models/application-version.model.mjs +21 -0
  57. package/esm2022/lib/models/constant-values.type.mjs +18 -0
  58. package/esm2022/lib/models/data-column-custom-data.mjs +18 -0
  59. package/esm2022/lib/models/date-cloud-filter.model.mjs +31 -0
  60. package/esm2022/lib/models/date-format-cloud.model.mjs +18 -0
  61. package/esm2022/lib/models/engine-event-cloud.model.mjs +18 -0
  62. package/esm2022/lib/models/filter-cloud-model.mjs +128 -0
  63. package/esm2022/lib/models/process-definition-cloud.model.mjs +32 -0
  64. package/esm2022/lib/models/process-instance-variable.model.mjs +18 -0
  65. package/esm2022/lib/models/process-variable-filter.model.mjs +18 -0
  66. package/esm2022/lib/models/task-cloud.model.mjs +23 -0
  67. package/esm2022/lib/models/task-list-sorting.model.mjs +40 -0
  68. package/esm2022/lib/models/variable-definition.mjs +18 -0
  69. package/esm2022/lib/people/components/people-cloud.component.mjs +498 -0
  70. package/esm2022/lib/people/models/identity-user.model.mjs +18 -0
  71. package/esm2022/lib/people/people-cloud.module.mjs +33 -0
  72. package/esm2022/lib/people/public-api.mjs +21 -0
  73. package/esm2022/lib/people/services/identity-user.service.mjs +119 -0
  74. package/esm2022/lib/process/process-cloud.module.mjs +40 -0
  75. package/esm2022/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.mjs +801 -0
  76. package/esm2022/lib/process/process-filters/components/process-filter-dialog/process-filter-dialog-cloud.component.mjs +58 -0
  77. package/esm2022/lib/process/process-filters/components/process-filters/process-filters-cloud.component.mjs +292 -0
  78. package/esm2022/lib/process/process-filters/models/process-filter-cloud.model.mjs +170 -0
  79. package/esm2022/lib/process/process-filters/process-filters-cloud.module.mjs +44 -0
  80. package/esm2022/lib/process/process-filters/public-api.mjs +23 -0
  81. package/esm2022/lib/process/process-filters/services/process-filter-cloud.service.mjs +408 -0
  82. package/esm2022/lib/process/process-header/components/process-header-cloud.component.mjs +137 -0
  83. package/esm2022/lib/process/process-header/process-header-cloud.module.mjs +33 -0
  84. package/esm2022/lib/process/process-header/public-api.mjs +19 -0
  85. package/esm2022/lib/process/process-list/components/process-list-cloud.component.mjs +593 -0
  86. package/esm2022/lib/process/process-list/datatable/process-list-datatable-adapter.mjs +31 -0
  87. package/esm2022/lib/process/process-list/models/perocess-instance-cloud-view.model.mjs +18 -0
  88. package/esm2022/lib/process/process-list/models/process-cloud-preferences.mjs +24 -0
  89. package/esm2022/lib/process/process-list/models/process-cloud-preset.model.mjs +37 -0
  90. package/esm2022/lib/process/process-list/models/process-cloud-query-request.model.mjs +107 -0
  91. package/esm2022/lib/process/process-list/models/process-list-sorting.model.mjs +40 -0
  92. package/esm2022/lib/process/process-list/process-list-cloud.module.mjs +45 -0
  93. package/esm2022/lib/process/process-list/public-api.mjs +25 -0
  94. package/esm2022/lib/process/process-list/services/process-list-cloud.service.mjs +253 -0
  95. package/esm2022/lib/process/process-list/services/process-task-list-cloud.service.mjs +109 -0
  96. package/esm2022/lib/process/public-api.mjs +23 -0
  97. package/esm2022/lib/process/services/process-cloud.service.mjs +105 -0
  98. package/esm2022/lib/process/start-process/components/start-process-cloud.component.mjs +480 -0
  99. package/esm2022/lib/process/start-process/models/process-instance-cloud.model.mjs +18 -0
  100. package/esm2022/lib/process/start-process/models/process-payload-cloud.model.mjs +26 -0
  101. package/esm2022/lib/process/start-process/models/process-with-form-payload-cloud.model.mjs +26 -0
  102. package/esm2022/lib/process/start-process/public-api.mjs +21 -0
  103. package/esm2022/lib/process/start-process/services/start-process-cloud.service.mjs +125 -0
  104. package/esm2022/lib/process-services-cloud.module.mjs +91 -0
  105. package/esm2022/lib/rich-text-editor/editorjs-config.mjs +101 -0
  106. package/esm2022/lib/rich-text-editor/index.mjs +18 -0
  107. package/esm2022/lib/rich-text-editor/public-api.mjs +19 -0
  108. package/esm2022/lib/rich-text-editor/rich-text-editor.component.mjs +80 -0
  109. package/esm2022/lib/rich-text-editor/rich-text-editor.module.mjs +33 -0
  110. package/esm2022/lib/screen/components/screen-cloud/screen-cloud.component.mjs +186 -0
  111. package/esm2022/lib/screen/models/screen-cloud.model.mjs +18 -0
  112. package/esm2022/lib/screen/public-api.mjs +18 -0
  113. package/esm2022/lib/services/base-cloud.service.mjs +83 -0
  114. package/esm2022/lib/services/cloud-token.service.mjs +23 -0
  115. package/esm2022/lib/services/form-fields.interfaces.mjs +55 -0
  116. package/esm2022/lib/services/local-preference-cloud.service.mjs +122 -0
  117. package/esm2022/lib/services/notification-cloud.service.mjs +45 -0
  118. package/esm2022/lib/services/preference-cloud.interface.mjs +18 -0
  119. package/esm2022/lib/services/public-api.mjs +28 -0
  120. package/esm2022/lib/services/screen-rendering.service.mjs +30 -0
  121. package/esm2022/lib/services/task-list-cloud.service.interface.mjs +18 -0
  122. package/esm2022/lib/services/user-preference-cloud.service.mjs +105 -0
  123. package/esm2022/lib/services/variable-mapper.sevice.mjs +77 -0
  124. package/esm2022/lib/services/web-socket.service.mjs +146 -0
  125. package/esm2022/lib/task/models/start-task-cloud-request.model.mjs +32 -0
  126. package/esm2022/lib/task/models/task-details-cloud.model.mjs +26 -0
  127. package/esm2022/lib/task/models/task.model.mjs +23 -0
  128. package/esm2022/lib/task/public-api.mjs +26 -0
  129. package/esm2022/lib/task/services/task-cloud.service.mjs +272 -0
  130. package/esm2022/lib/task/task-cloud.module.mjs +45 -0
  131. package/esm2022/lib/task/task-filters/components/base-task-filters-cloud.component.mjs +59 -0
  132. package/esm2022/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.mjs +467 -0
  133. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter/edit-service-task-filter-cloud.component.mjs +205 -0
  134. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component.mjs +317 -0
  135. package/esm2022/lib/task/task-filters/components/service-task-filters/service-task-filters-cloud.component.mjs +146 -0
  136. package/esm2022/lib/task/task-filters/components/task-assignment-filter/task-assignment-filter.component.mjs +142 -0
  137. package/esm2022/lib/task/task-filters/components/task-filter-dialog/task-filter-dialog-cloud.component.mjs +72 -0
  138. package/esm2022/lib/task/task-filters/components/task-filters/task-filters-cloud.component.mjs +255 -0
  139. package/esm2022/lib/task/task-filters/models/filter-cloud.model.mjs +207 -0
  140. package/esm2022/lib/task/task-filters/public-api.mjs +27 -0
  141. package/esm2022/lib/task/task-filters/services/service-task-filter-cloud.service.mjs +283 -0
  142. package/esm2022/lib/task/task-filters/services/task-filter-cloud.service.mjs +392 -0
  143. package/esm2022/lib/task/task-filters/task-filters-cloud.module.mjs +56 -0
  144. package/esm2022/lib/task/task-form/components/task-form-cloud/task-form-cloud.component.mjs +214 -0
  145. package/esm2022/lib/task/task-form/components/user-task-cloud/complete-task/complete-task.directive.mjs +89 -0
  146. package/esm2022/lib/task/task-form/components/user-task-cloud/user-task-cloud.component.mjs +283 -0
  147. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/claim-task/claim-task-cloud.directive.mjs +101 -0
  148. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/unclaim-task/unclaim-task-cloud.directive.mjs +87 -0
  149. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/user-task-cloud-buttons.component.mjs +78 -0
  150. package/esm2022/lib/task/task-form/public-api.mjs +21 -0
  151. package/esm2022/lib/task/task-form/task-form.module.mjs +36 -0
  152. package/esm2022/lib/task/task-header/components/task-header-cloud.component.mjs +280 -0
  153. package/esm2022/lib/task/task-header/public-api.mjs +19 -0
  154. package/esm2022/lib/task/task-header/task-header-cloud.module.mjs +33 -0
  155. package/esm2022/lib/task/task-list/components/base-task-list-cloud.component.mjs +331 -0
  156. package/esm2022/lib/task/task-list/components/service-task-list/service-task-list-cloud.component.mjs +115 -0
  157. package/esm2022/lib/task/task-list/components/task-list/datatable/task-list-datatable-adapter.mjs +31 -0
  158. package/esm2022/lib/task/task-list/components/task-list/task-list-cloud.component.mjs +389 -0
  159. package/esm2022/lib/task/task-list/models/service-task-cloud.model.mjs +18 -0
  160. package/esm2022/lib/task/task-list/models/task-cloud-view.model.mjs +18 -0
  161. package/esm2022/lib/task/task-list/public-api.mjs +23 -0
  162. package/esm2022/lib/task/task-list/services/service-task-list-cloud.service.mjs +115 -0
  163. package/esm2022/lib/task/task-list/services/task-list-cloud.service.mjs +178 -0
  164. package/esm2022/lib/task/task-list/task-list-cloud.module.mjs +57 -0
  165. package/esm2022/lib/types.mjs +18 -0
  166. package/esm2022/public-api.mjs +40 -0
  167. package/fesm2022/adf-process-services-cloud.mjs +355 -350
  168. package/fesm2022/adf-process-services-cloud.mjs.map +1 -1
  169. package/lib/task/task-filters/components/base-task-filters-cloud.component.d.ts +1 -1
  170. package/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.d.ts +1 -1
  171. package/lib/task/task-list/components/base-task-list-cloud.component.d.ts +1 -1
  172. package/package.json +6 -4
@@ -0,0 +1,116 @@
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
+ /* eslint-disable @angular-eslint/component-selector */
18
+ import { Component, DestroyRef, inject, ViewEncapsulation } from '@angular/core';
19
+ import { ErrorMessageModel, ErrorWidgetComponent, FormService, WidgetComponent } from '@alfresco/adf-core';
20
+ import { FormCloudService } from '../../../services/form-cloud.service';
21
+ import { TranslatePipe, TranslateService } from '@ngx-translate/core';
22
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
23
+ import { FormUtilsService } from '../../../services/form-utils.service';
24
+ import { MatRadioModule } from '@angular/material/radio';
25
+ import { CommonModule } from '@angular/common';
26
+ import { FormsModule } from '@angular/forms';
27
+ import * as i0 from "@angular/core";
28
+ import * as i1 from "@alfresco/adf-core";
29
+ import * as i2 from "@angular/common";
30
+ import * as i3 from "@angular/material/radio";
31
+ import * as i4 from "@angular/forms";
32
+ export class RadioButtonsCloudWidgetComponent extends WidgetComponent {
33
+ constructor(formService) {
34
+ super(formService);
35
+ this.formCloudService = inject(FormCloudService);
36
+ this.translateService = inject(TranslateService);
37
+ this.formUtilsService = inject(FormUtilsService);
38
+ this.typeId = 'RadioButtonsCloudWidgetComponent';
39
+ this.destroyRef = inject(DestroyRef);
40
+ }
41
+ ngOnInit() {
42
+ if (this.isValidRestConfig() && !this.isReadOnlyForm()) {
43
+ this.getValuesFromRestApi();
44
+ }
45
+ }
46
+ getValuesFromRestApi() {
47
+ const body = this.formUtilsService.getRestUrlVariablesMap(this.field.form, this.field.restUrl, {});
48
+ this.formCloudService
49
+ .getRestWidgetData(this.field.form.id, this.field.id, body)
50
+ .pipe(takeUntilDestroyed(this.destroyRef))
51
+ .subscribe({
52
+ next: (result) => {
53
+ this.field.options = result;
54
+ this.field.updateForm();
55
+ },
56
+ error: (err) => {
57
+ this.resetRestApiOptions();
58
+ this.handleError(err);
59
+ }
60
+ });
61
+ }
62
+ onOptionClick(optionSelected) {
63
+ this.field.value = optionSelected;
64
+ this.onFieldChanged(this.field);
65
+ }
66
+ handleError(error) {
67
+ this.restApiError = new ErrorMessageModel({
68
+ message: this.translateService.instant('FORM.FIELD.REST_API_FAILED', { hostname: this.getRestUrlHostName() })
69
+ });
70
+ this.widgetError.emit(error);
71
+ }
72
+ isChecked(option) {
73
+ if (this.field.value && typeof this.field.value === 'object') {
74
+ return this.field.value['id'] === option.id || this.field.value['name'] === option.name;
75
+ }
76
+ return this.field.value === option.id;
77
+ }
78
+ resetRestApiOptions() {
79
+ this.field.options = [];
80
+ }
81
+ getRestUrlHostName() {
82
+ return new URL(this.field?.restUrl).hostname ?? this.field?.restUrl;
83
+ }
84
+ hasError() {
85
+ return this.restApiError || this.field.validationSummary;
86
+ }
87
+ isRestType() {
88
+ return this.field?.optionType === 'rest';
89
+ }
90
+ isReadOnlyForm() {
91
+ return !!this.field?.form?.readOnly;
92
+ }
93
+ hasRestUrl() {
94
+ return !!this.field?.restUrl;
95
+ }
96
+ isValidRestConfig() {
97
+ return this.isRestType() && this.hasRestUrl();
98
+ }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadioButtonsCloudWidgetComponent, deps: [{ token: i1.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RadioButtonsCloudWidgetComponent, isStandalone: true, selector: "radio-buttons-cloud-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"adf-radio-buttons-widget-cloud {{field.className}}\"\n [class.adf-readonly]=\"field.readOnly\" [id]=\"field.id\">\n <div [ngClass]=\"(field.alignmentType === 'vertical') ? 'adf-radio-button-container': 'adf-radio-button-container-horizontal'\">\n <label class=\"adf-label\"\n [attr.for]=\"field.id\">{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n <mat-radio-group\n [ngClass]=\"(field.alignmentType === 'vertical') ? 'adf-radio-group': 'adf-radio-group-horizontal'\"\n class=\"adf-radio-group\"\n [(ngModel)]=\"field.value\"\n [disabled]=\"field.readOnly\">\n <mat-radio-button\n [title]=\"field.tooltip\"\n [id]=\"field.id + '-' + opt.id\"\n [name]=\"field.id\"\n [value]=\"opt.id\"\n [checked]=\"isChecked(opt)\"\n (change)=\"onOptionClick(opt.id)\"\n color=\"primary\"\n class=\"adf-radio-button\" *ngFor=\"let opt of field.options\" >\n {{opt.name}}\n </mat-radio-button>\n </mat-radio-group>\n </div>\n <error-widget class=\"adf-radio-group-error-message\" [error]=\"hasError()\" />\n</div>\n", styles: [".adf-radio-buttons-widget-cloud .adf-label{font-size:var(--adf-radio-buttons-font-size, var(--adf-form-label-font-size, var(--theme-caption-font-size)));font-weight:var(--adf-radio-buttons-font-weight, var(--adf-form-label-font-weight, var(--theme-font-weight)));color:var(--adf-radio-buttons-color, var(--adf-form-label-color, var(--adf-theme-foreground-secondary-text-color)));line-height:normal}.adf-radio-button-container{display:flex;flex-direction:column}.adf-radio-button-container .adf-label{width:auto;height:auto;white-space:normal}.adf-radio-button-container-horizontal{margin-bottom:15px;display:flex;flex-flow:column wrap;align-items:flex-start;justify-content:flex-start}.adf-radio-button-container-horizontal .adf-label{width:auto;height:auto;white-space:normal;margin-right:25%}.adf-radio-group{margin-top:15px;margin-left:5px;display:inline-flex;flex-direction:column}.adf-radio-group-horizontal{margin-top:0;margin-left:0;display:table-column-group}.adf-radio-button{margin:5px}.adf-radio-button label{white-space:normal;word-break:break-word}.adf-radio-group-error-message .adf-error-container{margin-top:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadioButtonsCloudWidgetComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'radio-buttons-cloud-widget', standalone: true, imports: [CommonModule, ErrorWidgetComponent, MatRadioModule, TranslatePipe, FormsModule], host: {
105
+ '(click)': 'event($event)',
106
+ '(blur)': 'event($event)',
107
+ '(change)': 'event($event)',
108
+ '(focus)': 'event($event)',
109
+ '(focusin)': 'event($event)',
110
+ '(focusout)': 'event($event)',
111
+ '(input)': 'event($event)',
112
+ '(invalid)': 'event($event)',
113
+ '(select)': 'event($event)'
114
+ }, encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-radio-buttons-widget-cloud {{field.className}}\"\n [class.adf-readonly]=\"field.readOnly\" [id]=\"field.id\">\n <div [ngClass]=\"(field.alignmentType === 'vertical') ? 'adf-radio-button-container': 'adf-radio-button-container-horizontal'\">\n <label class=\"adf-label\"\n [attr.for]=\"field.id\">{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span>\n </label>\n <mat-radio-group\n [ngClass]=\"(field.alignmentType === 'vertical') ? 'adf-radio-group': 'adf-radio-group-horizontal'\"\n class=\"adf-radio-group\"\n [(ngModel)]=\"field.value\"\n [disabled]=\"field.readOnly\">\n <mat-radio-button\n [title]=\"field.tooltip\"\n [id]=\"field.id + '-' + opt.id\"\n [name]=\"field.id\"\n [value]=\"opt.id\"\n [checked]=\"isChecked(opt)\"\n (change)=\"onOptionClick(opt.id)\"\n color=\"primary\"\n class=\"adf-radio-button\" *ngFor=\"let opt of field.options\" >\n {{opt.name}}\n </mat-radio-button>\n </mat-radio-group>\n </div>\n <error-widget class=\"adf-radio-group-error-message\" [error]=\"hasError()\" />\n</div>\n", styles: [".adf-radio-buttons-widget-cloud .adf-label{font-size:var(--adf-radio-buttons-font-size, var(--adf-form-label-font-size, var(--theme-caption-font-size)));font-weight:var(--adf-radio-buttons-font-weight, var(--adf-form-label-font-weight, var(--theme-font-weight)));color:var(--adf-radio-buttons-color, var(--adf-form-label-color, var(--adf-theme-foreground-secondary-text-color)));line-height:normal}.adf-radio-button-container{display:flex;flex-direction:column}.adf-radio-button-container .adf-label{width:auto;height:auto;white-space:normal}.adf-radio-button-container-horizontal{margin-bottom:15px;display:flex;flex-flow:column wrap;align-items:flex-start;justify-content:flex-start}.adf-radio-button-container-horizontal .adf-label{width:auto;height:auto;white-space:normal;margin-right:25%}.adf-radio-group{margin-top:15px;margin-left:5px;display:inline-flex;flex-direction:column}.adf-radio-group-horizontal{margin-top:0;margin-left:0;display:table-column-group}.adf-radio-button{margin:5px}.adf-radio-button label{white-space:normal;word-break:break-word}.adf-radio-group-error-message .adf-error-container{margin-top:5px}\n"] }]
115
+ }], ctorParameters: () => [{ type: i1.FormService }] });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9ucy1jbG91ZC53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL3JhZGlvLWJ1dHRvbnMvcmFkaW8tYnV0dG9ucy1jbG91ZC53aWRnZXQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL3JhZGlvLWJ1dHRvbnMvcmFkaW8tYnV0dG9ucy1jbG91ZC53aWRnZXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBbUIsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBcUI3QyxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsZUFBZTtJQVVqRSxZQUFZLFdBQXdCO1FBQ2hDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQVZmLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXBELFdBQU0sR0FBRyxrQ0FBa0MsQ0FBQztRQUczQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBSWpELENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVuRyxJQUFJLENBQUMsZ0JBQWdCO2FBQ2hCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUM7YUFDMUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUM7WUFDUCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNYLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLENBQUM7U0FDSixDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsYUFBYSxDQUFDLGNBQW1CO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGlCQUFpQixDQUFDO1lBQ3RDLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7U0FDaEgsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUF1QjtRQUM3QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDNUYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFDN0QsQ0FBQztJQUVPLFVBQVU7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxLQUFLLE1BQU0sQ0FBQztJQUM3QyxDQUFDO0lBRU8sY0FBYztRQUNsQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUM7SUFDeEMsQ0FBQztJQUVPLFVBQVU7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztJQUNqQyxDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsRCxDQUFDOytHQW5GUSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyx3WENoRDdDLDYwQ0EwQkEsbXFDRE1jLFlBQVksMFBBQUUsb0JBQW9CLHVGQUFFLGNBQWMsZ2xCQUFFLGFBQWEsaURBQUUsV0FBVzs7NEZBZ0IvRSxnQ0FBZ0M7a0JBbkI1QyxTQUFTOytCQUNJLDRCQUE0QixjQUMxQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsUUFHbkY7d0JBQ0YsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFFBQVEsRUFBRSxlQUFlO3dCQUN6QixVQUFVLEVBQUUsZUFBZTt3QkFDM0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixVQUFVLEVBQUUsZUFBZTtxQkFDOUIsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIGluamVjdCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlTW9kZWwsIEVycm9yV2lkZ2V0Q29tcG9uZW50LCBGb3JtRmllbGRPcHRpb24sIEZvcm1TZXJ2aWNlLCBXaWRnZXRDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgRm9ybUNsb3VkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm0tY2xvdWQuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3JtVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3JhZGlvLWJ1dHRvbnMtY2xvdWQtd2lkZ2V0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEVycm9yV2lkZ2V0Q29tcG9uZW50LCBNYXRSYWRpb01vZHVsZSwgVHJhbnNsYXRlUGlwZSwgRm9ybXNNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1idXR0b25zLWNsb3VkLndpZGdldC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYWRpby1idXR0b25zLWNsb3VkLndpZGdldC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhibHVyKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhjaGFuZ2UpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c2luKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW5wdXQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGludmFsaWQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKHNlbGVjdCknOiAnZXZlbnQoJGV2ZW50KSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9CdXR0b25zQ2xvdWRXaWRnZXRDb21wb25lbnQgZXh0ZW5kcyBXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgZm9ybUNsb3VkU2VydmljZSA9IGluamVjdChGb3JtQ2xvdWRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gICAgcHJpdmF0ZSBmb3JtVXRpbHNTZXJ2aWNlID0gaW5qZWN0KEZvcm1VdGlsc1NlcnZpY2UpO1xuXG4gICAgdHlwZUlkID0gJ1JhZGlvQnV0dG9uc0Nsb3VkV2lkZ2V0Q29tcG9uZW50JztcbiAgICByZXN0QXBpRXJyb3I6IEVycm9yTWVzc2FnZU1vZGVsO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgY29uc3RydWN0b3IoZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGZvcm1TZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZFJlc3RDb25maWcoKSAmJiAhdGhpcy5pc1JlYWRPbmx5Rm9ybSgpKSB7XG4gICAgICAgICAgICB0aGlzLmdldFZhbHVlc0Zyb21SZXN0QXBpKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRWYWx1ZXNGcm9tUmVzdEFwaSgpIHtcbiAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuZm9ybVV0aWxzU2VydmljZS5nZXRSZXN0VXJsVmFyaWFibGVzTWFwKHRoaXMuZmllbGQuZm9ybSwgdGhpcy5maWVsZC5yZXN0VXJsLCB7fSk7XG5cbiAgICAgICAgdGhpcy5mb3JtQ2xvdWRTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0UmVzdFdpZGdldERhdGEodGhpcy5maWVsZC5mb3JtLmlkLCB0aGlzLmZpZWxkLmlkLCBib2R5KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQub3B0aW9ucyA9IHJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC51cGRhdGVGb3JtKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0UmVzdEFwaU9wdGlvbnMoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uT3B0aW9uQ2xpY2sob3B0aW9uU2VsZWN0ZWQ6IGFueSkge1xuICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gb3B0aW9uU2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMub25GaWVsZENoYW5nZWQodGhpcy5maWVsZCk7XG4gICAgfVxuXG4gICAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICB0aGlzLnJlc3RBcGlFcnJvciA9IG5ldyBFcnJvck1lc3NhZ2VNb2RlbCh7XG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnRk9STS5GSUVMRC5SRVNUX0FQSV9GQUlMRUQnLCB7IGhvc3RuYW1lOiB0aGlzLmdldFJlc3RVcmxIb3N0TmFtZSgpIH0pXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLndpZGdldEVycm9yLmVtaXQoZXJyb3IpO1xuICAgIH1cblxuICAgIGlzQ2hlY2tlZChvcHRpb246IEZvcm1GaWVsZE9wdGlvbik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5maWVsZC52YWx1ZSAmJiB0eXBlb2YgdGhpcy5maWVsZC52YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpZWxkLnZhbHVlWydpZCddID09PSBvcHRpb24uaWQgfHwgdGhpcy5maWVsZC52YWx1ZVsnbmFtZSddID09PSBvcHRpb24ubmFtZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5maWVsZC52YWx1ZSA9PT0gb3B0aW9uLmlkO1xuICAgIH1cblxuICAgIHJlc2V0UmVzdEFwaU9wdGlvbnMoKSB7XG4gICAgICAgIHRoaXMuZmllbGQub3B0aW9ucyA9IFtdO1xuICAgIH1cblxuICAgIGdldFJlc3RVcmxIb3N0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbmV3IFVSTCh0aGlzLmZpZWxkPy5yZXN0VXJsKS5ob3N0bmFtZSA/PyB0aGlzLmZpZWxkPy5yZXN0VXJsO1xuICAgIH1cblxuICAgIGhhc0Vycm9yKCk6IEVycm9yTWVzc2FnZU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzdEFwaUVycm9yIHx8IHRoaXMuZmllbGQudmFsaWRhdGlvblN1bW1hcnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1Jlc3RUeXBlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZD8ub3B0aW9uVHlwZSA9PT0gJ3Jlc3QnO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNSZWFkT25seUZvcm0oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZmllbGQ/LmZvcm0/LnJlYWRPbmx5O1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzUmVzdFVybCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5maWVsZD8ucmVzdFVybDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWRSZXN0Q29uZmlnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1Jlc3RUeXBlKCkgJiYgdGhpcy5oYXNSZXN0VXJsKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1yYWRpby1idXR0b25zLXdpZGdldC1jbG91ZCB7e2ZpZWxkLmNsYXNzTmFtZX19XCJcbiAgICBbY2xhc3MuYWRmLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRPbmx5XCIgW2lkXT1cImZpZWxkLmlkXCI+XG4gICAgPGRpdiBbbmdDbGFzc109XCIoZmllbGQuYWxpZ25tZW50VHlwZSA9PT0gJ3ZlcnRpY2FsJykgPyAnYWRmLXJhZGlvLWJ1dHRvbi1jb250YWluZXInOiAnYWRmLXJhZGlvLWJ1dHRvbi1jb250YWluZXItaG9yaXpvbnRhbCdcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYWRmLWxhYmVsXCJcbiAgICAgICAgICAgICAgIFthdHRyLmZvcl09XCJmaWVsZC5pZFwiPnt7ZmllbGQubmFtZSB8IHRyYW5zbGF0ZSB9fTxzcGFuIGNsYXNzPVwiYWRmLWFzdGVyaXNrXCIgW3N0eWxlLnZpc2liaWxpdHldPVwiaXNSZXF1aXJlZCgpID8gJ3Zpc2libGUnIDogJ2hpZGRlbidcIj4qPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8bWF0LXJhZGlvLWdyb3VwXG4gICAgICAgICAgICBbbmdDbGFzc109XCIoZmllbGQuYWxpZ25tZW50VHlwZSA9PT0gJ3ZlcnRpY2FsJykgPyAnYWRmLXJhZGlvLWdyb3VwJzogJ2FkZi1yYWRpby1ncm91cC1ob3Jpem9udGFsJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1yYWRpby1ncm91cFwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpZWxkLnZhbHVlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZC5yZWFkT25seVwiPlxuICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZmllbGQudG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgW2lkXT1cImZpZWxkLmlkICsgJy0nICsgb3B0LmlkXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJmaWVsZC5pZFwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdC5pZFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNDaGVja2VkKG9wdClcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25PcHRpb25DbGljayhvcHQuaWQpXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXJhZGlvLWJ1dHRvblwiICpuZ0Zvcj1cImxldCBvcHQgb2YgZmllbGQub3B0aW9uc1wiID5cbiAgICAgICAgICAgICAgICB7e29wdC5uYW1lfX1cbiAgICAgICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgPC9kaXY+XG4gICAgPGVycm9yLXdpZGdldCBjbGFzcz1cImFkZi1yYWRpby1ncm91cC1lcnJvci1tZXNzYWdlXCIgW2Vycm9yXT1cImhhc0Vycm9yKClcIiAvPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,187 @@
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
+ /* eslint-disable @angular-eslint/component-selector */
18
+ import { Component, ElementRef, EventEmitter, inject, Output, ViewChild, ViewEncapsulation } from '@angular/core';
19
+ import { from } from 'rxjs';
20
+ import { mergeMap } from 'rxjs/operators';
21
+ import { WidgetComponent, FormService, ThumbnailService, NotificationService, ErrorWidgetComponent } from '@alfresco/adf-core';
22
+ import { ProcessCloudContentService } from '../../../services/process-cloud-content.service';
23
+ import { FileSourceTypes, DestinationFolderPathType } from '../../../models/form-cloud-representation.model';
24
+ import { CommonModule } from '@angular/common';
25
+ import { TranslatePipe } from '@ngx-translate/core';
26
+ import { MatIconModule } from '@angular/material/icon';
27
+ import { MatButtonModule } from '@angular/material/button';
28
+ import { MatListModule } from '@angular/material/list';
29
+ import { MatLineModule } from '@angular/material/core';
30
+ import * as i0 from "@angular/core";
31
+ import * as i1 from "@alfresco/adf-core";
32
+ import * as i2 from "@angular/common";
33
+ import * as i3 from "@angular/material/icon";
34
+ import * as i4 from "@angular/material/button";
35
+ import * as i5 from "@angular/material/list";
36
+ import * as i6 from "@angular/material/core";
37
+ export class UploadCloudWidgetComponent extends WidgetComponent {
38
+ constructor(formService) {
39
+ super(formService);
40
+ this.thumbnailService = inject(ThumbnailService);
41
+ this.processCloudContentService = inject(ProcessCloudContentService);
42
+ this.notificationService = inject(NotificationService);
43
+ this.multipleOption = '';
44
+ this.error = new EventEmitter();
45
+ }
46
+ ngOnInit() {
47
+ if (this.field?.value?.length > 0) {
48
+ this.hasFile = true;
49
+ this.fixIncompatibilityFromPreviousAndNewForm([]);
50
+ }
51
+ this.getMultipleFileParam();
52
+ this.setDestinationFolderPathFromMappedVariable();
53
+ }
54
+ removeFile(file) {
55
+ if (this.field) {
56
+ this.removeElementFromList(file);
57
+ }
58
+ }
59
+ replaceOldFileVersionWithNew(versionManagerData) {
60
+ const currentUploadedFileIndex = this.uploadedFiles.findIndex((file) => file.name === versionManagerData.currentVersion.name);
61
+ this.uploadedFiles[currentUploadedFileIndex] = { ...versionManagerData.newVersion.value.entry };
62
+ this.field.value = [...this.uploadedFiles];
63
+ this.field.form.values[this.field.id] = [...this.uploadedFiles];
64
+ }
65
+ onFileChanged(event) {
66
+ const files = [];
67
+ const filesSaved = [];
68
+ for (const file of Array.from(event.target.files)) {
69
+ if (!this.isUploaded(file)) {
70
+ files.push(file);
71
+ }
72
+ else {
73
+ this.notificationService.showWarning('FORM.FIELD.FILE_ALREADY_UPLOADED');
74
+ }
75
+ }
76
+ if (files && files.length > 0) {
77
+ from(files)
78
+ .pipe(mergeMap((file) => this.uploadRawContent(file)))
79
+ .subscribe({
80
+ next: (res) => {
81
+ filesSaved.push(res);
82
+ },
83
+ error: (error) => this.widgetError.emit(`Error uploading file. See console output for more details. ${error}`),
84
+ complete: () => {
85
+ this.fixIncompatibilityFromPreviousAndNewForm(filesSaved);
86
+ this.hasFile = true;
87
+ }
88
+ });
89
+ }
90
+ }
91
+ isUploaded(file) {
92
+ const current = this.field.value || [];
93
+ return current.some((entry) => entry.name === file.name);
94
+ }
95
+ fixIncompatibilityFromPreviousAndNewForm(filesSaved) {
96
+ const value = [...(this.field.value || [])];
97
+ value.push(...(filesSaved || []));
98
+ this.field.value = value;
99
+ this.field.form.values[this.field.id] = value;
100
+ this.hasFile = value.length > 0;
101
+ }
102
+ getIcon(mimeType) {
103
+ return this.thumbnailService.getMimeTypeIcon(mimeType);
104
+ }
105
+ uploadRawContent(file) {
106
+ return this.processCloudContentService.createTemporaryRawRelatedContent(file, this.field.form.nodeId);
107
+ }
108
+ getMultipleFileParam() {
109
+ if (this.field?.params?.multiple) {
110
+ this.multipleOption = this.field.params.multiple ? 'multiple' : '';
111
+ }
112
+ }
113
+ get uploadedFiles() {
114
+ const result = this.field.value || this.field.form.values[this.field.id];
115
+ return result || [];
116
+ }
117
+ removeElementFromList(file) {
118
+ const filteredValues = this.uploadedFiles.filter((value) => value.id !== file.id);
119
+ this.resetFormValues(filteredValues);
120
+ }
121
+ resetFormValues(values) {
122
+ if (values && values.length > 0) {
123
+ this.field.value = values;
124
+ this.field.form.values[this.field.id] = values;
125
+ this.hasFile = true;
126
+ }
127
+ else {
128
+ this.field.value = [];
129
+ this.field.form.values[this.field.id] = [];
130
+ this.hasFile = false;
131
+ }
132
+ }
133
+ fileClicked(file) {
134
+ this.formService.formContentClicked.next(file);
135
+ }
136
+ isAlfrescoAndLocal() {
137
+ return this.field?.params?.fileSource?.serviceId === FileSourceTypes.ALL_FILE_SOURCES_SERVICE_ID;
138
+ }
139
+ isPathVariableType(type) {
140
+ return this.field?.params?.fileSource?.destinationFolderPath?.type === type;
141
+ }
142
+ setDestinationFolderPathFromMappedVariable() {
143
+ if (this.isAlfrescoAndLocal()) {
144
+ this.prepareUploadWidgetDestinationFolderPathFromStringVariable();
145
+ this.prepareUploadWidgetDestinationFolderPathFromFolderVariable();
146
+ }
147
+ }
148
+ prepareUploadWidgetDestinationFolderPathFromStringVariable() {
149
+ if (this.isPathVariableType(DestinationFolderPathType.STRING_TYPE)) {
150
+ this.setUploadWidgetDestinationFolderPath(this.getDestinationFolderPathValue());
151
+ }
152
+ }
153
+ prepareUploadWidgetDestinationFolderPathFromFolderVariable() {
154
+ if (this.isPathVariableType(DestinationFolderPathType.FOLDER_TYPE)) {
155
+ const folder = this.getDestinationFolderPathValue();
156
+ this.setUploadWidgetDestinationFolderPath(folder?.length ? folder[0].id : undefined);
157
+ }
158
+ }
159
+ setUploadWidgetDestinationFolderPath(path) {
160
+ this.field.params.fileSource.destinationFolderPath['value'] = path ? path : undefined;
161
+ }
162
+ getDestinationFolderPathValue() {
163
+ return this.field.form.getProcessVariableValue(this.field.params.fileSource?.destinationFolderPath?.name);
164
+ }
165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadCloudWidgetComponent, deps: [{ token: i1.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
166
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UploadCloudWidgetComponent, isStandalone: true, selector: "upload-cloud-widget", outputs: { error: "error" }, host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["uploadFiles"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"adf-upload-widget {{field.className}}\" [class.adf-invalid]=\"!field.isValid\" [class.adf-readonly]=\"field.readOnly\">\n <label class=\"adf-label\" [attr.for]=\"field.id\"\n >{{ field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n <div class=\"adf-cloud-upload-widget-container\">\n <div>\n <mat-list *ngIf=\"hasFile\">\n <mat-list-item class=\"adf-upload-files-row\" *ngFor=\"let file of uploadedFiles\">\n <img\n matListItemLine\n class=\"adf-upload-widget__icon\"\n [id]=\"'file-'+file.id+'-icon'\"\n [src]=\"getIcon(file.content.mimeType)\"\n [alt]=\"mimeTypeIcon\"\n (click)=\"fileClicked(file)\"\n (keyup.enter)=\"fileClicked(file)\"\n role=\"button\"\n tabindex=\"0\"\n />\n <span\n class=\"adf-upload-widget__button adf-file\"\n matLine\n id=\"{{'file-'+file.id}}\"\n (click)=\"fileClicked(file)\"\n (keyup.enter)=\"fileClicked(file)\"\n role=\"button\"\n tabindex=\"0\"\n >{{file.name}}</span\n >\n <button\n *ngIf=\"!field.readOnly\"\n mat-icon-button\n [id]=\"'file-'+file.id+'-remove'\"\n (click)=\"removeFile(file);\"\n (keyup.enter)=\"removeFile(file);\"\n >\n <mat-icon class=\"mat-24\">highlight_off</mat-icon>\n </button>\n </mat-list-item>\n </mat-list>\n </div>\n\n <div *ngIf=\"(!hasFile || multipleOption) && !field.readOnly\">\n <button mat-raised-button color=\"primary\" (click)=\"uploadFiles.click()\" [title]=\"field.tooltip\">\n {{ 'FORM.FIELD.UPLOAD' | translate }}<mat-icon>file_upload</mat-icon>\n <input #uploadFiles [multiple]=\"multipleOption\" type=\"file\" [id]=\"field.form.nodeId\" (change)=\"onFileChanged($event)\" />\n </button>\n </div>\n\n <div *ngIf=\"!hasFile && field.readOnly\">{{ 'FORM.FIELD.NO_FILE_ATTACHED' | translate }}</div>\n </div>\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired()\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n</div>\n", styles: [".adf-cloud-upload-widget-container{margin-bottom:15px}.adf-cloud-upload-widget-container input{display:none}.adf-cloud-upload-widget{width:100%;word-break:break-all;padding:.4375em 0;border-top:.8438em solid transparent}.adf-cloud-upload-widget__icon{padding:6px;float:left;cursor:pointer}.adf-cloud-upload-widget__reset{margin-top:-2px}.adf-cloud-upload-files-row .adf-upload-widget__button{margin-bottom:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i5.MatListItemLine, selector: "[matListItemLine]" }, { kind: "ngmodule", type: MatLineModule }, { kind: "directive", type: i6.MatLine, selector: "[mat-line], [matLine]" }], encapsulation: i0.ViewEncapsulation.None }); }
167
+ }
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadCloudWidgetComponent, decorators: [{
169
+ type: Component,
170
+ args: [{ selector: 'upload-cloud-widget', standalone: true, imports: [CommonModule, TranslatePipe, ErrorWidgetComponent, MatIconModule, MatButtonModule, MatListModule, MatLineModule], host: {
171
+ '(click)': 'event($event)',
172
+ '(blur)': 'event($event)',
173
+ '(change)': 'event($event)',
174
+ '(focus)': 'event($event)',
175
+ '(focusin)': 'event($event)',
176
+ '(focusout)': 'event($event)',
177
+ '(input)': 'event($event)',
178
+ '(invalid)': 'event($event)',
179
+ '(select)': 'event($event)'
180
+ }, encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-upload-widget {{field.className}}\" [class.adf-invalid]=\"!field.isValid\" [class.adf-readonly]=\"field.readOnly\">\n <label class=\"adf-label\" [attr.for]=\"field.id\"\n >{{ field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n <div class=\"adf-cloud-upload-widget-container\">\n <div>\n <mat-list *ngIf=\"hasFile\">\n <mat-list-item class=\"adf-upload-files-row\" *ngFor=\"let file of uploadedFiles\">\n <img\n matListItemLine\n class=\"adf-upload-widget__icon\"\n [id]=\"'file-'+file.id+'-icon'\"\n [src]=\"getIcon(file.content.mimeType)\"\n [alt]=\"mimeTypeIcon\"\n (click)=\"fileClicked(file)\"\n (keyup.enter)=\"fileClicked(file)\"\n role=\"button\"\n tabindex=\"0\"\n />\n <span\n class=\"adf-upload-widget__button adf-file\"\n matLine\n id=\"{{'file-'+file.id}}\"\n (click)=\"fileClicked(file)\"\n (keyup.enter)=\"fileClicked(file)\"\n role=\"button\"\n tabindex=\"0\"\n >{{file.name}}</span\n >\n <button\n *ngIf=\"!field.readOnly\"\n mat-icon-button\n [id]=\"'file-'+file.id+'-remove'\"\n (click)=\"removeFile(file);\"\n (keyup.enter)=\"removeFile(file);\"\n >\n <mat-icon class=\"mat-24\">highlight_off</mat-icon>\n </button>\n </mat-list-item>\n </mat-list>\n </div>\n\n <div *ngIf=\"(!hasFile || multipleOption) && !field.readOnly\">\n <button mat-raised-button color=\"primary\" (click)=\"uploadFiles.click()\" [title]=\"field.tooltip\">\n {{ 'FORM.FIELD.UPLOAD' | translate }}<mat-icon>file_upload</mat-icon>\n <input #uploadFiles [multiple]=\"multipleOption\" type=\"file\" [id]=\"field.form.nodeId\" (change)=\"onFileChanged($event)\" />\n </button>\n </div>\n\n <div *ngIf=\"!hasFile && field.readOnly\">{{ 'FORM.FIELD.NO_FILE_ATTACHED' | translate }}</div>\n </div>\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired()\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n</div>\n", styles: [".adf-cloud-upload-widget-container{margin-bottom:15px}.adf-cloud-upload-widget-container input{display:none}.adf-cloud-upload-widget{width:100%;word-break:break-all;padding:.4375em 0;border-top:.8438em solid transparent}.adf-cloud-upload-widget__icon{padding:6px;float:left;cursor:pointer}.adf-cloud-upload-widget__reset{margin-top:-2px}.adf-cloud-upload-files-row .adf-upload-widget__button{margin-bottom:0}\n"] }]
181
+ }], ctorParameters: () => [{ type: i1.FormService }], propDecorators: { error: [{
182
+ type: Output
183
+ }], fileInput: [{
184
+ type: ViewChild,
185
+ args: ['uploadFiles']
186
+ }] } });
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWNsb3VkLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvdXBsb2FkL3VwbG9hZC1jbG91ZC53aWRnZXQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL3VwbG9hZC91cGxvYWQtY2xvdWQud2lkZ2V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxSCxPQUFPLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUU3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFF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ZUFBZTt3QkFDMUIsUUFBUSxFQUFFLGVBQWU7d0JBQ3pCLFVBQVUsRUFBRSxlQUFlO3dCQUMzQixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsV0FBVyxFQUFFLGVBQWU7d0JBQzVCLFlBQVksRUFBRSxlQUFlO3dCQUM3QixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsV0FBVyxFQUFFLGVBQWU7d0JBQzVCLFVBQVUsRUFBRSxlQUFlO3FCQUM5QixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJO2dGQWFyQyxLQUFLO3NCQURKLE1BQU07Z0JBSVAsU0FBUztzQkFEUixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgV2lkZ2V0Q29tcG9uZW50LCBGb3JtU2VydmljZSwgVGh1bWJuYWlsU2VydmljZSwgTm90aWZpY2F0aW9uU2VydmljZSwgRXJyb3JXaWRnZXRDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgUHJvY2Vzc0Nsb3VkQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcm9jZXNzLWNsb3VkLWNvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGaWxlU291cmNlVHlwZXMsIERlc3RpbmF0aW9uRm9sZGVyUGF0aFR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS1jbG91ZC1yZXByZXNlbnRhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBWZXJzaW9uTWFuYWdlclVwbG9hZERhdGEgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRMaW5lTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBsb2FkLWNsb3VkLXdpZGdldCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVQaXBlLCBFcnJvcldpZGdldENvbXBvbmVudCwgTWF0SWNvbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRMaXN0TW9kdWxlLCBNYXRMaW5lTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLWNsb3VkLndpZGdldC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91cGxvYWQtY2xvdWQud2lkZ2V0LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGNoYW5nZSknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXMpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW52YWxpZCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoc2VsZWN0KSc6ICdldmVudCgkZXZlbnQpJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRDbG91ZFdpZGdldENvbXBvbmVudCBleHRlbmRzIFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJvdGVjdGVkIHRodW1ibmFpbFNlcnZpY2UgPSBpbmplY3QoVGh1bWJuYWlsU2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHByb2Nlc3NDbG91ZENvbnRlbnRTZXJ2aWNlID0gaW5qZWN0KFByb2Nlc3NDbG91ZENvbnRlbnRTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgbm90aWZpY2F0aW9uU2VydmljZSA9IGluamVjdChOb3RpZmljYXRpb25TZXJ2aWNlKTtcblxuICAgIGhhc0ZpbGU6IGJvb2xlYW47XG4gICAgZGlzcGxheVRleHQ6IHN0cmluZztcbiAgICBtdWx0aXBsZU9wdGlvbjogc3RyaW5nID0gJyc7XG4gICAgbWltZVR5cGVJY29uOiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQFZpZXdDaGlsZCgndXBsb2FkRmlsZXMnKVxuICAgIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcblxuICAgIGNvbnN0cnVjdG9yKGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSkge1xuICAgICAgICBzdXBlcihmb3JtU2VydmljZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkPy52YWx1ZT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5oYXNGaWxlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZml4SW5jb21wYXRpYmlsaXR5RnJvbVByZXZpb3VzQW5kTmV3Rm9ybShbXSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZXRNdWx0aXBsZUZpbGVQYXJhbSgpO1xuICAgICAgICB0aGlzLnNldERlc3RpbmF0aW9uRm9sZGVyUGF0aEZyb21NYXBwZWRWYXJpYWJsZSgpO1xuICAgIH1cblxuICAgIHJlbW92ZUZpbGUoZmlsZTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZUVsZW1lbnRGcm9tTGlzdChmaWxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlcGxhY2VPbGRGaWxlVmVyc2lvbldpdGhOZXcodmVyc2lvbk1hbmFnZXJEYXRhOiBWZXJzaW9uTWFuYWdlclVwbG9hZERhdGEpIHtcbiAgICAgICAgY29uc3QgY3VycmVudFVwbG9hZGVkRmlsZUluZGV4ID0gdGhpcy51cGxvYWRlZEZpbGVzLmZpbmRJbmRleCgoZmlsZSkgPT4gZmlsZS5uYW1lID09PSB2ZXJzaW9uTWFuYWdlckRhdGEuY3VycmVudFZlcnNpb24ubmFtZSk7XG4gICAgICAgIHRoaXMudXBsb2FkZWRGaWxlc1tjdXJyZW50VXBsb2FkZWRGaWxlSW5kZXhdID0geyAuLi52ZXJzaW9uTWFuYWdlckRhdGEubmV3VmVyc2lvbi52YWx1ZS5lbnRyeSB9O1xuICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gWy4uLnRoaXMudXBsb2FkZWRGaWxlc107XG4gICAgICAgIHRoaXMuZmllbGQuZm9ybS52YWx1ZXNbdGhpcy5maWVsZC5pZF0gPSBbLi4udGhpcy51cGxvYWRlZEZpbGVzXTtcbiAgICB9XG5cbiAgICBvbkZpbGVDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgZmlsZXM6IEZpbGVbXSA9IFtdO1xuICAgICAgICBjb25zdCBmaWxlc1NhdmVkOiBOb2RlW10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgQXJyYXkuZnJvbTxGaWxlPihldmVudC50YXJnZXQuZmlsZXMpKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNVcGxvYWRlZChmaWxlKSkge1xuICAgICAgICAgICAgICAgIGZpbGVzLnB1c2goZmlsZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5zaG93V2FybmluZygnRk9STS5GSUVMRC5GSUxFX0FMUkVBRFlfVVBMT0FERUQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlcyAmJiBmaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmcm9tKGZpbGVzKVxuICAgICAgICAgICAgICAgIC5waXBlKG1lcmdlTWFwKChmaWxlKSA9PiB0aGlzLnVwbG9hZFJhd0NvbnRlbnQoZmlsZSkpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlc1NhdmVkLnB1c2gocmVzKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4gdGhpcy53aWRnZXRFcnJvci5lbWl0KGBFcnJvciB1cGxvYWRpbmcgZmlsZS4gU2VlIGNvbnNvbGUgb3V0cHV0IGZvciBtb3JlIGRldGFpbHMuICR7ZXJyb3J9YCksXG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpeEluY29tcGF0aWJpbGl0eUZyb21QcmV2aW91c0FuZE5ld0Zvcm0oZmlsZXNTYXZlZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc0ZpbGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVXBsb2FkZWQoZmlsZTogRmlsZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjdXJyZW50OiBOb2RlW10gPSB0aGlzLmZpZWxkLnZhbHVlIHx8IFtdO1xuICAgICAgICByZXR1cm4gY3VycmVudC5zb21lKChlbnRyeSkgPT4gZW50cnkubmFtZSA9PT0gZmlsZS5uYW1lKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZml4SW5jb21wYXRpYmlsaXR5RnJvbVByZXZpb3VzQW5kTmV3Rm9ybShmaWxlc1NhdmVkOiBOb2RlW10pIHtcbiAgICAgICAgY29uc3QgdmFsdWU6IE5vZGVbXSA9IFsuLi4odGhpcy5maWVsZC52YWx1ZSB8fCBbXSldO1xuICAgICAgICB2YWx1ZS5wdXNoKC4uLihmaWxlc1NhdmVkIHx8IFtdKSk7XG5cbiAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmZpZWxkLmZvcm0udmFsdWVzW3RoaXMuZmllbGQuaWRdID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5oYXNGaWxlID0gdmFsdWUubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBnZXRJY29uKG1pbWVUeXBlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50aHVtYm5haWxTZXJ2aWNlLmdldE1pbWVUeXBlSWNvbihtaW1lVHlwZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGxvYWRSYXdDb250ZW50KGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPE5vZGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0Nsb3VkQ29udGVudFNlcnZpY2UuY3JlYXRlVGVtcG9yYXJ5UmF3UmVsYXRlZENvbnRlbnQoZmlsZSwgdGhpcy5maWVsZC5mb3JtLm5vZGVJZCk7XG4gICAgfVxuXG4gICAgZ2V0TXVsdGlwbGVGaWxlUGFyYW0oKSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkPy5wYXJhbXM/Lm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLm11bHRpcGxlT3B0aW9uID0gdGhpcy5maWVsZC5wYXJhbXMubXVsdGlwbGUgPyAnbXVsdGlwbGUnIDogJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdXBsb2FkZWRGaWxlcygpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZmllbGQudmFsdWUgfHwgdGhpcy5maWVsZC5mb3JtLnZhbHVlc1t0aGlzLmZpZWxkLmlkXTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCB8fCBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUVsZW1lbnRGcm9tTGlzdChmaWxlOiBhbnkpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRWYWx1ZXMgPSB0aGlzLnVwbG9hZGVkRmlsZXMuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUuaWQgIT09IGZpbGUuaWQpO1xuICAgICAgICB0aGlzLnJlc2V0Rm9ybVZhbHVlcyhmaWx0ZXJlZFZhbHVlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldEZvcm1WYWx1ZXModmFsdWVzOiBhbnlbXSkge1xuICAgICAgICBpZiAodmFsdWVzICYmIHZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gdmFsdWVzO1xuICAgICAgICAgICAgdGhpcy5maWVsZC5mb3JtLnZhbHVlc1t0aGlzLmZpZWxkLmlkXSA9IHZhbHVlcztcbiAgICAgICAgICAgIHRoaXMuaGFzRmlsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gW107XG4gICAgICAgICAgICB0aGlzLmZpZWxkLmZvcm0udmFsdWVzW3RoaXMuZmllbGQuaWRdID0gW107XG4gICAgICAgICAgICB0aGlzLmhhc0ZpbGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZpbGVDbGlja2VkKGZpbGU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1TZXJ2aWNlLmZvcm1Db250ZW50Q2xpY2tlZC5uZXh0KGZpbGUpO1xuICAgIH1cblxuICAgIGlzQWxmcmVzY29BbmRMb2NhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQ/LnBhcmFtcz8uZmlsZVNvdXJjZT8uc2VydmljZUlkID09PSBGaWxlU291cmNlVHlwZXMuQUxMX0ZJTEVfU09VUkNFU19TRVJWSUNFX0lEO1xuICAgIH1cblxuICAgIGlzUGF0aFZhcmlhYmxlVHlwZSh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQ/LnBhcmFtcz8uZmlsZVNvdXJjZT8uZGVzdGluYXRpb25Gb2xkZXJQYXRoPy50eXBlID09PSB0eXBlO1xuICAgIH1cblxuICAgIHNldERlc3RpbmF0aW9uRm9sZGVyUGF0aEZyb21NYXBwZWRWYXJpYWJsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBbGZyZXNjb0FuZExvY2FsKCkpIHtcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVVwbG9hZFdpZGdldERlc3RpbmF0aW9uRm9sZGVyUGF0aEZyb21TdHJpbmdWYXJpYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy5wcmVwYXJlVXBsb2FkV2lkZ2V0RGVzdGluYXRpb25Gb2xkZXJQYXRoRnJvbUZvbGRlclZhcmlhYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVVcGxvYWRXaWRnZXREZXN0aW5hdGlvbkZvbGRlclBhdGhGcm9tU3RyaW5nVmFyaWFibGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzUGF0aFZhcmlhYmxlVHlwZShEZXN0aW5hdGlvbkZvbGRlclBhdGhUeXBlLlNUUklOR19UWVBFKSkge1xuICAgICAgICAgICAgdGhpcy5zZXRVcGxvYWRXaWRnZXREZXN0aW5hdGlvbkZvbGRlclBhdGgodGhpcy5nZXREZXN0aW5hdGlvbkZvbGRlclBhdGhWYWx1ZSgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZVVwbG9hZFdpZGdldERlc3RpbmF0aW9uRm9sZGVyUGF0aEZyb21Gb2xkZXJWYXJpYWJsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNQYXRoVmFyaWFibGVUeXBlKERlc3RpbmF0aW9uRm9sZGVyUGF0aFR5cGUuRk9MREVSX1RZUEUpKSB7XG4gICAgICAgICAgICBjb25zdCBmb2xkZXIgPSB0aGlzLmdldERlc3RpbmF0aW9uRm9sZGVyUGF0aFZhbHVlKCk7XG4gICAgICAgICAgICB0aGlzLnNldFVwbG9hZFdpZGdldERlc3RpbmF0aW9uRm9sZGVyUGF0aChmb2xkZXI/Lmxlbmd0aCA/IGZvbGRlclswXS5pZCA6IHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFVwbG9hZFdpZGdldERlc3RpbmF0aW9uRm9sZGVyUGF0aChwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5maWVsZC5wYXJhbXMuZmlsZVNvdXJjZS5kZXN0aW5hdGlvbkZvbGRlclBhdGhbJ3ZhbHVlJ10gPSBwYXRoID8gcGF0aCA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlc3RpbmF0aW9uRm9sZGVyUGF0aFZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkLmZvcm0uZ2V0UHJvY2Vzc1ZhcmlhYmxlVmFsdWUodGhpcy5maWVsZC5wYXJhbXMuZmlsZVNvdXJjZT8uZGVzdGluYXRpb25Gb2xkZXJQYXRoPy5uYW1lKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLXVwbG9hZC13aWRnZXQge3tmaWVsZC5jbGFzc05hbWV9fVwiIFtjbGFzcy5hZGYtaW52YWxpZF09XCIhZmllbGQuaXNWYWxpZFwiIFtjbGFzcy5hZGYtcmVhZG9ubHldPVwiZmllbGQucmVhZE9ubHlcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhZGYtbGFiZWxcIiBbYXR0ci5mb3JdPVwiZmllbGQuaWRcIlxuICAgICAgICA+e3sgZmllbGQubmFtZSB8IHRyYW5zbGF0ZSB9fTxzcGFuIGNsYXNzPVwiYWRmLWFzdGVyaXNrXCIgW3N0eWxlLnZpc2liaWxpdHldPVwiaXNSZXF1aXJlZCgpID8gJ3Zpc2libGUnIDogJ2hpZGRlbidcIj4qPC9zcGFuPjwvbGFiZWxcbiAgICA+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1jbG91ZC11cGxvYWQtd2lkZ2V0LWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPG1hdC1saXN0ICpuZ0lmPVwiaGFzRmlsZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1pdGVtIGNsYXNzPVwiYWRmLXVwbG9hZC1maWxlcy1yb3dcIiAqbmdGb3I9XCJsZXQgZmlsZSBvZiB1cGxvYWRlZEZpbGVzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdExpc3RJdGVtTGluZVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtdXBsb2FkLXdpZGdldF9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2ZpbGUtJytmaWxlLmlkKyctaWNvbidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJnZXRJY29uKGZpbGUuY29udGVudC5taW1lVHlwZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJtaW1lVHlwZUljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbGVDbGlja2VkKGZpbGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJmaWxlQ2xpY2tlZChmaWxlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtd2lkZ2V0X19idXR0b24gYWRmLWZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0TGluZVxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7eydmaWxlLScrZmlsZS5pZH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJmaWxlQ2xpY2tlZChmaWxlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZmlsZUNsaWNrZWQoZmlsZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7ZmlsZS5uYW1lfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFmaWVsZC5yZWFkT25seVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCInZmlsZS0nK2ZpbGUuaWQrJy1yZW1vdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVGaWxlKGZpbGUpO1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwicmVtb3ZlRmlsZShmaWxlKTtcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtMjRcIj5oaWdobGlnaHRfb2ZmPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgPC9tYXQtbGlzdD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIighaGFzRmlsZSB8fCBtdWx0aXBsZU9wdGlvbikgJiYgIWZpZWxkLnJlYWRPbmx5XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJ1cGxvYWRGaWxlcy5jbGljaygpXCIgW3RpdGxlXT1cImZpZWxkLnRvb2x0aXBcIj5cbiAgICAgICAgICAgICAgICB7eyAnRk9STS5GSUVMRC5VUExPQUQnIHwgdHJhbnNsYXRlIH19PG1hdC1pY29uPmZpbGVfdXBsb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgI3VwbG9hZEZpbGVzIFttdWx0aXBsZV09XCJtdWx0aXBsZU9wdGlvblwiIHR5cGU9XCJmaWxlXCIgW2lkXT1cImZpZWxkLmZvcm0ubm9kZUlkXCIgKGNoYW5nZSk9XCJvbkZpbGVDaGFuZ2VkKCRldmVudClcIiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaGFzRmlsZSAmJiBmaWVsZC5yZWFkT25seVwiPnt7ICdGT1JNLkZJRUxELk5PX0ZJTEVfQVRUQUNIRUQnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGVycm9yLXdpZGdldCBbZXJyb3JdPVwiZmllbGQudmFsaWRhdGlvblN1bW1hcnlcIiAvPlxuICAgIDxlcnJvci13aWRnZXQgKm5nSWY9XCJpc0ludmFsaWRGaWVsZFJlcXVpcmVkKClcIiByZXF1aXJlZD1cInt7ICdGT1JNLkZJRUxELlJFUVVJUkVEJyB8IHRyYW5zbGF0ZSB9fVwiIC8+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,103 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { NgModule } from '@angular/core';
18
+ import { FormCloudComponent } from './components/form-cloud.component';
19
+ import { FormDefinitionSelectorCloudComponent } from './components/form-definition-selector-cloud.component';
20
+ import { FormCustomOutcomesComponent } from './components/form-cloud-custom-outcomes.component';
21
+ import { GroupCloudWidgetComponent } from './components/widgets/group/group-cloud.widget';
22
+ import { PeopleCloudWidgetComponent } from './components/widgets/people/people-cloud.widget';
23
+ import { AttachFileCloudWidgetComponent } from './components/widgets/attach-file/attach-file-cloud-widget.component';
24
+ import { UploadCloudWidgetComponent } from './components/widgets/upload/upload-cloud.widget';
25
+ import { PropertiesViewerWidgetComponent } from './components/widgets/properties-viewer/properties-viewer.widget';
26
+ import { PropertiesViewerWrapperComponent } from './components/widgets/properties-viewer/properties-viewer-wrapper/properties-viewer-wrapper.component';
27
+ import { RadioButtonsCloudWidgetComponent } from './components/widgets/radio-buttons/radio-buttons-cloud.widget';
28
+ import { FilePropertiesTableCloudComponent } from './components/widgets/attach-file/file-properties-table/file-properties-table-cloud.component';
29
+ import { FileViewerWidgetComponent } from './components/widgets/file-viewer/file-viewer.widget';
30
+ import { DisplayRichTextWidgetComponent } from './components/widgets/display-rich-text/display-rich-text.widget';
31
+ import { RichTextEditorComponent } from '../rich-text-editor';
32
+ import { FormSpinnerComponent } from './components/spinner/form-spinner.component';
33
+ import * as i0 from "@angular/core";
34
+ export const FORM_CLOUD_DIRECTIVES = [
35
+ RichTextEditorComponent,
36
+ FormSpinnerComponent,
37
+ PropertiesViewerWrapperComponent,
38
+ PropertiesViewerWidgetComponent,
39
+ DisplayRichTextWidgetComponent,
40
+ FileViewerWidgetComponent,
41
+ FilePropertiesTableCloudComponent,
42
+ FormCustomOutcomesComponent,
43
+ FormDefinitionSelectorCloudComponent,
44
+ RadioButtonsCloudWidgetComponent,
45
+ AttachFileCloudWidgetComponent,
46
+ UploadCloudWidgetComponent,
47
+ PeopleCloudWidgetComponent,
48
+ GroupCloudWidgetComponent,
49
+ FormCloudComponent
50
+ ];
51
+ /** @deprecated use ...FORM_CLOUD_DIRECTIVES instead */
52
+ export class FormCloudModule {
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormCloudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
54
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FormCloudModule, imports: [RichTextEditorComponent,
55
+ FormSpinnerComponent,
56
+ PropertiesViewerWrapperComponent,
57
+ PropertiesViewerWidgetComponent,
58
+ DisplayRichTextWidgetComponent,
59
+ FileViewerWidgetComponent,
60
+ FilePropertiesTableCloudComponent,
61
+ FormCustomOutcomesComponent,
62
+ FormDefinitionSelectorCloudComponent,
63
+ RadioButtonsCloudWidgetComponent,
64
+ AttachFileCloudWidgetComponent,
65
+ UploadCloudWidgetComponent,
66
+ PeopleCloudWidgetComponent,
67
+ GroupCloudWidgetComponent,
68
+ FormCloudComponent], exports: [RichTextEditorComponent,
69
+ FormSpinnerComponent,
70
+ PropertiesViewerWrapperComponent,
71
+ PropertiesViewerWidgetComponent,
72
+ DisplayRichTextWidgetComponent,
73
+ FileViewerWidgetComponent,
74
+ FilePropertiesTableCloudComponent,
75
+ FormCustomOutcomesComponent,
76
+ FormDefinitionSelectorCloudComponent,
77
+ RadioButtonsCloudWidgetComponent,
78
+ AttachFileCloudWidgetComponent,
79
+ UploadCloudWidgetComponent,
80
+ PeopleCloudWidgetComponent,
81
+ GroupCloudWidgetComponent,
82
+ FormCloudComponent] }); }
83
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormCloudModule, imports: [FormSpinnerComponent,
84
+ PropertiesViewerWrapperComponent,
85
+ PropertiesViewerWidgetComponent,
86
+ FileViewerWidgetComponent,
87
+ FilePropertiesTableCloudComponent,
88
+ FormDefinitionSelectorCloudComponent,
89
+ RadioButtonsCloudWidgetComponent,
90
+ AttachFileCloudWidgetComponent,
91
+ UploadCloudWidgetComponent,
92
+ PeopleCloudWidgetComponent,
93
+ GroupCloudWidgetComponent,
94
+ FormCloudComponent] }); }
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormCloudModule, decorators: [{
97
+ type: NgModule,
98
+ args: [{
99
+ imports: [...FORM_CLOUD_DIRECTIVES],
100
+ exports: [...FORM_CLOUD_DIRECTIVES]
101
+ }]
102
+ }] });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jbG91ZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vZm9ybS1jbG91ZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUNySCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxzR0FBc0csQ0FBQztBQUN4SixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw4RkFBOEYsQ0FBQztBQUNqSixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFFbkYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakMsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixnQ0FBZ0M7SUFDaEMsK0JBQStCO0lBQy9CLDhCQUE4QjtJQUM5Qix5QkFBeUI7SUFDekIsaUNBQWlDO0lBQ2pDLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsZ0NBQWdDO0lBQ2hDLDhCQUE4QjtJQUM5QiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLHlCQUF5QjtJQUN6QixrQkFBa0I7Q0FDWixDQUFDO0FBRVgsdURBQXVEO0FBS3ZELE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxZQXRCeEIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQixnQ0FBZ0M7WUFDaEMsK0JBQStCO1lBQy9CLDhCQUE4QjtZQUM5Qix5QkFBeUI7WUFDekIsaUNBQWlDO1lBQ2pDLDJCQUEyQjtZQUMzQixvQ0FBb0M7WUFDcEMsZ0NBQWdDO1lBQ2hDLDhCQUE4QjtZQUM5QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHlCQUF5QjtZQUN6QixrQkFBa0IsYUFkbEIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQixnQ0FBZ0M7WUFDaEMsK0JBQStCO1lBQy9CLDhCQUE4QjtZQUM5Qix5QkFBeUI7WUFDekIsaUNBQWlDO1lBQ2pDLDJCQUEyQjtZQUMzQixvQ0FBb0M7WUFDcEMsZ0NBQWdDO1lBQ2hDLDhCQUE4QjtZQUM5QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHlCQUF5QjtZQUN6QixrQkFBa0I7Z0hBUVQsZUFBZSxZQXJCeEIsb0JBQW9CO1lBQ3BCLGdDQUFnQztZQUNoQywrQkFBK0I7WUFFL0IseUJBQXlCO1lBQ3pCLGlDQUFpQztZQUVqQyxvQ0FBb0M7WUFDcEMsZ0NBQWdDO1lBQ2hDLDhCQUE4QjtZQUM5QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLHlCQUF5QjtZQUN6QixrQkFBa0I7OzRGQVFULGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1jbG91ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybURlZmluaXRpb25TZWxlY3RvckNsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZGVmaW5pdGlvbi1zZWxlY3Rvci1jbG91ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUN1c3RvbU91dGNvbWVzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tY2xvdWQtY3VzdG9tLW91dGNvbWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcm91cENsb3VkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvZ3JvdXAvZ3JvdXAtY2xvdWQud2lkZ2V0JztcbmltcG9ydCB7IFBlb3BsZUNsb3VkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvcGVvcGxlL3Blb3BsZS1jbG91ZC53aWRnZXQnO1xuaW1wb3J0IHsgQXR0YWNoRmlsZUNsb3VkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvYXR0YWNoLWZpbGUvYXR0YWNoLWZpbGUtY2xvdWQtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcGxvYWRDbG91ZFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3VwbG9hZC91cGxvYWQtY2xvdWQud2lkZ2V0JztcbmltcG9ydCB7IFByb3BlcnRpZXNWaWV3ZXJXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9wcm9wZXJ0aWVzLXZpZXdlci9wcm9wZXJ0aWVzLXZpZXdlci53aWRnZXQnO1xuaW1wb3J0IHsgUHJvcGVydGllc1ZpZXdlcldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9wcm9wZXJ0aWVzLXZpZXdlci9wcm9wZXJ0aWVzLXZpZXdlci13cmFwcGVyL3Byb3BlcnRpZXMtdmlld2VyLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvQnV0dG9uc0Nsb3VkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvcmFkaW8tYnV0dG9ucy9yYWRpby1idXR0b25zLWNsb3VkLndpZGdldCc7XG5pbXBvcnQgeyBGaWxlUHJvcGVydGllc1RhYmxlQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9hdHRhY2gtZmlsZS9maWxlLXByb3BlcnRpZXMtdGFibGUvZmlsZS1wcm9wZXJ0aWVzLXRhYmxlLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlVmlld2VyV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIud2lkZ2V0JztcbmltcG9ydCB7IERpc3BsYXlSaWNoVGV4dFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2Rpc3BsYXktcmljaC10ZXh0L2Rpc3BsYXktcmljaC10ZXh0LndpZGdldCc7XG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL3JpY2gtdGV4dC1lZGl0b3InO1xuaW1wb3J0IHsgRm9ybVNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3Bpbm5lci9mb3JtLXNwaW5uZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEZPUk1fQ0xPVURfRElSRUNUSVZFUyA9IFtcbiAgICBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCxcbiAgICBGb3JtU3Bpbm5lckNvbXBvbmVudCxcbiAgICBQcm9wZXJ0aWVzVmlld2VyV3JhcHBlckNvbXBvbmVudCxcbiAgICBQcm9wZXJ0aWVzVmlld2VyV2lkZ2V0Q29tcG9uZW50LFxuICAgIERpc3BsYXlSaWNoVGV4dFdpZGdldENvbXBvbmVudCxcbiAgICBGaWxlVmlld2VyV2lkZ2V0Q29tcG9uZW50LFxuICAgIEZpbGVQcm9wZXJ0aWVzVGFibGVDbG91ZENvbXBvbmVudCxcbiAgICBGb3JtQ3VzdG9tT3V0Y29tZXNDb21wb25lbnQsXG4gICAgRm9ybURlZmluaXRpb25TZWxlY3RvckNsb3VkQ29tcG9uZW50LFxuICAgIFJhZGlvQnV0dG9uc0Nsb3VkV2lkZ2V0Q29tcG9uZW50LFxuICAgIEF0dGFjaEZpbGVDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICBVcGxvYWRDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICBQZW9wbGVDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICBHcm91cENsb3VkV2lkZ2V0Q29tcG9uZW50LFxuICAgIEZvcm1DbG91ZENvbXBvbmVudFxuXSBhcyBjb25zdDtcblxuLyoqIEBkZXByZWNhdGVkIHVzZSAuLi5GT1JNX0NMT1VEX0RJUkVDVElWRVMgaW5zdGVhZCAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbLi4uRk9STV9DTE9VRF9ESVJFQ1RJVkVTXSxcbiAgICBleHBvcnRzOiBbLi4uRk9STV9DTE9VRF9ESVJFQ1RJVkVTXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ2xvdWRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,48 @@
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
+ /* eslint-disable no-shadow */
18
+ /* eslint-disable @typescript-eslint/naming-convention */
19
+ export class FormCloudRepresentation {
20
+ constructor(obj) {
21
+ this.id = obj.id || null;
22
+ this.name = obj.name || null;
23
+ this.description = obj.description || null;
24
+ this.version = obj.version || null;
25
+ this.tabs = obj.tabs || null;
26
+ this.fields = obj.fields || null;
27
+ this.outcomes = obj.outcomes || null;
28
+ this.metadata = obj.metadata || null;
29
+ this.variables = obj.variables || null;
30
+ this.taskId = obj.taskId || null;
31
+ this.taskName = obj.taskName || null;
32
+ this.processDefinitionId = obj.processDefinitionId || null;
33
+ this.processInstanceId = obj.processInstanceId || null;
34
+ this.selectedOutcome = obj.selectedOutcome || null;
35
+ }
36
+ }
37
+ export var FileSourceTypes;
38
+ (function (FileSourceTypes) {
39
+ FileSourceTypes["ALL_FILE_SOURCES_SERVICE_ID"] = "all-file-sources";
40
+ FileSourceTypes["ALFRESCO_CONTENT_SOURCES_SERVICE_ID"] = "alfresco-content";
41
+ })(FileSourceTypes || (FileSourceTypes = {}));
42
+ export var DestinationFolderPathType;
43
+ (function (DestinationFolderPathType) {
44
+ DestinationFolderPathType["STATIC_TYPE"] = "value";
45
+ DestinationFolderPathType["STRING_TYPE"] = "string";
46
+ DestinationFolderPathType["FOLDER_TYPE"] = "folder";
47
+ })(DestinationFolderPathType || (DestinationFolderPathType = {}));
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jbG91ZC1yZXByZXNlbnRhdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvZm9ybS9tb2RlbHMvZm9ybS1jbG91ZC1yZXByZXNlbnRhdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCw4QkFBOEI7QUFDOUIseURBQXlEO0FBQ3pELE1BQU0sT0FBTyx1QkFBdUI7SUFpQmhDLFlBQVksR0FBUztRQUNqQixJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQztRQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFDckMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUM7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUM7UUFDdkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQztJQUN2RCxDQUFDO0NBQ0o7QUFPRCxNQUFNLENBQU4sSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3ZCLG1FQUFnRCxDQUFBO0lBQ2hELDJFQUF3RCxDQUFBO0FBQzVELENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQjtBQUVELE1BQU0sQ0FBTixJQUFZLHlCQUlYO0FBSkQsV0FBWSx5QkFBeUI7SUFDakMsa0RBQXFCLENBQUE7SUFDckIsbURBQXNCLENBQUE7SUFDdEIsbURBQXNCLENBQUE7QUFDMUIsQ0FBQyxFQUpXLHlCQUF5QixLQUF6Qix5QkFBeUIsUUFJcEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXNoYWRvdyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5leHBvcnQgY2xhc3MgRm9ybUNsb3VkUmVwcmVzZW50YXRpb24ge1xuXG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICB2ZXJzaW9uPzogbnVtYmVyO1xuICAgIHRhYnM/OiBhbnlbXTtcbiAgICBmaWVsZHM/OiBhbnlbXTtcbiAgICBvdXRjb21lcz86IGFueVtdO1xuICAgIG1ldGFkYXRhPzogYW55O1xuICAgIHZhcmlhYmxlcz86IGFueVtdO1xuICAgIHRhc2tJZD86IHN0cmluZztcbiAgICB0YXNrTmFtZT86IHN0cmluZztcbiAgICBwcm9jZXNzRGVmaW5pdGlvbklkPzogc3RyaW5nO1xuICAgIHByb2Nlc3NJbnN0YW5jZUlkPzogc3RyaW5nO1xuICAgIHNlbGVjdGVkT3V0Y29tZT86IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKG9iaj86IGFueSkge1xuICAgICAgICB0aGlzLmlkID0gb2JqLmlkIHx8IG51bGw7XG4gICAgICAgIHRoaXMubmFtZSA9IG9iai5uYW1lIHx8IG51bGw7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBvYmouZGVzY3JpcHRpb24gfHwgbnVsbDtcbiAgICAgICAgdGhpcy52ZXJzaW9uID0gb2JqLnZlcnNpb24gfHwgbnVsbDtcbiAgICAgICAgdGhpcy50YWJzID0gb2JqLnRhYnMgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBvYmouZmllbGRzIHx8IG51bGw7XG4gICAgICAgIHRoaXMub3V0Y29tZXMgPSBvYmoub3V0Y29tZXMgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5tZXRhZGF0YSA9IG9iai5tZXRhZGF0YSB8fCBudWxsO1xuICAgICAgICB0aGlzLnZhcmlhYmxlcyA9IG9iai52YXJpYWJsZXMgfHwgbnVsbDtcbiAgICAgICAgdGhpcy50YXNrSWQgPSBvYmoudGFza0lkIHx8IG51bGw7XG4gICAgICAgIHRoaXMudGFza05hbWUgPSBvYmoudGFza05hbWUgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvbklkID0gb2JqLnByb2Nlc3NEZWZpbml0aW9uSWQgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5zdGFuY2VJZCA9IG9iai5wcm9jZXNzSW5zdGFuY2VJZCB8fCBudWxsO1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3V0Y29tZSA9IG9iai5zZWxlY3RlZE91dGNvbWUgfHwgbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVzdGluYXRpb25Gb2xkZXJQYXRoTW9kZWwge1xuICAgIGFsaWFzOiBzdHJpbmc7XG4gICAgcGF0aDogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBGaWxlU291cmNlVHlwZXMge1xuICAgIEFMTF9GSUxFX1NPVVJDRVNfU0VSVklDRV9JRCA9ICdhbGwtZmlsZS1zb3VyY2VzJyxcbiAgICBBTEZSRVNDT19DT05URU5UX1NPVVJDRVNfU0VSVklDRV9JRCA9ICdhbGZyZXNjby1jb250ZW50J1xufVxuXG5leHBvcnQgZW51bSBEZXN0aW5hdGlvbkZvbGRlclBhdGhUeXBlIHtcbiAgICBTVEFUSUNfVFlQRSA9ICd2YWx1ZScsXG4gICAgU1RSSU5HX1RZUEUgPSAnc3RyaW5nJyxcbiAgICBGT0xERVJfVFlQRSA9ICdmb2xkZXInXG59XG4iXX0=
@@ -0,0 +1,28 @@
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
+ export class TaskVariableCloud {
18
+ constructor(obj) {
19
+ this.id = obj.name || null;
20
+ this.name = obj.name || null;
21
+ this.value = this.hasValue(obj) ? obj.value : null;
22
+ this.type = obj.type || null;
23
+ }
24
+ hasValue(obj) {
25
+ return obj.value !== undefined && obj.value !== null;
26
+ }
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay12YXJpYWJsZS1jbG91ZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvZm9ybS9tb2RlbHMvdGFzay12YXJpYWJsZS1jbG91ZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxNQUFNLE9BQU8saUJBQWlCO0lBSzFCLFlBQVksR0FBRztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNuRCxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBc0I7UUFDM0IsT0FBTyxHQUFHLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxHQUFHLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztJQUN6RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCBjbGFzcyBUYXNrVmFyaWFibGVDbG91ZCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBhbnk7XG4gICAgdHlwZT86IHN0cmluZztcbiAgICBpZD86IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihvYmopIHtcbiAgICAgICAgdGhpcy5pZCA9IG9iai5uYW1lIHx8IG51bGw7XG4gICAgICAgIHRoaXMubmFtZSA9IG9iai5uYW1lIHx8IG51bGw7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmhhc1ZhbHVlKG9iaikgPyBvYmoudmFsdWUgOiBudWxsO1xuICAgICAgICB0aGlzLnR5cGUgPSBvYmoudHlwZSB8fCBudWxsO1xuICAgIH1cblxuICAgIGhhc1ZhbHVlKG9iajogVGFza1ZhcmlhYmxlQ2xvdWQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIG9iai52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIG9iai52YWx1ZSAhPT0gbnVsbDtcbiAgICB9XG59XG4iXX0=