@alfresco/adf-process-services 8.1.0-16320806191 → 9.1.0-16312921641

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 (125) hide show
  1. package/fesm2022/adf-process-services.mjs +297 -301
  2. package/fesm2022/adf-process-services.mjs.map +1 -1
  3. package/package.json +4 -6
  4. package/esm2022/adf-process-services.mjs +0 -5
  5. package/esm2022/lib/app-list/apps-list.component.mjs +0 -195
  6. package/esm2022/lib/app-list/icon.model.mjs +0 -166
  7. package/esm2022/lib/app-list/index.mjs +0 -18
  8. package/esm2022/lib/app-list/public-api.mjs +0 -23
  9. package/esm2022/lib/app-list/select-apps-dialog/select-apps-dialog.component.mjs +0 -53
  10. package/esm2022/lib/attachment/create-process-attachment/create-process-attachment.component.mjs +0 -73
  11. package/esm2022/lib/attachment/create-task-attachment/create-task-attachment.component.mjs +0 -73
  12. package/esm2022/lib/attachment/index.mjs +0 -18
  13. package/esm2022/lib/attachment/process-attachment-list/process-attachment-list.component.mjs +0 -197
  14. package/esm2022/lib/attachment/public-api.mjs +0 -31
  15. package/esm2022/lib/attachment/task-attachment-list/task-attachment-list.component.mjs +0 -196
  16. package/esm2022/lib/compat/types.mjs +0 -18
  17. package/esm2022/lib/form/events/validate-dynamic-table-row.event.mjs +0 -26
  18. package/esm2022/lib/form/form-custom-outcomes.component.mjs +0 -31
  19. package/esm2022/lib/form/form-list/form-list.component.mjs +0 -50
  20. package/esm2022/lib/form/form.component.mjs +0 -346
  21. package/esm2022/lib/form/index.mjs +0 -18
  22. package/esm2022/lib/form/model/form-definition.model.mjs +0 -92
  23. package/esm2022/lib/form/process-form-rendering.service.mjs +0 -55
  24. package/esm2022/lib/form/public-api.mjs +0 -32
  25. package/esm2022/lib/form/services/activiti-alfresco.service.mjs +0 -113
  26. package/esm2022/lib/form/services/ecm-model.service.mjs +0 -156
  27. package/esm2022/lib/form/services/editor.service.mjs +0 -87
  28. package/esm2022/lib/form/services/external-alfresco-api.service.mjs +0 -57
  29. package/esm2022/lib/form/services/index.mjs +0 -26
  30. package/esm2022/lib/form/services/model.service.mjs +0 -130
  31. package/esm2022/lib/form/services/process-content.service.mjs +0 -223
  32. package/esm2022/lib/form/services/process-definition.service.mjs +0 -93
  33. package/esm2022/lib/form/services/task-form.service.mjs +0 -127
  34. package/esm2022/lib/form/services/task.service.mjs +0 -77
  35. package/esm2022/lib/form/start-form/start-form.component.mjs +0 -141
  36. package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog-component.interface.mjs +0 -18
  37. package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.component.mjs +0 -115
  38. package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.service.mjs +0 -100
  39. package/esm2022/lib/form/widgets/content-widget/attach-file-widget.component.mjs +0 -254
  40. package/esm2022/lib/form/widgets/content-widget/attach-folder-widget.component.mjs +0 -93
  41. package/esm2022/lib/form/widgets/content-widget/index.mjs +0 -18
  42. package/esm2022/lib/form/widgets/content-widget/public-api.mjs +0 -22
  43. package/esm2022/lib/form/widgets/document/content.widget.mjs +0 -125
  44. package/esm2022/lib/form/widgets/document/document.widget.mjs +0 -61
  45. package/esm2022/lib/form/widgets/dropdown/dropdown.widget.mjs +0 -182
  46. package/esm2022/lib/form/widgets/dynamic-table/dynamic-table.widget.mjs +0 -192
  47. package/esm2022/lib/form/widgets/dynamic-table/editors/amount/amount.editor.mjs +0 -47
  48. package/esm2022/lib/form/widgets/dynamic-table/editors/boolean/boolean.editor.mjs +0 -42
  49. package/esm2022/lib/form/widgets/dynamic-table/editors/date/date.editor.mjs +0 -84
  50. package/esm2022/lib/form/widgets/dynamic-table/editors/datetime/datetime.editor.mjs +0 -84
  51. package/esm2022/lib/form/widgets/dynamic-table/editors/dropdown/dropdown.editor.mjs +0 -95
  52. package/esm2022/lib/form/widgets/dynamic-table/editors/models/cell-validator.model.mjs +0 -18
  53. package/esm2022/lib/form/widgets/dynamic-table/editors/models/date-cell-validator-model.mjs +0 -47
  54. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-row-validation-summary.model.mjs +0 -24
  55. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-column-option.model.mjs +0 -18
  56. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-column.model.mjs +0 -18
  57. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-row.model.mjs +0 -18
  58. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table.widget.model.mjs +0 -159
  59. package/esm2022/lib/form/widgets/dynamic-table/editors/models/number-cell-validator.model.mjs +0 -45
  60. package/esm2022/lib/form/widgets/dynamic-table/editors/models/required-cell-validator.model.mjs +0 -40
  61. package/esm2022/lib/form/widgets/dynamic-table/editors/row-editor/row.editor.mjs +0 -89
  62. package/esm2022/lib/form/widgets/dynamic-table/editors/text/text.editor.mjs +0 -47
  63. package/esm2022/lib/form/widgets/dynamic-table/index.mjs +0 -18
  64. package/esm2022/lib/form/widgets/dynamic-table/public-api.mjs +0 -44
  65. package/esm2022/lib/form/widgets/file-viewer/file-viewer.widget.mjs +0 -46
  66. package/esm2022/lib/form/widgets/functional-group/functional-group.widget.mjs +0 -167
  67. package/esm2022/lib/form/widgets/index.mjs +0 -18
  68. package/esm2022/lib/form/widgets/people/people.widget.mjs +0 -169
  69. package/esm2022/lib/form/widgets/public-api.mjs +0 -54
  70. package/esm2022/lib/form/widgets/radio-buttons/radio-buttons.widget.mjs +0 -97
  71. package/esm2022/lib/form/widgets/typeahead/typeahead.widget.mjs +0 -152
  72. package/esm2022/lib/form/widgets/upload/upload.widget.mjs +0 -128
  73. package/esm2022/lib/people/components/people/people.component.mjs +0 -124
  74. package/esm2022/lib/people/components/people-list/people-list.component.mjs +0 -74
  75. package/esm2022/lib/people/components/people-search/people-search.component.mjs +0 -83
  76. package/esm2022/lib/people/components/people-search-field/people-search-field.component.mjs +0 -90
  77. package/esm2022/lib/people/components/people-selector/people-selector.component.mjs +0 -76
  78. package/esm2022/lib/people/helpers/get-display-user.mjs +0 -22
  79. package/esm2022/lib/people/index.mjs +0 -18
  80. package/esm2022/lib/people/interfaces/perform-search-callback.interface.mjs +0 -18
  81. package/esm2022/lib/people/public-api.mjs +0 -35
  82. package/esm2022/lib/process-comments/index.mjs +0 -21
  83. package/esm2022/lib/process-comments/process-comments.component.mjs +0 -45
  84. package/esm2022/lib/process-comments/services/comment-process.service.mjs +0 -77
  85. package/esm2022/lib/process-list/components/process-audit/process-audit.directive.mjs +0 -105
  86. package/esm2022/lib/process-list/components/process-filters/process-filters.component.mjs +0 -211
  87. package/esm2022/lib/process-list/components/process-instance-details/process-instance-details.component.mjs +0 -142
  88. package/esm2022/lib/process-list/components/process-instance-header/process-instance-header.component.mjs +0 -123
  89. package/esm2022/lib/process-list/components/process-instance-tasks/process-instance-tasks.component.mjs +0 -163
  90. package/esm2022/lib/process-list/components/process-list/process-list.component.mjs +0 -327
  91. package/esm2022/lib/process-list/components/start-process/start-process.component.mjs +0 -423
  92. package/esm2022/lib/process-list/index.mjs +0 -18
  93. package/esm2022/lib/process-list/public-api.mjs +0 -44
  94. package/esm2022/lib/process-list/services/process-filter.service.mjs +0 -182
  95. package/esm2022/lib/process-list/services/process.service.mjs +0 -259
  96. package/esm2022/lib/process.module.mjs +0 -132
  97. package/esm2022/lib/services/apps-process.service.mjs +0 -58
  98. package/esm2022/lib/services/people-process.service.mjs +0 -124
  99. package/esm2022/lib/services/task-comments.service.mjs +0 -65
  100. package/esm2022/lib/task-comments/index.mjs +0 -21
  101. package/esm2022/lib/task-comments/task-comments.component.mjs +0 -44
  102. package/esm2022/lib/task-list/components/attach-form/attach-form.component.mjs +0 -127
  103. package/esm2022/lib/task-list/components/checklist/checklist.component.mjs +0 -140
  104. package/esm2022/lib/task-list/components/start-task/start-task.component.mjs +0 -221
  105. package/esm2022/lib/task-list/components/task-details/task-details.component.mjs +0 -360
  106. package/esm2022/lib/task-list/components/task-filters/task-filters.component.mjs +0 -261
  107. package/esm2022/lib/task-list/components/task-form/claim-task.directive.mjs +0 -77
  108. package/esm2022/lib/task-list/components/task-form/task-form.component.mjs +0 -313
  109. package/esm2022/lib/task-list/components/task-form/unclaim-task.directive.mjs +0 -77
  110. package/esm2022/lib/task-list/components/task-header/task-header.component.mjs +0 -361
  111. package/esm2022/lib/task-list/components/task-list/task-list.component.mjs +0 -359
  112. package/esm2022/lib/task-list/components/task-standalone/task-standalone.component.mjs +0 -82
  113. package/esm2022/lib/task-list/index.mjs +0 -18
  114. package/esm2022/lib/task-list/models/form.model.mjs +0 -26
  115. package/esm2022/lib/task-list/models/task-details.event.mjs +0 -32
  116. package/esm2022/lib/task-list/models/task-preset.model.mjs +0 -41
  117. package/esm2022/lib/task-list/models/user-event.model.mjs +0 -18
  118. package/esm2022/lib/task-list/models/user-group.model.mjs +0 -18
  119. package/esm2022/lib/task-list/public-api.mjs +0 -60
  120. package/esm2022/lib/task-list/services/process-upload.service.mjs +0 -42
  121. package/esm2022/lib/task-list/services/task-filter.service.mjs +0 -249
  122. package/esm2022/lib/task-list/services/task-upload.service.mjs +0 -42
  123. package/esm2022/lib/task-list/services/tasklist.service.mjs +0 -251
  124. package/esm2022/lib/task-list/validators/task-description.validator.mjs +0 -26
  125. package/esm2022/public-api.mjs +0 -30
@@ -1,97 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- /* eslint-disable @angular-eslint/component-selector */
18
- import { ErrorWidgetComponent, FormService, WidgetComponent } from '@alfresco/adf-core';
19
- import { Component, ViewEncapsulation } from '@angular/core';
20
- import { TaskFormService } from '../../services/task-form.service';
21
- import { ProcessDefinitionService } from '../../services/process-definition.service';
22
- import { CommonModule } from '@angular/common';
23
- import { TranslatePipe } from '@ngx-translate/core';
24
- import { MatRadioModule } from '@angular/material/radio';
25
- import { FormsModule } from '@angular/forms';
26
- import * as i0 from "@angular/core";
27
- import * as i1 from "@alfresco/adf-core";
28
- import * as i2 from "../../services/task-form.service";
29
- import * as i3 from "../../services/process-definition.service";
30
- import * as i4 from "@angular/common";
31
- import * as i5 from "@angular/material/radio";
32
- import * as i6 from "@angular/forms";
33
- export class RadioButtonsWidgetComponent extends WidgetComponent {
34
- constructor(formService, taskFormService, processDefinitionService) {
35
- super(formService);
36
- this.formService = formService;
37
- this.taskFormService = taskFormService;
38
- this.processDefinitionService = processDefinitionService;
39
- }
40
- ngOnInit() {
41
- if (this.isValidRestConfig() && !this.isReadOnlyForm()) {
42
- if (this.field.form.taskId) {
43
- this.getOptionsByTaskId();
44
- }
45
- else {
46
- this.getOptionsByProcessDefinitionId();
47
- }
48
- }
49
- }
50
- getOptionsByTaskId() {
51
- this.taskFormService.getRestFieldValues(this.field.form.taskId, this.field.id).subscribe((formFieldOption) => {
52
- this.field.options = formFieldOption || [];
53
- this.field.updateForm();
54
- });
55
- }
56
- getOptionsByProcessDefinitionId() {
57
- this.processDefinitionService
58
- .getRestFieldValuesByProcessId(this.field.form.processDefinitionId, this.field.id)
59
- .subscribe((formFieldOption) => {
60
- this.field.options = formFieldOption || [];
61
- this.field.updateForm();
62
- });
63
- }
64
- onOptionClick(optionSelected) {
65
- this.field.value = optionSelected;
66
- this.fieldChanged.emit(this.field);
67
- }
68
- isRestType() {
69
- return this.field?.optionType === 'rest';
70
- }
71
- isReadOnlyForm() {
72
- return !!this.field?.form?.readOnly;
73
- }
74
- hasRestUrl() {
75
- return !!this.field?.restUrl;
76
- }
77
- isValidRestConfig() {
78
- return this.isRestType() && this.hasRestUrl();
79
- }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadioButtonsWidgetComponent, deps: [{ token: i1.FormService }, { token: i2.TaskFormService }, { token: i3.ProcessDefinitionService }], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RadioButtonsWidgetComponent, isStandalone: true, selector: "radio-buttons-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 {{field.className}}\" [class.adf-readonly]=\"field.readOnly\" [id]=\"field.id\">\n <div class=\"adf-radio-button-container\">\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 <mat-radio-group class=\"adf-radio-group\" [(ngModel)]=\"field.value\" [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]=\"field.value === opt.id\"\n (change)=\"onOptionClick(opt.id)\"\n color=\"primary\"\n class=\"adf-radio-button\"\n *ngFor=\"let opt of field.options\"\n >\n {{opt.name}}\n </mat-radio-button>\n </mat-radio-group>\n </div>\n <error-widget [error]=\"field.validationSummary\" />\n</div>\n", styles: [".adf-radio-button-container{margin-bottom:15px;display:flex;flex-direction:column}.adf-radio-group{margin-top:15px;margin-left:5px;display:inline-flex;flex-direction:column}.adf-radio-button{margin:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i5.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i5.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: FormsModule }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }], encapsulation: i0.ViewEncapsulation.None }); }
82
- }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RadioButtonsWidgetComponent, decorators: [{
84
- type: Component,
85
- args: [{ selector: 'radio-buttons-widget', standalone: true, imports: [CommonModule, TranslatePipe, MatRadioModule, FormsModule, ErrorWidgetComponent], host: {
86
- '(click)': 'event($event)',
87
- '(blur)': 'event($event)',
88
- '(change)': 'event($event)',
89
- '(focus)': 'event($event)',
90
- '(focusin)': 'event($event)',
91
- '(focusout)': 'event($event)',
92
- '(input)': 'event($event)',
93
- '(invalid)': 'event($event)',
94
- '(select)': 'event($event)'
95
- }, encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-radio-buttons-widget {{field.className}}\" [class.adf-readonly]=\"field.readOnly\" [id]=\"field.id\">\n <div class=\"adf-radio-button-container\">\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 <mat-radio-group class=\"adf-radio-group\" [(ngModel)]=\"field.value\" [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]=\"field.value === opt.id\"\n (change)=\"onOptionClick(opt.id)\"\n color=\"primary\"\n class=\"adf-radio-button\"\n *ngFor=\"let opt of field.options\"\n >\n {{opt.name}}\n </mat-radio-button>\n </mat-radio-group>\n </div>\n <error-widget [error]=\"field.validationSummary\" />\n</div>\n", styles: [".adf-radio-button-container{margin-bottom:15px;display:flex;flex-direction:column}.adf-radio-group{margin-top:15px;margin-left:5px;display:inline-flex;flex-direction:column}.adf-radio-button{margin:5px}\n"] }]
96
- }], ctorParameters: () => [{ type: i1.FormService }, { type: i2.TaskFormService }, { type: i3.ProcessDefinitionService }] });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9ucy53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL2Zvcm0vd2lkZ2V0cy9yYWRpby1idXR0b25zL3JhZGlvLWJ1dHRvbnMud2lkZ2V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9mb3JtL3dpZGdldHMvcmFkaW8tYnV0dG9ucy9yYWRpby1idXR0b25zLndpZGdldC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFxQjdDLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxlQUFlO0lBQzVELFlBQ1csV0FBd0IsRUFDdkIsZUFBZ0MsRUFDaEMsd0JBQWtEO1FBRTFELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUpaLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3ZCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyw2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ICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEVycm9yV2lkZ2V0Q29tcG9uZW50LCBGb3JtU2VydmljZSwgV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFza0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFzay1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvY2Vzc0RlZmluaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvY2Vzcy1kZWZpbml0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncmFkaW8tYnV0dG9ucy13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgTWF0UmFkaW9Nb2R1bGUsIEZvcm1zTW9kdWxlLCBFcnJvcldpZGdldENvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWJ1dHRvbnMud2lkZ2V0Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JhZGlvLWJ1dHRvbnMud2lkZ2V0LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGNoYW5nZSknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXMpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW52YWxpZCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoc2VsZWN0KSc6ICdldmVudCgkZXZlbnQpJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbnNXaWRnZXRDb21wb25lbnQgZXh0ZW5kcyBXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRhc2tGb3JtU2VydmljZTogVGFza0Zvcm1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHByb2Nlc3NEZWZpbml0aW9uU2VydmljZTogUHJvY2Vzc0RlZmluaXRpb25TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1TZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZFJlc3RDb25maWcoKSAmJiAhdGhpcy5pc1JlYWRPbmx5Rm9ybSgpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5mb3JtLnRhc2tJZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0T3B0aW9uc0J5VGFza0lkKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0T3B0aW9uc0J5UHJvY2Vzc0RlZmluaXRpb25JZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0T3B0aW9uc0J5VGFza0lkKCkge1xuICAgICAgICB0aGlzLnRhc2tGb3JtU2VydmljZS5nZXRSZXN0RmllbGRWYWx1ZXModGhpcy5maWVsZC5mb3JtLnRhc2tJZCwgdGhpcy5maWVsZC5pZCkuc3Vic2NyaWJlKChmb3JtRmllbGRPcHRpb24pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQub3B0aW9ucyA9IGZvcm1GaWVsZE9wdGlvbiB8fCBbXTtcbiAgICAgICAgICAgIHRoaXMuZmllbGQudXBkYXRlRm9ybSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRPcHRpb25zQnlQcm9jZXNzRGVmaW5pdGlvbklkKCkge1xuICAgICAgICB0aGlzLnByb2Nlc3NEZWZpbml0aW9uU2VydmljZVxuICAgICAgICAgICAgLmdldFJlc3RGaWVsZFZhbHVlc0J5UHJvY2Vzc0lkKHRoaXMuZmllbGQuZm9ybS5wcm9jZXNzRGVmaW5pdGlvbklkLCB0aGlzLmZpZWxkLmlkKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZm9ybUZpZWxkT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zID0gZm9ybUZpZWxkT3B0aW9uIHx8IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQudXBkYXRlRm9ybSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25PcHRpb25DbGljayhvcHRpb25TZWxlY3RlZDogYW55KSB7XG4gICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSBvcHRpb25TZWxlY3RlZDtcbiAgICAgICAgdGhpcy5maWVsZENoYW5nZWQuZW1pdCh0aGlzLmZpZWxkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUmVzdFR5cGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkPy5vcHRpb25UeXBlID09PSAncmVzdCc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1JlYWRPbmx5Rm9ybSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5maWVsZD8uZm9ybT8ucmVhZE9ubHk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNSZXN0VXJsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpZWxkPy5yZXN0VXJsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWxpZFJlc3RDb25maWcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUmVzdFR5cGUoKSAmJiB0aGlzLmhhc1Jlc3RVcmwoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLXJhZGlvLWJ1dHRvbnMtd2lkZ2V0IHt7ZmllbGQuY2xhc3NOYW1lfX1cIiBbY2xhc3MuYWRmLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRPbmx5XCIgW2lkXT1cImZpZWxkLmlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1yYWRpby1idXR0b24tY29udGFpbmVyXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImFkZi1sYWJlbFwiIFthdHRyLmZvcl09XCJmaWVsZC5pZFwiXG4gICAgICAgICAgICA+e3tmaWVsZC5uYW1lIHwgdHJhbnNsYXRlIH19PHNwYW4gY2xhc3M9XCJhZGYtYXN0ZXJpc2tcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJpc1JlcXVpcmVkKCkgPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiPio8L3NwYW4+PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxtYXQtcmFkaW8tZ3JvdXAgY2xhc3M9XCJhZGYtcmFkaW8tZ3JvdXBcIiBbKG5nTW9kZWwpXT1cImZpZWxkLnZhbHVlXCIgW2Rpc2FibGVkXT1cImZpZWxkLnJlYWRPbmx5XCI+XG4gICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvblxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJmaWVsZC50b29sdGlwXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwiZmllbGQuaWQgKyAnLScgKyBvcHQuaWRcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cImZpZWxkLmlkXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0LmlkXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJmaWVsZC52YWx1ZSA9PT0gb3B0LmlkXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uT3B0aW9uQ2xpY2sob3B0LmlkKVwiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1yYWRpby1idXR0b25cIlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHQgb2YgZmllbGQub3B0aW9uc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3tvcHQubmFtZX19XG4gICAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgIDwvZGl2PlxuICAgIDxlcnJvci13aWRnZXQgW2Vycm9yXT1cImZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5XCIgLz5cbjwvZGl2PlxuIl19
@@ -1,152 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- /* eslint-disable @angular-eslint/component-selector */
18
- import { FormService, WidgetComponent, ErrorWidgetComponent } from '@alfresco/adf-core';
19
- import { ENTER, ESCAPE } from '@angular/cdk/keycodes';
20
- import { Component, ViewEncapsulation } from '@angular/core';
21
- import { TaskFormService } from '../../services/task-form.service';
22
- import { ProcessDefinitionService } from '../../services/process-definition.service';
23
- import { CommonModule } from '@angular/common';
24
- import { TranslatePipe } from '@ngx-translate/core';
25
- import { MatFormFieldModule } from '@angular/material/form-field';
26
- import { FormsModule } from '@angular/forms';
27
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
28
- import { MatInputModule } from '@angular/material/input';
29
- import * as i0 from "@angular/core";
30
- import * as i1 from "@alfresco/adf-core";
31
- import * as i2 from "../../services/task-form.service";
32
- import * as i3 from "../../services/process-definition.service";
33
- import * as i4 from "@angular/common";
34
- import * as i5 from "@angular/material/form-field";
35
- import * as i6 from "@angular/forms";
36
- import * as i7 from "@angular/material/autocomplete";
37
- import * as i8 from "@angular/material/core";
38
- import * as i9 from "@angular/material/input";
39
- export class TypeaheadWidgetComponent extends WidgetComponent {
40
- constructor(formService, taskFormService, processDefinitionService) {
41
- super(formService);
42
- this.formService = formService;
43
- this.taskFormService = taskFormService;
44
- this.processDefinitionService = processDefinitionService;
45
- this.minTermLength = 1;
46
- this.options = [];
47
- }
48
- ngOnInit() {
49
- if (this.field.form.taskId && this.field.restUrl) {
50
- this.getValuesByTaskId();
51
- }
52
- else if (this.field.form.processDefinitionId && this.field.restUrl) {
53
- this.getValuesByProcessDefinitionId();
54
- }
55
- if (this.isReadOnlyType()) {
56
- this.value = this.field.value;
57
- }
58
- }
59
- getValuesByTaskId() {
60
- this.taskFormService.getRestFieldValues(this.field.form.taskId, this.field.id).subscribe((formFieldOption) => {
61
- const options = formFieldOption || [];
62
- this.field.options = options;
63
- const fieldValue = this.field.value;
64
- if (fieldValue) {
65
- const toSelect = options.find((item) => item.id === fieldValue || item.name.toLocaleLowerCase() === fieldValue.toLocaleLowerCase());
66
- if (toSelect) {
67
- this.value = toSelect.name;
68
- }
69
- }
70
- this.onFieldChanged(this.field);
71
- this.field.updateForm();
72
- });
73
- }
74
- getValuesByProcessDefinitionId() {
75
- this.processDefinitionService
76
- .getRestFieldValuesByProcessId(this.field.form.processDefinitionId, this.field.id)
77
- .subscribe((formFieldOption) => {
78
- const options = formFieldOption || [];
79
- this.field.options = options;
80
- const fieldValue = this.field.value;
81
- if (fieldValue) {
82
- const toSelect = options.find((item) => item.id === fieldValue);
83
- if (toSelect) {
84
- this.value = toSelect.name;
85
- }
86
- }
87
- this.onFieldChanged(this.field);
88
- this.field.updateForm();
89
- });
90
- }
91
- getOptions() {
92
- const val = this.value.trim().toLocaleLowerCase();
93
- return this.field.options.filter((item) => {
94
- const name = item.name.toLocaleLowerCase();
95
- return name.indexOf(val) > -1;
96
- });
97
- }
98
- isValidOptionName(optionName) {
99
- const option = this.field.options.find((item) => item.name && item.name.toLocaleLowerCase() === optionName.toLocaleLowerCase());
100
- return !!option;
101
- }
102
- onKeyUp(event) {
103
- if (this.value && this.value.trim().length >= this.minTermLength && this.oldValue !== this.value) {
104
- if (event.keyCode !== ESCAPE && event.keyCode !== ENTER) {
105
- if (this.value.length >= this.minTermLength) {
106
- this.options = this.getOptions();
107
- this.oldValue = this.value;
108
- if (this.isValidOptionName(this.value)) {
109
- this.field.value = this.options[0].id;
110
- }
111
- }
112
- }
113
- }
114
- if (this.isValueDefined() && this.value.trim().length === 0) {
115
- this.oldValue = this.value;
116
- this.options = [];
117
- }
118
- }
119
- onItemSelect(item) {
120
- if (item) {
121
- this.field.value = item.id;
122
- this.value = item.name;
123
- this.onFieldChanged(this.field);
124
- }
125
- }
126
- validate() {
127
- this.field.value = this.value;
128
- }
129
- isValueDefined() {
130
- return this.value !== null && this.value !== undefined;
131
- }
132
- isReadOnlyType() {
133
- return this.field.type === 'readonly';
134
- }
135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TypeaheadWidgetComponent, deps: [{ token: i1.FormService }, { token: i2.TaskFormService }, { token: i3.ProcessDefinitionService }], target: i0.ɵɵFactoryTarget.Component }); }
136
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TypeaheadWidgetComponent, isStandalone: true, selector: "typeahead-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-typeahead-widget-container\">\n <div class=\"adf-typeahead-widget {{field.className}}\"\n [class.is-dirty]=\"value\"\n [class.adf-invalid]=\"!field.isValid\"\n [class.adf-readonly]=\"field.readOnly\"\n id=\"typehead-div\">\n <mat-form-field>\n <label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</label>\n <input matInput class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"validate()\"\n (keyup)=\"onKeyUp($event)\"\n [disabled]=\"field.readOnly\"\n data-automation-id=\"adf-typeahed-search-input\"\n placeholder=\"{{field.placeholder}}\"\n [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onItemSelect($event.option.value)\">\n <mat-option *ngFor=\"let item of options; let i = index\" id=\"adf-typeahed-widget-user-{{i}}\" [value]=\"item\">\n <span id=\"adf-typeahed-label-name\">{{item.name}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired()\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n </div>\n</div>\n", styles: [".adf-typeahead-widget-container{position:relative;display:block}.adf-typeahead-widget{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }], encapsulation: i0.ViewEncapsulation.None }); }
137
- }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TypeaheadWidgetComponent, decorators: [{
139
- type: Component,
140
- args: [{ selector: 'typeahead-widget', standalone: true, imports: [CommonModule, TranslatePipe, MatFormFieldModule, FormsModule, MatAutocompleteModule, ErrorWidgetComponent, MatInputModule], host: {
141
- '(click)': 'event($event)',
142
- '(blur)': 'event($event)',
143
- '(change)': 'event($event)',
144
- '(focus)': 'event($event)',
145
- '(focusin)': 'event($event)',
146
- '(focusout)': 'event($event)',
147
- '(input)': 'event($event)',
148
- '(invalid)': 'event($event)',
149
- '(select)': 'event($event)'
150
- }, encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-typeahead-widget-container\">\n <div class=\"adf-typeahead-widget {{field.className}}\"\n [class.is-dirty]=\"value\"\n [class.adf-invalid]=\"!field.isValid\"\n [class.adf-readonly]=\"field.readOnly\"\n id=\"typehead-div\">\n <mat-form-field>\n <label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</label>\n <input matInput class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"validate()\"\n (keyup)=\"onKeyUp($event)\"\n [disabled]=\"field.readOnly\"\n data-automation-id=\"adf-typeahed-search-input\"\n placeholder=\"{{field.placeholder}}\"\n [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onItemSelect($event.option.value)\">\n <mat-option *ngFor=\"let item of options; let i = index\" id=\"adf-typeahed-widget-user-{{i}}\" [value]=\"item\">\n <span id=\"adf-typeahed-label-name\">{{item.name}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired()\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n </div>\n</div>\n", styles: [".adf-typeahead-widget-container{position:relative;display:block}.adf-typeahead-widget{width:100%}\n"] }]
151
- }], ctorParameters: () => [{ type: i1.FormService }, { type: i2.TaskFormService }, { type: i3.ProcessDefinitionService }] });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvZm9ybS93aWRnZXRzL3R5cGVhaGVhZC90eXBlYWhlYWQud2lkZ2V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9mb3JtL3dpZGdldHMvdHlwZWFoZWFkL3R5cGVhaGVhZC53aWRnZXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFdBQVcsRUFBbUIsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7O0FBcUJ6RCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZUFBZTtJQU16RCxZ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SSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDM0QsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQztJQUMxQyxDQUFDOytHQTlHUSx3QkFBd0I7bUdBQXhCLHdCQUF3Qiw4V0NsRHJDLDI5Q0E2QkEsNEpES2MsWUFBWSwyUEFBRSxhQUFhLGlEQUFFLGtCQUFrQix5T0FBRSxXQUFXLDhtQkFBRSxxQkFBcUIseTFCQUFFLG9CQUFvQix1RkFBRSxjQUFjOzs0RkFnQjFILHdCQUF3QjtrQkFuQnBDLFNBQVM7K0JBQ0ksa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyxRQUc5SDt3QkFDRixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsUUFBUSxFQUFFLGVBQWU7d0JBQ3pCLFVBQVUsRUFBRSxlQUFlO3dCQUMzQixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsV0FBVyxFQUFFLGVBQWU7d0JBQzVCLFlBQVksRUFBRSxlQUFlO3dCQUM3QixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsV0FBVyxFQUFFLGVBQWU7d0JBQzVCLFVBQVUsRUFBRSxlQUFlO3FCQUM5QixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEZvcm1TZXJ2aWNlLCBGb3JtRmllbGRPcHRpb24sIFdpZGdldENvbXBvbmVudCwgRXJyb3JXaWRnZXRDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgRU5URVIsIEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhc2tGb3JtU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rhc2stZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2Nlc3NEZWZpbml0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2Nlc3MtZGVmaW5pdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R5cGVhaGVhZC13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBFcnJvcldpZGdldENvbXBvbmVudCwgTWF0SW5wdXRNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90eXBlYWhlYWQud2lkZ2V0Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3R5cGVhaGVhZC53aWRnZXQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhjbGljayknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoYmx1ciknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoY2hhbmdlKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1cyknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXNpbiknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXNvdXQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGlucHV0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnZhbGlkKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhzZWxlY3QpJzogJ2V2ZW50KCRldmVudCknXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFR5cGVhaGVhZFdpZGdldENvbXBvbmVudCBleHRlbmRzIFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgbWluVGVybUxlbmd0aDogbnVtYmVyID0gMTtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIG9sZFZhbHVlOiBzdHJpbmc7XG4gICAgb3B0aW9uczogRm9ybUZpZWxkT3B0aW9uW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRhc2tGb3JtU2VydmljZTogVGFza0Zvcm1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHByb2Nlc3NEZWZpbml0aW9uU2VydmljZTogUHJvY2Vzc0RlZmluaXRpb25TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1TZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQuZm9ybS50YXNrSWQgJiYgdGhpcy5maWVsZC5yZXN0VXJsKSB7XG4gICAgICAgICAgICB0aGlzLmdldFZhbHVlc0J5VGFza0lkKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWVsZC5mb3JtLnByb2Nlc3NEZWZpbml0aW9uSWQgJiYgdGhpcy5maWVsZC5yZXN0VXJsKSB7XG4gICAgICAgICAgICB0aGlzLmdldFZhbHVlc0J5UHJvY2Vzc0RlZmluaXRpb25JZCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzUmVhZE9ubHlUeXBlKCkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmZpZWxkLnZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VmFsdWVzQnlUYXNrSWQoKSB7XG4gICAgICAgIHRoaXMudGFza0Zvcm1TZXJ2aWNlLmdldFJlc3RGaWVsZFZhbHVlcyh0aGlzLmZpZWxkLmZvcm0udGFza0lkLCB0aGlzLmZpZWxkLmlkKS5zdWJzY3JpYmUoKGZvcm1GaWVsZE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGZvcm1GaWVsZE9wdGlvbiB8fCBbXTtcbiAgICAgICAgICAgIHRoaXMuZmllbGQub3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICAgICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSB0aGlzLmZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgaWYgKGZpZWxkVmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0b1NlbGVjdCA9IG9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gZmllbGRWYWx1ZSB8fCBpdGVtLm5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gZmllbGRWYWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcbiAgICAgICAgICAgICAgICBpZiAodG9TZWxlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRvU2VsZWN0Lm5hbWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vbkZpZWxkQ2hhbmdlZCh0aGlzLmZpZWxkKTtcbiAgICAgICAgICAgIHRoaXMuZmllbGQudXBkYXRlRm9ybSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRWYWx1ZXNCeVByb2Nlc3NEZWZpbml0aW9uSWQoKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25TZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0UmVzdEZpZWxkVmFsdWVzQnlQcm9jZXNzSWQodGhpcy5maWVsZC5mb3JtLnByb2Nlc3NEZWZpbml0aW9uSWQsIHRoaXMuZmllbGQuaWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmb3JtRmllbGRPcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gZm9ybUZpZWxkT3B0aW9uIHx8IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQub3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gdGhpcy5maWVsZC52YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0b1NlbGVjdCA9IG9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gZmllbGRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0b1NlbGVjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRvU2VsZWN0Lm5hbWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5vbkZpZWxkQ2hhbmdlZCh0aGlzLmZpZWxkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLnVwZGF0ZUZvcm0oKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldE9wdGlvbnMoKTogRm9ybUZpZWxkT3B0aW9uW10ge1xuICAgICAgICBjb25zdCB2YWwgPSB0aGlzLnZhbHVlLnRyaW0oKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5maWVsZC5vcHRpb25zLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGl0ZW0ubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgcmV0dXJuIG5hbWUuaW5kZXhPZih2YWwpID4gLTE7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGlzVmFsaWRPcHRpb25OYW1lKG9wdGlvbk5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLmZpZWxkLm9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lICYmIGl0ZW0ubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBvcHRpb25OYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xuICAgICAgICByZXR1cm4gISFvcHRpb247XG4gICAgfVxuXG4gICAgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLnRyaW0oKS5sZW5ndGggPj0gdGhpcy5taW5UZXJtTGVuZ3RoICYmIHRoaXMub2xkVmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlICE9PSBFU0NBUEUgJiYgZXZlbnQua2V5Q29kZSAhPT0gRU5URVIpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPj0gdGhpcy5taW5UZXJtTGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZ2V0T3B0aW9ucygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9sZFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZE9wdGlvbk5hbWUodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSB0aGlzLm9wdGlvbnNbMF0uaWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNWYWx1ZURlZmluZWQoKSAmJiB0aGlzLnZhbHVlLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMub2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkl0ZW1TZWxlY3QoaXRlbTogRm9ybUZpZWxkT3B0aW9uKSB7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gaXRlbS5pZDtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBpdGVtLm5hbWU7XG4gICAgICAgICAgICB0aGlzLm9uRmllbGRDaGFuZ2VkKHRoaXMuZmllbGQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoKSB7XG4gICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGlzVmFsdWVEZWZpbmVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAhPT0gbnVsbCAmJiB0aGlzLnZhbHVlICE9PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaXNSZWFkT25seVR5cGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkLnR5cGUgPT09ICdyZWFkb25seSc7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi10eXBlYWhlYWQtd2lkZ2V0LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGYtdHlwZWFoZWFkLXdpZGdldCB7e2ZpZWxkLmNsYXNzTmFtZX19XCJcbiAgICAgICAgW2NsYXNzLmlzLWRpcnR5XT1cInZhbHVlXCJcbiAgICAgICAgW2NsYXNzLmFkZi1pbnZhbGlkXT1cIiFmaWVsZC5pc1ZhbGlkXCJcbiAgICAgICAgW2NsYXNzLmFkZi1yZWFkb25seV09XCJmaWVsZC5yZWFkT25seVwiXG4gICAgICAgIGlkPVwidHlwZWhlYWQtZGl2XCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImFkZi1sYWJlbFwiIFthdHRyLmZvcl09XCJmaWVsZC5pZFwiPnt7ZmllbGQubmFtZSB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgY2xhc3M9XCJhZGYtaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICBbaWRdPVwiZmllbGQuaWRcIlxuICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInZhbGlkYXRlKClcIlxuICAgICAgICAgICAgICAgICAgIChrZXl1cCk9XCJvbktleVVwKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZC5yZWFkT25seVwiXG4gICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXR5cGVhaGVkLXNlYXJjaC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e2ZpZWxkLnBsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiPlxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPVwib25JdGVtU2VsZWN0KCRldmVudC5vcHRpb24udmFsdWUpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9uczsgbGV0IGkgPSBpbmRleFwiIGlkPVwiYWRmLXR5cGVhaGVkLXdpZGdldC11c2VyLXt7aX19XCIgW3ZhbHVlXT1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJhZGYtdHlwZWFoZWQtbGFiZWwtbmFtZVwiPnt7aXRlbS5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxlcnJvci13aWRnZXQgW2Vycm9yXT1cImZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5XCIgLz5cbiAgICAgICAgPGVycm9yLXdpZGdldCAqbmdJZj1cImlzSW52YWxpZEZpZWxkUmVxdWlyZWQoKVwiIHJlcXVpcmVkPVwie3sgJ0ZPUk0uRklFTEQuUkVRVUlSRUQnIHwgdHJhbnNsYXRlIH19XCIgLz5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,128 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- /* eslint-disable @angular-eslint/component-selector */
18
- import { ThumbnailService, FormService, ContentLinkModel, WidgetComponent, ErrorWidgetComponent } from '@alfresco/adf-core';
19
- import { Component, ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';
20
- import { from } from 'rxjs';
21
- import { ProcessContentService } from '../../services/process-content.service';
22
- import { mergeMap, map } from 'rxjs/operators';
23
- import { CommonModule } from '@angular/common';
24
- import { TranslatePipe } from '@ngx-translate/core';
25
- import { MatListModule } from '@angular/material/list';
26
- import { MatButtonModule } from '@angular/material/button';
27
- import { MatIconModule } from '@angular/material/icon';
28
- import * as i0 from "@angular/core";
29
- import * as i1 from "@alfresco/adf-core";
30
- import * as i2 from "../../services/process-content.service";
31
- import * as i3 from "@angular/common";
32
- import * as i4 from "@angular/material/list";
33
- import * as i5 from "@angular/material/button";
34
- import * as i6 from "@angular/material/icon";
35
- export class UploadWidgetComponent extends WidgetComponent {
36
- constructor(formService, thumbnailService, processContentService) {
37
- super(formService);
38
- this.formService = formService;
39
- this.thumbnailService = thumbnailService;
40
- this.processContentService = processContentService;
41
- this.multipleOption = '';
42
- }
43
- ngOnInit() {
44
- if (this.field?.value?.length > 0) {
45
- this.hasFile = true;
46
- }
47
- this.getMultipleFileParam();
48
- }
49
- removeFile(file) {
50
- if (this.field) {
51
- this.removeElementFromList(file);
52
- }
53
- }
54
- onFileChanged(event) {
55
- const files = event.target.files;
56
- let filesSaved = [];
57
- if (this.field?.json.value) {
58
- filesSaved = [...this.field.json.value];
59
- }
60
- if (files && files.length > 0) {
61
- from(files)
62
- .pipe(mergeMap((file) => this.uploadRawContent(file)))
63
- .subscribe((res) => filesSaved.push(res), () => { }, () => {
64
- this.field.value = filesSaved;
65
- this.field.json.value = filesSaved;
66
- this.hasFile = true;
67
- });
68
- }
69
- }
70
- uploadRawContent(file) {
71
- return this.processContentService.createTemporaryRawRelatedContent(file).pipe(map((response) => {
72
- response.contentBlob = file;
73
- return response;
74
- }));
75
- }
76
- getMultipleFileParam() {
77
- if (this.field?.params?.multiple) {
78
- this.multipleOption = this.field.params.multiple ? 'multiple' : '';
79
- }
80
- }
81
- removeElementFromList(file) {
82
- const index = this.field.value.indexOf(file);
83
- if (index !== -1) {
84
- this.field.value.splice(index, 1);
85
- this.field.json.value = this.field.value;
86
- this.field.updateForm();
87
- }
88
- this.hasFile = this.field.value.length > 0;
89
- if (!this.hasFile) {
90
- this.field.value = null;
91
- this.field.json.value = null;
92
- }
93
- }
94
- getIcon(mimeType) {
95
- return this.thumbnailService.getMimeTypeIcon(mimeType);
96
- }
97
- fileClicked(contentLinkModel) {
98
- const file = new ContentLinkModel(contentLinkModel);
99
- let fetch = this.processContentService.getContentPreview(file.id);
100
- if (file.isTypeImage() || file.isTypePdf()) {
101
- fetch = this.processContentService.getFileRawContent(file.id);
102
- }
103
- fetch.subscribe((blob) => {
104
- file.contentBlob = blob;
105
- this.formService.formContentClicked.next(file);
106
- });
107
- }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadWidgetComponent, deps: [{ token: i1.FormService }, { token: i1.ThumbnailService }, { token: i2.ProcessContentService }], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UploadWidgetComponent, isStandalone: true, selector: "upload-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)" } }, 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-upload-widget-container\">\n <div>\n <mat-list *ngIf=\"hasFile\">\n <mat-list-item class=\"adf-upload-files-row\" *ngFor=\"let file of field.value\">\n <img\n matListItemLine\n class=\"adf-upload-widget__icon\"\n [id]=\"'file-'+file.id+'-icon'\"\n [src]=\"getIcon(file.mimeType)\"\n [alt]=\"mimeTypeIcon\"\n (click)=\"fileClicked(file)\"\n (keyup.enter)=\"fileClicked(file)\"\n role=\"button\"\n tabindex=\"0\"\n />\n <span\n matListItemLine\n id=\"{{'file-'+file.id}}\"\n (click)=\"fileClicked(file)\"\n (keyup.enter)=\"fileClicked(file)\"\n role=\"button\"\n tabindex=\"0\"\n class=\"adf-file\"\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()\">\n {{ 'FORM.FIELD.UPLOAD' | translate }}<mat-icon>file_upload</mat-icon>\n <input #uploadFiles [multiple]=\"multipleOption\" type=\"file\" [id]=\"field.id\" (change)=\"onFileChanged($event)\" />\n </button>\n </div>\n </div>\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired()\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n</div>\n", styles: [".adf-upload-widget-container{margin-bottom:15px}.adf-upload-widget-container input{display:none}.adf-upload-widget{width:100%;word-break:break-all;padding:.4375em 0;border-top:.8438em solid transparent}.adf-upload-widget__icon{padding:6px;float:left;cursor:pointer}.adf-upload-widget__reset{margin-top:-2px}.adf-upload-files-row .mat-line{margin-bottom:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i4.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i4.MatListItemLine, selector: "[matListItemLine]" }, { 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: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }], encapsulation: i0.ViewEncapsulation.None }); }
110
- }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadWidgetComponent, decorators: [{
112
- type: Component,
113
- args: [{ selector: 'upload-widget', standalone: true, imports: [CommonModule, TranslatePipe, MatListModule, MatButtonModule, MatIconModule, ErrorWidgetComponent], host: {
114
- '(click)': 'event($event)',
115
- '(blur)': 'event($event)',
116
- '(change)': 'event($event)',
117
- '(focus)': 'event($event)',
118
- '(focusin)': 'event($event)',
119
- '(focusout)': 'event($event)',
120
- '(input)': 'event($event)',
121
- '(invalid)': 'event($event)',
122
- '(select)': 'event($event)'
123
- }, 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-upload-widget-container\">\n <div>\n <mat-list *ngIf=\"hasFile\">\n <mat-list-item class=\"adf-upload-files-row\" *ngFor=\"let file of field.value\">\n <img\n matListItemLine\n class=\"adf-upload-widget__icon\"\n [id]=\"'file-'+file.id+'-icon'\"\n [src]=\"getIcon(file.mimeType)\"\n [alt]=\"mimeTypeIcon\"\n (click)=\"fileClicked(file)\"\n (keyup.enter)=\"fileClicked(file)\"\n role=\"button\"\n tabindex=\"0\"\n />\n <span\n matListItemLine\n id=\"{{'file-'+file.id}}\"\n (click)=\"fileClicked(file)\"\n (keyup.enter)=\"fileClicked(file)\"\n role=\"button\"\n tabindex=\"0\"\n class=\"adf-file\"\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()\">\n {{ 'FORM.FIELD.UPLOAD' | translate }}<mat-icon>file_upload</mat-icon>\n <input #uploadFiles [multiple]=\"multipleOption\" type=\"file\" [id]=\"field.id\" (change)=\"onFileChanged($event)\" />\n </button>\n </div>\n </div>\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired()\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n</div>\n", styles: [".adf-upload-widget-container{margin-bottom:15px}.adf-upload-widget-container input{display:none}.adf-upload-widget{width:100%;word-break:break-all;padding:.4375em 0;border-top:.8438em solid transparent}.adf-upload-widget__icon{padding:6px;float:left;cursor:pointer}.adf-upload-widget__reset{margin-top:-2px}.adf-upload-files-row .mat-line{margin-bottom:0}\n"] }]
124
- }], ctorParameters: () => [{ type: i1.FormService }, { type: i1.ThumbnailService }, { type: i2.ProcessContentService }], propDecorators: { fileInput: [{
125
- type: ViewChild,
126
- args: ['uploadFiles']
127
- }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvZm9ybS93aWRnZXRzL3VwbG9hZC91cGxvYWQud2lkZ2V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9mb3JtL3dpZGdldHMvdXBsb2FkL3VwbG9hZC53aWRnZXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBcUJ2RCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQVN0RCxZQUFtQixXQUF3QixFQUFVLGdCQUFrQyxF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LENBQUMsQ0FBQztJQUNQLENBQUM7K0dBL0ZRLHFCQUFxQjttR0FBckIscUJBQXFCLHFkQ2pEbEMsNmlGQW9EQSw4WkRuQmMsWUFBWSwyUEFBRSxhQUFhLGlEQUFFLGFBQWEsdVdBQUUsZUFBZSx3VUFBRSxhQUFhLG9MQUFFLG9CQUFvQjs7NEZBZ0JqRyxxQkFBcUI7a0JBbkJqQyxTQUFTOytCQUNJLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixDQUFDLFFBR3JHO3dCQUNGLFNBQVMsRUFBRSxlQUFlO3dCQUMxQixRQUFRLEVBQUUsZUFBZTt3QkFDekIsVUFBVSxFQUFFLGVBQWU7d0JBQzNCLFNBQVMsRUFBRSxlQUFlO3dCQUMxQixXQUFXLEVBQUUsZUFBZTt3QkFDNUIsWUFBWSxFQUFFLGVBQWU7d0JBQzdCLFNBQVMsRUFBRSxlQUFlO3dCQUMxQixXQUFXLEVBQUUsZUFBZTt3QkFDNUIsVUFBVSxFQUFFLGVBQWU7cUJBQzlCLGlCQUNjLGlCQUFpQixDQUFDLElBQUk7bUpBU3JDLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IFRodW1ibmFpbFNlcnZpY2UsIEZvcm1TZXJ2aWNlLCBDb250ZW50TGlua01vZGVsLCBXaWRnZXRDb21wb25lbnQsIEVycm9yV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcm9jZXNzQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9jZXNzLWNvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBtZXJnZU1hcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBsb2FkLXdpZGdldCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVQaXBlLCBNYXRMaXN0TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIEVycm9yV2lkZ2V0Q29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLndpZGdldC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91cGxvYWQud2lkZ2V0LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGNoYW5nZSknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXMpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW52YWxpZCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoc2VsZWN0KSc6ICdldmVudCgkZXZlbnQpJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRXaWRnZXRDb21wb25lbnQgZXh0ZW5kcyBXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGhhc0ZpbGU6IGJvb2xlYW47XG4gICAgZGlzcGxheVRleHQ6IHN0cmluZztcbiAgICBtdWx0aXBsZU9wdGlvbjogc3RyaW5nID0gJyc7XG4gICAgbWltZVR5cGVJY29uOiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCd1cGxvYWRGaWxlcycpXG4gICAgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSwgcHJpdmF0ZSB0aHVtYm5haWxTZXJ2aWNlOiBUaHVtYm5haWxTZXJ2aWNlLCBwdWJsaWMgcHJvY2Vzc0NvbnRlbnRTZXJ2aWNlOiBQcm9jZXNzQ29udGVudFNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoZm9ybVNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5maWVsZD8udmFsdWU/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuaGFzRmlsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZXRNdWx0aXBsZUZpbGVQYXJhbSgpO1xuICAgIH1cblxuICAgIHJlbW92ZUZpbGUoZmlsZTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZUVsZW1lbnRGcm9tTGlzdChmaWxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRmlsZUNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgICAgICBjb25zdCBmaWxlcyA9IGV2ZW50LnRhcmdldC5maWxlcztcbiAgICAgICAgbGV0IGZpbGVzU2F2ZWQgPSBbXTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZD8uanNvbi52YWx1ZSkge1xuICAgICAgICAgICAgZmlsZXNTYXZlZCA9IFsuLi50aGlzLmZpZWxkLmpzb24udmFsdWVdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZyb20oZmlsZXMpXG4gICAgICAgICAgICAgICAgLnBpcGUobWVyZ2VNYXAoKGZpbGUpID0+IHRoaXMudXBsb2FkUmF3Q29udGVudChmaWxlKSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKHJlcykgPT4gZmlsZXNTYXZlZC5wdXNoKHJlcyksXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gZmlsZXNTYXZlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQuanNvbi52YWx1ZSA9IGZpbGVzU2F2ZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc0ZpbGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBsb2FkUmF3Q29udGVudChmaWxlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0NvbnRlbnRTZXJ2aWNlLmNyZWF0ZVRlbXBvcmFyeVJhd1JlbGF0ZWRDb250ZW50KGZpbGUpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXNwb25zZS5jb250ZW50QmxvYiA9IGZpbGU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRNdWx0aXBsZUZpbGVQYXJhbSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQ/LnBhcmFtcz8ubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMubXVsdGlwbGVPcHRpb24gPSB0aGlzLmZpZWxkLnBhcmFtcy5tdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlRWxlbWVudEZyb21MaXN0KGZpbGU6IGFueSkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZmllbGQudmFsdWUuaW5kZXhPZihmaWxlKTtcblxuICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLmpzb24udmFsdWUgPSB0aGlzLmZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgdGhpcy5maWVsZC51cGRhdGVGb3JtKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhc0ZpbGUgPSB0aGlzLmZpZWxkLnZhbHVlLmxlbmd0aCA+IDA7XG5cbiAgICAgICAgaWYgKCF0aGlzLmhhc0ZpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5maWVsZC5qc29uLnZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEljb24obWltZVR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRodW1ibmFpbFNlcnZpY2UuZ2V0TWltZVR5cGVJY29uKG1pbWVUeXBlKTtcbiAgICB9XG5cbiAgICBmaWxlQ2xpY2tlZChjb250ZW50TGlua01vZGVsOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsZSA9IG5ldyBDb250ZW50TGlua01vZGVsKGNvbnRlbnRMaW5rTW9kZWwpO1xuICAgICAgICBsZXQgZmV0Y2ggPSB0aGlzLnByb2Nlc3NDb250ZW50U2VydmljZS5nZXRDb250ZW50UHJldmlldyhmaWxlLmlkKTtcbiAgICAgICAgaWYgKGZpbGUuaXNUeXBlSW1hZ2UoKSB8fCBmaWxlLmlzVHlwZVBkZigpKSB7XG4gICAgICAgICAgICBmZXRjaCA9IHRoaXMucHJvY2Vzc0NvbnRlbnRTZXJ2aWNlLmdldEZpbGVSYXdDb250ZW50KGZpbGUuaWQpO1xuICAgICAgICB9XG4gICAgICAgIGZldGNoLnN1YnNjcmliZSgoYmxvYjogQmxvYikgPT4ge1xuICAgICAgICAgICAgZmlsZS5jb250ZW50QmxvYiA9IGJsb2I7XG4gICAgICAgICAgICB0aGlzLmZvcm1TZXJ2aWNlLmZvcm1Db250ZW50Q2xpY2tlZC5uZXh0KGZpbGUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLXVwbG9hZC13aWRnZXQge3tmaWVsZC5jbGFzc05hbWV9fVwiIFtjbGFzcy5hZGYtaW52YWxpZF09XCIhZmllbGQuaXNWYWxpZFwiIFtjbGFzcy5hZGYtcmVhZG9ubHldPVwiZmllbGQucmVhZE9ubHlcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhZGYtbGFiZWxcIiBbYXR0ci5mb3JdPVwiZmllbGQuaWRcIlxuICAgICAgICA+e3tmaWVsZC5uYW1lIHwgdHJhbnNsYXRlIH19PHNwYW4gY2xhc3M9XCJhZGYtYXN0ZXJpc2tcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJpc1JlcXVpcmVkKCkgPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiPio8L3NwYW4+PC9sYWJlbFxuICAgID5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLXVwbG9hZC13aWRnZXQtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bWF0LWxpc3QgKm5nSWY9XCJoYXNGaWxlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1saXN0LWl0ZW0gY2xhc3M9XCJhZGYtdXBsb2FkLWZpbGVzLXJvd1wiICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpZWxkLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdExpc3RJdGVtTGluZVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtdXBsb2FkLXdpZGdldF9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2ZpbGUtJytmaWxlLmlkKyctaWNvbidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJnZXRJY29uKGZpbGUubWltZVR5cGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwibWltZVR5cGVJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJmaWxlQ2xpY2tlZChmaWxlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZmlsZUNsaWNrZWQoZmlsZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0TGlzdEl0ZW1MaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cInt7J2ZpbGUtJytmaWxlLmlkfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbGVDbGlja2VkKGZpbGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJmaWxlQ2xpY2tlZChmaWxlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID57e2ZpbGUubmFtZX19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZmllbGQucmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2ZpbGUtJytmaWxlLmlkKyctcmVtb3ZlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlRmlsZShmaWxlKTtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInJlbW92ZUZpbGUoZmlsZSk7XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LTI0XCI+aGlnaGxpZ2h0X29mZjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICAgIDwvbWF0LWxpc3Q+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCIoIWhhc0ZpbGUgfHwgbXVsdGlwbGVPcHRpb24pICYmICFmaWVsZC5yZWFkT25seVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwidXBsb2FkRmlsZXMuY2xpY2soKVwiPlxuICAgICAgICAgICAgICAgIHt7ICdGT1JNLkZJRUxELlVQTE9BRCcgfCB0cmFuc2xhdGUgfX08bWF0LWljb24+ZmlsZV91cGxvYWQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxpbnB1dCAjdXBsb2FkRmlsZXMgW211bHRpcGxlXT1cIm11bHRpcGxlT3B0aW9uXCIgdHlwZT1cImZpbGVcIiBbaWRdPVwiZmllbGQuaWRcIiAoY2hhbmdlKT1cIm9uRmlsZUNoYW5nZWQoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGVycm9yLXdpZGdldCBbZXJyb3JdPVwiZmllbGQudmFsaWRhdGlvblN1bW1hcnlcIiAvPlxuICAgIDxlcnJvci13aWRnZXQgKm5nSWY9XCJpc0ludmFsaWRGaWVsZFJlcXVpcmVkKClcIiByZXF1aXJlZD1cInt7ICdGT1JNLkZJRUxELlJFUVVJUkVEJyB8IHRyYW5zbGF0ZSB9fVwiIC8+XG48L2Rpdj5cbiJdfQ==