@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,130 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { AlfrescoApiService } from '@alfresco/adf-content-services';
18
- import { Injectable } from '@angular/core';
19
- import { from, throwError } from 'rxjs';
20
- import { ModelsApi } from '@alfresco/js-api';
21
- import { catchError, map } from 'rxjs/operators';
22
- import * as i0 from "@angular/core";
23
- import * as i1 from "@alfresco/adf-content-services";
24
- export class ModelService {
25
- static { this.UNKNOWN_ERROR_MESSAGE = 'Unknown error'; }
26
- static { this.GENERIC_ERROR_MESSAGE = 'Server error'; }
27
- get modelsApi() {
28
- this._modelsApi = this._modelsApi ?? new ModelsApi(this.apiService.getInstance());
29
- return this._modelsApi;
30
- }
31
- constructor(apiService) {
32
- this.apiService = apiService;
33
- }
34
- /**
35
- * Create a Form.
36
- *
37
- * @param formName Name of the new form
38
- * @returns The new form
39
- */
40
- createForm(formName) {
41
- const dataModel = {
42
- name: formName,
43
- description: '',
44
- modelType: 2,
45
- stencilSet: 0
46
- };
47
- return from(this.modelsApi.createModel(dataModel));
48
- }
49
- /**
50
- * Gets all the forms.
51
- *
52
- * @returns List of form models
53
- */
54
- getForms() {
55
- const opts = {
56
- modelType: 2
57
- };
58
- return from(this.modelsApi.getModels(opts)).pipe(map(this.toJsonArray), catchError((err) => this.handleError(err)));
59
- }
60
- /**
61
- * Creates a JSON array representation of form data.
62
- *
63
- * @param res Object representing form data
64
- * @returns JSON data
65
- */
66
- toJsonArray(res) {
67
- return res?.data || [];
68
- }
69
- /**
70
- * Searches for a form by name.
71
- *
72
- * @param name The form name to search for
73
- * @returns Form model(s) matching the search name
74
- */
75
- searchFrom(name) {
76
- const opts = {
77
- modelType: 2
78
- };
79
- return from(this.modelsApi.getModels(opts)).pipe(map((forms) => forms.data.find((formData) => formData.name === name)), catchError((err) => this.handleError(err)));
80
- }
81
- /**
82
- * Gets the form definition with a given name.
83
- *
84
- * @param name The form name
85
- * @returns Form definition
86
- */
87
- getFormDefinitionByName(name) {
88
- const opts = {
89
- filter: 'myReusableForms',
90
- filterText: name,
91
- modelType: 2
92
- };
93
- return from(this.modelsApi.getModels(opts)).pipe(map(this.getFormId), catchError((err) => this.handleError(err)));
94
- }
95
- /**
96
- * Gets the ID of a form.
97
- *
98
- * @param form Object representing a form
99
- * @returns ID string
100
- */
101
- getFormId(form) {
102
- let result = null;
103
- if (form?.data?.length > 0) {
104
- result = form.data[0].id;
105
- }
106
- return result;
107
- }
108
- /**
109
- * Reports an error message.
110
- *
111
- * @param error Data object with optional `message` and `status` fields for the error
112
- * @returns Error message
113
- */
114
- handleError(error) {
115
- let errMsg = ModelService.UNKNOWN_ERROR_MESSAGE;
116
- if (error) {
117
- errMsg = error.message ? error.message : error.status ? `${error.status} - ${error.statusText}` : ModelService.GENERIC_ERROR_MESSAGE;
118
- }
119
- return throwError(errMsg);
120
- }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModelService, deps: [{ token: i1.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
122
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModelService, providedIn: 'root' }); }
123
- }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModelService, decorators: [{
125
- type: Injectable,
126
- args: [{
127
- providedIn: 'root'
128
- }]
129
- }], ctorParameters: () => [{ type: i1.AlfrescoApiService }] });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvZm9ybS9zZXJ2aWNlcy9tb2RlbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUtqRCxNQUFNLE9BQU8sWUFBWTthQUNkLDBCQUFxQixHQUFXLGVBQWUsQUFBMUIsQ0FBMkI7YUFDaEQsMEJBQXFCLEdBQVcsY0FBYyxBQUF6QixDQUEwQjtJQUd0RCxJQUFJLFNBQVM7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBb0IsVUFBOEI7UUFBOUIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7SUFBRyxDQUFDO0lBRXREOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLFFBQWdCO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsRUFBRTtZQUNmLFNBQVMsRUFBRSxDQUFDO1lBQ1osVUFBVSxFQUFFLENBQUM7U0FDaEIsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFD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RUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1vZGVsc0FwaSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vZGVsU2VydmljZSB7XG4gICAgc3RhdGljIFVOS05PV05fRVJST1JfTUVTU0FHRTogc3RyaW5nID0gJ1Vua25vd24gZXJyb3InO1xuICAgIHN0YXRpYyBHRU5FUklDX0VSUk9SX01FU1NBR0U6IHN0cmluZyA9ICdTZXJ2ZXIgZXJyb3InO1xuXG4gICAgcHJpdmF0ZSBfbW9kZWxzQXBpOiBNb2RlbHNBcGk7XG4gICAgZ2V0IG1vZGVsc0FwaSgpOiBNb2RlbHNBcGkge1xuICAgICAgICB0aGlzLl9tb2RlbHNBcGkgPSB0aGlzLl9tb2RlbHNBcGkgPz8gbmV3IE1vZGVsc0FwaSh0aGlzLmFwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9tb2RlbHNBcGk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBGb3JtLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm1OYW1lIE5hbWUgb2YgdGhlIG5ldyBmb3JtXG4gICAgICogQHJldHVybnMgVGhlIG5ldyBmb3JtXG4gICAgICovXG4gICAgY3JlYXRlRm9ybShmb3JtTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgZGF0YU1vZGVsID0ge1xuICAgICAgICAgICAgbmFtZTogZm9ybU5hbWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICAgICAgICBtb2RlbFR5cGU6IDIsXG4gICAgICAgICAgICBzdGVuY2lsU2V0OiAwXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5tb2RlbHNBcGkuY3JlYXRlTW9kZWwoZGF0YU1vZGVsKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgdGhlIGZvcm1zLlxuICAgICAqXG4gICAgICogQHJldHVybnMgTGlzdCBvZiBmb3JtIG1vZGVsc1xuICAgICAqL1xuICAgIGdldEZvcm1zKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IG9wdHMgPSB7XG4gICAgICAgICAgICBtb2RlbFR5cGU6IDJcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLm1vZGVsc0FwaS5nZXRNb2RlbHMob3B0cykpLnBpcGUoXG4gICAgICAgICAgICBtYXAodGhpcy50b0pzb25BcnJheSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgSlNPTiBhcnJheSByZXByZXNlbnRhdGlvbiBvZiBmb3JtIGRhdGEuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVzIE9iamVjdCByZXByZXNlbnRpbmcgZm9ybSBkYXRhXG4gICAgICogQHJldHVybnMgSlNPTiBkYXRhXG4gICAgICovXG4gICAgdG9Kc29uQXJyYXkocmVzOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHJlcz8uZGF0YSB8fCBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWFyY2hlcyBmb3IgYSBmb3JtIGJ5IG5hbWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgZm9ybSBuYW1lIHRvIHNlYXJjaCBmb3JcbiAgICAgKiBAcmV0dXJucyBGb3JtIG1vZGVsKHMpIG1hdGNoaW5nIHRoZSBzZWFyY2ggbmFtZVxuICAgICAqL1xuICAgIHNlYXJjaEZyb20obmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IHtcbiAgICAgICAgICAgIG1vZGVsVHlwZTogMlxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMubW9kZWxzQXBpLmdldE1vZGVscyhvcHRzKSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoZm9ybXMpID0+IGZvcm1zLmRhdGEuZmluZCgoZm9ybURhdGEpID0+IGZvcm1EYXRhLm5hbWUgPT09IG5hbWUpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGZvcm0gZGVmaW5pdGlvbiB3aXRoIGEgZ2l2ZW4gbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBmb3JtIG5hbWVcbiAgICAgKiBAcmV0dXJucyBGb3JtIGRlZmluaXRpb25cbiAgICAgKi9cbiAgICBnZXRGb3JtRGVmaW5pdGlvbkJ5TmFtZShuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCBvcHRzID0ge1xuICAgICAgICAgICAgZmlsdGVyOiAnbXlSZXVzYWJsZUZvcm1zJyxcbiAgICAgICAgICAgIGZpbHRlclRleHQ6IG5hbWUsXG4gICAgICAgICAgICBtb2RlbFR5cGU6IDJcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLm1vZGVsc0FwaS5nZXRNb2RlbHMob3B0cykpLnBpcGUoXG4gICAgICAgICAgICBtYXAodGhpcy5nZXRGb3JtSWQpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgSUQgb2YgYSBmb3JtLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm0gT2JqZWN0IHJlcHJlc2VudGluZyBhIGZvcm1cbiAgICAgKiBAcmV0dXJucyBJRCBzdHJpbmdcbiAgICAgKi9cbiAgICBnZXRGb3JtSWQoZm9ybTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IG51bGw7XG5cbiAgICAgICAgaWYgKGZvcm0/LmRhdGE/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGZvcm0uZGF0YVswXS5pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlcG9ydHMgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlcnJvciBEYXRhIG9iamVjdCB3aXRoIG9wdGlvbmFsIGBtZXNzYWdlYCBhbmQgYHN0YXR1c2AgZmllbGRzIGZvciB0aGUgZXJyb3JcbiAgICAgKiBAcmV0dXJucyBFcnJvciBtZXNzYWdlXG4gICAgICovXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgbGV0IGVyck1zZyA9IE1vZGVsU2VydmljZS5VTktOT1dOX0VSUk9SX01FU1NBR0U7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgZXJyTXNnID0gZXJyb3IubWVzc2FnZSA/IGVycm9yLm1lc3NhZ2UgOiBlcnJvci5zdGF0dXMgPyBgJHtlcnJvci5zdGF0dXN9IC0gJHtlcnJvci5zdGF0dXNUZXh0fWAgOiBNb2RlbFNlcnZpY2UuR0VORVJJQ19FUlJPUl9NRVNTQUdFO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVyck1zZyk7XG4gICAgfVxufVxuIl19
@@ -1,223 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { AlfrescoApiService } from '@alfresco/adf-content-services';
18
- import { Injectable } from '@angular/core';
19
- import { ActivitiContentApi } from '@alfresco/js-api';
20
- import { Observable, from, throwError } from 'rxjs';
21
- import { catchError } from 'rxjs/operators';
22
- import * as i0 from "@angular/core";
23
- import * as i1 from "@alfresco/adf-content-services";
24
- export class ProcessContentService {
25
- static { this.UNKNOWN_ERROR_MESSAGE = 'Unknown error'; }
26
- static { this.GENERIC_ERROR_MESSAGE = 'Server error'; }
27
- get contentApi() {
28
- this._contentApi = this._contentApi ?? new ActivitiContentApi(this.apiService.getInstance());
29
- return this._contentApi;
30
- }
31
- constructor(apiService) {
32
- this.apiService = apiService;
33
- }
34
- /**
35
- * Create temporary related content from an uploaded file.
36
- *
37
- * @param file File to use for content
38
- * @returns The created content data
39
- */
40
- createTemporaryRawRelatedContent(file) {
41
- return from(this.contentApi.createTemporaryRawRelatedContent(file)).pipe(catchError((err) => this.handleError(err)));
42
- }
43
- /**
44
- * Gets the metadata for a related content item.
45
- *
46
- * @param contentId ID of the content item
47
- * @returns Metadata for the content
48
- */
49
- getFileContent(contentId) {
50
- return from(this.contentApi.getContent(contentId)).pipe(catchError((err) => this.handleError(err)));
51
- }
52
- /**
53
- * Gets raw binary content data for a related content file.
54
- *
55
- * @param contentId ID of the related content
56
- * @returns Binary data of the related content
57
- */
58
- getFileRawContent(contentId) {
59
- return from(this.contentApi.getRawContent(contentId)).pipe(catchError((err) => this.handleError(err)));
60
- }
61
- /**
62
- * Gets the preview for a related content file.
63
- *
64
- * @param contentId ID of the related content
65
- * @returns Binary data of the content preview
66
- */
67
- getContentPreview(contentId) {
68
- return new Observable((observer) => {
69
- this.contentApi.getRawContent(contentId).then((result) => {
70
- observer.next(result);
71
- observer.complete();
72
- }, () => {
73
- this.contentApi.getRawContent(contentId).then((data) => {
74
- observer.next(data);
75
- observer.complete();
76
- }, (err) => {
77
- observer.error(err);
78
- observer.complete();
79
- });
80
- });
81
- });
82
- }
83
- /**
84
- * Gets a URL for direct access to a related content file.
85
- *
86
- * @param contentId ID of the related content
87
- * @returns URL to access the content
88
- */
89
- getFileRawContentUrl(contentId) {
90
- return this.contentApi.getRawContentUrl(contentId);
91
- }
92
- /**
93
- * Gets the thumbnail for a related content file.
94
- *
95
- * @param contentId ID of the related content
96
- * @returns Binary data of the thumbnail image
97
- */
98
- getContentThumbnail(contentId) {
99
- return from(this.contentApi.getRawContent(contentId, 'thumbnail')).pipe(catchError((err) => this.handleError(err)));
100
- }
101
- /**
102
- * Gets the preview rendition for a related content file.
103
- *
104
- * @param contentId ID of the related content
105
- * @returns Binary data of the related content
106
- */
107
- getContentRenditionTypePreview(contentId) {
108
- return from(this.contentApi.getRawContent(contentId, 'preview')).pipe(catchError((err) => this.handleError(err)));
109
- }
110
- /**
111
- * Gets related content items for a task instance.
112
- *
113
- * @param taskId ID of the target task
114
- * @param opts Options supported by JS-API
115
- * @returns Metadata for the content
116
- */
117
- getTaskRelatedContent(taskId, opts) {
118
- return from(this.contentApi.getRelatedContentForTask(taskId, opts)).pipe(catchError((err) => this.handleError(err)));
119
- }
120
- /**
121
- * Gets related content items for a process instance.
122
- *
123
- * @param processId ID of the target process
124
- * @param opts Options supported by JS-API
125
- * @returns Metadata for the content
126
- */
127
- getProcessRelatedContent(processId, opts) {
128
- return from(this.contentApi.getRelatedContentForProcessInstance(processId, opts)).pipe(catchError((err) => this.handleError(err)));
129
- }
130
- /**
131
- * Deletes related content.
132
- *
133
- * @param contentId Identifier of the content to delete
134
- * @returns Null response that notifies when the deletion is complete
135
- */
136
- deleteRelatedContent(contentId) {
137
- return from(this.contentApi.deleteContent(contentId)).pipe(catchError((err) => this.handleError(err)));
138
- }
139
- /**
140
- * Associates an uploaded file with a process instance.
141
- *
142
- * @param processInstanceId ID of the target process instance
143
- * @param content File to associate
144
- * @param opts Options supported by JS-API
145
- * @returns Details of created content
146
- */
147
- createProcessRelatedContent(processInstanceId, content, opts) {
148
- return from(this.contentApi.createRelatedContentOnProcessInstance(processInstanceId, content, opts)).pipe(catchError((err) => this.handleError(err)));
149
- }
150
- /**
151
- * Associates an uploaded file with a task instance.
152
- *
153
- * @param taskId ID of the target task
154
- * @param file File to associate
155
- * @param opts Options supported by JS-API
156
- * @returns Details of created content
157
- */
158
- createTaskRelatedContent(taskId, file, opts) {
159
- return from(this.contentApi.createRelatedContentOnTask(taskId, file, opts)).pipe(catchError((err) => this.handleError(err)));
160
- }
161
- /**
162
- * Lists processes and tasks on workflow started with provided document
163
- *
164
- * @param sourceId - id of the document that workflow or task has been started with
165
- * @param source - source of the document that workflow or task has been started with
166
- * @param size - size of the entries to get
167
- * @param page - page number
168
- * @returns Promise<ResultListDataRepresentationRelatedProcessTask>
169
- */
170
- getProcessesAndTasksOnContent(sourceId, source, size, page) {
171
- return from(this.contentApi.getProcessesAndTasksOnContent(sourceId, source, size, page)).pipe(catchError((err) => this.handleError(err)));
172
- }
173
- /**
174
- * Creates a JSON representation of data.
175
- *
176
- * @param res Object representing data
177
- * @returns JSON object
178
- */
179
- toJson(res) {
180
- if (res) {
181
- return res || {};
182
- }
183
- return {};
184
- }
185
- /**
186
- * Creates a JSON array representation of data.
187
- *
188
- * @param res Object representing data
189
- * @returns JSON array object
190
- */
191
- toJsonArray(res) {
192
- if (res) {
193
- return res.data || [];
194
- }
195
- return [];
196
- }
197
- /**
198
- * Reports an error message.
199
- *
200
- * @param error Data object with optional `message` and `status` fields for the error
201
- * @returns Callback when an error occurs
202
- */
203
- handleError(error) {
204
- let errMsg = ProcessContentService.UNKNOWN_ERROR_MESSAGE;
205
- if (error) {
206
- errMsg = error.message
207
- ? error.message
208
- : error.status
209
- ? `${error.status} - ${error.statusText}`
210
- : ProcessContentService.GENERIC_ERROR_MESSAGE;
211
- }
212
- return throwError(errMsg);
213
- }
214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessContentService, deps: [{ token: i1.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
215
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessContentService, providedIn: 'root' }); }
216
- }
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessContentService, decorators: [{
218
- type: Injectable,
219
- args: [{
220
- providedIn: 'root'
221
- }]
222
- }], ctorParameters: () => [{ type: i1.AlfrescoApiService }] });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1jb250ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL2Zvcm0vc2VydmljZXMvcHJvY2Vzcy1jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsa0JBQWtCLEVBSXJCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSzVDLE1BQU0sT0FBTyxxQkFBcUI7YUFDdkIsMEJBQXFCLEdBQVcsZUFBZSxBQUExQixDQUEyQjthQUNoRCwwQkFBcUIsR0FBVyxjQUFjLEFBQXpCLENBQTBCO0lBR3RELElBQUksVUFBVTtRQUNWLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM3RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQW9CLFVBQThCO1FBQTlCLGVBQVUsR0FBVixVQUFVLENBQW9CO0lBQUcsQ0FBQztJQUV0RDs7Ozs7T0FLRztJQUNILGdDQUFnQyxDQUFDLElBQVM7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFH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QUFLLENBQUMsVUFBVSxFQUFFO29CQUN6QyxDQUFDLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7K0dBM05RLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRmxCLE1BQU07OzRGQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFjdGl2aXRpQ29udGVudEFwaSxcbiAgICBSZWxhdGVkQ29udGVudFJlcHJlc2VudGF0aW9uLFxuICAgIFJlc3VsdExpc3REYXRhUmVwcmVzZW50YXRpb25SZWxhdGVkUHJvY2Vzc1Rhc2ssXG4gICAgUmVzdWx0TGlzdERhdGFSZXByZXNlbnRhdGlvblJlbGF0ZWRDb250ZW50UmVwcmVzZW50YXRpb25cbn0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NDb250ZW50U2VydmljZSB7XG4gICAgc3RhdGljIFVOS05PV05fRVJST1JfTUVTU0FHRTogc3RyaW5nID0gJ1Vua25vd24gZXJyb3InO1xuICAgIHN0YXRpYyBHRU5FUklDX0VSUk9SX01FU1NBR0U6IHN0cmluZyA9ICdTZXJ2ZXIgZXJyb3InO1xuXG4gICAgcHJpdmF0ZSBfY29udGVudEFwaTogQWN0aXZpdGlDb250ZW50QXBpO1xuICAgIGdldCBjb250ZW50QXBpKCk6IEFjdGl2aXRpQ29udGVudEFwaSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnRBcGkgPSB0aGlzLl9jb250ZW50QXBpID8/IG5ldyBBY3Rpdml0aUNvbnRlbnRBcGkodGhpcy5hcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudEFwaTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFsZnJlc2NvQXBpU2VydmljZSkge31cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSB0ZW1wb3JhcnkgcmVsYXRlZCBjb250ZW50IGZyb20gYW4gdXBsb2FkZWQgZmlsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWxlIEZpbGUgdG8gdXNlIGZvciBjb250ZW50XG4gICAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgY29udGVudCBkYXRhXG4gICAgICovXG4gICAgY3JlYXRlVGVtcG9yYXJ5UmF3UmVsYXRlZENvbnRlbnQoZmlsZTogYW55KTogT2JzZXJ2YWJsZTxSZWxhdGVkQ29udGVudFJlcHJlc2VudGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMuY29udGVudEFwaS5jcmVhdGVUZW1wb3JhcnlSYXdSZWxhdGVkQ29udGVudChmaWxlKSkucGlwZShjYXRjaEVycm9yKChlcnIpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG1ldGFkYXRhIGZvciBhIHJlbGF0ZWQgY29udGVudCBpdGVtLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRlbnRJZCBJRCBvZiB0aGUgY29udGVudCBpdGVtXG4gICAgICogQHJldHVybnMgTWV0YWRhdGEgZm9yIHRoZSBjb250ZW50XG4gICAgICovXG4gICAgZ2V0RmlsZUNvbnRlbnQoY29udGVudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFJlbGF0ZWRDb250ZW50UmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5jb250ZW50QXBpLmdldENvbnRlbnQoY29udGVudElkKSkucGlwZShjYXRjaEVycm9yKChlcnIpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgcmF3IGJpbmFyeSBjb250ZW50IGRhdGEgZm9yIGEgcmVsYXRlZCBjb250ZW50IGZpbGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudElkIElEIG9mIHRoZSByZWxhdGVkIGNvbnRlbnRcbiAgICAgKiBAcmV0dXJucyBCaW5hcnkgZGF0YSBvZiB0aGUgcmVsYXRlZCBjb250ZW50XG4gICAgICovXG4gICAgZ2V0RmlsZVJhd0NvbnRlbnQoY29udGVudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5jb250ZW50QXBpLmdldFJhd0NvbnRlbnQoY29udGVudElkKSkucGlwZShjYXRjaEVycm9yKChlcnIpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHByZXZpZXcgZm9yIGEgcmVsYXRlZCBjb250ZW50IGZpbGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudElkIElEIG9mIHRoZSByZWxhdGVkIGNvbnRlbnRcbiAgICAgKiBAcmV0dXJucyBCaW5hcnkgZGF0YSBvZiB0aGUgY29udGVudCBwcmV2aWV3XG4gICAgICovXG4gICAgZ2V0Q29udGVudFByZXZpZXcoY29udGVudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50QXBpLmdldFJhd0NvbnRlbnQoY29udGVudElkKS50aGVuKFxuICAgICAgICAgICAgICAgIChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRBcGkuZ2V0UmF3Q29udGVudChjb250ZW50SWQpLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBVUkwgZm9yIGRpcmVjdCBhY2Nlc3MgdG8gYSByZWxhdGVkIGNvbnRlbnQgZmlsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250ZW50SWQgSUQgb2YgdGhlIHJlbGF0ZWQgY29udGVudFxuICAgICAqIEByZXR1cm5zIFVSTCB0byBhY2Nlc3MgdGhlIGNvbnRlbnRcbiAgICAgKi9cbiAgICBnZXRGaWxlUmF3Q29udGVudFVybChjb250ZW50SWQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRBcGkuZ2V0UmF3Q29udGVudFVybChjb250ZW50SWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRodW1ibmFpbCBmb3IgYSByZWxhdGVkIGNvbnRlbnQgZmlsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250ZW50SWQgSUQgb2YgdGhlIHJlbGF0ZWQgY29udGVudFxuICAgICAqIEByZXR1cm5zIEJpbmFyeSBkYXRhIG9mIHRoZSB0aHVtYm5haWwgaW1hZ2VcbiAgICAgKi9cbiAgICBnZXRDb250ZW50VGh1bWJuYWlsKGNvbnRlbnRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMuY29udGVudEFwaS5nZXRSYXdDb250ZW50KGNvbnRlbnRJZCwgJ3RodW1ibmFpbCcpKS5waXBlKGNhdGNoRXJyb3IoKGVycikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcHJldmlldyByZW5kaXRpb24gZm9yIGEgcmVsYXRlZCBjb250ZW50IGZpbGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudElkIElEIG9mIHRoZSByZWxhdGVkIGNvbnRlbnRcbiAgICAgKiBAcmV0dXJucyBCaW5hcnkgZGF0YSBvZiB0aGUgcmVsYXRlZCBjb250ZW50XG4gICAgICovXG4gICAgZ2V0Q29udGVudFJlbmRpdGlvblR5cGVQcmV2aWV3KGNvbnRlbnRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMuY29udGVudEFwaS5nZXRSYXdDb250ZW50KGNvbnRlbnRJZCwgJ3ByZXZpZXcnKSkucGlwZShjYXRjaEVycm9yKChlcnIpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgcmVsYXRlZCBjb250ZW50IGl0ZW1zIGZvciBhIHRhc2sgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFza0lkIElEIG9mIHRoZSB0YXJnZXQgdGFza1xuICAgICAqIEBwYXJhbSBvcHRzIE9wdGlvbnMgc3VwcG9ydGVkIGJ5IEpTLUFQSVxuICAgICAqIEByZXR1cm5zIE1ldGFkYXRhIGZvciB0aGUgY29udGVudFxuICAgICAqL1xuICAgIGdldFRhc2tSZWxhdGVkQ29udGVudCh0YXNrSWQ6IHN0cmluZywgb3B0cz86IGFueSk6IE9ic2VydmFibGU8UmVzdWx0TGlzdERhdGFSZXByZXNlbnRhdGlvblJlbGF0ZWRDb250ZW50UmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5jb250ZW50QXBpLmdldFJlbGF0ZWRDb250ZW50Rm9yVGFzayh0YXNrSWQsIG9wdHMpKS5waXBlKGNhdGNoRXJyb3IoKGVycikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyByZWxhdGVkIGNvbnRlbnQgaXRlbXMgZm9yIGEgcHJvY2VzcyBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9jZXNzSWQgSUQgb2YgdGhlIHRhcmdldCBwcm9jZXNzXG4gICAgICogQHBhcmFtIG9wdHMgT3B0aW9ucyBzdXBwb3J0ZWQgYnkgSlMtQVBJXG4gICAgICogQHJldHVybnMgTWV0YWRhdGEgZm9yIHRoZSBjb250ZW50XG4gICAgICovXG4gICAgZ2V0UHJvY2Vzc1JlbGF0ZWRDb250ZW50KHByb2Nlc3NJZDogc3RyaW5nLCBvcHRzPzogYW55KTogT2JzZXJ2YWJsZTxSZXN1bHRMaXN0RGF0YVJlcHJlc2VudGF0aW9uUmVsYXRlZENvbnRlbnRSZXByZXNlbnRhdGlvbj4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmNvbnRlbnRBcGkuZ2V0UmVsYXRlZENvbnRlbnRGb3JQcm9jZXNzSW5zdGFuY2UocHJvY2Vzc0lkLCBvcHRzKSkucGlwZShjYXRjaEVycm9yKChlcnIpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgcmVsYXRlZCBjb250ZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRlbnRJZCBJZGVudGlmaWVyIG9mIHRoZSBjb250ZW50IHRvIGRlbGV0ZVxuICAgICAqIEByZXR1cm5zIE51bGwgcmVzcG9uc2UgdGhhdCBub3RpZmllcyB3aGVuIHRoZSBkZWxldGlvbiBpcyBjb21wbGV0ZVxuICAgICAqL1xuICAgIGRlbGV0ZVJlbGF0ZWRDb250ZW50KGNvbnRlbnRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5jb250ZW50QXBpLmRlbGV0ZUNvbnRlbnQoY29udGVudElkKSkucGlwZShjYXRjaEVycm9yKChlcnIpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc29jaWF0ZXMgYW4gdXBsb2FkZWQgZmlsZSB3aXRoIGEgcHJvY2VzcyBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9jZXNzSW5zdGFuY2VJZCBJRCBvZiB0aGUgdGFyZ2V0IHByb2Nlc3MgaW5zdGFuY2VcbiAgICAgKiBAcGFyYW0gY29udGVudCBGaWxlIHRvIGFzc29jaWF0ZVxuICAgICAqIEBwYXJhbSBvcHRzIE9wdGlvbnMgc3VwcG9ydGVkIGJ5IEpTLUFQSVxuICAgICAqIEByZXR1cm5zIERldGFpbHMgb2YgY3JlYXRlZCBjb250ZW50XG4gICAgICovXG4gICAgY3JlYXRlUHJvY2Vzc1JlbGF0ZWRDb250ZW50KHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcsIGNvbnRlbnQ6IGFueSwgb3B0cz86IGFueSk6IE9ic2VydmFibGU8UmVsYXRlZENvbnRlbnRSZXByZXNlbnRhdGlvbj4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmNvbnRlbnRBcGkuY3JlYXRlUmVsYXRlZENvbnRlbnRPblByb2Nlc3NJbnN0YW5jZShwcm9jZXNzSW5zdGFuY2VJZCwgY29udGVudCwgb3B0cykpLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBc3NvY2lhdGVzIGFuIHVwbG9hZGVkIGZpbGUgd2l0aCBhIHRhc2sgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGFza0lkIElEIG9mIHRoZSB0YXJnZXQgdGFza1xuICAgICAqIEBwYXJhbSBmaWxlIEZpbGUgdG8gYXNzb2NpYXRlXG4gICAgICogQHBhcmFtIG9wdHMgT3B0aW9ucyBzdXBwb3J0ZWQgYnkgSlMtQVBJXG4gICAgICogQHJldHVybnMgRGV0YWlscyBvZiBjcmVhdGVkIGNvbnRlbnRcbiAgICAgKi9cbiAgICBjcmVhdGVUYXNrUmVsYXRlZENvbnRlbnQodGFza0lkOiBzdHJpbmcsIGZpbGU6IGFueSwgb3B0cz86IGFueSk6IE9ic2VydmFibGU8UmVsYXRlZENvbnRlbnRSZXByZXNlbnRhdGlvbj4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmNvbnRlbnRBcGkuY3JlYXRlUmVsYXRlZENvbnRlbnRPblRhc2sodGFza0lkLCBmaWxlLCBvcHRzKSkucGlwZShjYXRjaEVycm9yKChlcnIpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExpc3RzIHByb2Nlc3NlcyBhbmQgdGFza3Mgb24gd29ya2Zsb3cgc3RhcnRlZCB3aXRoIHByb3ZpZGVkIGRvY3VtZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0gc291cmNlSWQgLSBpZCBvZiB0aGUgZG9jdW1lbnQgdGhhdCB3b3JrZmxvdyBvciB0YXNrIGhhcyBiZWVuIHN0YXJ0ZWQgd2l0aFxuICAgICAqIEBwYXJhbSBzb3VyY2UgLSBzb3VyY2Ugb2YgdGhlIGRvY3VtZW50IHRoYXQgd29ya2Zsb3cgb3IgdGFzayBoYXMgYmVlbiBzdGFydGVkIHdpdGhcbiAgICAgKiBAcGFyYW0gc2l6ZSAtIHNpemUgb2YgdGhlIGVudHJpZXMgdG8gZ2V0XG4gICAgICogQHBhcmFtIHBhZ2UgLSBwYWdlIG51bWJlclxuICAgICAqIEByZXR1cm5zIFByb21pc2U8UmVzdWx0TGlzdERhdGFSZXByZXNlbnRhdGlvblJlbGF0ZWRQcm9jZXNzVGFzaz5cbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzZXNBbmRUYXNrc09uQ29udGVudChcbiAgICAgICAgc291cmNlSWQ6IHN0cmluZyxcbiAgICAgICAgc291cmNlOiBzdHJpbmcsXG4gICAgICAgIHNpemU/OiBudW1iZXIsXG4gICAgICAgIHBhZ2U/OiBudW1iZXJcbiAgICApOiBPYnNlcnZhYmxlPFJlc3VsdExpc3REYXRhUmVwcmVzZW50YXRpb25SZWxhdGVkUHJvY2Vzc1Rhc2s+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5jb250ZW50QXBpLmdldFByb2Nlc3Nlc0FuZFRhc2tzT25Db250ZW50KHNvdXJjZUlkLCBzb3VyY2UsIHNpemUsIHBhZ2UpKS5waXBlKGNhdGNoRXJyb3IoKGVycikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIEpTT04gcmVwcmVzZW50YXRpb24gb2YgZGF0YS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXMgT2JqZWN0IHJlcHJlc2VudGluZyBkYXRhXG4gICAgICogQHJldHVybnMgSlNPTiBvYmplY3RcbiAgICAgKi9cbiAgICB0b0pzb24ocmVzOiBhbnkpIHtcbiAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgcmV0dXJuIHJlcyB8fCB7fTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIEpTT04gYXJyYXkgcmVwcmVzZW50YXRpb24gb2YgZGF0YS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXMgT2JqZWN0IHJlcHJlc2VudGluZyBkYXRhXG4gICAgICogQHJldHVybnMgSlNPTiBhcnJheSBvYmplY3RcbiAgICAgKi9cbiAgICB0b0pzb25BcnJheShyZXM6IGFueSkge1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzLmRhdGEgfHwgW107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcG9ydHMgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlcnJvciBEYXRhIG9iamVjdCB3aXRoIG9wdGlvbmFsIGBtZXNzYWdlYCBhbmQgYHN0YXR1c2AgZmllbGRzIGZvciB0aGUgZXJyb3JcbiAgICAgKiBAcmV0dXJucyBDYWxsYmFjayB3aGVuIGFuIGVycm9yIG9jY3Vyc1xuICAgICAqL1xuICAgIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgZXJyTXNnID0gUHJvY2Vzc0NvbnRlbnRTZXJ2aWNlLlVOS05PV05fRVJST1JfTUVTU0FHRTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICBlcnJNc2cgPSBlcnJvci5tZXNzYWdlXG4gICAgICAgICAgICAgICAgPyBlcnJvci5tZXNzYWdlXG4gICAgICAgICAgICAgICAgOiBlcnJvci5zdGF0dXNcbiAgICAgICAgICAgICAgICA/IGAke2Vycm9yLnN0YXR1c30gLSAke2Vycm9yLnN0YXR1c1RleHR9YFxuICAgICAgICAgICAgICAgIDogUHJvY2Vzc0NvbnRlbnRTZXJ2aWNlLkdFTkVSSUNfRVJST1JfTUVTU0FHRTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJNc2cpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,93 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { AlfrescoApiService } from '@alfresco/adf-content-services';
18
- import { Injectable } from '@angular/core';
19
- import { from, throwError } from 'rxjs';
20
- import { ProcessDefinitionsApi } from '@alfresco/js-api';
21
- import { catchError } from 'rxjs/operators';
22
- import * as i0 from "@angular/core";
23
- import * as i1 from "@alfresco/adf-content-services";
24
- export class ProcessDefinitionService {
25
- static { this.UNKNOWN_ERROR_MESSAGE = 'Unknown error'; }
26
- static { this.GENERIC_ERROR_MESSAGE = 'Server error'; }
27
- get processDefinitionsApi() {
28
- this._processDefinitionsApi = this._processDefinitionsApi ?? new ProcessDefinitionsApi(this.apiService.getInstance());
29
- return this._processDefinitionsApi;
30
- }
31
- constructor(apiService) {
32
- this.apiService = apiService;
33
- }
34
- /**
35
- * Gets values of fields populated by a REST backend using a process ID.
36
- *
37
- * @param processDefinitionId Process identifier
38
- * @param field Field identifier
39
- * @returns Field values
40
- */
41
- getRestFieldValuesByProcessId(processDefinitionId, field) {
42
- return from(this.processDefinitionsApi.getRestFieldValues(processDefinitionId, field)).pipe(catchError((err) => this.handleError(err)));
43
- }
44
- /**
45
- * Gets column values of fields populated by a REST backend using a process ID.
46
- *
47
- * @param processDefinitionId Process identifier
48
- * @param field Field identifier
49
- * @param column Column identifier
50
- * @returns Field values
51
- */
52
- getRestFieldValuesColumnByProcessId(processDefinitionId, field, column) {
53
- return from(this.processDefinitionsApi.getRestTableFieldValues(processDefinitionId, field, column)).pipe(catchError((err) => this.handleError(err)));
54
- }
55
- /**
56
- * Creates a JSON representation of form data.
57
- *
58
- * @param res Object representing form data
59
- * @returns JSON data
60
- */
61
- toJson(res) {
62
- if (res) {
63
- return res || {};
64
- }
65
- return {};
66
- }
67
- /**
68
- * Reports an error message.
69
- *
70
- * @param error Data object with optional `message` and `status` fields for the error
71
- * @returns Error message
72
- */
73
- handleError(error) {
74
- let errMsg = ProcessDefinitionService.UNKNOWN_ERROR_MESSAGE;
75
- if (error) {
76
- errMsg = error.message
77
- ? error.message
78
- : error.status
79
- ? `${error.status} - ${error.statusText}`
80
- : ProcessDefinitionService.GENERIC_ERROR_MESSAGE;
81
- }
82
- return throwError(errMsg);
83
- }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessDefinitionService, deps: [{ token: i1.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
85
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessDefinitionService, providedIn: 'root' }); }
86
- }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessDefinitionService, decorators: [{
88
- type: Injectable,
89
- args: [{
90
- providedIn: 'root'
91
- }]
92
- }], ctorParameters: () => [{ type: i1.AlfrescoApiService }] });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1kZWZpbml0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL2Zvcm0vc2VydmljZXMvcHJvY2Vzcy1kZWZpbml0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU01QyxNQUFNLE9BQU8sd0JBQXdCO2FBQzFCLDBCQUFxQixHQUFXLGVBQWUsQUFBMUIsQ0FBMkI7YUFDaEQsMEJBQXFCLEdBQVcsY0FBYyxBQUF6QixDQUEwQjtJQUd0RCxJQUFJLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3RILE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFvQixVQUE4QjtRQUE5QixlQUFVLEdBQVYsVUFBVSxDQUFvQjtJQUFHLENBQUM7SUFFdEQ7Ozs7OztPQU1HO0lBQ0gsNkJBQTZCLENBQUMsbUJBQTJCLEVBQUUsS0FBYTtRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1SSxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILG1DQUFtQyxDQUFDLG1CQUEyQixFQUFFLEtBQWEsRUFBRSxNQUFlO1FBQzNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3BHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM3QyxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEdBQVE7UUFDWCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ04sT0FBTyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLFdBQVcsQ0FBQyxLQUFVO1FBQzFCLElBQUksTUFBTSxHQUFHLHdCQUF3QixDQUFDLHFCQUFxQixDQUFDO1FBQzVELElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU87Z0JBQ2xCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFDZixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU07b0JBQ2QsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsVUFBVSxFQUFFO29CQUN6QyxDQUFDLENBQUMsd0JBQXdCLENBQUMscUJBQXFCLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7K0dBbEVRLHdCQUF3QjttSEFBeEIsd0JBQXdCLGNBRnJCLE1BQU07OzRGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBGb3JtRmllbGRPcHRpb24gfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvY2Vzc0RlZmluaXRpb25zQXBpIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRHluYW1pY1RhYmxlQ29sdW1uT3B0aW9uIH0gZnJvbSAnLi4vd2lkZ2V0cy9keW5hbWljLXRhYmxlL2VkaXRvcnMvbW9kZWxzL2R5bmFtaWMtdGFibGUtY29sdW1uLW9wdGlvbi5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0RlZmluaXRpb25TZXJ2aWNlIHtcbiAgICBzdGF0aWMgVU5LTk9XTl9FUlJPUl9NRVNTQUdFOiBzdHJpbmcgPSAnVW5rbm93biBlcnJvcic7XG4gICAgc3RhdGljIEdFTkVSSUNfRVJST1JfTUVTU0FHRTogc3RyaW5nID0gJ1NlcnZlciBlcnJvcic7XG5cbiAgICBwcml2YXRlIF9wcm9jZXNzRGVmaW5pdGlvbnNBcGk6IFByb2Nlc3NEZWZpbml0aW9uc0FwaTtcbiAgICBnZXQgcHJvY2Vzc0RlZmluaXRpb25zQXBpKCk6IFByb2Nlc3NEZWZpbml0aW9uc0FwaSB7XG4gICAgICAgIHRoaXMuX3Byb2Nlc3NEZWZpbml0aW9uc0FwaSA9IHRoaXMuX3Byb2Nlc3NEZWZpbml0aW9uc0FwaSA/PyBuZXcgUHJvY2Vzc0RlZmluaXRpb25zQXBpKHRoaXMuYXBpU2VydmljZS5nZXRJbnN0YW5jZSgpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Nlc3NEZWZpbml0aW9uc0FwaTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFsZnJlc2NvQXBpU2VydmljZSkge31cblxuICAgIC8qKlxuICAgICAqIEdldHMgdmFsdWVzIG9mIGZpZWxkcyBwb3B1bGF0ZWQgYnkgYSBSRVNUIGJhY2tlbmQgdXNpbmcgYSBwcm9jZXNzIElELlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NEZWZpbml0aW9uSWQgUHJvY2VzcyBpZGVudGlmaWVyXG4gICAgICogQHBhcmFtIGZpZWxkIEZpZWxkIGlkZW50aWZpZXJcbiAgICAgKiBAcmV0dXJucyBGaWVsZCB2YWx1ZXNcbiAgICAgKi9cbiAgICBnZXRSZXN0RmllbGRWYWx1ZXNCeVByb2Nlc3NJZChwcm9jZXNzRGVmaW5pdGlvbklkOiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZvcm1GaWVsZE9wdGlvbltdPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMucHJvY2Vzc0RlZmluaXRpb25zQXBpLmdldFJlc3RGaWVsZFZhbHVlcyhwcm9jZXNzRGVmaW5pdGlvbklkLCBmaWVsZCkpLnBpcGUoY2F0Y2hFcnJvcigoZXJyKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycikpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGNvbHVtbiB2YWx1ZXMgb2YgZmllbGRzIHBvcHVsYXRlZCBieSBhIFJFU1QgYmFja2VuZCB1c2luZyBhIHByb2Nlc3MgSUQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0RlZmluaXRpb25JZCBQcm9jZXNzIGlkZW50aWZpZXJcbiAgICAgKiBAcGFyYW0gZmllbGQgRmllbGQgaWRlbnRpZmllclxuICAgICAqIEBwYXJhbSBjb2x1bW4gQ29sdW1uIGlkZW50aWZpZXJcbiAgICAgKiBAcmV0dXJucyBGaWVsZCB2YWx1ZXNcbiAgICAgKi9cbiAgICBnZXRSZXN0RmllbGRWYWx1ZXNDb2x1bW5CeVByb2Nlc3NJZChwcm9jZXNzRGVmaW5pdGlvbklkOiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcsIGNvbHVtbj86IHN0cmluZyk6IE9ic2VydmFibGU8RHluYW1pY1RhYmxlQ29sdW1uT3B0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5wcm9jZXNzRGVmaW5pdGlvbnNBcGkuZ2V0UmVzdFRhYmxlRmllbGRWYWx1ZXMocHJvY2Vzc0RlZmluaXRpb25JZCwgZmllbGQsIGNvbHVtbikpLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBmb3JtIGRhdGEuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVzIE9iamVjdCByZXByZXNlbnRpbmcgZm9ybSBkYXRhXG4gICAgICogQHJldHVybnMgSlNPTiBkYXRhXG4gICAgICovXG4gICAgdG9Kc29uKHJlczogYW55KSB7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIHJldHVybiByZXMgfHwge307XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcG9ydHMgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlcnJvciBEYXRhIG9iamVjdCB3aXRoIG9wdGlvbmFsIGBtZXNzYWdlYCBhbmQgYHN0YXR1c2AgZmllbGRzIGZvciB0aGUgZXJyb3JcbiAgICAgKiBAcmV0dXJucyBFcnJvciBtZXNzYWdlXG4gICAgICovXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgbGV0IGVyck1zZyA9IFByb2Nlc3NEZWZpbml0aW9uU2VydmljZS5VTktOT1dOX0VSUk9SX01FU1NBR0U7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgZXJyTXNnID0gZXJyb3IubWVzc2FnZVxuICAgICAgICAgICAgICAgID8gZXJyb3IubWVzc2FnZVxuICAgICAgICAgICAgICAgIDogZXJyb3Iuc3RhdHVzXG4gICAgICAgICAgICAgICAgPyBgJHtlcnJvci5zdGF0dXN9IC0gJHtlcnJvci5zdGF0dXNUZXh0fWBcbiAgICAgICAgICAgICAgICA6IFByb2Nlc3NEZWZpbml0aW9uU2VydmljZS5HRU5FUklDX0VSUk9SX01FU1NBR0U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyTXNnKTtcbiAgICB9XG59XG4iXX0=