@eo-sdk/client 10.0.0-beta.4 → 10.0.0-rc.1
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/about-state/about-state.component.d.ts +0 -5
- package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/dashboard.component.d.ts +25 -33
- package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts +19 -0
- package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.d.ts +24 -0
- package/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts +20 -0
- package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.d.ts +19 -0
- package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.d.ts +4 -0
- package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts +25 -0
- package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.d.ts +20 -0
- package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.d.ts +4 -0
- package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts +28 -0
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts +44 -0
- package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts.map +1 -0
- package/app/eo-client/eo-client.module.d.ts +24 -13
- package/app/eo-client/eo-client.module.d.ts.map +1 -1
- package/app/eo-client/favorite-state/favorite-state.component.d.ts +7 -8
- package/app/eo-client/favorite-state/favorite-state.component.d.ts.map +1 -1
- package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts +8 -10
- package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
- package/app/eo-client/login/login.component.d.ts +12 -5
- package/app/eo-client/login/login.component.d.ts.map +1 -1
- package/app/eo-client/notifications-state/notifications-state.component.d.ts +9 -11
- package/app/eo-client/notifications-state/notifications-state.component.d.ts.map +1 -1
- package/app/eo-client/object-state/object-state/object-state.component.d.ts +10 -11
- package/app/eo-client/object-state/object-state/object-state.component.d.ts.map +1 -1
- package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts +8 -9
- package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts.map +1 -1
- package/app/eo-client/process-state/process-state.component.d.ts +8 -10
- package/app/eo-client/process-state/process-state.component.d.ts.map +1 -1
- package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts +5 -6
- package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts.map +1 -1
- package/app/eo-client/result-state/result-state.component.d.ts +3 -5
- package/app/eo-client/result-state/result-state.component.d.ts.map +1 -1
- package/app/eo-client/settings/settings.component.d.ts +6 -7
- package/app/eo-client/settings/settings.component.d.ts.map +1 -1
- package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts +8 -10
- package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
- package/app/eo-client/version-state/version-state.component.d.ts +5 -7
- package/app/eo-client/version-state/version-state.component.d.ts.map +1 -1
- package/app/eo-framework/accordion/accordion.module.d.ts +1 -2
- package/app/eo-framework/accordion/accordion.module.d.ts.map +1 -1
- package/app/eo-framework/actions/action-menu/action-menu.component.d.ts +4 -5
- package/app/eo-framework/actions/action-menu/action-menu.component.d.ts.map +1 -1
- package/app/eo-framework/actions/action.module.d.ts +11 -10
- package/app/eo-framework/actions/action.module.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +3 -2
- package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts +9 -13
- package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +3 -4
- package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts +1 -2
- package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-shell.module.d.ts +18 -20
- package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
- package/app/eo-framework/app-shell/index.d.ts +0 -1
- package/app/eo-framework/app-shell/index.d.ts.map +1 -1
- package/app/eo-framework/eo-framework.module.d.ts +37 -38
- package/app/eo-framework/eo-framework.module.d.ts.map +1 -1
- package/app/eo-framework/form-elements/date/date.component.d.ts +0 -2
- package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/form-elements.module.d.ts +9 -18
- package/app/eo-framework/form-elements/form-elements.module.d.ts.map +1 -1
- package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts +1 -0
- package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts.map +1 -1
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +0 -2
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.component.d.ts +7 -8
- package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.module.d.ts +7 -8
- package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts +1 -2
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
- package/app/eo-framework/index.d.ts +0 -4
- package/app/eo-framework/index.d.ts.map +1 -1
- package/app/eo-framework/media/media.component.d.ts +4 -3
- package/app/eo-framework/media/media.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts +2 -3
- package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts +14 -6
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.module.d.ts +2 -1
- package/app/eo-framework/object-details/object-details.module.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts +2 -3
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts +10 -0
- package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts.map +1 -0
- package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts +8 -3
- package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +1 -2
- package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts +7 -2
- package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +28 -11
- package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/object-form.component.d.ts +1 -2
- package/app/eo-framework/object-form/object-form/object-form.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form.module.d.ts +9 -9
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts +1 -2
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
- package/app/eo-framework/prepare-details/prepare-details.component.d.ts +8 -9
- package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
- package/app/eo-framework/process/details/process-details.component.d.ts +7 -8
- package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
- package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +9 -11
- package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts.map +1 -1
- package/app/eo-framework/result-list/result-list.component.d.ts +5 -6
- package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
- package/app/eo-framework/settings/settings.module.d.ts +3 -4
- package/app/eo-framework/settings/settings.module.d.ts.map +1 -1
- package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +4 -5
- package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +2 -3
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +1 -0
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
- package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts +1 -2
- package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts.map +1 -1
- package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts +0 -1
- package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts.map +1 -1
- package/app/eo-framework/util/index.d.ts +0 -1
- package/app/eo-framework/util/index.d.ts.map +1 -1
- package/app/eo-framework/util/util.module.d.ts +0 -1
- package/app/eo-framework/util/util.module.d.ts.map +1 -1
- package/app/eo-framework-core/layout/layout.service.d.ts +2 -26
- package/app/eo-framework-core/layout/layout.service.d.ts.map +1 -1
- package/app/eo-framework-core/pipes/locale-number.pipe.d.ts +2 -3
- package/app/eo-framework-core/pipes/locale-number.pipe.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +32 -2
- package/assets/_default/i18n/en.json +37 -7
- package/assets/_default/svg/ic_add_document_file_as_new_version.svg +1 -0
- package/assets/_default/svg/ic_create_document.svg +1 -0
- package/assets/_default/svg/ic_create_document_in_folder.svg +1 -0
- package/assets/_default/svg/ic_noUrl.svg +1 -0
- package/assets/dashboard.json +47 -0
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +5 -11
- package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +143 -98
- package/esm2020/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +59 -0
- package/esm2020/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.mjs +39 -0
- package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +53 -0
- package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +42 -0
- package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.mjs +2 -0
- package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +65 -0
- package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.mjs +43 -0
- package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.mjs +2 -0
- package/esm2020/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +117 -0
- package/esm2020/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +115 -0
- package/esm2020/app/eo-client/eo-client.module.mjs +44 -6
- package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +15 -14
- package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +14 -11
- package/esm2020/app/eo-client/login/login.component.mjs +33 -13
- package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +16 -12
- package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +27 -23
- package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +12 -9
- package/esm2020/app/eo-client/process-state/process-state.component.mjs +6 -9
- package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +14 -11
- package/esm2020/app/eo-client/result-state/result-state.component.mjs +11 -8
- package/esm2020/app/eo-client/settings/settings.component.mjs +16 -12
- package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +16 -13
- package/esm2020/app/eo-client/version-state/version-state.component.mjs +13 -10
- package/esm2020/app/eo-framework/accordion/accordion.module.mjs +3 -7
- package/esm2020/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +3 -3
- package/esm2020/app/eo-framework/actions/action-menu/action-menu.component.mjs +15 -11
- package/esm2020/app/eo-framework/actions/action.module.mjs +5 -2
- package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +5 -7
- package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +3 -3
- package/esm2020/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +2 -2
- package/esm2020/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +43 -48
- package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +2 -2
- package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +2 -2
- package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +16 -14
- package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +8 -3
- package/esm2020/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +4 -6
- package/esm2020/app/eo-framework/app-shell/app-shell.module.mjs +1 -8
- package/esm2020/app/eo-framework/app-shell/index.mjs +1 -2
- package/esm2020/app/eo-framework/eo-framework.module.mjs +35 -43
- package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +2 -12
- package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +3 -3
- package/esm2020/app/eo-framework/form-elements/form-elements.module.mjs +28 -37
- package/esm2020/app/eo-framework/form-elements/form-input/form-input.component.mjs +3 -3
- package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +10 -6
- package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +3 -3
- package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +5 -6
- package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +2 -2
- package/esm2020/app/eo-framework/frame/frame.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +2 -6
- package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +3 -3
- package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +3 -3
- package/esm2020/app/eo-framework/grid/grid.component.mjs +16 -12
- package/esm2020/app/eo-framework/grid/grid.module.mjs +1 -5
- package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +16 -11
- package/esm2020/app/eo-framework/index.mjs +1 -5
- package/esm2020/app/eo-framework/media/media.component.mjs +31 -12
- package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +13 -10
- package/esm2020/app/eo-framework/object-details/object-details.component.mjs +64 -38
- package/esm2020/app/eo-framework/object-details/object-details.module.mjs +7 -3
- package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +13 -9
- package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.mjs +18 -0
- package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +20 -6
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +21 -22
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.mjs +1 -1
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +94 -32
- package/esm2020/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +6 -4
- package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +2 -3
- package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -5
- package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +2 -2
- package/esm2020/app/eo-framework/object-form/object-form.module.mjs +9 -10
- package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +15 -13
- package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +16 -14
- package/esm2020/app/eo-framework/process/details/process-details.component.mjs +16 -12
- package/esm2020/app/eo-framework/process-form/process-form.component.mjs +2 -2
- package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +25 -17
- package/esm2020/app/eo-framework/result-list/result-list.component.mjs +21 -15
- package/esm2020/app/eo-framework/settings/settings.module.mjs +1 -5
- package/esm2020/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +17 -13
- package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +12 -8
- package/esm2020/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +2 -2
- package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +20 -12
- package/esm2020/app/eo-framework/ui/outside-click/outside-click.directive.mjs +11 -8
- package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +3 -6
- package/esm2020/app/eo-framework/upload-overlay/upload-overlay.component.mjs +3 -3
- package/esm2020/app/eo-framework/util/index.mjs +1 -2
- package/esm2020/app/eo-framework/util/util.module.mjs +2 -3
- package/esm2020/app/eo-framework-core/layout/layout.service.mjs +61 -63
- package/esm2020/app/eo-framework-core/pipes/locale-number.pipe.mjs +11 -8
- package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +8 -8
- package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +2 -6
- package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +24 -30
- package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.mjs +1 -1
- package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.mjs +8 -6
- package/esm2020/projects/eo-sdk/core/lib/service/config/config.service.mjs +1 -1
- package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +14 -16
- package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +15 -12
- package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +12 -6
- package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +2 -6
- package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +11 -1
- package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +3 -3
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +1069 -1066
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2015/eo-sdk-client.mjs +14808 -15012
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +1069 -1066
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +16587 -16787
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +5 -5
- package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +14 -20
- package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts +4 -0
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts +3 -1
- package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/config/config.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +10 -8
- package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +1 -0
- package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +4 -1
- package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +6 -0
- package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/util/utils.d.ts +3 -4
- package/projects/eo-sdk/core/lib/util/utils.d.ts.map +1 -1
- package/scss/_eo-variables.scss +1 -0
- package/scss/_main.scss +1 -1
- package/scss/_mixins.scss +6 -6
- package/styles.css +2 -1
- package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts +0 -24
- package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts.map +0 -1
- package/app/eo-framework/split/index.d.ts +0 -5
- package/app/eo-framework/split/index.d.ts.map +0 -1
- package/app/eo-framework/split/split/split.component.d.ts +0 -83
- package/app/eo-framework/split/split/split.component.d.ts.map +0 -1
- package/app/eo-framework/split/split-area/split-area.component.d.ts +0 -37
- package/app/eo-framework/split/split-area/split-area.component.d.ts.map +0 -1
- package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts +0 -21
- package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts.map +0 -1
- package/app/eo-framework/split/split.module.d.ts +0 -12
- package/app/eo-framework/split/split.module.d.ts.map +0 -1
- package/app/eo-framework/undock-split/undock-split.component.d.ts +0 -28
- package/app/eo-framework/undock-split/undock-split.component.d.ts.map +0 -1
- package/app/eo-framework/undock-split/undock-split.service.d.ts +0 -43
- package/app/eo-framework/undock-split/undock-split.service.d.ts.map +0 -1
- package/app/eo-framework/undock-split/undock-state.interface.d.ts +0 -6
- package/app/eo-framework/undock-split/undock-state.interface.d.ts.map +0 -1
- package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts +0 -11
- package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts.map +0 -1
- package/esm2020/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.mjs +0 -67
- package/esm2020/app/eo-framework/split/index.mjs +0 -5
- package/esm2020/app/eo-framework/split/split/split.component.mjs +0 -373
- package/esm2020/app/eo-framework/split/split-area/split-area.component.mjs +0 -131
- package/esm2020/app/eo-framework/split/split-gutter/split-gutter.directive.mjs +0 -73
- package/esm2020/app/eo-framework/split/split.module.mjs +0 -28
- package/esm2020/app/eo-framework/undock-split/undock-split.component.mjs +0 -89
- package/esm2020/app/eo-framework/undock-split/undock-split.service.mjs +0 -135
- package/esm2020/app/eo-framework/undock-split/undock-state.interface.mjs +0 -2
- package/esm2020/app/eo-framework/util/unsubscribe/unsubscribe.component.mjs +0 -23
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as i1 from '@ngx-translate/core';
|
|
2
2
|
import { TranslateModule, TranslateLoader, MissingTranslationHandler } from '@ngx-translate/core';
|
|
3
3
|
export { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
4
|
-
import * as i0 from '@angular/core';
|
|
5
|
-
import { InjectionToken, Inject, Injectable, NgModule, APP_INITIALIZER, Optional, SkipSelf } from '@angular/core';
|
|
6
4
|
import * as i1$1 from '@angular/common/http';
|
|
7
5
|
import { HttpErrorResponse, HttpHeaders, HttpResponse, HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';
|
|
6
|
+
import * as i0 from '@angular/core';
|
|
7
|
+
import { InjectionToken, Inject, Injectable, NgModule, APP_INITIALIZER, Optional, SkipSelf } from '@angular/core';
|
|
8
|
+
import * as i1$3 from 'ngx-toastr';
|
|
9
|
+
import { ToastrModule } from 'ngx-toastr';
|
|
8
10
|
import { __decorate, __param } from 'tslib';
|
|
9
|
-
import {
|
|
10
|
-
import { map,
|
|
11
|
-
import
|
|
12
|
-
import
|
|
11
|
+
import { EMPTY, throwError, Subject, of, forkJoin, Observable, ReplaySubject, BehaviorSubject, timer, interval } from 'rxjs';
|
|
12
|
+
import { filter, map, tap, finalize, shareReplay, debounceTime, switchMap, first, catchError, expand, skipWhile, mergeMap, takeUntil } from 'rxjs/operators';
|
|
13
|
+
import { DatePipe, registerLocaleData } from '@angular/common';
|
|
14
|
+
import moment from 'moment';
|
|
15
|
+
import * as _ from 'lodash';
|
|
16
|
+
import * as FileSaver from 'file-saver';
|
|
17
|
+
import * as i1$2 from '@ngx-pwa/local-storage';
|
|
13
18
|
import localeDeCh from '@angular/common/locales/de-CH';
|
|
14
19
|
import localeExtraDeCh from '@angular/common/locales/extra/de-CH';
|
|
15
20
|
import localeDe from '@angular/common/locales/de';
|
|
@@ -70,13 +75,6 @@ import localeId from '@angular/common/locales/id';
|
|
|
70
75
|
import localeExtraId from '@angular/common/locales/extra/id';
|
|
71
76
|
import localeMs from '@angular/common/locales/ms';
|
|
72
77
|
import localeExtraMs from '@angular/common/locales/extra/ms';
|
|
73
|
-
import * as momentImported from 'moment';
|
|
74
|
-
import momentImported__default from 'moment';
|
|
75
|
-
import * as i1 from '@ngx-pwa/local-storage';
|
|
76
|
-
import * as FileSaver from 'file-saver';
|
|
77
|
-
import * as _ from 'lodash';
|
|
78
|
-
import * as i1$2 from 'ngx-toastr';
|
|
79
|
-
import { ToastrModule } from 'ngx-toastr';
|
|
80
78
|
|
|
81
79
|
// @see: http://stackoverflow.com/questions/37611549/how-to-pass-parameters-rendered-from-backend-to-angular2-bootstrap-method#answer-40379803
|
|
82
80
|
/**
|
|
@@ -104,92 +102,6 @@ CoreConfig = __decorate([
|
|
|
104
102
|
__param(0, Inject(CUSTOM_CONFIG))
|
|
105
103
|
], CoreConfig);
|
|
106
104
|
|
|
107
|
-
/**
|
|
108
|
-
* @ignore
|
|
109
|
-
* APP_INITIALIZER function
|
|
110
|
-
*/
|
|
111
|
-
function init_module(coreInit) {
|
|
112
|
-
// Need to set to a const before returning due to:
|
|
113
|
-
// @see: https://github.com/angular/angular/issues/14485
|
|
114
|
-
const fnc = () => coreInit.initialize();
|
|
115
|
-
return fnc;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* @ignore
|
|
120
|
-
* Handles missing translations
|
|
121
|
-
*/
|
|
122
|
-
class EoxMissingTranslationHandler {
|
|
123
|
-
/**
|
|
124
|
-
*
|
|
125
|
-
* @param MissingTranslationHandlerParams params
|
|
126
|
-
* @returns string
|
|
127
|
-
*/
|
|
128
|
-
handle(params) {
|
|
129
|
-
return '!missing key: ' + params.key;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* @ignore
|
|
135
|
-
* Loader that fetches translations based on the configured locations
|
|
136
|
-
*/
|
|
137
|
-
let EoxTranslateJsonLoader = class EoxTranslateJsonLoader {
|
|
138
|
-
constructor(http, config) {
|
|
139
|
-
this.http = http;
|
|
140
|
-
this.config = config;
|
|
141
|
-
registerLocaleData(localeDe, 'de', localeExtraDe); // German
|
|
142
|
-
registerLocaleData(localeAr, 'ar', localeExtraAr); // Arabic
|
|
143
|
-
registerLocaleData(localeEs, 'es', localeExtraEs); // Spanish
|
|
144
|
-
registerLocaleData(localePt, 'pt', localeExtraPt); // Portuguese
|
|
145
|
-
registerLocaleData(localeFr, 'fr', localeExtraFr); // French
|
|
146
|
-
registerLocaleData(localeZh, 'zh', localeExtraZh); // Chinese
|
|
147
|
-
registerLocaleData(localeLv, 'lv', localeExtraLv); // Latvian
|
|
148
|
-
registerLocaleData(localeRu, 'ru', localeExtraRu); // Russian
|
|
149
|
-
registerLocaleData(localeIt, 'it', localeExtraIt); // Italian
|
|
150
|
-
registerLocaleData(localeNl, 'nl', localeExtraNl); // Dutch
|
|
151
|
-
registerLocaleData(localeSk, 'sk', localeExtraSk); // Slovak
|
|
152
|
-
registerLocaleData(localePl, 'pl', localeExtraPl); // Polish
|
|
153
|
-
registerLocaleData(localeUk, 'uk', localeExtraUk); // Ukrainian
|
|
154
|
-
registerLocaleData(localeJa, 'ja', localeExtraJa); // Japanese
|
|
155
|
-
registerLocaleData(localeKo, 'ko', localeExtraKo); // Korean
|
|
156
|
-
registerLocaleData(localeHi, 'hi', localeExtraHi); // Hindi
|
|
157
|
-
registerLocaleData(localeBn, 'bn', localeExtraBn); // Bengalese
|
|
158
|
-
registerLocaleData(localeDeCh, 'de-CH', localeExtraDeCh); // German (switzerland)
|
|
159
|
-
registerLocaleData(localeZhHant, 'zh-Hant', localeExtraZhHant); // Chinese (traditional)
|
|
160
|
-
registerLocaleData(localeTh, 'th', localeExtraTh); // Thai
|
|
161
|
-
registerLocaleData(localeVi, 'vi', localeExtraVi); // Vietnamese
|
|
162
|
-
registerLocaleData(localeEnGb, 'en-GB', localeExtraEnGb); // English (Great-Britain)
|
|
163
|
-
registerLocaleData(localeHe, 'he', localeExtraHe); // Hebrew
|
|
164
|
-
registerLocaleData(localeFi, 'fi', localeExtraFi); // Finish
|
|
165
|
-
registerLocaleData(localeDa, 'da', localeExtraDa); // Danish
|
|
166
|
-
registerLocaleData(localeSe, 'se', localeExtraSe); // Swedish
|
|
167
|
-
registerLocaleData(localeNb, 'nb', localeExtraNb); // Norwegian Bokmål
|
|
168
|
-
registerLocaleData(localeNn, 'nn', localeExtraNn); // Norwegian Nynorsk
|
|
169
|
-
registerLocaleData(localeId, 'id', localeExtraId); // Indonesian
|
|
170
|
-
registerLocaleData(localeMs, 'ms', localeExtraMs); // Malay
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
*
|
|
174
|
-
* @param string lang
|
|
175
|
-
* @returns Observable<Object>
|
|
176
|
-
*/
|
|
177
|
-
getTranslation(lang) {
|
|
178
|
-
return forkJoin(this.config.translations.map(folder => this.loadTranslationFile(folder, lang))).pipe(map((res) => res.reduce((acc, x) => Object.assign(acc, x), {})));
|
|
179
|
-
}
|
|
180
|
-
loadTranslationFile(folder, lang) {
|
|
181
|
-
return this.http.get(`${folder}${lang}.json`).pipe(catchError((e) => {
|
|
182
|
-
// ISO codes with more than 2 characters are sub-languages like de-CH.
|
|
183
|
-
// If there is no translation file for that sub-language we'll try to load
|
|
184
|
-
// the file for the base language (in this case de).
|
|
185
|
-
return lang.length > 2 ? this.loadTranslationFile(folder, lang.substring(0, 2)) : of({});
|
|
186
|
-
}));
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
EoxTranslateJsonLoader = __decorate([
|
|
190
|
-
__param(1, Inject(CORE_CONFIG))
|
|
191
|
-
], EoxTranslateJsonLoader);
|
|
192
|
-
|
|
193
105
|
/**
|
|
194
106
|
* Set up the default logger.
|
|
195
107
|
* The default logger doesn't actually log anything;
|
|
@@ -1083,7 +995,7 @@ class Utils {
|
|
|
1083
995
|
* @returns
|
|
1084
996
|
*/
|
|
1085
997
|
static getTimezoneOffset() {
|
|
1086
|
-
return
|
|
998
|
+
return moment().format('Z');
|
|
1087
999
|
}
|
|
1088
1000
|
static formatMailTo(value, isEmail) {
|
|
1089
1001
|
if (isEmail && !!value) {
|
|
@@ -1311,14 +1223,26 @@ class Config {
|
|
|
1311
1223
|
return this.cfg['agent'];
|
|
1312
1224
|
}
|
|
1313
1225
|
}
|
|
1314
|
-
Config.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Config, deps: [{ token:
|
|
1226
|
+
Config.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Config, deps: [{ token: i1.TranslateService }, { token: EventService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1315
1227
|
Config.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Config, providedIn: 'root' });
|
|
1316
1228
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: Config, decorators: [{
|
|
1317
1229
|
type: Injectable,
|
|
1318
1230
|
args: [{
|
|
1319
1231
|
providedIn: 'root'
|
|
1320
1232
|
}]
|
|
1321
|
-
}], ctorParameters: function () { return [{ type:
|
|
1233
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: EventService }]; } });
|
|
1234
|
+
|
|
1235
|
+
class EnvironmentEnaio {
|
|
1236
|
+
static isWebEnvironment() {
|
|
1237
|
+
return !EnvironmentEnaio.isDesktopEnvironment() && !EnvironmentEnaio.isMobileEnvironment();
|
|
1238
|
+
}
|
|
1239
|
+
static isMobileEnvironment() {
|
|
1240
|
+
return window.hasOwnProperty('cordova');
|
|
1241
|
+
}
|
|
1242
|
+
static isDesktopEnvironment() {
|
|
1243
|
+
return window.hasOwnProperty('process') && window['process'].versions.hasOwnProperty('electron');
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1322
1246
|
|
|
1323
1247
|
class EoUser {
|
|
1324
1248
|
/**
|
|
@@ -1406,124 +1330,6 @@ class EoUser {
|
|
|
1406
1330
|
}
|
|
1407
1331
|
}
|
|
1408
1332
|
|
|
1409
|
-
class EnvironmentEnaio {
|
|
1410
|
-
static isWebEnvironment() {
|
|
1411
|
-
return !EnvironmentEnaio.isDesktopEnvironment() && !EnvironmentEnaio.isMobileEnvironment();
|
|
1412
|
-
}
|
|
1413
|
-
static isMobileEnvironment() {
|
|
1414
|
-
return window.hasOwnProperty('cordova');
|
|
1415
|
-
}
|
|
1416
|
-
static isDesktopEnvironment() {
|
|
1417
|
-
return window.hasOwnProperty('process') && window['process'].versions.hasOwnProperty('electron');
|
|
1418
|
-
}
|
|
1419
|
-
}
|
|
1420
|
-
|
|
1421
|
-
/**
|
|
1422
|
-
* The apps central caching service. It will provide the app with an easy to use cache that
|
|
1423
|
-
* is aware of the platform it is running on. So it abstracts the platform-specific implementations
|
|
1424
|
-
* of a cache from the application.
|
|
1425
|
-
*/
|
|
1426
|
-
class AppCacheService {
|
|
1427
|
-
constructor(storage, storageMap) {
|
|
1428
|
-
this.storage = storage;
|
|
1429
|
-
this.storageMap = storageMap;
|
|
1430
|
-
/**
|
|
1431
|
-
* Key for storing system definition
|
|
1432
|
-
*/
|
|
1433
|
-
this.SYSTEM_DEFINITION = 'eo.framework.cache.systemdefinition';
|
|
1434
|
-
/**
|
|
1435
|
-
* Key for storing system definition
|
|
1436
|
-
*/
|
|
1437
|
-
this.HOSTS = 'eo.framework.cache.hosts';
|
|
1438
|
-
/**
|
|
1439
|
-
* Key for storing location history
|
|
1440
|
-
*/
|
|
1441
|
-
this.LOCATION_HISTORY = 'eo.framework.cache.locations.history';
|
|
1442
|
-
this.itemsMap = new Map();
|
|
1443
|
-
// IndexedDB issue after update - refresh function (transform all wrapped items)
|
|
1444
|
-
window['_ngStorageRefresh'] = () => this.getStorage().subscribe(storage => this.setStorage(storage).subscribe() && console.log(storage));
|
|
1445
|
-
}
|
|
1446
|
-
/**
|
|
1447
|
-
* Writes an item to the storage.
|
|
1448
|
-
* @param key The item's key
|
|
1449
|
-
* @param value The value to be stored
|
|
1450
|
-
* @param debounce The debounce time (default: 500) to reduce identical storage calls
|
|
1451
|
-
* @returns Resolves true if setting the item succeeded, false otherwise
|
|
1452
|
-
*/
|
|
1453
|
-
setItem(key, value, debounce = 500) {
|
|
1454
|
-
if (!debounce) {
|
|
1455
|
-
return this.storage.setItem(key, value);
|
|
1456
|
-
}
|
|
1457
|
-
else {
|
|
1458
|
-
if (!this.itemsMap.has(key)) {
|
|
1459
|
-
const subject = new Subject();
|
|
1460
|
-
subject.pipe(debounceTime(debounce), switchMap(val => this.storage.setItem(key, val))).subscribe();
|
|
1461
|
-
this.itemsMap.set(key, subject);
|
|
1462
|
-
}
|
|
1463
|
-
this.itemsMap.get(key).next(value);
|
|
1464
|
-
return of(true);
|
|
1465
|
-
}
|
|
1466
|
-
}
|
|
1467
|
-
/**
|
|
1468
|
-
* Get a stored item by its key.
|
|
1469
|
-
* @param key The item's key
|
|
1470
|
-
* @returns The item's value if the key exists, null otherwise
|
|
1471
|
-
*/
|
|
1472
|
-
getItem(key) {
|
|
1473
|
-
return this.storage.getItem(key)
|
|
1474
|
-
.pipe(map((item) => {
|
|
1475
|
-
// IndexedDB issue after update (transform wrapped items)
|
|
1476
|
-
return Object.keys(item || {}).join() === 'value' ? item.value : item;
|
|
1477
|
-
}));
|
|
1478
|
-
}
|
|
1479
|
-
/**
|
|
1480
|
-
* Removes an item from the storage.
|
|
1481
|
-
* @param key The item's key
|
|
1482
|
-
* @returns Resolves true if removing the item succeeded, false otherwise
|
|
1483
|
-
*/
|
|
1484
|
-
removeItem(key) {
|
|
1485
|
-
return this.storage.removeItem(key);
|
|
1486
|
-
}
|
|
1487
|
-
/**
|
|
1488
|
-
* Deletes all items from local storage
|
|
1489
|
-
* @param filter optional - Delete all keys that pass through filter
|
|
1490
|
-
* @returns Resolves true if clearing all items succeeded, false otherwise
|
|
1491
|
-
*/
|
|
1492
|
-
clear(filter) {
|
|
1493
|
-
return filter
|
|
1494
|
-
? this.getStorageKeys().pipe(switchMap((keys) => {
|
|
1495
|
-
const list = keys.filter((k) => filter(k)).map((k) => this.removeItem(k));
|
|
1496
|
-
return list.length ? forkJoin(list).pipe(map(() => true)) : of(true);
|
|
1497
|
-
}))
|
|
1498
|
-
: this.storage.clear();
|
|
1499
|
-
}
|
|
1500
|
-
getStorageKeys() {
|
|
1501
|
-
return new Observable((observer) => {
|
|
1502
|
-
const keys = [];
|
|
1503
|
-
this.storageMap.keys().subscribe({
|
|
1504
|
-
next: (key) => keys.push(key),
|
|
1505
|
-
complete: () => observer.next(keys)
|
|
1506
|
-
});
|
|
1507
|
-
}).pipe(first());
|
|
1508
|
-
}
|
|
1509
|
-
getStorage() {
|
|
1510
|
-
return this.getStorageKeys().pipe(switchMap((keys) => keys.length
|
|
1511
|
-
? forkJoin(Utils.arrayToObject(keys, (o) => o, (k) => this.getItem(k)))
|
|
1512
|
-
: of({})));
|
|
1513
|
-
}
|
|
1514
|
-
setStorage(options) {
|
|
1515
|
-
return forkJoin(Object.keys(options || {}).map((k) => this.setItem(k, options[k])));
|
|
1516
|
-
}
|
|
1517
|
-
}
|
|
1518
|
-
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 });
|
|
1519
|
-
AppCacheService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppCacheService, providedIn: 'root' });
|
|
1520
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppCacheService, decorators: [{
|
|
1521
|
-
type: Injectable,
|
|
1522
|
-
args: [{
|
|
1523
|
-
providedIn: 'root'
|
|
1524
|
-
}]
|
|
1525
|
-
}], ctorParameters: function () { return [{ type: i1.LocalStorage }, { type: i1.StorageMap }]; } });
|
|
1526
|
-
|
|
1527
1333
|
/**
|
|
1528
1334
|
* Wrapper for Cloud Services through Auth Service
|
|
1529
1335
|
*/
|
|
@@ -1681,60 +1487,43 @@ var ClipboardAction;
|
|
|
1681
1487
|
})(ClipboardAction || (ClipboardAction = {}));
|
|
1682
1488
|
|
|
1683
1489
|
/**
|
|
1684
|
-
*
|
|
1490
|
+
* Representation of an object type. Object types are defined with the system definition and describe
|
|
1491
|
+
* different kind of objects that allowed to be created.
|
|
1685
1492
|
*/
|
|
1686
|
-
class
|
|
1493
|
+
class ObjectType {
|
|
1687
1494
|
/**
|
|
1688
|
-
*
|
|
1495
|
+
* Creates a new instance
|
|
1496
|
+
* @param json The JSON object received from the backend. This will be used to construct the new object type instance
|
|
1689
1497
|
*/
|
|
1690
|
-
constructor() {
|
|
1498
|
+
constructor(json) {
|
|
1499
|
+
this.id = json.id;
|
|
1500
|
+
this.implements = json.implements ? json.implements : [];
|
|
1501
|
+
this.isFolder = json.folder;
|
|
1502
|
+
this.isContextFolder = json.iscontextfolder;
|
|
1503
|
+
this.isAbstract = json.abstract;
|
|
1504
|
+
this.iconId = json.icon ? json.icon.id : null;
|
|
1505
|
+
this.maxFiles = json.maxfiles;
|
|
1506
|
+
this.minFiles = json.minfiles;
|
|
1507
|
+
this.name = json.name;
|
|
1508
|
+
this.qname = json.qname;
|
|
1509
|
+
this.label = json.label;
|
|
1510
|
+
this.description = json.description;
|
|
1511
|
+
this.group = json.group ? json.group.label : "";
|
|
1512
|
+
this.elements = json.elements;
|
|
1513
|
+
this.allowedcontexttypes = json.allowedcontexttypes
|
|
1514
|
+
? json.allowedcontexttypes
|
|
1515
|
+
: [];
|
|
1516
|
+
this.supertypes = json.supertypes ? json.supertypes.map(t => t.name) : [];
|
|
1517
|
+
this.shareable = json.shareable;
|
|
1518
|
+
this.parenttypes = this.getParentTypes(json.allowedlocations);
|
|
1691
1519
|
}
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
* @returns The newly created capabilities object
|
|
1698
|
-
*/
|
|
1699
|
-
setCapabilities(userCapabilities, useSingleSingOn) {
|
|
1700
|
-
this.capabilities = {
|
|
1701
|
-
bpm: userCapabilities.bpm,
|
|
1702
|
-
favorites: userCapabilities.favorites,
|
|
1703
|
-
followup: userCapabilities.followup,
|
|
1704
|
-
subscription: userCapabilities.subscription,
|
|
1705
|
-
intray: userCapabilities.intray,
|
|
1706
|
-
storedqueries: userCapabilities.storedqueries,
|
|
1707
|
-
recyclebin: userCapabilities.recyclebin,
|
|
1708
|
-
inbox: userCapabilities.bpm || userCapabilities.followup || userCapabilities.subscription,
|
|
1709
|
-
notifications: userCapabilities.followup || userCapabilities.subscription,
|
|
1710
|
-
template: userCapabilities.template,
|
|
1711
|
-
sso: useSingleSingOn || false
|
|
1712
|
-
};
|
|
1713
|
-
return this.capabilities;
|
|
1714
|
-
}
|
|
1715
|
-
/**
|
|
1716
|
-
* Getter for the Capabilities
|
|
1717
|
-
*/
|
|
1718
|
-
getCapabilities() {
|
|
1719
|
-
return this.capabilities;
|
|
1720
|
-
}
|
|
1721
|
-
/**
|
|
1722
|
-
* Check if Capability is present
|
|
1723
|
-
* @param capability Capability to check for
|
|
1724
|
-
* @returns True if the capability is set, false otherwise
|
|
1725
|
-
*/
|
|
1726
|
-
hasCapability(capability) {
|
|
1727
|
-
return this.capabilities[capability];
|
|
1520
|
+
getParentTypes(allowedlocations) {
|
|
1521
|
+
if (allowedlocations) {
|
|
1522
|
+
return allowedlocations.parenttypes.map(types => types.name);
|
|
1523
|
+
}
|
|
1524
|
+
return [];
|
|
1728
1525
|
}
|
|
1729
1526
|
}
|
|
1730
|
-
CapabilitiesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1731
|
-
CapabilitiesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, providedIn: 'root' });
|
|
1732
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, decorators: [{
|
|
1733
|
-
type: Injectable,
|
|
1734
|
-
args: [{
|
|
1735
|
-
providedIn: 'root'
|
|
1736
|
-
}]
|
|
1737
|
-
}], ctorParameters: function () { return []; } });
|
|
1738
1527
|
|
|
1739
1528
|
// @ts-ignore
|
|
1740
1529
|
/**
|
|
@@ -2083,887 +1872,1003 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
2083
1872
|
}] }, { type: Logger }, { type: Config }]; } });
|
|
2084
1873
|
|
|
2085
1874
|
/**
|
|
2086
|
-
*
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
/**
|
|
2090
|
-
* Items emitted by the inbox service
|
|
2091
|
-
*/
|
|
2092
|
-
class InboxItem {
|
|
2093
|
-
/**
|
|
2094
|
-
* Creates a new instance
|
|
2095
|
-
* @param json The JSON object received from the backend. This will be used to construct the new inbox item instance
|
|
2096
|
-
*/
|
|
2097
|
-
constructor(json) {
|
|
2098
|
-
// todo: jsut use Object assign when backend changes are done
|
|
2099
|
-
// Object.assign(this, json);
|
|
2100
|
-
this.id = json.inboxentryid;
|
|
2101
|
-
this.title = json.title;
|
|
2102
|
-
this.description = json.description;
|
|
2103
|
-
this.type = json.type;
|
|
2104
|
-
this.sourceId = json.source ? json.source.id : null;
|
|
2105
|
-
this.iconId = json.target && json.target.icon ? json.target.icon.id : null;
|
|
2106
|
-
this.accepted = json.accepted;
|
|
2107
|
-
this.isdeputy = json.isdeputy;
|
|
2108
|
-
this.duetime = json.duetime;
|
|
2109
|
-
this.received = json.receivetime;
|
|
2110
|
-
this.target = json.target;
|
|
2111
|
-
}
|
|
2112
|
-
/**
|
|
2113
|
-
* Determines whether or not the inbox item is overdue
|
|
2114
|
-
* @returns True when inbox item is overdue, false otherwise
|
|
2115
|
-
*/
|
|
2116
|
-
isOverdue() {
|
|
2117
|
-
return this.duetime && moment$1(this.duetime).isBefore(moment$1());
|
|
2118
|
-
}
|
|
2119
|
-
}
|
|
2120
|
-
InboxItem.TYPE_BPM = 'BPM';
|
|
2121
|
-
InboxItem.TYPE_RESUBMISSION = 'RESUBMISSION';
|
|
2122
|
-
InboxItem.TYPE_SUBSCRIPTION = 'SUBSCRIPTION';
|
|
2123
|
-
|
|
2124
|
-
/**
|
|
2125
|
-
* InboxService handles interaction with the inbox service on the backend side.
|
|
1875
|
+
* The apps central caching service. It will provide the app with an easy to use cache that
|
|
1876
|
+
* is aware of the platform it is running on. So it abstracts the platform-specific implementations
|
|
1877
|
+
* of a cache from the application.
|
|
2126
1878
|
*/
|
|
2127
|
-
class
|
|
2128
|
-
constructor(
|
|
2129
|
-
this.
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
this.
|
|
2135
|
-
|
|
2136
|
-
|
|
1879
|
+
class AppCacheService {
|
|
1880
|
+
constructor(storage, storageMap) {
|
|
1881
|
+
this.storage = storage;
|
|
1882
|
+
this.storageMap = storageMap;
|
|
1883
|
+
/**
|
|
1884
|
+
* Key for storing system definition
|
|
1885
|
+
*/
|
|
1886
|
+
this.SYSTEM_DEFINITION = 'eo.framework.cache.systemdefinition';
|
|
1887
|
+
/**
|
|
1888
|
+
* Key for storing system definition
|
|
1889
|
+
*/
|
|
1890
|
+
this.HOSTS = 'eo.framework.cache.hosts';
|
|
1891
|
+
/**
|
|
1892
|
+
* Key for storing location history
|
|
1893
|
+
*/
|
|
1894
|
+
this.LOCATION_HISTORY = 'eo.framework.cache.locations.history';
|
|
1895
|
+
this.itemsMap = new Map();
|
|
1896
|
+
// IndexedDB issue after update - refresh function (transform all wrapped items)
|
|
1897
|
+
window['_ngStorageRefresh'] = () => this.getStorage().subscribe(storage => this.setStorage(storage).subscribe() && console.log(storage));
|
|
2137
1898
|
}
|
|
2138
1899
|
/**
|
|
2139
|
-
*
|
|
2140
|
-
*
|
|
2141
|
-
* @
|
|
1900
|
+
* Writes an item to the storage.
|
|
1901
|
+
* @param key The item's key
|
|
1902
|
+
* @param value The value to be stored
|
|
1903
|
+
* @param debounce The debounce time (default: 500) to reduce identical storage calls
|
|
1904
|
+
* @returns Resolves true if setting the item succeeded, false otherwise
|
|
2142
1905
|
*/
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
getPage(index) {
|
|
2157
|
-
return this.backend
|
|
2158
|
-
.getJson(`/get?size=${this.MAX_PAGE_SIZE}&page=${index || 0}`, this.backend.getInboxBase());
|
|
1906
|
+
setItem(key, value, debounce = 500) {
|
|
1907
|
+
if (!debounce) {
|
|
1908
|
+
return this.storage.setItem(key, value);
|
|
1909
|
+
}
|
|
1910
|
+
else {
|
|
1911
|
+
if (!this.itemsMap.has(key)) {
|
|
1912
|
+
const subject = new Subject();
|
|
1913
|
+
subject.pipe(debounceTime(debounce), switchMap(val => this.storage.setItem(key, val))).subscribe();
|
|
1914
|
+
this.itemsMap.set(key, subject);
|
|
1915
|
+
}
|
|
1916
|
+
this.itemsMap.get(key).next(value);
|
|
1917
|
+
return of(true);
|
|
1918
|
+
}
|
|
2159
1919
|
}
|
|
2160
1920
|
/**
|
|
2161
|
-
*
|
|
2162
|
-
*
|
|
2163
|
-
* @returns
|
|
1921
|
+
* Get a stored item by its key.
|
|
1922
|
+
* @param key The item's key
|
|
1923
|
+
* @returns The item's value if the key exists, null otherwise
|
|
2164
1924
|
*/
|
|
2165
|
-
|
|
2166
|
-
return this.
|
|
1925
|
+
getItem(key) {
|
|
1926
|
+
return this.storage.getItem(key)
|
|
1927
|
+
.pipe(map((item) => {
|
|
1928
|
+
// IndexedDB issue after update (transform wrapped items)
|
|
1929
|
+
return Object.keys(item || {}).join() === 'value' ? item.value : item;
|
|
1930
|
+
}));
|
|
2167
1931
|
}
|
|
2168
1932
|
/**
|
|
2169
|
-
*
|
|
1933
|
+
* Removes an item from the storage.
|
|
1934
|
+
* @param key The item's key
|
|
1935
|
+
* @returns Resolves true if removing the item succeeded, false otherwise
|
|
2170
1936
|
*/
|
|
2171
|
-
|
|
2172
|
-
this.
|
|
1937
|
+
removeItem(key) {
|
|
1938
|
+
return this.storage.removeItem(key);
|
|
2173
1939
|
}
|
|
2174
1940
|
/**
|
|
2175
|
-
*
|
|
1941
|
+
* Deletes all items from local storage
|
|
1942
|
+
* @param filter optional - Delete all keys that pass through filter
|
|
1943
|
+
* @returns Resolves true if clearing all items succeeded, false otherwise
|
|
2176
1944
|
*/
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
this.
|
|
2184
|
-
}, Utils.logError(null, 'Failed to fetch inbox state!'));
|
|
1945
|
+
clear(filter) {
|
|
1946
|
+
return filter
|
|
1947
|
+
? this.getStorageKeys().pipe(switchMap((keys) => {
|
|
1948
|
+
const list = keys.filter((k) => filter(k)).map((k) => this.removeItem(k));
|
|
1949
|
+
return list.length ? forkJoin(list).pipe(map(() => true)) : of(true);
|
|
1950
|
+
}))
|
|
1951
|
+
: this.storage.clear();
|
|
2185
1952
|
}
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
.del('/' + item.id, this.backend.getInboxBase())
|
|
2195
|
-
.pipe(tap(() => this.updateInboxItems(item.id)));
|
|
1953
|
+
getStorageKeys() {
|
|
1954
|
+
return new Observable((observer) => {
|
|
1955
|
+
const keys = [];
|
|
1956
|
+
this.storageMap.keys().subscribe({
|
|
1957
|
+
next: (key) => keys.push(key),
|
|
1958
|
+
complete: () => observer.next(keys)
|
|
1959
|
+
});
|
|
1960
|
+
}).pipe(first());
|
|
2196
1961
|
}
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
* @param item
|
|
2202
|
-
* @param multi
|
|
2203
|
-
*/
|
|
2204
|
-
updateInboxItems(id, item, multi) {
|
|
2205
|
-
if (this.backend.update(this.inboxItems, multi || [{ id, item }])) {
|
|
2206
|
-
this.inboxItemsSource.next(this.inboxItems);
|
|
2207
|
-
}
|
|
1962
|
+
getStorage() {
|
|
1963
|
+
return this.getStorageKeys().pipe(switchMap((keys) => keys.length
|
|
1964
|
+
? forkJoin(Utils.arrayToObject(keys, (o) => o, (k) => this.getItem(k)))
|
|
1965
|
+
: of({})));
|
|
2208
1966
|
}
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
*
|
|
2212
|
-
* @param item the item to be marked as read
|
|
2213
|
-
* @returns Observable<any>
|
|
2214
|
-
*/
|
|
2215
|
-
markAsRead(item) {
|
|
2216
|
-
return this.backend.put('/read/' + item.id, this.backend.getInboxBase());
|
|
1967
|
+
setStorage(options) {
|
|
1968
|
+
return forkJoin(Object.keys(options || {}).map((k) => this.setItem(k, options[k])));
|
|
2217
1969
|
}
|
|
2218
1970
|
}
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type:
|
|
1971
|
+
AppCacheService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppCacheService, deps: [{ token: i1$2.LocalStorage }, { token: i1$2.StorageMap }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1972
|
+
AppCacheService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppCacheService, providedIn: 'root' });
|
|
1973
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AppCacheService, decorators: [{
|
|
2222
1974
|
type: Injectable,
|
|
2223
1975
|
args: [{
|
|
2224
1976
|
providedIn: 'root'
|
|
2225
1977
|
}]
|
|
2226
|
-
}], ctorParameters: function () { return [{ type:
|
|
1978
|
+
}], ctorParameters: function () { return [{ type: i1$2.LocalStorage }, { type: i1$2.StorageMap }]; } });
|
|
2227
1979
|
|
|
2228
1980
|
/**
|
|
2229
|
-
*
|
|
2230
|
-
*
|
|
2231
|
-
* The main parts provided and used by this service are Processes and WorkItems.
|
|
2232
|
-
* Processes are defined on the backend side. They describe a set of tasks that will be executed by the process.
|
|
2233
|
-
* Tasks that require user interaction are referred to as WorkItems.
|
|
2234
|
-
*
|
|
2235
|
-
* Processes can be related to a special object type, but they don't have to. In addition to that they can refer
|
|
2236
|
-
* to dms objects.
|
|
1981
|
+
* Collection of System Services
|
|
2237
1982
|
*/
|
|
2238
|
-
class
|
|
2239
|
-
constructor(
|
|
2240
|
-
this.capabilities = capabilities;
|
|
1983
|
+
class SystemService {
|
|
1984
|
+
constructor(backend, logger, eventService, appCache) {
|
|
2241
1985
|
this.backend = backend;
|
|
1986
|
+
this.logger = logger;
|
|
2242
1987
|
this.eventService = eventService;
|
|
2243
|
-
this.
|
|
2244
|
-
this.
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
this.
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
*
|
|
2253
|
-
* @param size Maximum number of processes to be fetched
|
|
2254
|
-
* @returns List of Processes
|
|
2255
|
-
*/
|
|
2256
|
-
getProcesses(size = 1000) {
|
|
2257
|
-
return this.backend
|
|
2258
|
-
.getJson(`/process/user?size=${size}`, this.backend.getBpmBase())
|
|
2259
|
-
.pipe(map(response => response.content.map(item => new Process(item))), tap((processes) => {
|
|
2260
|
-
this.processItems = processes;
|
|
2261
|
-
this.processItemsSource.next(this.processItems);
|
|
2262
|
-
}));
|
|
2263
|
-
}
|
|
2264
|
-
/**
|
|
2265
|
-
* Getter for the executable Processes. If types are provided, you'll get
|
|
2266
|
-
* only the processes that are executable for all of them
|
|
2267
|
-
* @param types List of dms object types to fetch executable processes for
|
|
2268
|
-
* @param useCached If the cached data should be returned rather than requesting again
|
|
2269
|
-
* @param additionalData If the additional form data should be also included
|
|
2270
|
-
* @param modelid The process model ID to only return the data for one process
|
|
2271
|
-
* @returns List of executable processes
|
|
2272
|
-
*/
|
|
2273
|
-
getExecutableProcesses(types, useCached, additionalData, modelid, global) {
|
|
2274
|
-
if (this.capabilities.hasCapability('bpm')) {
|
|
2275
|
-
return (!!this.executableProcesses && useCached) ? of(this.executableProcesses) : this.fetchExecutableProcesses(types, additionalData, modelid, global);
|
|
2276
|
-
}
|
|
2277
|
-
else {
|
|
2278
|
-
return of([]);
|
|
2279
|
-
}
|
|
1988
|
+
this.appCache = appCache;
|
|
1989
|
+
this.systemSource = new ReplaySubject();
|
|
1990
|
+
this.system$ = this.systemSource.asObservable();
|
|
1991
|
+
// session cache for object type forms
|
|
1992
|
+
this.objectTypeForms = [];
|
|
1993
|
+
this.cachedRoles = [];
|
|
1994
|
+
this.eventService.on(EnaioEvent.SYSTEM_STATUS_SCHEMA_CHANGED).subscribe(() => {
|
|
1995
|
+
this.fetchSystemDefinition(this.user);
|
|
1996
|
+
});
|
|
2280
1997
|
}
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
return this.backend.get(uri).pipe(tap(res => this.hasMainExecutableProcesses = res?.length));
|
|
1998
|
+
set system(s) {
|
|
1999
|
+
this._system = s;
|
|
2284
2000
|
}
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
* only the processes that are executable for all of them.
|
|
2288
|
-
* @param dmsObjects List of dms objects to fetch executable processes for
|
|
2289
|
-
* @returns List of executable processes
|
|
2290
|
-
*/
|
|
2291
|
-
getExecutableProcessesForDmsObjects(dmsObjects) {
|
|
2292
|
-
return this.getExecutableProcesses(dmsObjects.map(o => o.typeName), false, true);
|
|
2001
|
+
get system() {
|
|
2002
|
+
return JSON.parse(JSON.stringify(this._system));
|
|
2293
2003
|
}
|
|
2294
2004
|
/**
|
|
2295
|
-
*
|
|
2296
|
-
*
|
|
2297
|
-
* @
|
|
2298
|
-
* @param modelid The process model ID to only return the data for one process
|
|
2299
|
-
* @returns List of executable processes
|
|
2005
|
+
* Gets all ObjectTypes
|
|
2006
|
+
*
|
|
2007
|
+
* @returns An array containing all object types
|
|
2300
2008
|
*/
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
if (additionalData) {
|
|
2304
|
-
uri += '?form=true&fields=true';
|
|
2305
|
-
}
|
|
2306
|
-
if (types) {
|
|
2307
|
-
uri += (additionalData ? '&' : '?') + `type=${types.join(',')}`;
|
|
2308
|
-
}
|
|
2309
|
-
if (modelid) {
|
|
2310
|
-
uri += (additionalData || types ? '&' : '?') + `modelid=${modelid}`;
|
|
2311
|
-
}
|
|
2312
|
-
return this.backend.get(uri).pipe(map(res => res), tap(res => {
|
|
2313
|
-
// Extend existing processes with additional data, instead of overwriting all processes
|
|
2314
|
-
if (global) {
|
|
2315
|
-
if (additionalData) {
|
|
2316
|
-
if (!this.executableProcesses) {
|
|
2317
|
-
this.executableProcesses = [];
|
|
2318
|
-
}
|
|
2319
|
-
res.forEach(proc => {
|
|
2320
|
-
const existingProcIndex = this.executableProcesses.findIndex(item => item.id === proc.id);
|
|
2321
|
-
if (existingProcIndex === -1) {
|
|
2322
|
-
this.executableProcesses.push(proc);
|
|
2323
|
-
}
|
|
2324
|
-
else {
|
|
2325
|
-
this.executableProcesses[existingProcIndex] = proc;
|
|
2326
|
-
}
|
|
2327
|
-
});
|
|
2328
|
-
}
|
|
2329
|
-
else {
|
|
2330
|
-
this.executableProcesses = res;
|
|
2331
|
-
}
|
|
2332
|
-
}
|
|
2333
|
-
}));
|
|
2009
|
+
getObjectTypes() {
|
|
2010
|
+
return this.system.types;
|
|
2334
2011
|
}
|
|
2335
2012
|
/**
|
|
2336
|
-
*
|
|
2337
|
-
*
|
|
2338
|
-
* @param
|
|
2013
|
+
* Gets an ObjectType by name.
|
|
2014
|
+
*
|
|
2015
|
+
* @param objectTypeName The name of the object type
|
|
2016
|
+
* @returns the ObjectType matching the given name
|
|
2339
2017
|
*/
|
|
2340
|
-
|
|
2341
|
-
return this.
|
|
2342
|
-
.getJson(`/process/${processId}/file`, this.backend.getBpmBase()).pipe(map(res => res.content.map(i => {
|
|
2343
|
-
return {
|
|
2344
|
-
id: i.elementid,
|
|
2345
|
-
title: i.title,
|
|
2346
|
-
description: i.description ? i.description : '',
|
|
2347
|
-
iconid: i.iconid,
|
|
2348
|
-
creator: i.creator,
|
|
2349
|
-
addtime: i.addtime,
|
|
2350
|
-
type: i.type
|
|
2351
|
-
};
|
|
2352
|
-
})));
|
|
2018
|
+
getObjectType(objectTypeName) {
|
|
2019
|
+
return this.system.types.find(t => t.name === objectTypeName);
|
|
2353
2020
|
}
|
|
2354
2021
|
/**
|
|
2355
|
-
*
|
|
2356
|
-
*
|
|
2357
|
-
* @param
|
|
2358
|
-
* @param
|
|
2359
|
-
* @
|
|
2022
|
+
* Get form elements from form model. This is useful if you have to fetch them
|
|
2023
|
+
* for a special situation like SEARCH
|
|
2024
|
+
* @param objectTypeName ObjectType to fetch elements for
|
|
2025
|
+
* @param situation Form model situation to be fetched
|
|
2026
|
+
* @param isContextType Flag indicating that the form model should be fetched for a context mode
|
|
2360
2027
|
*/
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
this.
|
|
2365
|
-
|
|
2366
|
-
];
|
|
2367
|
-
return forkJoin(tasks).pipe(map(res => {
|
|
2368
|
-
const wi = new WorkItem(res[0]);
|
|
2369
|
-
wi.setFile(res[1]);
|
|
2370
|
-
return wi;
|
|
2028
|
+
getFormElementsFromFormModel(objectTypeName, situation, isContextType) {
|
|
2029
|
+
return this.getObjectTypeForm(objectTypeName, situation, isContextType ? 'CONTEXT' : null).pipe(switchMap(model => {
|
|
2030
|
+
const elements = [];
|
|
2031
|
+
this.processFormModelElements(model, elements);
|
|
2032
|
+
return of(elements);
|
|
2371
2033
|
}));
|
|
2372
2034
|
}
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
return this.backend
|
|
2383
|
-
.post(Utils.buildUri(`/bpm/process/${processId}/${id}/save`, params), payload)
|
|
2384
|
-
.pipe(mergeMap(() => this.getWorkItem(processId, id)));
|
|
2035
|
+
processFormModelElements(model, elements) {
|
|
2036
|
+
model.elements.forEach(e => {
|
|
2037
|
+
if (e.type !== "o2mGroup" && e.type !== "o2mGroupStack") {
|
|
2038
|
+
elements.push(e);
|
|
2039
|
+
}
|
|
2040
|
+
else if (e.elements && e.elements.length) {
|
|
2041
|
+
this.processFormModelElements(e, elements);
|
|
2042
|
+
}
|
|
2043
|
+
});
|
|
2385
2044
|
}
|
|
2386
2045
|
/**
|
|
2387
|
-
*
|
|
2388
|
-
*
|
|
2389
|
-
* @param
|
|
2390
|
-
* @param action Action used for forwarding
|
|
2046
|
+
* Checks whether or not the given type implements a given supertype
|
|
2047
|
+
* @param type Type to be checked
|
|
2048
|
+
* @param superTypeName Name of the supertype
|
|
2391
2049
|
*/
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
const payload = {
|
|
2395
|
-
action: action,
|
|
2396
|
-
contents: item.file,
|
|
2397
|
-
data: item.data
|
|
2398
|
-
};
|
|
2399
|
-
return this.backend
|
|
2400
|
-
.post(Utils.buildUri(`/bpm/process/${item.processId}/${item.id}/save`, params), payload)
|
|
2401
|
-
.pipe(tap(() => this.inboxService.updateInboxItems(item.id)));
|
|
2050
|
+
implementsType(type, superTypeName) {
|
|
2051
|
+
return type.name === superTypeName || (type.implements && type.implements.indexOf(superTypeName) !== -1);
|
|
2402
2052
|
}
|
|
2403
2053
|
/**
|
|
2404
|
-
*
|
|
2405
|
-
*
|
|
2406
|
-
* @param
|
|
2407
|
-
* @returns The
|
|
2054
|
+
* Gets a codesystem
|
|
2055
|
+
*
|
|
2056
|
+
* @param id The codesystems id
|
|
2057
|
+
* @returns The codesystem object matching the given id
|
|
2408
2058
|
*/
|
|
2409
|
-
|
|
2410
|
-
return this.
|
|
2411
|
-
.pipe(mergeMap(() => this.getWorkItem(item.processId, item.id)));
|
|
2059
|
+
getCodesystem(id) {
|
|
2060
|
+
return this.system.codesystems.find(t => t.id === id || t.name === id);
|
|
2412
2061
|
}
|
|
2413
2062
|
/**
|
|
2414
|
-
*
|
|
2415
|
-
*
|
|
2416
|
-
* @
|
|
2063
|
+
* Get the form model of an object type.
|
|
2064
|
+
*
|
|
2065
|
+
* @param objectTypeName The object type name
|
|
2066
|
+
* @param situation The form situation to be fetched
|
|
2067
|
+
* @param mode Form mode to fetch (e.g. CONTEXT)
|
|
2068
|
+
* @returns The object type form model
|
|
2417
2069
|
*/
|
|
2418
|
-
|
|
2419
|
-
|
|
2070
|
+
getObjectTypeForm(objectTypeName, situation, mode) {
|
|
2071
|
+
/** check if we have a cached form first */
|
|
2072
|
+
let cachedForm;
|
|
2073
|
+
let i = 0;
|
|
2074
|
+
while (!cachedForm && i < this.objectTypeForms.length) {
|
|
2075
|
+
if (this.objectTypeForms[i].name === objectTypeName &&
|
|
2076
|
+
this.objectTypeForms[i].mode === mode &&
|
|
2077
|
+
this.objectTypeForms[i].situation === situation) {
|
|
2078
|
+
cachedForm = this.objectTypeForms[i];
|
|
2079
|
+
}
|
|
2080
|
+
i++;
|
|
2081
|
+
}
|
|
2082
|
+
if (cachedForm) {
|
|
2083
|
+
/** return a clone of the cached model as otherwise model changes will be added to the chached model */
|
|
2084
|
+
return of(_.cloneDeep(cachedForm));
|
|
2085
|
+
}
|
|
2086
|
+
else {
|
|
2087
|
+
let uri = `/ui/form/${objectTypeName}?situation=${situation}`;
|
|
2088
|
+
uri += !!mode ? `&formmode=${mode}` : '';
|
|
2089
|
+
/** fetch and cache the requested form, if no cached version was found */
|
|
2090
|
+
return this.backend.getViaTempCache(uri, () => this.backend
|
|
2091
|
+
.getJson(uri)
|
|
2092
|
+
.pipe(tap((model) => this.objectTypeForms.push(_.cloneDeep(model)))));
|
|
2093
|
+
}
|
|
2420
2094
|
}
|
|
2421
2095
|
/**
|
|
2422
|
-
*
|
|
2423
|
-
*
|
|
2424
|
-
*
|
|
2425
|
-
*
|
|
2096
|
+
* Fetches the backends system definition and updates system$ Observable.
|
|
2097
|
+
* Subscribe to the system$ observable instead of calling this function, otherwise you'll trigger fetching the
|
|
2098
|
+
* system definition every time.
|
|
2099
|
+
*
|
|
2100
|
+
* @param user The user to load the system definition for
|
|
2101
|
+
* @returns true when successfull
|
|
2426
2102
|
*/
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2103
|
+
getSystemDefinition(user) {
|
|
2104
|
+
this.user = user;
|
|
2105
|
+
// todo: temporary: OrgChanges could not be recognized but affect object definition
|
|
2106
|
+
return this.fetchSystemDefinition(user);
|
|
2107
|
+
// todo: enable again when OrgChanges are recognizable (DO NOT DELETE!)
|
|
2108
|
+
// // is there a cached version
|
|
2109
|
+
// return this.appCache
|
|
2110
|
+
// .getItem(this.appCache.SYSTEM_DEFINITION)
|
|
2111
|
+
// .catch((error) => {
|
|
2112
|
+
// this.logger.error('Error fetching cached version of system definition.', error);
|
|
2113
|
+
// return this.fetchSystemDefinition(user);
|
|
2114
|
+
// })
|
|
2115
|
+
// .flatMap((cachedSystemDefinition: any) => {
|
|
2116
|
+
//
|
|
2117
|
+
// // yes? then check if it's up to date
|
|
2118
|
+
// if (cachedSystemDefinition) {
|
|
2119
|
+
//
|
|
2120
|
+
// if (
|
|
2121
|
+
// user.schema.version !== cachedSystemDefinition.info.version ||
|
|
2122
|
+
// user.id !== cachedSystemDefinition.info.user ||
|
|
2123
|
+
// user.getSchemaLocale() !== cachedSystemDefinition.info.locale
|
|
2124
|
+
// ) {
|
|
2125
|
+
// return this.fetchSystemDefinition(user);
|
|
2126
|
+
// } else {
|
|
2127
|
+
// // cache is up to date. return the cached one
|
|
2128
|
+
// this.logger.debug('System definition is up to date, using cached version.', cachedSystemDefinition);
|
|
2129
|
+
// this.system = cachedSystemDefinition;
|
|
2130
|
+
// this.systemSource.next(this.system);
|
|
2131
|
+
// return of(true);
|
|
2132
|
+
// }
|
|
2133
|
+
// } else {
|
|
2134
|
+
// // no cached systemDefinition found
|
|
2135
|
+
// return this.fetchSystemDefinition(user);
|
|
2136
|
+
// }
|
|
2137
|
+
// });
|
|
2138
|
+
}
|
|
2433
2139
|
/**
|
|
2434
|
-
*
|
|
2435
|
-
*
|
|
2436
|
-
* @param
|
|
2437
|
-
* @returns
|
|
2140
|
+
* Creates a value depending on a given Type
|
|
2141
|
+
*
|
|
2142
|
+
* @param string valueType
|
|
2143
|
+
* @returns any
|
|
2438
2144
|
*/
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2145
|
+
getDefaultValue(valueType) {
|
|
2146
|
+
let defaultValue;
|
|
2147
|
+
switch (valueType) {
|
|
2148
|
+
case 'CURRENT_USER': {
|
|
2149
|
+
defaultValue = this.user.name;
|
|
2150
|
+
break;
|
|
2151
|
+
}
|
|
2152
|
+
case 'CURRENT_USER_NAME': {
|
|
2153
|
+
defaultValue = this.user.title;
|
|
2154
|
+
break;
|
|
2155
|
+
}
|
|
2156
|
+
case 'CURRENT_DATETIME': {
|
|
2157
|
+
defaultValue = new Date();
|
|
2158
|
+
break;
|
|
2159
|
+
}
|
|
2160
|
+
case 'CURRENT_DATE': {
|
|
2161
|
+
defaultValue = moment().startOf('day').toDate();
|
|
2162
|
+
break;
|
|
2163
|
+
}
|
|
2164
|
+
case 'YEAR': {
|
|
2165
|
+
defaultValue = moment().year();
|
|
2166
|
+
break;
|
|
2167
|
+
}
|
|
2168
|
+
case 'MONTH': {
|
|
2169
|
+
defaultValue = moment().month() + 1;
|
|
2170
|
+
break;
|
|
2171
|
+
}
|
|
2172
|
+
case 'DAY': {
|
|
2173
|
+
defaultValue = moment().date();
|
|
2174
|
+
break;
|
|
2175
|
+
}
|
|
2176
|
+
case 'HOUR': {
|
|
2177
|
+
defaultValue = moment().hour();
|
|
2178
|
+
break;
|
|
2179
|
+
}
|
|
2180
|
+
case 'MINUTE': {
|
|
2181
|
+
defaultValue = moment().minute();
|
|
2182
|
+
break;
|
|
2183
|
+
}
|
|
2184
|
+
case 'SECOND': {
|
|
2185
|
+
defaultValue = moment().second();
|
|
2186
|
+
break;
|
|
2187
|
+
}
|
|
2188
|
+
case 'WEEK_OF_YEAR': {
|
|
2189
|
+
defaultValue = moment().isoWeek();
|
|
2190
|
+
break;
|
|
2191
|
+
}
|
|
2192
|
+
case 'FIRST_DAY_OF_WEEK': {
|
|
2193
|
+
defaultValue = moment().startOf('isoWeek').toDate();
|
|
2194
|
+
break;
|
|
2195
|
+
}
|
|
2196
|
+
case 'FIRST_DAY_OF_MONTH': {
|
|
2197
|
+
defaultValue = moment().startOf('month').toDate();
|
|
2198
|
+
break;
|
|
2199
|
+
}
|
|
2200
|
+
case 'FIRST_DAY_OF_YEAR': {
|
|
2201
|
+
defaultValue = moment().startOf('year').toDate();
|
|
2202
|
+
break;
|
|
2203
|
+
}
|
|
2204
|
+
}
|
|
2205
|
+
return defaultValue;
|
|
2443
2206
|
}
|
|
2444
2207
|
/**
|
|
2445
|
-
*
|
|
2446
|
-
*
|
|
2447
|
-
*
|
|
2448
|
-
* @param
|
|
2208
|
+
* Fetches the system definition from the server. Provided params are used for storing the
|
|
2209
|
+
* recent version in cache.
|
|
2210
|
+
*
|
|
2211
|
+
* @param user The user to fetch the system definition for
|
|
2212
|
+
* @return boolean
|
|
2449
2213
|
*/
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2214
|
+
fetchSystemDefinition(user) {
|
|
2215
|
+
const fetches = [
|
|
2216
|
+
this.backend.getJson('/system/type/list?elements=true&basetypes=true'),
|
|
2217
|
+
this.backend.getJson('/system/cs/list?elements=true')
|
|
2218
|
+
];
|
|
2219
|
+
return forkJoin(fetches)
|
|
2220
|
+
.pipe(catchError(Utils.catch((error) => {
|
|
2221
|
+
this.logger.error('Error fetching recent version of system definition from server.', error);
|
|
2222
|
+
this.systemSource.error('Error fetching recent version of system definition from server.');
|
|
2223
|
+
})), map((data) => {
|
|
2224
|
+
this.objectTypeForms = [];
|
|
2225
|
+
const system = {
|
|
2226
|
+
/**
|
|
2227
|
+
* info about the current system definition
|
|
2228
|
+
*/
|
|
2229
|
+
info: {
|
|
2230
|
+
user: user.id,
|
|
2231
|
+
locale: user.getSchemaLocale(),
|
|
2232
|
+
version: user.schema.version
|
|
2233
|
+
},
|
|
2234
|
+
/**
|
|
2235
|
+
* supported backend locales
|
|
2236
|
+
*/
|
|
2237
|
+
locales: user.schema.supportedLocales,
|
|
2238
|
+
/**
|
|
2239
|
+
* object type definitions
|
|
2240
|
+
*/
|
|
2241
|
+
types: [],
|
|
2242
|
+
/**
|
|
2243
|
+
* codesystems cache
|
|
2244
|
+
*/
|
|
2245
|
+
codesystems: []
|
|
2246
|
+
};
|
|
2247
|
+
const types = data[0];
|
|
2248
|
+
system.types = types.map(t => new ObjectType(t));
|
|
2249
|
+
system.codesystems = data[1];
|
|
2250
|
+
this.system = system;
|
|
2251
|
+
this.systemSource.next(system);
|
|
2252
|
+
this.logger.debug('Fetched new version of system definition (user: ' + user.id + ', version: ' + user.schema.version + ').');
|
|
2253
|
+
this.appCache
|
|
2254
|
+
.setItem(this.appCache.SYSTEM_DEFINITION, system)
|
|
2255
|
+
.subscribe(() => {
|
|
2256
|
+
this.logger.debug('Cached recent version');
|
|
2257
|
+
}, Utils.logError(null, 'Error caching recent version of system definition.'));
|
|
2258
|
+
return true;
|
|
2259
|
+
}));
|
|
2453
2260
|
}
|
|
2454
2261
|
/**
|
|
2455
|
-
*
|
|
2456
|
-
* @param
|
|
2457
|
-
* @param workItemId The ID of the activity
|
|
2458
|
-
* @param elements The Elements to be added
|
|
2459
|
-
* @returns The updated WorkItem
|
|
2262
|
+
* Retrieve an organization object by its ID
|
|
2263
|
+
* @param id ID of org object
|
|
2460
2264
|
*/
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
elements.forEach((e) => {
|
|
2464
|
-
tasks.push(this.backend.post(`/process/${processId}/file/${e.id}?type=${e.type.name}&activityid=${workItemId}`, {}, this.backend.getBpmBase()));
|
|
2465
|
-
});
|
|
2466
|
-
return forkJoin(tasks)
|
|
2467
|
-
.pipe(mergeMap(() => this.getWorkItem(processId, workItemId)));
|
|
2265
|
+
getOrganizationObjectById(id) {
|
|
2266
|
+
return this.backend.getJson(`/organization/id/${id}`);
|
|
2468
2267
|
}
|
|
2469
2268
|
/**
|
|
2470
|
-
*
|
|
2471
|
-
*
|
|
2472
|
-
* @param
|
|
2473
|
-
* @returns
|
|
2269
|
+
* Fetches the organization object for a given name.
|
|
2270
|
+
*
|
|
2271
|
+
* @param name The name to fetch object for
|
|
2272
|
+
* @returns
|
|
2474
2273
|
*/
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2274
|
+
getOrganizationObject(name) {
|
|
2275
|
+
return this.getOrganizationObjects([name]).pipe(map(res => res[0]));
|
|
2276
|
+
}
|
|
2277
|
+
/**
|
|
2278
|
+
* Fetches a collection of organization objects
|
|
2279
|
+
*
|
|
2280
|
+
* @param names Array of names to fetch objects for
|
|
2281
|
+
* @returns A Array of Organization Objects
|
|
2282
|
+
*/
|
|
2283
|
+
getOrganizationObjects(names) {
|
|
2284
|
+
const toFetch = names.map(name => this.backend.getJson(`/organization/name/${name}`).pipe(catchError(error => of({ id: name, active: false }))));
|
|
2285
|
+
return forkJoin(toFetch);
|
|
2286
|
+
}
|
|
2287
|
+
/**
|
|
2288
|
+
* Fetches a collection of organization roles
|
|
2289
|
+
*
|
|
2290
|
+
* @return A Array of Organization Roles
|
|
2291
|
+
*/
|
|
2292
|
+
getRoles() {
|
|
2293
|
+
if (this.cachedRoles.length) {
|
|
2294
|
+
return of(this.cachedRoles);
|
|
2487
2295
|
}
|
|
2488
2296
|
else {
|
|
2489
|
-
return
|
|
2297
|
+
return this.backend
|
|
2298
|
+
.get('/organization/role')
|
|
2299
|
+
.pipe(map(o => o), tap(roles => (this.cachedRoles = roles)));
|
|
2490
2300
|
}
|
|
2491
2301
|
}
|
|
2492
2302
|
}
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type:
|
|
2303
|
+
SystemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SystemService, deps: [{ token: BackendService }, { token: Logger }, { token: EventService }, { token: AppCacheService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2304
|
+
SystemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SystemService, providedIn: 'root' });
|
|
2305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SystemService, decorators: [{
|
|
2496
2306
|
type: Injectable,
|
|
2497
2307
|
args: [{
|
|
2498
2308
|
providedIn: 'root'
|
|
2499
2309
|
}]
|
|
2500
|
-
}], ctorParameters: function () { return [{ type:
|
|
2310
|
+
}], ctorParameters: function () { return [{ type: BackendService }, { type: Logger }, { type: EventService }, { type: AppCacheService }]; } });
|
|
2501
2311
|
|
|
2502
2312
|
/**
|
|
2503
|
-
*
|
|
2504
|
-
* different kind of objects that allowed to be created.
|
|
2313
|
+
* Handles the systems capabilities. Capabilities are settings that enable/disable certain client features.
|
|
2505
2314
|
*/
|
|
2506
|
-
class
|
|
2315
|
+
class CapabilitiesService {
|
|
2507
2316
|
/**
|
|
2508
|
-
*
|
|
2509
|
-
* @param json The JSON object received from the backend. This will be used to construct the new object type instance
|
|
2317
|
+
* @ignore
|
|
2510
2318
|
*/
|
|
2511
|
-
constructor(
|
|
2512
|
-
this.
|
|
2513
|
-
this.implements = json.implements ? json.implements : [];
|
|
2514
|
-
this.isFolder = json.folder;
|
|
2515
|
-
this.isContextFolder = json.iscontextfolder;
|
|
2516
|
-
this.isAbstract = json.abstract;
|
|
2517
|
-
this.iconId = json.icon ? json.icon.id : null;
|
|
2518
|
-
this.maxFiles = json.maxfiles;
|
|
2519
|
-
this.minFiles = json.minfiles;
|
|
2520
|
-
this.name = json.name;
|
|
2521
|
-
this.qname = json.qname;
|
|
2522
|
-
this.label = json.label;
|
|
2523
|
-
this.description = json.description;
|
|
2524
|
-
this.group = json.group ? json.group.label : "";
|
|
2525
|
-
this.elements = json.elements;
|
|
2526
|
-
this.allowedcontexttypes = json.allowedcontexttypes
|
|
2527
|
-
? json.allowedcontexttypes
|
|
2528
|
-
: [];
|
|
2529
|
-
this.supertypes = json.supertypes ? json.supertypes.map(t => t.name) : [];
|
|
2530
|
-
this.shareable = json.shareable;
|
|
2531
|
-
this.parenttypes = this.getParentTypes(json.allowedlocations);
|
|
2532
|
-
}
|
|
2533
|
-
getParentTypes(allowedlocations) {
|
|
2534
|
-
if (allowedlocations) {
|
|
2535
|
-
return allowedlocations.parenttypes.map(types => types.name);
|
|
2536
|
-
}
|
|
2537
|
-
return [];
|
|
2538
|
-
}
|
|
2539
|
-
}
|
|
2540
|
-
|
|
2541
|
-
/**
|
|
2542
|
-
* Representation of a prepared item. A prepared item is an item that is supposed to create a new dms object.
|
|
2543
|
-
* Adding a new object to yuuvis<sup>®</sup> RAD starts with a prepared item. If all the required properties are set up, the item
|
|
2544
|
-
* will be used to create a new dms object.
|
|
2545
|
-
*/
|
|
2546
|
-
class PreparedItem {
|
|
2547
|
-
/**
|
|
2548
|
-
* Prepared items title
|
|
2549
|
-
*/
|
|
2550
|
-
get title() {
|
|
2551
|
-
return this.selectedtype ? this.selectedtype.label : '';
|
|
2319
|
+
constructor(system) {
|
|
2320
|
+
this.system = system;
|
|
2552
2321
|
}
|
|
2553
2322
|
/**
|
|
2554
|
-
*
|
|
2555
|
-
*
|
|
2323
|
+
* Sets the capabilities based on a given object set by auth.service
|
|
2324
|
+
*
|
|
2325
|
+
* @param userCapabilities Object containing capabilities properties
|
|
2326
|
+
* @param useSingleSingOn Whether or not to set up single signon on capability
|
|
2327
|
+
* @returns The newly created capabilities object
|
|
2556
2328
|
*/
|
|
2557
|
-
|
|
2558
|
-
|
|
2329
|
+
setCapabilities(userCapabilities, useSingleSingOn) {
|
|
2330
|
+
this.capabilities = {
|
|
2331
|
+
bpm: userCapabilities.bpm,
|
|
2332
|
+
favorites: userCapabilities.favorites,
|
|
2333
|
+
followup: userCapabilities.followup,
|
|
2334
|
+
subscription: userCapabilities.subscription,
|
|
2335
|
+
intray: userCapabilities.intray,
|
|
2336
|
+
storedqueries: userCapabilities.storedqueries,
|
|
2337
|
+
recyclebin: userCapabilities.recyclebin,
|
|
2338
|
+
inbox: userCapabilities.bpm || userCapabilities.followup || userCapabilities.subscription,
|
|
2339
|
+
notifications: userCapabilities.followup || userCapabilities.subscription,
|
|
2340
|
+
template: userCapabilities.template,
|
|
2341
|
+
sso: useSingleSingOn || false,
|
|
2342
|
+
};
|
|
2343
|
+
return this.capabilities;
|
|
2559
2344
|
}
|
|
2560
2345
|
/**
|
|
2561
|
-
*
|
|
2346
|
+
* Getter for the Capabilities
|
|
2562
2347
|
*/
|
|
2563
|
-
|
|
2564
|
-
return
|
|
2348
|
+
getCapabilities() {
|
|
2349
|
+
return { ...this.capabilities, signing: !!this.system.getObjectType('yuvsigning') };
|
|
2565
2350
|
}
|
|
2566
2351
|
/**
|
|
2567
|
-
*
|
|
2568
|
-
*
|
|
2569
|
-
* @returns
|
|
2352
|
+
* Check if Capability is present
|
|
2353
|
+
* @param capability Capability to check for
|
|
2354
|
+
* @returns True if the capability is set, false otherwise
|
|
2570
2355
|
*/
|
|
2571
|
-
|
|
2572
|
-
return this.
|
|
2356
|
+
hasCapability(capability) {
|
|
2357
|
+
return this.capabilities[capability];
|
|
2573
2358
|
}
|
|
2574
2359
|
}
|
|
2360
|
+
CapabilitiesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, deps: [{ token: SystemService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2361
|
+
CapabilitiesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, providedIn: 'root' });
|
|
2362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: CapabilitiesService, decorators: [{
|
|
2363
|
+
type: Injectable,
|
|
2364
|
+
args: [{
|
|
2365
|
+
providedIn: 'root'
|
|
2366
|
+
}]
|
|
2367
|
+
}], ctorParameters: function () { return [{ type: SystemService }]; } });
|
|
2575
2368
|
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
* @param id Upload targets unique id
|
|
2581
|
-
* @param type Upload targets type
|
|
2582
|
-
*/
|
|
2583
|
-
constructor(id, type) {
|
|
2584
|
-
this.id = id;
|
|
2585
|
-
this.type = type;
|
|
2586
|
-
}
|
|
2369
|
+
/**
|
|
2370
|
+
* Items emitted by the inbox service
|
|
2371
|
+
*/
|
|
2372
|
+
class InboxItem {
|
|
2587
2373
|
/**
|
|
2588
|
-
*
|
|
2589
|
-
*
|
|
2590
|
-
* @param target
|
|
2591
|
-
* @returns the provided UploadTarget if the Upload was Successfull.
|
|
2374
|
+
* Creates a new instance
|
|
2375
|
+
* @param json The JSON object received from the backend. This will be used to construct the new inbox item instance
|
|
2592
2376
|
*/
|
|
2593
|
-
|
|
2594
|
-
|
|
2377
|
+
constructor(json) {
|
|
2378
|
+
// todo: jsut use Object assign when backend changes are done
|
|
2379
|
+
// Object.assign(this, json);
|
|
2380
|
+
this.id = json.inboxentryid;
|
|
2381
|
+
this.title = json.title;
|
|
2382
|
+
this.description = json.description;
|
|
2383
|
+
this.type = json.type;
|
|
2384
|
+
this.sourceId = json.source ? json.source.id : null;
|
|
2385
|
+
this.iconId = json.target && json.target.icon ? json.target.icon.id : null;
|
|
2386
|
+
this.accepted = json.accepted;
|
|
2387
|
+
this.isdeputy = json.isdeputy;
|
|
2388
|
+
this.duetime = json.duetime;
|
|
2389
|
+
this.received = json.receivetime;
|
|
2390
|
+
this.target = json.target;
|
|
2595
2391
|
}
|
|
2596
2392
|
/**
|
|
2597
|
-
*
|
|
2598
|
-
*
|
|
2599
|
-
* @returns an empty Object if the Upload fails
|
|
2393
|
+
* Determines whether or not the inbox item is overdue
|
|
2394
|
+
* @returns True when inbox item is overdue, false otherwise
|
|
2600
2395
|
*/
|
|
2601
|
-
|
|
2602
|
-
return
|
|
2396
|
+
isOverdue() {
|
|
2397
|
+
return this.duetime && moment(this.duetime).isBefore(moment());
|
|
2603
2398
|
}
|
|
2604
2399
|
}
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
UploadTarget.ROOT = 'root';
|
|
2609
|
-
/**
|
|
2610
|
-
* add file(s) to context folder
|
|
2611
|
-
*/
|
|
2612
|
-
UploadTarget.CONTEXT = 'context';
|
|
2613
|
-
/**
|
|
2614
|
-
* add file(s) to context folders dynamic structure
|
|
2615
|
-
*/
|
|
2616
|
-
UploadTarget.CONTEXT_TREE = 'contexttree';
|
|
2617
|
-
/**
|
|
2618
|
-
* set/replace content file of a dms object
|
|
2619
|
-
*/
|
|
2620
|
-
UploadTarget.OBJECT = 'object';
|
|
2621
|
-
/**
|
|
2622
|
-
* custom targets (e.g. for plugin development)
|
|
2623
|
-
*/
|
|
2624
|
-
UploadTarget.CUSTOM = 'custom';
|
|
2625
|
-
|
|
2626
|
-
var Direction;
|
|
2627
|
-
(function (Direction) {
|
|
2628
|
-
Direction["LTR"] = "ltr";
|
|
2629
|
-
Direction["RTL"] = "rtl";
|
|
2630
|
-
})(Direction || (Direction = {}));
|
|
2400
|
+
InboxItem.TYPE_BPM = 'BPM';
|
|
2401
|
+
InboxItem.TYPE_RESUBMISSION = 'RESUBMISSION';
|
|
2402
|
+
InboxItem.TYPE_SUBSCRIPTION = 'SUBSCRIPTION';
|
|
2631
2403
|
|
|
2632
2404
|
/**
|
|
2633
|
-
*
|
|
2634
|
-
*/
|
|
2635
|
-
const moment = momentImported;
|
|
2636
|
-
/**
|
|
2637
|
-
* Collection of System Services
|
|
2405
|
+
* InboxService handles interaction with the inbox service on the backend side.
|
|
2638
2406
|
*/
|
|
2639
|
-
class
|
|
2640
|
-
constructor(backend
|
|
2407
|
+
class InboxService {
|
|
2408
|
+
constructor(backend) {
|
|
2641
2409
|
this.backend = backend;
|
|
2642
|
-
|
|
2643
|
-
this.
|
|
2644
|
-
this.
|
|
2645
|
-
this.
|
|
2646
|
-
this.
|
|
2647
|
-
|
|
2648
|
-
this.
|
|
2649
|
-
this.cachedRoles = [];
|
|
2650
|
-
this.eventService.on(EnaioEvent.SYSTEM_STATUS_SCHEMA_CHANGED).subscribe(() => {
|
|
2651
|
-
this.fetchSystemDefinition(this.user);
|
|
2652
|
-
});
|
|
2653
|
-
}
|
|
2654
|
-
set system(s) {
|
|
2655
|
-
this._system = s;
|
|
2656
|
-
}
|
|
2657
|
-
get system() {
|
|
2658
|
-
return JSON.parse(JSON.stringify(this._system));
|
|
2410
|
+
// backends maximum page size
|
|
2411
|
+
this.MAX_PAGE_SIZE = 1000;
|
|
2412
|
+
this.inboxStateSource = new ReplaySubject(1);
|
|
2413
|
+
this.inboxState$ = this.inboxStateSource.asObservable();
|
|
2414
|
+
this.inboxItemsSource = new ReplaySubject(1);
|
|
2415
|
+
this.inboxItemsGridData$ = this.inboxItemsSource.asObservable();
|
|
2416
|
+
this.inboxItems$ = this.inboxItemsGridData$.pipe(this.backend.gridDataFilter);
|
|
2659
2417
|
}
|
|
2660
2418
|
/**
|
|
2661
|
-
*
|
|
2419
|
+
* Fetches inbox items from the backend.
|
|
2662
2420
|
*
|
|
2663
|
-
* @returns
|
|
2421
|
+
* @returns Observable of inbox items.
|
|
2664
2422
|
*/
|
|
2665
|
-
|
|
2666
|
-
return this.
|
|
2423
|
+
getItems() {
|
|
2424
|
+
return this.getAllPages()
|
|
2425
|
+
.pipe(map(res => res.map(item => new InboxItem(item))), tap(res => {
|
|
2426
|
+
this.inboxItems = res;
|
|
2427
|
+
this.inboxItemsSource.next(this.inboxItems);
|
|
2428
|
+
}), catchError(Utils.throw(() => this.inboxItemsSource.next([]))));
|
|
2429
|
+
}
|
|
2430
|
+
getAllPages() {
|
|
2431
|
+
let items = [];
|
|
2432
|
+
return this.getPage().pipe(expand(res => {
|
|
2433
|
+
return !res.last ? this.getPage(res.pageable.pageNumber + 1) : EMPTY;
|
|
2434
|
+
}), tap(res => items = [...items, ...res.content]), skipWhile(res => !res.last), map(_ => items));
|
|
2435
|
+
}
|
|
2436
|
+
getPage(index) {
|
|
2437
|
+
return this.backend
|
|
2438
|
+
.getJson(`/get?size=${this.MAX_PAGE_SIZE}&page=${index || 0}`, this.backend.getInboxBase());
|
|
2667
2439
|
}
|
|
2668
2440
|
/**
|
|
2669
|
-
*
|
|
2441
|
+
* Fetches state informations for the users inbox
|
|
2670
2442
|
*
|
|
2671
|
-
* @
|
|
2672
|
-
* @returns the ObjectType matching the given name
|
|
2443
|
+
* @returns inbox state object
|
|
2673
2444
|
*/
|
|
2674
|
-
|
|
2675
|
-
return this.
|
|
2445
|
+
getState() {
|
|
2446
|
+
return this.inboxState;
|
|
2676
2447
|
}
|
|
2677
2448
|
/**
|
|
2678
|
-
*
|
|
2679
|
-
* for a special situation like SEARCH
|
|
2680
|
-
* @param objectTypeName ObjectType to fetch elements for
|
|
2681
|
-
* @param situation Form model situation to be fetched
|
|
2682
|
-
* @param isContextType Flag indicating that the form model should be fetched for a context mode
|
|
2449
|
+
* Public access to fetch inbox
|
|
2683
2450
|
*/
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
const elements = [];
|
|
2687
|
-
this.processFormModelElements(model, elements);
|
|
2688
|
-
return of(elements);
|
|
2689
|
-
}));
|
|
2690
|
-
}
|
|
2691
|
-
processFormModelElements(model, elements) {
|
|
2692
|
-
model.elements.forEach(e => {
|
|
2693
|
-
if (e.type !== "o2mGroup" && e.type !== "o2mGroupStack") {
|
|
2694
|
-
elements.push(e);
|
|
2695
|
-
}
|
|
2696
|
-
else if (e.elements && e.elements.length) {
|
|
2697
|
-
this.processFormModelElements(e, elements);
|
|
2698
|
-
}
|
|
2699
|
-
});
|
|
2451
|
+
refreshInboxState() {
|
|
2452
|
+
this.fetchInboxState();
|
|
2700
2453
|
}
|
|
2701
2454
|
/**
|
|
2702
|
-
*
|
|
2703
|
-
* @param type Type to be checked
|
|
2704
|
-
* @param superTypeName Name of the supertype
|
|
2455
|
+
* Retrieve inbox state
|
|
2705
2456
|
*/
|
|
2706
|
-
|
|
2707
|
-
|
|
2457
|
+
fetchInboxState() {
|
|
2458
|
+
this.backend
|
|
2459
|
+
.getJson('/state', this.backend.getInboxBase())
|
|
2460
|
+
.pipe(map(res => res))
|
|
2461
|
+
.subscribe(res => {
|
|
2462
|
+
this.inboxState = res;
|
|
2463
|
+
this.inboxStateSource.next(this.inboxState);
|
|
2464
|
+
}, Utils.logError(null, 'Failed to fetch inbox state!'));
|
|
2708
2465
|
}
|
|
2709
2466
|
/**
|
|
2710
|
-
*
|
|
2467
|
+
* Removes an item from the inbox.
|
|
2711
2468
|
*
|
|
2712
|
-
* @param
|
|
2713
|
-
* @returns
|
|
2469
|
+
* @param item inbox item to be removed
|
|
2470
|
+
* @returns Observable<any>
|
|
2714
2471
|
*/
|
|
2715
|
-
|
|
2716
|
-
return this.
|
|
2472
|
+
removeItem(item) {
|
|
2473
|
+
return this.backend
|
|
2474
|
+
.del('/' + item.id, this.backend.getInboxBase())
|
|
2475
|
+
.pipe(tap(() => this.updateInboxItems(item.id)));
|
|
2717
2476
|
}
|
|
2718
2477
|
/**
|
|
2719
|
-
*
|
|
2478
|
+
* Soft update for data in the inbox.
|
|
2720
2479
|
*
|
|
2721
|
-
* @param
|
|
2722
|
-
* @param
|
|
2723
|
-
* @param
|
|
2724
|
-
* @returns The object type form model
|
|
2480
|
+
* @param id
|
|
2481
|
+
* @param item
|
|
2482
|
+
* @param multi
|
|
2725
2483
|
*/
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
let i = 0;
|
|
2730
|
-
while (!cachedForm && i < this.objectTypeForms.length) {
|
|
2731
|
-
if (this.objectTypeForms[i].name === objectTypeName &&
|
|
2732
|
-
this.objectTypeForms[i].mode === mode &&
|
|
2733
|
-
this.objectTypeForms[i].situation === situation) {
|
|
2734
|
-
cachedForm = this.objectTypeForms[i];
|
|
2735
|
-
}
|
|
2736
|
-
i++;
|
|
2484
|
+
updateInboxItems(id, item, multi) {
|
|
2485
|
+
if (this.backend.update(this.inboxItems, multi || [{ id, item }])) {
|
|
2486
|
+
this.inboxItemsSource.next(this.inboxItems);
|
|
2737
2487
|
}
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2488
|
+
}
|
|
2489
|
+
/**
|
|
2490
|
+
* Marks an inbox item as read.
|
|
2491
|
+
*
|
|
2492
|
+
* @param item the item to be marked as read
|
|
2493
|
+
* @returns Observable<any>
|
|
2494
|
+
*/
|
|
2495
|
+
markAsRead(item) {
|
|
2496
|
+
return this.backend.put('/read/' + item.id, this.backend.getInboxBase());
|
|
2497
|
+
}
|
|
2498
|
+
}
|
|
2499
|
+
InboxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InboxService, deps: [{ token: BackendService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2500
|
+
InboxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InboxService, providedIn: 'root' });
|
|
2501
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InboxService, decorators: [{
|
|
2502
|
+
type: Injectable,
|
|
2503
|
+
args: [{
|
|
2504
|
+
providedIn: 'root'
|
|
2505
|
+
}]
|
|
2506
|
+
}], ctorParameters: function () { return [{ type: BackendService }]; } });
|
|
2507
|
+
|
|
2508
|
+
/**
|
|
2509
|
+
* `BpmService` handles interaction related to BPM tasks.
|
|
2510
|
+
*
|
|
2511
|
+
* The main parts provided and used by this service are Processes and WorkItems.
|
|
2512
|
+
* Processes are defined on the backend side. They describe a set of tasks that will be executed by the process.
|
|
2513
|
+
* Tasks that require user interaction are referred to as WorkItems.
|
|
2514
|
+
*
|
|
2515
|
+
* Processes can be related to a special object type, but they don't have to. In addition to that they can refer
|
|
2516
|
+
* to dms objects.
|
|
2517
|
+
*/
|
|
2518
|
+
class BpmService {
|
|
2519
|
+
constructor(capabilities, backend, eventService, inboxService) {
|
|
2520
|
+
this.capabilities = capabilities;
|
|
2521
|
+
this.backend = backend;
|
|
2522
|
+
this.eventService = eventService;
|
|
2523
|
+
this.inboxService = inboxService;
|
|
2524
|
+
this.processItemsSource = new ReplaySubject(1);
|
|
2525
|
+
/**
|
|
2526
|
+
* Long term observable emitting the current processes
|
|
2527
|
+
*/
|
|
2528
|
+
this.processItems$ = this.processItemsSource.asObservable();
|
|
2529
|
+
}
|
|
2530
|
+
/**
|
|
2531
|
+
* Retrieve all processes of the current user.
|
|
2532
|
+
*
|
|
2533
|
+
* @param size Maximum number of processes to be fetched
|
|
2534
|
+
* @returns List of Processes
|
|
2535
|
+
*/
|
|
2536
|
+
getProcesses(size = 1000) {
|
|
2537
|
+
return this.backend
|
|
2538
|
+
.getJson(`/process/user?size=${size}`, this.backend.getBpmBase())
|
|
2539
|
+
.pipe(map(response => response.content.map(item => new Process(item))), tap((processes) => {
|
|
2540
|
+
this.processItems = processes;
|
|
2541
|
+
this.processItemsSource.next(this.processItems);
|
|
2542
|
+
}));
|
|
2543
|
+
}
|
|
2544
|
+
/**
|
|
2545
|
+
* Getter for the executable Processes. If types are provided, you'll get
|
|
2546
|
+
* only the processes that are executable for all of them
|
|
2547
|
+
* @param types List of dms object types to fetch executable processes for
|
|
2548
|
+
* @param useCached If the cached data should be returned rather than requesting again
|
|
2549
|
+
* @param additionalData If the additional form data should be also included
|
|
2550
|
+
* @param modelid The process model ID to only return the data for one process
|
|
2551
|
+
* @returns List of executable processes
|
|
2552
|
+
*/
|
|
2553
|
+
getExecutableProcesses(types, useCached, additionalData, modelid, global) {
|
|
2554
|
+
if (this.capabilities.hasCapability('bpm')) {
|
|
2555
|
+
return (!!this.executableProcesses && useCached) ? of(this.executableProcesses) : this.fetchExecutableProcesses(types, additionalData, modelid, global);
|
|
2741
2556
|
}
|
|
2742
2557
|
else {
|
|
2743
|
-
|
|
2744
|
-
uri += !!mode ? `&formmode=${mode}` : '';
|
|
2745
|
-
/** fetch and cache the requested form, if no cached version was found */
|
|
2746
|
-
return this.backend.getViaTempCache(uri, () => this.backend
|
|
2747
|
-
.getJson(uri)
|
|
2748
|
-
.pipe(tap((model) => this.objectTypeForms.push(_.cloneDeep(model)))));
|
|
2558
|
+
return of([]);
|
|
2749
2559
|
}
|
|
2750
2560
|
}
|
|
2561
|
+
initExecutableProcesses() {
|
|
2562
|
+
let uri = '/bpm/process/executable';
|
|
2563
|
+
return this.backend.get(uri).pipe(tap(res => this.hasMainExecutableProcesses = res?.length));
|
|
2564
|
+
}
|
|
2751
2565
|
/**
|
|
2752
|
-
*
|
|
2753
|
-
*
|
|
2754
|
-
*
|
|
2755
|
-
*
|
|
2756
|
-
* @param user The user to load the system definition for
|
|
2757
|
-
* @returns true when successfull
|
|
2566
|
+
* Gets executable Processes for a given set of dms object.You'll get
|
|
2567
|
+
* only the processes that are executable for all of them.
|
|
2568
|
+
* @param dmsObjects List of dms objects to fetch executable processes for
|
|
2569
|
+
* @returns List of executable processes
|
|
2758
2570
|
*/
|
|
2759
|
-
|
|
2760
|
-
this.
|
|
2761
|
-
// todo: temporary: OrgChanges could not be recognized but affect object definition
|
|
2762
|
-
return this.fetchSystemDefinition(user);
|
|
2763
|
-
// todo: enable again when OrgChanges are recognizable (DO NOT DELETE!)
|
|
2764
|
-
// // is there a cached version
|
|
2765
|
-
// return this.appCache
|
|
2766
|
-
// .getItem(this.appCache.SYSTEM_DEFINITION)
|
|
2767
|
-
// .catch((error) => {
|
|
2768
|
-
// this.logger.error('Error fetching cached version of system definition.', error);
|
|
2769
|
-
// return this.fetchSystemDefinition(user);
|
|
2770
|
-
// })
|
|
2771
|
-
// .flatMap((cachedSystemDefinition: any) => {
|
|
2772
|
-
//
|
|
2773
|
-
// // yes? then check if it's up to date
|
|
2774
|
-
// if (cachedSystemDefinition) {
|
|
2775
|
-
//
|
|
2776
|
-
// if (
|
|
2777
|
-
// user.schema.version !== cachedSystemDefinition.info.version ||
|
|
2778
|
-
// user.id !== cachedSystemDefinition.info.user ||
|
|
2779
|
-
// user.getSchemaLocale() !== cachedSystemDefinition.info.locale
|
|
2780
|
-
// ) {
|
|
2781
|
-
// return this.fetchSystemDefinition(user);
|
|
2782
|
-
// } else {
|
|
2783
|
-
// // cache is up to date. return the cached one
|
|
2784
|
-
// this.logger.debug('System definition is up to date, using cached version.', cachedSystemDefinition);
|
|
2785
|
-
// this.system = cachedSystemDefinition;
|
|
2786
|
-
// this.systemSource.next(this.system);
|
|
2787
|
-
// return of(true);
|
|
2788
|
-
// }
|
|
2789
|
-
// } else {
|
|
2790
|
-
// // no cached systemDefinition found
|
|
2791
|
-
// return this.fetchSystemDefinition(user);
|
|
2792
|
-
// }
|
|
2793
|
-
// });
|
|
2571
|
+
getExecutableProcessesForDmsObjects(dmsObjects) {
|
|
2572
|
+
return this.getExecutableProcesses(dmsObjects.map(o => o.typeName), false, true);
|
|
2794
2573
|
}
|
|
2795
2574
|
/**
|
|
2796
|
-
*
|
|
2797
|
-
*
|
|
2798
|
-
* @param
|
|
2799
|
-
* @
|
|
2575
|
+
* Fetches executable Processes from the backend.
|
|
2576
|
+
* @param types List of dms object types to fetch executable processes for
|
|
2577
|
+
* @param additionalData If the additional form data should be also included
|
|
2578
|
+
* @param modelid The process model ID to only return the data for one process
|
|
2579
|
+
* @returns List of executable processes
|
|
2800
2580
|
*/
|
|
2801
|
-
|
|
2802
|
-
let
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
}
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
case 'HOUR': {
|
|
2833
|
-
defaultValue = moment().hour();
|
|
2834
|
-
break;
|
|
2835
|
-
}
|
|
2836
|
-
case 'MINUTE': {
|
|
2837
|
-
defaultValue = moment().minute();
|
|
2838
|
-
break;
|
|
2839
|
-
}
|
|
2840
|
-
case 'SECOND': {
|
|
2841
|
-
defaultValue = moment().second();
|
|
2842
|
-
break;
|
|
2843
|
-
}
|
|
2844
|
-
case 'WEEK_OF_YEAR': {
|
|
2845
|
-
defaultValue = moment().isoWeek();
|
|
2846
|
-
break;
|
|
2847
|
-
}
|
|
2848
|
-
case 'FIRST_DAY_OF_WEEK': {
|
|
2849
|
-
defaultValue = moment().startOf('isoWeek').toDate();
|
|
2850
|
-
break;
|
|
2581
|
+
fetchExecutableProcesses(types, additionalData, modelid, global) {
|
|
2582
|
+
let uri = '/bpm/process/executable';
|
|
2583
|
+
if (additionalData) {
|
|
2584
|
+
uri += '?form=true&fields=true';
|
|
2585
|
+
}
|
|
2586
|
+
if (types) {
|
|
2587
|
+
uri += (additionalData ? '&' : '?') + `type=${types.join(',')}`;
|
|
2588
|
+
}
|
|
2589
|
+
if (modelid) {
|
|
2590
|
+
uri += (additionalData || types ? '&' : '?') + `modelid=${modelid}`;
|
|
2591
|
+
}
|
|
2592
|
+
return this.backend.get(uri).pipe(map(res => res), tap(res => {
|
|
2593
|
+
// Extend existing processes with additional data, instead of overwriting all processes
|
|
2594
|
+
if (global) {
|
|
2595
|
+
if (additionalData) {
|
|
2596
|
+
if (!this.executableProcesses) {
|
|
2597
|
+
this.executableProcesses = [];
|
|
2598
|
+
}
|
|
2599
|
+
res.forEach(proc => {
|
|
2600
|
+
const existingProcIndex = this.executableProcesses.findIndex(item => item.id === proc.id);
|
|
2601
|
+
if (existingProcIndex === -1) {
|
|
2602
|
+
this.executableProcesses.push(proc);
|
|
2603
|
+
}
|
|
2604
|
+
else {
|
|
2605
|
+
this.executableProcesses[existingProcIndex] = proc;
|
|
2606
|
+
}
|
|
2607
|
+
});
|
|
2608
|
+
}
|
|
2609
|
+
else {
|
|
2610
|
+
this.executableProcesses = res;
|
|
2611
|
+
}
|
|
2851
2612
|
}
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2613
|
+
}));
|
|
2614
|
+
}
|
|
2615
|
+
/**
|
|
2616
|
+
* Getter for a processes file. The file of a process contains
|
|
2617
|
+
* dms objects attached to the process.
|
|
2618
|
+
* @param processId ID of the process to fetch attached objects for
|
|
2619
|
+
*/
|
|
2620
|
+
getProcessFile(processId) {
|
|
2621
|
+
return this.backend
|
|
2622
|
+
.getJson(`/process/${processId}/file`, this.backend.getBpmBase()).pipe(map(res => res.content.map(i => {
|
|
2623
|
+
return {
|
|
2624
|
+
id: i.elementid,
|
|
2625
|
+
title: i.title,
|
|
2626
|
+
description: i.description ? i.description : '',
|
|
2627
|
+
iconid: i.iconid,
|
|
2628
|
+
creator: i.creator,
|
|
2629
|
+
addtime: i.addtime,
|
|
2630
|
+
type: i.type
|
|
2631
|
+
};
|
|
2632
|
+
})));
|
|
2633
|
+
}
|
|
2634
|
+
/**
|
|
2635
|
+
* Retrieves a work item.
|
|
2636
|
+
* @param processId ID of the parent process
|
|
2637
|
+
* @param itemId ID of the work item itself
|
|
2638
|
+
* @param options Options to be added to the backend call
|
|
2639
|
+
* @returns a WorkItem
|
|
2640
|
+
*/
|
|
2641
|
+
getWorkItem(processId, itemId, options) {
|
|
2642
|
+
const params = options ? options : { form: true, fields: true };
|
|
2643
|
+
const tasks = [
|
|
2644
|
+
this.backend.getJson(Utils.buildUri(`/bpm/process/${processId}/${itemId}`, params)),
|
|
2645
|
+
this.getProcessFile(processId)
|
|
2646
|
+
];
|
|
2647
|
+
return forkJoin(tasks).pipe(map(res => {
|
|
2648
|
+
const wi = new WorkItem(res[0]);
|
|
2649
|
+
wi.setFile(res[1]);
|
|
2650
|
+
return wi;
|
|
2651
|
+
}));
|
|
2652
|
+
}
|
|
2653
|
+
/**
|
|
2654
|
+
* Saves a work item.
|
|
2655
|
+
* @param item The work item to be saved
|
|
2656
|
+
* @returns The updated WorkItem
|
|
2657
|
+
*/
|
|
2658
|
+
saveWorkItem(item) {
|
|
2659
|
+
const { id, processId, file, data } = item;
|
|
2660
|
+
const payload = { contents: file, data };
|
|
2661
|
+
const params = { keeplock: true, isautolock: false };
|
|
2662
|
+
return this.backend
|
|
2663
|
+
.post(Utils.buildUri(`/bpm/process/${processId}/${id}/save`, params), payload)
|
|
2664
|
+
.pipe(mergeMap(() => this.getWorkItem(processId, id)));
|
|
2665
|
+
}
|
|
2666
|
+
/**
|
|
2667
|
+
* Forwards a work item. If a WorkItem provides different actions (@link WorkItemAction)
|
|
2668
|
+
* you can provide the selected action too.
|
|
2669
|
+
* @param item The work item to be forwarded
|
|
2670
|
+
* @param action Action used for forwarding
|
|
2671
|
+
*/
|
|
2672
|
+
forwardWorkItem(item, action) {
|
|
2673
|
+
const params = { keeplock: false, isautolock: false };
|
|
2674
|
+
const payload = {
|
|
2675
|
+
action: action,
|
|
2676
|
+
contents: item.file,
|
|
2677
|
+
data: item.data
|
|
2678
|
+
};
|
|
2679
|
+
return this.backend
|
|
2680
|
+
.post(Utils.buildUri(`/bpm/process/${item.processId}/${item.id}/save`, params), payload)
|
|
2681
|
+
.pipe(tap(() => this.inboxService.updateInboxItems(item.id)));
|
|
2682
|
+
}
|
|
2683
|
+
/**
|
|
2684
|
+
* Locks a WorkItem for the current user (personalization), meaning that the
|
|
2685
|
+
* current user is now in charge of fulfilling the WorkItem task.
|
|
2686
|
+
* @param item The WorkItem to be locked
|
|
2687
|
+
* @returns The updated WorkItem
|
|
2688
|
+
*/
|
|
2689
|
+
lockWorkItem(item) {
|
|
2690
|
+
return this.backend.put(`/bpm/process/${item.processId}/${item.id}/lock`)
|
|
2691
|
+
.pipe(mergeMap(() => this.getWorkItem(item.processId, item.id)));
|
|
2692
|
+
}
|
|
2693
|
+
/**
|
|
2694
|
+
* Releases the lock for a WorkItem.
|
|
2695
|
+
* @param item The work item to be unlocked
|
|
2696
|
+
* @returns The updated WorkItem
|
|
2697
|
+
*/
|
|
2698
|
+
unlockWorkItem(item) {
|
|
2699
|
+
return this.backend.del(`/bpm/process/${item.processId}/${item.id}/lock`).pipe(mergeMap(() => this.getWorkItem(item.processId, item.id)));
|
|
2700
|
+
}
|
|
2701
|
+
/**
|
|
2702
|
+
* Starts an executable process.
|
|
2703
|
+
* @param executableProcessId ID of the executable Process to be started
|
|
2704
|
+
* @param data Data to be passed to the process (simple object of key/value pairs)
|
|
2705
|
+
* @param contents Objects to be attached to the process (process.file).
|
|
2706
|
+
*/
|
|
2707
|
+
startProcess(executableProcessId, data, contents) {
|
|
2708
|
+
return this.backend.post(`/bpm/process/?modelid=${executableProcessId}`, {
|
|
2709
|
+
data: data,
|
|
2710
|
+
contents: contents
|
|
2711
|
+
});
|
|
2712
|
+
}
|
|
2713
|
+
/**
|
|
2714
|
+
* Returns the history for a process. Which entries are returned depends on the
|
|
2715
|
+
* permissions of the current user.
|
|
2716
|
+
* @param processId The ID of the process to fetch history for
|
|
2717
|
+
* @returns Observable<WorkItemHistoryEntry[]>
|
|
2718
|
+
*/
|
|
2719
|
+
getProcessHistory(processId) {
|
|
2720
|
+
return this.backend
|
|
2721
|
+
.getJson(`/bpm/process/${processId}/history`)
|
|
2722
|
+
.pipe(map(res => res && res.length ? res.map(item => new WorkItemHistoryEntry(item)) : []));
|
|
2723
|
+
}
|
|
2724
|
+
/**
|
|
2725
|
+
* Removes a content from the work items file.
|
|
2726
|
+
* @param processId The ID of the process to remove the item from
|
|
2727
|
+
* @param workItemId The ID of the work item containing the file element to be removed
|
|
2728
|
+
* @param workItemContentId The the ID of the file element to be removed
|
|
2729
|
+
*/
|
|
2730
|
+
removeFileElement(processId, workItemId, workItemContentId) {
|
|
2731
|
+
return this.backend
|
|
2732
|
+
.del(`/process/${processId}/file/${workItemContentId}?activityid=${workItemId}`, this.backend.getBpmBase());
|
|
2733
|
+
}
|
|
2734
|
+
/**
|
|
2735
|
+
* Add contents to a work items file.
|
|
2736
|
+
* @param processId The ID of the process
|
|
2737
|
+
* @param workItemId The ID of the activity
|
|
2738
|
+
* @param elements The Elements to be added
|
|
2739
|
+
* @returns The updated WorkItem
|
|
2740
|
+
*/
|
|
2741
|
+
addFileElements(processId, workItemId, elements) {
|
|
2742
|
+
const tasks = [];
|
|
2743
|
+
elements.forEach((e) => {
|
|
2744
|
+
tasks.push(this.backend.post(`/process/${processId}/file/${e.id}?type=${e.type.name}&activityid=${workItemId}`, {}, this.backend.getBpmBase()));
|
|
2745
|
+
});
|
|
2746
|
+
return forkJoin(tasks)
|
|
2747
|
+
.pipe(mergeMap(() => this.getWorkItem(processId, workItemId)));
|
|
2748
|
+
}
|
|
2749
|
+
/**
|
|
2750
|
+
* Add a objects from the clipboard to a WorkItem.
|
|
2751
|
+
* @param workItem The workItem to add the objects to
|
|
2752
|
+
* @param clipboard Clipboard object holding user selected objects
|
|
2753
|
+
* @returns The updated WorkItem
|
|
2754
|
+
*/
|
|
2755
|
+
addFileElementsFromClipboard(workItem, clipboard) {
|
|
2756
|
+
if ((workItem && workItem.fileEntryPermissions.add) && clipboard && clipboard.elements.length && clipboard.action === ClipboardAction.COPY) {
|
|
2757
|
+
let contents;
|
|
2758
|
+
if (workItem.file.length) {
|
|
2759
|
+
// only add items that are not already part of the attachments
|
|
2760
|
+
const attachmentIds = workItem.file.map(e => e.id);
|
|
2761
|
+
contents = clipboard.elements.filter(e => attachmentIds.indexOf(e.id) === -1);
|
|
2855
2762
|
}
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
break;
|
|
2763
|
+
else {
|
|
2764
|
+
contents = clipboard.elements;
|
|
2859
2765
|
}
|
|
2766
|
+
return this.addFileElements(workItem.processId, workItem.id, contents);
|
|
2767
|
+
}
|
|
2768
|
+
else {
|
|
2769
|
+
return throwError('error');
|
|
2860
2770
|
}
|
|
2861
|
-
return defaultValue;
|
|
2862
2771
|
}
|
|
2772
|
+
}
|
|
2773
|
+
BpmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BpmService, deps: [{ token: CapabilitiesService }, { token: BackendService }, { token: EventService }, { token: InboxService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2774
|
+
BpmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BpmService, providedIn: 'root' });
|
|
2775
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: BpmService, decorators: [{
|
|
2776
|
+
type: Injectable,
|
|
2777
|
+
args: [{
|
|
2778
|
+
providedIn: 'root'
|
|
2779
|
+
}]
|
|
2780
|
+
}], ctorParameters: function () { return [{ type: CapabilitiesService }, { type: BackendService }, { type: EventService }, { type: InboxService }]; } });
|
|
2781
|
+
|
|
2782
|
+
/**
|
|
2783
|
+
* Representation of a prepared item. A prepared item is an item that is supposed to create a new dms object.
|
|
2784
|
+
* Adding a new object to yuuvis<sup>®</sup> RAD starts with a prepared item. If all the required properties are set up, the item
|
|
2785
|
+
* will be used to create a new dms object.
|
|
2786
|
+
*/
|
|
2787
|
+
class PreparedItem {
|
|
2863
2788
|
/**
|
|
2864
|
-
*
|
|
2865
|
-
* recent version in cache.
|
|
2866
|
-
*
|
|
2867
|
-
* @param user The user to fetch the system definition for
|
|
2868
|
-
* @return boolean
|
|
2789
|
+
* Prepared items title
|
|
2869
2790
|
*/
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
info: {
|
|
2886
|
-
user: user.id,
|
|
2887
|
-
locale: user.getSchemaLocale(),
|
|
2888
|
-
version: user.schema.version
|
|
2889
|
-
},
|
|
2890
|
-
/**
|
|
2891
|
-
* supported backend locales
|
|
2892
|
-
*/
|
|
2893
|
-
locales: user.schema.supportedLocales,
|
|
2894
|
-
/**
|
|
2895
|
-
* object type definitions
|
|
2896
|
-
*/
|
|
2897
|
-
types: [],
|
|
2898
|
-
/**
|
|
2899
|
-
* codesystems cache
|
|
2900
|
-
*/
|
|
2901
|
-
codesystems: []
|
|
2902
|
-
};
|
|
2903
|
-
const types = data[0];
|
|
2904
|
-
system.types = types.map(t => new ObjectType(t));
|
|
2905
|
-
system.codesystems = data[1];
|
|
2906
|
-
this.system = system;
|
|
2907
|
-
this.systemSource.next(system);
|
|
2908
|
-
this.logger.debug('Fetched new version of system definition (user: ' + user.id + ', version: ' + user.schema.version + ').');
|
|
2909
|
-
this.appCache
|
|
2910
|
-
.setItem(this.appCache.SYSTEM_DEFINITION, system)
|
|
2911
|
-
.subscribe(() => {
|
|
2912
|
-
this.logger.debug('Cached recent version');
|
|
2913
|
-
}, Utils.logError(null, 'Error caching recent version of system definition.'));
|
|
2914
|
-
return true;
|
|
2915
|
-
}));
|
|
2791
|
+
get title() {
|
|
2792
|
+
return this.selectedtype ? this.selectedtype.label : '';
|
|
2793
|
+
}
|
|
2794
|
+
/**
|
|
2795
|
+
* Creates a new instance
|
|
2796
|
+
* @param json The JSON object received from the backend. This will be used to construct the new prepared item instance
|
|
2797
|
+
*/
|
|
2798
|
+
constructor(json) {
|
|
2799
|
+
Object.assign(this, json);
|
|
2800
|
+
}
|
|
2801
|
+
/**
|
|
2802
|
+
* Returns true if the preparedItem contains content (template or actual file), false otherwise
|
|
2803
|
+
*/
|
|
2804
|
+
hasContent() {
|
|
2805
|
+
return !!this.template || this.contentcount > 0;
|
|
2916
2806
|
}
|
|
2917
2807
|
/**
|
|
2918
|
-
*
|
|
2919
|
-
*
|
|
2808
|
+
* Retrieves the prepared items selected type object from the list
|
|
2809
|
+
* of available types.
|
|
2810
|
+
* @returns The type object that is selected or NULL
|
|
2920
2811
|
*/
|
|
2921
|
-
|
|
2922
|
-
return this.
|
|
2812
|
+
getSelectedTypeObject() {
|
|
2813
|
+
return this.types.find(t => t.selected);
|
|
2923
2814
|
}
|
|
2815
|
+
}
|
|
2816
|
+
|
|
2817
|
+
class UploadTarget {
|
|
2924
2818
|
/**
|
|
2925
|
-
*
|
|
2819
|
+
* Creates a new instance of UploadTarget
|
|
2926
2820
|
*
|
|
2927
|
-
* @param
|
|
2928
|
-
* @
|
|
2821
|
+
* @param id Upload targets unique id
|
|
2822
|
+
* @param type Upload targets type
|
|
2929
2823
|
*/
|
|
2930
|
-
|
|
2931
|
-
|
|
2824
|
+
constructor(id, type) {
|
|
2825
|
+
this.id = id;
|
|
2826
|
+
this.type = type;
|
|
2932
2827
|
}
|
|
2933
2828
|
/**
|
|
2934
|
-
*
|
|
2829
|
+
* Return Method if the Upload is Successfull
|
|
2935
2830
|
*
|
|
2936
|
-
* @param
|
|
2937
|
-
* @returns
|
|
2831
|
+
* @param target
|
|
2832
|
+
* @returns the provided UploadTarget if the Upload was Successfull.
|
|
2938
2833
|
*/
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
return forkJoin(toFetch);
|
|
2834
|
+
onUploadSuccess(target) {
|
|
2835
|
+
return target;
|
|
2942
2836
|
}
|
|
2943
2837
|
/**
|
|
2944
|
-
*
|
|
2838
|
+
* Return method if the Upload fails
|
|
2945
2839
|
*
|
|
2946
|
-
* @
|
|
2840
|
+
* @returns an empty Object if the Upload fails
|
|
2947
2841
|
*/
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
return of(this.cachedRoles);
|
|
2951
|
-
}
|
|
2952
|
-
else {
|
|
2953
|
-
return this.backend
|
|
2954
|
-
.get('/organization/role')
|
|
2955
|
-
.pipe(map(o => o), tap(roles => (this.cachedRoles = roles)));
|
|
2956
|
-
}
|
|
2842
|
+
onUploadFail() {
|
|
2843
|
+
return {};
|
|
2957
2844
|
}
|
|
2958
2845
|
}
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2846
|
+
/**
|
|
2847
|
+
* general filing target
|
|
2848
|
+
*/
|
|
2849
|
+
UploadTarget.ROOT = 'root';
|
|
2850
|
+
/**
|
|
2851
|
+
* add file(s) to context folder
|
|
2852
|
+
*/
|
|
2853
|
+
UploadTarget.CONTEXT = 'context';
|
|
2854
|
+
/**
|
|
2855
|
+
* add file(s) to context folders dynamic structure
|
|
2856
|
+
*/
|
|
2857
|
+
UploadTarget.CONTEXT_TREE = 'contexttree';
|
|
2858
|
+
/**
|
|
2859
|
+
* set/replace content file of a dms object
|
|
2860
|
+
*/
|
|
2861
|
+
UploadTarget.OBJECT = 'object';
|
|
2862
|
+
/**
|
|
2863
|
+
* custom targets (e.g. for plugin development)
|
|
2864
|
+
*/
|
|
2865
|
+
UploadTarget.CUSTOM = 'custom';
|
|
2866
|
+
|
|
2867
|
+
var Direction;
|
|
2868
|
+
(function (Direction) {
|
|
2869
|
+
Direction["LTR"] = "ltr";
|
|
2870
|
+
Direction["RTL"] = "rtl";
|
|
2871
|
+
})(Direction || (Direction = {}));
|
|
2967
2872
|
|
|
2968
2873
|
/**
|
|
2969
2874
|
* Applications user service.
|
|
@@ -3293,15 +3198,25 @@ class UserService {
|
|
|
3293
3198
|
this.refreshCurrentUser().subscribe();
|
|
3294
3199
|
}));
|
|
3295
3200
|
}
|
|
3201
|
+
/**
|
|
3202
|
+
* Save or change the workspace of the current user
|
|
3203
|
+
* @param workspaceConfig The value to set the saved workspace or create a new workspace
|
|
3204
|
+
*/
|
|
3205
|
+
saveChangeWorkspace(workspaceConfig) {
|
|
3206
|
+
this.user.userSettings.workspaceOptions = workspaceConfig;
|
|
3207
|
+
return this.backend.put('/user/config/web', this.user.userSettings).pipe(map(() => {
|
|
3208
|
+
this.refreshCurrentUser().subscribe();
|
|
3209
|
+
}));
|
|
3210
|
+
}
|
|
3296
3211
|
}
|
|
3297
|
-
UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: UserService, deps: [{ token: BackendService }, { token:
|
|
3212
|
+
UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: UserService, deps: [{ token: BackendService }, { token: i1.TranslateService }, { token: Logger }, { token: EventService }, { token: SystemService }, { token: i1$1.HttpClient }, { token: Config }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3298
3213
|
UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: UserService, providedIn: 'root' });
|
|
3299
3214
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: UserService, decorators: [{
|
|
3300
3215
|
type: Injectable,
|
|
3301
3216
|
args: [{
|
|
3302
3217
|
providedIn: 'root'
|
|
3303
3218
|
}]
|
|
3304
|
-
}], ctorParameters: function () { return [{ type: BackendService }, { type:
|
|
3219
|
+
}], ctorParameters: function () { return [{ type: BackendService }, { type: i1.TranslateService }, { type: Logger }, { type: EventService }, { type: SystemService }, { type: i1$1.HttpClient }, { type: Config }]; } });
|
|
3305
3220
|
|
|
3306
3221
|
/**
|
|
3307
3222
|
* The Upload Service is provides access to Upload data (files)
|
|
@@ -3352,6 +3267,14 @@ class PrepareService {
|
|
|
3352
3267
|
this.preparedItems$ = this.preparedItemsSource.asObservable();
|
|
3353
3268
|
this.preparedItemCountSource = new ReplaySubject(1);
|
|
3354
3269
|
this.preparedItemCount$ = this.preparedItemCountSource.asObservable();
|
|
3270
|
+
/**
|
|
3271
|
+
* Creates a prepared item on the backed side.
|
|
3272
|
+
*
|
|
3273
|
+
* @param parentId The ID of the parent dms object to add the prepared item to
|
|
3274
|
+
* @param childType The type of object to be created
|
|
3275
|
+
* @returns Observable<any>
|
|
3276
|
+
*/
|
|
3277
|
+
this.i = 0;
|
|
3355
3278
|
}
|
|
3356
3279
|
/**
|
|
3357
3280
|
* Public Fetch Prepare items
|
|
@@ -3370,14 +3293,9 @@ class PrepareService {
|
|
|
3370
3293
|
this.preparedItemCountSource.next(this.preparedItemCount);
|
|
3371
3294
|
});
|
|
3372
3295
|
}
|
|
3373
|
-
/**
|
|
3374
|
-
* Creates a prepared item on the backed side.
|
|
3375
|
-
*
|
|
3376
|
-
* @param parentId The ID of the parent dms object to add the prepared item to
|
|
3377
|
-
* @param childType The type of object to be created
|
|
3378
|
-
* @returns Observable<any>
|
|
3379
|
-
*/
|
|
3380
3296
|
createPreparedItem(parentId, childType) {
|
|
3297
|
+
console.log('tick');
|
|
3298
|
+
this.i++;
|
|
3381
3299
|
return this.backend
|
|
3382
3300
|
.post(this.createPreparedItemPostUrl({
|
|
3383
3301
|
parentId: parentId,
|
|
@@ -3544,7 +3462,7 @@ class PrepareService {
|
|
|
3544
3462
|
* @returns Observable<any>
|
|
3545
3463
|
*/
|
|
3546
3464
|
uploadContent(preparedItemId, file) {
|
|
3547
|
-
const uri = `${this.backend.getServiceBase()}/prepare/${preparedItemId}/content.json?form=true&contentmeta=true`;
|
|
3465
|
+
const uri = `${this.backend.getBaseWithContext(this.backend.getServiceBase())}/prepare/${preparedItemId}/content.json?form=true&contentmeta=true`;
|
|
3548
3466
|
return this.uploadService
|
|
3549
3467
|
.upload(uri, [file])
|
|
3550
3468
|
.pipe(
|
|
@@ -3580,7 +3498,7 @@ class PrepareService {
|
|
|
3580
3498
|
*
|
|
3581
3499
|
* @type string
|
|
3582
3500
|
*/
|
|
3583
|
-
uri = this.backend.getServiceBase() + this.createPreparedItemPostUrl({
|
|
3501
|
+
uri = this.backend.getBaseWithContext(this.backend.getServiceBase()) + this.createPreparedItemPostUrl({
|
|
3584
3502
|
parentId: null,
|
|
3585
3503
|
createMany: !useBatchUpload
|
|
3586
3504
|
});
|
|
@@ -3590,7 +3508,7 @@ class PrepareService {
|
|
|
3590
3508
|
* upload to dms object, means adding or replacing content file
|
|
3591
3509
|
*/
|
|
3592
3510
|
const { referenceObject } = uploadTarget;
|
|
3593
|
-
uri = `${this.backend.getServiceBase()}/dms/${referenceObject.id}/contents?type=${referenceObject.type.name}`;
|
|
3511
|
+
uri = `${this.backend.getBaseWithContext(this.backend.getServiceBase())}/dms/${referenceObject.id}/contents?type=${referenceObject.type.name}`;
|
|
3594
3512
|
}
|
|
3595
3513
|
else if (uploadTarget.type === UploadTarget.CONTEXT || uploadTarget.type === UploadTarget.CONTEXT_TREE) {
|
|
3596
3514
|
/**
|
|
@@ -3600,7 +3518,7 @@ class PrepareService {
|
|
|
3600
3518
|
*
|
|
3601
3519
|
* @type string
|
|
3602
3520
|
*/
|
|
3603
|
-
uri = this.backend.getServiceBase() + this.createPreparedItemPostUrl({
|
|
3521
|
+
uri = this.backend.getBaseWithContext(this.backend.getServiceBase()) + this.createPreparedItemPostUrl({
|
|
3604
3522
|
parentId: uploadTarget.referenceObject.id,
|
|
3605
3523
|
createMany: !useBatchUpload,
|
|
3606
3524
|
childType: uploadTarget.subFolder && uploadTarget.subFolder.data.type ? uploadTarget.subFolder.data.type : null
|
|
@@ -3842,17 +3760,14 @@ class AuthService {
|
|
|
3842
3760
|
/**
|
|
3843
3761
|
* @ignore
|
|
3844
3762
|
*/
|
|
3845
|
-
constructor(config, coreConfig,
|
|
3763
|
+
constructor(config, coreConfig, envService, http, bpmService, ngZone, capabilitiesService, inboxService, prepareService, backend, systemService, userService, eventService, systemStatusService, storage, local) {
|
|
3846
3764
|
this.config = config;
|
|
3847
3765
|
this.coreConfig = coreConfig;
|
|
3848
|
-
this.appCache = appCache;
|
|
3849
3766
|
this.envService = envService;
|
|
3850
3767
|
this.http = http;
|
|
3851
3768
|
this.bpmService = bpmService;
|
|
3852
3769
|
this.ngZone = ngZone;
|
|
3853
|
-
this.location = location;
|
|
3854
3770
|
this.capabilitiesService = capabilitiesService;
|
|
3855
|
-
this.logger = logger;
|
|
3856
3771
|
this.inboxService = inboxService;
|
|
3857
3772
|
this.prepareService = prepareService;
|
|
3858
3773
|
this.backend = backend;
|
|
@@ -4161,7 +4076,7 @@ class AuthService {
|
|
|
4161
4076
|
return forkJoin(todo).pipe(map(() => currUser));
|
|
4162
4077
|
}
|
|
4163
4078
|
}
|
|
4164
|
-
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AuthService, deps: [{ token: Config }, { token: CORE_CONFIG }, { token:
|
|
4079
|
+
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AuthService, deps: [{ token: Config }, { token: CORE_CONFIG }, { token: EnvironmentService }, { token: i1$1.HttpClient }, { token: BpmService }, { token: i0.NgZone }, { token: CapabilitiesService }, { token: InboxService }, { token: PrepareService }, { token: BackendService }, { token: SystemService }, { token: UserService }, { token: EventService }, { token: SystemStatusService }, { token: i1$2.LocalStorage }, { token: LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4165
4080
|
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
4166
4081
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AuthService, decorators: [{
|
|
4167
4082
|
type: Injectable,
|
|
@@ -4171,7 +4086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
4171
4086
|
}], ctorParameters: function () { return [{ type: Config }, { type: CoreConfig, decorators: [{
|
|
4172
4087
|
type: Inject,
|
|
4173
4088
|
args: [CORE_CONFIG]
|
|
4174
|
-
}] }, { type:
|
|
4089
|
+
}] }, { type: EnvironmentService }, { type: i1$1.HttpClient }, { type: BpmService }, { type: i0.NgZone }, { type: CapabilitiesService }, { type: InboxService }, { type: PrepareService }, { type: BackendService }, { type: SystemService }, { type: UserService }, { type: EventService }, { type: SystemStatusService }, { type: i1$2.LocalStorage }, { type: LocalStorageService }]; } });
|
|
4175
4090
|
|
|
4176
4091
|
/**
|
|
4177
4092
|
* Main initialization service of the eoFrameworkCore module. The `load()` function will contain
|
|
@@ -4236,42 +4151,89 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
4236
4151
|
|
|
4237
4152
|
/**
|
|
4238
4153
|
* @ignore
|
|
4239
|
-
*
|
|
4154
|
+
* APP_INITIALIZER function
|
|
4240
4155
|
*/
|
|
4241
|
-
|
|
4242
|
-
|
|
4243
|
-
|
|
4244
|
-
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
|
|
4248
|
-
|
|
4249
|
-
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4156
|
+
function init_module(coreInit) {
|
|
4157
|
+
// Need to set to a const before returning due to:
|
|
4158
|
+
// @see: https://github.com/angular/angular/issues/14485
|
|
4159
|
+
const fnc = () => coreInit.initialize();
|
|
4160
|
+
return fnc;
|
|
4161
|
+
}
|
|
4162
|
+
|
|
4163
|
+
/**
|
|
4164
|
+
* @ignore
|
|
4165
|
+
* Handles missing translations
|
|
4166
|
+
*/
|
|
4167
|
+
class EoxMissingTranslationHandler {
|
|
4168
|
+
/**
|
|
4169
|
+
*
|
|
4170
|
+
* @param MissingTranslationHandlerParams params
|
|
4171
|
+
* @returns string
|
|
4172
|
+
*/
|
|
4173
|
+
handle(params) {
|
|
4174
|
+
return '!missing key: ' + params.key;
|
|
4259
4175
|
}
|
|
4260
|
-
|
|
4261
|
-
|
|
4176
|
+
}
|
|
4177
|
+
|
|
4178
|
+
/**
|
|
4179
|
+
* @ignore
|
|
4180
|
+
* Loader that fetches translations based on the configured locations
|
|
4181
|
+
*/
|
|
4182
|
+
let EoxTranslateJsonLoader = class EoxTranslateJsonLoader {
|
|
4183
|
+
constructor(http, config) {
|
|
4184
|
+
this.http = http;
|
|
4185
|
+
this.config = config;
|
|
4186
|
+
registerLocaleData(localeDe, 'de', localeExtraDe); // German
|
|
4187
|
+
registerLocaleData(localeAr, 'ar', localeExtraAr); // Arabic
|
|
4188
|
+
registerLocaleData(localeEs, 'es', localeExtraEs); // Spanish
|
|
4189
|
+
registerLocaleData(localePt, 'pt', localeExtraPt); // Portuguese
|
|
4190
|
+
registerLocaleData(localeFr, 'fr', localeExtraFr); // French
|
|
4191
|
+
registerLocaleData(localeZh, 'zh', localeExtraZh); // Chinese
|
|
4192
|
+
registerLocaleData(localeLv, 'lv', localeExtraLv); // Latvian
|
|
4193
|
+
registerLocaleData(localeRu, 'ru', localeExtraRu); // Russian
|
|
4194
|
+
registerLocaleData(localeIt, 'it', localeExtraIt); // Italian
|
|
4195
|
+
registerLocaleData(localeNl, 'nl', localeExtraNl); // Dutch
|
|
4196
|
+
registerLocaleData(localeSk, 'sk', localeExtraSk); // Slovak
|
|
4197
|
+
registerLocaleData(localePl, 'pl', localeExtraPl); // Polish
|
|
4198
|
+
registerLocaleData(localeUk, 'uk', localeExtraUk); // Ukrainian
|
|
4199
|
+
registerLocaleData(localeJa, 'ja', localeExtraJa); // Japanese
|
|
4200
|
+
registerLocaleData(localeKo, 'ko', localeExtraKo); // Korean
|
|
4201
|
+
registerLocaleData(localeHi, 'hi', localeExtraHi); // Hindi
|
|
4202
|
+
registerLocaleData(localeBn, 'bn', localeExtraBn); // Bengalese
|
|
4203
|
+
registerLocaleData(localeDeCh, 'de-CH', localeExtraDeCh); // German (switzerland)
|
|
4204
|
+
registerLocaleData(localeZhHant, 'zh-Hant', localeExtraZhHant); // Chinese (traditional)
|
|
4205
|
+
registerLocaleData(localeTh, 'th', localeExtraTh); // Thai
|
|
4206
|
+
registerLocaleData(localeVi, 'vi', localeExtraVi); // Vietnamese
|
|
4207
|
+
registerLocaleData(localeEnGb, 'en-GB', localeExtraEnGb); // English (Great-Britain)
|
|
4208
|
+
registerLocaleData(localeHe, 'he', localeExtraHe); // Hebrew
|
|
4209
|
+
registerLocaleData(localeFi, 'fi', localeExtraFi); // Finish
|
|
4210
|
+
registerLocaleData(localeDa, 'da', localeExtraDa); // Danish
|
|
4211
|
+
registerLocaleData(localeSe, 'se', localeExtraSe); // Swedish
|
|
4212
|
+
registerLocaleData(localeNb, 'nb', localeExtraNb); // Norwegian Bokmål
|
|
4213
|
+
registerLocaleData(localeNn, 'nn', localeExtraNn); // Norwegian Nynorsk
|
|
4214
|
+
registerLocaleData(localeId, 'id', localeExtraId); // Indonesian
|
|
4215
|
+
registerLocaleData(localeMs, 'ms', localeExtraMs); // Malay
|
|
4262
4216
|
}
|
|
4263
|
-
|
|
4264
|
-
|
|
4217
|
+
/**
|
|
4218
|
+
*
|
|
4219
|
+
* @param string lang
|
|
4220
|
+
* @returns Observable<Object>
|
|
4221
|
+
*/
|
|
4222
|
+
getTranslation(lang) {
|
|
4223
|
+
return forkJoin(this.config.translations.map(folder => this.loadTranslationFile(folder, lang))).pipe(map((res) => res.reduce((acc, x) => Object.assign(acc, x), {})));
|
|
4265
4224
|
}
|
|
4266
|
-
|
|
4267
|
-
this.
|
|
4225
|
+
loadTranslationFile(folder, lang) {
|
|
4226
|
+
return this.http.get(`${folder}${lang}.json`).pipe(catchError((e) => {
|
|
4227
|
+
// ISO codes with more than 2 characters are sub-languages like de-CH.
|
|
4228
|
+
// If there is no translation file for that sub-language we'll try to load
|
|
4229
|
+
// the file for the base language (in this case de).
|
|
4230
|
+
return lang.length > 2 ? this.loadTranslationFile(folder, lang.substring(0, 2)) : of({});
|
|
4231
|
+
}));
|
|
4268
4232
|
}
|
|
4269
|
-
}
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
type: Injectable
|
|
4274
|
-
}] });
|
|
4233
|
+
};
|
|
4234
|
+
EoxTranslateJsonLoader = __decorate([
|
|
4235
|
+
__param(1, Inject(CORE_CONFIG))
|
|
4236
|
+
], EoxTranslateJsonLoader);
|
|
4275
4237
|
|
|
4276
4238
|
/**
|
|
4277
4239
|
* `EoSharedModule` re-exports ToastrModule, TranslateModule so you can use directives
|
|
@@ -4317,6 +4279,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
4317
4279
|
type: Injectable
|
|
4318
4280
|
}], ctorParameters: function () { return [{ type: AuthService }]; } });
|
|
4319
4281
|
|
|
4282
|
+
/**
|
|
4283
|
+
* @ignore
|
|
4284
|
+
* logger logging values to the ambient console object.
|
|
4285
|
+
*/
|
|
4286
|
+
class ConsoleLogService {
|
|
4287
|
+
apply(fn, args) {
|
|
4288
|
+
return console && console[fn] && console[fn](...args);
|
|
4289
|
+
}
|
|
4290
|
+
assert(...args) {
|
|
4291
|
+
this.apply('assert', args);
|
|
4292
|
+
}
|
|
4293
|
+
debug(...args) {
|
|
4294
|
+
this.apply('debug', args);
|
|
4295
|
+
}
|
|
4296
|
+
error(...args) {
|
|
4297
|
+
this.apply('error', args);
|
|
4298
|
+
}
|
|
4299
|
+
group(...args) {
|
|
4300
|
+
this.apply('group', args);
|
|
4301
|
+
}
|
|
4302
|
+
groupEnd(...args) {
|
|
4303
|
+
this.apply('groupEnd', args);
|
|
4304
|
+
}
|
|
4305
|
+
info(...args) {
|
|
4306
|
+
this.apply('info', args);
|
|
4307
|
+
}
|
|
4308
|
+
log(...args) {
|
|
4309
|
+
this.apply('log', args);
|
|
4310
|
+
}
|
|
4311
|
+
warn(...args) {
|
|
4312
|
+
this.apply('warn', args);
|
|
4313
|
+
}
|
|
4314
|
+
}
|
|
4315
|
+
ConsoleLogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ConsoleLogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4316
|
+
ConsoleLogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ConsoleLogService });
|
|
4317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ConsoleLogService, decorators: [{
|
|
4318
|
+
type: Injectable
|
|
4319
|
+
}] });
|
|
4320
|
+
|
|
4320
4321
|
/**
|
|
4321
4322
|
* Main module for connecting an app to an yuuvis<sup>®</sup> RAD backend. To use it just import int in your app module:
|
|
4322
4323
|
*
|
|
@@ -4374,7 +4375,7 @@ class EoCoreModule {
|
|
|
4374
4375
|
}
|
|
4375
4376
|
}
|
|
4376
4377
|
EoCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: EoCoreModule, deps: [{ token: EoCoreModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4377
|
-
EoCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: EoCoreModule, imports: [HttpClientModule,
|
|
4378
|
+
EoCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: EoCoreModule, imports: [HttpClientModule, i1.TranslateModule, i1$3.ToastrModule], exports: [EoSharedModule] });
|
|
4378
4379
|
EoCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: EoCoreModule, providers: [
|
|
4379
4380
|
{
|
|
4380
4381
|
/**
|
|
@@ -5048,22 +5049,20 @@ class DmsService {
|
|
|
5048
5049
|
}));
|
|
5049
5050
|
}
|
|
5050
5051
|
/**
|
|
5051
|
-
*
|
|
5052
|
-
*
|
|
5053
|
-
* @param
|
|
5054
|
-
*
|
|
5055
|
-
*
|
|
5056
|
-
* @
|
|
5057
|
-
* @returns Observable<any>
|
|
5052
|
+
* Shares a dms object (and its children) with certain users
|
|
5053
|
+
* @param dmsObject The dms object to be shared
|
|
5054
|
+
* @param shareWith Array of organization objects to share the object with. Each entry
|
|
5055
|
+
* will have the ID of the target organization object as well as an optional param
|
|
5056
|
+
* whether or not to also share the dms objects children.
|
|
5057
|
+
* @returns Observable being resolved once the request is done
|
|
5058
5058
|
*/
|
|
5059
|
-
|
|
5060
|
-
|
|
5061
|
-
|
|
5062
|
-
|
|
5063
|
-
|
|
5064
|
-
|
|
5065
|
-
|
|
5066
|
-
return this.triggerUpdate(dmsObjects[0], this.backend.put(url, data));
|
|
5059
|
+
share(dmsObject, shareWith) {
|
|
5060
|
+
return this.triggerUpdate(dmsObject, this.backend.put(`/dms/${dmsObject.id}/share`, {
|
|
5061
|
+
shares: shareWith.map(i => ({
|
|
5062
|
+
organizationobject: i.id,
|
|
5063
|
+
sharechildren: !!i.shareChildren
|
|
5064
|
+
}))
|
|
5065
|
+
}));
|
|
5067
5066
|
}
|
|
5068
5067
|
/**
|
|
5069
5068
|
* Move a DMS Object
|
|
@@ -5301,14 +5300,14 @@ class NotificationsService {
|
|
|
5301
5300
|
}
|
|
5302
5301
|
}
|
|
5303
5302
|
}
|
|
5304
|
-
NotificationsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NotificationsService, deps: [{ token: i1$
|
|
5303
|
+
NotificationsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NotificationsService, deps: [{ token: i1$3.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5305
5304
|
NotificationsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NotificationsService, providedIn: 'root' });
|
|
5306
5305
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NotificationsService, decorators: [{
|
|
5307
5306
|
type: Injectable,
|
|
5308
5307
|
args: [{
|
|
5309
5308
|
providedIn: 'root'
|
|
5310
5309
|
}]
|
|
5311
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
5310
|
+
}], ctorParameters: function () { return [{ type: i1$3.ToastrService }]; } });
|
|
5312
5311
|
|
|
5313
5312
|
/**
|
|
5314
5313
|
* Collection of Search Services
|
|
@@ -6132,10 +6131,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
6132
6131
|
* Collection of Signing Services
|
|
6133
6132
|
*/
|
|
6134
6133
|
class SigningService {
|
|
6135
|
-
constructor(backend, translate) {
|
|
6134
|
+
constructor(backend, capabilities, translate) {
|
|
6136
6135
|
this.backend = backend;
|
|
6136
|
+
this.capabilities = capabilities;
|
|
6137
6137
|
this.translate = translate;
|
|
6138
6138
|
}
|
|
6139
|
+
canSign() {
|
|
6140
|
+
return this.capabilities.getCapabilities().signing;
|
|
6141
|
+
}
|
|
6139
6142
|
/**
|
|
6140
6143
|
* Sign the document of a DMS Object
|
|
6141
6144
|
* @param id the id of the dms object
|
|
@@ -6144,7 +6147,7 @@ class SigningService {
|
|
|
6144
6147
|
*/
|
|
6145
6148
|
signDocument(id, signingData) {
|
|
6146
6149
|
const uri = `/request/${id}`;
|
|
6147
|
-
return this.backend.post(uri, signingData, '/signing');
|
|
6150
|
+
return this.canSign ? this.backend.post(uri, signingData, '/signing') : of(null);
|
|
6148
6151
|
}
|
|
6149
6152
|
/**
|
|
6150
6153
|
* Cancels the signing process of a DMS Object
|
|
@@ -6231,14 +6234,14 @@ class SigningService {
|
|
|
6231
6234
|
return item.data.yuvsigstatus === 'inprocess';
|
|
6232
6235
|
}
|
|
6233
6236
|
}
|
|
6234
|
-
SigningService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SigningService, deps: [{ token: BackendService }, { token:
|
|
6237
|
+
SigningService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SigningService, deps: [{ token: BackendService }, { token: CapabilitiesService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6235
6238
|
SigningService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SigningService, providedIn: 'root' });
|
|
6236
6239
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SigningService, decorators: [{
|
|
6237
6240
|
type: Injectable,
|
|
6238
6241
|
args: [{
|
|
6239
6242
|
providedIn: 'root'
|
|
6240
6243
|
}]
|
|
6241
|
-
}], ctorParameters: function () { return [{ type: BackendService }, { type:
|
|
6244
|
+
}], ctorParameters: function () { return [{ type: BackendService }, { type: CapabilitiesService }, { type: i1.TranslateService }]; } });
|
|
6242
6245
|
|
|
6243
6246
|
class UploadFileItem {
|
|
6244
6247
|
/**
|