@alfresco/adf-process-services-cloud 8.1.0-15469386840 → 8.1.0-15470372956

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 +126 -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 +164 -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 +416 -0
  18. package/esm2022/lib/form/components/form-definition-selector-cloud.component.mjs +54 -0
  19. package/esm2022/lib/form/components/spinner/form-spinner.component.mjs +36 -0
  20. package/esm2022/lib/form/components/widgets/attach-file/attach-file-cloud-widget.component.mjs +250 -0
  21. package/esm2022/lib/form/components/widgets/attach-file/file-properties-table/file-properties-table-cloud.component.mjs +137 -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 +121 -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 +190 -0
  26. package/esm2022/lib/form/components/widgets/display-external-property/display-external-property.widget.mjs +86 -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 +464 -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 +47 -0
  31. package/esm2022/lib/form/components/widgets/group/group-cloud.widget.mjs +83 -0
  32. package/esm2022/lib/form/components/widgets/people/people-cloud.widget.mjs +92 -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 +54 -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 +117 -0
  37. package/esm2022/lib/form/components/widgets/upload/upload-cloud.widget.mjs +188 -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 +424 -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 +499 -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 +802 -0
  76. package/esm2022/lib/process/process-filters/components/process-filter-dialog/process-filter-dialog-cloud.component.mjs +59 -0
  77. package/esm2022/lib/process/process-filters/components/process-filters/process-filters-cloud.component.mjs +293 -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 +594 -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 +481 -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 +206 -0
  134. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component.mjs +318 -0
  135. package/esm2022/lib/task/task-filters/components/service-task-filters/service-task-filters-cloud.component.mjs +147 -0
  136. package/esm2022/lib/task/task-filters/components/task-assignment-filter/task-assignment-filter.component.mjs +143 -0
  137. package/esm2022/lib/task/task-filters/components/task-filter-dialog/task-filter-dialog-cloud.component.mjs +73 -0
  138. package/esm2022/lib/task/task-filters/components/task-filters/task-filters-cloud.component.mjs +256 -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 +284 -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 +79 -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 +116 -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 +390 -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 +348 -345
  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,117 @@
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 { TranslateModule, 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 "@ngx-translate/core";
32
+ import * as i5 from "@angular/forms";
33
+ export class RadioButtonsCloudWidgetComponent extends WidgetComponent {
34
+ constructor(formService) {
35
+ super(formService);
36
+ this.formCloudService = inject(FormCloudService);
37
+ this.translateService = inject(TranslateService);
38
+ this.formUtilsService = inject(FormUtilsService);
39
+ this.typeId = 'RadioButtonsCloudWidgetComponent';
40
+ this.destroyRef = inject(DestroyRef);
41
+ }
42
+ ngOnInit() {
43
+ if (this.isValidRestConfig() && !this.isReadOnlyForm()) {
44
+ this.getValuesFromRestApi();
45
+ }
46
+ }
47
+ getValuesFromRestApi() {
48
+ const body = this.formUtilsService.getRestUrlVariablesMap(this.field.form, this.field.restUrl, {});
49
+ this.formCloudService
50
+ .getRestWidgetData(this.field.form.id, this.field.id, body)
51
+ .pipe(takeUntilDestroyed(this.destroyRef))
52
+ .subscribe({
53
+ next: (result) => {
54
+ this.field.options = result;
55
+ this.field.updateForm();
56
+ },
57
+ error: (err) => {
58
+ this.resetRestApiOptions();
59
+ this.handleError(err);
60
+ }
61
+ });
62
+ }
63
+ onOptionClick(optionSelected) {
64
+ this.field.value = optionSelected;
65
+ this.onFieldChanged(this.field);
66
+ }
67
+ handleError(error) {
68
+ this.restApiError = new ErrorMessageModel({
69
+ message: this.translateService.instant('FORM.FIELD.REST_API_FAILED', { hostname: this.getRestUrlHostName() })
70
+ });
71
+ this.widgetError.emit(error);
72
+ }
73
+ isChecked(option) {
74
+ if (this.field.value && typeof this.field.value === 'object') {
75
+ return this.field.value['id'] === option.id || this.field.value['name'] === option.name;
76
+ }
77
+ return this.field.value === option.id;
78
+ }
79
+ resetRestApiOptions() {
80
+ this.field.options = [];
81
+ }
82
+ getRestUrlHostName() {
83
+ return new URL(this.field?.restUrl).hostname ?? this.field?.restUrl;
84
+ }
85
+ hasError() {
86
+ return this.restApiError || this.field.validationSummary;
87
+ }
88
+ isRestType() {
89
+ return this.field?.optionType === 'rest';
90
+ }
91
+ isReadOnlyForm() {
92
+ return !!this.field?.form?.readOnly;
93
+ }
94
+ hasRestUrl() {
95
+ return !!this.field?.restUrl;
96
+ }
97
+ isValidRestConfig() {
98
+ return this.isRestType() && this.hasRestUrl();
99
+ }
100
+ 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 }); }
101
+ 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{margin-bottom:15px;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:row 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: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
102
+ }
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadioButtonsCloudWidgetComponent, decorators: [{
104
+ type: Component,
105
+ args: [{ selector: 'radio-buttons-cloud-widget', standalone: true, imports: [CommonModule, ErrorWidgetComponent, MatRadioModule, TranslateModule, FormsModule], host: {
106
+ '(click)': 'event($event)',
107
+ '(blur)': 'event($event)',
108
+ '(change)': 'event($event)',
109
+ '(focus)': 'event($event)',
110
+ '(focusin)': 'event($event)',
111
+ '(focusout)': 'event($event)',
112
+ '(input)': 'event($event)',
113
+ '(invalid)': 'event($event)',
114
+ '(select)': 'event($event)'
115
+ }, 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{margin-bottom:15px;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:row 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"] }]
116
+ }], ctorParameters: () => [{ type: i1.FormService }] });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9ucy1jbG91ZC53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL3JhZGlvLWJ1dHRvbnMvcmFkaW8tYnV0dG9ucy1jbG91ZC53aWRnZXQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL3JhZGlvLWJ1dHRvbnMvcmFkaW8tYnV0dG9ucy1jbG91ZC53aWRnZXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBbUIsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQXFCN0MsTUFBTSxPQUFPLGdD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QixXQUFXLEVBQUUsZUFBZTt3QkFDNUIsVUFBVSxFQUFFLGVBQWU7cUJBQzlCLGlCQUNjLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBpbmplY3QsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZU1vZGVsLCBFcnJvcldpZGdldENvbXBvbmVudCwgRm9ybUZpZWxkT3B0aW9uLCBGb3JtU2VydmljZSwgV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEZvcm1DbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3JtVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3JhZGlvLWJ1dHRvbnMtY2xvdWQtd2lkZ2V0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEVycm9yV2lkZ2V0Q29tcG9uZW50LCBNYXRSYWRpb01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWJ1dHRvbnMtY2xvdWQud2lkZ2V0Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JhZGlvLWJ1dHRvbnMtY2xvdWQud2lkZ2V0LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGNoYW5nZSknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXMpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW52YWxpZCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoc2VsZWN0KSc6ICdldmVudCgkZXZlbnQpJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbnNDbG91ZFdpZGdldENvbXBvbmVudCBleHRlbmRzIFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBmb3JtQ2xvdWRTZXJ2aWNlID0gaW5qZWN0KEZvcm1DbG91ZFNlcnZpY2UpO1xuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGZvcm1VdGlsc1NlcnZpY2UgPSBpbmplY3QoRm9ybVV0aWxzU2VydmljZSk7XG5cbiAgICB0eXBlSWQgPSAnUmFkaW9CdXR0b25zQ2xvdWRXaWRnZXRDb21wb25lbnQnO1xuICAgIHJlc3RBcGlFcnJvcjogRXJyb3JNZXNzYWdlTW9kZWw7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBjb25zdHJ1Y3Rvcihmb3JtU2VydmljZTogRm9ybVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoZm9ybVNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5pc1ZhbGlkUmVzdENvbmZpZygpICYmICF0aGlzLmlzUmVhZE9ubHlGb3JtKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VmFsdWVzRnJvbVJlc3RBcGkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFZhbHVlc0Zyb21SZXN0QXBpKCkge1xuICAgICAgICBjb25zdCBib2R5ID0gdGhpcy5mb3JtVXRpbHNTZXJ2aWNlLmdldFJlc3RVcmxWYXJpYWJsZXNNYXAodGhpcy5maWVsZC5mb3JtLCB0aGlzLmZpZWxkLnJlc3RVcmwsIHt9KTtcblxuICAgICAgICB0aGlzLmZvcm1DbG91ZFNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRSZXN0V2lkZ2V0RGF0YSh0aGlzLmZpZWxkLmZvcm0uaWQsIHRoaXMuZmllbGQuaWQsIGJvZHkpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zID0gcmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLnVwZGF0ZUZvcm0oKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzZXRSZXN0QXBpT3B0aW9ucygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25PcHRpb25DbGljayhvcHRpb25TZWxlY3RlZDogYW55KSB7XG4gICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSBvcHRpb25TZWxlY3RlZDtcbiAgICAgICAgdGhpcy5vbkZpZWxkQ2hhbmdlZCh0aGlzLmZpZWxkKTtcbiAgICB9XG5cbiAgICBoYW5kbGVFcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIHRoaXMucmVzdEFwaUVycm9yID0gbmV3IEVycm9yTWVzc2FnZU1vZGVsKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdGT1JNLkZJRUxELlJFU1RfQVBJX0ZBSUxFRCcsIHsgaG9zdG5hbWU6IHRoaXMuZ2V0UmVzdFVybEhvc3ROYW1lKCkgfSlcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMud2lkZ2V0RXJyb3IuZW1pdChlcnJvcik7XG4gICAgfVxuXG4gICAgaXNDaGVja2VkKG9wdGlvbjogRm9ybUZpZWxkT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLnZhbHVlICYmIHR5cGVvZiB0aGlzLmZpZWxkLnZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQudmFsdWVbJ2lkJ10gPT09IG9wdGlvbi5pZCB8fCB0aGlzLmZpZWxkLnZhbHVlWyduYW1lJ10gPT09IG9wdGlvbi5uYW1lO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkLnZhbHVlID09PSBvcHRpb24uaWQ7XG4gICAgfVxuXG4gICAgcmVzZXRSZXN0QXBpT3B0aW9ucygpIHtcbiAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zID0gW107XG4gICAgfVxuXG4gICAgZ2V0UmVzdFVybEhvc3ROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBuZXcgVVJMKHRoaXMuZmllbGQ/LnJlc3RVcmwpLmhvc3RuYW1lID8/IHRoaXMuZmllbGQ/LnJlc3RVcmw7XG4gICAgfVxuXG4gICAgaGFzRXJyb3IoKTogRXJyb3JNZXNzYWdlTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXN0QXBpRXJyb3IgfHwgdGhpcy5maWVsZC52YWxpZGF0aW9uU3VtbWFyeTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUmVzdFR5cGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkPy5vcHRpb25UeXBlID09PSAncmVzdCc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1JlYWRPbmx5Rm9ybSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5maWVsZD8uZm9ybT8ucmVhZE9ubHk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNSZXN0VXJsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpZWxkPy5yZXN0VXJsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWxpZFJlc3RDb25maWcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUmVzdFR5cGUoKSAmJiB0aGlzLmhhc1Jlc3RVcmwoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLXJhZGlvLWJ1dHRvbnMtd2lkZ2V0LWNsb3VkIHt7ZmllbGQuY2xhc3NOYW1lfX1cIlxuICAgIFtjbGFzcy5hZGYtcmVhZG9ubHldPVwiZmllbGQucmVhZE9ubHlcIiBbaWRdPVwiZmllbGQuaWRcIj5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cIihmaWVsZC5hbGlnbm1lbnRUeXBlID09PSAndmVydGljYWwnKSA/ICdhZGYtcmFkaW8tYnV0dG9uLWNvbnRhaW5lcic6ICdhZGYtcmFkaW8tYnV0dG9uLWNvbnRhaW5lci1ob3Jpem9udGFsJ1wiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhZGYtbGFiZWxcIlxuICAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cImZpZWxkLmlkXCI+e3tmaWVsZC5uYW1lIHwgdHJhbnNsYXRlIH19PHNwYW4gY2xhc3M9XCJhZGYtYXN0ZXJpc2tcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJpc1JlcXVpcmVkKCkgPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiPio8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxtYXQtcmFkaW8tZ3JvdXBcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIihmaWVsZC5hbGlnbm1lbnRUeXBlID09PSAndmVydGljYWwnKSA/ICdhZGYtcmFkaW8tZ3JvdXAnOiAnYWRmLXJhZGlvLWdyb3VwLWhvcml6b250YWwnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLXJhZGlvLWdyb3VwXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQudmFsdWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLnJlYWRPbmx5XCI+XG4gICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvblxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJmaWVsZC50b29sdGlwXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwiZmllbGQuaWQgKyAnLScgKyBvcHQuaWRcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cImZpZWxkLmlkXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0LmlkXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJpc0NoZWNrZWQob3B0KVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbk9wdGlvbkNsaWNrKG9wdC5pZClcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtcmFkaW8tYnV0dG9uXCIgKm5nRm9yPVwibGV0IG9wdCBvZiBmaWVsZC5vcHRpb25zXCIgPlxuICAgICAgICAgICAgICAgIHt7b3B0Lm5hbWV9fVxuICAgICAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICA8L2Rpdj5cbiAgICA8ZXJyb3Itd2lkZ2V0IGNsYXNzPVwiYWRmLXJhZGlvLWdyb3VwLWVycm9yLW1lc3NhZ2VcIiBbZXJyb3JdPVwiaGFzRXJyb3IoKVwiIC8+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,188 @@
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 { TranslateModule } 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 "@ngx-translate/core";
34
+ import * as i4 from "@angular/material/icon";
35
+ import * as i5 from "@angular/material/button";
36
+ import * as i6 from "@angular/material/list";
37
+ import * as i7 from "@angular/material/core";
38
+ export class UploadCloudWidgetComponent extends WidgetComponent {
39
+ constructor(formService) {
40
+ super(formService);
41
+ this.thumbnailService = inject(ThumbnailService);
42
+ this.processCloudContentService = inject(ProcessCloudContentService);
43
+ this.notificationService = inject(NotificationService);
44
+ this.multipleOption = '';
45
+ this.error = new EventEmitter();
46
+ }
47
+ ngOnInit() {
48
+ if (this.field?.value?.length > 0) {
49
+ this.hasFile = true;
50
+ this.fixIncompatibilityFromPreviousAndNewForm([]);
51
+ }
52
+ this.getMultipleFileParam();
53
+ this.setDestinationFolderPathFromMappedVariable();
54
+ }
55
+ removeFile(file) {
56
+ if (this.field) {
57
+ this.removeElementFromList(file);
58
+ }
59
+ }
60
+ replaceOldFileVersionWithNew(versionManagerData) {
61
+ const currentUploadedFileIndex = this.uploadedFiles.findIndex((file) => file.name === versionManagerData.currentVersion.name);
62
+ this.uploadedFiles[currentUploadedFileIndex] = { ...versionManagerData.newVersion.value.entry };
63
+ this.field.value = [...this.uploadedFiles];
64
+ this.field.form.values[this.field.id] = [...this.uploadedFiles];
65
+ }
66
+ onFileChanged(event) {
67
+ const files = [];
68
+ const filesSaved = [];
69
+ for (const file of Array.from(event.target.files)) {
70
+ if (!this.isUploaded(file)) {
71
+ files.push(file);
72
+ }
73
+ else {
74
+ this.notificationService.showWarning('FORM.FIELD.FILE_ALREADY_UPLOADED');
75
+ }
76
+ }
77
+ if (files && files.length > 0) {
78
+ from(files)
79
+ .pipe(mergeMap((file) => this.uploadRawContent(file)))
80
+ .subscribe({
81
+ next: (res) => {
82
+ filesSaved.push(res);
83
+ },
84
+ error: (error) => this.widgetError.emit(`Error uploading file. See console output for more details. ${error}`),
85
+ complete: () => {
86
+ this.fixIncompatibilityFromPreviousAndNewForm(filesSaved);
87
+ this.hasFile = true;
88
+ }
89
+ });
90
+ }
91
+ }
92
+ isUploaded(file) {
93
+ const current = this.field.value || [];
94
+ return current.some((entry) => entry.name === file.name);
95
+ }
96
+ fixIncompatibilityFromPreviousAndNewForm(filesSaved) {
97
+ const value = [...(this.field.value || [])];
98
+ value.push(...(filesSaved || []));
99
+ this.field.value = value;
100
+ this.field.form.values[this.field.id] = value;
101
+ this.hasFile = value.length > 0;
102
+ }
103
+ getIcon(mimeType) {
104
+ return this.thumbnailService.getMimeTypeIcon(mimeType);
105
+ }
106
+ uploadRawContent(file) {
107
+ return this.processCloudContentService.createTemporaryRawRelatedContent(file, this.field.form.nodeId);
108
+ }
109
+ getMultipleFileParam() {
110
+ if (this.field?.params?.multiple) {
111
+ this.multipleOption = this.field.params.multiple ? 'multiple' : '';
112
+ }
113
+ }
114
+ get uploadedFiles() {
115
+ const result = this.field.value || this.field.form.values[this.field.id];
116
+ return result || [];
117
+ }
118
+ removeElementFromList(file) {
119
+ const filteredValues = this.uploadedFiles.filter((value) => value.id !== file.id);
120
+ this.resetFormValues(filteredValues);
121
+ }
122
+ resetFormValues(values) {
123
+ if (values && values.length > 0) {
124
+ this.field.value = values;
125
+ this.field.form.values[this.field.id] = values;
126
+ this.hasFile = true;
127
+ }
128
+ else {
129
+ this.field.value = [];
130
+ this.field.form.values[this.field.id] = [];
131
+ this.hasFile = false;
132
+ }
133
+ }
134
+ fileClicked(file) {
135
+ this.formService.formContentClicked.next(file);
136
+ }
137
+ isAlfrescoAndLocal() {
138
+ return this.field?.params?.fileSource?.serviceId === FileSourceTypes.ALL_FILE_SOURCES_SERVICE_ID;
139
+ }
140
+ isPathVariableType(type) {
141
+ return this.field?.params?.fileSource?.destinationFolderPath?.type === type;
142
+ }
143
+ setDestinationFolderPathFromMappedVariable() {
144
+ if (this.isAlfrescoAndLocal()) {
145
+ this.prepareUploadWidgetDestinationFolderPathFromStringVariable();
146
+ this.prepareUploadWidgetDestinationFolderPathFromFolderVariable();
147
+ }
148
+ }
149
+ prepareUploadWidgetDestinationFolderPathFromStringVariable() {
150
+ if (this.isPathVariableType(DestinationFolderPathType.STRING_TYPE)) {
151
+ this.setUploadWidgetDestinationFolderPath(this.getDestinationFolderPathValue());
152
+ }
153
+ }
154
+ prepareUploadWidgetDestinationFolderPathFromFolderVariable() {
155
+ if (this.isPathVariableType(DestinationFolderPathType.FOLDER_TYPE)) {
156
+ const folder = this.getDestinationFolderPathValue();
157
+ this.setUploadWidgetDestinationFolderPath(folder?.length ? folder[0].id : undefined);
158
+ }
159
+ }
160
+ setUploadWidgetDestinationFolderPath(path) {
161
+ this.field.params.fileSource.destinationFolderPath['value'] = path ? path : undefined;
162
+ }
163
+ getDestinationFolderPathValue() {
164
+ return this.field.form.getProcessVariableValue(this.field.params.fileSource?.destinationFolderPath?.name);
165
+ }
166
+ 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 }); }
167
+ 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: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i6.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i6.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i6.MatListItemLine, selector: "[matListItemLine]" }, { kind: "ngmodule", type: MatLineModule }, { kind: "directive", type: i7.MatLine, selector: "[mat-line], [matLine]" }], encapsulation: i0.ViewEncapsulation.None }); }
168
+ }
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadCloudWidgetComponent, decorators: [{
170
+ type: Component,
171
+ args: [{ selector: 'upload-cloud-widget', standalone: true, imports: [CommonModule, TranslateModule, ErrorWidgetComponent, MatIconModule, MatButtonModule, MatListModule, MatLineModule], host: {
172
+ '(click)': 'event($event)',
173
+ '(blur)': 'event($event)',
174
+ '(change)': 'event($event)',
175
+ '(focus)': 'event($event)',
176
+ '(focusin)': 'event($event)',
177
+ '(focusout)': 'event($event)',
178
+ '(input)': 'event($event)',
179
+ '(invalid)': 'event($event)',
180
+ '(select)': 'event($event)'
181
+ }, 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"] }]
182
+ }], ctorParameters: () => [{ type: i1.FormService }], propDecorators: { error: [{
183
+ type: Output
184
+ }], fileInput: [{
185
+ type: ViewChild,
186
+ args: ['uploadFiles']
187
+ }] } });
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWNsb3VkLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvdXBsb2FkL3VwbG9hZC1jbG91ZC53aWRnZXQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL3VwbG9hZC91cGxvYWQtY2xvdWQud2lkZ2V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxSCxPQUFPLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUU3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFF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LGVBQWU7d0JBQzFCLFFBQVEsRUFBRSxlQUFlO3dCQUN6QixVQUFVLEVBQUUsZUFBZTt3QkFDM0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixVQUFVLEVBQUUsZUFBZTtxQkFDOUIsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSTtnRkFhckMsS0FBSztzQkFESixNQUFNO2dCQUlQLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFdpZGdldENvbXBvbmVudCwgRm9ybVNlcnZpY2UsIFRodW1ibmFpbFNlcnZpY2UsIE5vdGlmaWNhdGlvblNlcnZpY2UsIEVycm9yV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IFByb2Nlc3NDbG91ZENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJvY2Vzcy1jbG91ZC1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmlsZVNvdXJjZVR5cGVzLCBEZXN0aW5hdGlvbkZvbGRlclBhdGhUeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Zvcm0tY2xvdWQtcmVwcmVzZW50YXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgVmVyc2lvbk1hbmFnZXJVcGxvYWREYXRhIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRMaW5lTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBsb2FkLWNsb3VkLXdpZGdldCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEVycm9yV2lkZ2V0Q29tcG9uZW50LCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdExpc3RNb2R1bGUsIE1hdExpbmVNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtY2xvdWQud2lkZ2V0Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VwbG9hZC1jbG91ZC53aWRnZXQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhjbGljayknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoYmx1ciknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoY2hhbmdlKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1cyknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXNpbiknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXNvdXQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGlucHV0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnZhbGlkKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhzZWxlY3QpJzogJ2V2ZW50KCRldmVudCknXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZENsb3VkV2lkZ2V0Q29tcG9uZW50IGV4dGVuZHMgV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcm90ZWN0ZWQgdGh1bWJuYWlsU2VydmljZSA9IGluamVjdChUaHVtYm5haWxTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcHJvY2Vzc0Nsb3VkQ29udGVudFNlcnZpY2UgPSBpbmplY3QoUHJvY2Vzc0Nsb3VkQ29udGVudFNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCBub3RpZmljYXRpb25TZXJ2aWNlID0gaW5qZWN0KE5vdGlmaWNhdGlvblNlcnZpY2UpO1xuXG4gICAgaGFzRmlsZTogYm9vbGVhbjtcbiAgICBkaXNwbGF5VGV4dDogc3RyaW5nO1xuICAgIG11bHRpcGxlT3B0aW9uOiBzdHJpbmcgPSAnJztcbiAgICBtaW1lVHlwZUljb246IHN0cmluZztcblxuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBAVmlld0NoaWxkKCd1cGxvYWRGaWxlcycpXG4gICAgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgY29uc3RydWN0b3IoZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGZvcm1TZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQ/LnZhbHVlPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmhhc0ZpbGUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5maXhJbmNvbXBhdGliaWxpdHlGcm9tUHJldmlvdXNBbmROZXdGb3JtKFtdKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdldE11bHRpcGxlRmlsZVBhcmFtKCk7XG4gICAgICAgIHRoaXMuc2V0RGVzdGluYXRpb25Gb2xkZXJQYXRoRnJvbU1hcHBlZFZhcmlhYmxlKCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlRmlsZShmaWxlOiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlRWxlbWVudEZyb21MaXN0KGZpbGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVwbGFjZU9sZEZpbGVWZXJzaW9uV2l0aE5ldyh2ZXJzaW9uTWFuYWdlckRhdGE6IFZlcnNpb25NYW5hZ2VyVXBsb2FkRGF0YSkge1xuICAgICAgICBjb25zdCBjdXJyZW50VXBsb2FkZWRGaWxlSW5kZXggPSB0aGlzLnVwbG9hZGVkRmlsZXMuZmluZEluZGV4KChmaWxlKSA9PiBmaWxlLm5hbWUgPT09IHZlcnNpb25NYW5hZ2VyRGF0YS5jdXJyZW50VmVyc2lvbi5uYW1lKTtcbiAgICAgICAgdGhpcy51cGxvYWRlZEZpbGVzW2N1cnJlbnRVcGxvYWRlZEZpbGVJbmRleF0gPSB7IC4uLnZlcnNpb25NYW5hZ2VyRGF0YS5uZXdWZXJzaW9uLnZhbHVlLmVudHJ5IH07XG4gICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSBbLi4udGhpcy51cGxvYWRlZEZpbGVzXTtcbiAgICAgICAgdGhpcy5maWVsZC5mb3JtLnZhbHVlc1t0aGlzLmZpZWxkLmlkXSA9IFsuLi50aGlzLnVwbG9hZGVkRmlsZXNdO1xuICAgIH1cblxuICAgIG9uRmlsZUNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgICAgICBjb25zdCBmaWxlczogRmlsZVtdID0gW107XG4gICAgICAgIGNvbnN0IGZpbGVzU2F2ZWQ6IE5vZGVbXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBBcnJheS5mcm9tPEZpbGU+KGV2ZW50LnRhcmdldC5maWxlcykpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1VwbG9hZGVkKGZpbGUpKSB7XG4gICAgICAgICAgICAgICAgZmlsZXMucHVzaChmaWxlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnNob3dXYXJuaW5nKCdGT1JNLkZJRUxELkZJTEVfQUxSRUFEWV9VUExPQURFRCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZyb20oZmlsZXMpXG4gICAgICAgICAgICAgICAgLnBpcGUobWVyZ2VNYXAoKGZpbGUpID0+IHRoaXMudXBsb2FkUmF3Q29udGVudChmaWxlKSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzU2F2ZWQucHVzaChyZXMpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB0aGlzLndpZGdldEVycm9yLmVtaXQoYEVycm9yIHVwbG9hZGluZyBmaWxlLiBTZWUgY29uc29sZSBvdXRwdXQgZm9yIG1vcmUgZGV0YWlscy4gJHtlcnJvcn1gKSxcbiAgICAgICAgICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZml4SW5jb21wYXRpYmlsaXR5RnJvbVByZXZpb3VzQW5kTmV3Rm9ybShmaWxlc1NhdmVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzRmlsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNVcGxvYWRlZChmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQ6IE5vZGVbXSA9IHRoaXMuZmllbGQudmFsdWUgfHwgW107XG4gICAgICAgIHJldHVybiBjdXJyZW50LnNvbWUoKGVudHJ5KSA9PiBlbnRyeS5uYW1lID09PSBmaWxlLm5hbWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBmaXhJbmNvbXBhdGliaWxpdHlGcm9tUHJldmlvdXNBbmROZXdGb3JtKGZpbGVzU2F2ZWQ6IE5vZGVbXSkge1xuICAgICAgICBjb25zdCB2YWx1ZTogTm9kZVtdID0gWy4uLih0aGlzLmZpZWxkLnZhbHVlIHx8IFtdKV07XG4gICAgICAgIHZhbHVlLnB1c2goLi4uKGZpbGVzU2F2ZWQgfHwgW10pKTtcblxuICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuZmllbGQuZm9ybS52YWx1ZXNbdGhpcy5maWVsZC5pZF0gPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmhhc0ZpbGUgPSB2YWx1ZS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGdldEljb24obWltZVR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKG1pbWVUeXBlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwbG9hZFJhd0NvbnRlbnQoZmlsZTogRmlsZSk6IE9ic2VydmFibGU8Tm9kZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ2xvdWRDb250ZW50U2VydmljZS5jcmVhdGVUZW1wb3JhcnlSYXdSZWxhdGVkQ29udGVudChmaWxlLCB0aGlzLmZpZWxkLmZvcm0ubm9kZUlkKTtcbiAgICB9XG5cbiAgICBnZXRNdWx0aXBsZUZpbGVQYXJhbSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQ/LnBhcmFtcz8ubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMubXVsdGlwbGVPcHRpb24gPSB0aGlzLmZpZWxkLnBhcmFtcy5tdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCB1cGxvYWRlZEZpbGVzKCk6IGFueVtdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maWVsZC52YWx1ZSB8fCB0aGlzLmZpZWxkLmZvcm0udmFsdWVzW3RoaXMuZmllbGQuaWRdO1xuICAgICAgICByZXR1cm4gcmVzdWx0IHx8IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlRWxlbWVudEZyb21MaXN0KGZpbGU6IGFueSkge1xuICAgICAgICBjb25zdCBmaWx0ZXJlZFZhbHVlcyA9IHRoaXMudXBsb2FkZWRGaWxlcy5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZS5pZCAhPT0gZmlsZS5pZCk7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtVmFsdWVzKGZpbHRlcmVkVmFsdWVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Rm9ybVZhbHVlcyh2YWx1ZXM6IGFueVtdKSB7XG4gICAgICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSB2YWx1ZXM7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLmZvcm0udmFsdWVzW3RoaXMuZmllbGQuaWRdID0gdmFsdWVzO1xuICAgICAgICAgICAgdGhpcy5oYXNGaWxlID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZmllbGQuZm9ybS52YWx1ZXNbdGhpcy5maWVsZC5pZF0gPSBbXTtcbiAgICAgICAgICAgIHRoaXMuaGFzRmlsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlsZUNsaWNrZWQoZmlsZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybVNlcnZpY2UuZm9ybUNvbnRlbnRDbGlja2VkLm5leHQoZmlsZSk7XG4gICAgfVxuXG4gICAgaXNBbGZyZXNjb0FuZExvY2FsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZD8ucGFyYW1zPy5maWxlU291cmNlPy5zZXJ2aWNlSWQgPT09IEZpbGVTb3VyY2VUeXBlcy5BTExfRklMRV9TT1VSQ0VTX1NFUlZJQ0VfSUQ7XG4gICAgfVxuXG4gICAgaXNQYXRoVmFyaWFibGVUeXBlKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZD8ucGFyYW1zPy5maWxlU291cmNlPy5kZXN0aW5hdGlvbkZvbGRlclBhdGg/LnR5cGUgPT09IHR5cGU7XG4gICAgfVxuXG4gICAgc2V0RGVzdGluYXRpb25Gb2xkZXJQYXRoRnJvbU1hcHBlZFZhcmlhYmxlKCkge1xuICAgICAgICBpZiAodGhpcy5pc0FsZnJlc2NvQW5kTG9jYWwoKSkge1xuICAgICAgICAgICAgdGhpcy5wcmVwYXJlVXBsb2FkV2lkZ2V0RGVzdGluYXRpb25Gb2xkZXJQYXRoRnJvbVN0cmluZ1ZhcmlhYmxlKCk7XG4gICAgICAgICAgICB0aGlzLnByZXBhcmVVcGxvYWRXaWRnZXREZXN0aW5hdGlvbkZvbGRlclBhdGhGcm9tRm9sZGVyVmFyaWFibGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZVVwbG9hZFdpZGdldERlc3RpbmF0aW9uRm9sZGVyUGF0aEZyb21TdHJpbmdWYXJpYWJsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNQYXRoVmFyaWFibGVUeXBlKERlc3RpbmF0aW9uRm9sZGVyUGF0aFR5cGUuU1RSSU5HX1RZUEUpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFVwbG9hZFdpZGdldERlc3RpbmF0aW9uRm9sZGVyUGF0aCh0aGlzLmdldERlc3RpbmF0aW9uRm9sZGVyUGF0aFZhbHVlKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlVXBsb2FkV2lkZ2V0RGVzdGluYXRpb25Gb2xkZXJQYXRoRnJvbUZvbGRlclZhcmlhYmxlKCkge1xuICAgICAgICBpZiAodGhpcy5pc1BhdGhWYXJpYWJsZVR5cGUoRGVzdGluYXRpb25Gb2xkZXJQYXRoVHlwZS5GT0xERVJfVFlQRSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvbGRlciA9IHRoaXMuZ2V0RGVzdGluYXRpb25Gb2xkZXJQYXRoVmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0VXBsb2FkV2lkZ2V0RGVzdGluYXRpb25Gb2xkZXJQYXRoKGZvbGRlcj8ubGVuZ3RoID8gZm9sZGVyWzBdLmlkIDogdW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VXBsb2FkV2lkZ2V0RGVzdGluYXRpb25Gb2xkZXJQYXRoKHBhdGg6IHN0cmluZykge1xuICAgICAgICB0aGlzLmZpZWxkLnBhcmFtcy5maWxlU291cmNlLmRlc3RpbmF0aW9uRm9sZGVyUGF0aFsndmFsdWUnXSA9IHBhdGggPyBwYXRoIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVzdGluYXRpb25Gb2xkZXJQYXRoVmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQuZm9ybS5nZXRQcm9jZXNzVmFyaWFibGVWYWx1ZSh0aGlzLmZpZWxkLnBhcmFtcy5maWxlU291cmNlPy5kZXN0aW5hdGlvbkZvbGRlclBhdGg/Lm5hbWUpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGYtdXBsb2FkLXdpZGdldCB7e2ZpZWxkLmNsYXNzTmFtZX19XCIgW2NsYXNzLmFkZi1pbnZhbGlkXT1cIiFmaWVsZC5pc1ZhbGlkXCIgW2NsYXNzLmFkZi1yZWFkb25seV09XCJmaWVsZC5yZWFkT25seVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImFkZi1sYWJlbFwiIFthdHRyLmZvcl09XCJmaWVsZC5pZFwiXG4gICAgICAgID57eyBmaWVsZC5uYW1lIHwgdHJhbnNsYXRlIH19PHNwYW4gY2xhc3M9XCJhZGYtYXN0ZXJpc2tcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJpc1JlcXVpcmVkKCkgPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiPio8L3NwYW4+PC9sYWJlbFxuICAgID5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLWNsb3VkLXVwbG9hZC13aWRnZXQtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bWF0LWxpc3QgKm5nSWY9XCJoYXNGaWxlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0gY2xhc3M9XCJhZGYtdXBsb2FkLWZpbGVzLXJvd1wiICpuZ0Zvcj1cImxldCBmaWxlIG9mIHVwbG9hZGVkRmlsZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF0TGlzdEl0ZW1MaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtd2lkZ2V0X19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCInZmlsZS0nK2ZpbGUuaWQrJy1pY29uJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImdldEljb24oZmlsZS5jb250ZW50Lm1pbWVUeXBlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIm1pbWVUeXBlSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZmlsZUNsaWNrZWQoZmlsZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImZpbGVDbGlja2VkKGZpbGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXVwbG9hZC13aWRnZXRfX2J1dHRvbiBhZGYtZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRMaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cInt7J2ZpbGUtJytmaWxlLmlkfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbGVDbGlja2VkKGZpbGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJmaWxlQ2xpY2tlZChmaWxlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+e3tmaWxlLm5hbWV9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWZpZWxkLnJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidmaWxlLScrZmlsZS5pZCsnLXJlbW92ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZpbGUoZmlsZSk7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJyZW1vdmVGaWxlKGZpbGUpO1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC0yNFwiPmhpZ2hsaWdodF9vZmY8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICA8L21hdC1saXN0PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKCFoYXNGaWxlIHx8IG11bHRpcGxlT3B0aW9uKSAmJiAhZmllbGQucmVhZE9ubHlcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInVwbG9hZEZpbGVzLmNsaWNrKClcIiBbdGl0bGVdPVwiZmllbGQudG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgIHt7ICdGT1JNLkZJRUxELlVQTE9BRCcgfCB0cmFuc2xhdGUgfX08bWF0LWljb24+ZmlsZV91cGxvYWQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxpbnB1dCAjdXBsb2FkRmlsZXMgW211bHRpcGxlXT1cIm11bHRpcGxlT3B0aW9uXCIgdHlwZT1cImZpbGVcIiBbaWRdPVwiZmllbGQuZm9ybS5ub2RlSWRcIiAoY2hhbmdlKT1cIm9uRmlsZUNoYW5nZWQoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFoYXNGaWxlICYmIGZpZWxkLnJlYWRPbmx5XCI+e3sgJ0ZPUk0uRklFTEQuTk9fRklMRV9BVFRBQ0hFRCcgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZXJyb3Itd2lkZ2V0IFtlcnJvcl09XCJmaWVsZC52YWxpZGF0aW9uU3VtbWFyeVwiIC8+XG4gICAgPGVycm9yLXdpZGdldCAqbmdJZj1cImlzSW52YWxpZEZpZWxkUmVxdWlyZWQoKVwiIHJlcXVpcmVkPVwie3sgJ0ZPUk0uRklFTEQuUkVRVUlSRUQnIHwgdHJhbnNsYXRlIH19XCIgLz5cbjwvZGl2PlxuIl19
@@ -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=