@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.
- package/fesm2022/adf-process-services.mjs +297 -301
- package/fesm2022/adf-process-services.mjs.map +1 -1
- package/package.json +4 -6
- package/esm2022/adf-process-services.mjs +0 -5
- package/esm2022/lib/app-list/apps-list.component.mjs +0 -195
- package/esm2022/lib/app-list/icon.model.mjs +0 -166
- package/esm2022/lib/app-list/index.mjs +0 -18
- package/esm2022/lib/app-list/public-api.mjs +0 -23
- package/esm2022/lib/app-list/select-apps-dialog/select-apps-dialog.component.mjs +0 -53
- package/esm2022/lib/attachment/create-process-attachment/create-process-attachment.component.mjs +0 -73
- package/esm2022/lib/attachment/create-task-attachment/create-task-attachment.component.mjs +0 -73
- package/esm2022/lib/attachment/index.mjs +0 -18
- package/esm2022/lib/attachment/process-attachment-list/process-attachment-list.component.mjs +0 -197
- package/esm2022/lib/attachment/public-api.mjs +0 -31
- package/esm2022/lib/attachment/task-attachment-list/task-attachment-list.component.mjs +0 -196
- package/esm2022/lib/compat/types.mjs +0 -18
- package/esm2022/lib/form/events/validate-dynamic-table-row.event.mjs +0 -26
- package/esm2022/lib/form/form-custom-outcomes.component.mjs +0 -31
- package/esm2022/lib/form/form-list/form-list.component.mjs +0 -50
- package/esm2022/lib/form/form.component.mjs +0 -346
- package/esm2022/lib/form/index.mjs +0 -18
- package/esm2022/lib/form/model/form-definition.model.mjs +0 -92
- package/esm2022/lib/form/process-form-rendering.service.mjs +0 -55
- package/esm2022/lib/form/public-api.mjs +0 -32
- package/esm2022/lib/form/services/activiti-alfresco.service.mjs +0 -113
- package/esm2022/lib/form/services/ecm-model.service.mjs +0 -156
- package/esm2022/lib/form/services/editor.service.mjs +0 -87
- package/esm2022/lib/form/services/external-alfresco-api.service.mjs +0 -57
- package/esm2022/lib/form/services/index.mjs +0 -26
- package/esm2022/lib/form/services/model.service.mjs +0 -130
- package/esm2022/lib/form/services/process-content.service.mjs +0 -223
- package/esm2022/lib/form/services/process-definition.service.mjs +0 -93
- package/esm2022/lib/form/services/task-form.service.mjs +0 -127
- package/esm2022/lib/form/services/task.service.mjs +0 -77
- package/esm2022/lib/form/start-form/start-form.component.mjs +0 -141
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog-component.interface.mjs +0 -18
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.component.mjs +0 -115
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.service.mjs +0 -100
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget.component.mjs +0 -254
- package/esm2022/lib/form/widgets/content-widget/attach-folder-widget.component.mjs +0 -93
- package/esm2022/lib/form/widgets/content-widget/index.mjs +0 -18
- package/esm2022/lib/form/widgets/content-widget/public-api.mjs +0 -22
- package/esm2022/lib/form/widgets/document/content.widget.mjs +0 -125
- package/esm2022/lib/form/widgets/document/document.widget.mjs +0 -61
- package/esm2022/lib/form/widgets/dropdown/dropdown.widget.mjs +0 -182
- package/esm2022/lib/form/widgets/dynamic-table/dynamic-table.widget.mjs +0 -192
- package/esm2022/lib/form/widgets/dynamic-table/editors/amount/amount.editor.mjs +0 -47
- package/esm2022/lib/form/widgets/dynamic-table/editors/boolean/boolean.editor.mjs +0 -42
- package/esm2022/lib/form/widgets/dynamic-table/editors/date/date.editor.mjs +0 -84
- package/esm2022/lib/form/widgets/dynamic-table/editors/datetime/datetime.editor.mjs +0 -84
- package/esm2022/lib/form/widgets/dynamic-table/editors/dropdown/dropdown.editor.mjs +0 -95
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/cell-validator.model.mjs +0 -18
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/date-cell-validator-model.mjs +0 -47
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-row-validation-summary.model.mjs +0 -24
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-column-option.model.mjs +0 -18
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-column.model.mjs +0 -18
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-row.model.mjs +0 -18
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table.widget.model.mjs +0 -159
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/number-cell-validator.model.mjs +0 -45
- package/esm2022/lib/form/widgets/dynamic-table/editors/models/required-cell-validator.model.mjs +0 -40
- package/esm2022/lib/form/widgets/dynamic-table/editors/row-editor/row.editor.mjs +0 -89
- package/esm2022/lib/form/widgets/dynamic-table/editors/text/text.editor.mjs +0 -47
- package/esm2022/lib/form/widgets/dynamic-table/index.mjs +0 -18
- package/esm2022/lib/form/widgets/dynamic-table/public-api.mjs +0 -44
- package/esm2022/lib/form/widgets/file-viewer/file-viewer.widget.mjs +0 -46
- package/esm2022/lib/form/widgets/functional-group/functional-group.widget.mjs +0 -167
- package/esm2022/lib/form/widgets/index.mjs +0 -18
- package/esm2022/lib/form/widgets/people/people.widget.mjs +0 -169
- package/esm2022/lib/form/widgets/public-api.mjs +0 -54
- package/esm2022/lib/form/widgets/radio-buttons/radio-buttons.widget.mjs +0 -97
- package/esm2022/lib/form/widgets/typeahead/typeahead.widget.mjs +0 -152
- package/esm2022/lib/form/widgets/upload/upload.widget.mjs +0 -128
- package/esm2022/lib/people/components/people/people.component.mjs +0 -124
- package/esm2022/lib/people/components/people-list/people-list.component.mjs +0 -74
- package/esm2022/lib/people/components/people-search/people-search.component.mjs +0 -83
- package/esm2022/lib/people/components/people-search-field/people-search-field.component.mjs +0 -90
- package/esm2022/lib/people/components/people-selector/people-selector.component.mjs +0 -76
- package/esm2022/lib/people/helpers/get-display-user.mjs +0 -22
- package/esm2022/lib/people/index.mjs +0 -18
- package/esm2022/lib/people/interfaces/perform-search-callback.interface.mjs +0 -18
- package/esm2022/lib/people/public-api.mjs +0 -35
- package/esm2022/lib/process-comments/index.mjs +0 -21
- package/esm2022/lib/process-comments/process-comments.component.mjs +0 -45
- package/esm2022/lib/process-comments/services/comment-process.service.mjs +0 -77
- package/esm2022/lib/process-list/components/process-audit/process-audit.directive.mjs +0 -105
- package/esm2022/lib/process-list/components/process-filters/process-filters.component.mjs +0 -211
- package/esm2022/lib/process-list/components/process-instance-details/process-instance-details.component.mjs +0 -142
- package/esm2022/lib/process-list/components/process-instance-header/process-instance-header.component.mjs +0 -123
- package/esm2022/lib/process-list/components/process-instance-tasks/process-instance-tasks.component.mjs +0 -163
- package/esm2022/lib/process-list/components/process-list/process-list.component.mjs +0 -327
- package/esm2022/lib/process-list/components/start-process/start-process.component.mjs +0 -423
- package/esm2022/lib/process-list/index.mjs +0 -18
- package/esm2022/lib/process-list/public-api.mjs +0 -44
- package/esm2022/lib/process-list/services/process-filter.service.mjs +0 -182
- package/esm2022/lib/process-list/services/process.service.mjs +0 -259
- package/esm2022/lib/process.module.mjs +0 -132
- package/esm2022/lib/services/apps-process.service.mjs +0 -58
- package/esm2022/lib/services/people-process.service.mjs +0 -124
- package/esm2022/lib/services/task-comments.service.mjs +0 -65
- package/esm2022/lib/task-comments/index.mjs +0 -21
- package/esm2022/lib/task-comments/task-comments.component.mjs +0 -44
- package/esm2022/lib/task-list/components/attach-form/attach-form.component.mjs +0 -127
- package/esm2022/lib/task-list/components/checklist/checklist.component.mjs +0 -140
- package/esm2022/lib/task-list/components/start-task/start-task.component.mjs +0 -221
- package/esm2022/lib/task-list/components/task-details/task-details.component.mjs +0 -360
- package/esm2022/lib/task-list/components/task-filters/task-filters.component.mjs +0 -261
- package/esm2022/lib/task-list/components/task-form/claim-task.directive.mjs +0 -77
- package/esm2022/lib/task-list/components/task-form/task-form.component.mjs +0 -313
- package/esm2022/lib/task-list/components/task-form/unclaim-task.directive.mjs +0 -77
- package/esm2022/lib/task-list/components/task-header/task-header.component.mjs +0 -361
- package/esm2022/lib/task-list/components/task-list/task-list.component.mjs +0 -359
- package/esm2022/lib/task-list/components/task-standalone/task-standalone.component.mjs +0 -82
- package/esm2022/lib/task-list/index.mjs +0 -18
- package/esm2022/lib/task-list/models/form.model.mjs +0 -26
- package/esm2022/lib/task-list/models/task-details.event.mjs +0 -32
- package/esm2022/lib/task-list/models/task-preset.model.mjs +0 -41
- package/esm2022/lib/task-list/models/user-event.model.mjs +0 -18
- package/esm2022/lib/task-list/models/user-group.model.mjs +0 -18
- package/esm2022/lib/task-list/public-api.mjs +0 -60
- package/esm2022/lib/task-list/services/process-upload.service.mjs +0 -42
- package/esm2022/lib/task-list/services/task-filter.service.mjs +0 -249
- package/esm2022/lib/task-list/services/task-upload.service.mjs +0 -42
- package/esm2022/lib/task-list/services/tasklist.service.mjs +0 -251
- package/esm2022/lib/task-list/validators/task-description.validator.mjs +0 -26
- package/esm2022/public-api.mjs +0 -30
|
@@ -1,44 +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
|
-
// component
|
|
18
|
-
import { ProcessInstanceListComponent } from './components/process-list/process-list.component';
|
|
19
|
-
import { ProcessFiltersComponent } from './components/process-filters/process-filters.component';
|
|
20
|
-
import { ProcessInstanceDetailsComponent } from './components/process-instance-details/process-instance-details.component';
|
|
21
|
-
import { ProcessInstanceHeaderComponent } from './components/process-instance-header/process-instance-header.component';
|
|
22
|
-
import { ProcessInstanceTasksComponent } from './components/process-instance-tasks/process-instance-tasks.component';
|
|
23
|
-
import { StartProcessInstanceComponent } from './components/start-process/start-process.component';
|
|
24
|
-
import { ProcessAuditDirective } from './components/process-audit/process-audit.directive';
|
|
25
|
-
export * from './components/process-filters/process-filters.component';
|
|
26
|
-
export * from './components/process-instance-details/process-instance-details.component';
|
|
27
|
-
export * from './components/process-audit/process-audit.directive';
|
|
28
|
-
export * from './components/process-instance-header/process-instance-header.component';
|
|
29
|
-
export * from './components/process-instance-tasks/process-instance-tasks.component';
|
|
30
|
-
export * from './components/process-list/process-list.component';
|
|
31
|
-
export * from './components/start-process/start-process.component';
|
|
32
|
-
// services
|
|
33
|
-
export * from './services/process.service';
|
|
34
|
-
export * from './services/process-filter.service';
|
|
35
|
-
export const PROCESS_LIST_DIRECTIVES = [
|
|
36
|
-
ProcessAuditDirective,
|
|
37
|
-
ProcessInstanceListComponent,
|
|
38
|
-
ProcessFiltersComponent,
|
|
39
|
-
ProcessInstanceDetailsComponent,
|
|
40
|
-
ProcessInstanceHeaderComponent,
|
|
41
|
-
ProcessInstanceTasksComponent,
|
|
42
|
-
StartProcessInstanceComponent
|
|
43
|
-
];
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvcHJvY2Vzcy1saXN0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsWUFBWTtBQUNaLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQzNILE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3hILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3JILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTNGLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYywwRUFBMEUsQ0FBQztBQUN6RixjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsV0FBVztBQUNYLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRztJQUNuQyxxQkFBcUI7SUFDckIsNEJBQTRCO0lBQzVCLHVCQUF1QjtJQUN2QiwrQkFBK0I7SUFDL0IsOEJBQThCO0lBQzlCLDZCQUE2QjtJQUM3Qiw2QkFBNkI7Q0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gY29tcG9uZW50XG5pbXBvcnQgeyBQcm9jZXNzSW5zdGFuY2VMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtbGlzdC9wcm9jZXNzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2Nlc3NGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtZmlsdGVycy9wcm9jZXNzLWZpbHRlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2Nlc3NJbnN0YW5jZURldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvY2Vzcy1pbnN0YW5jZS1kZXRhaWxzL3Byb2Nlc3MtaW5zdGFuY2UtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtaW5zdGFuY2UtaGVhZGVyL3Byb2Nlc3MtaW5zdGFuY2UtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9jZXNzSW5zdGFuY2VUYXNrc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9jZXNzLWluc3RhbmNlLXRhc2tzL3Byb2Nlc3MtaW5zdGFuY2UtdGFza3MuY29tcG9uZW50JztcbmltcG9ydCB7IFN0YXJ0UHJvY2Vzc0luc3RhbmNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N0YXJ0LXByb2Nlc3Mvc3RhcnQtcHJvY2Vzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvY2Vzc0F1ZGl0RGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtYXVkaXQvcHJvY2Vzcy1hdWRpdC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcHJvY2Vzcy1maWx0ZXJzL3Byb2Nlc3MtZmlsdGVycy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtaW5zdGFuY2UtZGV0YWlscy9wcm9jZXNzLWluc3RhbmNlLWRldGFpbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wcm9jZXNzLWF1ZGl0L3Byb2Nlc3MtYXVkaXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wcm9jZXNzLWluc3RhbmNlLWhlYWRlci9wcm9jZXNzLWluc3RhbmNlLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtaW5zdGFuY2UtdGFza3MvcHJvY2Vzcy1pbnN0YW5jZS10YXNrcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtbGlzdC9wcm9jZXNzLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zdGFydC1wcm9jZXNzL3N0YXJ0LXByb2Nlc3MuY29tcG9uZW50JztcblxuLy8gc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcHJvY2Vzcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcHJvY2Vzcy1maWx0ZXIuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBQUk9DRVNTX0xJU1RfRElSRUNUSVZFUyA9IFtcbiAgICBQcm9jZXNzQXVkaXREaXJlY3RpdmUsXG4gICAgUHJvY2Vzc0luc3RhbmNlTGlzdENvbXBvbmVudCxcbiAgICBQcm9jZXNzRmlsdGVyc0NvbXBvbmVudCxcbiAgICBQcm9jZXNzSW5zdGFuY2VEZXRhaWxzQ29tcG9uZW50LFxuICAgIFByb2Nlc3NJbnN0YW5jZUhlYWRlckNvbXBvbmVudCxcbiAgICBQcm9jZXNzSW5zdGFuY2VUYXNrc0NvbXBvbmVudCxcbiAgICBTdGFydFByb2Nlc3NJbnN0YW5jZUNvbXBvbmVudFxuXSBhcyBjb25zdDtcbiJdfQ==
|
|
@@ -1,182 +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 { Observable, from, forkJoin } from 'rxjs';
|
|
20
|
-
import { map } from 'rxjs/operators';
|
|
21
|
-
import { UserFiltersApi } from '@alfresco/js-api';
|
|
22
|
-
import * as i0 from "@angular/core";
|
|
23
|
-
import * as i1 from "@alfresco/adf-content-services";
|
|
24
|
-
export class ProcessFilterService {
|
|
25
|
-
get userFiltersApi() {
|
|
26
|
-
this._userFiltersApi = this._userFiltersApi ?? new UserFiltersApi(this.alfrescoApiService.getInstance());
|
|
27
|
-
return this._userFiltersApi;
|
|
28
|
-
}
|
|
29
|
-
constructor(alfrescoApiService) {
|
|
30
|
-
this.alfrescoApiService = alfrescoApiService;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Gets all filters defined for a Process App.
|
|
34
|
-
*
|
|
35
|
-
* @param appId ID of the target app
|
|
36
|
-
* @returns Array of filter details
|
|
37
|
-
*/
|
|
38
|
-
getProcessFilters(appId) {
|
|
39
|
-
return from(this.callApiProcessFilters(appId)).pipe(map((response) => {
|
|
40
|
-
const filters = [];
|
|
41
|
-
response.data.forEach((filter) => {
|
|
42
|
-
if (!this.isFilterAlreadyExisting(filters, filter.name)) {
|
|
43
|
-
filters.push(filter);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
return filters;
|
|
47
|
-
}));
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Retrieves the process filter by ID.
|
|
51
|
-
*
|
|
52
|
-
* @param filterId ID of the filter
|
|
53
|
-
* @param appId ID of the target app
|
|
54
|
-
* @returns Details of the filter
|
|
55
|
-
*/
|
|
56
|
-
getProcessFilterById(filterId, appId) {
|
|
57
|
-
return from(this.callApiProcessFilters(appId)).pipe(map((response) => response.data.find((filter) => filter.id === filterId)));
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Retrieves the process filter by name.
|
|
61
|
-
*
|
|
62
|
-
* @param filterName Name of the filter
|
|
63
|
-
* @param appId ID of the target app
|
|
64
|
-
* @returns Details of the filter
|
|
65
|
-
*/
|
|
66
|
-
getProcessFilterByName(filterName, appId) {
|
|
67
|
-
return from(this.callApiProcessFilters(appId)).pipe(map((response) => response.data.find((filter) => filter.name === filterName)));
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Creates and returns the default filters for an app.
|
|
71
|
-
*
|
|
72
|
-
* @param appId ID of the target app
|
|
73
|
-
* @returns Default filters just created
|
|
74
|
-
*/
|
|
75
|
-
createDefaultFilters(appId) {
|
|
76
|
-
const runningFilter = this.getRunningFilterInstance(appId, 0);
|
|
77
|
-
const runningObservable = this.addProcessFilter(runningFilter);
|
|
78
|
-
const completedFilter = this.getCompletedFilterInstance(appId, 1);
|
|
79
|
-
const completedObservable = this.addProcessFilter(completedFilter);
|
|
80
|
-
const allFilter = this.getAllFilterInstance(appId, 2);
|
|
81
|
-
const allObservable = this.addProcessFilter(allFilter);
|
|
82
|
-
return new Observable((observer) => {
|
|
83
|
-
forkJoin([runningObservable, completedObservable, allObservable]).subscribe((res) => {
|
|
84
|
-
const filters = [];
|
|
85
|
-
res.forEach((filter) => {
|
|
86
|
-
if (!this.isFilterAlreadyExisting(filters, filter.name)) {
|
|
87
|
-
if (filter.name === runningFilter.name) {
|
|
88
|
-
filters.push({ ...filter, filter: runningFilter.filter, appId });
|
|
89
|
-
}
|
|
90
|
-
else if (filter.name === completedFilter.name) {
|
|
91
|
-
filters.push({ ...filter, filter: completedFilter.filter, appId });
|
|
92
|
-
}
|
|
93
|
-
else if (filter.name === allFilter.name) {
|
|
94
|
-
filters.push({ ...filter, filter: allFilter.filter, appId });
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
observer.next(filters);
|
|
99
|
-
observer.complete();
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Checks if a filter with the given name already exists in the list of filters.
|
|
105
|
-
*
|
|
106
|
-
* @param filters - An array of objects representing the existing filters.
|
|
107
|
-
* @param filterName - The name of the filter to check for existence.
|
|
108
|
-
* @returns - True if a filter with the specified name already exists, false otherwise.
|
|
109
|
-
*/
|
|
110
|
-
isFilterAlreadyExisting(filters, filterName) {
|
|
111
|
-
return filters.some((existingFilter) => existingFilter.name === filterName);
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Creates and returns a filter that matches "running" process instances.
|
|
115
|
-
*
|
|
116
|
-
* @param appId ID of the target app
|
|
117
|
-
* @param index of the filter (optional)
|
|
118
|
-
* @returns Filter just created
|
|
119
|
-
*/
|
|
120
|
-
getRunningFilterInstance(appId, index) {
|
|
121
|
-
return {
|
|
122
|
-
name: 'Running',
|
|
123
|
-
appId,
|
|
124
|
-
recent: true,
|
|
125
|
-
icon: 'glyphicon-random',
|
|
126
|
-
filter: { sort: 'created-desc', name: '', state: 'running' },
|
|
127
|
-
index
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Adds a filter.
|
|
132
|
-
*
|
|
133
|
-
* @param filter The filter to add
|
|
134
|
-
* @returns The filter just added
|
|
135
|
-
*/
|
|
136
|
-
addProcessFilter(filter) {
|
|
137
|
-
return from(this.userFiltersApi.createUserProcessInstanceFilter(filter));
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Calls `getUserProcessInstanceFilters` from the Alfresco JS API.
|
|
141
|
-
*
|
|
142
|
-
* @param appId ID of the target app
|
|
143
|
-
* @returns List of filter details
|
|
144
|
-
*/
|
|
145
|
-
callApiProcessFilters(appId) {
|
|
146
|
-
if (appId) {
|
|
147
|
-
return this.userFiltersApi.getUserProcessInstanceFilters({ appId });
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
return this.userFiltersApi.getUserProcessInstanceFilters();
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
getCompletedFilterInstance(appId, index) {
|
|
154
|
-
return {
|
|
155
|
-
name: 'Completed',
|
|
156
|
-
appId,
|
|
157
|
-
recent: false,
|
|
158
|
-
icon: 'glyphicon-ok-sign',
|
|
159
|
-
filter: { sort: 'created-desc', name: '', state: 'completed' },
|
|
160
|
-
index
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
getAllFilterInstance(appId, index) {
|
|
164
|
-
return {
|
|
165
|
-
name: 'All',
|
|
166
|
-
appId,
|
|
167
|
-
recent: true,
|
|
168
|
-
icon: 'glyphicon-th',
|
|
169
|
-
filter: { sort: 'created-desc', name: '', state: 'all' },
|
|
170
|
-
index
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFilterService, deps: [{ token: i1.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
174
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFilterService, providedIn: 'root' }); }
|
|
175
|
-
}
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFilterService, decorators: [{
|
|
177
|
-
type: Injectable,
|
|
178
|
-
args: [{
|
|
179
|
-
providedIn: 'root'
|
|
180
|
-
}]
|
|
181
|
-
}], ctorParameters: () => [{ type: i1.AlfrescoApiService }] });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1maWx0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvcHJvY2Vzcy1saXN0L3NlcnZpY2VzL3Byb2Nlc3MtZmlsdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFFSCxjQUFjLEVBRWpCLE1BQU0sa0JBQWtCLENBQUM7OztBQUsxQixNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLElBQUksY0FBYztRQUNkLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN6RyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW9CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQUcsQ0FBQztJQUU5RDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFDLEtBQWE7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMvQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNuQixRQUFRLENBQUMsSUFBSSxDQUFDLE9B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SSxLQUFLLEVBQUUsQ0FBQztZQUNSLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQztJQUVELDBCQUEwQixDQUFDLEtBQWEsRUFBRSxLQUFjO1FBQ3BELE9BQU87WUFDSCxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLO1lBQ0wsTUFBTSxFQUFFLEtBQUs7WUFDYixJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO1lBQzlELEtBQUs7U0FDUixDQUFDO0lBQ04sQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxLQUFjO1FBQzlDLE9BQU87WUFDSCxJQUFJLEVBQUUsS0FBSztZQUNYLEtBQUs7WUFDTCxNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRSxjQUFjO1lBQ3BCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQ3hELEtBQUs7U0FDUixDQUFDO0lBQ04sQ0FBQzsrR0FoS1Esb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIFJlc3VsdExpc3REYXRhUmVwcmVzZW50YXRpb25Vc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVyUmVwcmVzZW50YXRpb24sXG4gICAgVXNlckZpbHRlcnNBcGksXG4gICAgVXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uXG59IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NGaWx0ZXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF91c2VyRmlsdGVyc0FwaTogVXNlckZpbHRlcnNBcGk7XG4gICAgZ2V0IHVzZXJGaWx0ZXJzQXBpKCk6IFVzZXJGaWx0ZXJzQXBpIHtcbiAgICAgICAgdGhpcy5fdXNlckZpbHRlcnNBcGkgPSB0aGlzLl91c2VyRmlsdGVyc0FwaSA/PyBuZXcgVXNlckZpbHRlcnNBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSk7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyRmlsdGVyc0FwaTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZnJlc2NvQXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgZmlsdGVycyBkZWZpbmVkIGZvciBhIFByb2Nlc3MgQXBwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcElkIElEIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgZmlsdGVyIGRldGFpbHNcbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzRmlsdGVycyhhcHBJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxVc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVyUmVwcmVzZW50YXRpb25bXT4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmNhbGxBcGlQcm9jZXNzRmlsdGVycyhhcHBJZCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVycyA9IFtdO1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0ZpbHRlckFscmVhZHlFeGlzdGluZyhmaWx0ZXJzLCBmaWx0ZXIubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlcnM7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcHJvY2VzcyBmaWx0ZXIgYnkgSUQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVySWQgSUQgb2YgdGhlIGZpbHRlclxuICAgICAqIEBwYXJhbSBhcHBJZCBJRCBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIERldGFpbHMgb2YgdGhlIGZpbHRlclxuICAgICAqL1xuICAgIGdldFByb2Nlc3NGaWx0ZXJCeUlkKGZpbHRlcklkOiBudW1iZXIsIGFwcElkPzogbnVtYmVyKTogT2JzZXJ2YWJsZTxVc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVyUmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5jYWxsQXBpUHJvY2Vzc0ZpbHRlcnMoYXBwSWQpKS5waXBlKG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlLmRhdGEuZmluZCgoZmlsdGVyKSA9PiBmaWx0ZXIuaWQgPT09IGZpbHRlcklkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcHJvY2VzcyBmaWx0ZXIgYnkgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJOYW1lIE5hbWUgb2YgdGhlIGZpbHRlclxuICAgICAqIEBwYXJhbSBhcHBJZCBJRCBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIERldGFpbHMgb2YgdGhlIGZpbHRlclxuICAgICAqL1xuICAgIGdldFByb2Nlc3NGaWx0ZXJCeU5hbWUoZmlsdGVyTmFtZTogc3RyaW5nLCBhcHBJZD86IG51bWJlcik6IE9ic2VydmFibGU8VXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMuY2FsbEFwaVByb2Nlc3NGaWx0ZXJzKGFwcElkKSkucGlwZShtYXAoKHJlc3BvbnNlKSA9PiByZXNwb25zZS5kYXRhLmZpbmQoKGZpbHRlcikgPT4gZmlsdGVyLm5hbWUgPT09IGZpbHRlck5hbWUpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbmQgcmV0dXJucyB0aGUgZGVmYXVsdCBmaWx0ZXJzIGZvciBhbiBhcHAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwSWQgSUQgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKiBAcmV0dXJucyBEZWZhdWx0IGZpbHRlcnMganVzdCBjcmVhdGVkXG4gICAgICovXG4gICAgY3JlYXRlRGVmYXVsdEZpbHRlcnMoYXBwSWQ6IG51bWJlcik6IE9ic2VydmFibGU8VXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uW10+IHtcbiAgICAgICAgY29uc3QgcnVubmluZ0ZpbHRlciA9IHRoaXMuZ2V0UnVubmluZ0ZpbHRlckluc3RhbmNlKGFwcElkLCAwKTtcbiAgICAgICAgY29uc3QgcnVubmluZ09ic2VydmFibGUgPSB0aGlzLmFkZFByb2Nlc3NGaWx0ZXIocnVubmluZ0ZpbHRlcik7XG5cbiAgICAgICAgY29uc3QgY29tcGxldGVkRmlsdGVyID0gdGhpcy5nZXRDb21wbGV0ZWRGaWx0ZXJJbnN0YW5jZShhcHBJZCwgMSk7XG4gICAgICAgIGNvbnN0IGNvbXBsZXRlZE9ic2VydmFibGUgPSB0aGlzLmFkZFByb2Nlc3NGaWx0ZXIoY29tcGxldGVkRmlsdGVyKTtcblxuICAgICAgICBjb25zdCBhbGxGaWx0ZXIgPSB0aGlzLmdldEFsbEZpbHRlckluc3RhbmNlKGFwcElkLCAyKTtcbiAgICAgICAgY29uc3QgYWxsT2JzZXJ2YWJsZSA9IHRoaXMuYWRkUHJvY2Vzc0ZpbHRlcihhbGxGaWx0ZXIpO1xuXG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIGZvcmtKb2luKFtydW5uaW5nT2JzZXJ2YWJsZSwgY29tcGxldGVkT2JzZXJ2YWJsZSwgYWxsT2JzZXJ2YWJsZV0pLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyczogVXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uW10gPSBbXTtcbiAgICAgICAgICAgICAgICByZXMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0ZpbHRlckFscmVhZHlFeGlzdGluZyhmaWx0ZXJzLCBmaWx0ZXIubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIubmFtZSA9PT0gcnVubmluZ0ZpbHRlci5uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVycy5wdXNoKHsgLi4uZmlsdGVyLCBmaWx0ZXI6IHJ1bm5pbmdGaWx0ZXIuZmlsdGVyLCBhcHBJZCB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLm5hbWUgPT09IGNvbXBsZXRlZEZpbHRlci5uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVycy5wdXNoKHsgLi4uZmlsdGVyLCBmaWx0ZXI6IGNvbXBsZXRlZEZpbHRlci5maWx0ZXIsIGFwcElkIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIubmFtZSA9PT0gYWxsRmlsdGVyLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzLnB1c2goeyAuLi5maWx0ZXIsIGZpbHRlcjogYWxsRmlsdGVyLmZpbHRlciwgYXBwSWQgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGEgZmlsdGVyIHdpdGggdGhlIGdpdmVuIG5hbWUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGxpc3Qgb2YgZmlsdGVycy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJzIC0gQW4gYXJyYXkgb2Ygb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIGV4aXN0aW5nIGZpbHRlcnMuXG4gICAgICogQHBhcmFtIGZpbHRlck5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZmlsdGVyIHRvIGNoZWNrIGZvciBleGlzdGVuY2UuXG4gICAgICogQHJldHVybnMgLSBUcnVlIGlmIGEgZmlsdGVyIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGFscmVhZHkgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgaXNGaWx0ZXJBbHJlYWR5RXhpc3RpbmcoZmlsdGVyczogUGFydGlhbDx7IG5hbWU6IHN0cmluZyB9PltdLCBmaWx0ZXJOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpbHRlcnMuc29tZSgoZXhpc3RpbmdGaWx0ZXIpID0+IGV4aXN0aW5nRmlsdGVyLm5hbWUgPT09IGZpbHRlck5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW5kIHJldHVybnMgYSBmaWx0ZXIgdGhhdCBtYXRjaGVzIFwicnVubmluZ1wiIHByb2Nlc3MgaW5zdGFuY2VzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcElkIElEIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHBhcmFtIGluZGV4IG9mIHRoZSBmaWx0ZXIgKG9wdGlvbmFsKVxuICAgICAqIEByZXR1cm5zIEZpbHRlciBqdXN0IGNyZWF0ZWRcbiAgICAgKi9cbiAgICBnZXRSdW5uaW5nRmlsdGVySW5zdGFuY2UoYXBwSWQ6IG51bWJlciwgaW5kZXg/OiBudW1iZXIpOiBVc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVyUmVwcmVzZW50YXRpb24ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZTogJ1J1bm5pbmcnLFxuICAgICAgICAgICAgYXBwSWQsXG4gICAgICAgICAgICByZWNlbnQ6IHRydWUsXG4gICAgICAgICAgICBpY29uOiAnZ2x5cGhpY29uLXJhbmRvbScsXG4gICAgICAgICAgICBmaWx0ZXI6IHsgc29ydDogJ2NyZWF0ZWQtZGVzYycsIG5hbWU6ICcnLCBzdGF0ZTogJ3J1bm5pbmcnIH0sXG4gICAgICAgICAgICBpbmRleFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBmaWx0ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVyIFRoZSBmaWx0ZXIgdG8gYWRkXG4gICAgICogQHJldHVybnMgVGhlIGZpbHRlciBqdXN0IGFkZGVkXG4gICAgICovXG4gICAgYWRkUHJvY2Vzc0ZpbHRlcihmaWx0ZXI6IFVzZXJQcm9jZXNzSW5zdGFuY2VGaWx0ZXJSZXByZXNlbnRhdGlvbik6IE9ic2VydmFibGU8VXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMudXNlckZpbHRlcnNBcGkuY3JlYXRlVXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlcihmaWx0ZXIpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxscyBgZ2V0VXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlcnNgIGZyb20gdGhlIEFsZnJlc2NvIEpTIEFQSS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBJZCBJRCBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIExpc3Qgb2YgZmlsdGVyIGRldGFpbHNcbiAgICAgKi9cbiAgICBjYWxsQXBpUHJvY2Vzc0ZpbHRlcnMoYXBwSWQ/OiBudW1iZXIpOiBQcm9taXNlPFJlc3VsdExpc3REYXRhUmVwcmVzZW50YXRpb25Vc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVyUmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgaWYgKGFwcElkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy51c2VyRmlsdGVyc0FwaS5nZXRVc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVycyh7IGFwcElkIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlckZpbHRlcnNBcGkuZ2V0VXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlcnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENvbXBsZXRlZEZpbHRlckluc3RhbmNlKGFwcElkOiBudW1iZXIsIGluZGV4PzogbnVtYmVyKTogVXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6ICdDb21wbGV0ZWQnLFxuICAgICAgICAgICAgYXBwSWQsXG4gICAgICAgICAgICByZWNlbnQ6IGZhbHNlLFxuICAgICAgICAgICAgaWNvbjogJ2dseXBoaWNvbi1vay1zaWduJyxcbiAgICAgICAgICAgIGZpbHRlcjogeyBzb3J0OiAnY3JlYXRlZC1kZXNjJywgbmFtZTogJycsIHN0YXRlOiAnY29tcGxldGVkJyB9LFxuICAgICAgICAgICAgaW5kZXhcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRBbGxGaWx0ZXJJbnN0YW5jZShhcHBJZDogbnVtYmVyLCBpbmRleD86IG51bWJlcik6IFVzZXJQcm9jZXNzSW5zdGFuY2VGaWx0ZXJSZXByZXNlbnRhdGlvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiAnQWxsJyxcbiAgICAgICAgICAgIGFwcElkLFxuICAgICAgICAgICAgcmVjZW50OiB0cnVlLFxuICAgICAgICAgICAgaWNvbjogJ2dseXBoaWNvbi10aCcsXG4gICAgICAgICAgICBmaWx0ZXI6IHsgc29ydDogJ2NyZWF0ZWQtZGVzYycsIG5hbWU6ICcnLCBzdGF0ZTogJ2FsbCcgfSxcbiAgICAgICAgICAgIGluZGV4XG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
@@ -1,259 +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 { DateFnsUtils } from '@alfresco/adf-core';
|
|
18
|
-
import { inject, Injectable } from '@angular/core';
|
|
19
|
-
import { ProcessDefinitionsApi, ProcessInstancesApi, ProcessInstanceVariablesApi, TasksApi } from '@alfresco/js-api';
|
|
20
|
-
import { AlfrescoApiService } from '@alfresco/adf-content-services';
|
|
21
|
-
import { from } from 'rxjs';
|
|
22
|
-
import { map } from 'rxjs/operators';
|
|
23
|
-
import { DatePipe } from '@angular/common';
|
|
24
|
-
import * as i0 from "@angular/core";
|
|
25
|
-
export class ProcessService {
|
|
26
|
-
constructor() {
|
|
27
|
-
this.alfrescoApiService = inject(AlfrescoApiService);
|
|
28
|
-
}
|
|
29
|
-
get tasksApi() {
|
|
30
|
-
return (this._tasksApi ||= new TasksApi(this.alfrescoApiService.getInstance()));
|
|
31
|
-
}
|
|
32
|
-
get processDefinitionsApi() {
|
|
33
|
-
return (this._processDefinitionsApi ||= new ProcessDefinitionsApi(this.alfrescoApiService.getInstance()));
|
|
34
|
-
}
|
|
35
|
-
get processInstancesApi() {
|
|
36
|
-
return (this._processInstancesApi ||= new ProcessInstancesApi(this.alfrescoApiService.getInstance()));
|
|
37
|
-
}
|
|
38
|
-
get processInstanceVariablesApi() {
|
|
39
|
-
return (this._processInstanceVariablesApi ||= new ProcessInstanceVariablesApi(this.alfrescoApiService.getInstance()));
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Gets process instances for a filter and optionally a process definition.
|
|
43
|
-
*
|
|
44
|
-
* @param requestNode Filter for instances
|
|
45
|
-
* @param processDefinitionKey Limits returned instances to a process definition
|
|
46
|
-
* @returns List of process instances
|
|
47
|
-
*/
|
|
48
|
-
getProcessInstances(requestNode, processDefinitionKey) {
|
|
49
|
-
return from(this.processInstancesApi.getProcessInstances(requestNode)).pipe(map((res) => {
|
|
50
|
-
if (processDefinitionKey) {
|
|
51
|
-
res.data = res.data.filter((process) => process.processDefinitionKey === processDefinitionKey);
|
|
52
|
-
}
|
|
53
|
-
return res;
|
|
54
|
-
}));
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Gets processes for a filter and optionally a process definition.
|
|
58
|
-
*
|
|
59
|
-
* @param requestNode Filter for instances
|
|
60
|
-
* @param processDefinitionKey Limits returned instances to a process definition
|
|
61
|
-
* @returns List of processes
|
|
62
|
-
*/
|
|
63
|
-
getProcesses(requestNode, processDefinitionKey) {
|
|
64
|
-
return this.getProcessInstances(requestNode, processDefinitionKey).pipe(map((response) => {
|
|
65
|
-
response.data = (response.data || []).map((instance) => {
|
|
66
|
-
instance.name = this.getProcessNameOrDescription(instance, 'medium');
|
|
67
|
-
return instance;
|
|
68
|
-
});
|
|
69
|
-
return response;
|
|
70
|
-
}));
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Fetches the Process Audit information as a PDF.
|
|
74
|
-
*
|
|
75
|
-
* @param processId ID of the target process
|
|
76
|
-
* @returns Binary PDF data
|
|
77
|
-
*/
|
|
78
|
-
fetchProcessAuditPdfById(processId) {
|
|
79
|
-
return from(this.processInstancesApi.getProcessAuditPdf(processId));
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Fetches the Process Audit information in a JSON format.
|
|
83
|
-
*
|
|
84
|
-
* @param processId ID of the target process
|
|
85
|
-
* @returns JSON data
|
|
86
|
-
*/
|
|
87
|
-
fetchProcessAuditJsonById(processId) {
|
|
88
|
-
return from(this.processInstancesApi.getTaskAuditLog(processId));
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Gets Process Instance metadata.
|
|
92
|
-
*
|
|
93
|
-
* @param processInstanceId ID of the target process
|
|
94
|
-
* @returns Metadata for the instance
|
|
95
|
-
*/
|
|
96
|
-
getProcess(processInstanceId) {
|
|
97
|
-
return from(this.processInstancesApi.getProcessInstance(processInstanceId)).pipe(map(this.toJson));
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Gets the start form definition for a given process.
|
|
101
|
-
*
|
|
102
|
-
* @param processId Process definition ID
|
|
103
|
-
* @returns Form definition
|
|
104
|
-
*/
|
|
105
|
-
getStartFormDefinition(processId) {
|
|
106
|
-
return from(this.processDefinitionsApi.getProcessDefinitionStartForm(processId)).pipe(map(this.toJson));
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Gets the start form instance for a given process.
|
|
110
|
-
*
|
|
111
|
-
* @param processId Process definition ID
|
|
112
|
-
* @returns Form definition
|
|
113
|
-
*/
|
|
114
|
-
getStartFormInstance(processId) {
|
|
115
|
-
return from(this.processInstancesApi.getProcessInstanceStartForm(processId)).pipe(map(this.toJson));
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Creates a JSON representation of form data.
|
|
119
|
-
*
|
|
120
|
-
* @param res Object representing form data
|
|
121
|
-
* @returns JSON data
|
|
122
|
-
*/
|
|
123
|
-
toJson(res) {
|
|
124
|
-
if (res) {
|
|
125
|
-
return res || {};
|
|
126
|
-
}
|
|
127
|
-
return {};
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Gets task instances for a process instance.
|
|
131
|
-
*
|
|
132
|
-
* @param processInstanceId ID of the process instance
|
|
133
|
-
* @param state Task state filter (can be "active" or "completed")
|
|
134
|
-
* @returns Array of task instance details
|
|
135
|
-
*/
|
|
136
|
-
getProcessTasks(processInstanceId, state) {
|
|
137
|
-
const taskOpts = state
|
|
138
|
-
? {
|
|
139
|
-
processInstanceId,
|
|
140
|
-
state
|
|
141
|
-
}
|
|
142
|
-
: {
|
|
143
|
-
processInstanceId
|
|
144
|
-
};
|
|
145
|
-
return from(this.tasksApi.listTasks(taskOpts)).pipe(map(this.extractData), map((tasks) => tasks.map((task) => {
|
|
146
|
-
task.created = DateFnsUtils.formatDate(new Date(task.created), 'YYYY-MM-DD');
|
|
147
|
-
return task;
|
|
148
|
-
})));
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Gets process definitions associated with an app.
|
|
152
|
-
*
|
|
153
|
-
* @param appId ID of a target app
|
|
154
|
-
* @returns Array of process definitions
|
|
155
|
-
*/
|
|
156
|
-
getProcessDefinitions(appId) {
|
|
157
|
-
const opts = appId
|
|
158
|
-
? {
|
|
159
|
-
latest: true,
|
|
160
|
-
appDefinitionId: appId
|
|
161
|
-
}
|
|
162
|
-
: {
|
|
163
|
-
latest: true
|
|
164
|
-
};
|
|
165
|
-
return from(this.processDefinitionsApi.getProcessDefinitions(opts)).pipe(map(this.extractData));
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Starts a process based on a process definition, name, form values or variables.
|
|
169
|
-
*
|
|
170
|
-
* @param processDefinitionId Process definition ID
|
|
171
|
-
* @param name Process name
|
|
172
|
-
* @param outcome Process outcome
|
|
173
|
-
* @param startFormValues Values for the start form
|
|
174
|
-
* @param variables Array of process instance variables
|
|
175
|
-
* @returns Details of the process instance just started
|
|
176
|
-
*/
|
|
177
|
-
startProcess(processDefinitionId, name, outcome, startFormValues, variables) {
|
|
178
|
-
const startRequest = {
|
|
179
|
-
name,
|
|
180
|
-
processDefinitionId
|
|
181
|
-
};
|
|
182
|
-
if (outcome) {
|
|
183
|
-
startRequest.outcome = outcome;
|
|
184
|
-
}
|
|
185
|
-
if (startFormValues) {
|
|
186
|
-
startRequest.values = startFormValues;
|
|
187
|
-
}
|
|
188
|
-
if (variables) {
|
|
189
|
-
startRequest.variables = variables;
|
|
190
|
-
}
|
|
191
|
-
return from(this.processInstancesApi.startNewProcessInstance(startRequest));
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Cancels a process instance.
|
|
195
|
-
*
|
|
196
|
-
* @param processInstanceId ID of process to cancel
|
|
197
|
-
* @returns Null response notifying when the operation is complete
|
|
198
|
-
*/
|
|
199
|
-
cancelProcess(processInstanceId) {
|
|
200
|
-
return from(this.processInstancesApi.deleteProcessInstance(processInstanceId));
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Gets the variables for a process instance.
|
|
204
|
-
*
|
|
205
|
-
* @param processInstanceId ID of the target process
|
|
206
|
-
* @returns Array of instance variable info
|
|
207
|
-
*/
|
|
208
|
-
getProcessInstanceVariables(processInstanceId) {
|
|
209
|
-
return from(this.processInstanceVariablesApi.getProcessInstanceVariables(processInstanceId));
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Creates or updates variables for a process instance.
|
|
213
|
-
*
|
|
214
|
-
* @param processInstanceId ID of the target process
|
|
215
|
-
* @param variables Variables to update
|
|
216
|
-
* @returns Array of instance variable info
|
|
217
|
-
*/
|
|
218
|
-
createOrUpdateProcessInstanceVariables(processInstanceId, variables) {
|
|
219
|
-
return from(this.processInstanceVariablesApi.createOrUpdateProcessInstanceVariables(processInstanceId, variables));
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Deletes a variable for a process instance.
|
|
223
|
-
*
|
|
224
|
-
* @param processInstanceId ID of the target process
|
|
225
|
-
* @param variableName Name of the variable to delete
|
|
226
|
-
* @returns Null response notifying when the operation is complete
|
|
227
|
-
*/
|
|
228
|
-
deleteProcessInstanceVariable(processInstanceId, variableName) {
|
|
229
|
-
return from(this.processInstanceVariablesApi.deleteProcessInstanceVariable(processInstanceId, variableName));
|
|
230
|
-
}
|
|
231
|
-
extractData(res) {
|
|
232
|
-
return res.data || {};
|
|
233
|
-
}
|
|
234
|
-
getProcessNameOrDescription(processInstance, dateFormat) {
|
|
235
|
-
let name = '';
|
|
236
|
-
if (processInstance) {
|
|
237
|
-
name = processInstance.name || processInstance.processDefinitionName + ' - ' + this.getFormatDate(processInstance.started, dateFormat);
|
|
238
|
-
}
|
|
239
|
-
return name;
|
|
240
|
-
}
|
|
241
|
-
getFormatDate(value, dateFormat) {
|
|
242
|
-
const datePipe = new DatePipe('en-US');
|
|
243
|
-
try {
|
|
244
|
-
return datePipe.transform(value, dateFormat);
|
|
245
|
-
}
|
|
246
|
-
catch (err) {
|
|
247
|
-
return '';
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
251
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessService, providedIn: 'root' }); }
|
|
252
|
-
}
|
|
253
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessService, decorators: [{
|
|
254
|
-
type: Injectable,
|
|
255
|
-
args: [{
|
|
256
|
-
providedIn: 'root'
|
|
257
|
-
}]
|
|
258
|
-
}] });
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9wcm9jZXNzLWxpc3Qvc2VydmljZXMvcHJvY2Vzcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQWMsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBRUgscUJBQXFCLEVBSXJCLG1CQUFtQixFQUNuQiwyQkFBMkIsRUFHM0IsUUFBUSxFQUdYLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUszQyxNQUFNLE9BQU8sY0FBYztJQUgzQjtRQUlZLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBK1EzRDtJQTVRRyxJQUFJLFFBQVE7UUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFHRCxJQUFJLHFCQUFxQjtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixLQUFLLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBR0QsSUFBSSxt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SUFFRDs7Ozs7O09BTUc7SUFDSCw2QkFBNkIsQ0FBQyxpQkFBeUIsRUFBRSxZQUFvQjtRQUN6RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRU8sV0FBVyxDQUFDLEdBQVE7UUFDeEIsT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sMkJBQTJCLENBQUMsZUFBOEMsRUFBRSxVQUFrQjtRQUNsRyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFFZCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxJQUFJLGVBQWUsQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNJLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQVcsRUFBRSxVQUFrQjtRQUNqRCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUM7WUFDRCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0wsQ0FBQzsrR0EvUVEsY0FBYzttSEFBZCxjQUFjLGNBRlgsTUFBTTs7NEZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IERhdGVGbnNVdGlscywgRm9ybVZhbHVlcyB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRm9ybURlZmluaXRpb25SZXByZXNlbnRhdGlvbixcbiAgICBQcm9jZXNzRGVmaW5pdGlvbnNBcGksXG4gICAgUHJvY2Vzc0luc3RhbmNlQXVkaXRJbmZvUmVwcmVzZW50YXRpb24sXG4gICAgUHJvY2Vzc0luc3RhbmNlUXVlcnlSZXByZXNlbnRhdGlvbixcbiAgICBQcm9jZXNzSW5zdGFuY2VSZXByZXNlbnRhdGlvbixcbiAgICBQcm9jZXNzSW5zdGFuY2VzQXBpLFxuICAgIFByb2Nlc3NJbnN0YW5jZVZhcmlhYmxlc0FwaSxcbiAgICBSZXN0VmFyaWFibGUsXG4gICAgUmVzdWx0TGlzdERhdGFSZXByZXNlbnRhdGlvblByb2Nlc3NJbnN0YW5jZVJlcHJlc2VudGF0aW9uLFxuICAgIFRhc2tzQXBpLFxuICAgIFByb2Nlc3NEZWZpbml0aW9uUmVwcmVzZW50YXRpb24sXG4gICAgVGFza1JlcHJlc2VudGF0aW9uXG59IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzU2VydmljZSB7XG4gICAgcHJpdmF0ZSBhbGZyZXNjb0FwaVNlcnZpY2UgPSBpbmplY3QoQWxmcmVzY29BcGlTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgX3Rhc2tzQXBpOiBUYXNrc0FwaTtcbiAgICBnZXQgdGFza3NBcGkoKTogVGFza3NBcGkge1xuICAgICAgICByZXR1cm4gKHRoaXMuX3Rhc2tzQXBpIHx8PSBuZXcgVGFza3NBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Byb2Nlc3NEZWZpbml0aW9uc0FwaTogUHJvY2Vzc0RlZmluaXRpb25zQXBpO1xuICAgIGdldCBwcm9jZXNzRGVmaW5pdGlvbnNBcGkoKTogUHJvY2Vzc0RlZmluaXRpb25zQXBpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9wcm9jZXNzRGVmaW5pdGlvbnNBcGkgfHw9IG5ldyBQcm9jZXNzRGVmaW5pdGlvbnNBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Byb2Nlc3NJbnN0YW5jZXNBcGk6IFByb2Nlc3NJbnN0YW5jZXNBcGk7XG4gICAgZ2V0IHByb2Nlc3NJbnN0YW5jZXNBcGkoKTogUHJvY2Vzc0luc3RhbmNlc0FwaSB7XG4gICAgICAgIHJldHVybiAodGhpcy5fcHJvY2Vzc0luc3RhbmNlc0FwaSB8fD0gbmV3IFByb2Nlc3NJbnN0YW5jZXNBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Byb2Nlc3NJbnN0YW5jZVZhcmlhYmxlc0FwaTogUHJvY2Vzc0luc3RhbmNlVmFyaWFibGVzQXBpO1xuICAgIGdldCBwcm9jZXNzSW5zdGFuY2VWYXJpYWJsZXNBcGkoKTogUHJvY2Vzc0luc3RhbmNlVmFyaWFibGVzQXBpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9wcm9jZXNzSW5zdGFuY2VWYXJpYWJsZXNBcGkgfHw9IG5ldyBQcm9jZXNzSW5zdGFuY2VWYXJpYWJsZXNBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgcHJvY2VzcyBpbnN0YW5jZXMgZm9yIGEgZmlsdGVyIGFuZCBvcHRpb25hbGx5IGEgcHJvY2VzcyBkZWZpbml0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3ROb2RlIEZpbHRlciBmb3IgaW5zdGFuY2VzXG4gICAgICogQHBhcmFtIHByb2Nlc3NEZWZpbml0aW9uS2V5IExpbWl0cyByZXR1cm5lZCBpbnN0YW5jZXMgdG8gYSBwcm9jZXNzIGRlZmluaXRpb25cbiAgICAgKiBAcmV0dXJucyBMaXN0IG9mIHByb2Nlc3MgaW5zdGFuY2VzXG4gICAgICovXG4gICAgZ2V0UHJvY2Vzc0luc3RhbmNlcyhcbiAgICAgICAgcmVxdWVzdE5vZGU6IFByb2Nlc3NJbnN0YW5jZVF1ZXJ5UmVwcmVzZW50YXRpb24sXG4gICAgICAgIHByb2Nlc3NEZWZpbml0aW9uS2V5Pzogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxSZXN1bHRMaXN0RGF0YVJlcHJlc2VudGF0aW9uUHJvY2Vzc0luc3RhbmNlUmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5wcm9jZXNzSW5zdGFuY2VzQXBpLmdldFByb2Nlc3NJbnN0YW5jZXMocmVxdWVzdE5vZGUpKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzc0RlZmluaXRpb25LZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzLmRhdGEgPSByZXMuZGF0YS5maWx0ZXIoKHByb2Nlc3MpID0+IHByb2Nlc3MucHJvY2Vzc0RlZmluaXRpb25LZXkgPT09IHByb2Nlc3NEZWZpbml0aW9uS2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBwcm9jZXNzZXMgZm9yIGEgZmlsdGVyIGFuZCBvcHRpb25hbGx5IGEgcHJvY2VzcyBkZWZpbml0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3ROb2RlIEZpbHRlciBmb3IgaW5zdGFuY2VzXG4gICAgICogQHBhcmFtIHByb2Nlc3NEZWZpbml0aW9uS2V5IExpbWl0cyByZXR1cm5lZCBpbnN0YW5jZXMgdG8gYSBwcm9jZXNzIGRlZmluaXRpb25cbiAgICAgKiBAcmV0dXJucyBMaXN0IG9mIHByb2Nlc3Nlc1xuICAgICAqL1xuICAgIGdldFByb2Nlc3NlcyhcbiAgICAgICAgcmVxdWVzdE5vZGU6IFByb2Nlc3NJbnN0YW5jZVF1ZXJ5UmVwcmVzZW50YXRpb24sXG4gICAgICAgIHByb2Nlc3NEZWZpbml0aW9uS2V5Pzogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxSZXN1bHRMaXN0RGF0YVJlcHJlc2VudGF0aW9uUHJvY2Vzc0luc3RhbmNlUmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvY2Vzc0luc3RhbmNlcyhyZXF1ZXN0Tm9kZSwgcHJvY2Vzc0RlZmluaXRpb25LZXkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2UuZGF0YSA9IChyZXNwb25zZS5kYXRhIHx8IFtdKS5tYXAoKGluc3RhbmNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLm5hbWUgPSB0aGlzLmdldFByb2Nlc3NOYW1lT3JEZXNjcmlwdGlvbihpbnN0YW5jZSwgJ21lZGl1bScpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGZXRjaGVzIHRoZSBQcm9jZXNzIEF1ZGl0IGluZm9ybWF0aW9uIGFzIGEgUERGLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJZCBJRCBvZiB0aGUgdGFyZ2V0IHByb2Nlc3NcbiAgICAgKiBAcmV0dXJucyBCaW5hcnkgUERGIGRhdGFcbiAgICAgKi9cbiAgICBmZXRjaFByb2Nlc3NBdWRpdFBkZkJ5SWQocHJvY2Vzc0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5wcm9jZXNzSW5zdGFuY2VzQXBpLmdldFByb2Nlc3NBdWRpdFBkZihwcm9jZXNzSWQpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGZXRjaGVzIHRoZSBQcm9jZXNzIEF1ZGl0IGluZm9ybWF0aW9uIGluIGEgSlNPTiBmb3JtYXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0lkIElEIG9mIHRoZSB0YXJnZXQgcHJvY2Vzc1xuICAgICAqIEByZXR1cm5zIEpTT04gZGF0YVxuICAgICAqL1xuICAgIGZldGNoUHJvY2Vzc0F1ZGl0SnNvbkJ5SWQocHJvY2Vzc0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2Nlc3NJbnN0YW5jZUF1ZGl0SW5mb1JlcHJlc2VudGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMucHJvY2Vzc0luc3RhbmNlc0FwaS5nZXRUYXNrQXVkaXRMb2cocHJvY2Vzc0lkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBQcm9jZXNzIEluc3RhbmNlIG1ldGFkYXRhLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIElEIG9mIHRoZSB0YXJnZXQgcHJvY2Vzc1xuICAgICAqIEByZXR1cm5zIE1ldGFkYXRhIGZvciB0aGUgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzKHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2Nlc3NJbnN0YW5jZVJlcHJlc2VudGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMucHJvY2Vzc0luc3RhbmNlc0FwaS5nZXRQcm9jZXNzSW5zdGFuY2UocHJvY2Vzc0luc3RhbmNlSWQpKS5waXBlKG1hcCh0aGlzLnRvSnNvbikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHN0YXJ0IGZvcm0gZGVmaW5pdGlvbiBmb3IgYSBnaXZlbiBwcm9jZXNzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJZCBQcm9jZXNzIGRlZmluaXRpb24gSURcbiAgICAgKiBAcmV0dXJucyBGb3JtIGRlZmluaXRpb25cbiAgICAgKi9cbiAgICBnZXRTdGFydEZvcm1EZWZpbml0aW9uKHByb2Nlc3NJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5wcm9jZXNzRGVmaW5pdGlvbnNBcGkuZ2V0UHJvY2Vzc0RlZmluaXRpb25TdGFydEZvcm0ocHJvY2Vzc0lkKSkucGlwZShtYXAodGhpcy50b0pzb24pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBzdGFydCBmb3JtIGluc3RhbmNlIGZvciBhIGdpdmVuIHByb2Nlc3MuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0lkIFByb2Nlc3MgZGVmaW5pdGlvbiBJRFxuICAgICAqIEByZXR1cm5zIEZvcm0gZGVmaW5pdGlvblxuICAgICAqL1xuICAgIGdldFN0YXJ0Rm9ybUluc3RhbmNlKHByb2Nlc3NJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxGb3JtRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMucHJvY2Vzc0luc3RhbmNlc0FwaS5nZXRQcm9jZXNzSW5zdGFuY2VTdGFydEZvcm0ocHJvY2Vzc0lkKSkucGlwZShtYXAodGhpcy50b0pzb24pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBmb3JtIGRhdGEuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVzIE9iamVjdCByZXByZXNlbnRpbmcgZm9ybSBkYXRhXG4gICAgICogQHJldHVybnMgSlNPTiBkYXRhXG4gICAgICovXG4gICAgcHJpdmF0ZSB0b0pzb24ocmVzOiBhbnkpIHtcbiAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgcmV0dXJuIHJlcyB8fCB7fTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0YXNrIGluc3RhbmNlcyBmb3IgYSBwcm9jZXNzIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIElEIG9mIHRoZSBwcm9jZXNzIGluc3RhbmNlXG4gICAgICogQHBhcmFtIHN0YXRlIFRhc2sgc3RhdGUgZmlsdGVyIChjYW4gYmUgXCJhY3RpdmVcIiBvciBcImNvbXBsZXRlZFwiKVxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIHRhc2sgaW5zdGFuY2UgZGV0YWlsc1xuICAgICAqL1xuICAgIGdldFByb2Nlc3NUYXNrcyhwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nLCBzdGF0ZT86IHN0cmluZyk6IE9ic2VydmFibGU8VGFza1JlcHJlc2VudGF0aW9uW10+IHtcbiAgICAgICAgY29uc3QgdGFza09wdHMgPSBzdGF0ZVxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICBwcm9jZXNzSW5zdGFuY2VJZCxcbiAgICAgICAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgcHJvY2Vzc0luc3RhbmNlSWRcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy50YXNrc0FwaS5saXN0VGFza3ModGFza09wdHMpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHRoaXMuZXh0cmFjdERhdGEpLFxuICAgICAgICAgICAgbWFwKCh0YXNrcykgPT5cbiAgICAgICAgICAgICAgICB0YXNrcy5tYXAoKHRhc2s6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0YXNrLmNyZWF0ZWQgPSBEYXRlRm5zVXRpbHMuZm9ybWF0RGF0ZShuZXcgRGF0ZSh0YXNrLmNyZWF0ZWQpLCAnWVlZWS1NTS1ERCcpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFzaztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgcHJvY2VzcyBkZWZpbml0aW9ucyBhc3NvY2lhdGVkIHdpdGggYW4gYXBwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcElkIElEIG9mIGEgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIHByb2Nlc3MgZGVmaW5pdGlvbnNcbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzRGVmaW5pdGlvbnMoYXBwSWQ/OiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb2Nlc3NEZWZpbml0aW9uUmVwcmVzZW50YXRpb25bXT4ge1xuICAgICAgICBjb25zdCBvcHRzID0gYXBwSWRcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgbGF0ZXN0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgYXBwRGVmaW5pdGlvbklkOiBhcHBJZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgIGxhdGVzdDogdHJ1ZVxuICAgICAgICAgICAgICB9O1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnByb2Nlc3NEZWZpbml0aW9uc0FwaS5nZXRQcm9jZXNzRGVmaW5pdGlvbnMob3B0cykpLnBpcGUobWFwKHRoaXMuZXh0cmFjdERhdGEpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdGFydHMgYSBwcm9jZXNzIGJhc2VkIG9uIGEgcHJvY2VzcyBkZWZpbml0aW9uLCBuYW1lLCBmb3JtIHZhbHVlcyBvciB2YXJpYWJsZXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0RlZmluaXRpb25JZCBQcm9jZXNzIGRlZmluaXRpb24gSURcbiAgICAgKiBAcGFyYW0gbmFtZSBQcm9jZXNzIG5hbWVcbiAgICAgKiBAcGFyYW0gb3V0Y29tZSBQcm9jZXNzIG91dGNvbWVcbiAgICAgKiBAcGFyYW0gc3RhcnRGb3JtVmFsdWVzIFZhbHVlcyBmb3IgdGhlIHN0YXJ0IGZvcm1cbiAgICAgKiBAcGFyYW0gdmFyaWFibGVzIEFycmF5IG9mIHByb2Nlc3MgaW5zdGFuY2UgdmFyaWFibGVzXG4gICAgICogQHJldHVybnMgRGV0YWlscyBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSBqdXN0IHN0YXJ0ZWRcbiAgICAgKi9cbiAgICBzdGFydFByb2Nlc3MoXG4gICAgICAgIHByb2Nlc3NEZWZpbml0aW9uSWQ6IHN0cmluZyxcbiAgICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgICBvdXRjb21lPzogc3RyaW5nLFxuICAgICAgICBzdGFydEZvcm1WYWx1ZXM/OiBGb3JtVmFsdWVzLFxuICAgICAgICB2YXJpYWJsZXM/OiBSZXN0VmFyaWFibGVbXVxuICAgICk6IE9ic2VydmFibGU8UHJvY2Vzc0luc3RhbmNlUmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgY29uc3Qgc3RhcnRSZXF1ZXN0OiBhbnkgPSB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25JZFxuICAgICAgICB9O1xuICAgICAgICBpZiAob3V0Y29tZSkge1xuICAgICAgICAgICAgc3RhcnRSZXF1ZXN0Lm91dGNvbWUgPSBvdXRjb21lO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGFydEZvcm1WYWx1ZXMpIHtcbiAgICAgICAgICAgIHN0YXJ0UmVxdWVzdC52YWx1ZXMgPSBzdGFydEZvcm1WYWx1ZXM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhcmlhYmxlcykge1xuICAgICAgICAgICAgc3RhcnRSZXF1ZXN0LnZhcmlhYmxlcyA9IHZhcmlhYmxlcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnByb2Nlc3NJbnN0YW5jZXNBcGkuc3RhcnROZXdQcm9jZXNzSW5zdGFuY2Uoc3RhcnRSZXF1ZXN0KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FuY2VscyBhIHByb2Nlc3MgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0luc3RhbmNlSWQgSUQgb2YgcHJvY2VzcyB0byBjYW5jZWxcbiAgICAgKiBAcmV0dXJucyBOdWxsIHJlc3BvbnNlIG5vdGlmeWluZyB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVcbiAgICAgKi9cbiAgICBjYW5jZWxQcm9jZXNzKHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5wcm9jZXNzSW5zdGFuY2VzQXBpLmRlbGV0ZVByb2Nlc3NJbnN0YW5jZShwcm9jZXNzSW5zdGFuY2VJZCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHZhcmlhYmxlcyBmb3IgYSBwcm9jZXNzIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIElEIG9mIHRoZSB0YXJnZXQgcHJvY2Vzc1xuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIGluc3RhbmNlIHZhcmlhYmxlIGluZm9cbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzSW5zdGFuY2VWYXJpYWJsZXMocHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzdFZhcmlhYmxlW10+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5wcm9jZXNzSW5zdGFuY2VWYXJpYWJsZXNBcGkuZ2V0UHJvY2Vzc0luc3RhbmNlVmFyaWFibGVzKHByb2Nlc3NJbnN0YW5jZUlkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBvciB1cGRhdGVzIHZhcmlhYmxlcyBmb3IgYSBwcm9jZXNzIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIElEIG9mIHRoZSB0YXJnZXQgcHJvY2Vzc1xuICAgICAqIEBwYXJhbSB2YXJpYWJsZXMgVmFyaWFibGVzIHRvIHVwZGF0ZVxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIGluc3RhbmNlIHZhcmlhYmxlIGluZm9cbiAgICAgKi9cbiAgICBjcmVhdGVPclVwZGF0ZVByb2Nlc3NJbnN0YW5jZVZhcmlhYmxlcyhwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nLCB2YXJpYWJsZXM6IFJlc3RWYXJpYWJsZVtdKTogT2JzZXJ2YWJsZTxSZXN0VmFyaWFibGVbXT4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnByb2Nlc3NJbnN0YW5jZVZhcmlhYmxlc0FwaS5jcmVhdGVPclVwZGF0ZVByb2Nlc3NJbnN0YW5jZVZhcmlhYmxlcyhwcm9jZXNzSW5zdGFuY2VJZCwgdmFyaWFibGVzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBhIHZhcmlhYmxlIGZvciBhIHByb2Nlc3MgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0luc3RhbmNlSWQgSUQgb2YgdGhlIHRhcmdldCBwcm9jZXNzXG4gICAgICogQHBhcmFtIHZhcmlhYmxlTmFtZSBOYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBkZWxldGVcbiAgICAgKiBAcmV0dXJucyBOdWxsIHJlc3BvbnNlIG5vdGlmeWluZyB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVcbiAgICAgKi9cbiAgICBkZWxldGVQcm9jZXNzSW5zdGFuY2VWYXJpYWJsZShwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nLCB2YXJpYWJsZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnByb2Nlc3NJbnN0YW5jZVZhcmlhYmxlc0FwaS5kZWxldGVQcm9jZXNzSW5zdGFuY2VWYXJpYWJsZShwcm9jZXNzSW5zdGFuY2VJZCwgdmFyaWFibGVOYW1lKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHRyYWN0RGF0YShyZXM6IGFueSkge1xuICAgICAgICByZXR1cm4gcmVzLmRhdGEgfHwge307XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzTmFtZU9yRGVzY3JpcHRpb24ocHJvY2Vzc0luc3RhbmNlOiBQcm9jZXNzSW5zdGFuY2VSZXByZXNlbnRhdGlvbiwgZGF0ZUZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG5hbWUgPSAnJztcblxuICAgICAgICBpZiAocHJvY2Vzc0luc3RhbmNlKSB7XG4gICAgICAgICAgICBuYW1lID0gcHJvY2Vzc0luc3RhbmNlLm5hbWUgfHwgcHJvY2Vzc0luc3RhbmNlLnByb2Nlc3NEZWZpbml0aW9uTmFtZSArICcgLSAnICsgdGhpcy5nZXRGb3JtYXREYXRlKHByb2Nlc3NJbnN0YW5jZS5zdGFydGVkLCBkYXRlRm9ybWF0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Rm9ybWF0RGF0ZSh2YWx1ZTogRGF0ZSwgZGF0ZUZvcm1hdDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGRhdGVQaXBlID0gbmV3IERhdGVQaXBlKCdlbi1VUycpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCBkYXRlRm9ybWF0KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|