@eo-sdk/client 10.6.11 → 10.6.12
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/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.d.ts.map +1 -1
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +2 -0
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +18 -1
- package/esm2020/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +3 -3
- package/esm2020/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +2 -1
- package/esm2020/app/eo-framework/grid/grid.component.mjs +2 -2
- package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +3 -1
- package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +3 -3
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +10 -3
- package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
- package/fesm2015/eo-sdk-client.mjs +37 -11
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +37 -11
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/misc/scripts/exclude-core-ng-package.js +11 -0
- package/package.json +2 -10
- package/esm2020/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.mjs +0 -5
- package/esm2020/projects/eo-sdk/core/lib/config/core-config.mjs +0 -23
- package/esm2020/projects/eo-sdk/core/lib/config/core-init.service.mjs +0 -71
- package/esm2020/projects/eo-sdk/core/lib/config/core-init.tokens.mjs +0 -8
- package/esm2020/projects/eo-sdk/core/lib/config/initialize-module.mjs +0 -11
- package/esm2020/projects/eo-sdk/core/lib/config/missing-translation-handler.mjs +0 -15
- package/esm2020/projects/eo-sdk/core/lib/config/translate-json-loader.mjs +0 -130
- package/esm2020/projects/eo-sdk/core/lib/environment.enaio.mjs +0 -12
- package/esm2020/projects/eo-sdk/core/lib/eo-core-shared.module.mjs +0 -24
- package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +0 -117
- package/esm2020/projects/eo-sdk/core/lib/interface/change-password.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/interface/event.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/interface/http-options.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/interface/logger.interface.mjs +0 -7
- package/esm2020/projects/eo-sdk/core/lib/interface/organization-objects.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/interface/tree-node.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/model/baseparams.model.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/model/bpm.model.mjs +0 -70
- package/esm2020/projects/eo-sdk/core/lib/model/custom-action.model.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/model/dms-object-history.model.mjs +0 -30
- package/esm2020/projects/eo-sdk/core/lib/model/dms-object.model.mjs +0 -138
- package/esm2020/projects/eo-sdk/core/lib/model/eo-error.model.mjs +0 -37
- package/esm2020/projects/eo-sdk/core/lib/model/eo-user.model.mjs +0 -86
- package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +0 -36
- package/esm2020/projects/eo-sdk/core/lib/model/object-type.model.mjs +0 -39
- package/esm2020/projects/eo-sdk/core/lib/model/org.model.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/model/prepared-item.model.mjs +0 -35
- package/esm2020/projects/eo-sdk/core/lib/model/range-value.model.mjs +0 -45
- package/esm2020/projects/eo-sdk/core/lib/model/upload-file-item.model.mjs +0 -17
- package/esm2020/projects/eo-sdk/core/lib/model/upload-target.model.mjs +0 -50
- package/esm2020/projects/eo-sdk/core/lib/model/work-item-history.model.mjs +0 -54
- package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-interceptor.mjs +0 -29
- package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +0 -215
- package/esm2020/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/backend/backend.service.mjs +0 -360
- package/esm2020/projects/eo-sdk/core/lib/service/bpm/bpm.service.mjs +0 -286
- package/esm2020/projects/eo-sdk/core/lib/service/cache/app-cache.service.mjs +0 -117
- package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.mjs +0 -60
- package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.mjs +0 -6
- package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.mjs +0 -100
- package/esm2020/projects/eo-sdk/core/lib/service/config/config.enum.mjs +0 -6
- package/esm2020/projects/eo-sdk/core/lib/service/config/config.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/config/config.service.mjs +0 -135
- package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +0 -507
- package/esm2020/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/events/event.service.mjs +0 -44
- package/esm2020/projects/eo-sdk/core/lib/service/events/events.mjs +0 -27
- package/esm2020/projects/eo-sdk/core/lib/service/inbox/inbox.service.mjs +0 -111
- package/esm2020/projects/eo-sdk/core/lib/service/logger/console-log.service.mjs +0 -41
- package/esm2020/projects/eo-sdk/core/lib/service/logger/logger.mjs +0 -47
- package/esm2020/projects/eo-sdk/core/lib/service/notifications/notifications.service.mjs +0 -136
- package/esm2020/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +0 -305
- package/esm2020/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/search/search-query.model.mjs +0 -510
- package/esm2020/projects/eo-sdk/core/lib/service/search/search.service.mjs +0 -484
- package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +0 -60
- package/esm2020/projects/eo-sdk/core/lib/service/storage/local-storage.service.mjs +0 -111
- package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.mjs +0 -216
- package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.mjs +0 -98
- package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +0 -345
- package/esm2020/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/system-status/system-status.service.mjs +0 -104
- package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.enum.mjs +0 -9
- package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.interface.mjs +0 -2
- package/esm2020/projects/eo-sdk/core/lib/service/upload/upload.service.mjs +0 -46
- package/esm2020/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.mjs +0 -83
- package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +0 -399
- package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +0 -304
- package/esm2020/projects/eo-sdk/core/public_api.mjs +0 -85
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6124
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6139
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
- package/projects/eo-sdk/core/README.md +0 -113
- package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.d.ts.map +0 -1
- package/projects/eo-sdk/core/index.d.ts +0 -6
- package/projects/eo-sdk/core/lib/config/core-config.d.ts +0 -14
- package/projects/eo-sdk/core/lib/config/core-config.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/config/core-init.service.d.ts +0 -33
- package/projects/eo-sdk/core/lib/config/core-init.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts +0 -8
- package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/config/initialize-module.d.ts +0 -7
- package/projects/eo-sdk/core/lib/config/initialize-module.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts +0 -14
- package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts +0 -21
- package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/environment.enaio.d.ts +0 -6
- package/projects/eo-sdk/core/lib/environment.enaio.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts +0 -12
- package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/eo-core.module.d.ts +0 -46
- package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts +0 -8
- package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/event.interface.d.ts +0 -14
- package/projects/eo-sdk/core/lib/interface/event.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts +0 -17
- package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts +0 -20
- package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts +0 -20
- package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts +0 -24
- package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts +0 -58
- package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/bpm.model.d.ts +0 -253
- package/projects/eo-sdk/core/lib/model/bpm.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts +0 -34
- package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts +0 -59
- package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts +0 -137
- package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts +0 -19
- package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts +0 -107
- package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts +0 -71
- package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/object-type.model.d.ts +0 -125
- package/projects/eo-sdk/core/lib/model/object-type.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/org.model.d.ts +0 -94
- package/projects/eo-sdk/core/lib/model/org.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts +0 -190
- package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/range-value.model.d.ts +0 -22
- package/projects/eo-sdk/core/lib/model/range-value.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts +0 -30
- package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts +0 -60
- package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts +0 -52
- package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts +0 -12
- package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts +0 -23
- package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +0 -104
- package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts +0 -18
- package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts +0 -209
- package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts +0 -150
- package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts +0 -59
- package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts +0 -54
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts +0 -35
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts +0 -5
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts +0 -16
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts +0 -49
- package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts +0 -5
- package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts +0 -55
- package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/config/config.service.d.ts +0 -80
- package/projects/eo-sdk/core/lib/service/config/config.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +0 -286
- package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts +0 -13
- package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/events/event.service.d.ts +0 -31
- package/projects/eo-sdk/core/lib/service/events/event.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/events/events.d.ts +0 -27
- package/projects/eo-sdk/core/lib/service/events/events.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts +0 -66
- package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts +0 -20
- package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/logger/logger.d.ts +0 -25
- package/projects/eo-sdk/core/lib/service/logger/logger.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts +0 -78
- package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts +0 -9
- package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +0 -189
- package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts +0 -10
- package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts +0 -327
- package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/search/search.service.d.ts +0 -173
- package/projects/eo-sdk/core/lib/service/search/search.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +0 -52
- package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts +0 -53
- package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts +0 -15
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts +0 -108
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts +0 -74
- package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/system/system.service.d.ts +0 -125
- package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts +0 -53
- package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts +0 -26
- package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts +0 -8
- package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts +0 -8
- package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts +0 -28
- package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts +0 -50
- package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +0 -216
- package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +0 -1
- package/projects/eo-sdk/core/lib/util/utils.d.ts +0 -148
- package/projects/eo-sdk/core/lib/util/utils.d.ts.map +0 -1
- package/projects/eo-sdk/core/public_api.d.ts +0 -82
- package/projects/eo-sdk/core/public_api.d.ts.map +0 -1
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
import { forkJoin as observableForkJoin, of as observableOf, ReplaySubject, throwError as observableThrowError } from 'rxjs';
|
|
2
|
-
import { mergeMap, tap, map } from 'rxjs/operators';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { Utils } from '../../util/utils';
|
|
5
|
-
import { WorkItemHistoryEntry } from '../../model/work-item-history.model';
|
|
6
|
-
import { Process, WorkItem } from '../../model/bpm.model';
|
|
7
|
-
import { ClipboardAction } from '../clipboard/clipboard-action.enum';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../capabilities/capabilities.service";
|
|
10
|
-
import * as i2 from "../backend/backend.service";
|
|
11
|
-
import * as i3 from "../events/event.service";
|
|
12
|
-
import * as i4 from "../inbox/inbox.service";
|
|
13
|
-
/**
|
|
14
|
-
* `BpmService` handles interaction related to BPM tasks.
|
|
15
|
-
*
|
|
16
|
-
* The main parts provided and used by this service are Processes and WorkItems.
|
|
17
|
-
* Processes are defined on the backend side. They describe a set of tasks that will be executed by the process.
|
|
18
|
-
* Tasks that require user interaction are referred to as WorkItems.
|
|
19
|
-
*
|
|
20
|
-
* Processes can be related to a special object type, but they don't have to. In addition to that they can refer
|
|
21
|
-
* to dms objects.
|
|
22
|
-
*/
|
|
23
|
-
export class BpmService {
|
|
24
|
-
constructor(capabilities, backend, eventService, inboxService) {
|
|
25
|
-
this.capabilities = capabilities;
|
|
26
|
-
this.backend = backend;
|
|
27
|
-
this.eventService = eventService;
|
|
28
|
-
this.inboxService = inboxService;
|
|
29
|
-
this.processItemsSource = new ReplaySubject(1);
|
|
30
|
-
/**
|
|
31
|
-
* Long term observable emitting the current processes
|
|
32
|
-
*/
|
|
33
|
-
this.processItems$ = this.processItemsSource.asObservable();
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Retrieve all processes of the current user.
|
|
37
|
-
*
|
|
38
|
-
* @param size Maximum number of processes to be fetched
|
|
39
|
-
* @returns List of Processes
|
|
40
|
-
*/
|
|
41
|
-
getProcesses(size = 1000) {
|
|
42
|
-
return this.backend
|
|
43
|
-
.getJson(`/process/user?size=${size}`, this.backend.getBpmBase())
|
|
44
|
-
.pipe(map(response => response.content.map(item => new Process(item))), tap((processes) => {
|
|
45
|
-
this.processItems = processes;
|
|
46
|
-
this.processItemsSource.next(this.processItems);
|
|
47
|
-
}));
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Getter for the executable Processes. If types are provided, you'll get
|
|
51
|
-
* only the processes that are executable for all of them
|
|
52
|
-
* @param types List of dms object types to fetch executable processes for
|
|
53
|
-
* @param useCached If the cached data should be returned rather than requesting again
|
|
54
|
-
* @param additionalData If the additional form data should be also included
|
|
55
|
-
* @param modelid The process model ID to only return the data for one process
|
|
56
|
-
* @returns List of executable processes
|
|
57
|
-
*/
|
|
58
|
-
getExecutableProcesses(types, useCached, additionalData, modelid, global) {
|
|
59
|
-
if (this.capabilities.hasCapability('bpm')) {
|
|
60
|
-
return (!!this.executableProcesses && useCached) ? observableOf(this.executableProcesses) : this.fetchExecutableProcesses(types, additionalData, modelid, global);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
return observableOf([]);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
initExecutableProcesses() {
|
|
67
|
-
let uri = '/bpm/process/executable';
|
|
68
|
-
return this.backend.get(uri).pipe(tap(res => this.hasMainExecutableProcesses = res?.length));
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Gets executable Processes for a given set of dms object.You'll get
|
|
72
|
-
* only the processes that are executable for all of them.
|
|
73
|
-
* @param dmsObjects List of dms objects to fetch executable processes for
|
|
74
|
-
* @returns List of executable processes
|
|
75
|
-
*/
|
|
76
|
-
getExecutableProcessesForDmsObjects(dmsObjects) {
|
|
77
|
-
return this.getExecutableProcesses(dmsObjects.map(o => o.typeName), false, true);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Fetches executable Processes from the backend.
|
|
81
|
-
* @param types List of dms object types to fetch executable processes for
|
|
82
|
-
* @param additionalData If the additional form data should be also included
|
|
83
|
-
* @param modelid The process model ID to only return the data for one process
|
|
84
|
-
* @returns List of executable processes
|
|
85
|
-
*/
|
|
86
|
-
fetchExecutableProcesses(types, additionalData, modelid, global) {
|
|
87
|
-
let uri = '/bpm/process/executable';
|
|
88
|
-
if (additionalData) {
|
|
89
|
-
uri += '?form=true&fields=true';
|
|
90
|
-
}
|
|
91
|
-
if (types) {
|
|
92
|
-
uri += (additionalData ? '&' : '?') + `type=${types.join(',')}`;
|
|
93
|
-
}
|
|
94
|
-
if (modelid) {
|
|
95
|
-
uri += (additionalData || types ? '&' : '?') + `modelid=${modelid}`;
|
|
96
|
-
}
|
|
97
|
-
return this.backend.get(uri).pipe(map(res => res), tap(res => {
|
|
98
|
-
// Extend existing processes with additional data, instead of overwriting all processes
|
|
99
|
-
if (global) {
|
|
100
|
-
if (additionalData) {
|
|
101
|
-
if (!this.executableProcesses) {
|
|
102
|
-
this.executableProcesses = [];
|
|
103
|
-
}
|
|
104
|
-
res.forEach(proc => {
|
|
105
|
-
const existingProcIndex = this.executableProcesses.findIndex(item => item.id === proc.id);
|
|
106
|
-
if (existingProcIndex === -1) {
|
|
107
|
-
this.executableProcesses.push(proc);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
this.executableProcesses[existingProcIndex] = proc;
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
this.executableProcesses = res;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}));
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Getter for a processes file. The file of a process contains
|
|
122
|
-
* dms objects attached to the process.
|
|
123
|
-
* @param processId ID of the process to fetch attached objects for
|
|
124
|
-
*/
|
|
125
|
-
getProcessFile(processId) {
|
|
126
|
-
return this.backend
|
|
127
|
-
.getJson(`/process/${processId}/file`, this.backend.getBpmBase()).pipe(map(res => res.content.map(i => {
|
|
128
|
-
return {
|
|
129
|
-
id: i.elementid,
|
|
130
|
-
title: i.title,
|
|
131
|
-
description: i.description ? i.description : '',
|
|
132
|
-
iconid: i.iconid,
|
|
133
|
-
creator: i.creator,
|
|
134
|
-
addtime: i.addtime,
|
|
135
|
-
type: i.type
|
|
136
|
-
};
|
|
137
|
-
})));
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Retrieves a work item.
|
|
141
|
-
* @param processId ID of the parent process
|
|
142
|
-
* @param itemId ID of the work item itself
|
|
143
|
-
* @param options Options to be added to the backend call
|
|
144
|
-
* @returns a WorkItem
|
|
145
|
-
*/
|
|
146
|
-
getWorkItem(processId, itemId, options) {
|
|
147
|
-
const params = options ? options : { form: true, fields: true };
|
|
148
|
-
const tasks = [
|
|
149
|
-
this.backend.getJson(Utils.buildUri(`/bpm/process/${processId}/${itemId}`, params)),
|
|
150
|
-
this.getProcessFile(processId)
|
|
151
|
-
];
|
|
152
|
-
return observableForkJoin(tasks).pipe(map(res => {
|
|
153
|
-
const wi = new WorkItem(res[0]);
|
|
154
|
-
wi.setFile(res[1]);
|
|
155
|
-
return wi;
|
|
156
|
-
}));
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Saves a work item.
|
|
160
|
-
* @param item The work item to be saved
|
|
161
|
-
* @returns The updated WorkItem
|
|
162
|
-
*/
|
|
163
|
-
saveWorkItem(item) {
|
|
164
|
-
const { id, processId, file, data } = item;
|
|
165
|
-
const payload = { contents: file, data };
|
|
166
|
-
const params = { keeplock: true, isautolock: false };
|
|
167
|
-
return this.backend
|
|
168
|
-
.post(Utils.buildUri(`/bpm/process/${processId}/${id}/save`, params), payload)
|
|
169
|
-
.pipe(mergeMap(() => this.getWorkItem(processId, id)));
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Forwards a work item. If a WorkItem provides different actions (@link WorkItemAction)
|
|
173
|
-
* you can provide the selected action too.
|
|
174
|
-
* @param item The work item to be forwarded
|
|
175
|
-
* @param action Action used for forwarding
|
|
176
|
-
*/
|
|
177
|
-
forwardWorkItem(item, action) {
|
|
178
|
-
const params = { keeplock: false, isautolock: false };
|
|
179
|
-
const payload = {
|
|
180
|
-
action: action,
|
|
181
|
-
contents: item.file,
|
|
182
|
-
data: item.data
|
|
183
|
-
};
|
|
184
|
-
return this.backend
|
|
185
|
-
.post(Utils.buildUri(`/bpm/process/${item.processId}/${item.id}/save`, params), payload)
|
|
186
|
-
.pipe(tap(() => this.inboxService.updateInboxItems(item.id)));
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Locks a WorkItem for the current user (personalization), meaning that the
|
|
190
|
-
* current user is now in charge of fulfilling the WorkItem task.
|
|
191
|
-
* @param item The WorkItem to be locked
|
|
192
|
-
* @returns The updated WorkItem
|
|
193
|
-
*/
|
|
194
|
-
lockWorkItem(item) {
|
|
195
|
-
return this.backend.put(`/bpm/process/${item.processId}/${item.id}/lock`)
|
|
196
|
-
.pipe(mergeMap(() => this.getWorkItem(item.processId, item.id)));
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Releases the lock for a WorkItem.
|
|
200
|
-
* @param item The work item to be unlocked
|
|
201
|
-
* @returns The updated WorkItem
|
|
202
|
-
*/
|
|
203
|
-
unlockWorkItem(item) {
|
|
204
|
-
return this.backend.del(`/bpm/process/${item.processId}/${item.id}/lock`).pipe(mergeMap(() => this.getWorkItem(item.processId, item.id)));
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Starts an executable process.
|
|
208
|
-
* @param executableProcessId ID of the executable Process to be started
|
|
209
|
-
* @param data Data to be passed to the process (simple object of key/value pairs)
|
|
210
|
-
* @param contents Objects to be attached to the process (process.file).
|
|
211
|
-
*/
|
|
212
|
-
startProcess(executableProcessId, data, contents) {
|
|
213
|
-
return this.backend.post(`/bpm/process/?modelid=${executableProcessId}`, {
|
|
214
|
-
data: data,
|
|
215
|
-
contents: contents
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Returns the history for a process. Which entries are returned depends on the
|
|
220
|
-
* permissions of the current user.
|
|
221
|
-
* @param processId The ID of the process to fetch history for
|
|
222
|
-
* @returns Observable<WorkItemHistoryEntry[]>
|
|
223
|
-
*/
|
|
224
|
-
getProcessHistory(processId) {
|
|
225
|
-
return this.backend
|
|
226
|
-
.getJson(`/bpm/process/${processId}/history`)
|
|
227
|
-
.pipe(map(res => res && res.length ? res.map(item => new WorkItemHistoryEntry(item)) : []));
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Removes a content from the work items file.
|
|
231
|
-
* @param processId The ID of the process to remove the item from
|
|
232
|
-
* @param workItemId The ID of the work item containing the file element to be removed
|
|
233
|
-
* @param workItemContentId The the ID of the file element to be removed
|
|
234
|
-
*/
|
|
235
|
-
removeFileElement(processId, workItemId, workItemContentId) {
|
|
236
|
-
return this.backend
|
|
237
|
-
.del(`/process/${processId}/file/${workItemContentId}?activityid=${workItemId}`, this.backend.getBpmBase());
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Add contents to a work items file.
|
|
241
|
-
* @param processId The ID of the process
|
|
242
|
-
* @param workItemId The ID of the activity
|
|
243
|
-
* @param elements The Elements to be added
|
|
244
|
-
* @returns The updated WorkItem
|
|
245
|
-
*/
|
|
246
|
-
addFileElements(processId, workItemId, elements) {
|
|
247
|
-
const tasks = [];
|
|
248
|
-
elements.forEach((e) => {
|
|
249
|
-
tasks.push(this.backend.post(`/process/${processId}/file/${e.id}?type=${e.type.name}&activityid=${workItemId}`, {}, this.backend.getBpmBase()));
|
|
250
|
-
});
|
|
251
|
-
return observableForkJoin(tasks)
|
|
252
|
-
.pipe(mergeMap(() => this.getWorkItem(processId, workItemId)));
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Add a objects from the clipboard to a WorkItem.
|
|
256
|
-
* @param workItem The workItem to add the objects to
|
|
257
|
-
* @param clipboard Clipboard object holding user selected objects
|
|
258
|
-
* @returns The updated WorkItem
|
|
259
|
-
*/
|
|
260
|
-
addFileElementsFromClipboard(workItem, clipboard) {
|
|
261
|
-
if ((workItem && workItem.fileEntryPermissions.add) && clipboard && clipboard.elements.length && clipboard.action === ClipboardAction.COPY) {
|
|
262
|
-
let contents;
|
|
263
|
-
if (workItem.file.length) {
|
|
264
|
-
// only add items that are not already part of the attachments
|
|
265
|
-
const attachmentIds = workItem.file.map(e => e.id);
|
|
266
|
-
contents = clipboard.elements.filter(e => attachmentIds.indexOf(e.id) === -1);
|
|
267
|
-
}
|
|
268
|
-
else {
|
|
269
|
-
contents = clipboard.elements;
|
|
270
|
-
}
|
|
271
|
-
return this.addFileElements(workItem.processId, workItem.id, contents);
|
|
272
|
-
}
|
|
273
|
-
else {
|
|
274
|
-
return observableThrowError('error');
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
BpmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BpmService, deps: [{ token: i1.CapabilitiesService }, { token: i2.BackendService }, { token: i3.EventService }, { token: i4.InboxService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
279
|
-
BpmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BpmService, providedIn: 'root' });
|
|
280
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BpmService, decorators: [{
|
|
281
|
-
type: Injectable,
|
|
282
|
-
args: [{
|
|
283
|
-
providedIn: 'root'
|
|
284
|
-
}]
|
|
285
|
-
}], ctorParameters: function () { return [{ type: i1.CapabilitiesService }, { type: i2.BackendService }, { type: i3.EventService }, { type: i4.InboxService }]; } });
|
|
286
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnBtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2UvYnBtL2JwbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLElBQUksa0JBQWtCLEVBQUUsRUFBRSxJQUFJLFlBQVksRUFBYyxhQUFhLEVBQUUsVUFBVSxJQUFJLG9CQUFvQixFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZJLE9BQU8sRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRXZDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBS3pFLE9BQU8sRUFBK0IsT0FBTyxFQUFFLFFBQVEsRUFBaUIsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUVuRTs7Ozs7Ozs7O0dBU0c7QUFJSCxNQUFNLE9BQU8sVUFBVTtJQVVyQixZQUFvQixZQUFpQyxFQUMzQyxPQUF1QixFQUN2QixZQUEwQixFQUMxQixZQUEwQjtRQUhoQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDM0MsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFUNUIsdUJBQWtCLEdBQUcsSUFBSSxhQUFhLENBQVksQ0FBQyxDQUFDLENBQUM7UUFDN0Q7O1dBRUc7UUFDSCxrQkFBYSxHQUEwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFNOUUsQ0FB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QyxNQUFNLEtBQUssZUFBZSxDQUFDLElBQUksRUFBRTtZQUMxSSxJQUFJLFFBQXFCLENBQUM7WUFDMUIsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDeEIsOERBQThEO2dCQUM5RCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDbkQsUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvRTtpQkFBTTtnQkFDTCxRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUMvQjtZQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDeEU7YUFBTTtZQUNMLE9BQU8sb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDOzt1R0FoU1UsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Zm9ya0pvaW4gYXMgb2JzZXJ2YWJsZUZvcmtKb2luLCBvZiBhcyBvYnNlcnZhYmxlT2YsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93RXJyb3J9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttZXJnZU1hcCwgdGFwLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1V0aWxzfSBmcm9tICcuLi8uLi91dGlsL3V0aWxzJztcbmltcG9ydCB7QmFja2VuZFNlcnZpY2V9IGZyb20gJy4uL2JhY2tlbmQvYmFja2VuZC5zZXJ2aWNlJztcbmltcG9ydCB7V29ya0l0ZW1IaXN0b3J5RW50cnl9IGZyb20gJy4uLy4uL21vZGVsL3dvcmstaXRlbS1oaXN0b3J5Lm1vZGVsJztcbmltcG9ydCB7RG1zT2JqZWN0fSBmcm9tICcuLi8uLi9tb2RlbC9kbXMtb2JqZWN0Lm1vZGVsJztcbmltcG9ydCB7SW5ib3hTZXJ2aWNlfSBmcm9tICcuLi9pbmJveC9pbmJveC5zZXJ2aWNlJztcbmltcG9ydCB7RXZlbnRTZXJ2aWNlfSBmcm9tICcuLi9ldmVudHMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0NhcGFiaWxpdGllc1NlcnZpY2V9IGZyb20gJy4uL2NhcGFiaWxpdGllcy9jYXBhYmlsaXRpZXMuc2VydmljZSc7XG5pbXBvcnQge0V4ZWN1dGFibGVQcm9jZXNzLCBGaWxlRW50cnksIFByb2Nlc3MsIFdvcmtJdGVtLCBXb3JrSXRlbUFjdGlvbn0gZnJvbSAnLi4vLi4vbW9kZWwvYnBtLm1vZGVsJztcbmltcG9ydCB7Q2xpcGJvYXJkfSBmcm9tICcuLi9jbGlwYm9hcmQvY2xpcGJvYXJkLmludGVyZmFjZSc7XG5pbXBvcnQge0NsaXBib2FyZEFjdGlvbn0gZnJvbSAnLi4vY2xpcGJvYXJkL2NsaXBib2FyZC1hY3Rpb24uZW51bSc7XG5cbi8qKlxuICogYEJwbVNlcnZpY2VgIGhhbmRsZXMgaW50ZXJhY3Rpb24gcmVsYXRlZCB0byBCUE0gdGFza3MuXG4gKlxuICogVGhlIG1haW4gcGFydHMgcHJvdmlkZWQgYW5kIHVzZWQgYnkgdGhpcyBzZXJ2aWNlIGFyZSBQcm9jZXNzZXMgYW5kIFdvcmtJdGVtcy5cbiAqIFByb2Nlc3NlcyBhcmUgZGVmaW5lZCBvbiB0aGUgYmFja2VuZCBzaWRlLiBUaGV5IGRlc2NyaWJlIGEgc2V0IG9mIHRhc2tzIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBieSB0aGUgcHJvY2Vzcy5cbiAqIFRhc2tzIHRoYXQgcmVxdWlyZSB1c2VyIGludGVyYWN0aW9uIGFyZSByZWZlcnJlZCB0byBhcyBXb3JrSXRlbXMuXG4gKlxuICogUHJvY2Vzc2VzIGNhbiBiZSByZWxhdGVkIHRvIGEgc3BlY2lhbCBvYmplY3QgdHlwZSwgYnV0IHRoZXkgZG9uJ3QgaGF2ZSB0by4gSW4gYWRkaXRpb24gdG8gdGhhdCB0aGV5IGNhbiByZWZlclxuICogdG8gZG1zIG9iamVjdHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJwbVNlcnZpY2Uge1xuICBoYXNNYWluRXhlY3V0YWJsZVByb2Nlc3NlczogYm9vbGVhbjtcbiAgcHJpdmF0ZSBleGVjdXRhYmxlUHJvY2Vzc2VzOiBFeGVjdXRhYmxlUHJvY2Vzc1tdO1xuICBwcml2YXRlIHByb2Nlc3NJdGVtczogUHJvY2Vzc1tdO1xuICBwcml2YXRlIHByb2Nlc3NJdGVtc1NvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PFByb2Nlc3NbXT4oMSk7XG4gIC8qKlxuICAgKiBMb25nIHRlcm0gb2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgY3VycmVudCBwcm9jZXNzZXNcbiAgICovXG4gIHByb2Nlc3NJdGVtcyQ6IE9ic2VydmFibGU8UHJvY2Vzc1tdPiA9IHRoaXMucHJvY2Vzc0l0ZW1zU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2FwYWJpbGl0aWVzOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGluYm94U2VydmljZTogSW5ib3hTZXJ2aWNlKSB7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgYWxsIHByb2Nlc3NlcyBvZiB0aGUgY3VycmVudCB1c2VyLlxuICAgKlxuICAgKiBAcGFyYW0gc2l6ZSBNYXhpbXVtIG51bWJlciBvZiBwcm9jZXNzZXMgdG8gYmUgZmV0Y2hlZFxuICAgKiBAcmV0dXJucyBMaXN0IG9mIFByb2Nlc3Nlc1xuICAgKi9cbiAgZ2V0UHJvY2Vzc2VzKHNpemU6IG51bWJlciA9IDEwMDApOiBPYnNlcnZhYmxlPFByb2Nlc3NbXT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKGAvcHJvY2Vzcy91c2VyP3NpemU9JHtzaXplfWAsIHRoaXMuYmFja2VuZC5nZXRCcG1CYXNlKCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmNvbnRlbnQubWFwKGl0ZW0gPT4gbmV3IFByb2Nlc3MoaXRlbSkpKSxcbiAgICAgICAgdGFwKChwcm9jZXNzZXM6IFByb2Nlc3NbXSkgPT4ge1xuICAgICAgICAgIHRoaXMucHJvY2Vzc0l0ZW1zID0gcHJvY2Vzc2VzO1xuICAgICAgICAgIHRoaXMucHJvY2Vzc0l0ZW1zU291cmNlLm5leHQodGhpcy5wcm9jZXNzSXRlbXMpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgZm9yIHRoZSBleGVjdXRhYmxlIFByb2Nlc3Nlcy4gSWYgdHlwZXMgYXJlIHByb3ZpZGVkLCB5b3UnbGwgZ2V0XG4gICAqIG9ubHkgdGhlIHByb2Nlc3NlcyB0aGF0IGFyZSBleGVjdXRhYmxlIGZvciBhbGwgb2YgdGhlbVxuICAgKiBAcGFyYW0gdHlwZXMgTGlzdCBvZiBkbXMgb2JqZWN0IHR5cGVzIHRvIGZldGNoIGV4ZWN1dGFibGUgcHJvY2Vzc2VzIGZvclxuICAgKiBAcGFyYW0gdXNlQ2FjaGVkIElmIHRoZSBjYWNoZWQgZGF0YSBzaG91bGQgYmUgcmV0dXJuZWQgcmF0aGVyIHRoYW4gcmVxdWVzdGluZyBhZ2FpblxuICAgKiBAcGFyYW0gYWRkaXRpb25hbERhdGEgSWYgdGhlIGFkZGl0aW9uYWwgZm9ybSBkYXRhIHNob3VsZCBiZSBhbHNvIGluY2x1ZGVkXG4gICAqIEBwYXJhbSBtb2RlbGlkIFRoZSBwcm9jZXNzIG1vZGVsIElEIHRvIG9ubHkgcmV0dXJuIHRoZSBkYXRhIGZvciBvbmUgcHJvY2Vzc1xuICAgKiBAcmV0dXJucyBMaXN0IG9mIGV4ZWN1dGFibGUgcHJvY2Vzc2VzXG4gICAqL1xuICBnZXRFeGVjdXRhYmxlUHJvY2Vzc2VzKHR5cGVzPzogc3RyaW5nW10sIHVzZUNhY2hlZD86IGJvb2xlYW4sIGFkZGl0aW9uYWxEYXRhPzogYm9vbGVhbiwgbW9kZWxpZD86IHN0cmluZywgZ2xvYmFsPzogYm9vbGVhbik6IE9ic2VydmFibGU8RXhlY3V0YWJsZVByb2Nlc3NbXT4ge1xuICAgIGlmICh0aGlzLmNhcGFiaWxpdGllcy5oYXNDYXBhYmlsaXR5KCdicG0nKSkge1xuICAgICAgcmV0dXJuICghIXRoaXMuZXhlY3V0YWJsZVByb2Nlc3NlcyAmJiB1c2VDYWNoZWQpID8gb2JzZXJ2YWJsZU9mKHRoaXMuZXhlY3V0YWJsZVByb2Nlc3NlcykgOiB0aGlzLmZldGNoRXhlY3V0YWJsZVByb2Nlc3Nlcyh0eXBlcywgYWRkaXRpb25hbERhdGEsIG1vZGVsaWQsIGdsb2JhbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvYnNlcnZhYmxlT2YoW10pO1xuICAgIH1cbiAgfVxuXG4gIGluaXRFeGVjdXRhYmxlUHJvY2Vzc2VzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHVyaSA9ICcvYnBtL3Byb2Nlc3MvZXhlY3V0YWJsZSc7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXQodXJpKS5waXBlKHRhcChyZXMgPT4gdGhpcy5oYXNNYWluRXhlY3V0YWJsZVByb2Nlc3NlcyA9IHJlcz8ubGVuZ3RoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBleGVjdXRhYmxlIFByb2Nlc3NlcyBmb3IgYSBnaXZlbiBzZXQgb2YgZG1zIG9iamVjdC5Zb3UnbGwgZ2V0XG4gICAqIG9ubHkgdGhlIHByb2Nlc3NlcyB0aGF0IGFyZSBleGVjdXRhYmxlIGZvciBhbGwgb2YgdGhlbS5cbiAgICogQHBhcmFtIGRtc09iamVjdHMgTGlzdCBvZiBkbXMgb2JqZWN0cyB0byBmZXRjaCBleGVjdXRhYmxlIHByb2Nlc3NlcyBmb3JcbiAgICogQHJldHVybnMgTGlzdCBvZiBleGVjdXRhYmxlIHByb2Nlc3Nlc1xuICAgKi9cbiAgZ2V0RXhlY3V0YWJsZVByb2Nlc3Nlc0ZvckRtc09iamVjdHMoZG1zT2JqZWN0czogRG1zT2JqZWN0W10pOiBPYnNlcnZhYmxlPEV4ZWN1dGFibGVQcm9jZXNzW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRFeGVjdXRhYmxlUHJvY2Vzc2VzKGRtc09iamVjdHMubWFwKG8gPT4gby50eXBlTmFtZSksIGZhbHNlLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGV4ZWN1dGFibGUgUHJvY2Vzc2VzIGZyb20gdGhlIGJhY2tlbmQuXG4gICAqIEBwYXJhbSB0eXBlcyBMaXN0IG9mIGRtcyBvYmplY3QgdHlwZXMgdG8gZmV0Y2ggZXhlY3V0YWJsZSBwcm9jZXNzZXMgZm9yXG4gICAqIEBwYXJhbSBhZGRpdGlvbmFsRGF0YSBJZiB0aGUgYWRkaXRpb25hbCBmb3JtIGRhdGEgc2hvdWxkIGJlIGFsc28gaW5jbHVkZWRcbiAgICogQHBhcmFtIG1vZGVsaWQgVGhlIHByb2Nlc3MgbW9kZWwgSUQgdG8gb25seSByZXR1cm4gdGhlIGRhdGEgZm9yIG9uZSBwcm9jZXNzXG4gICAqIEByZXR1cm5zIExpc3Qgb2YgZXhlY3V0YWJsZSBwcm9jZXNzZXNcbiAgICovXG4gIHByaXZhdGUgZmV0Y2hFeGVjdXRhYmxlUHJvY2Vzc2VzKHR5cGVzPzogc3RyaW5nW10sIGFkZGl0aW9uYWxEYXRhPzogYm9vbGVhbiwgbW9kZWxpZD86IHN0cmluZywgZ2xvYmFsPzogYm9vbGVhbik6IE9ic2VydmFibGU8RXhlY3V0YWJsZVByb2Nlc3NbXT4ge1xuICAgIGxldCB1cmkgPSAnL2JwbS9wcm9jZXNzL2V4ZWN1dGFibGUnO1xuICAgIGlmIChhZGRpdGlvbmFsRGF0YSkge1xuICAgICAgdXJpICs9ICc/Zm9ybT10cnVlJmZpZWxkcz10cnVlJztcbiAgICB9XG4gICAgaWYgKHR5cGVzKSB7XG4gICAgICB1cmkgKz0gKGFkZGl0aW9uYWxEYXRhID8gJyYnIDogJz8nKSArIGB0eXBlPSR7dHlwZXMuam9pbignLCcpfWA7XG4gICAgfVxuICAgIGlmIChtb2RlbGlkKSB7XG4gICAgICB1cmkgKz0gKGFkZGl0aW9uYWxEYXRhIHx8IHR5cGVzID8gJyYnIDogJz8nKSArIGBtb2RlbGlkPSR7bW9kZWxpZH1gO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldCh1cmkpLnBpcGUoXG4gICAgICBtYXAocmVzID0+IHJlcyBhcyBFeGVjdXRhYmxlUHJvY2Vzc1tdKSxcbiAgICAgIHRhcChyZXMgPT4ge1xuICAgICAgICAvLyBFeHRlbmQgZXhpc3RpbmcgcHJvY2Vzc2VzIHdpdGggYWRkaXRpb25hbCBkYXRhLCBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIGFsbCBwcm9jZXNzZXNcbiAgICAgICAgaWYgKGdsb2JhbCkge1xuICAgICAgICAgIGlmIChhZGRpdGlvbmFsRGF0YSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmV4ZWN1dGFibGVQcm9jZXNzZXMpIHtcbiAgICAgICAgICAgICAgdGhpcy5leGVjdXRhYmxlUHJvY2Vzc2VzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuZm9yRWFjaChwcm9jID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdQcm9jSW5kZXggPSB0aGlzLmV4ZWN1dGFibGVQcm9jZXNzZXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gcHJvYy5pZCk7XG4gICAgICAgICAgICAgIGlmIChleGlzdGluZ1Byb2NJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4ZWN1dGFibGVQcm9jZXNzZXMucHVzaChwcm9jKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4ZWN1dGFibGVQcm9jZXNzZXNbZXhpc3RpbmdQcm9jSW5kZXhdID0gcHJvYztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0YWJsZVByb2Nlc3NlcyA9IHJlcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgZm9yIGEgcHJvY2Vzc2VzIGZpbGUuIFRoZSBmaWxlIG9mIGEgcHJvY2VzcyBjb250YWluc1xuICAgKiBkbXMgb2JqZWN0cyBhdHRhY2hlZCB0byB0aGUgcHJvY2Vzcy5cbiAgICogQHBhcmFtIHByb2Nlc3NJZCBJRCBvZiB0aGUgcHJvY2VzcyB0byBmZXRjaCBhdHRhY2hlZCBvYmplY3RzIGZvclxuICAgKi9cbiAgZ2V0UHJvY2Vzc0ZpbGUocHJvY2Vzc0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZpbGVFbnRyeVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24oYC9wcm9jZXNzLyR7cHJvY2Vzc0lkfS9maWxlYCwgdGhpcy5iYWNrZW5kLmdldEJwbUJhc2UoKSkucGlwZShcbiAgICAgICAgbWFwKHJlcyA9PiByZXMuY29udGVudC5tYXAoaSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiBpLmVsZW1lbnRpZCxcbiAgICAgICAgICAgIHRpdGxlOiBpLnRpdGxlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGkuZGVzY3JpcHRpb24gPyBpLmRlc2NyaXB0aW9uIDogJycsXG4gICAgICAgICAgICBpY29uaWQ6IGkuaWNvbmlkLFxuICAgICAgICAgICAgY3JlYXRvcjogaS5jcmVhdG9yLFxuICAgICAgICAgICAgYWRkdGltZTogaS5hZGR0aW1lLFxuICAgICAgICAgICAgdHlwZTogaS50eXBlXG4gICAgICAgICAgfTtcbiAgICAgICAgfSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIHdvcmsgaXRlbS5cbiAgICogQHBhcmFtIHByb2Nlc3NJZCBJRCBvZiB0aGUgcGFyZW50IHByb2Nlc3NcbiAgICogQHBhcmFtIGl0ZW1JZCBJRCBvZiB0aGUgd29yayBpdGVtIGl0c2VsZlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIHRvIGJlIGFkZGVkIHRvIHRoZSBiYWNrZW5kIGNhbGxcbiAgICogQHJldHVybnMgYSBXb3JrSXRlbVxuICAgKi9cbiAgZ2V0V29ya0l0ZW0ocHJvY2Vzc0lkOiBzdHJpbmcsIGl0ZW1JZDogc3RyaW5nLCBvcHRpb25zPzogYW55KTogT2JzZXJ2YWJsZTxXb3JrSXRlbT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG9wdGlvbnMgPyBvcHRpb25zIDoge2Zvcm06IHRydWUsIGZpZWxkczogdHJ1ZX07XG4gICAgY29uc3QgdGFza3MgPSBbXG4gICAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbihVdGlscy5idWlsZFVyaShgL2JwbS9wcm9jZXNzLyR7cHJvY2Vzc0lkfS8ke2l0ZW1JZH1gLCBwYXJhbXMpKSxcbiAgICAgIHRoaXMuZ2V0UHJvY2Vzc0ZpbGUocHJvY2Vzc0lkKVxuICAgIF07XG4gICAgcmV0dXJuIG9ic2VydmFibGVGb3JrSm9pbih0YXNrcykucGlwZShcbiAgICAgIG1hcChyZXMgPT4ge1xuICAgICAgICBjb25zdCB3aSA9IG5ldyBXb3JrSXRlbShyZXNbMF0pO1xuICAgICAgICB3aS5zZXRGaWxlKHJlc1sxXSk7XG4gICAgICAgIHJldHVybiB3aTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBhIHdvcmsgaXRlbS5cbiAgICogQHBhcmFtIGl0ZW0gVGhlIHdvcmsgaXRlbSB0byBiZSBzYXZlZFxuICAgKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBXb3JrSXRlbVxuICAgKi9cbiAgc2F2ZVdvcmtJdGVtKGl0ZW06IFdvcmtJdGVtKTogT2JzZXJ2YWJsZTxXb3JrSXRlbT4ge1xuICAgIGNvbnN0IHtpZCwgcHJvY2Vzc0lkLCBmaWxlLCBkYXRhfSA9IGl0ZW07XG4gICAgY29uc3QgcGF5bG9hZCA9IHtjb250ZW50czogZmlsZSwgZGF0YX07XG4gICAgY29uc3QgcGFyYW1zID0ge2tlZXBsb2NrOiB0cnVlLCBpc2F1dG9sb2NrOiBmYWxzZX07XG5cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucG9zdChVdGlscy5idWlsZFVyaShgL2JwbS9wcm9jZXNzLyR7cHJvY2Vzc0lkfS8ke2lkfS9zYXZlYCwgcGFyYW1zKSwgcGF5bG9hZClcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgoKSA9PiB0aGlzLmdldFdvcmtJdGVtKHByb2Nlc3NJZCwgaWQpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3J3YXJkcyBhIHdvcmsgaXRlbS4gSWYgYSBXb3JrSXRlbSBwcm92aWRlcyBkaWZmZXJlbnQgYWN0aW9ucyAoQGxpbmsgV29ya0l0ZW1BY3Rpb24pXG4gICAqIHlvdSBjYW4gcHJvdmlkZSB0aGUgc2VsZWN0ZWQgYWN0aW9uIHRvby5cbiAgICogQHBhcmFtIGl0ZW0gVGhlIHdvcmsgaXRlbSB0byBiZSBmb3J3YXJkZWRcbiAgICogQHBhcmFtIGFjdGlvbiBBY3Rpb24gdXNlZCBmb3IgZm9yd2FyZGluZ1xuICAgKi9cbiAgZm9yd2FyZFdvcmtJdGVtKGl0ZW06IFdvcmtJdGVtLCBhY3Rpb24/OiBXb3JrSXRlbUFjdGlvbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcGFyYW1zID0ge2tlZXBsb2NrOiBmYWxzZSwgaXNhdXRvbG9jazogZmFsc2V9O1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBhY3Rpb246IGFjdGlvbixcbiAgICAgIGNvbnRlbnRzOiBpdGVtLmZpbGUsXG4gICAgICBkYXRhOiBpdGVtLmRhdGFcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5wb3N0KFV0aWxzLmJ1aWxkVXJpKGAvYnBtL3Byb2Nlc3MvJHtpdGVtLnByb2Nlc3NJZH0vJHtpdGVtLmlkfS9zYXZlYCwgcGFyYW1zKSwgcGF5bG9hZClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pbmJveFNlcnZpY2UudXBkYXRlSW5ib3hJdGVtcyhpdGVtLmlkKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9ja3MgYSBXb3JrSXRlbSBmb3IgdGhlIGN1cnJlbnQgdXNlciAocGVyc29uYWxpemF0aW9uKSwgbWVhbmluZyB0aGF0IHRoZVxuICAgKiBjdXJyZW50IHVzZXIgaXMgbm93IGluIGNoYXJnZSBvZiBmdWxmaWxsaW5nIHRoZSBXb3JrSXRlbSB0YXNrLlxuICAgKiBAcGFyYW0gaXRlbSBUaGUgV29ya0l0ZW0gdG8gYmUgbG9ja2VkXG4gICAqIEByZXR1cm5zIFRoZSB1cGRhdGVkIFdvcmtJdGVtXG4gICAqL1xuICBsb2NrV29ya0l0ZW0oaXRlbTogV29ya0l0ZW0pOiBPYnNlcnZhYmxlPFdvcmtJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5wdXQoYC9icG0vcHJvY2Vzcy8ke2l0ZW0ucHJvY2Vzc0lkfS8ke2l0ZW0uaWR9L2xvY2tgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuZ2V0V29ya0l0ZW0oaXRlbS5wcm9jZXNzSWQsIGl0ZW0uaWQpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWxlYXNlcyB0aGUgbG9jayBmb3IgYSBXb3JrSXRlbS5cbiAgICogQHBhcmFtIGl0ZW0gVGhlIHdvcmsgaXRlbSB0byBiZSB1bmxvY2tlZFxuICAgKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBXb3JrSXRlbVxuICAgKi9cbiAgdW5sb2NrV29ya0l0ZW0oaXRlbTogV29ya0l0ZW0pOiBPYnNlcnZhYmxlPFdvcmtJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5kZWwoYC9icG0vcHJvY2Vzcy8ke2l0ZW0ucHJvY2Vzc0lkfS8ke2l0ZW0uaWR9L2xvY2tgKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKCkgPT4gdGhpcy5nZXRXb3JrSXRlbShpdGVtLnByb2Nlc3NJZCwgaXRlbS5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgYW4gZXhlY3V0YWJsZSBwcm9jZXNzLlxuICAgKiBAcGFyYW0gZXhlY3V0YWJsZVByb2Nlc3NJZCBJRCBvZiB0aGUgZXhlY3V0YWJsZSBQcm9jZXNzIHRvIGJlIHN0YXJ0ZWRcbiAgICogQHBhcmFtIGRhdGEgRGF0YSB0byBiZSBwYXNzZWQgdG8gdGhlIHByb2Nlc3MgKHNpbXBsZSBvYmplY3Qgb2Yga2V5L3ZhbHVlIHBhaXJzKVxuICAgKiBAcGFyYW0gY29udGVudHMgT2JqZWN0cyB0byBiZSBhdHRhY2hlZCB0byB0aGUgcHJvY2VzcyAocHJvY2Vzcy5maWxlKS5cbiAgICovXG4gIHN0YXJ0UHJvY2VzcyhleGVjdXRhYmxlUHJvY2Vzc0lkOiBzdHJpbmcsIGRhdGE6IGFueSwgY29udGVudHM6IHtpZDogc3RyaW5nLCB0eXBlOiBzdHJpbmd9W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQucG9zdChgL2JwbS9wcm9jZXNzLz9tb2RlbGlkPSR7ZXhlY3V0YWJsZVByb2Nlc3NJZH1gLCB7XG4gICAgICBkYXRhOiBkYXRhLFxuICAgICAgY29udGVudHM6IGNvbnRlbnRzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaGlzdG9yeSBmb3IgYSBwcm9jZXNzLiBXaGljaCBlbnRyaWVzIGFyZSByZXR1cm5lZCBkZXBlbmRzIG9uIHRoZVxuICAgKiBwZXJtaXNzaW9ucyBvZiB0aGUgY3VycmVudCB1c2VyLlxuICAgKiBAcGFyYW0gcHJvY2Vzc0lkIFRoZSBJRCBvZiB0aGUgcHJvY2VzcyB0byBmZXRjaCBoaXN0b3J5IGZvclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFdvcmtJdGVtSGlzdG9yeUVudHJ5W10+XG4gICAqL1xuICBnZXRQcm9jZXNzSGlzdG9yeShwcm9jZXNzSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8V29ya0l0ZW1IaXN0b3J5RW50cnlbXT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKGAvYnBtL3Byb2Nlc3MvJHtwcm9jZXNzSWR9L2hpc3RvcnlgKVxuICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXMgJiYgcmVzLmxlbmd0aCA/IHJlcy5tYXAoaXRlbSA9PiBuZXcgV29ya0l0ZW1IaXN0b3J5RW50cnkoaXRlbSkpIDogW10pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgY29udGVudCBmcm9tIHRoZSB3b3JrIGl0ZW1zIGZpbGUuXG4gICAqIEBwYXJhbSBwcm9jZXNzSWQgVGhlIElEIG9mIHRoZSBwcm9jZXNzIHRvIHJlbW92ZSB0aGUgaXRlbSBmcm9tXG4gICAqIEBwYXJhbSB3b3JrSXRlbUlkIFRoZSBJRCBvZiB0aGUgd29yayBpdGVtIGNvbnRhaW5pbmcgdGhlIGZpbGUgZWxlbWVudCB0byBiZSByZW1vdmVkXG4gICAqIEBwYXJhbSB3b3JrSXRlbUNvbnRlbnRJZCBUaGUgdGhlIElEIG9mIHRoZSBmaWxlIGVsZW1lbnQgdG8gYmUgcmVtb3ZlZFxuICAgKi9cbiAgcmVtb3ZlRmlsZUVsZW1lbnQocHJvY2Vzc0lkOiBzdHJpbmcsIHdvcmtJdGVtSWQ6IHN0cmluZywgd29ya0l0ZW1Db250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmRlbChgL3Byb2Nlc3MvJHtwcm9jZXNzSWR9L2ZpbGUvJHt3b3JrSXRlbUNvbnRlbnRJZH0/YWN0aXZpdHlpZD0ke3dvcmtJdGVtSWR9YCwgdGhpcy5iYWNrZW5kLmdldEJwbUJhc2UoKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGNvbnRlbnRzIHRvIGEgd29yayBpdGVtcyBmaWxlLlxuICAgKiBAcGFyYW0gcHJvY2Vzc0lkIFRoZSBJRCBvZiB0aGUgcHJvY2Vzc1xuICAgKiBAcGFyYW0gd29ya0l0ZW1JZCBUaGUgSUQgb2YgdGhlIGFjdGl2aXR5XG4gICAqIEBwYXJhbSBlbGVtZW50cyBUaGUgRWxlbWVudHMgdG8gYmUgYWRkZWRcbiAgICogQHJldHVybnMgVGhlIHVwZGF0ZWQgV29ya0l0ZW1cbiAgICovXG4gIGFkZEZpbGVFbGVtZW50cyhwcm9jZXNzSWQ6IHN0cmluZywgd29ya0l0ZW1JZDogc3RyaW5nLCBlbGVtZW50czogRG1zT2JqZWN0W10pOiBPYnNlcnZhYmxlPFdvcmtJdGVtPiB7XG4gICAgY29uc3QgdGFza3MgPSBbXTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICB0YXNrcy5wdXNoKHRoaXMuYmFja2VuZC5wb3N0KFxuICAgICAgICBgL3Byb2Nlc3MvJHtwcm9jZXNzSWR9L2ZpbGUvJHtlLmlkfT90eXBlPSR7ZS50eXBlLm5hbWV9JmFjdGl2aXR5aWQ9JHt3b3JrSXRlbUlkfWAsXG4gICAgICAgIHt9LCB0aGlzLmJhY2tlbmQuZ2V0QnBtQmFzZSgpKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG9ic2VydmFibGVGb3JrSm9pbih0YXNrcylcbiAgICAgIC5waXBlKFxuICAgICAgICBtZXJnZU1hcCgoKSA9PiB0aGlzLmdldFdvcmtJdGVtKHByb2Nlc3NJZCwgd29ya0l0ZW1JZCkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG9iamVjdHMgZnJvbSB0aGUgY2xpcGJvYXJkIHRvIGEgV29ya0l0ZW0uXG4gICAqIEBwYXJhbSB3b3JrSXRlbSBUaGUgd29ya0l0ZW0gdG8gYWRkIHRoZSBvYmplY3RzIHRvXG4gICAqIEBwYXJhbSBjbGlwYm9hcmQgQ2xpcGJvYXJkIG9iamVjdCBob2xkaW5nIHVzZXIgc2VsZWN0ZWQgb2JqZWN0c1xuICAgKiBAcmV0dXJucyBUaGUgdXBkYXRlZCBXb3JrSXRlbVxuICAgKi9cbiAgYWRkRmlsZUVsZW1lbnRzRnJvbUNsaXBib2FyZCh3b3JrSXRlbTogV29ya0l0ZW0sIGNsaXBib2FyZDogQ2xpcGJvYXJkKTogT2JzZXJ2YWJsZTxXb3JrSXRlbT4ge1xuICAgIGlmICgod29ya0l0ZW0gJiYgd29ya0l0ZW0uZmlsZUVudHJ5UGVybWlzc2lvbnMuYWRkKSAmJiBjbGlwYm9hcmQgJiYgY2xpcGJvYXJkLmVsZW1lbnRzLmxlbmd0aCAmJiBjbGlwYm9hcmQuYWN0aW9uID09PSBDbGlwYm9hcmRBY3Rpb24uQ09QWSkge1xuICAgICAgbGV0IGNvbnRlbnRzOiBEbXNPYmplY3RbXTtcbiAgICAgIGlmICh3b3JrSXRlbS5maWxlLmxlbmd0aCkge1xuICAgICAgICAvLyBvbmx5IGFkZCBpdGVtcyB0aGF0IGFyZSBub3QgYWxyZWFkeSBwYXJ0IG9mIHRoZSBhdHRhY2htZW50c1xuICAgICAgICBjb25zdCBhdHRhY2htZW50SWRzID0gd29ya0l0ZW0uZmlsZS5tYXAoZSA9PiBlLmlkKTtcbiAgICAgICAgY29udGVudHMgPSBjbGlwYm9hcmQuZWxlbWVudHMuZmlsdGVyKGUgPT4gYXR0YWNobWVudElkcy5pbmRleE9mKGUuaWQpID09PSAtMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZW50cyA9IGNsaXBib2FyZC5lbGVtZW50cztcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmFkZEZpbGVFbGVtZW50cyh3b3JrSXRlbS5wcm9jZXNzSWQsIHdvcmtJdGVtLmlkLCBjb250ZW50cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcignZXJyb3InKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Observable, Subject, of as observableOf, of, forkJoin } from 'rxjs';
|
|
3
|
-
import { debounceTime, switchMap, map, first } from 'rxjs/operators';
|
|
4
|
-
import { Utils } from '../../util/utils';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@ngx-pwa/local-storage";
|
|
7
|
-
/**
|
|
8
|
-
* The apps central caching service. It will provide the app with an easy to use cache that
|
|
9
|
-
* is aware of the platform it is running on. So it abstracts the platform-specific implementations
|
|
10
|
-
* of a cache from the application.
|
|
11
|
-
*/
|
|
12
|
-
export class AppCacheService {
|
|
13
|
-
constructor(storage, storageMap) {
|
|
14
|
-
this.storage = storage;
|
|
15
|
-
this.storageMap = storageMap;
|
|
16
|
-
/**
|
|
17
|
-
* Key for storing system definition
|
|
18
|
-
*/
|
|
19
|
-
this.SYSTEM_DEFINITION = 'eo.framework.cache.systemdefinition';
|
|
20
|
-
/**
|
|
21
|
-
* Key for storing system definition
|
|
22
|
-
*/
|
|
23
|
-
this.HOSTS = 'eo.framework.cache.hosts';
|
|
24
|
-
/**
|
|
25
|
-
* Key for storing location history
|
|
26
|
-
*/
|
|
27
|
-
this.LOCATION_HISTORY = 'eo.framework.cache.locations.history';
|
|
28
|
-
this.itemsMap = new Map();
|
|
29
|
-
// IndexedDB issue after update - refresh function (transform all wrapped items)
|
|
30
|
-
window['_ngStorageRefresh'] = () => this.getStorage().subscribe(storage => this.setStorage(storage).subscribe() && console.log(storage));
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Writes an item to the storage.
|
|
34
|
-
* @param key The item's key
|
|
35
|
-
* @param value The value to be stored
|
|
36
|
-
* @param debounce The debounce time (default: 500) to reduce identical storage calls
|
|
37
|
-
* @returns Resolves true if setting the item succeeded, false otherwise
|
|
38
|
-
*/
|
|
39
|
-
setItem(key, value, debounce = 500) {
|
|
40
|
-
if (!debounce) {
|
|
41
|
-
return this.storage.setItem(key, value);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
if (!this.itemsMap.has(key)) {
|
|
45
|
-
const subject = new Subject();
|
|
46
|
-
subject.pipe(debounceTime(debounce), switchMap(val => this.storage.setItem(key, val))).subscribe();
|
|
47
|
-
this.itemsMap.set(key, subject);
|
|
48
|
-
}
|
|
49
|
-
this.itemsMap.get(key).next(value);
|
|
50
|
-
return observableOf(true);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Get a stored item by its key.
|
|
55
|
-
* @param key The item's key
|
|
56
|
-
* @returns The item's value if the key exists, null otherwise
|
|
57
|
-
*/
|
|
58
|
-
getItem(key) {
|
|
59
|
-
return this.storage.getItem(key)
|
|
60
|
-
.pipe(map((item) => {
|
|
61
|
-
// IndexedDB issue after update (transform wrapped items)
|
|
62
|
-
return Object.keys(item || {}).join() === 'value' ? item.value : item;
|
|
63
|
-
}));
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Removes an item from the storage.
|
|
67
|
-
* @param key The item's key
|
|
68
|
-
* @returns Resolves true if removing the item succeeded, false otherwise
|
|
69
|
-
*/
|
|
70
|
-
removeItem(key) {
|
|
71
|
-
return this.storage.removeItem(key);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Deletes all items from local storage
|
|
75
|
-
* @param filter optional - Delete all keys that pass through filter
|
|
76
|
-
* @returns Resolves true if clearing all items succeeded, false otherwise
|
|
77
|
-
*/
|
|
78
|
-
clear(filter) {
|
|
79
|
-
return filter
|
|
80
|
-
? this.getStorageKeys().pipe(switchMap((keys) => {
|
|
81
|
-
const list = keys.filter((k) => filter(k)).map((k) => this.removeItem(k));
|
|
82
|
-
return list.length ? forkJoin(list).pipe(map(() => true)) : of(true);
|
|
83
|
-
}))
|
|
84
|
-
: this.storage.clear();
|
|
85
|
-
}
|
|
86
|
-
getStorageKeys() {
|
|
87
|
-
return new Observable((observer) => {
|
|
88
|
-
const keys = [];
|
|
89
|
-
this.storageMap.keys().subscribe({
|
|
90
|
-
next: (key) => keys.push(key),
|
|
91
|
-
complete: () => observer.next(keys)
|
|
92
|
-
});
|
|
93
|
-
}).pipe(first());
|
|
94
|
-
}
|
|
95
|
-
getStorage() {
|
|
96
|
-
return this.getStorageKeys().pipe(switchMap((keys) => keys.length
|
|
97
|
-
? forkJoin(Utils.arrayToObject(keys, (o) => o, (k) => this.getItem(k)))
|
|
98
|
-
: of({})));
|
|
99
|
-
}
|
|
100
|
-
setStorage(options) {
|
|
101
|
-
return forkJoin(Object.keys(options || {}).map((k) => this.setItem(k, options[k])));
|
|
102
|
-
}
|
|
103
|
-
replaceStorage(settings) {
|
|
104
|
-
for (const [key, value] of Object.entries(settings)) {
|
|
105
|
-
this.setItem(key, value);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
AppCacheService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppCacheService, deps: [{ token: i1.LocalStorage }, { token: i1.StorageMap }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
110
|
-
AppCacheService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppCacheService, providedIn: 'root' });
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppCacheService, decorators: [{
|
|
112
|
-
type: Injectable,
|
|
113
|
-
args: [{
|
|
114
|
-
providedIn: 'root'
|
|
115
|
-
}]
|
|
116
|
-
}], ctorParameters: function () { return [{ type: i1.LocalStorage }, { type: i1.StorageMap }]; } });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNhY2hlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2UvY2FjaGUvYXBwLWNhY2hlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksWUFBWSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQVksTUFBTSxNQUFNLENBQUM7QUFFdEYsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRXZDOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQWlCMUIsWUFBc0IsT0FBcUIsRUFBVSxVQUFzQjtRQUFyRCxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWYzRTs7V0FFRztRQUNJLHNCQUFpQixHQUFHLHFDQUFxQyxDQUFDO1FBQ2pFOztXQUVHO1FBQ0ksVUFBSyxHQUFHLDBCQUEwQixDQUFDO1FBQzFDOztXQUVHO1FBQ0kscUJBQWdCLEdBQUcsc0NBQXNDLENBQUM7UUFFekQsYUFBUSxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO1FBR2pELGdGQUFnRjtRQUNoRixNQUFNLENBQUMsbUJBQW1CLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLE9B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VTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0LCBvZiBhcyBvYnNlcnZhYmxlT2YsIG9mLCBmb3JrSm9pbiwgZnJvbUV2ZW50fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9jYWxTdG9yYWdlLCBTdG9yYWdlTWFwfSBmcm9tICdAbmd4LXB3YS9sb2NhbC1zdG9yYWdlJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBzd2l0Y2hNYXAsIG1hcCwgZmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VXRpbHN9IGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuXG4vKipcbiAqIFRoZSBhcHBzIGNlbnRyYWwgY2FjaGluZyBzZXJ2aWNlLiBJdCB3aWxsIHByb3ZpZGUgdGhlIGFwcCB3aXRoIGFuIGVhc3kgdG8gdXNlIGNhY2hlIHRoYXRcbiAqIGlzIGF3YXJlIG9mIHRoZSBwbGF0Zm9ybSBpdCBpcyBydW5uaW5nIG9uLiBTbyBpdCBhYnN0cmFjdHMgdGhlIHBsYXRmb3JtLXNwZWNpZmljIGltcGxlbWVudGF0aW9uc1xuICogb2YgYSBjYWNoZSBmcm9tIHRoZSBhcHBsaWNhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwQ2FjaGVTZXJ2aWNlIHtcblxuICAvKipcbiAgICogS2V5IGZvciBzdG9yaW5nIHN5c3RlbSBkZWZpbml0aW9uXG4gICAqL1xuICBwdWJsaWMgU1lTVEVNX0RFRklOSVRJT04gPSAnZW8uZnJhbWV3b3JrLmNhY2hlLnN5c3RlbWRlZmluaXRpb24nO1xuICAvKipcbiAgICogS2V5IGZvciBzdG9yaW5nIHN5c3RlbSBkZWZpbml0aW9uXG4gICAqL1xuICBwdWJsaWMgSE9TVFMgPSAnZW8uZnJhbWV3b3JrLmNhY2hlLmhvc3RzJztcbiAgLyoqXG4gICAqIEtleSBmb3Igc3RvcmluZyBsb2NhdGlvbiBoaXN0b3J5XG4gICAqL1xuICBwdWJsaWMgTE9DQVRJT05fSElTVE9SWSA9ICdlby5mcmFtZXdvcmsuY2FjaGUubG9jYXRpb25zLmhpc3RvcnknO1xuXG4gIHByaXZhdGUgaXRlbXNNYXAgPSBuZXcgTWFwPHN0cmluZywgU3ViamVjdDxhbnk+PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzdG9yYWdlOiBMb2NhbFN0b3JhZ2UsIHByaXZhdGUgc3RvcmFnZU1hcDogU3RvcmFnZU1hcCkge1xuICAgIC8vIEluZGV4ZWREQiBpc3N1ZSBhZnRlciB1cGRhdGUgLSByZWZyZXNoIGZ1bmN0aW9uICh0cmFuc2Zvcm0gYWxsIHdyYXBwZWQgaXRlbXMpXG4gICAgd2luZG93WydfbmdTdG9yYWdlUmVmcmVzaCddID0gKCkgPT4gdGhpcy5nZXRTdG9yYWdlKCkuc3Vic2NyaWJlKHN0b3JhZ2UgPT4gdGhpcy5zZXRTdG9yYWdlKHN0b3JhZ2UpLnN1YnNjcmliZSgpICYmIGNvbnNvbGUubG9nKHN0b3JhZ2UpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgYW4gaXRlbSB0byB0aGUgc3RvcmFnZS5cbiAgICogQHBhcmFtIGtleSBUaGUgaXRlbSdzIGtleVxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGJlIHN0b3JlZFxuICAgKiBAcGFyYW0gZGVib3VuY2UgVGhlIGRlYm91bmNlIHRpbWUgKGRlZmF1bHQ6IDUwMCkgdG8gcmVkdWNlIGlkZW50aWNhbCBzdG9yYWdlIGNhbGxzXG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHRydWUgaWYgc2V0dGluZyB0aGUgaXRlbSBzdWNjZWVkZWQsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgcHVibGljIHNldEl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIGRlYm91bmNlOiBudW1iZXIgPSA1MDApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAoIWRlYm91bmNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5pdGVtc01hcC5oYXMoa2V5KSkge1xuICAgICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgc3ViamVjdC5waXBlKGRlYm91bmNlVGltZShkZWJvdW5jZSksIHN3aXRjaE1hcCh2YWwgPT4gdGhpcy5zdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWwpKSkuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuaXRlbXNNYXAuc2V0KGtleSwgc3ViamVjdCk7XG4gICAgICB9XG4gICAgICB0aGlzLml0ZW1zTWFwLmdldChrZXkpLm5leHQodmFsdWUpO1xuICAgICAgcmV0dXJuIG9ic2VydmFibGVPZih0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc3RvcmVkIGl0ZW0gYnkgaXRzIGtleS5cbiAgICogQHBhcmFtIGtleSBUaGUgaXRlbSdzIGtleVxuICAgKiBAcmV0dXJucyBUaGUgaXRlbSdzIHZhbHVlIGlmIHRoZSBrZXkgZXhpc3RzLCBudWxsIG90aGVyd2lzZVxuICAgKi9cbiAgcHVibGljIGdldEl0ZW0oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShrZXkpXG4gICAgICAucGlwZShtYXAoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAvLyBJbmRleGVkREIgaXNzdWUgYWZ0ZXIgdXBkYXRlICh0cmFuc2Zvcm0gd3JhcHBlZCBpdGVtcylcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGl0ZW0gfHwge30pLmpvaW4oKSA9PT0gJ3ZhbHVlJyA/IGl0ZW0udmFsdWUgOiBpdGVtO1xuICAgICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYW4gaXRlbSBmcm9tIHRoZSBzdG9yYWdlLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBpdGVtJ3Mga2V5XG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHRydWUgaWYgcmVtb3ZpbmcgdGhlIGl0ZW0gc3VjY2VlZGVkLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHB1YmxpYyByZW1vdmVJdGVtKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBhbGwgaXRlbXMgZnJvbSBsb2NhbCBzdG9yYWdlXG4gICAqIEBwYXJhbSBmaWx0ZXIgb3B0aW9uYWwgLSBEZWxldGUgYWxsIGtleXMgdGhhdCBwYXNzIHRocm91Z2ggZmlsdGVyXG4gICAqIEByZXR1cm5zIFJlc29sdmVzIHRydWUgaWYgY2xlYXJpbmcgYWxsIGl0ZW1zIHN1Y2NlZWRlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBwdWJsaWMgY2xlYXIoZmlsdGVyPzogKGtleSkgPT4gYm9vbGVhbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBmaWx0ZXJcbiAgICAgID8gdGhpcy5nZXRTdG9yYWdlS2V5cygpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChrZXlzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsaXN0ID0ga2V5cy5maWx0ZXIoKGspID0+IGZpbHRlcihrKSkubWFwKChrKSA9PiB0aGlzLnJlbW92ZUl0ZW0oaykpO1xuICAgICAgICAgICAgcmV0dXJuIGxpc3QubGVuZ3RoID8gZm9ya0pvaW4obGlzdCkucGlwZShtYXAoKCkgPT4gdHJ1ZSkpIDogb2YodHJ1ZSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgOiB0aGlzLnN0b3JhZ2UuY2xlYXIoKTtcbiAgfVxuXG4gIGdldFN0b3JhZ2VLZXlzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZ1tdPigob2JzZXJ2ZXIpID0+IHtcbiAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgIHRoaXMuc3RvcmFnZU1hcC5rZXlzKCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGtleSkgPT4ga2V5cy5wdXNoKGtleSksXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiBvYnNlcnZlci5uZXh0KGtleXMpXG4gICAgICB9KTtcbiAgICB9KS5waXBlKGZpcnN0KCkpO1xuICB9XG5cbiAgZ2V0U3RvcmFnZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdldFN0b3JhZ2VLZXlzKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoa2V5cykgPT5cbiAgICAgICAga2V5cy5sZW5ndGhcbiAgICAgICAgICA/IGZvcmtKb2luKFxuICAgICAgICAgICAgICBVdGlscy5hcnJheVRvT2JqZWN0KFxuICAgICAgICAgICAgICAgIGtleXMsXG4gICAgICAgICAgICAgICAgKG8pID0+IG8sXG4gICAgICAgICAgICAgICAgKGspID0+IHRoaXMuZ2V0SXRlbShrKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBvZih7fSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgc2V0U3RvcmFnZShvcHRpb25zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihPYmplY3Qua2V5cyhvcHRpb25zIHx8IHt9KS5tYXAoKGspID0+IHRoaXMuc2V0SXRlbShrLCBvcHRpb25zW2tdKSkpO1xuICB9XG5cbiAgcmVwbGFjZVN0b3JhZ2Uoc2V0dGluZ3M6IGFueSkge1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHNldHRpbmdzKSkge1xuICAgICAgdGhpcy5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0aWVzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL2NhcGFiaWxpdGllcy9jYXBhYmlsaXRpZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2FwYWJpbGl0aWVzIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBiYWNrZW5kIHN1cHBvcnRzIHRoZSBpbmJveCBjYXBhYmlsaXR5LlxuICAgKiAodmlydHVhbDogdHJ1ZSBpZiBlaXRoZXIgYnBtLCBmb2xsb3d1cCBvciBzdWJzY3JpcHRpb24gaXMgc2V0KVxuICAgKi9cbiAgaW5ib3g6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgYmFja2VuZCBzdXBwb3J0cyB0aGUgbm90aWZpY2F0aW9ucyBjYXBhYmlsaXR5LlxuICAgKiAodmlydHVhbDogdHJ1ZSBpZiBlaXRoZXIgZm9sbG93dXAgb3Igc3Vic2NyaXB0aW9uIGlzIHNldClcbiAgICovXG4gIG5vdGlmaWNhdGlvbnM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgYmFja2VuZCBzdXBwb3J0cyB0aGUgQlBNIGNhcGFiaWxpdHkuXG4gICAqIChldmVyeXRoaW5nIHJlbGF0ZWQgdG8gd29ya2Zsb3dzKVxuICAgKi9cbiAgYnBtOiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGJhY2tlbmQgc3VwcG9ydHMgdGhlIGZhdm9yaXRlIGNhcGFiaWxpdHkuXG4gICAqL1xuICBmYXZvcml0ZXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgYmFja2VuZCBzdXBwb3J0cyB0aGUgIGhhbmRsaW5nIG9mIGZvbGxvdyB1cHMuXG4gICAqL1xuICBmb2xsb3d1cDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBiYWNrZW5kIHN1cHBvcnRzIHRoZSBoYW5kbGluZyBvZiBzdWJzY3JpcHRpb25zLlxuICAgKi9cbiAgc3Vic2NyaXB0aW9uOiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGJhY2tlbmQgc3VwcG9ydHMgdGhlIGludHJheSBjYXBhYmlsaXR5LlxuICAgKi9cbiAgaW50cmF5OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGJhY2tlbmQgc3VwcG9ydHMgU3RvcmVkIFF1ZXJpZXMuXG4gICAqL1xuICBzdG9yZWRxdWVyaWVzOiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIHJlY3ljbGViaW4gd2lsbCBrZWVwIGRlbGV0ZWQgb2JqZWN0cy5cbiAgICovXG4gIHJlY3ljbGViaW46IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgdGVtcGxhdGUgb3B0aW9uIHdpbGwgYmUgc2hvd24gaW4gdGhlIGludHJheS5cbiAgICovXG4gIHRlbXBsYXRlOiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3Qgc2lnbmluZyBkb2N1bWVudHMgaXMgc3VwcG9ydGVkXG4gICAqL1xuICBzaWduaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHNzbzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../system/system.service";
|
|
4
|
-
/**
|
|
5
|
-
* Handles the systems capabilities. Capabilities are settings that enable/disable certain client features.
|
|
6
|
-
*/
|
|
7
|
-
export class CapabilitiesService {
|
|
8
|
-
/**
|
|
9
|
-
* @ignore
|
|
10
|
-
*/
|
|
11
|
-
constructor(system) {
|
|
12
|
-
this.system = system;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Sets the capabilities based on a given object set by auth.service
|
|
16
|
-
*
|
|
17
|
-
* @param userCapabilities Object containing capabilities properties
|
|
18
|
-
* @param useSingleSingOn Whether or not to set up single signon on capability
|
|
19
|
-
* @returns The newly created capabilities object
|
|
20
|
-
*/
|
|
21
|
-
setCapabilities(userCapabilities, useSingleSingOn) {
|
|
22
|
-
this.capabilities = {
|
|
23
|
-
bpm: userCapabilities.bpm,
|
|
24
|
-
favorites: userCapabilities.favorites,
|
|
25
|
-
followup: userCapabilities.followup,
|
|
26
|
-
subscription: userCapabilities.subscription,
|
|
27
|
-
intray: userCapabilities.intray,
|
|
28
|
-
storedqueries: userCapabilities.storedqueries,
|
|
29
|
-
recyclebin: userCapabilities.recyclebin,
|
|
30
|
-
inbox: userCapabilities.bpm || userCapabilities.followup || userCapabilities.subscription,
|
|
31
|
-
notifications: userCapabilities.followup || userCapabilities.subscription,
|
|
32
|
-
template: userCapabilities.template,
|
|
33
|
-
sso: useSingleSingOn || false,
|
|
34
|
-
};
|
|
35
|
-
return this.capabilities;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Getter for the Capabilities
|
|
39
|
-
*/
|
|
40
|
-
getCapabilities() {
|
|
41
|
-
return { ...this.capabilities, signing: !!this.system.getObjectType('yuvsigning') };
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Check if Capability is present
|
|
45
|
-
* @param capability Capability to check for
|
|
46
|
-
* @returns True if the capability is set, false otherwise
|
|
47
|
-
*/
|
|
48
|
-
hasCapability(capability) {
|
|
49
|
-
return this.capabilities[capability];
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
CapabilitiesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, deps: [{ token: i1.SystemService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
53
|
-
CapabilitiesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, providedIn: 'root' });
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, decorators: [{
|
|
55
|
-
type: Injectable,
|
|
56
|
-
args: [{
|
|
57
|
-
providedIn: 'root'
|
|
58
|
-
}]
|
|
59
|
-
}], ctorParameters: function () { return [{ type: i1.SystemService }]; } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2UvY2FwYWJpbGl0aWVzL2NhcGFiaWxpdGllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQUl6Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFJOUI7O09BRUc7SUFDSCxZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxlQUFlLENBQUMsZ0JBQXFCLEVBQUUsZUFBeUI7UUFFOUQsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixHQUFHLEVBQUUsZ0JBQWdCLENBQUMsR0FBRztZQUN6QixTQUFTLEVBQUUsZ0JBQWdCLENBQUMsU0FBUztZQUNyQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsUUFBUTtZQUNuQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsWUFBWTtZQUMzQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtZQUMvQixhQUFhLEVBQUUsZ0JBQWdCLENBQUMsYUFBYTtZQUM3QyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsVUFBVTtZQUN2QyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxZQUFZO1lBQ3pGLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksZ0JBQWdCLENBQUMsWUFBWTtZQUN6RSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsUUFBUTtZQUNuQyxHQUFHLEVBQUUsZUFBZSxJQUFJLEtBQUs7U0FDOUIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ2IsT0FBTyxFQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsVUFBa0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O2dIQWpEVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDYXBhYmlsaXRpZXN9IGZyb20gJy4vY2FwYWJpbGl0aWVzLm1vZGVsJztcbmltcG9ydCB7U3lzdGVtU2VydmljZX0gZnJvbSAnLi4vc3lzdGVtL3N5c3RlbS5zZXJ2aWNlJztcblxuLyoqXG4gKiBIYW5kbGVzIHRoZSBzeXN0ZW1zIGNhcGFiaWxpdGllcy4gQ2FwYWJpbGl0aWVzIGFyZSBzZXR0aW5ncyB0aGF0IGVuYWJsZS9kaXNhYmxlIGNlcnRhaW4gY2xpZW50IGZlYXR1cmVzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDYXBhYmlsaXRpZXNTZXJ2aWNlIHtcblxuICBwcml2YXRlIGNhcGFiaWxpdGllczogQ2FwYWJpbGl0aWVzO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN5c3RlbTogU3lzdGVtU2VydmljZSkge1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNhcGFiaWxpdGllcyBiYXNlZCBvbiBhIGdpdmVuIG9iamVjdCBzZXQgYnkgYXV0aC5zZXJ2aWNlXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyQ2FwYWJpbGl0aWVzIE9iamVjdCBjb250YWluaW5nIGNhcGFiaWxpdGllcyBwcm9wZXJ0aWVzXG4gICAqIEBwYXJhbSB1c2VTaW5nbGVTaW5nT24gV2hldGhlciBvciBub3QgdG8gc2V0IHVwIHNpbmdsZSBzaWdub24gb24gY2FwYWJpbGl0eVxuICAgKiBAcmV0dXJucyBUaGUgbmV3bHkgY3JlYXRlZCBjYXBhYmlsaXRpZXMgb2JqZWN0XG4gICAqL1xuICBzZXRDYXBhYmlsaXRpZXModXNlckNhcGFiaWxpdGllczogYW55LCB1c2VTaW5nbGVTaW5nT24/OiBib29sZWFuKTogQ2FwYWJpbGl0aWVzIHtcblxuICAgIHRoaXMuY2FwYWJpbGl0aWVzID0ge1xuICAgICAgYnBtOiB1c2VyQ2FwYWJpbGl0aWVzLmJwbSxcbiAgICAgIGZhdm9yaXRlczogdXNlckNhcGFiaWxpdGllcy5mYXZvcml0ZXMsXG4gICAgICBmb2xsb3d1cDogdXNlckNhcGFiaWxpdGllcy5mb2xsb3d1cCxcbiAgICAgIHN1YnNjcmlwdGlvbjogdXNlckNhcGFiaWxpdGllcy5zdWJzY3JpcHRpb24sXG4gICAgICBpbnRyYXk6IHVzZXJDYXBhYmlsaXRpZXMuaW50cmF5LFxuICAgICAgc3RvcmVkcXVlcmllczogdXNlckNhcGFiaWxpdGllcy5zdG9yZWRxdWVyaWVzLFxuICAgICAgcmVjeWNsZWJpbjogdXNlckNhcGFiaWxpdGllcy5yZWN5Y2xlYmluLFxuICAgICAgaW5ib3g6IHVzZXJDYXBhYmlsaXRpZXMuYnBtIHx8IHVzZXJDYXBhYmlsaXRpZXMuZm9sbG93dXAgfHwgdXNlckNhcGFiaWxpdGllcy5zdWJzY3JpcHRpb24sXG4gICAgICBub3RpZmljYXRpb25zOiB1c2VyQ2FwYWJpbGl0aWVzLmZvbGxvd3VwIHx8IHVzZXJDYXBhYmlsaXRpZXMuc3Vic2NyaXB0aW9uLFxuICAgICAgdGVtcGxhdGU6IHVzZXJDYXBhYmlsaXRpZXMudGVtcGxhdGUsXG4gICAgICBzc286IHVzZVNpbmdsZVNpbmdPbiB8fCBmYWxzZSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdGllcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgZm9yIHRoZSBDYXBhYmlsaXRpZXNcbiAgICovXG4gIGdldENhcGFiaWxpdGllcygpOiBDYXBhYmlsaXRpZXMge1xuICAgIHJldHVybiB7Li4udGhpcy5jYXBhYmlsaXRpZXMsIHNpZ25pbmc6ICEhdGhpcy5zeXN0ZW0uZ2V0T2JqZWN0VHlwZSgneXV2c2lnbmluZycpfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBDYXBhYmlsaXR5IGlzIHByZXNlbnRcbiAgICogQHBhcmFtIGNhcGFiaWxpdHkgQ2FwYWJpbGl0eSB0byBjaGVjayBmb3JcbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgY2FwYWJpbGl0eSBpcyBzZXQsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgaGFzQ2FwYWJpbGl0eShjYXBhYmlsaXR5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYXBhYmlsaXRpZXNbY2FwYWJpbGl0eV07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export var ClipboardAction;
|
|
2
|
-
(function (ClipboardAction) {
|
|
3
|
-
ClipboardAction[ClipboardAction["COPY"] = 0] = "COPY";
|
|
4
|
-
ClipboardAction[ClipboardAction["CUT"] = 1] = "CUT";
|
|
5
|
-
})(ClipboardAction || (ClipboardAction = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLWFjdGlvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL2NsaXBib2FyZC9jbGlwYm9hcmQtYWN0aW9uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN6QixxREFBSSxDQUFBO0lBQ0osbURBQUcsQ0FBQTtBQUNMLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENsaXBib2FyZEFjdGlvbiB7XG4gIENPUFksXG4gIENVVFxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VvLXNkay9jb3JlL3NyYy9saWIvc2VydmljZS9jbGlwYm9hcmQvY2xpcGJvYXJkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGlwYm9hcmRBY3Rpb259IGZyb20gJy4vY2xpcGJvYXJkLWFjdGlvbi5lbnVtJztcbmltcG9ydCB7RG1zT2JqZWN0fSBmcm9tICcuLi8uLi9tb2RlbC9kbXMtb2JqZWN0Lm1vZGVsJztcblxuLyoqXG4gKiBDbGlwYm9hcmQgSW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcGJvYXJkIHtcbiAgLyoqXG4gICAqIHRoZSBjbGlwYm9hcmRzIGFjdGlvbiAoJ0NPUFknLCAnQ1VUJylcbiAgICovXG4gIGFjdGlvbjogQ2xpcGJvYXJkQWN0aW9uO1xuICAvKipcbiAgICogVGhlIGNsaXBib2FyZHMgZWxlbWVudHNcbiAgICovXG4gIGVsZW1lbnRzOiBEbXNPYmplY3RbXTtcbn1cbiJdfQ==
|