@alfresco/adf-process-services-cloud 8.1.0-16500060130 → 8.1.0
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/bundles/assets/adf-process-services-cloud/i18n/de.json +0 -3
- package/bundles/assets/adf-process-services-cloud/i18n/es.json +0 -3
- package/bundles/assets/adf-process-services-cloud/i18n/fr.json +0 -3
- package/bundles/assets/adf-process-services-cloud/i18n/it.json +0 -3
- package/bundles/assets/adf-process-services-cloud/i18n/pl.json +0 -3
- package/bundles/assets/adf-process-services-cloud/i18n/pt.json +0 -3
- package/fesm2022/adf-process-services-cloud.mjs +490 -410
- package/fesm2022/adf-process-services-cloud.mjs.map +1 -1
- package/lib/app/services/apps-process-cloud.service.d.ts +2 -2
- package/lib/form/components/widgets/display-rich-text/display-rich-text.widget.scss +0 -1
- package/lib/process/start-process/components/start-process-cloud.component.d.ts +0 -1
- package/lib/process/start-process/components/start-process-cloud.component.scss +4 -0
- package/lib/process/start-process/services/start-process-cloud.service.d.ts +1 -0
- package/lib/process-services-cloud.module.d.ts +2 -1
- package/lib/screen/components/screen-cloud/screen-cloud.component.d.ts +1 -1
- package/lib/screen/public-api.d.ts +3 -1
- package/lib/screen/services/provide-screen.d.ts +37 -0
- package/lib/{services → screen/services}/screen-rendering.service.d.ts +29 -0
- package/lib/services/public-api.d.ts +0 -1
- package/lib/task/task-filters/components/base-task-filters-cloud.component.d.ts +1 -1
- package/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.d.ts +1 -1
- package/lib/task/task-list/components/base-task-list-cloud.component.d.ts +1 -1
- package/package.json +4 -6
- package/esm2022/adf-process-services-cloud.mjs +0 -5
- package/esm2022/lib/app/app-list-cloud.module.mjs +0 -20
- package/esm2022/lib/app/components/app-details-cloud/app-details-cloud.component.mjs +0 -67
- package/esm2022/lib/app/components/app-list-cloud/app-list-cloud.component.mjs +0 -125
- package/esm2022/lib/app/models/application-instance.model.mjs +0 -24
- package/esm2022/lib/app/public-api.mjs +0 -22
- package/esm2022/lib/app/services/apps-process-cloud.service.mjs +0 -97
- package/esm2022/lib/common/date-range-filter/date-range-filter.component.mjs +0 -163
- package/esm2022/lib/common/date-range-filter/date-range-filter.service.mjs +0 -97
- package/esm2022/lib/common/index.mjs +0 -18
- package/esm2022/lib/common/interface/environment.interface.mjs +0 -18
- package/esm2022/lib/common/interface/index.mjs +0 -18
- package/esm2022/lib/common/interface/public-api.mjs +0 -18
- package/esm2022/lib/common/public-api.mjs +0 -19
- package/esm2022/lib/form/components/cloud-form-rendering.service.mjs +0 -57
- package/esm2022/lib/form/components/form-cloud-custom-outcomes.component.mjs +0 -31
- package/esm2022/lib/form/components/form-cloud.component.mjs +0 -420
- package/esm2022/lib/form/components/form-definition-selector-cloud.component.mjs +0 -53
- package/esm2022/lib/form/components/spinner/form-spinner.component.mjs +0 -35
- package/esm2022/lib/form/components/widgets/attach-file/attach-file-cloud-widget.component.mjs +0 -249
- package/esm2022/lib/form/components/widgets/attach-file/file-properties-table/file-properties-table-cloud.component.mjs +0 -136
- package/esm2022/lib/form/components/widgets/data-table/data-table-adapter.widget.mjs +0 -107
- package/esm2022/lib/form/components/widgets/data-table/data-table.widget.mjs +0 -120
- package/esm2022/lib/form/components/widgets/data-table/helpers/data-table-path-parser.helper.mjs +0 -122
- package/esm2022/lib/form/components/widgets/date/date-cloud.widget.mjs +0 -189
- package/esm2022/lib/form/components/widgets/display-external-property/display-external-property.widget.mjs +0 -85
- package/esm2022/lib/form/components/widgets/display-rich-text/display-rich-text.widget.mjs +0 -80
- package/esm2022/lib/form/components/widgets/dropdown/dropdown-cloud.widget.mjs +0 -464
- package/esm2022/lib/form/components/widgets/dropdown/validators.mjs +0 -29
- package/esm2022/lib/form/components/widgets/file-viewer/file-viewer.widget.mjs +0 -46
- package/esm2022/lib/form/components/widgets/group/group-cloud.widget.mjs +0 -82
- package/esm2022/lib/form/components/widgets/people/people-cloud.widget.mjs +0 -91
- package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer-wrapper/properties-viewer-wrapper.component.mjs +0 -81
- package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer.widget.mjs +0 -53
- package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.schema.mjs +0 -86
- package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.widget.mjs +0 -116
- package/esm2022/lib/form/components/widgets/upload/upload-cloud.widget.mjs +0 -187
- package/esm2022/lib/form/form-cloud.module.mjs +0 -99
- package/esm2022/lib/form/models/form-cloud-representation.model.mjs +0 -48
- package/esm2022/lib/form/models/task-variable-cloud.model.mjs +0 -28
- package/esm2022/lib/form/public-api.mjs +0 -44
- package/esm2022/lib/form/services/content-cloud-node-selector.service.mjs +0 -120
- package/esm2022/lib/form/services/display-mode.service.mjs +0 -146
- package/esm2022/lib/form/services/form-cloud.service.interface.mjs +0 -18
- package/esm2022/lib/form/services/form-cloud.service.mjs +0 -201
- package/esm2022/lib/form/services/form-definition-selector-cloud.service.interface.mjs +0 -18
- package/esm2022/lib/form/services/form-definition-selector-cloud.service.mjs +0 -51
- package/esm2022/lib/form/services/form-utils.service.mjs +0 -37
- package/esm2022/lib/form/services/process-cloud-content.service.mjs +0 -71
- package/esm2022/lib/form/services/spinner/form-cloud-spinner.service.mjs +0 -52
- package/esm2022/lib/group/components/group-cloud.component.mjs +0 -423
- package/esm2022/lib/group/group-cloud.module.mjs +0 -33
- package/esm2022/lib/group/models/identity-group.model.mjs +0 -18
- package/esm2022/lib/group/public-api.mjs +0 -21
- package/esm2022/lib/group/services/identity-group.service.mjs +0 -89
- package/esm2022/lib/models/application-version.model.mjs +0 -21
- package/esm2022/lib/models/constant-values.type.mjs +0 -18
- package/esm2022/lib/models/data-column-custom-data.mjs +0 -18
- package/esm2022/lib/models/date-cloud-filter.model.mjs +0 -31
- package/esm2022/lib/models/date-format-cloud.model.mjs +0 -18
- package/esm2022/lib/models/engine-event-cloud.model.mjs +0 -18
- package/esm2022/lib/models/filter-cloud-model.mjs +0 -128
- package/esm2022/lib/models/process-definition-cloud.model.mjs +0 -32
- package/esm2022/lib/models/process-instance-variable.model.mjs +0 -18
- package/esm2022/lib/models/process-variable-filter.model.mjs +0 -18
- package/esm2022/lib/models/task-cloud.model.mjs +0 -23
- package/esm2022/lib/models/task-list-sorting.model.mjs +0 -40
- package/esm2022/lib/models/variable-definition.mjs +0 -18
- package/esm2022/lib/people/components/people-cloud.component.mjs +0 -498
- package/esm2022/lib/people/models/identity-user.model.mjs +0 -18
- package/esm2022/lib/people/people-cloud.module.mjs +0 -33
- package/esm2022/lib/people/public-api.mjs +0 -21
- package/esm2022/lib/people/services/identity-user.service.mjs +0 -119
- package/esm2022/lib/process/process-cloud.module.mjs +0 -40
- package/esm2022/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.mjs +0 -801
- package/esm2022/lib/process/process-filters/components/process-filter-dialog/process-filter-dialog-cloud.component.mjs +0 -58
- package/esm2022/lib/process/process-filters/components/process-filters/process-filters-cloud.component.mjs +0 -292
- package/esm2022/lib/process/process-filters/models/process-filter-cloud.model.mjs +0 -170
- package/esm2022/lib/process/process-filters/process-filters-cloud.module.mjs +0 -44
- package/esm2022/lib/process/process-filters/public-api.mjs +0 -23
- package/esm2022/lib/process/process-filters/services/process-filter-cloud.service.mjs +0 -408
- package/esm2022/lib/process/process-header/components/process-header-cloud.component.mjs +0 -137
- package/esm2022/lib/process/process-header/process-header-cloud.module.mjs +0 -33
- package/esm2022/lib/process/process-header/public-api.mjs +0 -19
- package/esm2022/lib/process/process-list/components/process-list-cloud.component.mjs +0 -593
- package/esm2022/lib/process/process-list/datatable/process-list-datatable-adapter.mjs +0 -31
- package/esm2022/lib/process/process-list/models/perocess-instance-cloud-view.model.mjs +0 -18
- package/esm2022/lib/process/process-list/models/process-cloud-preferences.mjs +0 -24
- package/esm2022/lib/process/process-list/models/process-cloud-preset.model.mjs +0 -37
- package/esm2022/lib/process/process-list/models/process-cloud-query-request.model.mjs +0 -107
- package/esm2022/lib/process/process-list/models/process-list-sorting.model.mjs +0 -40
- package/esm2022/lib/process/process-list/process-list-cloud.module.mjs +0 -45
- package/esm2022/lib/process/process-list/public-api.mjs +0 -25
- package/esm2022/lib/process/process-list/services/process-list-cloud.service.mjs +0 -253
- package/esm2022/lib/process/process-list/services/process-task-list-cloud.service.mjs +0 -109
- package/esm2022/lib/process/public-api.mjs +0 -23
- package/esm2022/lib/process/services/process-cloud.service.mjs +0 -105
- package/esm2022/lib/process/start-process/components/start-process-cloud.component.mjs +0 -465
- package/esm2022/lib/process/start-process/models/process-instance-cloud.model.mjs +0 -18
- package/esm2022/lib/process/start-process/models/process-payload-cloud.model.mjs +0 -26
- package/esm2022/lib/process/start-process/models/process-with-form-payload-cloud.model.mjs +0 -26
- package/esm2022/lib/process/start-process/public-api.mjs +0 -21
- package/esm2022/lib/process/start-process/services/start-process-cloud.service.mjs +0 -125
- package/esm2022/lib/process-services-cloud.module.mjs +0 -98
- package/esm2022/lib/providers.mjs +0 -45
- package/esm2022/lib/screen/components/screen-cloud/screen-cloud.component.mjs +0 -186
- package/esm2022/lib/screen/models/screen-cloud.model.mjs +0 -18
- package/esm2022/lib/screen/public-api.mjs +0 -18
- package/esm2022/lib/services/base-cloud.service.mjs +0 -83
- package/esm2022/lib/services/cloud-token.service.mjs +0 -23
- package/esm2022/lib/services/form-fields.interfaces.mjs +0 -55
- package/esm2022/lib/services/local-preference-cloud.service.mjs +0 -122
- package/esm2022/lib/services/notification-cloud.service.mjs +0 -45
- package/esm2022/lib/services/preference-cloud.interface.mjs +0 -18
- package/esm2022/lib/services/public-api.mjs +0 -28
- package/esm2022/lib/services/screen-rendering.service.mjs +0 -30
- package/esm2022/lib/services/task-list-cloud.service.interface.mjs +0 -18
- package/esm2022/lib/services/user-preference-cloud.service.mjs +0 -105
- package/esm2022/lib/services/variable-mapper.sevice.mjs +0 -77
- package/esm2022/lib/services/web-socket.service.mjs +0 -146
- package/esm2022/lib/task/models/start-task-cloud-request.model.mjs +0 -32
- package/esm2022/lib/task/models/task-details-cloud.model.mjs +0 -26
- package/esm2022/lib/task/models/task.model.mjs +0 -23
- package/esm2022/lib/task/public-api.mjs +0 -26
- package/esm2022/lib/task/services/task-cloud.service.mjs +0 -272
- package/esm2022/lib/task/task-cloud.module.mjs +0 -45
- package/esm2022/lib/task/task-filters/components/base-task-filters-cloud.component.mjs +0 -59
- package/esm2022/lib/task/task-filters/components/edit-task-filters/base-edit-task-filter-cloud.component.mjs +0 -467
- package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter/edit-service-task-filter-cloud.component.mjs +0 -205
- package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component.mjs +0 -317
- package/esm2022/lib/task/task-filters/components/service-task-filters/service-task-filters-cloud.component.mjs +0 -146
- package/esm2022/lib/task/task-filters/components/task-assignment-filter/task-assignment-filter.component.mjs +0 -142
- package/esm2022/lib/task/task-filters/components/task-filter-dialog/task-filter-dialog-cloud.component.mjs +0 -72
- package/esm2022/lib/task/task-filters/components/task-filters/task-filters-cloud.component.mjs +0 -255
- package/esm2022/lib/task/task-filters/models/filter-cloud.model.mjs +0 -207
- package/esm2022/lib/task/task-filters/public-api.mjs +0 -27
- package/esm2022/lib/task/task-filters/services/service-task-filter-cloud.service.mjs +0 -283
- package/esm2022/lib/task/task-filters/services/task-filter-cloud.service.mjs +0 -392
- package/esm2022/lib/task/task-filters/task-filters-cloud.module.mjs +0 -56
- package/esm2022/lib/task/task-form/components/task-form-cloud/task-form-cloud.component.mjs +0 -231
- package/esm2022/lib/task/task-form/components/user-task-cloud/complete-task/complete-task.directive.mjs +0 -89
- package/esm2022/lib/task/task-form/components/user-task-cloud/user-task-cloud.component.mjs +0 -309
- package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/claim-task/claim-task-cloud.directive.mjs +0 -101
- package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/unclaim-task/unclaim-task-cloud.directive.mjs +0 -87
- package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/user-task-cloud-buttons.component.mjs +0 -85
- package/esm2022/lib/task/task-form/public-api.mjs +0 -21
- package/esm2022/lib/task/task-form/task-form.module.mjs +0 -36
- package/esm2022/lib/task/task-header/components/task-header-cloud.component.mjs +0 -280
- package/esm2022/lib/task/task-header/public-api.mjs +0 -19
- package/esm2022/lib/task/task-header/task-header-cloud.module.mjs +0 -33
- package/esm2022/lib/task/task-list/components/base-task-list-cloud.component.mjs +0 -331
- package/esm2022/lib/task/task-list/components/service-task-list/service-task-list-cloud.component.mjs +0 -115
- package/esm2022/lib/task/task-list/components/task-list/datatable/task-list-datatable-adapter.mjs +0 -31
- package/esm2022/lib/task/task-list/components/task-list/task-list-cloud.component.mjs +0 -389
- package/esm2022/lib/task/task-list/models/service-task-cloud.model.mjs +0 -18
- package/esm2022/lib/task/task-list/models/task-cloud-view.model.mjs +0 -18
- package/esm2022/lib/task/task-list/public-api.mjs +0 -23
- package/esm2022/lib/task/task-list/services/service-task-list-cloud.service.mjs +0 -115
- package/esm2022/lib/task/task-list/services/task-list-cloud.service.mjs +0 -178
- package/esm2022/lib/task/task-list/task-list-cloud.module.mjs +0 -35
- package/esm2022/lib/types.mjs +0 -18
- package/esm2022/public-api.mjs +0 -40
- /package/lib/screen/{models → components/screen-cloud}/screen-cloud.model.d.ts +0 -0
|
@@ -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
|
-
export * from './models/task-variable-cloud.model';
|
|
18
|
-
export * from './components/spinner/form-spinner.component';
|
|
19
|
-
export * from './components/form-cloud-custom-outcomes.component';
|
|
20
|
-
export * from './components/form-cloud.component';
|
|
21
|
-
export * from './components/form-definition-selector-cloud.component';
|
|
22
|
-
export * from './components/cloud-form-rendering.service';
|
|
23
|
-
export * from './components/widgets/attach-file/attach-file-cloud-widget.component';
|
|
24
|
-
export * from './components/widgets/attach-file/file-properties-table/file-properties-table-cloud.component';
|
|
25
|
-
export * from './components/widgets/upload/upload-cloud.widget';
|
|
26
|
-
export * from './components/widgets/date/date-cloud.widget';
|
|
27
|
-
export * from './components/widgets/dropdown/dropdown-cloud.widget';
|
|
28
|
-
export * from './components/widgets/group/group-cloud.widget';
|
|
29
|
-
export * from './components/widgets/people/people-cloud.widget';
|
|
30
|
-
export * from './components/widgets/properties-viewer/properties-viewer.widget';
|
|
31
|
-
export * from './components/widgets/properties-viewer/properties-viewer-wrapper/properties-viewer-wrapper.component';
|
|
32
|
-
export * from './components/widgets/file-viewer/file-viewer.widget';
|
|
33
|
-
export * from './components/widgets/display-rich-text/display-rich-text.widget';
|
|
34
|
-
// widgets with schema
|
|
35
|
-
export * from './components/widgets/radio-buttons/radio-buttons-cloud.widget';
|
|
36
|
-
export * from './components/widgets/radio-buttons/radio-buttons-cloud.schema';
|
|
37
|
-
export * from './services/content-cloud-node-selector.service';
|
|
38
|
-
export * from './services/form-cloud.service';
|
|
39
|
-
export * from './services/form-definition-selector-cloud.service';
|
|
40
|
-
export * from './services/content-cloud-node-selector.service';
|
|
41
|
-
export * from './services/process-cloud-content.service';
|
|
42
|
-
export * from './services/display-mode.service';
|
|
43
|
-
export * from './form-cloud.module';
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvZm9ybS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYyw4RkFBOEYsQ0FBQztBQUM3RyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLHNHQUFzRyxDQUFDO0FBQ3JILGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxpRUFBaUUsQ0FBQztBQUVoRixzQkFBc0I7QUFDdEIsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLCtEQUErRCxDQUFDO0FBRTlFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3Rhc2stdmFyaWFibGUtY2xvdWQubW9kZWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc3Bpbm5lci9mb3JtLXNwaW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWNsb3VkLWN1c3RvbS1vdXRjb21lcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tY2xvdWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWRlZmluaXRpb24tc2VsZWN0b3ItY2xvdWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jbG91ZC1mb3JtLXJlbmRlcmluZy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvYXR0YWNoLWZpbGUvYXR0YWNoLWZpbGUtY2xvdWQtd2lkZ2V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9hdHRhY2gtZmlsZS9maWxlLXByb3BlcnRpZXMtdGFibGUvZmlsZS1wcm9wZXJ0aWVzLXRhYmxlLWNsb3VkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy91cGxvYWQvdXBsb2FkLWNsb3VkLndpZGdldCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRlL2RhdGUtY2xvdWQud2lkZ2V0JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2Ryb3Bkb3duL2Ryb3Bkb3duLWNsb3VkLndpZGdldCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9ncm91cC9ncm91cC1jbG91ZC53aWRnZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvcGVvcGxlL3Blb3BsZS1jbG91ZC53aWRnZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvcHJvcGVydGllcy12aWV3ZXIvcHJvcGVydGllcy12aWV3ZXIud2lkZ2V0JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3Byb3BlcnRpZXMtdmlld2VyL3Byb3BlcnRpZXMtdmlld2VyLXdyYXBwZXIvcHJvcGVydGllcy12aWV3ZXItd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIud2lkZ2V0JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2Rpc3BsYXktcmljaC10ZXh0L2Rpc3BsYXktcmljaC10ZXh0LndpZGdldCc7XG5cbi8vIHdpZGdldHMgd2l0aCBzY2hlbWFcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3JhZGlvLWJ1dHRvbnMvcmFkaW8tYnV0dG9ucy1jbG91ZC53aWRnZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvcmFkaW8tYnV0dG9ucy9yYWRpby1idXR0b25zLWNsb3VkLnNjaGVtYSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY29udGVudC1jbG91ZC1ub2RlLXNlbGVjdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLWNsb3VkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLWRlZmluaXRpb24tc2VsZWN0b3ItY2xvdWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2NvbnRlbnQtY2xvdWQtbm9kZS1zZWxlY3Rvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcHJvY2Vzcy1jbG91ZC1jb250ZW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9kaXNwbGF5LW1vZGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1jbG91ZC5tb2R1bGUnO1xuIl19
|
|
@@ -1,120 +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 { Injectable } from '@angular/core';
|
|
18
|
-
import { NotificationService } from '@alfresco/adf-core';
|
|
19
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
20
|
-
import { ContentNodeSelectorComponent, NodeAction, AlfrescoApiService } from '@alfresco/adf-content-services';
|
|
21
|
-
import { NodesApi } from '@alfresco/js-api';
|
|
22
|
-
import { from, Subject, throwError } from 'rxjs';
|
|
23
|
-
import { catchError, map, mapTo } from 'rxjs/operators';
|
|
24
|
-
import * as i0 from "@angular/core";
|
|
25
|
-
import * as i1 from "@alfresco/adf-content-services";
|
|
26
|
-
import * as i2 from "@alfresco/adf-core";
|
|
27
|
-
import * as i3 from "@angular/material/dialog";
|
|
28
|
-
export class ContentCloudNodeSelectorService {
|
|
29
|
-
get nodesApi() {
|
|
30
|
-
this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
|
|
31
|
-
return this._nodesApi;
|
|
32
|
-
}
|
|
33
|
-
constructor(apiService, notificationService, dialog) {
|
|
34
|
-
this.apiService = apiService;
|
|
35
|
-
this.notificationService = notificationService;
|
|
36
|
-
this.dialog = dialog;
|
|
37
|
-
this.sourceNodeNotFound = false;
|
|
38
|
-
}
|
|
39
|
-
openUploadFileDialog(currentFolderId, selectionMode, isAllFileSources, restrictRootToCurrentFolderId) {
|
|
40
|
-
const select = new Subject();
|
|
41
|
-
select.subscribe({ complete: this.close.bind(this) });
|
|
42
|
-
const data = {
|
|
43
|
-
title: 'Select a file',
|
|
44
|
-
actionName: NodeAction.ATTACH,
|
|
45
|
-
currentFolderId,
|
|
46
|
-
restrictRootToCurrentFolderId,
|
|
47
|
-
select,
|
|
48
|
-
selectionMode,
|
|
49
|
-
isSelectionValid: (entry) => entry.isFile,
|
|
50
|
-
showFilesInResult: true,
|
|
51
|
-
showDropdownSiteList: false,
|
|
52
|
-
showLocalUploadButton: isAllFileSources
|
|
53
|
-
};
|
|
54
|
-
this.openContentNodeDialog(data, 'adf-content-node-selector-dialog', '66%');
|
|
55
|
-
return select;
|
|
56
|
-
}
|
|
57
|
-
async getNodeIdFromPath(destinationFolderPath) {
|
|
58
|
-
if (destinationFolderPath.alias && destinationFolderPath.path) {
|
|
59
|
-
try {
|
|
60
|
-
return await this.getNodeId(destinationFolderPath.alias, destinationFolderPath.path).toPromise();
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
/*empty*/
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return this.getNodeId(destinationFolderPath.alias).toPromise();
|
|
67
|
-
}
|
|
68
|
-
async getNodeIdFromFolderVariableValue(variableValue, defaultAlias) {
|
|
69
|
-
const isExistingNode = await this.isExistingNode(variableValue);
|
|
70
|
-
return isExistingNode ? variableValue : this.getNodeId(defaultAlias).toPromise();
|
|
71
|
-
}
|
|
72
|
-
async isExistingNode(nodeId) {
|
|
73
|
-
let isExistingNode = false;
|
|
74
|
-
if (nodeId) {
|
|
75
|
-
try {
|
|
76
|
-
isExistingNode = await this.getNodeId(nodeId).pipe(mapTo(true)).toPromise();
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
/*empty*/
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return isExistingNode;
|
|
83
|
-
}
|
|
84
|
-
getNodeId(nodeId, relativePath) {
|
|
85
|
-
let opts;
|
|
86
|
-
if (relativePath) {
|
|
87
|
-
opts = { relativePath };
|
|
88
|
-
}
|
|
89
|
-
return from(this.nodesApi.getNode(nodeId, opts)).pipe(map((nodeEntry) => nodeEntry.entry.id), catchError((error) => {
|
|
90
|
-
this.sourceNodeNotFound = true;
|
|
91
|
-
return this.handleError(error);
|
|
92
|
-
}));
|
|
93
|
-
}
|
|
94
|
-
openContentNodeDialog(data, currentPanelClass, chosenWidth) {
|
|
95
|
-
const contentNodeDialog = this.dialog.open(ContentNodeSelectorComponent, { data, panelClass: currentPanelClass, width: chosenWidth });
|
|
96
|
-
contentNodeDialog.afterOpened().subscribe(() => {
|
|
97
|
-
if (this.sourceNodeNotFound) {
|
|
98
|
-
this.notificationService.showWarning('ADF_CLOUD_TASK_FORM.ERROR.DESTINATION_FOLDER_PATH_ERROR');
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
contentNodeDialog.afterClosed().subscribe(() => {
|
|
102
|
-
this.sourceNodeNotFound = false;
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
close() {
|
|
106
|
-
this.dialog.closeAll();
|
|
107
|
-
}
|
|
108
|
-
handleError(error) {
|
|
109
|
-
return throwError(error || 'Server error');
|
|
110
|
-
}
|
|
111
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentCloudNodeSelectorService, deps: [{ token: i1.AlfrescoApiService }, { token: i2.NotificationService }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
112
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentCloudNodeSelectorService, providedIn: 'root' }); }
|
|
113
|
-
}
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentCloudNodeSelectorService, decorators: [{
|
|
115
|
-
type: Injectable,
|
|
116
|
-
args: [{
|
|
117
|
-
providedIn: 'root'
|
|
118
|
-
}]
|
|
119
|
-
}], ctorParameters: () => [{ type: i1.AlfrescoApiService }, { type: i2.NotificationService }, { type: i3.MatDialog }] });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1jbG91ZC1ub2RlLXNlbGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vc2VydmljZXMvY29udGVudC1jbG91ZC1ub2RlLXNlbGVjdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLDRCQUE0QixFQUFvQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoSixPQUFPLEVBQW1CLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdELE9BQU8sRUFBRSxJQUFJLEVBQWMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNeEQsTUFBTSxPQUFPLCtCQUErQjtJQUV4QyxJQUFJLFFBQVE7UUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBSUQsWUFBb0IsVUFBOEIsRUFBVSxtQkFBd0MsRUFBVSxNQUFpQjtRQUEzRyxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxX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QUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1lBQy9CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVPLHFCQUFxQixDQUFDLElBQXNDLEVBQUUsaUJBQXlCLEVBQUUsV0FBbUI7UUFDaEgsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdEksaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMzQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7WUFDcEcsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMzQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBVTtRQUMxQixPQUFPLFVBQVUsQ0FBQyxLQUFLLElBQUksY0FBYyxDQUFDLENBQUM7SUFDL0MsQ0FBQzsrR0FoR1EsK0JBQStCO21IQUEvQiwrQkFBK0IsY0FGNUIsTUFBTTs7NEZBRVQsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudCwgQ29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudERhdGEsIE5vZGVBY3Rpb24sIEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBOb2RlLCBOb2RlRW50cnksIE5vZGVzQXBpIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIG1hcFRvIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGVzdGluYXRpb25Gb2xkZXJQYXRoTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS1jbG91ZC1yZXByZXNlbnRhdGlvbi5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudENsb3VkTm9kZVNlbGVjdG9yU2VydmljZSB7XG4gICAgcHJpdmF0ZSBfbm9kZXNBcGk6IE5vZGVzQXBpO1xuICAgIGdldCBub2Rlc0FwaSgpOiBOb2Rlc0FwaSB7XG4gICAgICAgIHRoaXMuX25vZGVzQXBpID0gdGhpcy5fbm9kZXNBcGkgPz8gbmV3IE5vZGVzQXBpKHRoaXMuYXBpU2VydmljZS5nZXRJbnN0YW5jZSgpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vZGVzQXBpO1xuICAgIH1cblxuICAgIHNvdXJjZU5vZGVOb3RGb3VuZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UsIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSwgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykge31cblxuICAgIG9wZW5VcGxvYWRGaWxlRGlhbG9nKFxuICAgICAgICBjdXJyZW50Rm9sZGVySWQ/OiBzdHJpbmcsXG4gICAgICAgIHNlbGVjdGlvbk1vZGU/OiBzdHJpbmcsXG4gICAgICAgIGlzQWxsRmlsZVNvdXJjZXM/OiBib29sZWFuLFxuICAgICAgICByZXN0cmljdFJvb3RUb0N1cnJlbnRGb2xkZXJJZD86IGJvb2xlYW5cbiAgICApOiBPYnNlcnZhYmxlPE5vZGVbXT4ge1xuICAgICAgICBjb25zdCBzZWxlY3QgPSBuZXcgU3ViamVjdDxOb2RlW10+KCk7XG4gICAgICAgIHNlbGVjdC5zdWJzY3JpYmUoeyBjb21wbGV0ZTogdGhpcy5jbG9zZS5iaW5kKHRoaXMpIH0pO1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgdGl0bGU6ICdTZWxlY3QgYSBmaWxlJyxcbiAgICAgICAgICAgIGFjdGlvbk5hbWU6IE5vZGVBY3Rpb24uQVRUQUNILFxuICAgICAgICAgICAgY3VycmVudEZvbGRlcklkLFxuICAgICAgICAgICAgcmVzdHJpY3RSb290VG9DdXJyZW50Rm9sZGVySWQsXG4gICAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgICBzZWxlY3Rpb25Nb2RlLFxuICAgICAgICAgICAgaXNTZWxlY3Rpb25WYWxpZDogKGVudHJ5OiBOb2RlKSA9PiBlbnRyeS5pc0ZpbGUsXG4gICAgICAgICAgICBzaG93RmlsZXNJblJlc3VsdDogdHJ1ZSxcbiAgICAgICAgICAgIHNob3dEcm9wZG93blNpdGVMaXN0OiBmYWxzZSxcbiAgICAgICAgICAgIHNob3dMb2NhbFVwbG9hZEJ1dHRvbjogaXNBbGxGaWxlU291cmNlc1xuICAgICAgICB9IGFzIENvbnRlbnROb2RlU2VsZWN0b3JDb21wb25lbnREYXRhO1xuICAgICAgICB0aGlzLm9wZW5Db250ZW50Tm9kZURpYWxvZyhkYXRhLCAnYWRmLWNvbnRlbnQtbm9kZS1zZWxlY3Rvci1kaWFsb2cnLCAnNjYlJyk7XG4gICAgICAgIHJldHVybiBzZWxlY3Q7XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0Tm9kZUlkRnJvbVBhdGgoZGVzdGluYXRpb25Gb2xkZXJQYXRoOiBEZXN0aW5hdGlvbkZvbGRlclBhdGhNb2RlbCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGlmIChkZXN0aW5hdGlvbkZvbGRlclBhdGguYWxpYXMgJiYgZGVzdGluYXRpb25Gb2xkZXJQYXRoLnBhdGgpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZ2V0Tm9kZUlkKGRlc3RpbmF0aW9uRm9sZGVyUGF0aC5hbGlhcywgZGVzdGluYXRpb25Gb2xkZXJQYXRoLnBhdGgpLnRvUHJvbWlzZSgpO1xuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgLyplbXB0eSovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXROb2RlSWQoZGVzdGluYXRpb25Gb2xkZXJQYXRoLmFsaWFzKS50b1Byb21pc2UoKTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXROb2RlSWRGcm9tRm9sZGVyVmFyaWFibGVWYWx1ZSh2YXJpYWJsZVZhbHVlOiBzdHJpbmcsIGRlZmF1bHRBbGlhcz86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IGlzRXhpc3RpbmdOb2RlID0gYXdhaXQgdGhpcy5pc0V4aXN0aW5nTm9kZSh2YXJpYWJsZVZhbHVlKTtcbiAgICAgICAgcmV0dXJuIGlzRXhpc3RpbmdOb2RlID8gdmFyaWFibGVWYWx1ZSA6IHRoaXMuZ2V0Tm9kZUlkKGRlZmF1bHRBbGlhcykudG9Qcm9taXNlKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgaXNFeGlzdGluZ05vZGUobm9kZUlkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgbGV0IGlzRXhpc3RpbmdOb2RlID0gZmFsc2U7XG4gICAgICAgIGlmIChub2RlSWQpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgaXNFeGlzdGluZ05vZGUgPSBhd2FpdCB0aGlzLmdldE5vZGVJZChub2RlSWQpLnBpcGUobWFwVG8odHJ1ZSkpLnRvUHJvbWlzZSgpO1xuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgLyplbXB0eSovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzRXhpc3RpbmdOb2RlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Tm9kZUlkKG5vZGVJZDogc3RyaW5nLCByZWxhdGl2ZVBhdGg/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBsZXQgb3B0czogYW55O1xuICAgICAgICBpZiAocmVsYXRpdmVQYXRoKSB7XG4gICAgICAgICAgICBvcHRzID0geyByZWxhdGl2ZVBhdGggfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLm5vZGVzQXBpLmdldE5vZGUobm9kZUlkLCBvcHRzKSkucGlwZShcbiAgICAgICAgICAgIG1hcCgobm9kZUVudHJ5OiBOb2RlRW50cnkpID0+IG5vZGVFbnRyeS5lbnRyeS5pZCksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc291cmNlTm9kZU5vdEZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkNvbnRlbnROb2RlRGlhbG9nKGRhdGE6IENvbnRlbnROb2RlU2VsZWN0b3JDb21wb25lbnREYXRhLCBjdXJyZW50UGFuZWxDbGFzczogc3RyaW5nLCBjaG9zZW5XaWR0aDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnROb2RlRGlhbG9nID0gdGhpcy5kaWFsb2cub3BlbihDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50LCB7IGRhdGEsIHBhbmVsQ2xhc3M6IGN1cnJlbnRQYW5lbENsYXNzLCB3aWR0aDogY2hvc2VuV2lkdGggfSk7XG4gICAgICAgIGNvbnRlbnROb2RlRGlhbG9nLmFmdGVyT3BlbmVkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNvdXJjZU5vZGVOb3RGb3VuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5zaG93V2FybmluZygnQURGX0NMT1VEX1RBU0tfRk9STS5FUlJPUi5ERVNUSU5BVElPTl9GT0xERVJfUEFUSF9FUlJPUicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY29udGVudE5vZGVEaWFsb2cuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zb3VyY2VOb2RlTm90Rm91bmQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nLmNsb3NlQWxsKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IgfHwgJ1NlcnZlciBlcnJvcicpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,146 +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 { Injectable } from '@angular/core';
|
|
18
|
-
import { Subject } from 'rxjs';
|
|
19
|
-
import { FormCloudDisplayMode } from '../../services/form-fields.interfaces';
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
export class DisplayModeService {
|
|
22
|
-
static { this.DEFAULT_DISPLAY_MODE_CONFIGURATIONS = [
|
|
23
|
-
{
|
|
24
|
-
displayMode: FormCloudDisplayMode.inline,
|
|
25
|
-
default: true
|
|
26
|
-
}
|
|
27
|
-
]; }
|
|
28
|
-
static { this.IMPLEMENTED_DISPLAY_MODE_CONFIGURATIONS = [
|
|
29
|
-
...DisplayModeService.DEFAULT_DISPLAY_MODE_CONFIGURATIONS,
|
|
30
|
-
{
|
|
31
|
-
displayMode: FormCloudDisplayMode.fullScreen,
|
|
32
|
-
options: {
|
|
33
|
-
onDisplayModeOn: () => { },
|
|
34
|
-
onDisplayModeOff: (id) => DisplayModeService.changeDisplayMode({ displayMode: FormCloudDisplayMode.inline, id }),
|
|
35
|
-
onCompleteTask: (id) => DisplayModeService.changeDisplayMode({ displayMode: FormCloudDisplayMode.inline, id }),
|
|
36
|
-
onSaveTask: () => { },
|
|
37
|
-
fullscreen: true,
|
|
38
|
-
displayToolbar: true,
|
|
39
|
-
displayCloseButton: true,
|
|
40
|
-
trapFocus: true
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
displayMode: FormCloudDisplayMode.standalone,
|
|
45
|
-
options: {
|
|
46
|
-
onDisplayModeOn: () => { },
|
|
47
|
-
onDisplayModeOff: () => { },
|
|
48
|
-
onCompleteTask: () => { },
|
|
49
|
-
onSaveTask: () => { },
|
|
50
|
-
fullscreen: true,
|
|
51
|
-
displayToolbar: false,
|
|
52
|
-
trapFocus: true
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
]; }
|
|
56
|
-
static { this.DEFAULT_DISPLAY_MODE = FormCloudDisplayMode.inline; }
|
|
57
|
-
static { this.displayMode = new Subject(); }
|
|
58
|
-
static { this.displayMode$ = DisplayModeService.displayMode.asObservable(); }
|
|
59
|
-
static changeDisplayMode(change) {
|
|
60
|
-
DisplayModeService.displayMode.next(change);
|
|
61
|
-
}
|
|
62
|
-
getDefaultDisplayModeConfigurations() {
|
|
63
|
-
return DisplayModeService.DEFAULT_DISPLAY_MODE_CONFIGURATIONS;
|
|
64
|
-
}
|
|
65
|
-
getDisplayModeConfigurations(availableConfigurations) {
|
|
66
|
-
if (availableConfigurations && availableConfigurations.length > 0) {
|
|
67
|
-
return availableConfigurations;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
return this.getDefaultDisplayModeConfigurations();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
getDisplayMode(displayMode, availableConfigurations) {
|
|
74
|
-
const configuration = this.findConfiguration(displayMode, availableConfigurations);
|
|
75
|
-
if (configuration) {
|
|
76
|
-
return configuration.displayMode;
|
|
77
|
-
}
|
|
78
|
-
else if (availableConfigurations && availableConfigurations.length > 0) {
|
|
79
|
-
return availableConfigurations.length === 1
|
|
80
|
-
? availableConfigurations[0].displayMode
|
|
81
|
-
: availableConfigurations.find((config) => config.default)?.displayMode || availableConfigurations[0].displayMode;
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
return DisplayModeService.DEFAULT_DISPLAY_MODE;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
findConfiguration(displayMode, availableConfigurations) {
|
|
88
|
-
return this.getDisplayModeConfigurations(availableConfigurations).find((config) => config.displayMode === displayMode);
|
|
89
|
-
}
|
|
90
|
-
onCompleteTask(id, displayMode, availableConfigurations) {
|
|
91
|
-
const configuration = this.findConfiguration(displayMode, availableConfigurations);
|
|
92
|
-
if (configuration?.options?.onCompleteTask) {
|
|
93
|
-
configuration.options.onCompleteTask(id);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
onSaveTask(id, displayMode, availableConfigurations) {
|
|
97
|
-
const configuration = this.findConfiguration(displayMode, availableConfigurations);
|
|
98
|
-
if (configuration?.options?.onSaveTask) {
|
|
99
|
-
configuration.options.onSaveTask(id);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
onDisplayModeOff(id, displayMode, availableConfigurations) {
|
|
103
|
-
const configuration = this.findConfiguration(displayMode, availableConfigurations);
|
|
104
|
-
if (configuration?.options?.onDisplayModeOff) {
|
|
105
|
-
configuration.options.onDisplayModeOff(id);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
onDisplayModeOn(id, displayMode, availableConfigurations) {
|
|
109
|
-
const configuration = this.findConfiguration(displayMode, availableConfigurations);
|
|
110
|
-
if (configuration?.options?.onDisplayModeOn) {
|
|
111
|
-
configuration.options.onDisplayModeOn(id);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
switchToDisplayMode(id, newDisplayMode, oldDisplayMode, availableConfigurations) {
|
|
115
|
-
const oldConfiguration = this.findConfiguration(oldDisplayMode, availableConfigurations);
|
|
116
|
-
const newConfiguration = this.findConfiguration(newDisplayMode, availableConfigurations);
|
|
117
|
-
if (oldConfiguration?.displayMode !== newConfiguration?.displayMode) {
|
|
118
|
-
if (oldConfiguration) {
|
|
119
|
-
this.onDisplayModeOff(id, oldDisplayMode, availableConfigurations);
|
|
120
|
-
}
|
|
121
|
-
if (newConfiguration) {
|
|
122
|
-
DisplayModeService.changeDisplayMode({ id, displayMode: newConfiguration.displayMode });
|
|
123
|
-
this.onDisplayModeOn(id, newDisplayMode, availableConfigurations);
|
|
124
|
-
return newConfiguration.displayMode;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
const displayMode = this.getDisplayMode(newDisplayMode, availableConfigurations);
|
|
128
|
-
DisplayModeService.changeDisplayMode({ id, displayMode });
|
|
129
|
-
this.onDisplayModeOn(id, displayMode, availableConfigurations);
|
|
130
|
-
return displayMode;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
return oldConfiguration?.displayMode || this.getDisplayMode(oldDisplayMode, availableConfigurations);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisplayModeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
138
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisplayModeService, providedIn: 'root' }); }
|
|
139
|
-
}
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisplayModeService, decorators: [{
|
|
141
|
-
type: Injectable,
|
|
142
|
-
args: [{
|
|
143
|
-
providedIn: 'root'
|
|
144
|
-
}]
|
|
145
|
-
}] });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1tb2RlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vc2VydmljZXMvZGlzcGxheS1tb2RlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBaUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFLNUksTUFBTSxPQUFPLGtCQUFrQjthQUNKLHdDQUFtQyxHQUF3QztRQUM5RjtZQUNJLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxNQUFNO1lBQ3hDLE9BQU8sRUFBRSxJQUFJO1NBQ2hCO0tBQ0osQUFMeUQsQ0FLeEQ7YUFFcUIsNENBQXVDLEdBQXdDO1FBQ2xHLEdBQUcsa0JBQWtCLENBQUMsbUNBQW1DO1FBQ3pEO1lBQ0ksV0FBVyxFQUFFLG9CQUFvQixDQUFDLFVBQVU7WUFDNUMsT0FBTyxFQUFFO2dCQUNMLGVBQWUsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO2dCQUN6QixnQkFBZ0IsRUFBRSxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUN4SCxjQUFjLEVBQUUsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDdEgsVUFBVSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7Z0JBQ3BCLFVBQVUsRUFBRSxJ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aWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUNsb3VkRGlzcGxheU1vZGUsIEZvcm1DbG91ZERpc3BsYXlNb2RlQ2hhbmdlLCBGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLWZpZWxkcy5pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEaXNwbGF5TW9kZVNlcnZpY2Uge1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9ESVNQTEFZX01PREVfQ09ORklHVVJBVElPTlM6IEZvcm1DbG91ZERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbltdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5TW9kZTogRm9ybUNsb3VkRGlzcGxheU1vZGUuaW5saW5lLFxuICAgICAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgICB9XG4gICAgXTtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSU1QTEVNRU5URURfRElTUExBWV9NT0RFX0NPTkZJR1VSQVRJT05TOiBGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25bXSA9IFtcbiAgICAgICAgLi4uRGlzcGxheU1vZGVTZXJ2aWNlLkRFRkFVTFRfRElTUExBWV9NT0RFX0NPTkZJR1VSQVRJT05TLFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5TW9kZTogRm9ybUNsb3VkRGlzcGxheU1vZGUuZnVsbFNjcmVlbixcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBvbkRpc3BsYXlNb2RlT246ICgpID0+IHt9LFxuICAgICAgICAgICAgICAgIG9uRGlzcGxheU1vZGVPZmY6IChpZDogc3RyaW5nKSA9PiBEaXNwbGF5TW9kZVNlcnZpY2UuY2hhbmdlRGlzcGxheU1vZGUoeyBkaXNwbGF5TW9kZTogRm9ybUNsb3VkRGlzcGxheU1vZGUuaW5saW5lLCBpZCB9KSxcbiAgICAgICAgICAgICAgICBvbkNvbXBsZXRlVGFzazogKGlkOiBzdHJpbmcpID0+IERpc3BsYXlNb2RlU2VydmljZS5jaGFuZ2VEaXNwbGF5TW9kZSh7IGRpc3BsYXlNb2RlOiBGb3JtQ2xvdWREaXNwbGF5TW9kZS5pbmxpbmUsIGlkIH0pLFxuICAgICAgICAgICAgICAgIG9uU2F2ZVRhc2s6ICgpID0+IHt9LFxuICAgICAgICAgICAgICAgIGZ1bGxzY3JlZW46IHRydWUsXG4gICAgICAgICAgICAgICAgZGlzcGxheVRvb2xiYXI6IHRydWUsXG4gICAgICAgICAgICAgICAgZGlzcGxheUNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgICAgIHRyYXBGb2N1czogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXNwbGF5TW9kZTogRm9ybUNsb3VkRGlzcGxheU1vZGUuc3RhbmRhbG9uZSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBvbkRpc3BsYXlNb2RlT246ICgpID0+IHt9LFxuICAgICAgICAgICAgICAgIG9uRGlzcGxheU1vZGVPZmY6ICgpID0+IHt9LFxuICAgICAgICAgICAgICAgIG9uQ29tcGxldGVUYXNrOiAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICBvblNhdmVUYXNrOiAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICBmdWxsc2NyZWVuOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlUb29sYmFyOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0cmFwRm9jdXM6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfRElTUExBWV9NT0RFOiBGb3JtQ2xvdWREaXNwbGF5TW9kZSA9IEZvcm1DbG91ZERpc3BsYXlNb2RlLmlubGluZTtcblxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGRpc3BsYXlNb2RlID0gbmV3IFN1YmplY3Q8Rm9ybUNsb3VkRGlzcGxheU1vZGVDaGFuZ2U+KCk7XG5cbiAgICBzdGF0aWMgcmVhZG9ubHkgZGlzcGxheU1vZGUkOiBPYnNlcnZhYmxlPEZvcm1DbG91ZERpc3BsYXlNb2RlQ2hhbmdlPiA9IERpc3BsYXlNb2RlU2VydmljZS5kaXNwbGF5TW9kZS5hc09ic2VydmFibGUoKTtcblxuICAgIHN0YXRpYyBjaGFuZ2VEaXNwbGF5TW9kZShjaGFuZ2U6IEZvcm1DbG91ZERpc3BsYXlNb2RlQ2hhbmdlKSB7XG4gICAgICAgIERpc3BsYXlNb2RlU2VydmljZS5kaXNwbGF5TW9kZS5uZXh0KGNoYW5nZSk7XG4gICAgfVxuXG4gICAgZ2V0RGVmYXVsdERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbnMoKTogRm9ybUNsb3VkRGlzcGxheU1vZGVDb25maWd1cmF0aW9uW10ge1xuICAgICAgICByZXR1cm4gRGlzcGxheU1vZGVTZXJ2aWNlLkRFRkFVTFRfRElTUExBWV9NT0RFX0NPTkZJR1VSQVRJT05TO1xuICAgIH1cblxuICAgIGdldERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbnMoYXZhaWxhYmxlQ29uZmlndXJhdGlvbnM/OiBGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25bXSk6IEZvcm1DbG91ZERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbltdIHtcbiAgICAgICAgaWYgKGF2YWlsYWJsZUNvbmZpZ3VyYXRpb25zICYmIGF2YWlsYWJsZUNvbmZpZ3VyYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBhdmFpbGFibGVDb25maWd1cmF0aW9ucztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERlZmF1bHREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXREaXNwbGF5TW9kZShkaXNwbGF5TW9kZT86IHN0cmluZywgYXZhaWxhYmxlQ29uZmlndXJhdGlvbnM/OiBGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25bXSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLmZpbmRDb25maWd1cmF0aW9uKGRpc3BsYXlNb2RlLCBhdmFpbGFibGVDb25maWd1cmF0aW9ucyk7XG5cbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBjb25maWd1cmF0aW9uLmRpc3BsYXlNb2RlO1xuICAgICAgICB9IGVsc2UgaWYgKGF2YWlsYWJsZUNvbmZpZ3VyYXRpb25zICYmIGF2YWlsYWJsZUNvbmZpZ3VyYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBhdmFpbGFibGVDb25maWd1cmF0aW9ucy5sZW5ndGggPT09IDFcbiAgICAgICAgICAgICAgICA/IGF2YWlsYWJsZUNvbmZpZ3VyYXRpb25zWzBdLmRpc3BsYXlNb2RlXG4gICAgICAgICAgICAgICAgOiBhdmFpbGFibGVDb25maWd1cmF0aW9ucy5maW5kKChjb25maWcpID0+IGNvbmZpZy5kZWZhdWx0KT8uZGlzcGxheU1vZGUgfHwgYXZhaWxhYmxlQ29uZmlndXJhdGlvbnNbMF0uZGlzcGxheU1vZGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gRGlzcGxheU1vZGVTZXJ2aWNlLkRFRkFVTFRfRElTUExBWV9NT0RFO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmluZENvbmZpZ3VyYXRpb24oZGlzcGxheU1vZGU/OiBzdHJpbmcsIGF2YWlsYWJsZUNvbmZpZ3VyYXRpb25zPzogRm9ybUNsb3VkRGlzcGxheU1vZGVDb25maWd1cmF0aW9uW10pOiBGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zKGF2YWlsYWJsZUNvbmZpZ3VyYXRpb25zKS5maW5kKChjb25maWcpID0+IGNvbmZpZy5kaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUpO1xuICAgIH1cblxuICAgIG9uQ29tcGxldGVUYXNrKGlkPzogc3RyaW5nLCBkaXNwbGF5TW9kZT86IHN0cmluZywgYXZhaWxhYmxlQ29uZmlndXJhdGlvbnM/OiBGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25bXSkge1xuICAgICAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5maW5kQ29uZmlndXJhdGlvbihkaXNwbGF5TW9kZSwgYXZhaWxhYmxlQ29uZmlndXJhdGlvbnMpO1xuXG4gICAgICAgIGlmIChjb25maWd1cmF0aW9uPy5vcHRpb25zPy5vbkNvbXBsZXRlVGFzaykge1xuICAgICAgICAgICAgY29uZmlndXJhdGlvbi5vcHRpb25zLm9uQ29tcGxldGVUYXNrKGlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2F2ZVRhc2soaWQ/OiBzdHJpbmcsIGRpc3BsYXlNb2RlPzogc3RyaW5nLCBhdmFpbGFibGVDb25maWd1cmF0aW9ucz86IEZvcm1DbG91ZERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbltdKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLmZpbmRDb25maWd1cmF0aW9uKGRpc3BsYXlNb2RlLCBhdmFpbGFibGVDb25maWd1cmF0aW9ucyk7XG5cbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24/Lm9wdGlvbnM/Lm9uU2F2ZVRhc2spIHtcbiAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy5vblNhdmVUYXNrKGlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRGlzcGxheU1vZGVPZmYoaWQ/OiBzdHJpbmcsIGRpc3BsYXlNb2RlPzogc3RyaW5nLCBhdmFpbGFibGVDb25maWd1cmF0aW9ucz86IEZvcm1DbG91ZERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbltdKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLmZpbmRDb25maWd1cmF0aW9uKGRpc3BsYXlNb2RlLCBhdmFpbGFibGVDb25maWd1cmF0aW9ucyk7XG5cbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24/Lm9wdGlvbnM/Lm9uRGlzcGxheU1vZGVPZmYpIHtcbiAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24ub3B0aW9ucy5vbkRpc3BsYXlNb2RlT2ZmKGlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRGlzcGxheU1vZGVPbihpZD86IHN0cmluZywgZGlzcGxheU1vZGU/OiBzdHJpbmcsIGF2YWlsYWJsZUNvbmZpZ3VyYXRpb25zPzogRm9ybUNsb3VkRGlzcGxheU1vZGVDb25maWd1cmF0aW9uW10pIHtcbiAgICAgICAgY29uc3QgY29uZmlndXJhdGlvbiA9IHRoaXMuZmluZENvbmZpZ3VyYXRpb24oZGlzcGxheU1vZGUsIGF2YWlsYWJsZUNvbmZpZ3VyYXRpb25zKTtcblxuICAgICAgICBpZiAoY29uZmlndXJhdGlvbj8ub3B0aW9ucz8ub25EaXNwbGF5TW9kZU9uKSB7XG4gICAgICAgICAgICBjb25maWd1cmF0aW9uLm9wdGlvbnMub25EaXNwbGF5TW9kZU9uKGlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaFRvRGlzcGxheU1vZGUoXG4gICAgICAgIGlkPzogc3RyaW5nLFxuICAgICAgICBuZXdEaXNwbGF5TW9kZT86IHN0cmluZyxcbiAgICAgICAgb2xkRGlzcGxheU1vZGU/OiBzdHJpbmcsXG4gICAgICAgIGF2YWlsYWJsZUNvbmZpZ3VyYXRpb25zPzogRm9ybUNsb3VkRGlzcGxheU1vZGVDb25maWd1cmF0aW9uW11cbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBvbGRDb25maWd1cmF0aW9uID0gdGhpcy5maW5kQ29uZmlndXJhdGlvbihvbGREaXNwbGF5TW9kZSwgYXZhaWxhYmxlQ29uZmlndXJhdGlvbnMpO1xuICAgICAgICBjb25zdCBuZXdDb25maWd1cmF0aW9uID0gdGhpcy5maW5kQ29uZmlndXJhdGlvbihuZXdEaXNwbGF5TW9kZSwgYXZhaWxhYmxlQ29uZmlndXJhdGlvbnMpO1xuXG4gICAgICAgIGlmIChvbGRDb25maWd1cmF0aW9uPy5kaXNwbGF5TW9kZSAhPT0gbmV3Q29uZmlndXJhdGlvbj8uZGlzcGxheU1vZGUpIHtcbiAgICAgICAgICAgIGlmIChvbGRDb25maWd1cmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkRpc3BsYXlNb2RlT2ZmKGlkLCBvbGREaXNwbGF5TW9kZSwgYXZhaWxhYmxlQ29uZmlndXJhdGlvbnMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobmV3Q29uZmlndXJhdGlvbikge1xuICAgICAgICAgICAgICAgIERpc3BsYXlNb2RlU2VydmljZS5jaGFuZ2VEaXNwbGF5TW9kZSh7IGlkLCBkaXNwbGF5TW9kZTogbmV3Q29uZmlndXJhdGlvbi5kaXNwbGF5TW9kZSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRGlzcGxheU1vZGVPbihpZCwgbmV3RGlzcGxheU1vZGUsIGF2YWlsYWJsZUNvbmZpZ3VyYXRpb25zKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3Q29uZmlndXJhdGlvbi5kaXNwbGF5TW9kZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzcGxheU1vZGUgPSB0aGlzLmdldERpc3BsYXlNb2RlKG5ld0Rpc3BsYXlNb2RlLCBhdmFpbGFibGVDb25maWd1cmF0aW9ucyk7XG4gICAgICAgICAgICAgICAgRGlzcGxheU1vZGVTZXJ2aWNlLmNoYW5nZURpc3BsYXlNb2RlKHsgaWQsIGRpc3BsYXlNb2RlIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMub25EaXNwbGF5TW9kZU9uKGlkLCBkaXNwbGF5TW9kZSwgYXZhaWxhYmxlQ29uZmlndXJhdGlvbnMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBkaXNwbGF5TW9kZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvbGRDb25maWd1cmF0aW9uPy5kaXNwbGF5TW9kZSB8fCB0aGlzLmdldERpc3BsYXlNb2RlKG9sZERpc3BsYXlNb2RlLCBhdmFpbGFibGVDb25maWd1cmF0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,18 +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
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jbG91ZC5zZXJ2aWNlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvZm9ybS9zZXJ2aWNlcy9mb3JtLWNsb3VkLnNlcnZpY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgVXBsb2FkQXBpIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBGb3JtRmllbGRPcHRpb24sIEZvcm1Nb2RlbCwgRm9ybVZhbHVlcyB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBUYXNrRGV0YWlsc0Nsb3VkTW9kZWwgfSBmcm9tICcuLi8uLi90YXNrL21vZGVscy90YXNrLWRldGFpbHMtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgVGFza1ZhcmlhYmxlQ2xvdWQgfSBmcm9tICcuLi9tb2RlbHMvdGFzay12YXJpYWJsZS1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtQ29udGVudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tZmllbGRzLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1DbG91ZFNlcnZpY2VJbnRlcmZhY2Uge1xuICAgIHVwbG9hZEFwaTogVXBsb2FkQXBpO1xuXG4gICAgZ2V0VGFza0Zvcm0oYXBwTmFtZTogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZywgdmVyc2lvbj86IG51bWJlcik6IE9ic2VydmFibGU8YW55PjtcbiAgICBzYXZlVGFza0Zvcm0oYXBwTmFtZTogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZywgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZywgZm9ybUlkOiBzdHJpbmcsIHZhbHVlczogRm9ybVZhbHVlcyk6IE9ic2VydmFibGU8VGFza0RldGFpbHNDbG91ZE1vZGVsPjtcbiAgICBjcmVhdGVUZW1wb3JhcnlSYXdSZWxhdGVkQ29udGVudChmaWxlOiBhbnksIG5vZGVJZDogc3RyaW5nLCBjb250ZW50SG9zdDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIGNvbXBsZXRlVGFza0Zvcm0oXG4gICAgICAgIGFwcE5hbWU6IHN0cmluZyxcbiAgICAgICAgdGFza0lkOiBzdHJpbmcsXG4gICAgICAgIHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcsXG4gICAgICAgIGZvcm1JZDogc3RyaW5nLFxuICAgICAgICBmb3JtVmFsdWVzOiBGb3JtVmFsdWVzLFxuICAgICAgICBvdXRjb21lOiBzdHJpbmcsXG4gICAgICAgIHZlcnNpb246IG51bWJlclxuICAgICk6IE9ic2VydmFibGU8VGFza0RldGFpbHNDbG91ZE1vZGVsPjtcbiAgICBnZXRUYXNrKGFwcE5hbWU6IHN0cmluZywgdGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRhc2tEZXRhaWxzQ2xvdWRNb2RlbD47XG4gICAgZ2V0VGFza1ZhcmlhYmxlcyhhcHBOYW1lOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUYXNrVmFyaWFibGVDbG91ZFtdPjtcbiAgICBnZXRGb3JtKGFwcE5hbWU6IHN0cmluZywgZm9ybUtleTogc3RyaW5nLCB2ZXJzaW9uPzogbnVtYmVyKTogT2JzZXJ2YWJsZTxGb3JtQ29udGVudD47XG4gICAgcGFyc2VGb3JtKGpzb246IGFueSwgZGF0YT86IFRhc2tWYXJpYWJsZUNsb3VkW10sIHJlYWRPbmx5PzogYm9vbGVhbik6IEZvcm1Nb2RlbDtcbiAgICBnZXRSZXN0V2lkZ2V0RGF0YShmb3JtTmFtZTogc3RyaW5nLCB3aWRnZXRJZDogc3RyaW5nLCBib2R5OiBNYXA8c3RyaW5nLCBzdHJpbmc+KTogT2JzZXJ2YWJsZTxGb3JtRmllbGRPcHRpb25bXT47XG59XG4iXX0=
|
|
@@ -1,201 +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 { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
|
18
|
-
import { FormModel } from '@alfresco/adf-core';
|
|
19
|
-
import { from, EMPTY } from 'rxjs';
|
|
20
|
-
import { expand, map, reduce, switchMap } from 'rxjs/operators';
|
|
21
|
-
import { UploadApi } from '@alfresco/js-api';
|
|
22
|
-
import { TaskVariableCloud } from '../models/task-variable-cloud.model';
|
|
23
|
-
import { BaseCloudService } from '../../services/base-cloud.service';
|
|
24
|
-
import { AdfHttpClient } from '@alfresco/adf-core/api';
|
|
25
|
-
import * as i0 from "@angular/core";
|
|
26
|
-
import * as i1 from "@alfresco/adf-core/api";
|
|
27
|
-
export const FORM_CLOUD_SERVICE_FIELD_VALIDATORS_TOKEN = new InjectionToken('FORM_CLOUD_SERVICE_FIELD_VALIDATORS_TOKEN');
|
|
28
|
-
export class FormCloudService extends BaseCloudService {
|
|
29
|
-
get uploadApi() {
|
|
30
|
-
this._uploadApi = this._uploadApi ?? new UploadApi(this.apiService.getInstance());
|
|
31
|
-
return this._uploadApi;
|
|
32
|
-
}
|
|
33
|
-
constructor(adfHttpClient, injectedFieldValidators) {
|
|
34
|
-
super(adfHttpClient);
|
|
35
|
-
this.fieldValidators = injectedFieldValidators || [];
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Gets the form definition of a task.
|
|
39
|
-
*
|
|
40
|
-
* @param appName Name of the app
|
|
41
|
-
* @param taskId ID of the target task
|
|
42
|
-
* @param version Version of the form
|
|
43
|
-
* @returns Form definition
|
|
44
|
-
*/
|
|
45
|
-
getTaskForm(appName, taskId, version) {
|
|
46
|
-
return this.getTask(appName, taskId).pipe(switchMap((task) => this.getForm(appName, task.formKey, version).pipe(map((form) => {
|
|
47
|
-
const flattenForm = {
|
|
48
|
-
...form.formRepresentation,
|
|
49
|
-
...form.formRepresentation.formDefinition,
|
|
50
|
-
taskId: task.id,
|
|
51
|
-
taskName: task.name,
|
|
52
|
-
processDefinitionId: task.processDefinitionId,
|
|
53
|
-
processInstanceId: task.processInstanceId
|
|
54
|
-
};
|
|
55
|
-
delete flattenForm.formDefinition;
|
|
56
|
-
return flattenForm;
|
|
57
|
-
}))));
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Saves a task form.
|
|
61
|
-
*
|
|
62
|
-
* @param appName Name of the app
|
|
63
|
-
* @param taskId ID of the target task
|
|
64
|
-
* @param processInstanceId ID of processInstance
|
|
65
|
-
* @param formId ID of the form to save
|
|
66
|
-
* @param values Form values object
|
|
67
|
-
* @returns Updated task details
|
|
68
|
-
*/
|
|
69
|
-
saveTaskForm(appName, taskId, processInstanceId, formId, values) {
|
|
70
|
-
const apiUrl = `${this.getBasePath(appName)}/form/v1/forms/${formId}/save`;
|
|
71
|
-
const saveFormRepresentation = {
|
|
72
|
-
values,
|
|
73
|
-
taskId,
|
|
74
|
-
processInstanceId
|
|
75
|
-
};
|
|
76
|
-
return this.post(apiUrl, saveFormRepresentation).pipe(map((res) => res.entry));
|
|
77
|
-
}
|
|
78
|
-
createTemporaryRawRelatedContent(file, nodeId, contentHost) {
|
|
79
|
-
const changedConfig = this.apiService.lastConfig;
|
|
80
|
-
changedConfig.provider = 'ALL';
|
|
81
|
-
changedConfig.hostEcm = contentHost.replace('/alfresco', '');
|
|
82
|
-
this.apiService.getInstance().setConfig(changedConfig);
|
|
83
|
-
return from(this.uploadApi.uploadFile(file, '', nodeId, null, { overwrite: true })).pipe(map((res) => res.entry));
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Completes a task form.
|
|
87
|
-
*
|
|
88
|
-
* @param appName Name of the app
|
|
89
|
-
* @param taskId ID of the target task
|
|
90
|
-
* @param processInstanceId ID of processInstance
|
|
91
|
-
* @param formId ID of the form to complete
|
|
92
|
-
* @param formValues Form values object
|
|
93
|
-
* @param outcome Form outcome
|
|
94
|
-
* @param version of the form
|
|
95
|
-
* @returns Updated task details
|
|
96
|
-
*/
|
|
97
|
-
completeTaskForm(appName, taskId, processInstanceId, formId, formValues, outcome, version) {
|
|
98
|
-
const apiUrl = `${this.getBasePath(appName)}/form/v1/forms/${formId}/submit/versions/${version}`;
|
|
99
|
-
const completeFormRepresentation = {
|
|
100
|
-
values: formValues,
|
|
101
|
-
taskId,
|
|
102
|
-
processInstanceId
|
|
103
|
-
};
|
|
104
|
-
if (outcome) {
|
|
105
|
-
completeFormRepresentation.outcome = outcome;
|
|
106
|
-
}
|
|
107
|
-
return this.post(apiUrl, completeFormRepresentation).pipe(map((res) => res.entry));
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Gets details of a task
|
|
111
|
-
*
|
|
112
|
-
* @param appName Name of the app
|
|
113
|
-
* @param taskId ID of the target task
|
|
114
|
-
* @returns Details of the task
|
|
115
|
-
*/
|
|
116
|
-
getTask(appName, taskId) {
|
|
117
|
-
const apiUrl = `${this.getBasePath(appName)}/query/v1/tasks/${taskId}`;
|
|
118
|
-
return this.get(apiUrl).pipe(map((res) => res.entry));
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Gets the variables of a task.
|
|
122
|
-
*
|
|
123
|
-
* @param appName Name of the app
|
|
124
|
-
* @param taskId ID of the target task
|
|
125
|
-
* @returns Task variables
|
|
126
|
-
*/
|
|
127
|
-
getTaskVariables(appName, taskId) {
|
|
128
|
-
const apiUrl = `${this.getBasePath(appName)}/query/v1/tasks/${taskId}/variables`;
|
|
129
|
-
let skipCount = 0;
|
|
130
|
-
const maxItems = 1000;
|
|
131
|
-
return this.get(apiUrl, { maxItems, skipCount }).pipe(expand((res) => {
|
|
132
|
-
skipCount += maxItems;
|
|
133
|
-
return res.list.pagination.hasMoreItems
|
|
134
|
-
? this.get(apiUrl, {
|
|
135
|
-
maxItems,
|
|
136
|
-
skipCount
|
|
137
|
-
})
|
|
138
|
-
: EMPTY;
|
|
139
|
-
}), map((res) => res.list.entries.map((variable) => new TaskVariableCloud(variable.entry))), reduce((acc, res) => acc.concat(res), []));
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Gets a form definition.
|
|
143
|
-
*
|
|
144
|
-
* @param appName Name of the app
|
|
145
|
-
* @param formKey key of the target task
|
|
146
|
-
* @param version Version of the form
|
|
147
|
-
* @returns Form definition
|
|
148
|
-
*/
|
|
149
|
-
getForm(appName, formKey, version) {
|
|
150
|
-
let url = `${this.getBasePath(appName)}/form/v1/forms/${formKey}`;
|
|
151
|
-
if (version) {
|
|
152
|
-
url += `/versions/${version}`;
|
|
153
|
-
}
|
|
154
|
-
return this.get(url);
|
|
155
|
-
}
|
|
156
|
-
getRestWidgetData(formName, widgetId, body = {}) {
|
|
157
|
-
const appName = this.appConfigService.get('alfresco-deployed-apps')[0]?.name;
|
|
158
|
-
const apiUrl = `${this.getBasePath(appName)}/form/v1/forms/${formName}/values/${widgetId}`;
|
|
159
|
-
return this.post(apiUrl, body);
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Parses JSON data to create a corresponding form.
|
|
163
|
-
*
|
|
164
|
-
* @param json JSON data to create the form
|
|
165
|
-
* @param data Values for the form's fields
|
|
166
|
-
* @param readOnly Toggles whether the form should be read-only
|
|
167
|
-
* @returns Form created from the JSON specification
|
|
168
|
-
*/
|
|
169
|
-
parseForm(json, data, readOnly = false) {
|
|
170
|
-
if (json) {
|
|
171
|
-
const flattenForm = {
|
|
172
|
-
...json.formRepresentation,
|
|
173
|
-
...json.formRepresentation.formDefinition
|
|
174
|
-
};
|
|
175
|
-
delete flattenForm.formDefinition;
|
|
176
|
-
const formValues = {};
|
|
177
|
-
(data || []).forEach((variable) => {
|
|
178
|
-
formValues[variable.name] = variable.value;
|
|
179
|
-
});
|
|
180
|
-
return new FormModel(flattenForm, formValues, readOnly, undefined, undefined, this.fieldValidators);
|
|
181
|
-
}
|
|
182
|
-
return null;
|
|
183
|
-
}
|
|
184
|
-
getPreviewState() {
|
|
185
|
-
return false;
|
|
186
|
-
}
|
|
187
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormCloudService, deps: [{ token: i1.AdfHttpClient }, { token: FORM_CLOUD_SERVICE_FIELD_VALIDATORS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
188
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormCloudService, providedIn: 'root' }); }
|
|
189
|
-
}
|
|
190
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormCloudService, decorators: [{
|
|
191
|
-
type: Injectable,
|
|
192
|
-
args: [{
|
|
193
|
-
providedIn: 'root'
|
|
194
|
-
}]
|
|
195
|
-
}], ctorParameters: () => [{ type: i1.AdfHttpClient }, { type: undefined, decorators: [{
|
|
196
|
-
type: Optional
|
|
197
|
-
}, {
|
|
198
|
-
type: Inject,
|
|
199
|
-
args: [FORM_CLOUD_SERVICE_FIELD_VALIDATORS_TOKEN]
|
|
200
|
-
}] }] });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jbG91ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9mb3JtL3NlcnZpY2VzL2Zvcm0tY2xvdWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBYyxTQUFTLEVBQXVDLE1BQU0sb0JBQW9CLENBQUM7QUFDaEcsT0FBTyxFQUFjLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBOEIsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFFdkQsTUFBTSxDQUFDLE1BQU0seUNBQXlDLEdBQUcsSUFBSSxjQUFjLENBQXVCLDJDQUEyQyxDQUFDLENBQUM7QUFLL0ksTUFBTSxPQUFPLGdCQUFpQixTQUFRLGdCQUFnQjtJQUdsRCxJQUFJLFNBQVM7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFDSSxh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TSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLElBQVMsRUFBRSxJQUEwQixFQUFFLFdBQW9CLEtBQUs7UUFDdEUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLE1BQU0sV0FBVyxHQUFHO2dCQUNoQixHQUFHLElBQUksQ0FBQyxrQkFBa0I7Z0JBQzFCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWM7YUFDNUMsQ0FBQztZQUNGLE9BQU8sV0FBVyxDQUFDLGNBQWMsQ0FBQztZQUVsQyxNQUFNLFVBQVUsR0FBZSxFQUFFLENBQUM7WUFDbEMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQzlCLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUMvQyxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sSUFBSSxTQUFTLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEcsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzsrR0F6TVEsZ0JBQWdCLCtDQVVELHlDQUF5QzttSEFWeEQsZ0JBQWdCLGNBRmIsTUFBTTs7NEZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBV1EsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx5Q0FBeUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtVmFsdWVzLCBGb3JtTW9kZWwsIEZvcm1GaWVsZE9wdGlvbiwgRm9ybUZpZWxkVmFsaWRhdG9yIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIEVNUFRZIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBleHBhbmQsIG1hcCwgcmVkdWNlLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUYXNrRGV0YWlsc0Nsb3VkTW9kZWwgfSBmcm9tICcuLi8uLi90YXNrL21vZGVscy90YXNrLWRldGFpbHMtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgQ29tcGxldGVGb3JtUmVwcmVzZW50YXRpb24sIFVwbG9hZEFwaSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgVGFza1ZhcmlhYmxlQ2xvdWQgfSBmcm9tICcuLi9tb2RlbHMvdGFzay12YXJpYWJsZS1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBCYXNlQ2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYmFzZS1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1Db250ZW50IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS1maWVsZHMuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBGb3JtQ2xvdWRTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi9mb3JtLWNsb3VkLnNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFkZkh0dHBDbGllbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUvYXBpJztcblxuZXhwb3J0IGNvbnN0IEZPUk1fQ0xPVURfU0VSVklDRV9GSUVMRF9WQUxJREFUT1JTX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEZvcm1GaWVsZFZhbGlkYXRvcltdPignRk9STV9DTE9VRF9TRVJWSUNFX0ZJRUxEX1ZBTElEQVRPUlNfVE9LRU4nKTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ2xvdWRTZXJ2aWNlIGV4dGVuZHMgQmFzZUNsb3VkU2VydmljZSBpbXBsZW1lbnRzIEZvcm1DbG91ZFNlcnZpY2VJbnRlcmZhY2Uge1xuICAgIHByaXZhdGUgX3VwbG9hZEFwaTogVXBsb2FkQXBpO1xuICAgIHByaXZhdGUgZmllbGRWYWxpZGF0b3JzOiBGb3JtRmllbGRWYWxpZGF0b3JbXTtcbiAgICBnZXQgdXBsb2FkQXBpKCk6IFVwbG9hZEFwaSB7XG4gICAgICAgIHRoaXMuX3VwbG9hZEFwaSA9IHRoaXMuX3VwbG9hZEFwaSA/PyBuZXcgVXBsb2FkQXBpKHRoaXMuYXBpU2VydmljZS5nZXRJbnN0YW5jZSgpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwbG9hZEFwaTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgYWRmSHR0cENsaWVudDogQWRmSHR0cENsaWVudCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChGT1JNX0NMT1VEX1NFUlZJQ0VfRklFTERfVkFMSURBVE9SU19UT0tFTikgaW5qZWN0ZWRGaWVsZFZhbGlkYXRvcnM/OiBGb3JtRmllbGRWYWxpZGF0b3JbXVxuICAgICkge1xuICAgICAgICBzdXBlcihhZGZIdHRwQ2xpZW50KTtcbiAgICAgICAgdGhpcy5maWVsZFZhbGlkYXRvcnMgPSBpbmplY3RlZEZpZWxkVmFsaWRhdG9ycyB8fCBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBmb3JtIGRlZmluaXRpb24gb2YgYSB0YXNrLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgYXBwXG4gICAgICogQHBhcmFtIHRhc2tJZCBJRCBvZiB0aGUgdGFyZ2V0IHRhc2tcbiAgICAgKiBAcGFyYW0gdmVyc2lvbiBWZXJzaW9uIG9mIHRoZSBmb3JtXG4gICAgICogQHJldHVybnMgRm9ybSBkZWZpbml0aW9uXG4gICAgICovXG4gICAgZ2V0VGFza0Zvcm0oYXBwTmFtZTogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZywgdmVyc2lvbj86IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRhc2soYXBwTmFtZSwgdGFza0lkKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCh0YXNrKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Rm9ybShhcHBOYW1lLCB0YXNrLmZvcm1LZXksIHZlcnNpb24pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoZm9ybTogRm9ybUNvbnRlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsYXR0ZW5Gb3JtID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZvcm0uZm9ybVJlcHJlc2VudGF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZvcm0uZm9ybVJlcHJlc2VudGF0aW9uLmZvcm1EZWZpbml0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhc2tJZDogdGFzay5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXNrTmFtZTogdGFzay5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NEZWZpbml0aW9uSWQ6IHRhc2sucHJvY2Vzc0RlZmluaXRpb25JZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzSW5zdGFuY2VJZDogdGFzay5wcm9jZXNzSW5zdGFuY2VJZFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBmbGF0dGVuRm9ybS5mb3JtRGVmaW5pdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmbGF0dGVuRm9ybTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2F2ZXMgYSB0YXNrIGZvcm0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBOYW1lIG9mIHRoZSBhcHBcbiAgICAgKiBAcGFyYW0gdGFza0lkIElEIG9mIHRoZSB0YXJnZXQgdGFza1xuICAgICAqIEBwYXJhbSBwcm9jZXNzSW5zdGFuY2VJZCBJRCBvZiBwcm9jZXNzSW5zdGFuY2VcbiAgICAgKiBAcGFyYW0gZm9ybUlkIElEIG9mIHRoZSBmb3JtIHRvIHNhdmVcbiAgICAgKiBAcGFyYW0gdmFsdWVzIEZvcm0gdmFsdWVzIG9iamVjdFxuICAgICAqIEByZXR1cm5zIFVwZGF0ZWQgdGFzayBkZXRhaWxzXG4gICAgICovXG4gICAgc2F2ZVRhc2tGb3JtKGFwcE5hbWU6IHN0cmluZywgdGFza0lkOiBzdHJpbmcsIHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcsIGZvcm1JZDogc3RyaW5nLCB2YWx1ZXM6IEZvcm1WYWx1ZXMpOiBPYnNlcnZhYmxlPFRhc2tEZXRhaWxzQ2xvdWRNb2RlbD4ge1xuICAgICAgICBjb25zdCBhcGlVcmwgPSBgJHt0aGlzLmdldEJhc2VQYXRoKGFwcE5hbWUpfS9mb3JtL3YxL2Zvcm1zLyR7Zm9ybUlkfS9zYXZlYDtcbiAgICAgICAgY29uc3Qgc2F2ZUZvcm1SZXByZXNlbnRhdGlvbjogYW55ID0ge1xuICAgICAgICAgICAgdmFsdWVzLFxuICAgICAgICAgICAgdGFza0lkLFxuICAgICAgICAgICAgcHJvY2Vzc0luc3RhbmNlSWRcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0KGFwaVVybCwgc2F2ZUZvcm1SZXByZXNlbnRhdGlvbikucGlwZShtYXAoKHJlczogYW55KSA9PiByZXMuZW50cnkpKTtcbiAgICB9XG5cbiAgICBjcmVhdGVUZW1wb3JhcnlSYXdSZWxhdGVkQ29udGVudChmaWxlOiBhbnksIG5vZGVJZDogc3RyaW5nLCBjb250ZW50SG9zdDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgY2hhbmdlZENvbmZpZyA9IHRoaXMuYXBpU2VydmljZS5sYXN0Q29uZmlnO1xuICAgICAgICBjaGFuZ2VkQ29uZmlnLnByb3ZpZGVyID0gJ0FMTCc7XG4gICAgICAgIGNoYW5nZWRDb25maWcuaG9zdEVjbSA9IGNvbnRlbnRIb3N0LnJlcGxhY2UoJy9hbGZyZXNjbycsICcnKTtcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkuc2V0Q29uZmlnKGNoYW5nZWRDb25maWcpO1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnVwbG9hZEFwaS51cGxvYWRGaWxlKGZpbGUsICcnLCBub2RlSWQsIG51bGwsIHsgb3ZlcndyaXRlOiB0cnVlIH0pKS5waXBlKG1hcCgocmVzOiBhbnkpID0+IHJlcy5lbnRyeSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBsZXRlcyBhIHRhc2sgZm9ybS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIGFwcFxuICAgICAqIEBwYXJhbSB0YXNrSWQgSUQgb2YgdGhlIHRhcmdldCB0YXNrXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIElEIG9mIHByb2Nlc3NJbnN0YW5jZVxuICAgICAqIEBwYXJhbSBmb3JtSWQgSUQgb2YgdGhlIGZvcm0gdG8gY29tcGxldGVcbiAgICAgKiBAcGFyYW0gZm9ybVZhbHVlcyBGb3JtIHZhbHVlcyBvYmplY3RcbiAgICAgKiBAcGFyYW0gb3V0Y29tZSBGb3JtIG91dGNvbWVcbiAgICAgKiBAcGFyYW0gdmVyc2lvbiBvZiB0aGUgZm9ybVxuICAgICAqIEByZXR1cm5zIFVwZGF0ZWQgdGFzayBkZXRhaWxzXG4gICAgICovXG4gICAgY29tcGxldGVUYXNrRm9ybShcbiAgICAgICAgYXBwTmFtZTogc3RyaW5nLFxuICAgICAgICB0YXNrSWQ6IHN0cmluZyxcbiAgICAgICAgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZyxcbiAgICAgICAgZm9ybUlkOiBzdHJpbmcsXG4gICAgICAgIGZvcm1WYWx1ZXM6IEZvcm1WYWx1ZXMsXG4gICAgICAgIG91dGNvbWU6IHN0cmluZyxcbiAgICAgICAgdmVyc2lvbjogbnVtYmVyXG4gICAgKTogT2JzZXJ2YWJsZTxUYXNrRGV0YWlsc0Nsb3VkTW9kZWw+IHtcbiAgICAgICAgY29uc3QgYXBpVXJsID0gYCR7dGhpcy5nZXRCYXNlUGF0aChhcHBOYW1lKX0vZm9ybS92MS9mb3Jtcy8ke2Zvcm1JZH0vc3VibWl0L3ZlcnNpb25zLyR7dmVyc2lvbn1gO1xuICAgICAgICBjb25zdCBjb21wbGV0ZUZvcm1SZXByZXNlbnRhdGlvbiA9IHtcbiAgICAgICAgICAgIHZhbHVlczogZm9ybVZhbHVlcyxcbiAgICAgICAgICAgIHRhc2tJZCxcbiAgICAgICAgICAgIHByb2Nlc3NJbnN0YW5jZUlkXG4gICAgICAgIH0gYXMgQ29tcGxldGVGb3JtUmVwcmVzZW50YXRpb247XG5cbiAgICAgICAgaWYgKG91dGNvbWUpIHtcbiAgICAgICAgICAgIGNvbXBsZXRlRm9ybVJlcHJlc2VudGF0aW9uLm91dGNvbWUgPSBvdXRjb21lO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdChhcGlVcmwsIGNvbXBsZXRlRm9ybVJlcHJlc2VudGF0aW9uKS5waXBlKG1hcCgocmVzOiBhbnkpID0+IHJlcy5lbnRyeSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgZGV0YWlscyBvZiBhIHRhc2tcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIGFwcFxuICAgICAqIEBwYXJhbSB0YXNrSWQgSUQgb2YgdGhlIHRhcmdldCB0YXNrXG4gICAgICogQHJldHVybnMgRGV0YWlscyBvZiB0aGUgdGFza1xuICAgICAqL1xuICAgIGdldFRhc2soYXBwTmFtZTogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGFza0RldGFpbHNDbG91ZE1vZGVsPiB7XG4gICAgICAgIGNvbnN0IGFwaVVybCA9IGAke3RoaXMuZ2V0QmFzZVBhdGgoYXBwTmFtZSl9L3F1ZXJ5L3YxL3Rhc2tzLyR7dGFza0lkfWA7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGFwaVVybCkucGlwZShtYXAoKHJlczogYW55KSA9PiByZXMuZW50cnkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB2YXJpYWJsZXMgb2YgYSB0YXNrLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcE5hbWUgTmFtZSBvZiB0aGUgYXBwXG4gICAgICogQHBhcmFtIHRhc2tJZCBJRCBvZiB0aGUgdGFyZ2V0IHRhc2tcbiAgICAgKiBAcmV0dXJucyBUYXNrIHZhcmlhYmxlc1xuICAgICAqL1xuICAgIGdldFRhc2tWYXJpYWJsZXMoYXBwTmFtZTogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VGFza1ZhcmlhYmxlQ2xvdWRbXT4ge1xuICAgICAgICBjb25zdCBhcGlVcmwgPSBgJHt0aGlzLmdldEJhc2VQYXRoKGFwcE5hbWUpfS9xdWVyeS92MS90YXNrcy8ke3Rhc2tJZH0vdmFyaWFibGVzYDtcbiAgICAgICAgbGV0IHNraXBDb3VudCA9IDA7XG4gICAgICAgIGNvbnN0IG1heEl0ZW1zID0gMTAwMDtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXQoYXBpVXJsLCB7IG1heEl0ZW1zLCBza2lwQ291bnQgfSkucGlwZShcbiAgICAgICAgICAgIGV4cGFuZCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBza2lwQ291bnQgKz0gbWF4SXRlbXM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcy5saXN0LnBhZ2luYXRpb24uaGFzTW9yZUl0ZW1zXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5nZXQoYXBpVXJsLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heEl0ZW1zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwQ291bnRcbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICA6IEVNUFRZO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKHJlczogYW55KSA9PiByZXMubGlzdC5lbnRyaWVzLm1hcCgodmFyaWFibGUpID0+IG5ldyBUYXNrVmFyaWFibGVDbG91ZCh2YXJpYWJsZS5lbnRyeSkpKSxcbiAgICAgICAgICAgIHJlZHVjZSgoYWNjLCByZXMpID0+IGFjYy5jb25jYXQocmVzKSwgW10pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIGZvcm0gZGVmaW5pdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIE5hbWUgb2YgdGhlIGFwcFxuICAgICAqIEBwYXJhbSBmb3JtS2V5IGtleSBvZiB0aGUgdGFyZ2V0IHRhc2tcbiAgICAgKiBAcGFyYW0gdmVyc2lvbiBWZXJzaW9uIG9mIHRoZSBmb3JtXG4gICAgICogQHJldHVybnMgRm9ybSBkZWZpbml0aW9uXG4gICAgICovXG4gICAgZ2V0Rm9ybShhcHBOYW1lOiBzdHJpbmcsIGZvcm1LZXk6IHN0cmluZywgdmVyc2lvbj86IG51bWJlcik6IE9ic2VydmFibGU8Rm9ybUNvbnRlbnQ+IHtcbiAgICAgICAgbGV0IHVybCA9IGAke3RoaXMuZ2V0QmFzZVBhdGgoYXBwTmFtZSl9L2Zvcm0vdjEvZm9ybXMvJHtmb3JtS2V5fWA7XG5cbiAgICAgICAgaWYgKHZlcnNpb24pIHtcbiAgICAgICAgICAgIHVybCArPSBgL3ZlcnNpb25zLyR7dmVyc2lvbn1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KHVybCk7XG4gICAgfVxuXG4gICAgZ2V0UmVzdFdpZGdldERhdGEoZm9ybU5hbWU6IHN0cmluZywgd2lkZ2V0SWQ6IHN0cmluZywgYm9keTogYW55ID0ge30pOiBPYnNlcnZhYmxlPEZvcm1GaWVsZE9wdGlvbltdPiB7XG4gICAgICAgIGNvbnN0IGFwcE5hbWUgPSB0aGlzLmFwcENvbmZpZ1NlcnZpY2UuZ2V0KCdhbGZyZXNjby1kZXBsb3llZC1hcHBzJylbMF0/Lm5hbWU7XG4gICAgICAgIGNvbnN0IGFwaVVybCA9IGAke3RoaXMuZ2V0QmFzZVBhdGgoYXBwTmFtZSl9L2Zvcm0vdjEvZm9ybXMvJHtmb3JtTmFtZX0vdmFsdWVzLyR7d2lkZ2V0SWR9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdChhcGlVcmwsIGJvZHkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhcnNlcyBKU09OIGRhdGEgdG8gY3JlYXRlIGEgY29ycmVzcG9uZGluZyBmb3JtLlxuICAgICAqXG4gICAgICogQHBhcmFtIGpzb24gSlNPTiBkYXRhIHRvIGNyZWF0ZSB0aGUgZm9ybVxuICAgICAqIEBwYXJhbSBkYXRhIFZhbHVlcyBmb3IgdGhlIGZvcm0ncyBmaWVsZHNcbiAgICAgKiBAcGFyYW0gcmVhZE9ubHkgVG9nZ2xlcyB3aGV0aGVyIHRoZSBmb3JtIHNob3VsZCBiZSByZWFkLW9ubHlcbiAgICAgKiBAcmV0dXJucyBGb3JtIGNyZWF0ZWQgZnJvbSB0aGUgSlNPTiBzcGVjaWZpY2F0aW9uXG4gICAgICovXG4gICAgcGFyc2VGb3JtKGpzb246IGFueSwgZGF0YT86IFRhc2tWYXJpYWJsZUNsb3VkW10sIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2UpOiBGb3JtTW9kZWwge1xuICAgICAgICBpZiAoanNvbikge1xuICAgICAgICAgICAgY29uc3QgZmxhdHRlbkZvcm0gPSB7XG4gICAgICAgICAgICAgICAgLi4uanNvbi5mb3JtUmVwcmVzZW50YXRpb24sXG4gICAgICAgICAgICAgICAgLi4uanNvbi5mb3JtUmVwcmVzZW50YXRpb24uZm9ybURlZmluaXRpb25cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBkZWxldGUgZmxhdHRlbkZvcm0uZm9ybURlZmluaXRpb247XG5cbiAgICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZXM6IEZvcm1WYWx1ZXMgPSB7fTtcbiAgICAgICAgICAgIChkYXRhIHx8IFtdKS5mb3JFYWNoKCh2YXJpYWJsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGZvcm1WYWx1ZXNbdmFyaWFibGUubmFtZV0gPSB2YXJpYWJsZS52YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gbmV3IEZvcm1Nb2RlbChmbGF0dGVuRm9ybSwgZm9ybVZhbHVlcywgcmVhZE9ubHksIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0aGlzLmZpZWxkVmFsaWRhdG9ycyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0UHJldmlld1N0YXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
|