@bizdoc/core 2.1.2 → 2.1.4
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/bizdoc-core.d.ts.map +1 -0
- package/esm2022/lib/admin/architecture/designer.component.mjs +1 -1
- package/esm2022/lib/admin/architecture/elements/action.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/state.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/icon-picker.component.mjs +2 -3
- package/esm2022/lib/admin/core/color-picker.input.mjs +2 -3
- package/esm2022/lib/admin/diff/configuration-diff.component.mjs +42 -38
- package/esm2022/lib/admin/document-trace/document-trace.component.mjs +30 -28
- package/esm2022/lib/admin/document-trace/trace-element.component.mjs +13 -11
- package/esm2022/lib/admin/form/designer/properties.component.mjs +5 -7
- package/esm2022/lib/admin/form/designer/section.component.mjs +5 -7
- package/esm2022/lib/admin/form/designer/settings.component.mjs +5 -7
- package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -2
- package/esm2022/lib/admin/form/workflow/workflow.component.mjs +4 -4
- package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +3 -4
- package/esm2022/lib/admin/patterns/patterns.component.mjs +7 -5
- package/esm2022/lib/admin/permissions/permissions.component.mjs +7 -5
- package/esm2022/lib/admin/positions/positions.component.mjs +57 -54
- package/esm2022/lib/browse/browse-items.component.mjs +57 -43
- package/esm2022/lib/browse/browse.pane.component.mjs +3 -3
- package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +25 -24
- package/esm2022/lib/chat/chat-info.mjs +2 -2
- package/esm2022/lib/chat/contacts.component.mjs +7 -5
- package/esm2022/lib/chat/conversation.component.mjs +27 -22
- package/esm2022/lib/compose/action/action-picker.component.mjs +9 -7
- package/esm2022/lib/compose/action/action.base.mjs +4 -3
- package/esm2022/lib/compose/action/moveto-action.component.mjs +1 -1
- package/esm2022/lib/compose/can-deactivate-changes.service.mjs +2 -2
- package/esm2022/lib/compose/comments/comment.component.mjs +9 -8
- package/esm2022/lib/compose/comments/comments.component.mjs +15 -13
- package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +10 -8
- package/esm2022/lib/compose/compose-resolve.service.mjs +10 -5
- package/esm2022/lib/compose/compose.pane.component.mjs +3 -3
- package/esm2022/lib/compose/copy/copy.dialog.mjs +2 -3
- package/esm2022/lib/compose/document.mobile.component.mjs +3 -2
- package/esm2022/lib/compose/document.pane.component.mjs +3 -2
- package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +10 -6
- package/esm2022/lib/compose/tag/tags.component.mjs +3 -5
- package/esm2022/lib/compose/trace/trace.component.mjs +4 -3
- package/esm2022/lib/core/avatar/avatar.component.mjs +2 -2
- package/esm2022/lib/core/component-factory-resolver.mjs +12 -4
- package/esm2022/lib/core/guide/guide.component.mjs +17 -18
- package/esm2022/lib/core/http.interceptor.mjs +9 -6
- package/esm2022/lib/core/identity/identity.component.mjs +2 -2
- package/esm2022/lib/core/info/location-info.component.mjs +2 -3
- package/esm2022/lib/core/inputs/combination-picker-body.mjs +9 -8
- package/esm2022/lib/core/inputs/combination-picker.mjs +1 -1
- package/esm2022/lib/core/inputs/combination-pool.mjs +6 -6
- package/esm2022/lib/core/inputs/file.input.mjs +28 -28
- package/esm2022/lib/core/mailbox.service.mjs +69 -63
- package/esm2022/lib/core/slots/router.service.mjs +4 -2
- package/esm2022/lib/core/slots/slots.component.mjs +13 -13
- package/esm2022/lib/core/tagging/edit-input.component.mjs +9 -12
- package/esm2022/lib/core/tagging/tagging.directive.mjs +5 -6
- package/esm2022/lib/core/tagging/tagging.pipe.mjs +2 -2
- package/esm2022/lib/core/translate.service.mjs +3 -3
- package/esm2022/lib/cube/accum/accum.component.mjs +10 -8
- package/esm2022/lib/cube/chart/chart.component.mjs +10 -8
- package/esm2022/lib/cube/cube.service.mjs +81 -73
- package/esm2022/lib/cube/explore/explore-items.component.mjs +38 -34
- package/esm2022/lib/cube/explore/item-resolver.service.mjs +13 -15
- package/esm2022/lib/cube/grid/grid.component.mjs +24 -23
- package/esm2022/lib/cube/grid/spreadsheet.component.mjs +25 -20
- package/esm2022/lib/cube/matrix/matrix.base.mjs +6 -6
- package/esm2022/lib/cube/matrix/popup.component.mjs +7 -4
- package/esm2022/lib/cube/matrix/table.component.mjs +24 -20
- package/esm2022/lib/cube/parallel/parallel.component.mjs +12 -10
- package/esm2022/lib/cube/pivot/pivot.component.mjs +1 -1
- package/esm2022/lib/cube/sum/sum.component.mjs +15 -16
- package/esm2022/lib/dashboard/cube/compare.widget.mjs +5 -4
- package/esm2022/lib/dashboard/cube/documents.widget.mjs +10 -8
- package/esm2022/lib/dashboard/recents/recents.widget.mjs +9 -7
- package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -2
- package/esm2022/lib/designer.module.mjs +9 -3
- package/esm2022/lib/desktop.module.mjs +4 -4
- package/esm2022/lib/home/home.desktop.component.mjs +16 -14
- package/esm2022/lib/home/home.mobile.component.mjs +2 -2
- package/esm2022/lib/home/notifications/notifications.component.mjs +2 -2
- package/esm2022/lib/home/tools.component.mjs +2 -2
- package/esm2022/lib/impersonate/impersonate.component.mjs +10 -9
- package/esm2022/lib/mobile.module.mjs +4 -4
- package/esm2022/lib/notifications/notifications-table.component.mjs +2 -2
- package/esm2022/lib/notifications/notifications.component-base.mjs +2 -2
- package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +2 -2
- package/esm2022/lib/notifications/types/liked.notification.mjs +3 -2
- package/esm2022/lib/notifications/types/notification-base.mjs +2 -2
- package/esm2022/lib/options/options.component.mjs +5 -8
- package/esm2022/lib/options/options.service.mjs +7 -5
- package/esm2022/lib/reports/cube/usage.component.mjs +3 -2
- package/esm2022/lib/routes.desktop.mjs +3 -3
- package/esm2022/lib/routes.mobile.mjs +17 -9
- package/esm2022/lib/scheduler/schedule.component.mjs +18 -17
- package/esm2022/lib/search/search.service.mjs +2 -2
- package/esm2022/lib/system.module.mjs +2 -6
- package/esm2022/lib/views/cube/cube-base.mjs +3 -3
- package/esm2022/lib/views/cube/explore.component.mjs +13 -11
- package/esm2022/lib/views/timeline/timeline.component.exp.mjs +20 -8
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/bizdoc-core.mjs +951 -821
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/admin/admin-dismiss.service.d.ts.map +1 -0
- package/lib/admin/admin-menu.component.d.ts.map +1 -0
- package/lib/admin/architecture/cube-axes-filter.component.d.ts.map +1 -0
- package/lib/admin/architecture/declarations.d.ts.map +1 -0
- package/lib/admin/architecture/designer-element.component.d.ts.map +1 -0
- package/lib/admin/architecture/designer-privileges.component.d.ts.map +1 -0
- package/lib/admin/architecture/designer.base.d.ts.map +1 -0
- package/lib/admin/architecture/designer.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/action.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/analysis-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/analysis-widget.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/anomaly-rule.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/attribute.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/box-form.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/configuration-datasource.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/control.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/cube-index-utility.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/cube-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/cube.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/document-state-widget.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/documents-report.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/documents-widget.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/explore-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/folder.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/form-invite.dialog.d.ts.map +1 -0
- package/lib/admin/architecture/elements/form.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/guide.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/matrix-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/node.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/parallel-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/performance-report.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/performance-widget.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/pivot-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/policy.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/report.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/return-to-role-action.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/role.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/rule.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/state.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/sum-view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/tasks-report.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/type.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/usage-report.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/utility.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/view.component.d.ts.map +1 -0
- package/lib/admin/architecture/elements/widget.component.d.ts.map +1 -0
- package/lib/admin/architecture/icon-picker.component.d.ts.map +1 -0
- package/lib/admin/core/ace.input.d.ts.map +1 -0
- package/lib/admin/core/color-picker.input.d.ts.map +1 -0
- package/lib/admin/core/localized-string.component.d.ts.map +1 -0
- package/lib/admin/core/search.input.d.ts.map +1 -0
- package/lib/admin/diff/configuration-diff.component.d.ts.map +1 -0
- package/lib/admin/document-trace/document-trace.component.d.ts.map +1 -0
- package/lib/admin/document-trace/reassign.dialog.d.ts.map +1 -0
- package/lib/admin/document-trace/timeline.d.ts.map +1 -0
- package/lib/admin/document-trace/trace-element.component.d.ts.map +1 -0
- package/lib/admin/form/designer/box-designer.component.d.ts.map +1 -0
- package/lib/admin/form/designer/declarations.d.ts.map +1 -0
- package/lib/admin/form/designer/properties.component.d.ts.map +1 -0
- package/lib/admin/form/designer/section.component.d.ts.map +1 -0
- package/lib/admin/form/designer/settings.component.d.ts.map +1 -0
- package/lib/admin/form/form.resolve.service.d.ts.map +1 -0
- package/lib/admin/form/workflow/node-ref.d.ts.map +1 -0
- package/lib/admin/form/workflow/node.component.d.ts.map +1 -0
- package/lib/admin/form/workflow/role-node.component.d.ts.map +1 -0
- package/lib/admin/form/workflow/workflow.component.d.ts.map +1 -0
- package/lib/admin/indices/manage-cube-index.component.d.ts +1 -1
- package/lib/admin/indices/manage-cube-index.component.d.ts.map +1 -0
- package/lib/admin/patterns/patterns.component.d.ts.map +1 -0
- package/lib/admin/permissions/permissions.component.d.ts.map +1 -0
- package/lib/admin/positions/positions-popup.component.d.ts.map +1 -0
- package/lib/admin/positions/positions.component.d.ts +1 -3
- package/lib/admin/positions/positions.component.d.ts.map +1 -0
- package/lib/admin/profiler/outofoffice.component.d.ts.map +1 -0
- package/lib/admin/profiler/profiler.component.d.ts.map +1 -0
- package/lib/admin/system.service.d.ts.map +1 -0
- package/lib/admin/utility-ref.d.ts.map +1 -0
- package/lib/admin/utility-wrapper.component.d.ts.map +1 -0
- package/lib/admin/utility.pane.component.d.ts.map +1 -0
- package/lib/app.component.d.ts.map +1 -0
- package/lib/bizdoc.module.d.ts.map +1 -0
- package/lib/browse/browse-items.component.d.ts +1 -1
- package/lib/browse/browse-items.component.d.ts.map +1 -0
- package/lib/browse/browse.mobile.component.d.ts.map +1 -0
- package/lib/browse/browse.pane.component.d.ts.map +1 -0
- package/lib/browse/expanded-item/expanded-item.component.d.ts.map +1 -0
- package/lib/browse/filter/filter.component.d.ts.map +1 -0
- package/lib/browse/folders-menu.component.d.ts.map +1 -0
- package/lib/chat/chat-info.d.ts.map +1 -0
- package/lib/chat/chat.mobile.component.d.ts.map +1 -0
- package/lib/chat/chat.service.d.ts.map +1 -0
- package/lib/chat/contacts.component.d.ts.map +1 -0
- package/lib/chat/contacts.pane.component.d.ts.map +1 -0
- package/lib/chat/conversation.component.d.ts.map +1 -0
- package/lib/chat/conversation.pane.component.d.ts.map +1 -0
- package/lib/compose/action/action-picker.component.d.ts.map +1 -0
- package/lib/compose/action/action-ref.d.ts.map +1 -0
- package/lib/compose/action/action.base.d.ts.map +1 -0
- package/lib/compose/action/action.dialog.d.ts.map +1 -0
- package/lib/compose/action/action.pane.dialog.exp.d.ts.map +1 -0
- package/lib/compose/action/assign-action.component.d.ts.map +1 -0
- package/lib/compose/action/moveto-action.component.d.ts.map +1 -0
- package/lib/compose/action/return-action.component.d.ts.map +1 -0
- package/lib/compose/attachments/attachments.component.d.ts.map +1 -0
- package/lib/compose/attachments/preview/attachment-preview.component.d.ts.map +1 -0
- package/lib/compose/attachments/progress-button.directive.d.ts.map +1 -0
- package/lib/compose/box/box.component.d.ts.map +1 -0
- package/lib/compose/box/control.component.d.ts.map +1 -0
- package/lib/compose/box/row.component.d.ts.map +1 -0
- package/lib/compose/can-deactivate-changes.service.d.ts +3 -3
- package/lib/compose/can-deactivate-changes.service.d.ts.map +1 -0
- package/lib/compose/comments/comment.component.d.ts.map +1 -0
- package/lib/compose/comments/comments.component.d.ts.map +1 -0
- package/lib/compose/comments/comments.pane.component.d.ts.map +1 -0
- package/lib/compose/comments/edit-comment.component.d.ts.map +1 -0
- package/lib/compose/comments/edits.component.d.ts.map +1 -0
- package/lib/compose/comments/quick-comment.component.exp.d.ts.map +1 -0
- package/lib/compose/comments/votes.component.d.ts.map +1 -0
- package/lib/compose/compose-resolve.service.d.ts +3 -3
- package/lib/compose/compose-resolve.service.d.ts.map +1 -0
- package/lib/compose/compose.mobile.component.d.ts.map +1 -0
- package/lib/compose/compose.pane.component.d.ts.map +1 -0
- package/lib/compose/copy/copy.dialog.d.ts.map +1 -0
- package/lib/compose/dismiss.service.d.ts.map +1 -0
- package/lib/compose/document-resolver.service.d.ts.map +1 -0
- package/lib/compose/document.component.d.ts.map +1 -0
- package/lib/compose/document.mobile.component.d.ts +1 -1
- package/lib/compose/document.mobile.component.d.ts.map +1 -0
- package/lib/compose/document.pane.component.d.ts +1 -1
- package/lib/compose/document.pane.component.d.ts.map +1 -0
- package/lib/compose/events/events.component.d.ts.map +1 -0
- package/lib/compose/form-ref.d.ts.map +1 -0
- package/lib/compose/form-selector/form-selector.sheet.d.ts.map +1 -0
- package/lib/compose/form.component.d.ts.map +1 -0
- package/lib/compose/new-menu.component.d.ts.map +1 -0
- package/lib/compose/privilage.directive.d.ts.map +1 -0
- package/lib/compose/recipient-resolver.service.d.ts.map +1 -0
- package/lib/compose/state.component.d.ts.map +1 -0
- package/lib/compose/tag/tags.component.d.ts.map +1 -0
- package/lib/compose/trace/flow.component.d.ts.map +1 -0
- package/lib/compose/trace/people.component.d.ts.map +1 -0
- package/lib/compose/trace/trace.base.d.ts.map +1 -0
- package/lib/compose/trace/trace.component.d.ts.map +1 -0
- package/lib/compose/trace/trace.pane.component.d.ts.map +1 -0
- package/lib/compose/version-compare/version-compare.component.d.ts.map +1 -0
- package/lib/compose/version-compare/version-compare.directive.d.ts.map +1 -0
- package/lib/compose/version-compare/version.pane.component.d.ts.map +1 -0
- package/lib/core/NgComponentOutlet.d.ts.map +1 -0
- package/lib/core/account.service.d.ts.map +1 -0
- package/lib/core/animated-icon/animated-icon.directive.d.ts.map +1 -0
- package/lib/core/animations.d.ts.map +1 -0
- package/lib/core/authentication.d.ts.map +1 -0
- package/lib/core/avatar/avatar.component.d.ts.map +1 -0
- package/lib/core/base.d.ts.map +1 -0
- package/lib/core/checkbox.d.ts.map +1 -0
- package/lib/core/colors.d.ts.map +1 -0
- package/lib/core/component-factory-resolver.d.ts.map +1 -0
- package/lib/core/configuration.d.ts.map +1 -0
- package/lib/core/datasource.service.d.ts.map +1 -0
- package/lib/core/decorators.d.ts.map +1 -0
- package/lib/core/fields/address.designer.d.ts.map +1 -0
- package/lib/core/fields/address.field.d.ts.map +1 -0
- package/lib/core/fields/autocomplete.field.d.ts.map +1 -0
- package/lib/core/fields/checkbox.designer.d.ts.map +1 -0
- package/lib/core/fields/checkbox.field.d.ts.map +1 -0
- package/lib/core/fields/checklist.designer.d.ts.map +1 -0
- package/lib/core/fields/checklist.field.d.ts.map +1 -0
- package/lib/core/fields/date-range.designer.d.ts.map +1 -0
- package/lib/core/fields/date-range.field.d.ts.map +1 -0
- package/lib/core/fields/date.designer.d.ts.map +1 -0
- package/lib/core/fields/date.field.d.ts.map +1 -0
- package/lib/core/fields/expression.field.d.ts.map +1 -0
- package/lib/core/fields/file.designer.d.ts.map +1 -0
- package/lib/core/fields/file.field.d.ts.map +1 -0
- package/lib/core/fields/html.designer.d.ts.map +1 -0
- package/lib/core/fields/html.field.d.ts.map +1 -0
- package/lib/core/fields/input.designer.d.ts.map +1 -0
- package/lib/core/fields/input.field.d.ts.map +1 -0
- package/lib/core/fields/localized-string.field.d.ts.map +1 -0
- package/lib/core/fields/numeric.designer.d.ts.map +1 -0
- package/lib/core/fields/numeric.field.d.ts.map +1 -0
- package/lib/core/fields/options.base.d.ts.map +1 -0
- package/lib/core/fields/options.component.d.ts.map +1 -0
- package/lib/core/fields/radio-button.designer.d.ts.map +1 -0
- package/lib/core/fields/radio-button.field.d.ts.map +1 -0
- package/lib/core/fields/select.designer.d.ts.map +1 -0
- package/lib/core/fields/select.field.d.ts.map +1 -0
- package/lib/core/fields/signature.designer.d.ts.map +1 -0
- package/lib/core/fields/signature.field.d.ts.map +1 -0
- package/lib/core/fields/switch.field.d.ts.map +1 -0
- package/lib/core/fields/textarea.designer.d.ts.map +1 -0
- package/lib/core/fields/textarea.field.d.ts.map +1 -0
- package/lib/core/fields/time.designer.d.ts.map +1 -0
- package/lib/core/fields/time.field.d.ts.map +1 -0
- package/lib/core/fields/timespan.field.d.ts.map +1 -0
- package/lib/core/fields/yesno.designer.d.ts.map +1 -0
- package/lib/core/fields/yesno.field.d.ts.map +1 -0
- package/lib/core/firebase.service.d.ts.map +1 -0
- package/lib/core/functions.d.ts.map +1 -0
- package/lib/core/guide/guide.component.d.ts.map +1 -0
- package/lib/core/guide/guide.service.d.ts.map +1 -0
- package/lib/core/guide/help-tip.component.d.ts.map +1 -0
- package/lib/core/http.interceptor.d.ts.map +1 -0
- package/lib/core/hub.service.d.ts.map +1 -0
- package/lib/core/identity/identity.component.d.ts.map +1 -0
- package/lib/core/info/attachment-info.service.d.ts.map +1 -0
- package/lib/core/info/document-info.service.d.ts.map +1 -0
- package/lib/core/info/location-info.component.d.ts.map +1 -0
- package/lib/core/info/map-info.d.ts.map +1 -0
- package/lib/core/inputs/address.input.d.ts.map +1 -0
- package/lib/core/inputs/auto-complete.input.d.ts.map +1 -0
- package/lib/core/inputs/combination-picker-body.d.ts.map +1 -0
- package/lib/core/inputs/combination-picker.d.ts.map +1 -0
- package/lib/core/inputs/combination-pool.d.ts.map +1 -0
- package/lib/core/inputs/file.input.d.ts.map +1 -0
- package/lib/core/inputs/select.input.d.ts.map +1 -0
- package/lib/core/inputs/signature.input.d.ts.map +1 -0
- package/lib/core/inputs/time-picker.d.ts.map +1 -0
- package/lib/core/inputs/timespan.input.d.ts.map +1 -0
- package/lib/core/layout.component.d.ts.map +1 -0
- package/lib/core/lottie-animation.d.ts.map +1 -0
- package/lib/core/mailbox.service.d.ts +2 -2
- package/lib/core/mailbox.service.d.ts.map +1 -0
- package/lib/core/models.d.ts.map +1 -0
- package/lib/core/none.component.d.ts.map +1 -0
- package/lib/core/pipes/action.pipe.d.ts.map +1 -0
- package/lib/core/pipes/calendar.pipe.d.ts.map +1 -0
- package/lib/core/pipes/date-format.pipe.d.ts.map +1 -0
- package/lib/core/pipes/daterange.pipe.d.ts.map +1 -0
- package/lib/core/pipes/difference.pipe.d.ts.map +1 -0
- package/lib/core/pipes/duration-format.pipe.d.ts.map +1 -0
- package/lib/core/pipes/duration.pipe.d.ts.map +1 -0
- package/lib/core/pipes/form.pipe.d.ts.map +1 -0
- package/lib/core/pipes/join.pipe.d.ts.map +1 -0
- package/lib/core/pipes/localized-string.pipe.d.ts.map +1 -0
- package/lib/core/pipes/role.pipe.d.ts.map +1 -0
- package/lib/core/pipes/sanitize-html.pipe.d.ts.map +1 -0
- package/lib/core/pipes/sort.pipe.d.ts.map +1 -0
- package/lib/core/pipes/state.pipe.d.ts.map +1 -0
- package/lib/core/pipes/time-ago.pipe.d.ts.map +1 -0
- package/lib/core/pipes/translate.pipe.d.ts.map +1 -0
- package/lib/core/pipes/type-value.pipe.d.ts.map +1 -0
- package/lib/core/pipes/user-name.pipe.d.ts.map +1 -0
- package/lib/core/popup/popup-ref.d.ts.map +1 -0
- package/lib/core/popup/popup.component.d.ts.map +1 -0
- package/lib/core/popup/popup.service.d.ts.map +1 -0
- package/lib/core/popup/tooltip.directive.d.ts.map +1 -0
- package/lib/core/prompt/ask/ask.dialog.d.ts.map +1 -0
- package/lib/core/prompt/mask/mask.component.d.ts.map +1 -0
- package/lib/core/prompt.service.d.ts.map +1 -0
- package/lib/core/router.d.ts.map +1 -0
- package/lib/core/save-changes.dialog.d.ts.map +1 -0
- package/lib/core/session.service.d.ts.map +1 -0
- package/lib/core/slots/pane-ref.d.ts.map +1 -0
- package/lib/core/slots/router.directive.d.ts.map +1 -0
- package/lib/core/slots/router.service.d.ts.map +1 -0
- package/lib/core/slots/slots.component.d.ts.map +1 -0
- package/lib/core/tagging/documents.component.d.ts.map +1 -0
- package/lib/core/tagging/edit-input.component.d.ts.map +1 -0
- package/lib/core/tagging/emoji.component.d.ts.map +1 -0
- package/lib/core/tagging/tagging-item.directive.d.ts.map +1 -0
- package/lib/core/tagging/tagging.component-base.d.ts.map +1 -0
- package/lib/core/tagging/tagging.directive.d.ts +1 -1
- package/lib/core/tagging/tagging.directive.d.ts.map +1 -0
- package/lib/core/tagging/tagging.pipe.d.ts.map +1 -0
- package/lib/core/tagging/users.component.d.ts.map +1 -0
- package/lib/core/translate.service.d.ts.map +1 -0
- package/lib/core/translations.d.ts.map +1 -0
- package/lib/core/window-title.service.d.ts.map +1 -0
- package/lib/cube/accum/accum.component.d.ts.map +1 -0
- package/lib/cube/chart/chart.component.d.ts.map +1 -0
- package/lib/cube/cube-info.service.d.ts.map +1 -0
- package/lib/cube/cube-menu.component.d.ts.map +1 -0
- package/lib/cube/cube-view.component.d.ts.map +1 -0
- package/lib/cube/cube.service.d.ts.map +1 -0
- package/lib/cube/declarations.d.ts.map +1 -0
- package/lib/cube/explore/document-item.component.d.ts.map +1 -0
- package/lib/cube/explore/explore-item.component.d.ts.map +1 -0
- package/lib/cube/explore/explore-items.component.d.ts.map +1 -0
- package/lib/cube/explore/explore.pane.component.d.ts.map +1 -0
- package/lib/cube/explore/item-resolver.service.d.ts +8 -9
- package/lib/cube/explore/item-resolver.service.d.ts.map +1 -0
- package/lib/cube/explore/item.pane.component.d.ts.map +1 -0
- package/lib/cube/filter/filter-tags.component.exp.d.ts.map +1 -0
- package/lib/cube/filter/filter.component.d.ts.map +1 -0
- package/lib/cube/grid/grid.component.d.ts.map +1 -0
- package/lib/cube/grid/spreadsheet.component.d.ts.map +1 -0
- package/lib/cube/matrix/matrix.base.d.ts.map +1 -0
- package/lib/cube/matrix/matrix.mobile.component.d.ts.map +1 -0
- package/lib/cube/matrix/matrix.pane.component.d.ts.map +1 -0
- package/lib/cube/matrix/popup.component.d.ts.map +1 -0
- package/lib/cube/matrix/table.component.d.ts.map +1 -0
- package/lib/cube/parallel/item.d.ts.map +1 -0
- package/lib/cube/parallel/parallel.component.d.ts.map +1 -0
- package/lib/cube/pivot/pivot.component.d.ts +1 -2
- package/lib/cube/pivot/pivot.component.d.ts.map +1 -0
- package/lib/cube/sum/sum.component.d.ts.map +1 -0
- package/lib/cube/view-base.d.ts.map +1 -0
- package/lib/cube/view.mobile.component.d.ts.map +1 -0
- package/lib/cube/view.pane.component.d.ts.map +1 -0
- package/lib/dashboard/actions/actions.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/accum-cube.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/compare.widget.d.ts +1 -1
- package/lib/dashboard/cube/compare.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/cube-analysis.base.d.ts.map +1 -0
- package/lib/dashboard/cube/cube-analysis.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/cube-chart.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/document-state.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/documents.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/filter/filter.component.d.ts.map +1 -0
- package/lib/dashboard/dashboard.component.d.ts.map +1 -0
- package/lib/dashboard/dashboard.pane.component.d.ts.map +1 -0
- package/lib/dashboard/recents/recents.widget.d.ts.map +1 -0
- package/lib/dashboard/score/activity.widget.d.ts.map +1 -0
- package/lib/dashboard/score/compare-groups.widget.d.ts +1 -1
- package/lib/dashboard/score/compare-groups.widget.d.ts.map +1 -0
- package/lib/dashboard/score/peers-performance.widget.d.ts.map +1 -0
- package/lib/dashboard/score/pending-results.widget.d.ts.map +1 -0
- package/lib/dashboard/score/personal-score.widget.d.ts.map +1 -0
- package/lib/dashboard/widget-item.component.d.ts.map +1 -0
- package/lib/dashboard/widget-ref.d.ts.map +1 -0
- package/lib/designer.module.d.ts +27 -25
- package/lib/designer.module.d.ts.map +1 -0
- package/lib/desktop.module.d.ts.map +1 -0
- package/lib/home/about/about.dialog.d.ts.map +1 -0
- package/lib/home/home-base.component.d.ts.map +1 -0
- package/lib/home/home.desktop.component.d.ts.map +1 -0
- package/lib/home/home.mobile.component.d.ts.map +1 -0
- package/lib/home/notifications/notifications.component.d.ts.map +1 -0
- package/lib/home/options/options.component.d.ts.map +1 -0
- package/lib/home/outofoffice/outofoffice.component.d.ts.map +1 -0
- package/lib/home/sign/sign.component.d.ts.map +1 -0
- package/lib/home/tools.component.d.ts.map +1 -0
- package/lib/impersonate/impersonate.component.d.ts.map +1 -0
- package/lib/mobile.module.d.ts.map +1 -0
- package/lib/modules/chart.module.d.ts.map +1 -0
- package/lib/modules/circular-gauge.module.d.ts.map +1 -0
- package/lib/modules/date.adapter.d.ts.map +1 -0
- package/lib/modules/datepicker.intl.d.ts.map +1 -0
- package/lib/modules/dayjs.module.d.ts.map +1 -0
- package/lib/modules/diagram.module.d.ts.map +1 -0
- package/lib/modules/gantt.module.d.ts.map +1 -0
- package/lib/modules/grid.module.d.ts.map +1 -0
- package/lib/modules/linear-gauge.module.d.ts.map +1 -0
- package/lib/modules/material.module.d.ts.map +1 -0
- package/lib/modules/paginator.intl.d.ts.map +1 -0
- package/lib/modules/pivot.module.d.ts.map +1 -0
- package/lib/modules/schedule.module.d.ts.map +1 -0
- package/lib/modules/spreadsheet.module.d.ts.map +1 -0
- package/lib/modules/stepper.intl.d.ts.map +1 -0
- package/lib/modules/texteditor.module.d.ts.map +1 -0
- package/lib/notifications/filter.component.d.ts.map +1 -0
- package/lib/notifications/notifications-table.component.d.ts.map +1 -0
- package/lib/notifications/notifications.component-base.d.ts.map +1 -0
- package/lib/notifications/notifications.mobile.component.d.ts.map +1 -0
- package/lib/notifications/notifications.pane.component.d.ts.map +1 -0
- package/lib/notifications/notifications.service.d.ts.map +1 -0
- package/lib/notifications/types/commented.notification.d.ts.map +1 -0
- package/lib/notifications/types/cube-anomaly.notification.d.ts.map +1 -0
- package/lib/notifications/types/escalated.notification.d.ts.map +1 -0
- package/lib/notifications/types/invite.notification.d.ts.map +1 -0
- package/lib/notifications/types/liked.notification.d.ts +1 -1
- package/lib/notifications/types/liked.notification.d.ts.map +1 -0
- package/lib/notifications/types/long-running-task.notification.d.ts.map +1 -0
- package/lib/notifications/types/notification-base.d.ts.map +1 -0
- package/lib/notifications/types/nudge.notification.d.ts.map +1 -0
- package/lib/notifications/types/state-changed.notification.d.ts.map +1 -0
- package/lib/notifications/types/tagged.notification.d.ts.map +1 -0
- package/lib/notifications/types/text.notification.d.ts.map +1 -0
- package/lib/notifications/types/upcoming-event.notification.d.ts.map +1 -0
- package/lib/options/options.component.d.ts.map +1 -0
- package/lib/options/options.service.d.ts.map +1 -0
- package/lib/reports/arguments-component.d.ts.map +1 -0
- package/lib/reports/cube/documents.component.d.ts.map +1 -0
- package/lib/reports/cube/grid-documents.component.d.ts.map +1 -0
- package/lib/reports/cube/role-performance.component.d.ts.map +1 -0
- package/lib/reports/cube/table-documents.component.d.ts.map +1 -0
- package/lib/reports/cube/usage-args.component.d.ts.map +1 -0
- package/lib/reports/cube/usage-base.d.ts.map +1 -0
- package/lib/reports/cube/usage-chart.component.d.ts.map +1 -0
- package/lib/reports/cube/usage-pivot.component.d.ts.map +1 -0
- package/lib/reports/cube/usage.component.d.ts +1 -1
- package/lib/reports/cube/usage.component.d.ts.map +1 -0
- package/lib/reports/report-ref.d.ts.map +1 -0
- package/lib/reports/report-viewer.component.d.ts.map +1 -0
- package/lib/reports/report.mobile.component.d.ts.map +1 -0
- package/lib/reports/report.pane.component.d.ts.map +1 -0
- package/lib/reports/reports-menu.component.d.ts.map +1 -0
- package/lib/reports/substitution/substitution.component.d.ts.map +1 -0
- package/lib/reports/table/table-view.component.d.ts.map +1 -0
- package/lib/reports/tasks/tasks.component.d.ts.map +1 -0
- package/lib/routes.desktop.d.ts.map +1 -0
- package/lib/routes.mobile.d.ts.map +1 -0
- package/lib/scheduler/schedule.component.d.ts.map +1 -0
- package/lib/scheduler/scheduler.mobile.component.d.ts.map +1 -0
- package/lib/scheduler/scheduler.pane.component.d.ts.map +1 -0
- package/lib/search/cube.component.d.ts.map +1 -0
- package/lib/search/declarations.d.ts.map +1 -0
- package/lib/search/document.component.d.ts.map +1 -0
- package/lib/search/guide.component.d.ts.map +1 -0
- package/lib/search/path.component.d.ts.map +1 -0
- package/lib/search/search.service.d.ts.map +1 -0
- package/lib/shared.module.d.ts.map +1 -0
- package/lib/system.module.d.ts +21 -23
- package/lib/system.module.d.ts.map +1 -0
- package/lib/views/cube/chart.component.d.ts.map +1 -0
- package/lib/views/cube/cube-base.d.ts.map +1 -0
- package/lib/views/cube/explore.component.d.ts.map +1 -0
- package/lib/views/cube/matrix.component.d.ts.map +1 -0
- package/lib/views/cube/parallel.component.d.ts.map +1 -0
- package/lib/views/cube/pivot.component.d.ts.map +1 -0
- package/lib/views/cube/sum.component.d.ts.map +1 -0
- package/lib/views/cube/view.component.d.ts.map +1 -0
- package/lib/views/document-view-ref.d.ts.map +1 -0
- package/lib/views/timeline/timeline.component.exp.d.ts.map +1 -0
- package/lib/views/view-item.component.d.ts.map +1 -0
- package/lib/views/views.component.d.ts.map +1 -0
- package/lib/views/views.mobile.component.d.ts.map +1 -0
- package/lib/views/views.pane.component.d.ts.map +1 -0
- package/package.json +2 -2
- package/public-api.d.ts +1 -1
- package/public-api.d.ts.map +1 -0
package/fesm2022/bizdoc-core.mjs
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { TemplateRef, Component, Optional, Self, Input, Output, HostBinding, ViewChild, InjectionToken, Injectable, Inject, Injector, ViewContainerRef, Directive, Pipe, EventEmitter, ElementRef, HostListener, NgModule, ViewChildren, Host, SkipSelf, ViewEncapsulation, APP_INITIALIZER, ContentChild } from '@angular/core';
|
2
|
+
import { TemplateRef, Component, Optional, Self, Input, Output, HostBinding, ViewChild, InjectionToken, Injectable, Inject, Injector, ViewContainerRef, Directive, Pipe, EventEmitter, ElementRef, HostListener, NgModule, ViewChildren, inject, Host, SkipSelf, ViewEncapsulation, APP_INITIALIZER, ContentChild } from '@angular/core';
|
3
3
|
import * as i4 from '@angular/material/form-field';
|
4
4
|
import { MatFormFieldControl, MatFormFieldModule, MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
5
|
-
import { Subject, merge, Observable, firstValueFrom, of, fromEvent, forkJoin, takeUntil, shareReplay as shareReplay$1, tap as tap$1, map as map$1, BehaviorSubject, interval, takeWhile, filter as filter$1, debounceTime as debounceTime$1, from, first as first$1, throwError, switchMap as switchMap$1, isObservable, startWith as startWith$1, EMPTY } from 'rxjs';
|
6
|
-
import { filter, map, tap, shareReplay, takeUntil as takeUntil$1, debounceTime, switchMap, startWith, first, take, finalize, catchError } from 'rxjs/operators';
|
7
|
-
import { ESCAPE, RIGHT_ARROW, LEFT_ARROW, ENTER, COMMA, UP_ARROW, DOWN_ARROW, SEMICOLON } from '@angular/cdk/keycodes';
|
5
|
+
import { Subject, merge, Observable, firstValueFrom, of, fromEvent, forkJoin, takeUntil, shareReplay as shareReplay$1, tap as tap$1, map as map$1, BehaviorSubject, interval, takeWhile, catchError, filter as filter$1, debounceTime as debounceTime$1, from, first as first$1, throwError, switchMap as switchMap$1, isObservable, startWith as startWith$1, EMPTY } from 'rxjs';
|
6
|
+
import { filter, map, tap, shareReplay, takeUntil as takeUntil$1, debounceTime, switchMap, startWith, first, take, finalize, catchError as catchError$1 } from 'rxjs/operators';
|
8
7
|
import * as i5$6 from '@angular/cdk/portal';
|
9
8
|
import { TemplatePortal, ComponentPortal, PortalModule } from '@angular/cdk/portal';
|
10
9
|
import * as i1 from '@angular/forms';
|
@@ -62,7 +61,7 @@ import * as i5$1 from '@angular/material/autocomplete';
|
|
62
61
|
import { MatAutocompleteTrigger, MatAutocompleteModule } from '@angular/material/autocomplete';
|
63
62
|
import { trigger, state, style, transition, animate, query, stagger, animateChild, keyframes } from '@angular/animations';
|
64
63
|
import * as i1$4 from '@angular/router';
|
65
|
-
import { NavigationStart as NavigationStart$1, ActivationEnd, RouterModule } from '@angular/router';
|
64
|
+
import { NavigationStart as NavigationStart$1, ActivationEnd, ActivatedRouteSnapshot, RouterModule } from '@angular/router';
|
66
65
|
import * as i2$4 from '@angular/material/dialog';
|
67
66
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
68
67
|
import * as i8 from '@angular/material/snack-bar';
|
@@ -119,6 +118,7 @@ import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
119
118
|
import localizedFormat from 'dayjs/plugin/localizedFormat';
|
120
119
|
import { Platform } from '@angular/cdk/platform';
|
121
120
|
import { SelectionModel } from '@angular/cdk/collections';
|
121
|
+
import { ENTER, COMMA, SEMICOLON } from '@angular/cdk/keycodes';
|
122
122
|
import * as i12 from '@syncfusion/ej2-angular-charts';
|
123
123
|
import { AccumulationChart, ChartModule, AccumulationChartModule, SparklineModule, RangeNavigatorModule, RangeTooltipService, AccumulationDistributionIndicatorService, FunnelSeriesService, StackingStepAreaSeriesService, PieSeriesService, PyramidSeriesService, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService, SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService, StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService, BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService, CrosshairService, CategoryService, DateTimeService, LogarithmicService, LegendService, ZoomService, DataLabelService, SelectionService, ChartAnnotationService, WaterfallSeriesService, RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService, MultiLevelLabelService, ParetoSeriesService, TooltipRenderService, SparklineTooltipService, SplineRangeAreaSeriesService, AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService, RangeNavigator, AreaSeries, LineSeries, DateTime, RangeTooltip, Sparkline, SparklineTooltip, PieSeries, PyramidSeries, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationAnnotation, AccumulationLegend, AccumulationSelection, Chart as Chart$1, Category, Tooltip as Tooltip$1, Legend, Selection as Selection$1, Zoom, Crosshair, DataLabel, BarSeries, BubbleSeries, ColumnSeries, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries, AccumulationChartComponent, ChartComponent } from '@syncfusion/ej2-angular-charts';
|
124
124
|
import { Workbook } from '@syncfusion/ej2-excel-export';
|
@@ -605,7 +605,7 @@ class ColorPicker {
|
|
605
605
|
hasBackdrop: true,
|
606
606
|
backdropClass: 'cdk-overlay-transparent-backdrop'
|
607
607
|
});
|
608
|
-
merge(ref.backdropClick(), ref.keydownEvents().pipe(filter(k => k.
|
608
|
+
merge(ref.backdropClick(), ref.keydownEvents().pipe(filter(k => k.key === 'Escape'))).subscribe(() => this.close());
|
609
609
|
return ref;
|
610
610
|
}
|
611
611
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ColorPicker, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i3.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
|
@@ -2666,7 +2666,7 @@ class TranslateService {
|
|
2666
2666
|
if ('en' === this._session.language)
|
2667
2667
|
return Promise.resolve();
|
2668
2668
|
const observables = files.map(f => this._http.get('/assets/i18n/' + f.replace('{0}', culture)).pipe(tap(loadCldr)));
|
2669
|
-
return forkJoin(observables)
|
2669
|
+
return firstValueFrom(forkJoin(observables));
|
2670
2670
|
}
|
2671
2671
|
get(key, ...args) {
|
2672
2672
|
return this._get(key, this._gender, args);
|
@@ -4678,12 +4678,20 @@ function decoratorOfType(decoratedType, decoratorType) {
|
|
4678
4678
|
}
|
4679
4679
|
class BizDocComponentFactoryResolver {
|
4680
4680
|
constructor() {
|
4681
|
-
//_appRef
|
4682
|
-
//
|
4681
|
+
// _appRef
|
4682
|
+
// .componentTypes.forEach(t => {
|
4683
|
+
// const { selector } = reflectComponentType(t);
|
4684
|
+
//var annotations = Reflect.getMetadata('annotations', this.constructor);
|
4685
|
+
//var componentMetadata = annotations.find(annotation => {
|
4686
|
+
// return (annotation instanceof ComponentMetadata);
|
4687
|
+
//});
|
4688
|
+
//var selector = componentMetadata.selector // my-component
|
4683
4689
|
// const type = t['__bizdoc'] as ComponentType;
|
4684
4690
|
// REGISTRY[type.selector] = t;
|
4685
|
-
//
|
4691
|
+
// console.info(`${t.name} ${selector}`)//REGISTRY[selector] = t;
|
4692
|
+
// });
|
4686
4693
|
//this._factories = Array.from(_componentFactoryResolver['_factories'].keys());
|
4694
|
+
// _appRef.
|
4687
4695
|
}
|
4688
4696
|
component(componentSelector) {
|
4689
4697
|
const comp = REGISTRY[componentSelector];
|
@@ -4930,8 +4938,7 @@ class GuideComponent {
|
|
4930
4938
|
withGrowAfterOpen();
|
4931
4939
|
if (outOfBound(element)) {
|
4932
4940
|
element.scrollIntoView({ behavior: 'smooth' });
|
4933
|
-
await interval(150).pipe(takeWhile(() => outOfBound(element)))
|
4934
|
-
toPromise();
|
4941
|
+
await firstValueFrom(interval(150).pipe(takeWhile(() => outOfBound(element))));
|
4935
4942
|
}
|
4936
4943
|
execute &&
|
4937
4944
|
element.click();
|
@@ -4949,19 +4956,20 @@ class GuideComponent {
|
|
4949
4956
|
this._data.name && localStorage.removeItem(this._data.name + '_guide_step');
|
4950
4957
|
}
|
4951
4958
|
keydown(evt) {
|
4952
|
-
if (
|
4953
|
-
|
4954
|
-
|
4955
|
-
|
4956
|
-
|
4957
|
-
|
4958
|
-
|
4959
|
-
|
4960
|
-
|
4961
|
-
|
4962
|
-
|
4963
|
-
|
4964
|
-
|
4959
|
+
if (this.working)
|
4960
|
+
return;
|
4961
|
+
switch (evt.key) {
|
4962
|
+
case 'ArrowLeft':
|
4963
|
+
this._moveBy(this._session.direction === 'ltr' ? -1 : 1);
|
4964
|
+
break;
|
4965
|
+
case 'ArrowRight':
|
4966
|
+
this._moveBy(this._session.direction === 'ltr' ? 1 : -1);
|
4967
|
+
break;
|
4968
|
+
case 'Escape':
|
4969
|
+
this.close();
|
4970
|
+
evt.stopPropagation();
|
4971
|
+
break;
|
4972
|
+
}
|
4965
4973
|
}
|
4966
4974
|
next() {
|
4967
4975
|
this._moveBy(1);
|
@@ -5391,27 +5399,29 @@ class MailboxService {
|
|
5391
5399
|
// // implementation
|
5392
5400
|
//}
|
5393
5401
|
return new Observable(observe => {
|
5394
|
-
this._http.request(req).subscribe(
|
5395
|
-
|
5396
|
-
|
5397
|
-
|
5398
|
-
|
5399
|
-
|
5400
|
-
|
5401
|
-
|
5402
|
-
else if (event instanceof HttpResponse) {
|
5403
|
-
const res = event;
|
5404
|
-
if (res.status === 200) {
|
5405
|
-
const model = res.body;
|
5406
|
-
observe.next(model);
|
5402
|
+
this._http.request(req).subscribe({
|
5403
|
+
next: event => {
|
5404
|
+
if (event instanceof ProgressEvent) {
|
5405
|
+
// observe.next(new UploadEvent(
|
5406
|
+
// file.name,
|
5407
|
+
// (event as ProgressEvent).loaded,
|
5408
|
+
// (event as ProgressEvent).total
|
5409
|
+
// ));
|
5407
5410
|
}
|
5408
|
-
else
|
5409
|
-
|
5411
|
+
else if (event instanceof HttpResponse) {
|
5412
|
+
const res = event;
|
5413
|
+
if (res.status === 200) {
|
5414
|
+
const model = res.body;
|
5415
|
+
observe.next(model);
|
5416
|
+
}
|
5417
|
+
else
|
5418
|
+
observe.error({ status: res.status, error: res.body });
|
5419
|
+
observe.complete();
|
5420
|
+
}
|
5421
|
+
}, error: e => {
|
5422
|
+
observe.error(e);
|
5410
5423
|
observe.complete();
|
5411
5424
|
}
|
5412
|
-
}, e => {
|
5413
|
-
observe.error(e);
|
5414
|
-
observe.complete();
|
5415
5425
|
});
|
5416
5426
|
return {
|
5417
5427
|
unsubscribe() {
|
@@ -5438,25 +5448,27 @@ class MailboxService {
|
|
5438
5448
|
const req = new HttpRequest('POST', url, fd, {
|
5439
5449
|
reportProgress: true,
|
5440
5450
|
});
|
5441
|
-
this._http.request(req).subscribe(
|
5442
|
-
|
5443
|
-
|
5444
|
-
|
5445
|
-
|
5446
|
-
|
5447
|
-
else if (event instanceof HttpResponse) {
|
5448
|
-
const res = event;
|
5449
|
-
if (res.status === 200) {
|
5450
|
-
const model = res.body;
|
5451
|
-
observe.next(isArray(files) ? model : model[0]);
|
5451
|
+
this._http.request(req).subscribe({
|
5452
|
+
next: event => {
|
5453
|
+
if (event instanceof ProgressEvent) {
|
5454
|
+
// This is an upload progress event. Compute and show the % done:
|
5455
|
+
//const percentDone = Math.round(100 * event.loaded / event.total);
|
5456
|
+
//console.log(`File is ${percentDone}% uploaded.`);
|
5452
5457
|
}
|
5453
|
-
else
|
5454
|
-
|
5458
|
+
else if (event instanceof HttpResponse) {
|
5459
|
+
const res = event;
|
5460
|
+
if (res.status === 200) {
|
5461
|
+
const model = res.body;
|
5462
|
+
observe.next(isArray(files) ? model : model[0]);
|
5463
|
+
}
|
5464
|
+
else
|
5465
|
+
observe.error({ status: res.status, error: res.body });
|
5466
|
+
observe.complete();
|
5467
|
+
}
|
5468
|
+
}, error: e => {
|
5469
|
+
observe.error(e);
|
5455
5470
|
observe.complete();
|
5456
5471
|
}
|
5457
|
-
}, e => {
|
5458
|
-
observe.error(e);
|
5459
|
-
observe.complete();
|
5460
5472
|
});
|
5461
5473
|
return {
|
5462
5474
|
unsubscribe() {
|
@@ -5482,10 +5494,10 @@ class MailboxService {
|
|
5482
5494
|
return this._http.put(`/api/comments/viewed/${id}`, {}, { headers: { 'no-progress': 'true' } }).pipe(tap((e) => this._change$.next({ id, viewed: e.time })));
|
5483
5495
|
}
|
5484
5496
|
typing(id) {
|
5485
|
-
return this._http.put(`/api/comments/typing/${id}`, {}, { headers: { 'no-progress': 'true' } })
|
5497
|
+
return this._http.put(`/api/comments/typing/${id}`, {}, { headers: { 'no-progress': 'true' } });
|
5486
5498
|
}
|
5487
5499
|
editing(id) {
|
5488
|
-
return this._http.put(`/api/mailbox/editing/${id}`, {}, { headers: { 'no-progress': 'true' } })
|
5500
|
+
return this._http.put(`/api/mailbox/editing/${id}`, {}, { headers: { 'no-progress': 'true' } });
|
5489
5501
|
}
|
5490
5502
|
copy(id) {
|
5491
5503
|
return this._http.post(`/api/mailbox/copy/${id}`, {});
|
@@ -5673,32 +5685,34 @@ class UploadEvent {
|
|
5673
5685
|
}
|
5674
5686
|
function reportProgress(attachment) {
|
5675
5687
|
return (source) => new Observable(observe => {
|
5676
|
-
source.subscribe(
|
5677
|
-
|
5678
|
-
|
5679
|
-
|
5680
|
-
|
5681
|
-
|
5682
|
-
|
5683
|
-
|
5684
|
-
|
5685
|
-
|
5686
|
-
|
5687
|
-
|
5688
|
-
|
5689
|
-
|
5690
|
-
|
5691
|
-
|
5692
|
-
|
5693
|
-
|
5694
|
-
|
5695
|
-
|
5696
|
-
|
5697
|
-
|
5698
|
-
|
5699
|
-
|
5700
|
-
|
5701
|
-
|
5688
|
+
source.subscribe({
|
5689
|
+
next: r => {
|
5690
|
+
//TODO progress
|
5691
|
+
//if (event instanceof ProgressEvent) {
|
5692
|
+
// observe.next(new UploadEvent(
|
5693
|
+
// file.name,
|
5694
|
+
// (event as ProgressEvent).loaded,
|
5695
|
+
// (event as ProgressEvent).total
|
5696
|
+
// ));
|
5697
|
+
//} else if (event instanceof HttpResponse) {
|
5698
|
+
// const res = event as HttpResponse<any>;
|
5699
|
+
// if (res.status === 200) {
|
5700
|
+
// const model = res.body as Attachment;
|
5701
|
+
// observe.next(model);
|
5702
|
+
// }
|
5703
|
+
// else
|
5704
|
+
// observe.error({ status: res.status, error: res.body });
|
5705
|
+
// observe.complete();
|
5706
|
+
//if (a instanceof UploadEvent) {
|
5707
|
+
// Object.assign(item, {
|
5708
|
+
// progress: a.loaded / a.total
|
5709
|
+
// });
|
5710
|
+
// return;
|
5711
|
+
//}
|
5712
|
+
observe.next(r);
|
5713
|
+
observe.complete();
|
5714
|
+
}, error: e => observe.error(e)
|
5715
|
+
});
|
5702
5716
|
});
|
5703
5717
|
}
|
5704
5718
|
class PositionError {
|
@@ -5822,8 +5836,9 @@ class ActionBase {
|
|
5822
5836
|
this._accounts.getAll(origin.map(r => r.userId)).subscribe(u => this._sb.toast('SentTo', number, (action.adjective || action.past || action.title).toLowerCase(), this._translate.join(u.map(u => u.name))));
|
5823
5837
|
else
|
5824
5838
|
this._sb.toast('Sent', number, (action.adjective || action.past || action.title).toLowerCase());
|
5825
|
-
}, e => {
|
5839
|
+
}), catchError(e => {
|
5826
5840
|
this._handleError(e, 'SendErr');
|
5841
|
+
throw new Error();
|
5827
5842
|
}));
|
5828
5843
|
}
|
5829
5844
|
_handleError(response, message, ...args) {
|
@@ -6039,12 +6054,14 @@ class ActionPicker extends ActionBase {
|
|
6039
6054
|
this.workingChange.emit(true);
|
6040
6055
|
this.working = true;
|
6041
6056
|
return super._ok(action, params).
|
6042
|
-
subscribe(
|
6043
|
-
|
6044
|
-
|
6045
|
-
|
6046
|
-
|
6047
|
-
|
6057
|
+
subscribe({
|
6058
|
+
next: () => {
|
6059
|
+
this.working = false;
|
6060
|
+
this.workingChange.emit(false);
|
6061
|
+
}, error: e => {
|
6062
|
+
this.working = false;
|
6063
|
+
this.workingChange.emit(false);
|
6064
|
+
}
|
6048
6065
|
});
|
6049
6066
|
}
|
6050
6067
|
});
|
@@ -6712,64 +6729,68 @@ class CubeService {
|
|
6712
6729
|
*/
|
6713
6730
|
_decorate(cube, xAxis, series) {
|
6714
6731
|
return (source) => new Observable(observe => {
|
6715
|
-
source.subscribe(
|
6716
|
-
|
6717
|
-
|
6718
|
-
|
6719
|
-
|
6720
|
-
|
6721
|
-
|
6722
|
-
|
6723
|
-
|
6724
|
-
|
6725
|
-
|
6726
|
-
|
6727
|
-
|
6728
|
-
|
6729
|
-
|
6730
|
-
|
6731
|
-
|
6732
|
-
|
6733
|
-
|
6734
|
-
|
6735
|
-
|
6736
|
-
|
6737
|
-
|
6738
|
-
|
6739
|
-
|
6732
|
+
source.subscribe({
|
6733
|
+
next: r => {
|
6734
|
+
const observables = [];
|
6735
|
+
const options = this._session.profile.cubes.find(c => c.name === cube);
|
6736
|
+
const axisTypeMap = {};
|
6737
|
+
options.axes.forEach(x => axisTypeMap[x.name] = x.dataType);
|
6738
|
+
if (!r.length) {
|
6739
|
+
observe.next(r);
|
6740
|
+
observe.complete();
|
6741
|
+
return;
|
6742
|
+
}
|
6743
|
+
const base = r[0].points;
|
6744
|
+
r.forEach((s, i) => {
|
6745
|
+
s.points.forEach(p => {
|
6746
|
+
if (!p.x)
|
6747
|
+
return;
|
6748
|
+
const pobservable = forkJoin(p.x.split(AXES_CODE_DIVIDER).map((k, j) => this._type.get(axisTypeMap[xAxis[j]], k))).
|
6749
|
+
pipe(tap(o => p.name = o.join(AXES_LABEL_DIVIDER)));
|
6750
|
+
observables.push(pobservable);
|
6751
|
+
if (i > 0) {
|
6752
|
+
let j = 0, missing = true;
|
6753
|
+
while (j < base.length) {
|
6754
|
+
let x = base[j].x;
|
6755
|
+
if (p.x === x) {
|
6756
|
+
missing = false;
|
6757
|
+
break;
|
6758
|
+
}
|
6759
|
+
if (p.x < x)
|
6760
|
+
break;
|
6761
|
+
j++;
|
6762
|
+
}
|
6763
|
+
if (missing) {
|
6764
|
+
const clone = { x: p.x, y: 0 };
|
6765
|
+
base.splice(j, 0, clone);
|
6766
|
+
const cobservable = forkJoin(p.x.split(AXES_CODE_DIVIDER).map((k, j) => this._type.get(axisTypeMap[xAxis[j]], k))).
|
6767
|
+
pipe(tap(o => clone.name = o.join(AXES_LABEL_DIVIDER)));
|
6768
|
+
observables.push(cobservable);
|
6740
6769
|
}
|
6741
|
-
if (p.x < x)
|
6742
|
-
break;
|
6743
|
-
j++;
|
6744
|
-
}
|
6745
|
-
if (missing) {
|
6746
|
-
const clone = { x: p.x, y: 0 };
|
6747
|
-
base.splice(j, 0, clone);
|
6748
|
-
const cobservable = forkJoin(p.x.split(AXES_CODE_DIVIDER).map((k, j) => this._type.get(axisTypeMap[xAxis[j]], k))).
|
6749
|
-
pipe(tap(o => clone.name = o.join(AXES_LABEL_DIVIDER)));
|
6750
|
-
observables.push(cobservable);
|
6751
6770
|
}
|
6771
|
+
});
|
6772
|
+
if (s.index) {
|
6773
|
+
const index = options.indices.find(i => i.name === s.index);
|
6774
|
+
s.title = index.title;
|
6775
|
+
}
|
6776
|
+
else if (s.name) {
|
6777
|
+
const sobservable = forkJoin(s.name.split(AXES_CODE_DIVIDER).map((k, i) => this._type.get(axisTypeMap[series[i]], k))).pipe(tap(v => s.title = v.join(AXES_LABEL_DIVIDER)));
|
6778
|
+
observables.push(sobservable);
|
6752
6779
|
}
|
6753
6780
|
});
|
6754
|
-
if (
|
6755
|
-
|
6756
|
-
|
6757
|
-
|
6758
|
-
|
6759
|
-
|
6760
|
-
|
6761
|
-
|
6762
|
-
});
|
6763
|
-
if (observables.length)
|
6764
|
-
forkJoin(observables).subscribe(() => {
|
6781
|
+
if (observables.length)
|
6782
|
+
forkJoin(observables).subscribe({
|
6783
|
+
next: () => {
|
6784
|
+
observe.next(r);
|
6785
|
+
observe.complete();
|
6786
|
+
}, error: e => observe.error(e)
|
6787
|
+
});
|
6788
|
+
else {
|
6765
6789
|
observe.next(r);
|
6766
6790
|
observe.complete();
|
6767
|
-
}
|
6768
|
-
|
6769
|
-
|
6770
|
-
observe.complete();
|
6771
|
-
}
|
6772
|
-
}, e => observe.error(e));
|
6791
|
+
}
|
6792
|
+
}, error: e => observe.error(e)
|
6793
|
+
});
|
6773
6794
|
});
|
6774
6795
|
}
|
6775
6796
|
/**
|
@@ -6779,27 +6800,31 @@ class CubeService {
|
|
6779
6800
|
_decorateTable(cube, columns) {
|
6780
6801
|
const ccube = this._session.profile.cubes.find(c => c.name === cube), axes = ccube.axes.filter(a => !columns || columns.indexOf(a.name) > -1);
|
6781
6802
|
return (source) => new Observable(observe => {
|
6782
|
-
source.subscribe(
|
6783
|
-
|
6784
|
-
|
6785
|
-
|
6786
|
-
|
6787
|
-
|
6788
|
-
|
6789
|
-
|
6790
|
-
|
6791
|
-
|
6792
|
-
|
6793
|
-
|
6794
|
-
|
6795
|
-
|
6803
|
+
source.subscribe({
|
6804
|
+
next: r => {
|
6805
|
+
const observables = [];
|
6806
|
+
r.forEach(row => axes.forEach(a => {
|
6807
|
+
const { name, dataType } = a, value = row[name];
|
6808
|
+
if (value !== undefined) {
|
6809
|
+
// keep key
|
6810
|
+
row['_' + name] = value;
|
6811
|
+
const observable = this._type.get(dataType, value).pipe(tap(v => row[name] = v || value));
|
6812
|
+
observables.push(observable);
|
6813
|
+
}
|
6814
|
+
}));
|
6815
|
+
if (observables.length)
|
6816
|
+
forkJoin(observables).subscribe({
|
6817
|
+
next: () => {
|
6818
|
+
observe.next(r);
|
6819
|
+
observe.complete();
|
6820
|
+
}, error: e => observe.error(e)
|
6821
|
+
});
|
6822
|
+
else {
|
6823
|
+
observe.next([]);
|
6796
6824
|
observe.complete();
|
6797
|
-
}
|
6798
|
-
|
6799
|
-
|
6800
|
-
observe.complete();
|
6801
|
-
}
|
6802
|
-
}, e => observe.error(e));
|
6825
|
+
}
|
6826
|
+
}, error: e => observe.error(e)
|
6827
|
+
});
|
6803
6828
|
});
|
6804
6829
|
}
|
6805
6830
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeService, deps: [{ token: BIZDOC_CONFIG }, { token: i1$3.HttpClient }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
@@ -7125,7 +7150,9 @@ class PanesRouter {
|
|
7125
7150
|
}
|
7126
7151
|
navigate(commands, options) {
|
7127
7152
|
return new Promise((resolve, reject) => {
|
7128
|
-
this._events$.pipe(filter(e => e instanceof NavigationStart), first()).subscribe(
|
7153
|
+
this._events$.pipe(filter(e => e instanceof NavigationStart), first()).subscribe({
|
7154
|
+
next: (e) => resolve(e.pane), error: reject
|
7155
|
+
});
|
7129
7156
|
this._navigate$.next(isArray(commands) ? { commands: commands, ...options } : { component: commands, ...options });
|
7130
7157
|
});
|
7131
7158
|
}
|
@@ -7254,7 +7281,7 @@ class ChatInfo {
|
|
7254
7281
|
format(person) {
|
7255
7282
|
if (this._config && isString(this._config.app)) {
|
7256
7283
|
const { app } = this._config;
|
7257
|
-
return `<a href="${app.formatArgs(person.id)}">${name}</a>`;
|
7284
|
+
return `<a href="${app.formatArgs(person.id)}">${person.name} </a>`;
|
7258
7285
|
}
|
7259
7286
|
else if (this._config !== false)
|
7260
7287
|
return `<a data-info="${person.id}">${person.name}</a>`;
|
@@ -7335,7 +7362,7 @@ class IdentityName {
|
|
7335
7362
|
* @param e
|
7336
7363
|
*/
|
7337
7364
|
chat(e) {
|
7338
|
-
const userId = e.
|
7365
|
+
const userId = e.target.getAttribute('data-info');
|
7339
7366
|
userId &&
|
7340
7367
|
this._chat.open(userId, { mode: this.chating });
|
7341
7368
|
}
|
@@ -7970,7 +7997,7 @@ class ExpandedItemComponent {
|
|
7970
7997
|
target = await this._target(id);
|
7971
7998
|
}
|
7972
7999
|
if (substituteId) {
|
7973
|
-
const substituting = await this._accounts.get(substituteId)
|
8000
|
+
const substituting = await firstValueFrom(this._accounts.get(substituteId));
|
7974
8001
|
if (replied) {
|
7975
8002
|
const time = this._fromNow(replied), action = this._session.profile.actions.find(a => a.name === action), adjective = (action.adjective || action.title).toLowerCase();
|
7976
8003
|
if (target)
|
@@ -8025,12 +8052,12 @@ class ExpandedItemComponent {
|
|
8025
8052
|
if ((origin.byId || origin.userId) === this._session.userId)
|
8026
8053
|
this.note = this._translate.get('ActionByYou', adjective);
|
8027
8054
|
else if (origin.byId) {
|
8028
|
-
const who = await this._accounts.get(origin.userId)
|
8029
|
-
const by = await this._accounts.get(origin.byId)
|
8055
|
+
const who = await firstValueFrom(this._accounts.get(origin.userId));
|
8056
|
+
const by = await firstValueFrom(this._accounts.get(origin.byId));
|
8030
8057
|
this.note = this._translate.get('ActionByBy', adjective, by.name, who.name);
|
8031
8058
|
}
|
8032
8059
|
else {
|
8033
|
-
const who = await this._accounts.get(origin.userId)
|
8060
|
+
const who = await firstValueFrom(this._accounts.get(origin.userId));
|
8034
8061
|
this.note = this._translate.get('ActionBy', adjective, who.name);
|
8035
8062
|
}
|
8036
8063
|
}
|
@@ -8040,7 +8067,7 @@ class ExpandedItemComponent {
|
|
8040
8067
|
if (ownerById === this._session.profile.byId)
|
8041
8068
|
this.note = this._translate.personalize('YouSubmittedNoteBy', this._session.profile.byGender, this._session.profile.name, time);
|
8042
8069
|
else {
|
8043
|
-
const by = await this._accounts.get(ownerById)
|
8070
|
+
const by = await firstValueFrom(this._accounts.get(ownerById));
|
8044
8071
|
if (this._session.isImpersonating)
|
8045
8072
|
this.note = this._translate.personalize('SubmittedNoteBy', by.gender, this._formatUserElement(by), this._session.profile.name, time);
|
8046
8073
|
else
|
@@ -8058,8 +8085,7 @@ class ExpandedItemComponent {
|
|
8058
8085
|
async _target(id) {
|
8059
8086
|
const origin = this.model.recipients.filter(r => r.originId === id);
|
8060
8087
|
if (origin.length) {
|
8061
|
-
const users = await this._accounts.getAll(origin.map(r => r.userId))
|
8062
|
-
toPromise();
|
8088
|
+
const users = await firstValueFrom(this._accounts.getAll(origin.map(r => r.userId)));
|
8063
8089
|
return this._translate.join(users.map(u => this._formatUserElement(u)));
|
8064
8090
|
}
|
8065
8091
|
}
|
@@ -8092,7 +8118,7 @@ class ExpandedItemComponent {
|
|
8092
8118
|
const { senderId } = this.model;
|
8093
8119
|
// sender
|
8094
8120
|
if (senderId && (senderId !== this._session.userId)) {
|
8095
|
-
const who = await this._accounts.get(senderId)
|
8121
|
+
const who = await firstValueFrom(this._accounts.get(senderId));
|
8096
8122
|
this.sender = this._formatUserElement(who);
|
8097
8123
|
}
|
8098
8124
|
this._comments();
|
@@ -8112,7 +8138,7 @@ class ExpandedItemComponent {
|
|
8112
8138
|
recipients = recipients.filter((r, i) => recipients.indexOf(r) === i); /* unique */
|
8113
8139
|
if (recipients.length > 0) {
|
8114
8140
|
if (recipients.indexOf(this._session.userId) < 0 || recipients.length > 1) {
|
8115
|
-
const users = await this._accounts.getAll(recipients.filter(r => r !== this._session.userId))
|
8141
|
+
const users = await firstValueFrom(this._accounts.getAll(recipients.filter(r => r !== this._session.userId)));
|
8116
8142
|
const names = users.map(p => this._formatUserElement(p));
|
8117
8143
|
recipients.indexOf(this._session.userId) > -1 &&
|
8118
8144
|
names.push(this._translate.get('Yourself'));
|
@@ -8125,7 +8151,7 @@ class ExpandedItemComponent {
|
|
8125
8151
|
* @param e
|
8126
8152
|
*/
|
8127
8153
|
chat(e) {
|
8128
|
-
const userId = e.
|
8154
|
+
const userId = e.target.getAttribute('data-info');
|
8129
8155
|
userId &&
|
8130
8156
|
this._chat.open(userId);
|
8131
8157
|
}
|
@@ -8148,18 +8174,20 @@ class ExpandedItemComponent {
|
|
8148
8174
|
}).afterClosed().subscribe(args => {
|
8149
8175
|
if (args) {
|
8150
8176
|
this.mode = 'working';
|
8151
|
-
this._mailbox.send(id, version, formId, null, action, args).subscribe(
|
8152
|
-
|
8153
|
-
|
8154
|
-
|
8155
|
-
|
8156
|
-
|
8157
|
-
|
8158
|
-
|
8159
|
-
|
8160
|
-
|
8161
|
-
|
8162
|
-
|
8177
|
+
this._mailbox.send(id, version, formId, null, action, args).subscribe({
|
8178
|
+
next: async (r) => {
|
8179
|
+
const caction = this._session.profile.actions.find(a => a.name === action), adjective = caction.adjective || caction.title;
|
8180
|
+
const target = await this._target(id);
|
8181
|
+
if (target)
|
8182
|
+
this._sb.toast('SentTo', number, adjective.toLowerCase(), target);
|
8183
|
+
else
|
8184
|
+
this._sb.toast('Sent', number, adjective.toLowerCase());
|
8185
|
+
this.sent.emit(this.model);
|
8186
|
+
this.mode = 'done';
|
8187
|
+
}, error: e => {
|
8188
|
+
this._handleResponse(e, this.model, 'SendErr');
|
8189
|
+
this.mode = 'failed';
|
8190
|
+
}
|
8163
8191
|
});
|
8164
8192
|
}
|
8165
8193
|
});
|
@@ -8354,27 +8382,33 @@ class BrowseItemsComponent {
|
|
8354
8382
|
});
|
8355
8383
|
});
|
8356
8384
|
}
|
8357
|
-
open(item,
|
8358
|
-
this._retrieve(item).subscribe(
|
8385
|
+
open(item, _) {
|
8386
|
+
this._retrieve(item).subscribe({
|
8387
|
+
next: () => this.onopen.next(item), error: () => this._sb.error()
|
8388
|
+
});
|
8359
8389
|
}
|
8360
8390
|
view(item, evt) {
|
8361
8391
|
evt.stopPropagation();
|
8362
|
-
this._retrieve(item).subscribe(
|
8392
|
+
this._retrieve(item).subscribe({
|
8393
|
+
next: () => this.onview.next(item), error: () => this._sb.error()
|
8394
|
+
});
|
8363
8395
|
}
|
8364
8396
|
refresh() {
|
8365
8397
|
this._pendingItems = {};
|
8366
8398
|
this._loading$.next(true);
|
8367
8399
|
return this._mailbox.findAll({ ...this.filters, folderId: this.folderId, type: this.filterType }, { take: TAKE }).
|
8368
8400
|
pipe(finalize(() => this._loading$.next(false))).
|
8369
|
-
subscribe(
|
8370
|
-
|
8371
|
-
|
8372
|
-
|
8373
|
-
|
8374
|
-
|
8375
|
-
|
8376
|
-
|
8377
|
-
|
8401
|
+
subscribe({
|
8402
|
+
next: r => {
|
8403
|
+
this.selection.clear();
|
8404
|
+
this.dataSource = new MatTableDataSource(r);
|
8405
|
+
this.sort.active = this.sorting;
|
8406
|
+
this.sort.start = this.direction;
|
8407
|
+
this.dataSource.sort = this.sort;
|
8408
|
+
this.dataSource.paginator = this.paginator;
|
8409
|
+
this.paginator.pageIndex > 0 && this.paginator.firstPage();
|
8410
|
+
}, error: () => this._sb.error()
|
8411
|
+
});
|
8378
8412
|
}
|
8379
8413
|
_group(data) {
|
8380
8414
|
const groups = {};
|
@@ -8407,10 +8441,12 @@ class BrowseItemsComponent {
|
|
8407
8441
|
flag(item, evt) {
|
8408
8442
|
const extra = item;
|
8409
8443
|
extra.working = true;
|
8410
|
-
this._mailbox.flag(item.id, !item.flag).subscribe(
|
8411
|
-
|
8412
|
-
|
8413
|
-
|
8444
|
+
this._mailbox.flag(item.id, !item.flag).subscribe({
|
8445
|
+
next: () => {
|
8446
|
+
item.flag = !item.flag;
|
8447
|
+
extra.working = false;
|
8448
|
+
}, error: () => extra.working = false
|
8449
|
+
});
|
8414
8450
|
evt.stopPropagation();
|
8415
8451
|
}
|
8416
8452
|
get sorting() {
|
@@ -8439,10 +8475,12 @@ class BrowseItemsComponent {
|
|
8439
8475
|
}
|
8440
8476
|
toggleExpanded(item, event) {
|
8441
8477
|
if (this.expandedElement != item) {
|
8442
|
-
this._retrieve(item).subscribe(
|
8443
|
-
|
8444
|
-
|
8445
|
-
|
8478
|
+
this._retrieve(item).subscribe({
|
8479
|
+
next: () => {
|
8480
|
+
//playAudio('navigation_hover-tap');
|
8481
|
+
this.expandedElement = item;
|
8482
|
+
}, error: () => this._sb.error()
|
8483
|
+
});
|
8446
8484
|
}
|
8447
8485
|
else
|
8448
8486
|
this.expandedElement = null;
|
@@ -8468,33 +8506,37 @@ class BrowseItemsComponent {
|
|
8468
8506
|
_sharedActions() {
|
8469
8507
|
if (this.selection.hasValue() && !this.isAllDraft()) {
|
8470
8508
|
this.sharedActions = [];
|
8471
|
-
forkJoin(this.selection.selected.map(i => this._retrieve(i))).subscribe(
|
8472
|
-
|
8473
|
-
|
8474
|
-
const actions = m[0].actions.slice();
|
8475
|
-
for (let i = 1; i < m.length; i++) {
|
8476
|
-
let item = m[i];
|
8477
|
-
if (!item.actions)
|
8509
|
+
forkJoin(this.selection.selected.map(i => this._retrieve(i))).subscribe({
|
8510
|
+
next: (m) => {
|
8511
|
+
if (!m[0].actions)
|
8478
8512
|
return;
|
8479
|
-
|
8480
|
-
|
8481
|
-
|
8513
|
+
const actions = m[0].actions.slice();
|
8514
|
+
for (let i = 1; i < m.length; i++) {
|
8515
|
+
let item = m[i];
|
8516
|
+
if (!item.actions)
|
8517
|
+
return;
|
8518
|
+
for (let j = 0; j < actions.length; j++) {
|
8519
|
+
if (item.actions.indexOf(actions[j]) < 0)
|
8520
|
+
actions.splice(j, 1);
|
8521
|
+
}
|
8482
8522
|
}
|
8523
|
+
this.sharedActions = this._session.profile.actions.filter(a => actions.indexOf(a.name) > -1 && (this.selection.selected.length === 1 || a.multiple !== false));
|
8483
8524
|
}
|
8484
|
-
|
8485
|
-
}, undefined);
|
8525
|
+
});
|
8486
8526
|
}
|
8487
8527
|
else
|
8488
8528
|
this.sharedActions = [];
|
8489
8529
|
}
|
8490
8530
|
copy(item) {
|
8491
|
-
this._mailbox.copy(item.documentId).subscribe(
|
8492
|
-
|
8493
|
-
|
8494
|
-
|
8495
|
-
|
8496
|
-
|
8497
|
-
|
8531
|
+
this._mailbox.copy(item.documentId).subscribe({
|
8532
|
+
next: i => {
|
8533
|
+
this._sb.toast('Copied', i.number || formTitle(item.formId));
|
8534
|
+
this._router.navigate(['mailbox/i', i.id.encodeId()], {
|
8535
|
+
state: { item: i },
|
8536
|
+
policy: OpenPolicy.Clear
|
8537
|
+
});
|
8538
|
+
}, error: () => this._sb.error()
|
8539
|
+
});
|
8498
8540
|
function formTitle(name) {
|
8499
8541
|
const form = this._session.profile.forms.find(f => f.name === name);
|
8500
8542
|
return form.title;
|
@@ -8509,8 +8551,7 @@ class BrowseItemsComponent {
|
|
8509
8551
|
const items = this.selection.selected.slice();
|
8510
8552
|
const errors = new Subject();
|
8511
8553
|
errors.pipe().subscribe(m => this._sb.errorString(m));
|
8512
|
-
const promises = items.map(m => fn(m).pipe(
|
8513
|
-
}, (e) => {
|
8554
|
+
const promises = items.map(m => fn(m).pipe(catchError((e) => {
|
8514
8555
|
let message;
|
8515
8556
|
switch (e.status) {
|
8516
8557
|
case 404:
|
@@ -8527,6 +8568,7 @@ class BrowseItemsComponent {
|
|
8527
8568
|
message = this._translate.get(error);
|
8528
8569
|
}
|
8529
8570
|
errors.next(message);
|
8571
|
+
throw new Error();
|
8530
8572
|
}), finalize(() => m.working = false)));
|
8531
8573
|
return forkJoin(promises).pipe(tap(() => {
|
8532
8574
|
errors.unsubscribe();
|
@@ -8730,7 +8772,7 @@ class TagsComponent {
|
|
8730
8772
|
}
|
8731
8773
|
add(event) {
|
8732
8774
|
if (!this.auto.isOpen) {
|
8733
|
-
const {
|
8775
|
+
const { chipInput, value } = event;
|
8734
8776
|
if ((value || '').trim()) {
|
8735
8777
|
const tag = value.trim();
|
8736
8778
|
this.data.tags.push(tag);
|
@@ -8738,9 +8780,7 @@ class TagsComponent {
|
|
8738
8780
|
this._options.push(tag);
|
8739
8781
|
this._save();
|
8740
8782
|
}
|
8741
|
-
|
8742
|
-
input.value = '';
|
8743
|
-
}
|
8783
|
+
chipInput?.clear();
|
8744
8784
|
this.control.setValue(null);
|
8745
8785
|
}
|
8746
8786
|
}
|
@@ -8842,7 +8882,7 @@ class AvatarComponent {
|
|
8842
8882
|
}
|
8843
8883
|
_initials(name) {
|
8844
8884
|
this.initials = name.split(REGEX).map(p => p.charAt(0).toUpperCase()).
|
8845
|
-
join('').
|
8885
|
+
join('').substring(0, 3);
|
8846
8886
|
let c = this.initials.charCodeAt(0);
|
8847
8887
|
if (this.initials.length > 1)
|
8848
8888
|
c += this.initials.charCodeAt(1) * 18;
|
@@ -9063,7 +9103,7 @@ class ComposeFormComponent {
|
|
9063
9103
|
this.model.attachments.push(model);
|
9064
9104
|
this.working = false;
|
9065
9105
|
this.workingChange.emit(false);
|
9066
|
-
}), catchError(e => {
|
9106
|
+
}), catchError$1(e => {
|
9067
9107
|
this._handleError(e, 'UploadFailed', f.name);
|
9068
9108
|
this.working = false;
|
9069
9109
|
this.workingChange.emit(false);
|
@@ -9464,8 +9504,8 @@ class ComposePaneComponent {
|
|
9464
9504
|
* @param event
|
9465
9505
|
*/
|
9466
9506
|
handleKeydown(event) {
|
9467
|
-
if (event.ctrlKey && (event.
|
9468
|
-
|
9507
|
+
if (event.ctrlKey && (event.key === 's' || event.key === 'S')) {
|
9508
|
+
this.dirty && !this.working &&
|
9469
9509
|
this.save();
|
9470
9510
|
event.preventDefault();
|
9471
9511
|
}
|
@@ -9564,7 +9604,7 @@ class BrowsePaneComponent {
|
|
9564
9604
|
get folder() { return this._session.profile.folders.find(f => f.name === this.folderId); }
|
9565
9605
|
openFilter(evt) {
|
9566
9606
|
//this.filterElement.nativeElement.scrollIntoView({ behavior: 'smooth' });
|
9567
|
-
this._popup.open(BrowseFilterComponent, evt.
|
9607
|
+
this._popup.open(BrowseFilterComponent, evt.target, { position: 'end' }).
|
9568
9608
|
opened().subscribe(e => {
|
9569
9609
|
e.folderId = this.folderId;
|
9570
9610
|
e.values = this.filters;
|
@@ -9577,7 +9617,7 @@ class BrowsePaneComponent {
|
|
9577
9617
|
* @param event
|
9578
9618
|
*/
|
9579
9619
|
handleKeydown(event) {
|
9580
|
-
if (event.ctrlKey && (event.
|
9620
|
+
if (event.ctrlKey && (event.key === 'f' || event.key === 'F')) {
|
9581
9621
|
this.search.nativeElement.focus();
|
9582
9622
|
event.preventDefault();
|
9583
9623
|
}
|
@@ -9753,13 +9793,15 @@ class CubeAccumulationChartComponent {
|
|
9753
9793
|
this._service.series(this.cube, this._xAxis, {
|
9754
9794
|
filters: this.filters,
|
9755
9795
|
scope: this.scope
|
9756
|
-
}).subscribe(
|
9757
|
-
|
9758
|
-
|
9759
|
-
|
9760
|
-
|
9761
|
-
|
9762
|
-
|
9796
|
+
}).subscribe({
|
9797
|
+
next: r => {
|
9798
|
+
this.dataSource = r[0].points;
|
9799
|
+
this._draw();
|
9800
|
+
this.loadingChange.emit(false);
|
9801
|
+
}, error: (e) => {
|
9802
|
+
this._sb.error(errResource(e));
|
9803
|
+
this.loadingChange.emit(false);
|
9804
|
+
}
|
9763
9805
|
});
|
9764
9806
|
}
|
9765
9807
|
_draw() {
|
@@ -10021,13 +10063,15 @@ class CubeChartComponent {
|
|
10021
10063
|
indices: this.indices, series: this.series,
|
10022
10064
|
filters: this.filters,
|
10023
10065
|
scope: this.scope
|
10024
|
-
}).subscribe(
|
10025
|
-
|
10026
|
-
|
10027
|
-
|
10028
|
-
|
10029
|
-
|
10030
|
-
|
10066
|
+
}).subscribe({
|
10067
|
+
next: r => {
|
10068
|
+
this._data = r;
|
10069
|
+
this._draw();
|
10070
|
+
this.loadingChange.emit(false);
|
10071
|
+
}, error: (e) => {
|
10072
|
+
this._sb.error(errResource(e));
|
10073
|
+
this.loadingChange.emit(false);
|
10074
|
+
}
|
10031
10075
|
});
|
10032
10076
|
}
|
10033
10077
|
/** */
|
@@ -10287,8 +10331,7 @@ class CubeGridComponent {
|
|
10287
10331
|
pipe(tap(r => this._rows = r));
|
10288
10332
|
promises.push(observe);
|
10289
10333
|
// prepare
|
10290
|
-
this._prepare =
|
10291
|
-
forkJoin(promises).toPromise();
|
10334
|
+
this._prepare = firstValueFrom(forkJoin(promises));
|
10292
10335
|
this.execute();
|
10293
10336
|
}
|
10294
10337
|
/** */
|
@@ -10301,27 +10344,29 @@ class CubeGridComponent {
|
|
10301
10344
|
execute() {
|
10302
10345
|
this.loadingChange.emit(true);
|
10303
10346
|
this._service.series(this._cube.name, this._xAxis, { series: this._series, filters: this.filters, indices: this._indices }).
|
10304
|
-
subscribe(
|
10305
|
-
|
10306
|
-
|
10307
|
-
|
10308
|
-
|
10309
|
-
|
10310
|
-
|
10311
|
-
|
10312
|
-
|
10313
|
-
|
10314
|
-
|
10315
|
-
|
10316
|
-
|
10347
|
+
subscribe({
|
10348
|
+
next: series => {
|
10349
|
+
this._prepare.then(() => {
|
10350
|
+
const rows = [];
|
10351
|
+
series.filter(s => s.index).forEach(s => {
|
10352
|
+
const row = { title: s.title, type: 'Index', key: s.index };
|
10353
|
+
this._normalize(row, s.points);
|
10354
|
+
rows.push(row);
|
10355
|
+
});
|
10356
|
+
this._rows.forEach(r => {
|
10357
|
+
const row = { title: r.value, key: r.key }, serie = series.find(s => s.name === r.key);
|
10358
|
+
serie &&
|
10359
|
+
this._normalize(row, serie.points);
|
10360
|
+
rows.push(row);
|
10361
|
+
});
|
10362
|
+
this.dataSource = rows;
|
10363
|
+
this._draw();
|
10364
|
+
this.loadingChange.emit(false);
|
10317
10365
|
});
|
10318
|
-
|
10319
|
-
this.
|
10366
|
+
}, error: (e) => {
|
10367
|
+
this._sb.error(errResource(e));
|
10320
10368
|
this.loadingChange.emit(false);
|
10321
|
-
}
|
10322
|
-
}, (e) => {
|
10323
|
-
this._sb.error(errResource(e));
|
10324
|
-
this.loadingChange.emit(false);
|
10369
|
+
}
|
10325
10370
|
});
|
10326
10371
|
}
|
10327
10372
|
_normalize(row, points) {
|
@@ -10972,18 +11017,18 @@ class CubeSpreadsheetComponent {
|
|
10972
11017
|
width: 120
|
10973
11018
|
}];
|
10974
11019
|
// acquire columns source
|
10975
|
-
let
|
11020
|
+
let promise = firstValueFrom(this._ds.all(xAxis.dataType)).
|
10976
11021
|
then(c => {
|
10977
11022
|
this._xcolumns = c;
|
10978
11023
|
c.forEach(_ => this.columns.push({
|
10979
11024
|
width: 90
|
10980
11025
|
}));
|
10981
11026
|
});
|
10982
|
-
promises.push(
|
11027
|
+
promises.push(promise);
|
10983
11028
|
// acquire rows source
|
10984
|
-
|
11029
|
+
promise = firstValueFrom(this._ds.all(yAxis.dataType)).
|
10985
11030
|
then(r => this._yrows = r);
|
10986
|
-
promises.push(
|
11031
|
+
promises.push(promise);
|
10987
11032
|
this._prepare = Promise.all(promises);
|
10988
11033
|
}
|
10989
11034
|
else {
|
@@ -11021,25 +11066,29 @@ class CubeSpreadsheetComponent {
|
|
11021
11066
|
this.loadingChange.emit(true);
|
11022
11067
|
if (this._series)
|
11023
11068
|
this._service.series(this.cube, this._xAxis, { series: this._series, filters: this.filters, indices: this._indices }).
|
11024
|
-
subscribe(
|
11025
|
-
|
11026
|
-
this.
|
11027
|
-
|
11069
|
+
subscribe({
|
11070
|
+
next: data => {
|
11071
|
+
this._prepare.then(() => {
|
11072
|
+
this._dataseries(data);
|
11073
|
+
this._draw();
|
11074
|
+
this.loadingChange.emit(false);
|
11075
|
+
});
|
11076
|
+
}, error: e => {
|
11077
|
+
this._sb.error(errResource(e));
|
11028
11078
|
this.loadingChange.emit(false);
|
11029
|
-
}
|
11030
|
-
}, e => {
|
11031
|
-
this._sb.error(errResource(e));
|
11032
|
-
this.loadingChange.emit(false);
|
11079
|
+
}
|
11033
11080
|
});
|
11034
11081
|
else
|
11035
11082
|
this._service.table(this._cube.name, this._xAxis, { filters: this.filters, indices: this._indices }).
|
11036
|
-
subscribe(
|
11037
|
-
|
11038
|
-
|
11039
|
-
|
11040
|
-
|
11041
|
-
|
11042
|
-
|
11083
|
+
subscribe({
|
11084
|
+
next: data => {
|
11085
|
+
this._datatable(data);
|
11086
|
+
this._draw();
|
11087
|
+
this.loadingChange.emit(false);
|
11088
|
+
}, error: e => {
|
11089
|
+
this._sb.error(errResource(e));
|
11090
|
+
this.loadingChange.emit(false);
|
11091
|
+
}
|
11043
11092
|
});
|
11044
11093
|
}
|
11045
11094
|
_datatable(data) {
|
@@ -11776,16 +11825,16 @@ class TaggingDirective {
|
|
11776
11825
|
_handleKeydown(evt) {
|
11777
11826
|
if (!this._instance)
|
11778
11827
|
return;
|
11779
|
-
|
11828
|
+
!TEXT_CHAR.test(evt.key) &&
|
11780
11829
|
this._close();
|
11781
|
-
|
11830
|
+
if (evt.key == 'ArrowUp' || evt.key == 'ArrowDown') {
|
11782
11831
|
this._instance.keyManager.onKeydown(evt);
|
11783
11832
|
const { key } = this._instance.keyManager.activeItem;
|
11784
11833
|
this._assign(key);
|
11785
11834
|
evt.preventDefault();
|
11786
11835
|
evt.stopPropagation();
|
11787
11836
|
}
|
11788
|
-
else if (evt.
|
11837
|
+
else if (evt.key === 'Enter') {
|
11789
11838
|
if (this._instance.keyManager.activeItemIndex > -1) {
|
11790
11839
|
const { key, value } = this._instance.keyManager.activeItem;
|
11791
11840
|
this._select(key, value);
|
@@ -11793,7 +11842,7 @@ class TaggingDirective {
|
|
11793
11842
|
evt.preventDefault();
|
11794
11843
|
evt.stopPropagation();
|
11795
11844
|
}
|
11796
|
-
else if (evt.
|
11845
|
+
else if (evt.key === 'Escape') {
|
11797
11846
|
this._close();
|
11798
11847
|
evt.preventDefault();
|
11799
11848
|
evt.stopPropagation();
|
@@ -11939,18 +11988,16 @@ class EditInputComponent {
|
|
11939
11988
|
this.autofocus && setTimeout(this.focus.bind(this));
|
11940
11989
|
}
|
11941
11990
|
_key(evt) {
|
11942
|
-
if (evt.
|
11943
|
-
return;
|
11944
|
-
if (evt.which === ENTER && !evt.shiftKey) {
|
11991
|
+
if (evt.key === 'Enter' && !evt.shiftKey) {
|
11945
11992
|
this._submit();
|
11946
|
-
|
11947
|
-
|
11993
|
+
evt.preventDefault();
|
11994
|
+
evt.stopPropagation();
|
11948
11995
|
}
|
11949
|
-
else if (evt.
|
11996
|
+
else if (evt.key === 'Escape') {
|
11950
11997
|
if (this._textElement.nativeElement.value && this._textElement.nativeElement.value.length) {
|
11951
11998
|
this._textElement.nativeElement.value = null;
|
11952
|
-
|
11953
|
-
|
11999
|
+
evt.preventDefault();
|
12000
|
+
evt.stopPropagation();
|
11954
12001
|
}
|
11955
12002
|
}
|
11956
12003
|
}
|
@@ -11966,7 +12013,7 @@ class EditInputComponent {
|
|
11966
12013
|
this.onOk.emit({ text, resource: this._resource, image: this._image });
|
11967
12014
|
}
|
11968
12015
|
_textChange(evt) {
|
11969
|
-
this._text = evt.
|
12016
|
+
this._text = evt.target.value;
|
11970
12017
|
this.change.emit(this._text);
|
11971
12018
|
}
|
11972
12019
|
_htmlChange(evt) {
|
@@ -12048,7 +12095,7 @@ class EditInputComponent {
|
|
12048
12095
|
let reader = new FileReader();
|
12049
12096
|
reader.onload = function (event) {
|
12050
12097
|
const { result } = event.target;
|
12051
|
-
me._image = result.
|
12098
|
+
me._image = result.substring(22);
|
12052
12099
|
};
|
12053
12100
|
reader.readAsDataURL(blob);
|
12054
12101
|
}
|
@@ -12162,7 +12209,7 @@ class TaggingPipe {
|
|
12162
12209
|
return this._sanitizer.bypassSecurityTrustHtml(text);
|
12163
12210
|
}
|
12164
12211
|
_click(evt) {
|
12165
|
-
const src = evt.
|
12212
|
+
const src = evt.target;
|
12166
12213
|
if (src.tagName === 'A') {
|
12167
12214
|
const id = src.getAttribute('data-id');
|
12168
12215
|
if (id) {
|
@@ -12295,7 +12342,7 @@ class CommentComponent {
|
|
12295
12342
|
* @param e
|
12296
12343
|
*/
|
12297
12344
|
chat(e) {
|
12298
|
-
const userId = e.
|
12345
|
+
const userId = e.target.getAttribute('data-info');
|
12299
12346
|
userId &&
|
12300
12347
|
this._chat.open(userId);
|
12301
12348
|
}
|
@@ -12332,10 +12379,12 @@ class CommentComponent {
|
|
12332
12379
|
ok: 'Delete',
|
12333
12380
|
color: 'warn'
|
12334
12381
|
}).subscribe(ok => {
|
12335
|
-
ok && this._mailbox.removecomment(this.item.id).subscribe(
|
12336
|
-
|
12337
|
-
|
12338
|
-
|
12382
|
+
ok && this._mailbox.removecomment(this.item.id).subscribe({
|
12383
|
+
next: () => {
|
12384
|
+
this.item.deleted = true;
|
12385
|
+
this.deleted.emit();
|
12386
|
+
}, error: () => this._ps.error()
|
12387
|
+
});
|
12339
12388
|
});
|
12340
12389
|
}
|
12341
12390
|
edits() {
|
@@ -12353,7 +12402,7 @@ class CommentComponent {
|
|
12353
12402
|
positionStrategy: this._overlay.position().global().centerHorizontally().centerVertically(),
|
12354
12403
|
});
|
12355
12404
|
oRef.attach(new TemplatePortal(this.previewTemplate, this._vc));
|
12356
|
-
merge(oRef.keydownEvents().pipe(filter(k => k.
|
12405
|
+
merge(oRef.keydownEvents().pipe(filter(k => k.key === 'Escape')), oRef.backdropClick()).subscribe(() => oRef.detach());
|
12357
12406
|
}
|
12358
12407
|
votes() {
|
12359
12408
|
this._open(CommentLikesComponent, {
|
@@ -12388,7 +12437,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
12388
12437
|
args: ['previewTemplate']
|
12389
12438
|
}] } });
|
12390
12439
|
|
12391
|
-
const TYPING_NOTIFY = 500, TYPING_MESSAGE_TIME = 1500;
|
12440
|
+
const TYPING_NOTIFY$1 = 500, TYPING_MESSAGE_TIME = 1500;
|
12392
12441
|
class CommentsComponent {
|
12393
12442
|
/** comments ctor */
|
12394
12443
|
constructor(_accounts, _session, _sb, _translate, _chat, _mailbox, _messaging, _config) {
|
@@ -12440,7 +12489,7 @@ class CommentsComponent {
|
|
12440
12489
|
comment.deleted = true;
|
12441
12490
|
this.change.emit();
|
12442
12491
|
});
|
12443
|
-
this._textChange.pipe(debounceTime(TYPING_NOTIFY), takeUntil$1(this._destroy)).subscribe(() => this._mailbox.typing(this.model.documentId));
|
12492
|
+
this._textChange.pipe(debounceTime(TYPING_NOTIFY$1), takeUntil$1(this._destroy)).subscribe(() => this._mailbox.typing(this.model.documentId).subscribe());
|
12444
12493
|
}
|
12445
12494
|
_formatUserElement(person) {
|
12446
12495
|
if (this._config.chating !== false)
|
@@ -12453,7 +12502,7 @@ class CommentsComponent {
|
|
12453
12502
|
* @param e
|
12454
12503
|
*/
|
12455
12504
|
chat(e) {
|
12456
|
-
const userId = e.
|
12505
|
+
const userId = e.target.getAttribute('data-info');
|
12457
12506
|
userId &&
|
12458
12507
|
this._chat.open(userId);
|
12459
12508
|
}
|
@@ -12548,16 +12597,18 @@ class CommentsComponent {
|
|
12548
12597
|
const options = { ...evt };
|
12549
12598
|
if (this._replyTo)
|
12550
12599
|
options.parentId = this._replyTo.id;
|
12551
|
-
this._mailbox.comment(this.model.documentId, options).subscribe(
|
12552
|
-
|
12553
|
-
|
12554
|
-
|
12555
|
-
|
12556
|
-
|
12557
|
-
|
12558
|
-
|
12559
|
-
|
12560
|
-
|
12600
|
+
this._mailbox.comment(this.model.documentId, options).subscribe({
|
12601
|
+
next: c => {
|
12602
|
+
this.model.comments.push(c);
|
12603
|
+
this.input.clear();
|
12604
|
+
this.model.viewed = c.time;
|
12605
|
+
this.change.emit();
|
12606
|
+
setTimeout(() => this._scrollToBottom());
|
12607
|
+
this.sending = false;
|
12608
|
+
}, error: () => {
|
12609
|
+
this._sb.error();
|
12610
|
+
this.sending = false;
|
12611
|
+
}
|
12561
12612
|
});
|
12562
12613
|
}
|
12563
12614
|
ngOnDestroy() {
|
@@ -12744,41 +12795,45 @@ class ExploreItemsComponent {
|
|
12744
12795
|
_view() {
|
12745
12796
|
this._loading$.next(true);
|
12746
12797
|
(this.index ? this._service.resolveIndex(this.cube, this.index) :
|
12747
|
-
this._service.resolve(this.cube, this.axes)).subscribe(
|
12748
|
-
|
12749
|
-
|
12750
|
-
this._service.
|
12751
|
-
|
12752
|
-
|
12753
|
-
|
12754
|
-
|
12755
|
-
|
12756
|
-
|
12757
|
-
|
12758
|
-
|
12759
|
-
|
12760
|
-
|
12761
|
-
|
12762
|
-
|
12763
|
-
|
12764
|
-
|
12765
|
-
|
12766
|
-
|
12767
|
-
|
12768
|
-
|
12769
|
-
|
12770
|
-
|
12771
|
-
|
12772
|
-
|
12773
|
-
|
12774
|
-
|
12775
|
-
|
12798
|
+
this._service.resolve(this.cube, this.axes)).subscribe({
|
12799
|
+
next: e => {
|
12800
|
+
const { columns, template } = e;
|
12801
|
+
(this.index ? this._service.indices(this.cube, this.index, this.axes, { scope: this.scope }) :
|
12802
|
+
this._service.explore(this.cube, this.axes, { scope: this.scope })).subscribe({
|
12803
|
+
next: r => {
|
12804
|
+
if (this.index && !columns.length) {
|
12805
|
+
this._cube.axes.
|
12806
|
+
filter(a => this.axes[a.name] === undefined && a.selectionMode !== 'None' &&
|
12807
|
+
r.find(row => row[a.name] !== undefined)).
|
12808
|
+
forEach(a => columns.push({ controlType: 'text', name: a.name, label: a.title }));
|
12809
|
+
const index = this._cube.indices.find(i => i.name === this.index);
|
12810
|
+
columns.push({
|
12811
|
+
controlType: 'number', name: 'value', label: index.title,
|
12812
|
+
kind: FieldKind.Currency
|
12813
|
+
});
|
12814
|
+
this.columns = columns;
|
12815
|
+
this.displayedColumns = columns.map(c => c.name);
|
12816
|
+
this._template = null;
|
12817
|
+
this.selectable = false;
|
12818
|
+
}
|
12819
|
+
else {
|
12820
|
+
this.columns = columns;
|
12821
|
+
this.displayedColumns =
|
12822
|
+
columns.filter(c => !c.flags || (c.flags.indexOf('Hidden') < 0 && c.flags.indexOf('Key') < 0)).
|
12823
|
+
map(c => c.name);
|
12824
|
+
this._template = template;
|
12825
|
+
this.selectable = template !== null;
|
12826
|
+
}
|
12827
|
+
this._datasource(r);
|
12828
|
+
}, error: () => {
|
12829
|
+
this._loading$.next(false);
|
12830
|
+
this._sb.error();
|
12831
|
+
}
|
12832
|
+
});
|
12833
|
+
}, error: () => {
|
12776
12834
|
this._loading$.next(false);
|
12777
12835
|
this._sb.error();
|
12778
|
-
}
|
12779
|
-
}, () => {
|
12780
|
-
this._loading$.next(false);
|
12781
|
-
this._sb.error();
|
12836
|
+
}
|
12782
12837
|
});
|
12783
12838
|
}
|
12784
12839
|
_datasource(data) {
|
@@ -13916,7 +13971,7 @@ class WorkflowComponent {
|
|
13916
13971
|
* @param event
|
13917
13972
|
*/
|
13918
13973
|
handleKeyboardEvent(event) {
|
13919
|
-
if (this.dirty && event.ctrlKey && (event.
|
13974
|
+
if (this.dirty && event.ctrlKey && (event.key === 's' || event.key === 'S')) {
|
13920
13975
|
this.save();
|
13921
13976
|
event.preventDefault();
|
13922
13977
|
}
|
@@ -14000,7 +14055,7 @@ class WorkflowComponent {
|
|
14000
14055
|
this._form.workflow.connectors = obj.connectors;
|
14001
14056
|
this._form.workflow.nodes = obj.nodes.filter(n => n.id !== 'version');
|
14002
14057
|
this.saving = true;
|
14003
|
-
return this._service.save(this._form)
|
14058
|
+
return firstValueFrom(this._service.save(this._form)).then(v => {
|
14004
14059
|
this._ps.toast('ChangesSaved');
|
14005
14060
|
if (this._form.workflow.version < v) {
|
14006
14061
|
this._ps.toast('DiagramVersion', v);
|
@@ -14057,7 +14112,7 @@ class UtilityRef {
|
|
14057
14112
|
execute(args) {
|
14058
14113
|
return this._http.post(`/api/utility/${encodeURIComponent(this._utility.name)}`, args, { observe: 'response' }).pipe(tap((r) => {
|
14059
14114
|
this._jobId = r.headers.get('job-id');
|
14060
|
-
}), map((r) => r.body), catchError((e) => {
|
14115
|
+
}), map((r) => r.body), catchError$1((e) => {
|
14061
14116
|
if (e.status === 406) // validation exception
|
14062
14117
|
this._sb.errorString(e.error);
|
14063
14118
|
else
|
@@ -14945,7 +15000,7 @@ class TraceViewComponent extends TraceBase {
|
|
14945
15000
|
* @param id
|
14946
15001
|
*/
|
14947
15002
|
function profileOf(id) {
|
14948
|
-
return me._accounts.get(id)
|
15003
|
+
return firstValueFrom(me._accounts.get(id));
|
14949
15004
|
}
|
14950
15005
|
/**
|
14951
15006
|
* user name, chat anchor tag
|
@@ -15228,7 +15283,7 @@ class TraceViewComponent extends TraceBase {
|
|
15228
15283
|
this._data && this._filter();
|
15229
15284
|
}
|
15230
15285
|
chat(e) {
|
15231
|
-
const userId = e.
|
15286
|
+
const userId = e.target.getAttribute('data-info');
|
15232
15287
|
userId &&
|
15233
15288
|
this._chat.open(userId);
|
15234
15289
|
}
|
@@ -15602,24 +15657,25 @@ class ScheduleViewComponent {
|
|
15602
15657
|
}
|
15603
15658
|
this.starting = dates[0],
|
15604
15659
|
this.ending = dates[dates.length - 1];
|
15605
|
-
this._mailbox.events(this.starting, this.ending).subscribe(
|
15606
|
-
|
15607
|
-
|
15608
|
-
|
15609
|
-
|
15610
|
-
|
15611
|
-
|
15612
|
-
|
15613
|
-
|
15614
|
-
|
15615
|
-
|
15616
|
-
|
15617
|
-
|
15618
|
-
|
15660
|
+
this._mailbox.events(this.starting, this.ending).subscribe({
|
15661
|
+
next: r => {
|
15662
|
+
const data = r.map(e => {
|
15663
|
+
return {
|
15664
|
+
Id: e.id,
|
15665
|
+
documentId: e.documentId,
|
15666
|
+
StartTime: new Date(e.starting),
|
15667
|
+
EndTime: e.ending ? new Date(e.ending) : null,
|
15668
|
+
Subject: e.title,
|
15669
|
+
IsAllDay: !e.ending || e.ending === e.starting
|
15670
|
+
};
|
15671
|
+
});
|
15672
|
+
this.schedule.eventSettings.dataSource = data;
|
15673
|
+
this.page = this.starting.valueOf();
|
15674
|
+
}, error: () => this._sb.error()
|
15675
|
+
});
|
15619
15676
|
}
|
15620
15677
|
drag(_) {
|
15621
|
-
this._mailbox.changeEvent(1, { starting: null }).subscribe(() =>
|
15622
|
-
}, () => this._sb.error());
|
15678
|
+
this._mailbox.changeEvent(1, { starting: null }).subscribe({ error: () => this._sb.error() });
|
15623
15679
|
}
|
15624
15680
|
nav(e) {
|
15625
15681
|
switch (e.action) {
|
@@ -15723,7 +15779,7 @@ class FormResolve {
|
|
15723
15779
|
this._service = _service;
|
15724
15780
|
}
|
15725
15781
|
onResolve(params) {
|
15726
|
-
return this._service.form(params['id'])
|
15782
|
+
return firstValueFrom(this._service.form(params['id']));
|
15727
15783
|
}
|
15728
15784
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: FormResolve, deps: [{ token: SystemService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
15729
15785
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: FormResolve }); }
|
@@ -15787,7 +15843,7 @@ class CubeMatrixBase {
|
|
15787
15843
|
delete axes[g];
|
15788
15844
|
});
|
15789
15845
|
this.axes = axes;
|
15790
|
-
this._listen().
|
15846
|
+
this._listen().subscribe(() => {
|
15791
15847
|
const combination = this._combine(axes);
|
15792
15848
|
this.title = combination.join(ACCOUNT_DELIMITER);
|
15793
15849
|
});
|
@@ -15809,10 +15865,10 @@ class CubeMatrixBase {
|
|
15809
15865
|
const axes = { ...this.axes };
|
15810
15866
|
axes[name] = value;
|
15811
15867
|
this.onFilter(axes);
|
15812
|
-
this._listen().
|
15868
|
+
this._listen().subscribe(() => this.values[name] = value);
|
15813
15869
|
}
|
15814
15870
|
_listen() {
|
15815
|
-
return this.table.loadingChange.pipe(filter$1(ok => !ok), first$1())
|
15871
|
+
return this.table.loadingChange.pipe(filter$1(ok => !ok), first$1());
|
15816
15872
|
}
|
15817
15873
|
onFilter(axes) {
|
15818
15874
|
this.axes = axes;
|
@@ -15825,14 +15881,14 @@ class CubeMatrixBase {
|
|
15825
15881
|
const axes = { ...pattern.axes };
|
15826
15882
|
this._service.base(this.cube, axes, this.originalAxes);
|
15827
15883
|
this.axes = { ...axes, ...this.values };
|
15828
|
-
this._listen().
|
15884
|
+
this._listen().subscribe(() => {
|
15829
15885
|
this.title = pattern.title;
|
15830
15886
|
this.pattern = pattern;
|
15831
15887
|
});
|
15832
15888
|
}
|
15833
15889
|
reset() {
|
15834
15890
|
this._populate();
|
15835
|
-
this._listen().
|
15891
|
+
this._listen().subscribe(() => {
|
15836
15892
|
this.pattern = null;
|
15837
15893
|
this.title = null;
|
15838
15894
|
});
|
@@ -15915,10 +15971,11 @@ class CubeMatrixComponent {
|
|
15915
15971
|
this.xAxis = this.cube.axes.find(a => a.name === this._xAxis);
|
15916
15972
|
this.series = this.cube.axes.find(a => a.name === this._series);
|
15917
15973
|
this.data = null;
|
15918
|
-
this._prepare = forkJoin(this._ds.all(this.series.dataType).pipe(tap(r => this.rows = r)),
|
15919
|
-
this.
|
15920
|
-
|
15921
|
-
|
15974
|
+
this._prepare = firstValueFrom(forkJoin([this._ds.all(this.series.dataType).pipe(tap(r => this.rows = r)),
|
15975
|
+
this._ds.all(this.xAxis.dataType).pipe(tap(c => this.columns = c)).pipe(tap(() => {
|
15976
|
+
this._indices && this._addindices();
|
15977
|
+
this._sum && this._addsumheaders();
|
15978
|
+
}))]));
|
15922
15979
|
this.refresh();
|
15923
15980
|
}
|
15924
15981
|
else if (changes['filters'])
|
@@ -15983,20 +16040,23 @@ class CubeMatrixComponent {
|
|
15983
16040
|
filters: this.filters,
|
15984
16041
|
inverseIndices: this.indexAt === 'XAxis',
|
15985
16042
|
scope: this.scope
|
15986
|
-
}).subscribe(
|
15987
|
-
|
15988
|
-
|
15989
|
-
|
15990
|
-
|
15991
|
-
|
15992
|
-
|
15993
|
-
|
15994
|
-
|
15995
|
-
|
15996
|
-
|
15997
|
-
|
15998
|
-
|
15999
|
-
|
16043
|
+
}).subscribe({
|
16044
|
+
next: r => {
|
16045
|
+
const data = this._serialize(r);
|
16046
|
+
this._clone(data);
|
16047
|
+
this._sum && this._calculatesum(data);
|
16048
|
+
this._totals(data);
|
16049
|
+
this._stringify(data);
|
16050
|
+
this.data = data;
|
16051
|
+
clearTimeout(progressTask);
|
16052
|
+
this.loadingChange.next(this.loading = false);
|
16053
|
+
},
|
16054
|
+
error: (e) => {
|
16055
|
+
this._sb.error(errResource(e));
|
16056
|
+
clearTimeout(progressTask);
|
16057
|
+
this.loadingChange.next(this.loading = false);
|
16058
|
+
this.loadingChange.error(e);
|
16059
|
+
}
|
16000
16060
|
}));
|
16001
16061
|
}
|
16002
16062
|
_serialize(series) {
|
@@ -16397,7 +16457,7 @@ class NotificationBase {
|
|
16397
16457
|
return this._chat.format(person);
|
16398
16458
|
}
|
16399
16459
|
open(e) {
|
16400
|
-
const userId = e.
|
16460
|
+
const userId = e.target.getAttribute('data-info');
|
16401
16461
|
if (userId)
|
16402
16462
|
this._chat.open(userId);
|
16403
16463
|
else if (this.notification.recipientId)
|
@@ -16469,7 +16529,7 @@ class CubeAnomalyNotification {
|
|
16469
16529
|
forkJoin(observables).subscribe(a => this.axes = this._translate.join(a.map((e, i) => e || this.notification.axes[i])));
|
16470
16530
|
}
|
16471
16531
|
open(e) {
|
16472
|
-
const id = e.
|
16532
|
+
const id = e.target.getAttribute('data-info');
|
16473
16533
|
if (id) {
|
16474
16534
|
this._router.navigate(['mailbox/i', parseInt(id).encodeId()]);
|
16475
16535
|
}
|
@@ -16547,7 +16607,7 @@ class LikedNotification extends NotificationBase {
|
|
16547
16607
|
this._accounts = _accounts;
|
16548
16608
|
}
|
16549
16609
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LikedNotification, deps: [{ token: NOTIFICATION_DATA }, { token: AccountService }, { token: TranslateService }, { token: RouterImpl }, { token: SessionService }, { token: ChatInfo }], target: i0.ɵɵFactoryTarget.Component }); }
|
16550
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: LikedNotification, selector: "
|
16610
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: LikedNotification, selector: "bizdoc-liked-notification", usesInheritance: true, ngImport: i0, template: `<ng-container *ngIf='message'>
|
16551
16611
|
<span *ngIf='notification.userIds.length < 3' [innerHTML]='message | sanitizeHtml'></span>
|
16552
16612
|
<span *ngIf='notification.userIds.length >= 3' [bizdocTooltip]='names' [innerHTML]='message | sanitizeHtml'></span>
|
16553
16613
|
</ng-container>`, isInline: true, dependencies: [{ kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
|
@@ -16555,6 +16615,7 @@ class LikedNotification extends NotificationBase {
|
|
16555
16615
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: LikedNotification, decorators: [{
|
16556
16616
|
type: Component,
|
16557
16617
|
args: [{
|
16618
|
+
selector: 'bizdoc-liked-notification',
|
16558
16619
|
template: `<ng-container *ngIf='message'>
|
16559
16620
|
<span *ngIf='notification.userIds.length < 3' [innerHTML]='message | sanitizeHtml'></span>
|
16560
16621
|
<span *ngIf='notification.userIds.length >= 3' [bizdocTooltip]='names' [innerHTML]='message | sanitizeHtml'></span>
|
@@ -16778,7 +16839,7 @@ class NotificationsComponentBase {
|
|
16778
16839
|
}
|
16779
16840
|
}
|
16780
16841
|
_getInjector(item) {
|
16781
|
-
return Injector.create([{ provide: NOTIFICATION_DATA, useValue: item }], this._injector);
|
16842
|
+
return Injector.create({ providers: [{ provide: NOTIFICATION_DATA, useValue: item }], parent: this._injector });
|
16782
16843
|
}
|
16783
16844
|
}
|
16784
16845
|
|
@@ -16918,7 +16979,7 @@ class NotificationsTableComponent extends NotificationsComponentBase {
|
|
16918
16979
|
this.selection.select(...this.dataSource.data);
|
16919
16980
|
}
|
16920
16981
|
openFilter(evt) {
|
16921
|
-
const popupRef = this._popup.open(NotificationsFilterComponent, evt.
|
16982
|
+
const popupRef = this._popup.open(NotificationsFilterComponent, evt.target);
|
16922
16983
|
popupRef.opened().
|
16923
16984
|
subscribe(e => {
|
16924
16985
|
e.form.setValue({ text: this.dataSource.filter, showDeleted: this.showDeleted });
|
@@ -17128,10 +17189,12 @@ class ContactsComponent {
|
|
17128
17189
|
this.selected.next(item);
|
17129
17190
|
}
|
17130
17191
|
forget(item) {
|
17131
|
-
this._service.forget(item.id).subscribe(
|
17132
|
-
|
17133
|
-
|
17134
|
-
|
17192
|
+
this._service.forget(item.id).subscribe({
|
17193
|
+
next: () => {
|
17194
|
+
item.forgotten = true;
|
17195
|
+
this.contacts.remove(item);
|
17196
|
+
}, error: () => this._sb.error()
|
17197
|
+
});
|
17135
17198
|
}
|
17136
17199
|
ngOnDestroy() {
|
17137
17200
|
this._destroy.next();
|
@@ -17170,7 +17233,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
17170
17233
|
}]
|
17171
17234
|
}], ctorParameters: function () { return [{ type: PaneRef }, { type: TranslateService }, { type: PanesRouter }]; } });
|
17172
17235
|
|
17173
|
-
const CONTACT_TYPING_NOTE = 1500;
|
17236
|
+
const TYPING_NOTIFY = 500, CONTACT_TYPING_NOTE = 1500;
|
17174
17237
|
class ConversationComponent {
|
17175
17238
|
constructor(config, _service, _messaging, _translate, _accounts, _sb, _vc, _overlay) {
|
17176
17239
|
this._service = _service;
|
@@ -17216,26 +17279,30 @@ class ConversationComponent {
|
|
17216
17279
|
if (e.contactId === this.contact.id)
|
17217
17280
|
this.watermark = e.time;
|
17218
17281
|
});
|
17219
|
-
this._textChange.pipe(debounceTime(
|
17282
|
+
this._textChange.pipe(debounceTime(TYPING_NOTIFY), takeUntil$1(this._destroy)).subscribe(() => this._service.typing(this.contact.id));
|
17220
17283
|
}
|
17221
17284
|
ngOnChanges(_) {
|
17222
17285
|
this.profile &&
|
17223
17286
|
this._preserveDraft && this._persist();
|
17224
|
-
this._accounts.get(this.contact.id).subscribe(
|
17225
|
-
|
17226
|
-
|
17287
|
+
this._accounts.get(this.contact.id).subscribe({
|
17288
|
+
next: u => {
|
17289
|
+
this.profile = u;
|
17290
|
+
}, error: () => this._sb.error()
|
17291
|
+
});
|
17227
17292
|
// latest
|
17228
17293
|
this.watermark = this.contact.visited || this.contact.watermark ? (this.contact.visited && this.contact.watermark ?
|
17229
17294
|
this.contact.watermark > this.contact.visited ?
|
17230
17295
|
this.contact.watermark : this.contact.visited :
|
17231
17296
|
this.contact.watermark || this.contact.visited) : null;
|
17232
17297
|
// fetch
|
17233
|
-
this._service.conversations(this.contact.id).subscribe(
|
17234
|
-
|
17235
|
-
|
17236
|
-
|
17237
|
-
this.
|
17238
|
-
|
17298
|
+
this._service.conversations(this.contact.id).subscribe({
|
17299
|
+
next: c => {
|
17300
|
+
this.items = c.reverse();
|
17301
|
+
this._scrollToBottom();
|
17302
|
+
!this.contact.count &&
|
17303
|
+
this.focus();
|
17304
|
+
}, error: () => this._sb.error()
|
17305
|
+
});
|
17239
17306
|
if (this._preserveDraft) {
|
17240
17307
|
const text = localStorage.getItem(this.contact.id);
|
17241
17308
|
if (text)
|
@@ -17268,14 +17335,16 @@ class ConversationComponent {
|
|
17268
17335
|
}
|
17269
17336
|
send(evt) {
|
17270
17337
|
this.sending = true;
|
17271
|
-
this._service.send(this.contact.id, evt).subscribe(
|
17272
|
-
|
17273
|
-
|
17274
|
-
|
17275
|
-
|
17276
|
-
|
17277
|
-
|
17278
|
-
|
17338
|
+
this._service.send(this.contact.id, evt).subscribe({
|
17339
|
+
next: c => {
|
17340
|
+
this.items.push(c);
|
17341
|
+
this._input.clear();
|
17342
|
+
this._scrollToBottom();
|
17343
|
+
this.sending = false;
|
17344
|
+
}, error: e => {
|
17345
|
+
this.sending = false;
|
17346
|
+
this._sb.error();
|
17347
|
+
}
|
17279
17348
|
});
|
17280
17349
|
}
|
17281
17350
|
onFocus() {
|
@@ -17303,7 +17372,7 @@ class ConversationComponent {
|
|
17303
17372
|
positionStrategy: this._overlay.position().global().centerHorizontally().centerVertically(),
|
17304
17373
|
});
|
17305
17374
|
oRef.attach(new TemplatePortal(this.previewTemplate, this._vc, { item }));
|
17306
|
-
merge(oRef.keydownEvents().pipe(filter(k => k.
|
17375
|
+
merge(oRef.keydownEvents().pipe(filter(k => k.key === 'Escape')), oRef.backdropClick()).subscribe(() => oRef.detach());
|
17307
17376
|
}
|
17308
17377
|
ngOnDestroy() {
|
17309
17378
|
if (this._typingTask)
|
@@ -17760,42 +17829,42 @@ class DocumentInfoPaneComponent {
|
|
17760
17829
|
});
|
17761
17830
|
}
|
17762
17831
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentInfoPaneComponent, deps: [{ token: PaneRef }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
17763
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DocumentInfoPaneComponent, selector: "
|
17832
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DocumentInfoPaneComponent, selector: "bizdoc-document-info-pane", ngImport: i0, template: `<bizdoc-document [model]=model></bizdoc-document>`, isInline: true, dependencies: [{ kind: "component", type: DocumentInfoComponent, selector: "bizdoc-document", inputs: ["model"] }] }); }
|
17764
17833
|
}
|
17765
17834
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentInfoPaneComponent, decorators: [{
|
17766
17835
|
type: Component,
|
17767
17836
|
args: [{
|
17837
|
+
selector: 'bizdoc-document-info-pane',
|
17768
17838
|
template: `<bizdoc-document [model]=model></bizdoc-document>`
|
17769
17839
|
}]
|
17770
17840
|
}], ctorParameters: function () { return [{ type: PaneRef }, { type: SessionService }]; } });
|
17771
17841
|
|
17772
|
-
class
|
17842
|
+
class CubeItemResolver {
|
17773
17843
|
constructor(_service) {
|
17774
17844
|
this._service = _service;
|
17775
17845
|
}
|
17776
17846
|
onResolve(params, queryParams) {
|
17777
17847
|
return this._service.item(params['cube'], queryParams, params['key']);
|
17778
17848
|
}
|
17779
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
17780
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
17849
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolver, deps: [{ token: CubeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
17850
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolver }); }
|
17781
17851
|
}
|
17782
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
17852
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolver, decorators: [{
|
17783
17853
|
type: Injectable
|
17784
17854
|
}], ctorParameters: function () { return [{ type: CubeService }]; } });
|
17785
|
-
class
|
17786
|
-
constructor(_service
|
17855
|
+
class CubeItemResolveService {
|
17856
|
+
constructor(_service) {
|
17787
17857
|
this._service = _service;
|
17788
|
-
this._router = _router;
|
17789
17858
|
}
|
17790
17859
|
resolve(route) {
|
17791
17860
|
return this._service.item(route.params['cube'], route.queryParams, route.params['key']);
|
17792
17861
|
}
|
17793
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
17794
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
17862
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolveService, deps: [{ token: CubeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
17863
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolveService }); }
|
17795
17864
|
}
|
17796
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type:
|
17865
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeItemResolveService, decorators: [{
|
17797
17866
|
type: Injectable
|
17798
|
-
}], ctorParameters: function () { return [{ type: CubeService }
|
17867
|
+
}], ctorParameters: function () { return [{ type: CubeService }]; } });
|
17799
17868
|
|
17800
17869
|
class UserNamePipe {
|
17801
17870
|
transform(value) {
|
@@ -17873,7 +17942,7 @@ class OptionsComponent {
|
|
17873
17942
|
return item ? item.name : null;
|
17874
17943
|
};
|
17875
17944
|
this.voating = !config.comments || config.comments.voting !== false;
|
17876
|
-
merge(overlayRef.keydownEvents().pipe(filter(k => k.
|
17945
|
+
merge(overlayRef.keydownEvents().pipe(filter(k => k.key === 'Escape')), overlayRef.backdropClick()).
|
17877
17946
|
subscribe(() => overlayRef.dispose());
|
17878
17947
|
}
|
17879
17948
|
ngOnInit() {
|
@@ -17942,7 +18011,7 @@ class OptionsComponent {
|
|
17942
18011
|
this.notifications.open();
|
17943
18012
|
}
|
17944
18013
|
this.form.valueChanges.pipe(debounceTime(200), takeUntil$1(this._destroy)).subscribe(() => this.form.valid &&
|
17945
|
-
this._session.update(this.form.getRawValue()).subscribe(
|
18014
|
+
this._session.update(this.form.getRawValue()).subscribe({ error: () => this._sb.error() }));
|
17946
18015
|
}
|
17947
18016
|
_toggle(group, active, ...controls) {
|
17948
18017
|
controls.forEach(name => {
|
@@ -17956,17 +18025,14 @@ class OptionsComponent {
|
|
17956
18025
|
this.form.controls['notifications'].controls['sound'].setValue(!this.options.notifications.sound);
|
17957
18026
|
}
|
17958
18027
|
addTag(event) {
|
17959
|
-
const
|
17960
|
-
const value = event.value;
|
18028
|
+
const { chipInput, value } = event;
|
17961
18029
|
// Add our fruit
|
17962
18030
|
if ((value || '').trim()) {
|
17963
18031
|
this.options.tags.push(value.trim());
|
17964
18032
|
this.form.patchValue({});
|
17965
18033
|
}
|
17966
18034
|
// Reset the input value
|
17967
|
-
|
17968
|
-
input.value = '';
|
17969
|
-
}
|
18035
|
+
chipInput?.clear();
|
17970
18036
|
}
|
17971
18037
|
removeTag(tag) {
|
17972
18038
|
this.options.tags.remove(tag);
|
@@ -18047,10 +18113,12 @@ class OptionsService {
|
|
18047
18113
|
direction: this._dir.value
|
18048
18114
|
});
|
18049
18115
|
const oRef = this._overlay.create(config);
|
18050
|
-
const injector = Injector.create(
|
18051
|
-
|
18052
|
-
|
18053
|
-
|
18116
|
+
const injector = Injector.create({
|
18117
|
+
providers: [
|
18118
|
+
{ provide: OPTION_PANEL, useValue: { open: section } },
|
18119
|
+
{ provide: OverlayRef, useValue: oRef },
|
18120
|
+
], parent: this._injector
|
18121
|
+
});
|
18054
18122
|
const portal = new ComponentPortal(OptionsComponent, null, injector);
|
18055
18123
|
oRef.attach(portal);
|
18056
18124
|
oRef.backdropClick().subscribe(() => oRef.dispose());
|
@@ -18101,7 +18169,7 @@ class AppHttpInterceptor {
|
|
18101
18169
|
setHeaders: headers,
|
18102
18170
|
url
|
18103
18171
|
});
|
18104
|
-
const handle = next.handle(request).pipe(catchError((e) => {
|
18172
|
+
const handle = next.handle(request).pipe(catchError$1((e) => {
|
18105
18173
|
if (this._authenticationInProgress$)
|
18106
18174
|
return this._authenticationInProgress$;
|
18107
18175
|
else if (e.status === 401)
|
@@ -18110,12 +18178,15 @@ class AppHttpInterceptor {
|
|
18110
18178
|
return this.intercept(req, next);
|
18111
18179
|
}));
|
18112
18180
|
else
|
18113
|
-
|
18181
|
+
throw new Error(e.message);
|
18114
18182
|
}));
|
18115
18183
|
if (!req.headers.has('no-progress')) {
|
18116
18184
|
this._ongoingCounter$.next(1);
|
18117
|
-
return handle.pipe(tap(
|
18118
|
-
|
18185
|
+
return handle.pipe(tap({
|
18186
|
+
next: event => event instanceof HttpResponse
|
18187
|
+
&& this._ongoingCounter$.next(0),
|
18188
|
+
error: () => this._ongoingCounter$.next(0)
|
18189
|
+
}));
|
18119
18190
|
}
|
18120
18191
|
else
|
18121
18192
|
return handle;
|
@@ -18128,7 +18199,7 @@ class AppHttpInterceptor {
|
|
18128
18199
|
this.active$ = this._ongoingCounter$.asObservable().pipe(map(c => c > 0));
|
18129
18200
|
if (baseUrl) {
|
18130
18201
|
if (baseUrl.endsWith('/'))
|
18131
|
-
this._baseUrl = baseUrl.
|
18202
|
+
this._baseUrl = baseUrl.substring(0, baseUrl.length - 1);
|
18132
18203
|
else
|
18133
18204
|
this._baseUrl = baseUrl;
|
18134
18205
|
}
|
@@ -18324,17 +18395,19 @@ class ImpersonateDialog {
|
|
18324
18395
|
filter(u => u.name.toLowerCase().indexOf(name) > -1 && u.id !== this._me);
|
18325
18396
|
})) : of([])));
|
18326
18397
|
this.logging = false;
|
18327
|
-
_dialogRef.keydownEvents().pipe(takeUntil$1(this._destroy), filter(k => k.
|
18398
|
+
_dialogRef.keydownEvents().pipe(takeUntil$1(this._destroy), filter(k => k.key === 'Enter')).
|
18328
18399
|
subscribe(() => this.item && this.go());
|
18329
18400
|
}
|
18330
18401
|
go() {
|
18331
18402
|
this.logging = true;
|
18332
|
-
this._session.impersonate(this.item.id).subscribe(
|
18333
|
-
|
18334
|
-
|
18335
|
-
|
18336
|
-
|
18337
|
-
|
18403
|
+
this._session.impersonate(this.item.id).subscribe({
|
18404
|
+
next: () => {
|
18405
|
+
this.logging = false;
|
18406
|
+
this._dialogRef.close(true);
|
18407
|
+
}, error: () => {
|
18408
|
+
this.logging = false;
|
18409
|
+
this._sb.error();
|
18410
|
+
}
|
18338
18411
|
});
|
18339
18412
|
}
|
18340
18413
|
display(item) {
|
@@ -18505,7 +18578,7 @@ class QuickNotificationsComponent extends NotificationsComponentBase {
|
|
18505
18578
|
});
|
18506
18579
|
}
|
18507
18580
|
open(item, evt) {
|
18508
|
-
if (evt.
|
18581
|
+
if (evt.target.tagName !== 'MAT-ICON') {
|
18509
18582
|
if (!item.read)
|
18510
18583
|
this._service.read(item.id, item.sent, true).subscribe(() => item.read = true);
|
18511
18584
|
this._popupRef.close();
|
@@ -18633,7 +18706,7 @@ class SearchService {
|
|
18633
18706
|
this._cr = _cr;
|
18634
18707
|
}
|
18635
18708
|
_createInjector() {
|
18636
|
-
return Injector.create([], this._injector);
|
18709
|
+
return Injector.create({ providers: [], parent: this._injector });
|
18637
18710
|
}
|
18638
18711
|
search(value) {
|
18639
18712
|
const profile = this._session.profile;
|
@@ -18774,7 +18847,7 @@ class QuickToolsComponent {
|
|
18774
18847
|
notifs(evt) {
|
18775
18848
|
this.profile.notifications.length &&
|
18776
18849
|
this._session.notificationsTouch();
|
18777
|
-
this._popup.open(QuickNotificationsComponent, evt.
|
18850
|
+
this._popup.open(QuickNotificationsComponent, evt.target, { position: 'start' });
|
18778
18851
|
}
|
18779
18852
|
open(evt) {
|
18780
18853
|
if (this.searching)
|
@@ -18893,8 +18966,8 @@ class SlotsComponent {
|
|
18893
18966
|
parent = relativeTo || this.panes[this.selectedIndex];
|
18894
18967
|
let parentpath = parent.path;
|
18895
18968
|
while (path.startsWith('../')) {
|
18896
|
-
parentpath = parentpath.
|
18897
|
-
path = path.
|
18969
|
+
parentpath = parentpath.substring(0, parentpath.lastIndexOf('/'));
|
18970
|
+
path = path.substring(3);
|
18898
18971
|
}
|
18899
18972
|
path = parentpath + '/' + path;
|
18900
18973
|
}
|
@@ -19454,7 +19527,7 @@ class SlotsComponent {
|
|
19454
19527
|
if (isPromise(value))
|
19455
19528
|
await value.then(r => data[key] = r);
|
19456
19529
|
else if (isObservable(value))
|
19457
|
-
await value.pipe(tap(r => data[key] = r))
|
19530
|
+
await firstValueFrom(value.pipe(tap(r => data[key] = r)));
|
19458
19531
|
else
|
19459
19532
|
data[key] = value;
|
19460
19533
|
}
|
@@ -19797,7 +19870,7 @@ class SlotsComponent {
|
|
19797
19870
|
else if (isPromise(ok))
|
19798
19871
|
return ok;
|
19799
19872
|
else
|
19800
|
-
return ok
|
19873
|
+
return firstValueFrom(ok);
|
19801
19874
|
}
|
19802
19875
|
scrollTo(index) {
|
19803
19876
|
const item = this._children.item(index);
|
@@ -19825,14 +19898,14 @@ class SlotsComponent {
|
|
19825
19898
|
el.focus();
|
19826
19899
|
}
|
19827
19900
|
onPaneResize(pane, event) {
|
19828
|
-
const el = event.
|
19901
|
+
const el = event.target.previousElementSibling;
|
19829
19902
|
const // remember mouse down info
|
19830
19903
|
width = el.clientWidth, d = this._rtl ? -1 : 1;
|
19831
|
-
event.
|
19904
|
+
event.target.classList.add('resizing');
|
19832
19905
|
this.dragging = true;
|
19833
19906
|
document.onmousemove = onMouseMove;
|
19834
19907
|
document.onmouseup = () => {
|
19835
|
-
event.
|
19908
|
+
event.target.classList.remove('resizing');
|
19836
19909
|
document.onmousemove = document.onmouseup = null;
|
19837
19910
|
this.dragging = false;
|
19838
19911
|
};
|
@@ -19844,15 +19917,15 @@ class SlotsComponent {
|
|
19844
19917
|
}
|
19845
19918
|
}
|
19846
19919
|
onTabResize(event) {
|
19847
|
-
const el = event.
|
19920
|
+
const el = event.target.nextElementSibling;
|
19848
19921
|
const me = this,
|
19849
19922
|
// remember mouse down info
|
19850
19923
|
width = el.clientWidth, d = this._rtl ? 1 : -1;
|
19851
|
-
event.
|
19924
|
+
event.target.classList.add('resizing');
|
19852
19925
|
this.dragging = true;
|
19853
19926
|
document.onmousemove = onMouseMove;
|
19854
19927
|
document.onmouseup = () => {
|
19855
|
-
event.
|
19928
|
+
event.target.classList.remove('resizing');
|
19856
19929
|
document.onmousemove = document.onmouseup = null;
|
19857
19930
|
this.dragging = false;
|
19858
19931
|
me.enableNavigationArrows();
|
@@ -19924,7 +19997,7 @@ function prepareRoutes(routes, treePath) {
|
|
19924
19997
|
fullPath,
|
19925
19998
|
regEx: new RegExp('^' + fullPath.
|
19926
19999
|
replace('/', '\\/').
|
19927
|
-
replace(PANE_PARAMS_REGEX, e => `(?<${e.
|
20000
|
+
replace(PANE_PARAMS_REGEX, e => `(?<${e.substring(1)}>[\\w@\\-]*)`))
|
19928
20001
|
});
|
19929
20002
|
if (route.children) {
|
19930
20003
|
let children = prepareRoutes(route.children, fullPath);
|
@@ -20177,10 +20250,10 @@ class HomeComponent extends HomeBase {
|
|
20177
20250
|
}
|
20178
20251
|
/** options */
|
20179
20252
|
options(evt) {
|
20180
|
-
this._popup.open(QuickOptionsComponent, evt.
|
20253
|
+
this._popup.open(QuickOptionsComponent, evt.target, { position: 'end' });
|
20181
20254
|
}
|
20182
20255
|
signout(evt) {
|
20183
|
-
this._popup.open(QuickSignComponent, evt.
|
20256
|
+
this._popup.open(QuickSignComponent, evt.target, { position: 'end' });
|
20184
20257
|
}
|
20185
20258
|
nav(path) {
|
20186
20259
|
this._router.navigate([path]);
|
@@ -20209,15 +20282,17 @@ class HomeComponent extends HomeBase {
|
|
20209
20282
|
_create() {
|
20210
20283
|
this.creating = true;
|
20211
20284
|
this._mailbox.create(this.forms[0].name).
|
20212
|
-
subscribe(
|
20213
|
-
|
20214
|
-
|
20215
|
-
|
20216
|
-
|
20217
|
-
|
20218
|
-
|
20219
|
-
|
20220
|
-
|
20285
|
+
subscribe({
|
20286
|
+
next: r => {
|
20287
|
+
this.creating = false;
|
20288
|
+
this._router.navigate(['mailbox/i', r.id.encodeId()], {
|
20289
|
+
policy: OpenPolicy.Clear,
|
20290
|
+
state: { item: r }
|
20291
|
+
});
|
20292
|
+
}, error: (e) => {
|
20293
|
+
this._handleErr(e);
|
20294
|
+
this.creating = false;
|
20295
|
+
}
|
20221
20296
|
});
|
20222
20297
|
}
|
20223
20298
|
_handleErr(response) {
|
@@ -20269,7 +20344,7 @@ class HomeComponent extends HomeBase {
|
|
20269
20344
|
* @param event
|
20270
20345
|
*/
|
20271
20346
|
handleKeyboardEvent(event) {
|
20272
|
-
if (event.altKey && (event.
|
20347
|
+
if (event.altKey && (event.key === 'n' || event.key === 'N')) {
|
20273
20348
|
if (this.submenu === 'new')
|
20274
20349
|
this.submenu = null;
|
20275
20350
|
else {
|
@@ -20282,7 +20357,7 @@ class HomeComponent extends HomeBase {
|
|
20282
20357
|
}
|
20283
20358
|
event.preventDefault();
|
20284
20359
|
}
|
20285
|
-
else if (event.ctrlKey && event.
|
20360
|
+
else if (event.ctrlKey && event.key === '.') {
|
20286
20361
|
if (this.submenu && !this._collapseToggle) {
|
20287
20362
|
this.submenuMode = this.submenuMode === 'shrink' ? 'full' : 'shrink';
|
20288
20363
|
this._collapseToggle = true;
|
@@ -20315,7 +20390,7 @@ class CopyDialog {
|
|
20315
20390
|
constructor(_service, dialogRef) {
|
20316
20391
|
this._service = _service;
|
20317
20392
|
this.search = new FormControl();
|
20318
|
-
dialogRef.keydownEvents().pipe(filter(k => k.
|
20393
|
+
dialogRef.keydownEvents().pipe(filter(k => k.key === 'Enter')).
|
20319
20394
|
subscribe(() => this.selectedItem && dialogRef.close(this.selectedItem));
|
20320
20395
|
}
|
20321
20396
|
ngOnInit() {
|
@@ -20352,17 +20427,21 @@ class FormSelectorSheet {
|
|
20352
20427
|
this.forms = _session.profile.forms.filter(f => f.creatable);
|
20353
20428
|
}
|
20354
20429
|
open(form) {
|
20355
|
-
this._mailbox.create(form).subscribe(
|
20430
|
+
this._mailbox.create(form).subscribe({
|
20431
|
+
next: i => this._route(i), error: e => this._error(e)
|
20432
|
+
});
|
20356
20433
|
this._bsRef.dismiss();
|
20357
20434
|
}
|
20358
20435
|
copy(event) {
|
20359
20436
|
event.preventDefault();
|
20360
20437
|
this._bsRef.afterDismissed().subscribe(() => this._dialog.open(CopyDialog).afterClosed().subscribe(i => {
|
20361
20438
|
i &&
|
20362
|
-
this._mailbox.copy(i.documentId).subscribe(
|
20363
|
-
|
20364
|
-
|
20365
|
-
|
20439
|
+
this._mailbox.copy(i.documentId).subscribe({
|
20440
|
+
next: i => {
|
20441
|
+
this._sb.toast('Copied', i.number || this._getForm(i.formId).title);
|
20442
|
+
this._route(i);
|
20443
|
+
}, error: e => this._error(e)
|
20444
|
+
});
|
20366
20445
|
}));
|
20367
20446
|
this._bsRef.dismiss();
|
20368
20447
|
}
|
@@ -20500,7 +20579,7 @@ class HomeMobileComponent extends HomeBase {
|
|
20500
20579
|
}
|
20501
20580
|
/** options */
|
20502
20581
|
options(evt) {
|
20503
|
-
this._popup.open(QuickOptionsComponent, evt.
|
20582
|
+
this._popup.open(QuickOptionsComponent, evt.target, { position: 'end' });
|
20504
20583
|
}
|
20505
20584
|
signout() {
|
20506
20585
|
this.menuDrawer.close();
|
@@ -20745,7 +20824,7 @@ const PANES_CONFIG = [{
|
|
20745
20824
|
path: 'i/:template/:key',
|
20746
20825
|
component: ExploreItemPaneComponent,
|
20747
20826
|
policy: OpenPolicy.Tab | OpenPolicy.Expandable,
|
20748
|
-
resolve: { item:
|
20827
|
+
resolve: { item: CubeItemResolver }
|
20749
20828
|
}]
|
20750
20829
|
},
|
20751
20830
|
{
|
@@ -20964,7 +21043,7 @@ class CanDeactivateCompose {
|
|
20964
21043
|
constructor(_sb) {
|
20965
21044
|
this._sb = _sb;
|
20966
21045
|
}
|
20967
|
-
canDeactivate(component
|
21046
|
+
canDeactivate(component) {
|
20968
21047
|
if (component.form.dirty)
|
20969
21048
|
return this._sb.ask('SaveChangesAsk', 'SaveChanges', { i18n: true, color: 'primary', ok: 'Save', cancel: 'Ignore' }).pipe(switchMap(ok => {
|
20970
21049
|
if (ok)
|
@@ -21224,7 +21303,10 @@ class RecipientResolveService {
|
|
21224
21303
|
return of(item);
|
21225
21304
|
}
|
21226
21305
|
const id = route.paramMap.get('id').decodeId();
|
21227
|
-
return this._mailbox.get(id).pipe(
|
21306
|
+
return this._mailbox.get(id).pipe(catchError(() => {
|
21307
|
+
this._sb.error();
|
21308
|
+
throw new Error();
|
21309
|
+
}));
|
21228
21310
|
}
|
21229
21311
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RecipientResolveService, deps: [{ token: MailboxService }, { token: PromptService }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
21230
21312
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RecipientResolveService }); }
|
@@ -21247,7 +21329,10 @@ class DocumentResolveService {
|
|
21247
21329
|
return of(item);
|
21248
21330
|
}
|
21249
21331
|
const id = route.paramMap.get('id').decodeId();
|
21250
|
-
return this._mailbox.info(id).pipe(
|
21332
|
+
return this._mailbox.info(id).pipe(catchError(() => {
|
21333
|
+
this._sb.error();
|
21334
|
+
throw new Error();
|
21335
|
+
}));
|
21251
21336
|
}
|
21252
21337
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentResolveService, deps: [{ token: MailboxService }, { token: PromptService }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
21253
21338
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentResolveService }); }
|
@@ -21325,11 +21410,12 @@ class DocumentInfoPageComponent {
|
|
21325
21410
|
});
|
21326
21411
|
}
|
21327
21412
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentInfoPageComponent, deps: [{ token: i1$4.ActivatedRoute }, { token: WindowTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
21328
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DocumentInfoPageComponent, selector: "
|
21413
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DocumentInfoPageComponent, selector: "bizdoc-document-info-page", ngImport: i0, template: `<bizdoc-document [model]=model></bizdoc-document>`, isInline: true, dependencies: [{ kind: "component", type: DocumentInfoComponent, selector: "bizdoc-document", inputs: ["model"] }] }); }
|
21329
21414
|
}
|
21330
21415
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DocumentInfoPageComponent, decorators: [{
|
21331
21416
|
type: Component,
|
21332
21417
|
args: [{
|
21418
|
+
selector: 'bizdoc-document-info-page',
|
21333
21419
|
template: `<bizdoc-document [model]=model></bizdoc-document>`
|
21334
21420
|
}]
|
21335
21421
|
}], ctorParameters: function () { return [{ type: i1$4.ActivatedRoute }, { type: WindowTitleService }]; } });
|
@@ -21353,20 +21439,26 @@ const ROUTES = [
|
|
21353
21439
|
{
|
21354
21440
|
path: 'mailbox',
|
21355
21441
|
children: [
|
21356
|
-
{
|
21357
|
-
path: 'i/:id/views',
|
21358
|
-
resolve: { item: RecipientResolveService },
|
21359
|
-
component: DocumentViewMobileComponent
|
21360
|
-
},
|
21361
21442
|
{
|
21362
21443
|
path: 'i/:id',
|
21363
21444
|
component: ComposeComponent,
|
21364
|
-
resolve: {
|
21365
|
-
|
21445
|
+
resolve: {
|
21446
|
+
item: () => inject(RecipientResolveService).resolve(inject(ActivatedRouteSnapshot))
|
21447
|
+
},
|
21448
|
+
children: [
|
21449
|
+
{
|
21450
|
+
path: 'views',
|
21451
|
+
component: DocumentViewMobileComponent
|
21452
|
+
},
|
21453
|
+
],
|
21454
|
+
canDeactivate: [() => inject(CanDeactivateCompose).
|
21455
|
+
canDeactivate(inject(ComposeComponent))],
|
21366
21456
|
},
|
21367
21457
|
{
|
21368
21458
|
path: 'd/:id', component: DocumentInfoPageComponent,
|
21369
|
-
resolve: {
|
21459
|
+
resolve: {
|
21460
|
+
item: () => inject(DocumentResolveService).resolve(inject(ActivatedRouteSnapshot))
|
21461
|
+
}
|
21370
21462
|
},
|
21371
21463
|
{
|
21372
21464
|
path: 'f/:id', component: BrowseComponent,
|
@@ -21705,7 +21797,7 @@ class MapComponent {
|
|
21705
21797
|
});
|
21706
21798
|
infowindow.open(map, marker);
|
21707
21799
|
}, MARKER_DELAY);
|
21708
|
-
this._ref.keydownEvents().pipe(filter(k => k.
|
21800
|
+
this._ref.keydownEvents().pipe(filter(k => k.key === 'Escape')).subscribe(() => this._ref.detach());
|
21709
21801
|
this._ref.backdropClick().pipe().subscribe(() => this._ref.detach());
|
21710
21802
|
}
|
21711
21803
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MapComponent, deps: [{ token: i1$1.OverlayRef }, { token: LOCATION_DATA }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
@@ -21782,9 +21874,12 @@ class CubeMatrixPopupComponent extends CubeMatrixBase {
|
|
21782
21874
|
this.originalAxes = base;
|
21783
21875
|
}
|
21784
21876
|
ngOnInit() {
|
21785
|
-
this.table.loadingChange.pipe(filter$1(ok => !ok), first$1()).subscribe(
|
21786
|
-
|
21787
|
-
|
21877
|
+
this.table.loadingChange.pipe(filter$1(ok => !ok), first$1()).subscribe({
|
21878
|
+
next: () => this.preloading = false,
|
21879
|
+
error: (e) => {
|
21880
|
+
if (e.status === 401)
|
21881
|
+
this._ref.close();
|
21882
|
+
}
|
21788
21883
|
});
|
21789
21884
|
}
|
21790
21885
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeMatrixPopupComponent, deps: [{ token: PopupRef }, { token: POPUP_DATA }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
@@ -22280,19 +22375,20 @@ class FileInput {
|
|
22280
22375
|
'.' + AttachmentInfo.fileExt(item.fileName) + ',' + item.contentType;
|
22281
22376
|
this._prompt({ multiple: false, accept }).then(files => {
|
22282
22377
|
this._mailbox.checkIn(this._model.id, this._model.version, item.id, files[0]).
|
22283
|
-
|
22284
|
-
|
22285
|
-
|
22286
|
-
|
22287
|
-
|
22288
|
-
|
22289
|
-
|
22290
|
-
|
22291
|
-
|
22292
|
-
|
22293
|
-
|
22294
|
-
|
22295
|
-
|
22378
|
+
subscribe({
|
22379
|
+
next: a => {
|
22380
|
+
delete item.checkedOut;
|
22381
|
+
Object.assign(item, a);
|
22382
|
+
if (this.multiple) {
|
22383
|
+
const index = this.value.indexOf(item.id);
|
22384
|
+
// replace value with new id
|
22385
|
+
this.value.splice(index, 1, a.id);
|
22386
|
+
}
|
22387
|
+
else
|
22388
|
+
this.value = a.id;
|
22389
|
+
this._sb.toast(this._translate.get('CheckedIn', item.fileName));
|
22390
|
+
}, error: e => this._handleError(e)
|
22391
|
+
});
|
22296
22392
|
});
|
22297
22393
|
}
|
22298
22394
|
checkOut(item) {
|
@@ -22303,13 +22399,15 @@ class FileInput {
|
|
22303
22399
|
});
|
22304
22400
|
}
|
22305
22401
|
discard(item) {
|
22306
|
-
const task = () => this._mailbox.removeattachment(this._model.id, item.id).subscribe(
|
22307
|
-
|
22308
|
-
|
22309
|
-
|
22310
|
-
|
22311
|
-
|
22312
|
-
|
22402
|
+
const task = () => this._mailbox.removeattachment(this._model.id, item.id).subscribe({
|
22403
|
+
next: () => {
|
22404
|
+
this.items.remove(item);
|
22405
|
+
this._value = this.multiple ? this.items.length ? this.items.map(i => i.id) : null : null;
|
22406
|
+
this._onChange && this._onChange(this.value);
|
22407
|
+
const aitem = this._model.attachments.find(a => a.id === item.id);
|
22408
|
+
aitem.deleted = true;
|
22409
|
+
}, error: e => this._handleError(e)
|
22410
|
+
});
|
22313
22411
|
if (this._model.draft)
|
22314
22412
|
task();
|
22315
22413
|
else
|
@@ -22441,10 +22539,7 @@ class FileInput {
|
|
22441
22539
|
this._input.nativeElement.multiple = options.multiple;
|
22442
22540
|
}
|
22443
22541
|
this._input.nativeElement.click();
|
22444
|
-
return
|
22445
|
-
this._pending.pipe(first()).
|
22446
|
-
subscribe(resolve, reject);
|
22447
|
-
});
|
22542
|
+
return firstValueFrom(this._pending);
|
22448
22543
|
}
|
22449
22544
|
/**
|
22450
22545
|
*
|
@@ -22452,7 +22547,7 @@ class FileInput {
|
|
22452
22547
|
*/
|
22453
22548
|
_change(evt) {
|
22454
22549
|
this._onTouched && this._onTouched();
|
22455
|
-
const { files } = evt.
|
22550
|
+
const { files } = evt.target;
|
22456
22551
|
const arr = [];
|
22457
22552
|
for (var i = 0; i < files.length; i++) {
|
22458
22553
|
let file = files.item(i);
|
@@ -22492,7 +22587,7 @@ class FileInput {
|
|
22492
22587
|
if (item.checkedOut) {
|
22493
22588
|
// check in
|
22494
22589
|
let observable = this._mailbox.checkIn(this._model.id, this._model.version, item.id, file).
|
22495
|
-
pipe(reportProgress(item), catchError(e => {
|
22590
|
+
pipe(reportProgress(item), catchError$1(e => {
|
22496
22591
|
this._handleError(e);
|
22497
22592
|
return of(false);
|
22498
22593
|
}), tap((a) => {
|
@@ -22509,7 +22604,7 @@ class FileInput {
|
|
22509
22604
|
else if (this.canEdit(item)) {
|
22510
22605
|
// existing item, override
|
22511
22606
|
let observable = this._mailbox.upload(this._model.id, this._model.formId, this._model.version, file, { isPrivate: true }).
|
22512
|
-
pipe(reportProgress(item), catchError(e => {
|
22607
|
+
pipe(reportProgress(item), catchError$1(e => {
|
22513
22608
|
this._handleError(e);
|
22514
22609
|
return of(false);
|
22515
22610
|
}), tap((a) => {
|
@@ -22529,7 +22624,7 @@ class FileInput {
|
|
22529
22624
|
//this.items.push(this._createItem(a));
|
22530
22625
|
// upload new
|
22531
22626
|
let observable = this._mailbox.upload(this._model.id, this._model.formId, this._model.version, file, { isPrivate: true }).
|
22532
|
-
pipe(/*TODO reportProgress(item), */ catchError(e => {
|
22627
|
+
pipe(/*TODO reportProgress(item), */ catchError$1(e => {
|
22533
22628
|
this._handleError(e);
|
22534
22629
|
return of(false);
|
22535
22630
|
}), tap((a) => {
|
@@ -23617,13 +23712,15 @@ class CubeDocumentsWidget {
|
|
23617
23712
|
this.dataSource.sort = this.sort;
|
23618
23713
|
}
|
23619
23714
|
open(item) {
|
23620
|
-
this._mailbox.info(item.id).subscribe(
|
23621
|
-
|
23622
|
-
|
23623
|
-
|
23624
|
-
|
23625
|
-
|
23626
|
-
|
23715
|
+
this._mailbox.info(item.id).subscribe({
|
23716
|
+
next: item => {
|
23717
|
+
this._router.navigate(['mailbox/d', item.documentId.encodeId()], {
|
23718
|
+
state: {
|
23719
|
+
item
|
23720
|
+
}
|
23721
|
+
});
|
23722
|
+
}, error: () => this._sb.error()
|
23723
|
+
});
|
23627
23724
|
}
|
23628
23725
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeDocumentsWidget, deps: [{ token: RouterImpl }, { token: MailboxService }, { token: PromptService }, { token: WidgetRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
23629
23726
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CubeDocumentsWidget, selector: "ng-component", host: { properties: { "style.height": "this.height" } }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z0\" matSort @list>\r\n <ng-container matColumnDef=\"number\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Number' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\"> <a (click)=\"open(element)\">#{{element.number}}</a></td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"subject\">\r\n <th mat-header-cell *matHeaderCellDef> {{'Subject' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"text\"> {{element.subject}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"state\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{'Status' | translate}} </th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.state | state }} </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\r\n <tr mat-row @item *matRowDef=\"let row; columns: columns;\"></tr>\r\n</table>\r\n", styles: ["table{width:100%}td.text{text-overflow:ellipsis;max-width:100px;white-space:nowrap;overflow:hidden}:host{overflow:hidden;display:block}:host:hover{overflow-y:auto!important}\n"], dependencies: [{ kind: "component", type: i4$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i5$3.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5$3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: StatePipe, name: "state" }], animations: [
|
@@ -23734,12 +23831,14 @@ class RecentsWidget {
|
|
23734
23831
|
_navigate(item, commands, extra) {
|
23735
23832
|
item.loading = true;
|
23736
23833
|
this._service.get(item.id).
|
23737
|
-
subscribe(
|
23738
|
-
|
23739
|
-
|
23740
|
-
|
23741
|
-
|
23742
|
-
|
23834
|
+
subscribe({
|
23835
|
+
next: i => {
|
23836
|
+
this._router.navigate(['mailbox/i', item.id.encodeId(), ...commands], { ...extra, state: { item: i } });
|
23837
|
+
item.loading = false;
|
23838
|
+
}, error: () => {
|
23839
|
+
this._ps.error();
|
23840
|
+
item.loading = false;
|
23841
|
+
}
|
23743
23842
|
});
|
23744
23843
|
}
|
23745
23844
|
open(item) {
|
@@ -24111,7 +24210,7 @@ let CompareGroupsWidget = CompareGroupsWidget_1 = class CompareGroupsWidget {
|
|
24111
24210
|
this._destroy.complete();
|
24112
24211
|
}
|
24113
24212
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CompareGroupsWidget, deps: [{ token: TranslateService }, { token: WidgetRef }, { token: i0.ElementRef }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
24114
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CompareGroupsWidget, selector: "
|
24213
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CompareGroupsWidget, selector: "bizdoc-compare-groups", host: { attributes: { "dir": "ltr" }, properties: { "id": "id" } }, providers: [LineSeriesService, CrosshairService, ColumnSeriesService], viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
|
24115
24214
|
};
|
24116
24215
|
CompareGroupsWidget = CompareGroupsWidget_1 = __decorate([
|
24117
24216
|
BizDoc({
|
@@ -24122,6 +24221,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
24122
24221
|
type: Component,
|
24123
24222
|
args: [{
|
24124
24223
|
//templateUrl: './compare-groups.widget.html',
|
24224
|
+
selector: 'bizdoc-compare-groups',
|
24125
24225
|
template: '',
|
24126
24226
|
providers: [LineSeriesService, CrosshairService, ColumnSeriesService],
|
24127
24227
|
host: {
|
@@ -26161,11 +26261,13 @@ class CombinationPickerBody {
|
|
26161
26261
|
this._axes.forEach(a => values[a.name] && (args[a.name] = values[a.name]));
|
26162
26262
|
this._service.combinations(this._cube.name, args, { take: this._data.limit, progress: false }).
|
26163
26263
|
pipe(finalize(() => this._working = false)).
|
26164
|
-
subscribe(
|
26165
|
-
|
26166
|
-
|
26167
|
-
|
26168
|
-
|
26264
|
+
subscribe({
|
26265
|
+
next: r => {
|
26266
|
+
this._combinations = r;
|
26267
|
+
this._switchMode('results');
|
26268
|
+
r.length === this._data.limit && this._snackbar.toast('TakeMore');
|
26269
|
+
}, error: () => this._snackbar.error()
|
26270
|
+
});
|
26169
26271
|
}
|
26170
26272
|
/**
|
26171
26273
|
* item select
|
@@ -26201,11 +26303,10 @@ class CombinationPickerBody {
|
|
26201
26303
|
...defaults
|
26202
26304
|
};
|
26203
26305
|
codes.slice(0, this._axes.length).forEach((a, i) => axes[this._axes[i].name] = a);
|
26204
|
-
this._accountInfo.popup(axes, evt.
|
26306
|
+
this._accountInfo.popup(axes, evt.target, {
|
26205
26307
|
...this._data.exploreSettings,
|
26206
26308
|
cube: this._cube.name
|
26207
26309
|
});
|
26208
|
-
evt.cancelBubble = true;
|
26209
26310
|
evt.preventDefault();
|
26210
26311
|
evt.stopPropagation();
|
26211
26312
|
}
|
@@ -26521,10 +26622,10 @@ class CombinationPool {
|
|
26521
26622
|
control.valueChanges.pipe(debounceTime(250), takeUntil$1(this._destroy)).subscribe(v => {
|
26522
26623
|
this.model[a.name] = v;
|
26523
26624
|
this._populate().
|
26524
|
-
|
26625
|
+
pipe(tap(() => this.modelChange.next(this.model))).subscribe();
|
26525
26626
|
});
|
26526
26627
|
});
|
26527
|
-
this._populate();
|
26628
|
+
this._populate().subscribe();
|
26528
26629
|
}
|
26529
26630
|
_populate() {
|
26530
26631
|
this.working = true;
|
@@ -26534,7 +26635,7 @@ class CombinationPool {
|
|
26534
26635
|
if (val)
|
26535
26636
|
values[a.name] = val;
|
26536
26637
|
});
|
26537
|
-
return this._service.constraints(this._cube.name, values, { source: this.source }).
|
26638
|
+
return this._service.constraints(this._cube.name, values, { source: this.source }).pipe(tap(r => {
|
26538
26639
|
Object.keys(r).forEach(t => {
|
26539
26640
|
this._values[t] = r[t];
|
26540
26641
|
const keys = this._keys[t] = Object.keys(r[t]);
|
@@ -26549,7 +26650,7 @@ class CombinationPool {
|
|
26549
26650
|
});
|
26550
26651
|
Object.assign(this._values, r);
|
26551
26652
|
this.working = false;
|
26552
|
-
});
|
26653
|
+
}));
|
26553
26654
|
}
|
26554
26655
|
clear(axis) {
|
26555
26656
|
const control = this.form.controls[axis];
|
@@ -27044,7 +27145,7 @@ class QuickCommentComponent {
|
|
27044
27145
|
this._destroy = new Subject();
|
27045
27146
|
}
|
27046
27147
|
ngOnInit() {
|
27047
|
-
this._textChange.pipe(debounceTime$1(TYPING_NOTIFY), takeUntil(this._destroy)).subscribe(() => this._mailbox.typing(this.model.documentId));
|
27148
|
+
this._textChange.pipe(debounceTime$1(TYPING_NOTIFY$1), takeUntil(this._destroy)).subscribe(() => this._mailbox.typing(this.model.documentId).subscribe());
|
27048
27149
|
this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter$1(e => e.id === this.model.documentId)).
|
27049
27150
|
subscribe(e => {
|
27050
27151
|
this._accounts.get(e.userId).subscribe(u => {
|
@@ -27058,12 +27159,14 @@ class QuickCommentComponent {
|
|
27058
27159
|
const { text, resource } = evt;
|
27059
27160
|
this.sending = true;
|
27060
27161
|
this._mailbox.comment(this.model.documentId, { text, resource }).
|
27061
|
-
subscribe(
|
27062
|
-
|
27063
|
-
|
27064
|
-
|
27065
|
-
|
27066
|
-
|
27162
|
+
subscribe({
|
27163
|
+
next: c => {
|
27164
|
+
this.model.comments.push(c);
|
27165
|
+
this.sending = false;
|
27166
|
+
}, error: () => {
|
27167
|
+
this._sb.error();
|
27168
|
+
this.sending = false;
|
27169
|
+
}
|
27067
27170
|
});
|
27068
27171
|
}
|
27069
27172
|
ngOnDestroy() {
|
@@ -27156,8 +27259,7 @@ class CubeBase {
|
|
27156
27259
|
return null;
|
27157
27260
|
const axes = {};
|
27158
27261
|
this._viewRef.options.aggregate.forEach(a => axes[a] = this.originalAxes[a]);
|
27159
|
-
return await this._service.nameOf(axes, this.cube.name)
|
27160
|
-
toPromise();
|
27262
|
+
return await firstValueFrom(this._service.nameOf(axes, this.cube.name));
|
27161
27263
|
}
|
27162
27264
|
aggregate(originalAxes) {
|
27163
27265
|
const axes = { ...originalAxes };
|
@@ -27522,14 +27624,17 @@ class TimelineViewComponent {
|
|
27522
27624
|
}
|
27523
27625
|
if (l.byId) {
|
27524
27626
|
const who = this._users.get(l.userId), by = this._users.get(l.byId);
|
27525
|
-
const promise = forkJoin(who, by).pipe(tap(ns => {
|
27627
|
+
const promise = forkJoin([who, by]).pipe(tap(ns => {
|
27526
27628
|
const [who, by] = ns;
|
27527
27629
|
task.name = this._translate.get('By', who.name, by.name);
|
27528
27630
|
// if (l.role) {
|
27529
27631
|
// const role = this.session.profile.roles.find(o => o.name === l.role);
|
27530
27632
|
// if (role) task.name += `, ${role.name}`;
|
27531
27633
|
// }
|
27532
|
-
}, () =>
|
27634
|
+
}), catchError(() => {
|
27635
|
+
this._ps.error();
|
27636
|
+
throw new Error();
|
27637
|
+
}));
|
27533
27638
|
promisses.push(promise);
|
27534
27639
|
}
|
27535
27640
|
else if (l.userId) {
|
@@ -27539,7 +27644,10 @@ class TimelineViewComponent {
|
|
27539
27644
|
// const role = this.session.profile.roles.find(o => o.name === l.role);
|
27540
27645
|
// if (role) task.name += `, ${role.name}`;
|
27541
27646
|
// }
|
27542
|
-
}, () =>
|
27647
|
+
}), catchError(() => {
|
27648
|
+
this._ps.error();
|
27649
|
+
throw new Error();
|
27650
|
+
}));
|
27543
27651
|
promisses.push(promise);
|
27544
27652
|
}
|
27545
27653
|
});
|
@@ -27561,7 +27669,7 @@ class TimelineViewComponent {
|
|
27561
27669
|
if (r.substituteId) {
|
27562
27670
|
const by = this._users.get(r.substituteId);
|
27563
27671
|
const who = this._users.get(r.userId);
|
27564
|
-
const promise = forkJoin(who, by).pipe(tap(u => {
|
27672
|
+
const promise = forkJoin([who, by]).pipe(tap(u => {
|
27565
27673
|
task.name = this._translate.get('WhoSubstituting', u[0].name, u[1].name);
|
27566
27674
|
if (u[0].role)
|
27567
27675
|
task.name += `, ${u[0].role}`;
|
@@ -27570,7 +27678,10 @@ class TimelineViewComponent {
|
|
27570
27678
|
if (role)
|
27571
27679
|
task.name += `, ${role.name}`;
|
27572
27680
|
}
|
27573
|
-
}, () =>
|
27681
|
+
}), catchError(() => {
|
27682
|
+
this._ps.error();
|
27683
|
+
throw new Error();
|
27684
|
+
}));
|
27574
27685
|
promisses.push(promise);
|
27575
27686
|
}
|
27576
27687
|
else {
|
@@ -27583,7 +27694,10 @@ class TimelineViewComponent {
|
|
27583
27694
|
if (role)
|
27584
27695
|
task.name += `, ${role.name}`;
|
27585
27696
|
}
|
27586
|
-
}, () =>
|
27697
|
+
}), catchError(() => {
|
27698
|
+
this._ps.error();
|
27699
|
+
throw new Error();
|
27700
|
+
}));
|
27587
27701
|
promisses.push(promise);
|
27588
27702
|
}
|
27589
27703
|
if (r.nodeId) {
|
@@ -27702,7 +27816,7 @@ class CubeSumComponent {
|
|
27702
27816
|
this._fish(axis);
|
27703
27817
|
}
|
27704
27818
|
async _strict(axis) {
|
27705
|
-
const keys = await this._ds.keys(this.primaryAxis.dataType)
|
27819
|
+
const keys = await firstValueFrom(this._ds.keys(this.primaryAxis.dataType)), keyIndex = keys.indexOf(axis);
|
27706
27820
|
const filters = { ...this.filters };
|
27707
27821
|
const axes = [axis];
|
27708
27822
|
if (keyIndex > 0)
|
@@ -27710,11 +27824,11 @@ class CubeSumComponent {
|
|
27710
27824
|
if (keyIndex === keys.length - 1)
|
27711
27825
|
axes.push(keys[keyIndex + 1]);
|
27712
27826
|
filters[this.primaryAxis.name] = axis;
|
27713
|
-
const results = await this._service.series(this._cube.name, this.primaryAxis.name, {
|
27827
|
+
const results = await firstValueFrom(this._service.series(this._cube.name, this.primaryAxis.name, {
|
27714
27828
|
indices: this.indices,
|
27715
27829
|
scope: this.scope,
|
27716
27830
|
filters
|
27717
|
-
})
|
27831
|
+
})).catch(this._handleErr.bind(this));
|
27718
27832
|
for (var i = 0; i < results.length; i++) {
|
27719
27833
|
const { index, title, points } = results[i];
|
27720
27834
|
for (var j = 0; j < points.length; j++) {
|
@@ -27745,18 +27859,18 @@ class CubeSumComponent {
|
|
27745
27859
|
}
|
27746
27860
|
const parallel = async (direction) => {
|
27747
27861
|
const parentKey = this.filters[this.parentAxis];
|
27748
|
-
const parentKeys = await this._ds.keys(this._parentAxis.dataType)
|
27862
|
+
const parentKeys = await firstValueFrom(this._ds.keys(this._parentAxis.dataType));
|
27749
27863
|
const index = parentKeys.indexOf((isArray(parentKey) ? parentKey[0] : parentKey)), scope = parentKeys[index + direction];
|
27750
27864
|
if (!scope)
|
27751
27865
|
return;
|
27752
27866
|
filters[this.parentAxis] = scope;
|
27753
27867
|
const axis = keys[keys.length + direction];
|
27754
27868
|
filters[this.primaryAxis.name] = axis;
|
27755
|
-
const results = await this._service.series(this._cube.name, this.primaryAxis.name, {
|
27869
|
+
const results = await firstValueFrom(this._service.series(this._cube.name, this.primaryAxis.name, {
|
27756
27870
|
indices: this.indices,
|
27757
27871
|
scope: this.scope,
|
27758
27872
|
filters
|
27759
|
-
})
|
27873
|
+
})).catch(this._handleErr.bind(this));
|
27760
27874
|
const level = { axis, indices: [], scope };
|
27761
27875
|
for (var i = 0; i < results.length; i++) {
|
27762
27876
|
const { index, title, points } = results[i];
|
@@ -27783,11 +27897,10 @@ class CubeSumComponent {
|
|
27783
27897
|
try {
|
27784
27898
|
const filters = { ...this.filters };
|
27785
27899
|
delete filters[this.xAxis];
|
27786
|
-
const results = this._results = await this._service.series(this._cube.name, this.xAxis, {
|
27900
|
+
const results = this._results = await firstValueFrom(this._service.series(this._cube.name, this.xAxis, {
|
27787
27901
|
indices: this.indices, filters,
|
27788
27902
|
scope: this.scope
|
27789
|
-
}).
|
27790
|
-
toPromise().catch(this._handleErr.bind(this));
|
27903
|
+
})).catch(this._handleErr.bind(this));
|
27791
27904
|
this.current = {
|
27792
27905
|
axis,
|
27793
27906
|
value: 0,
|
@@ -27872,8 +27985,7 @@ class CubeSumComponent {
|
|
27872
27985
|
async getAggregateLabel() {
|
27873
27986
|
const axes = { ...this.filters };
|
27874
27987
|
delete axes[this.xAxis];
|
27875
|
-
return await this._service.nameOf(axes, this._cube.name)
|
27876
|
-
toPromise();
|
27988
|
+
return await firstValueFrom(this._service.nameOf(axes, this._cube.name));
|
27877
27989
|
}
|
27878
27990
|
_calculate(level) {
|
27879
27991
|
const indices = level.indices
|
@@ -27966,17 +28078,17 @@ class CubeSumComponent {
|
|
27966
28078
|
async _parallel(direction, parentKey) {
|
27967
28079
|
if (!this._parentAxis)
|
27968
28080
|
return;
|
27969
|
-
const parentKeys = await this._ds.keys(this._parentAxis.dataType)
|
28081
|
+
const parentKeys = await firstValueFrom(this._ds.keys(this._parentAxis.dataType));
|
27970
28082
|
const keyIndex = parentKeys.indexOf((isArray(parentKey) ? parentKey[0] : parentKey)), scope = parentKeys[keyIndex + direction];
|
27971
28083
|
if (!scope)
|
27972
28084
|
return;
|
27973
28085
|
const filters = { ...this.filters };
|
27974
28086
|
filters[this.parentAxis] = scope;
|
27975
28087
|
delete filters[this.xAxis];
|
27976
|
-
const results = this._scoperesults = await this._service.series(this._cube.name, this.xAxis, {
|
28088
|
+
const results = this._scoperesults = await firstValueFrom(this._service.series(this._cube.name, this.xAxis, {
|
27977
28089
|
indices: this.indices, filters,
|
27978
28090
|
scope: this.scope
|
27979
|
-
})
|
28091
|
+
})).catch(this._handleErr.bind(this));
|
27980
28092
|
this._scope = scope;
|
27981
28093
|
if (!results.some(s => s.points.length))
|
27982
28094
|
return;
|
@@ -27984,7 +28096,7 @@ class CubeSumComponent {
|
|
27984
28096
|
scope,
|
27985
28097
|
indices: []
|
27986
28098
|
};
|
27987
|
-
const parentTitle = await this._ds.get(this._parentAxis.dataType, scope)
|
28099
|
+
const parentTitle = await firstValueFrom(this._ds.get(this._parentAxis.dataType, scope));
|
27988
28100
|
for (var j = 0; j < results.length; j++) {
|
27989
28101
|
let { index, title, points, name } = results[j], q = direction > 0 ? 0 : points.length - 1, point = points[q];
|
27990
28102
|
if (index) {
|
@@ -28203,16 +28315,18 @@ let CubeExploreViewComponent = class CubeExploreViewComponent extends CubeBase {
|
|
28203
28315
|
item(evt) {
|
28204
28316
|
const { keys } = evt;
|
28205
28317
|
this.loading = true;
|
28206
|
-
this._service.item(this.cube.name, this.axes, keys).subscribe(
|
28207
|
-
|
28208
|
-
|
28209
|
-
|
28210
|
-
|
28211
|
-
|
28212
|
-
|
28213
|
-
|
28214
|
-
|
28215
|
-
|
28318
|
+
this._service.item(this.cube.name, this.axes, keys).subscribe({
|
28319
|
+
next: item => {
|
28320
|
+
this._router.navigate(['cube', this.cube.name, 'explore', 'i', evt.template, keys[0]], {
|
28321
|
+
queryParams: this.axes,
|
28322
|
+
state: { item },
|
28323
|
+
group: this.group,
|
28324
|
+
});
|
28325
|
+
this.loading = false;
|
28326
|
+
}, error: e => {
|
28327
|
+
this.loading = false;
|
28328
|
+
this._sb.error(e.status === 401 ? 'Unauthorized' : null);
|
28329
|
+
}
|
28216
28330
|
});
|
28217
28331
|
}
|
28218
28332
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeExploreViewComponent, deps: [{ token: DocumentViewRef }, { token: PromptService }, { token: RouterImpl }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
@@ -28320,15 +28434,17 @@ class CubeParallelComponent {
|
|
28320
28434
|
indices: this.indices,
|
28321
28435
|
groupIndices: true,
|
28322
28436
|
scope: this.scope
|
28323
|
-
}).subscribe(
|
28324
|
-
|
28325
|
-
|
28326
|
-
|
28327
|
-
|
28328
|
-
|
28329
|
-
|
28330
|
-
|
28331
|
-
|
28437
|
+
}).subscribe({
|
28438
|
+
next: r => {
|
28439
|
+
this._data = r;
|
28440
|
+
this._draw();
|
28441
|
+
if (this.items.length)
|
28442
|
+
this.width = Math.max(Math.round(this.size / this.items.length), 150) + 'px';
|
28443
|
+
this._loading.next(false);
|
28444
|
+
}, error: (e) => {
|
28445
|
+
this._sb.error(errResource(e));
|
28446
|
+
this._loading.next(false);
|
28447
|
+
}
|
28332
28448
|
});
|
28333
28449
|
}
|
28334
28450
|
_draw() {
|
@@ -28506,7 +28622,7 @@ let CubeUsageComponent = class CubeUsageComponent {
|
|
28506
28622
|
this._instance = this._vc.createComponent(comp).instance;
|
28507
28623
|
}
|
28508
28624
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeUsageComponent, deps: [{ token: ReportRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
28509
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CubeUsageComponent, selector: "
|
28625
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CubeUsageComponent, selector: "bizdoc-cube-usage", ngImport: i0, template: '', isInline: true }); }
|
28510
28626
|
};
|
28511
28627
|
CubeUsageComponent = __decorate([
|
28512
28628
|
BizDoc({
|
@@ -28516,6 +28632,7 @@ CubeUsageComponent = __decorate([
|
|
28516
28632
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubeUsageComponent, decorators: [{
|
28517
28633
|
type: Component,
|
28518
28634
|
args: [{
|
28635
|
+
selector: 'bizdoc-cube-usage',
|
28519
28636
|
template: ''
|
28520
28637
|
}]
|
28521
28638
|
}], ctorParameters: function () { return [{ type: ReportRef }, { type: i0.ViewContainerRef }]; } });
|
@@ -28662,7 +28779,7 @@ let CubePerformanceWidget = CubePerformanceWidget_1 = class CubePerformanceWidge
|
|
28662
28779
|
});
|
28663
28780
|
const cube = this._session.profile.cubes.find(c => c.name === this._widgetRef.options.cube || this._widgetRef.options.cube == null);
|
28664
28781
|
const axis = cube.axes.find(a => a.name === this._widgetRef.options.series);
|
28665
|
-
const title = await this._type.get(axis.dataType, item.series)
|
28782
|
+
const title = await firstValueFrom(this._type.get(axis.dataType, item.series));
|
28666
28783
|
series.push({
|
28667
28784
|
type: 'Line',
|
28668
28785
|
xName: 'date',
|
@@ -28698,7 +28815,7 @@ let CubePerformanceWidget = CubePerformanceWidget_1 = class CubePerformanceWidge
|
|
28698
28815
|
this._destroy.complete();
|
28699
28816
|
}
|
28700
28817
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CubePerformanceWidget, deps: [{ token: TranslateService }, { token: WidgetRef }, { token: i0.ElementRef }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
28701
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CubePerformanceWidget, selector: "
|
28818
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CubePerformanceWidget, selector: "bizdoc-cube-performance", host: { attributes: { "dir": "ltr" }, properties: { "id": "id" } }, providers: [LineSeriesService, CrosshairService, ColumnSeriesService], viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
|
28702
28819
|
};
|
28703
28820
|
CubePerformanceWidget = CubePerformanceWidget_1 = __decorate([
|
28704
28821
|
BizDoc({
|
@@ -28709,6 +28826,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
28709
28826
|
type: Component,
|
28710
28827
|
args: [{
|
28711
28828
|
//templateUrl: './compare.widget.html',
|
28829
|
+
selector: 'bizdoc-cube-performance',
|
28712
28830
|
template: '',
|
28713
28831
|
providers: [LineSeriesService, CrosshairService, ColumnSeriesService],
|
28714
28832
|
host: {
|
@@ -29443,7 +29561,7 @@ class MobileModule {
|
|
29443
29561
|
SharedModule], exports: [HomeMobileComponent, BrowseComponent, CubeMobileViewComponent, ComposeComponent, ReportComponent, FormSelectorSheet, CopyDialog, SchedulerComponent, NotificationsComponent,
|
29444
29562
|
ChatComponent] }); }
|
29445
29563
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MobileModule, providers: [CanDeactivateCompose,
|
29446
|
-
|
29564
|
+
CubeItemResolveService,
|
29447
29565
|
RecipientResolveService, DocumentResolveService
|
29448
29566
|
], imports: [CommonModule,
|
29449
29567
|
HttpClientModule,
|
@@ -29458,7 +29576,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
29458
29576
|
ChatComponent, CubeMatrixMobileComponent, DocumentViewMobileComponent
|
29459
29577
|
],
|
29460
29578
|
providers: [CanDeactivateCompose,
|
29461
|
-
|
29579
|
+
CubeItemResolveService,
|
29462
29580
|
RecipientResolveService, DocumentResolveService
|
29463
29581
|
],
|
29464
29582
|
imports: [
|
@@ -29533,30 +29651,32 @@ class TraceElementComponent {
|
|
29533
29651
|
assign(recipient) {
|
29534
29652
|
this._dialog.open(ReassignDialog, { data: { exclude: [recipient.userId] } }).afterClosed().
|
29535
29653
|
subscribe((m) => {
|
29536
|
-
m && this._utilityRef.execute({ id: recipient.id, ...m }).subscribe(
|
29537
|
-
|
29538
|
-
|
29654
|
+
m && this._utilityRef.execute({ id: recipient.id, ...m }).subscribe({
|
29655
|
+
next: r => {
|
29656
|
+
Object.assign(this.model, r);
|
29657
|
+
}, error: () => this._sb.error()
|
29658
|
+
});
|
29539
29659
|
});
|
29540
29660
|
}
|
29541
29661
|
async recipientInfo(recipient) {
|
29542
29662
|
const info = [];
|
29543
|
-
const who = await this._accounts.get(recipient.userId)
|
29663
|
+
const who = await firstValueFrom(this._accounts.get(recipient.userId));
|
29544
29664
|
if (recipient.escalated) {
|
29545
29665
|
const escalation = this.timeline.log.find(l => l.type === 'Escalation' && l.recipientId === recipient.originId);
|
29546
|
-
const to = await this._accounts.get(escalation.userId)
|
29666
|
+
const to = await firstValueFrom(this._accounts.get(escalation.userId));
|
29547
29667
|
info.push(this._translate.get('EscalatedBy', this._chat.format(to), this._chat.format(who)));
|
29548
29668
|
}
|
29549
29669
|
if (recipient.substituteId) {
|
29550
|
-
const substitute = await this._accounts.get(recipient.substituteId)
|
29670
|
+
const substitute = await firstValueFrom(this._accounts.get(recipient.substituteId));
|
29551
29671
|
if (recipient.byId) {
|
29552
|
-
const by = await this._accounts.get(recipient.byId)
|
29672
|
+
const by = await firstValueFrom(this._accounts.get(recipient.byId));
|
29553
29673
|
info.push(this._translate.get('SubstitutingBy', this._chat.format(who), this._chat.format(substitute), this._chat.format(by)));
|
29554
29674
|
}
|
29555
29675
|
else
|
29556
29676
|
info.push(this._translate.get('Substituting', this._chat.format(who), this._chat.format(substitute)));
|
29557
29677
|
}
|
29558
29678
|
else if (recipient.byId) {
|
29559
|
-
const by = await this._accounts.get(recipient.byId)
|
29679
|
+
const by = await firstValueFrom(this._accounts.get(recipient.byId));
|
29560
29680
|
info.push(this._translate.get('By', this._chat.format(who), this._chat.format(by)));
|
29561
29681
|
}
|
29562
29682
|
else
|
@@ -29581,7 +29701,7 @@ class TraceElementComponent {
|
|
29581
29701
|
});
|
29582
29702
|
}
|
29583
29703
|
chat(e) {
|
29584
|
-
const userId = e.
|
29704
|
+
const userId = e.target.getAttribute('data-info');
|
29585
29705
|
userId &&
|
29586
29706
|
this._chat.open(userId);
|
29587
29707
|
}
|
@@ -29651,36 +29771,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
29651
29771
|
args: ['nameInput', { static: true, read: ElementRef }]
|
29652
29772
|
}] } });
|
29653
29773
|
|
29654
|
-
class SearchInput {
|
29655
|
-
constructor() {
|
29656
|
-
this.valueChange = new EventEmitter();
|
29657
|
-
this._search = new FormControl(null);
|
29658
|
-
}
|
29659
|
-
ngOnInit() {
|
29660
|
-
this._search.valueChanges.subscribe(v => this.valueChange.emit(v));
|
29661
|
-
}
|
29662
|
-
_leave() {
|
29663
|
-
this._search.setValue(null);
|
29664
|
-
document.activeElement.blur();
|
29665
|
-
}
|
29666
|
-
ngOnDestroy() {
|
29667
|
-
this.valueChange.complete();
|
29668
|
-
}
|
29669
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
29670
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SearchInput, selector: "bizdoc-search-input", outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown.escape": "_leave()" } }, ngImport: i0, template: `<input matInput [formControl]=_search autocomplete="off" #searchInput />
|
29671
|
-
<mat-icon class="mat-icon-rtl-mirror" (click)="searchInput.focus()">search</mat-icon>`, isInline: true, styles: ["input{width:0px;text-align:end;transition:all .2s ease-in-out}\n", "input:focus{width:200px}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
29672
|
-
}
|
29673
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInput, decorators: [{
|
29674
|
-
type: Component,
|
29675
|
-
args: [{ selector: 'bizdoc-search-input', template: `<input matInput [formControl]=_search autocomplete="off" #searchInput />
|
29676
|
-
<mat-icon class="mat-icon-rtl-mirror" (click)="searchInput.focus()">search</mat-icon>`, styles: ["input{width:0px;text-align:end;transition:all .2s ease-in-out}\n", "input:focus{width:200px}\n"] }]
|
29677
|
-
}], ctorParameters: function () { return []; }, propDecorators: { valueChange: [{
|
29678
|
-
type: Output
|
29679
|
-
}], _leave: [{
|
29680
|
-
type: HostListener,
|
29681
|
-
args: ['keydown.escape']
|
29682
|
-
}] } });
|
29683
|
-
|
29684
29774
|
let ManageCubeIndexUtility = class ManageCubeIndexUtility {
|
29685
29775
|
constructor(_dir, _ref, session, _vc, _sb, _overlay) {
|
29686
29776
|
this._dir = _dir;
|
@@ -29736,7 +29826,7 @@ let ManageCubeIndexUtility = class ManageCubeIndexUtility {
|
|
29736
29826
|
hasBackdrop: true,
|
29737
29827
|
panelClass: 'home-panel'
|
29738
29828
|
});
|
29739
|
-
merge(oRef.backdropClick(), oRef.keydownEvents().pipe(filter(k => k.
|
29829
|
+
merge(oRef.backdropClick(), oRef.keydownEvents().pipe(filter(k => k.key === 'Escape'))).pipe(takeUntil$1(this._destroy)).subscribe(() => oRef.detach());
|
29740
29830
|
}
|
29741
29831
|
_find(axes) {
|
29742
29832
|
const n = this.names.length;
|
@@ -29813,6 +29903,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
29813
29903
|
args: ['editTmpl', { static: true }]
|
29814
29904
|
}] } });
|
29815
29905
|
|
29906
|
+
class SearchInput {
|
29907
|
+
constructor() {
|
29908
|
+
this.valueChange = new EventEmitter();
|
29909
|
+
this._search = new FormControl(null);
|
29910
|
+
}
|
29911
|
+
ngOnInit() {
|
29912
|
+
this._search.valueChanges.subscribe(v => this.valueChange.emit(v));
|
29913
|
+
}
|
29914
|
+
_leave() {
|
29915
|
+
this._search.setValue(null);
|
29916
|
+
document.activeElement.blur();
|
29917
|
+
}
|
29918
|
+
ngOnDestroy() {
|
29919
|
+
this.valueChange.complete();
|
29920
|
+
}
|
29921
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
29922
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SearchInput, selector: "bizdoc-search-input", outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown.escape": "_leave()" } }, ngImport: i0, template: `<input matInput [formControl]=_search autocomplete="off" #searchInput />
|
29923
|
+
<mat-icon class="mat-icon-rtl-mirror" (click)="searchInput.focus()">search</mat-icon>`, isInline: true, styles: ["input{width:0px;text-align:end;transition:all .2s ease-in-out}\n", "input:focus{width:200px}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
29924
|
+
}
|
29925
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInput, decorators: [{
|
29926
|
+
type: Component,
|
29927
|
+
args: [{ selector: 'bizdoc-search-input', template: `<input matInput [formControl]=_search autocomplete="off" #searchInput />
|
29928
|
+
<mat-icon class="mat-icon-rtl-mirror" (click)="searchInput.focus()">search</mat-icon>`, styles: ["input{width:0px;text-align:end;transition:all .2s ease-in-out}\n", "input:focus{width:200px}\n"] }]
|
29929
|
+
}], ctorParameters: function () { return []; }, propDecorators: { valueChange: [{
|
29930
|
+
type: Output
|
29931
|
+
}], _leave: [{
|
29932
|
+
type: HostListener,
|
29933
|
+
args: ['keydown.escape']
|
29934
|
+
}] } });
|
29935
|
+
|
29816
29936
|
let PermissionsUtility = class PermissionsUtility {
|
29817
29937
|
constructor(_utilityRef, _session, _sb, _fb) {
|
29818
29938
|
this._utilityRef = _utilityRef;
|
@@ -29864,10 +29984,12 @@ let PermissionsUtility = class PermissionsUtility {
|
|
29864
29984
|
this.dirty = true;
|
29865
29985
|
}
|
29866
29986
|
save() {
|
29867
|
-
this._utilityRef.execute(this._data).subscribe(
|
29868
|
-
|
29869
|
-
|
29870
|
-
|
29987
|
+
this._utilityRef.execute(this._data).subscribe({
|
29988
|
+
next: () => {
|
29989
|
+
this.dirty = false;
|
29990
|
+
this._sb.toast('ChangesSaved');
|
29991
|
+
}, error: () => this._sb.error()
|
29992
|
+
});
|
29871
29993
|
}
|
29872
29994
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: PermissionsUtility, deps: [{ token: UtilityRef }, { token: SessionService }, { token: PromptService }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
29873
29995
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: PermissionsUtility, selector: "ng-component", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\r\n <button mat-button [matMenuTriggerFor]=\"formMenu\">{{form?.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #formMenu>\r\n <button mat-menu-item *ngFor=\"let f of forms\" (click)=\"formChange(f.name)\">{{f.title}}</button>\r\n </mat-menu>\r\n</mat-toolbar>\r\n<table mat-table matSort [dataSource]=\"dataSource\">\r\n <ng-container matColumnDef=\"title\" sticky>\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Permission' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> {{item.title || item.name}}</td>\r\n </ng-container>\r\n <ng-container [matColumnDef]=\"r.name\" *ngFor=\"let r of roles\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> <mat-checkbox [checked]=\"item[r.name]\" [value]=\"r.name\" (change)=\"change(item, $event)\"></mat-checkbox> </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let item; columns: displayColumns;\"></tr>\r\n</table>\r\n", styles: ["table{width:100%}::ng-deep .mat-mdc-row{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i5$3.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5$3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i9$2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: SearchInput, selector: "bizdoc-search-input", outputs: ["valueChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
@@ -29959,12 +30081,14 @@ class SystemDiffComponent {
|
|
29959
30081
|
this._working.pipe(takeUntil$1(this._destroy), debounceTime(100)).subscribe(v => v && (this.progress = v));
|
29960
30082
|
this._working.next(50);
|
29961
30083
|
// populate versions
|
29962
|
-
this._utilityRef.populate().subscribe(
|
29963
|
-
|
29964
|
-
|
29965
|
-
|
29966
|
-
|
29967
|
-
|
30084
|
+
this._utilityRef.populate().subscribe({
|
30085
|
+
next: e => {
|
30086
|
+
this.versions = e;
|
30087
|
+
this._working.next(100);
|
30088
|
+
e.length > 1 &&
|
30089
|
+
this.compare(0);
|
30090
|
+
}, error: () => this._sb.error()
|
30091
|
+
});
|
29968
30092
|
}
|
29969
30093
|
/**
|
29970
30094
|
*
|
@@ -29976,24 +30100,26 @@ class SystemDiffComponent {
|
|
29976
30100
|
return;
|
29977
30101
|
const { time: date2 } = version;
|
29978
30102
|
this._working.next(25);
|
29979
|
-
this._utilityRef.execute({ date1, date2 }).subscribe(
|
29980
|
-
|
29981
|
-
|
29982
|
-
|
29983
|
-
|
29984
|
-
|
29985
|
-
results
|
29986
|
-
|
29987
|
-
|
29988
|
-
|
30103
|
+
this._utilityRef.execute({ date1, date2 }).subscribe({
|
30104
|
+
next: r => {
|
30105
|
+
this.html = '';
|
30106
|
+
this._working.next(50);
|
30107
|
+
this.activeDate = date1;
|
30108
|
+
const results = this._compare(r[0], r[1]);
|
30109
|
+
if (results)
|
30110
|
+
results.then(d => {
|
30111
|
+
this._working.next(75);
|
30112
|
+
this.html = this._generate(d);
|
30113
|
+
this._scrollTop();
|
30114
|
+
this._working.next(100);
|
30115
|
+
this.none = false;
|
30116
|
+
});
|
30117
|
+
else {
|
29989
30118
|
this._working.next(100);
|
29990
|
-
this.none =
|
29991
|
-
}
|
29992
|
-
|
29993
|
-
|
29994
|
-
this.none = true;
|
29995
|
-
}
|
29996
|
-
}, () => this._sb.error());
|
30119
|
+
this.none = true;
|
30120
|
+
}
|
30121
|
+
}, error: () => this._sb.error()
|
30122
|
+
});
|
29997
30123
|
}
|
29998
30124
|
_scrollTop() {
|
29999
30125
|
setTimeout(() => this.contents.nativeElement.parentElement.scroll({ top: 0, behavior: 'smooth' }));
|
@@ -30052,7 +30178,7 @@ class SystemDiffComponent {
|
|
30052
30178
|
else if (!b.find(b => b == e)) {
|
30053
30179
|
const length = diff.push(e);
|
30054
30180
|
if (scope.nodes.indexOf('positions') > -1) {
|
30055
|
-
const promise = this._accounts.get(e)
|
30181
|
+
const promise = firstValueFrom(this._accounts.get(e)).then(v => diff[length - 1] = v.name);
|
30056
30182
|
promises.push(promise);
|
30057
30183
|
}
|
30058
30184
|
diff[STATE + (length - 1).toString()] = ChangeState.Added;
|
@@ -30077,7 +30203,7 @@ class SystemDiffComponent {
|
|
30077
30203
|
else if (!a.find(a => a == e)) {
|
30078
30204
|
const length = diff.push(e);
|
30079
30205
|
if (scope.nodes.indexOf('positions') > -1) {
|
30080
|
-
const promise = this._accounts.get(e)
|
30206
|
+
const promise = firstValueFrom(this._accounts.get(e)).then(v => diff[length - 1] = v.name);
|
30081
30207
|
promises.push(promise);
|
30082
30208
|
}
|
30083
30209
|
diff[STATE + (length - 1).toString()] = ChangeState.Removed;
|
@@ -30126,7 +30252,7 @@ class SystemDiffComponent {
|
|
30126
30252
|
}
|
30127
30253
|
if (scope.nodes.indexOf('positions') > -1) {
|
30128
30254
|
diff[ORIGINAL_VALUE + k] = aVal;
|
30129
|
-
const promise = this._ds.get(scope.type, k)
|
30255
|
+
const promise = firstValueFrom(this._ds.get(scope.type, k)).then(v => {
|
30130
30256
|
const name = isString(v) ? v : v[Object.keys(v)[0]];
|
30131
30257
|
diff[name] = obj;
|
30132
30258
|
if (bVal === undefined)
|
@@ -30144,12 +30270,12 @@ class SystemDiffComponent {
|
|
30144
30270
|
else {
|
30145
30271
|
diff[k] = aVal;
|
30146
30272
|
if (k === 'userId') {
|
30147
|
-
const promise = this._accounts.get(aVal)
|
30273
|
+
const promise = firstValueFrom(this._accounts.get(aVal)).then(v => diff[k] = v.name);
|
30148
30274
|
promises.push(promise);
|
30149
30275
|
}
|
30150
30276
|
if (bVal !== undefined) {
|
30151
30277
|
if (k === 'userId') {
|
30152
|
-
const promise = this._accounts.get(bVal)
|
30278
|
+
const promise = firstValueFrom(this._accounts.get(bVal)).then(v => diff[ORIGINAL_VALUE + k] = v.name);
|
30153
30279
|
promises.push(promise);
|
30154
30280
|
}
|
30155
30281
|
else
|
@@ -30168,14 +30294,14 @@ class SystemDiffComponent {
|
|
30168
30294
|
if (scope.nodes.indexOf('positions') > -1) {
|
30169
30295
|
const obj = [];
|
30170
30296
|
diff[ORIGINAL_VALUE + k] = bVal;
|
30171
|
-
const promise = this._ds.get(scope.type, k)
|
30297
|
+
const promise = firstValueFrom(this._ds.get(scope.type, k)).then(v => {
|
30172
30298
|
const name = isString(v) ? v : v[Object.keys(v)[0]];
|
30173
30299
|
diff[name] = obj;
|
30174
30300
|
diff[STATE + name] = ChangeState.Removed;
|
30175
30301
|
});
|
30176
30302
|
promises.push(promise);
|
30177
30303
|
bVal && bVal.forEach((e, i) => {
|
30178
|
-
const promise = this._accounts.get(e)
|
30304
|
+
const promise = firstValueFrom(this._accounts.get(e)).then(v => obj[i] = v.name);
|
30179
30305
|
promises.push(promise);
|
30180
30306
|
});
|
30181
30307
|
}
|
@@ -30191,7 +30317,7 @@ class SystemDiffComponent {
|
|
30191
30317
|
else {
|
30192
30318
|
diff[k] = bVal;
|
30193
30319
|
if (k === 'userId') {
|
30194
|
-
const promise = this._accounts.get(bVal)
|
30320
|
+
const promise = firstValueFrom(this._accounts.get(bVal)).then(v => diff[k] = v.name);
|
30195
30321
|
promises.push(promise);
|
30196
30322
|
}
|
30197
30323
|
}
|
@@ -30262,7 +30388,7 @@ class SystemDiffComponent {
|
|
30262
30388
|
else {
|
30263
30389
|
const length = prestine.push(e);
|
30264
30390
|
if (scope.nodes.indexOf('positions') > -1) {
|
30265
|
-
const promise = this._accounts.get(e)
|
30391
|
+
const promise = firstValueFrom(this._accounts.get(e)).then(v => prestine[length - 1] = v.name);
|
30266
30392
|
promises.push(promise);
|
30267
30393
|
}
|
30268
30394
|
}
|
@@ -30282,7 +30408,7 @@ class SystemDiffComponent {
|
|
30282
30408
|
return;
|
30283
30409
|
promises.push(promise);
|
30284
30410
|
if (scope.nodes.indexOf('positions') > -1) {
|
30285
|
-
const promise = this._ds.get(scope.type, k)
|
30411
|
+
const promise = firstValueFrom(this._ds.get(scope.type, k)).then(v => prestine[isString(v) ? v : v[Object.keys(v)[0]]] = obj);
|
30286
30412
|
promises.push(promise);
|
30287
30413
|
}
|
30288
30414
|
else
|
@@ -30291,7 +30417,7 @@ class SystemDiffComponent {
|
|
30291
30417
|
else {
|
30292
30418
|
prestine[k] = aVal;
|
30293
30419
|
if (k === 'userId') {
|
30294
|
-
const promise = this._accounts.get(aVal)
|
30420
|
+
const promise = firstValueFrom(this._accounts.get(aVal)).then(v => prestine[k] = v.name);
|
30295
30421
|
promises.push(promise);
|
30296
30422
|
}
|
30297
30423
|
}
|
@@ -30413,7 +30539,7 @@ class SystemDiffComponent {
|
|
30413
30539
|
* @param evt
|
30414
30540
|
*/
|
30415
30541
|
collapse(evt) {
|
30416
|
-
let el = evt.
|
30542
|
+
let el = evt.target;
|
30417
30543
|
while (el && !el.classList.contains('scope'))
|
30418
30544
|
el = el.parentElement;
|
30419
30545
|
el && el.classList.toggle('collapse') && el.classList.remove('focus');
|
@@ -30431,7 +30557,7 @@ class SystemDiffComponent {
|
|
30431
30557
|
*/
|
30432
30558
|
focusIn(evt) {
|
30433
30559
|
this.focusOut();
|
30434
|
-
let el = evt.
|
30560
|
+
let el = evt.target;
|
30435
30561
|
while (el && !el.classList.contains('scope'))
|
30436
30562
|
el = el.parentElement;
|
30437
30563
|
el && !el.classList.contains('collapse') && el.classList.add('focus');
|
@@ -30666,33 +30792,35 @@ class DocumentTraceComponent {
|
|
30666
30792
|
_open(id) {
|
30667
30793
|
this.diagram?.destroy();
|
30668
30794
|
this.loading = 'buffer';
|
30669
|
-
this._utilityRef.populate(id).subscribe(
|
30670
|
-
|
30671
|
-
|
30672
|
-
|
30673
|
-
|
30674
|
-
|
30675
|
-
|
30676
|
-
|
30677
|
-
|
30678
|
-
|
30679
|
-
|
30680
|
-
|
30681
|
-
|
30682
|
-
|
30683
|
-
|
30684
|
-
|
30685
|
-
|
30686
|
-
|
30687
|
-
|
30688
|
-
|
30689
|
-
|
30690
|
-
|
30691
|
-
|
30692
|
-
|
30693
|
-
|
30694
|
-
|
30695
|
-
|
30795
|
+
this._utilityRef.populate(id).subscribe({
|
30796
|
+
next: e => {
|
30797
|
+
this._highLightedIds = [];
|
30798
|
+
this.model = e;
|
30799
|
+
this._timeline();
|
30800
|
+
this.mode = 'diagram';
|
30801
|
+
this.loading = null;
|
30802
|
+
this._cd.detectChanges();
|
30803
|
+
this.diagram = new Diagram({
|
30804
|
+
width: '100%', height: '100%',
|
30805
|
+
snapSettings: this.snapSettings,
|
30806
|
+
layout: this.layout,
|
30807
|
+
getConnectorDefaults: this.connDefaults,
|
30808
|
+
selectedItems: this.selectedItems,
|
30809
|
+
tool: this.diagramTool,
|
30810
|
+
constraints: this.diagramConstraints,
|
30811
|
+
getNodeDefaults: this.nodeDefaults,
|
30812
|
+
scrollSettings: this.scrollSettings,
|
30813
|
+
nodes: e.diagram.nodes,
|
30814
|
+
connectors: e.diagram.connectors,
|
30815
|
+
selectionChange: this.selectionChange.bind(this)
|
30816
|
+
}, this.diagramElement.nativeElement);
|
30817
|
+
this._version();
|
30818
|
+
this._indicators();
|
30819
|
+
this.diagram.fitToPage();
|
30820
|
+
}, error: () => {
|
30821
|
+
this.loading = null;
|
30822
|
+
this._sb.error();
|
30823
|
+
}
|
30696
30824
|
});
|
30697
30825
|
}
|
30698
30826
|
open(item) {
|
@@ -31134,10 +31262,12 @@ let PatternsComponent = class PatternsComponent {
|
|
31134
31262
|
});
|
31135
31263
|
}
|
31136
31264
|
save() {
|
31137
|
-
this._ref.execute(this.dataSource.data).subscribe(
|
31138
|
-
|
31139
|
-
|
31140
|
-
|
31265
|
+
this._ref.execute(this.dataSource.data).subscribe({
|
31266
|
+
next: () => {
|
31267
|
+
this.dirty = false;
|
31268
|
+
this._sb.toast('ChangesSaved');
|
31269
|
+
}, error: () => this._sb.error()
|
31270
|
+
});
|
31141
31271
|
}
|
31142
31272
|
ngOnDestroy() {
|
31143
31273
|
this._destroy.next();
|
@@ -31209,9 +31339,11 @@ class PositionsComponent {
|
|
31209
31339
|
}));
|
31210
31340
|
}
|
31211
31341
|
_prepare() {
|
31212
|
-
return forkJoin(this._service.datatypes().
|
31213
|
-
|
31214
|
-
|
31342
|
+
return forkJoin([this._service.datatypes().
|
31343
|
+
pipe(tap$1(t => this.datatypes =
|
31344
|
+
t.filter(t => t.assignable))),
|
31345
|
+
this._datasources.map('users').pipe(tap$1(u => this.profiles = u))
|
31346
|
+
]);
|
31215
31347
|
}
|
31216
31348
|
search(value) {
|
31217
31349
|
this.dataSource.filter = value;
|
@@ -31220,48 +31352,50 @@ class PositionsComponent {
|
|
31220
31352
|
const type = this.type = this.datatypes.find(t => t.name === name);
|
31221
31353
|
const roles = this.roles = this._session.profile.roles.filter(r => r.dataType === name);
|
31222
31354
|
this.loading = 'query';
|
31223
|
-
this._datasources.all(type.name).subscribe(
|
31224
|
-
|
31225
|
-
|
31226
|
-
|
31227
|
-
|
31228
|
-
|
31229
|
-
|
31230
|
-
model.groups
|
31231
|
-
|
31232
|
-
model.patterns
|
31233
|
-
|
31234
|
-
|
31235
|
-
positions[r.name]
|
31236
|
-
|
31237
|
-
this.positions = positions;
|
31238
|
-
const rows = [];
|
31239
|
-
model.patterns && model.patterns.forEach(p => {
|
31240
|
-
const row = { type: 'pattern', key: p.name };
|
31241
|
-
row[type.columns ? type.columns[0].name : 'value'] = p.title;
|
31242
|
-
rows.push(row);
|
31243
|
-
});
|
31244
|
-
model.groups && model.groups.forEach(g => {
|
31245
|
-
const row = { type: 'group', key: g.name };
|
31246
|
-
row[type.columns ? type.columns[0].name : 'value'] = g.title;
|
31247
|
-
rows.push(row);
|
31248
|
-
});
|
31249
|
-
t.forEach(t => {
|
31250
|
-
const row = { type: 'key', ...t };
|
31251
|
-
type.columns && type.columns.forEach(c => {
|
31252
|
-
row[c.name] = t.value[c.name];
|
31355
|
+
this._datasources.all(type.name).subscribe({
|
31356
|
+
next: t => {
|
31357
|
+
this.source = t;
|
31358
|
+
const model = this._everything[type.name];
|
31359
|
+
let positions = model.positions;
|
31360
|
+
if (!positions)
|
31361
|
+
positions = model.positions = {};
|
31362
|
+
if (!model.groups)
|
31363
|
+
model.groups = [];
|
31364
|
+
if (!model.patterns)
|
31365
|
+
model.patterns = [];
|
31366
|
+
roles.forEach(r => {
|
31367
|
+
if (!positions[r.name])
|
31368
|
+
positions[r.name] = {};
|
31253
31369
|
});
|
31254
|
-
|
31255
|
-
|
31256
|
-
|
31257
|
-
|
31258
|
-
|
31259
|
-
|
31260
|
-
|
31261
|
-
|
31262
|
-
|
31263
|
-
|
31264
|
-
|
31370
|
+
this.positions = positions;
|
31371
|
+
const rows = [];
|
31372
|
+
model.patterns && model.patterns.forEach(p => {
|
31373
|
+
const row = { type: 'pattern', key: p.name };
|
31374
|
+
row[type.columns ? type.columns[0].name : 'value'] = p.title;
|
31375
|
+
rows.push(row);
|
31376
|
+
});
|
31377
|
+
model.groups && model.groups.forEach(g => {
|
31378
|
+
const row = { type: 'group', key: g.name };
|
31379
|
+
row[type.columns ? type.columns[0].name : 'value'] = g.title;
|
31380
|
+
rows.push(row);
|
31381
|
+
});
|
31382
|
+
t.forEach(t => {
|
31383
|
+
const row = { type: 'key', ...t };
|
31384
|
+
type.columns && type.columns.forEach(c => {
|
31385
|
+
row[c.name] = t.value[c.name];
|
31386
|
+
});
|
31387
|
+
rows.push(row);
|
31388
|
+
});
|
31389
|
+
this.dataSource = new MatTableDataSource(rows);
|
31390
|
+
this.dataSource.sort = this.sort;
|
31391
|
+
this._columns();
|
31392
|
+
!roles.length &&
|
31393
|
+
this._dialog.open(this.noRoleTpl).afterClosed().subscribe(ok => ok && this.newRole());
|
31394
|
+
this.loading = null;
|
31395
|
+
}, error: () => {
|
31396
|
+
this.loading = null;
|
31397
|
+
this._ps.error();
|
31398
|
+
}
|
31265
31399
|
});
|
31266
31400
|
}
|
31267
31401
|
_columns() {
|
@@ -31275,7 +31409,7 @@ class PositionsComponent {
|
|
31275
31409
|
edit(key, evt) {
|
31276
31410
|
if (evt.target.tagName === 'MAT-ICON')
|
31277
31411
|
return;
|
31278
|
-
let cell = evt.
|
31412
|
+
let cell = evt.target;
|
31279
31413
|
while (cell.tagName !== 'TD')
|
31280
31414
|
cell = cell.parentElement;
|
31281
31415
|
const role = cell.getAttribute('data-role');
|
@@ -31285,14 +31419,14 @@ class PositionsComponent {
|
|
31285
31419
|
let positions = this.positions[role][key];
|
31286
31420
|
if (!positions)
|
31287
31421
|
positions = this.positions[role][key] = [];
|
31288
|
-
this._popup.open(PositionsPopup, evt.
|
31422
|
+
this._popup.open(PositionsPopup, evt.target, {
|
31289
31423
|
data: { title: crole.title, positions }
|
31290
31424
|
}).opened().subscribe(e => e.valueChange.pipe(takeUntil$1(this._destroy)).subscribe(() => this.dirty = true));
|
31291
31425
|
}
|
31292
31426
|
_openDialog(tmpl, form, values) {
|
31293
31427
|
form.reset(values);
|
31294
31428
|
const dialogRef = this._dialog.open(tmpl);
|
31295
|
-
dialogRef.keydownEvents().pipe(filter(k => k.
|
31429
|
+
dialogRef.keydownEvents().pipe(filter(k => k.key === 'Enter'), takeUntil$1(dialogRef.afterClosed())).
|
31296
31430
|
subscribe(() => form.valid && dialogRef.close(form.value));
|
31297
31431
|
return dialogRef.afterClosed().pipe(switchMap(v => v ? of(v) : EMPTY));
|
31298
31432
|
}
|
@@ -31378,7 +31512,7 @@ class PositionsComponent {
|
|
31378
31512
|
* @param event
|
31379
31513
|
*/
|
31380
31514
|
handleKeyboardEvent(event) {
|
31381
|
-
if (this.dirty && event.ctrlKey && (event.
|
31515
|
+
if (this.dirty && event.ctrlKey && (event.key === 's' || event.key === 'S')) {
|
31382
31516
|
this.save();
|
31383
31517
|
event.preventDefault();
|
31384
31518
|
}
|
@@ -31386,7 +31520,7 @@ class PositionsComponent {
|
|
31386
31520
|
save() {
|
31387
31521
|
this.saving = true;
|
31388
31522
|
this.loading = 'indeterminate';
|
31389
|
-
return this._utilityRef.execute(this._everything)
|
31523
|
+
return firstValueFrom(this._utilityRef.execute(this._everything)).then(() => {
|
31390
31524
|
this._ps.toast('ChangesSaved');
|
31391
31525
|
this.dirty = false;
|
31392
31526
|
this.loading = null;
|
@@ -31472,7 +31606,7 @@ class PositionsComponent {
|
|
31472
31606
|
addcolumns(g.name, row);
|
31473
31607
|
rows.push(row);
|
31474
31608
|
});
|
31475
|
-
let datasource = await this._datasources.all(type.name)
|
31609
|
+
let datasource = await firstValueFrom(this._datasources.all(type.name));
|
31476
31610
|
datasource.forEach(d => {
|
31477
31611
|
const row = {
|
31478
31612
|
index: rows.length + 1,
|
@@ -31515,7 +31649,7 @@ class PositionsComponent {
|
|
31515
31649
|
book.save(`${this._translate.get('Positions')}.xlsx`);
|
31516
31650
|
}
|
31517
31651
|
// async upload(evt: InputEvent) {
|
31518
|
-
// const { files } = evt.
|
31652
|
+
// const { files } = evt.target as HTMLInputElement;
|
31519
31653
|
// if (files && files.length) {
|
31520
31654
|
// const file = files.item(0);
|
31521
31655
|
// var reader = new FileReader();
|
@@ -32210,7 +32344,7 @@ class IconPickerComponent {
|
|
32210
32344
|
});
|
32211
32345
|
const portal = new TemplatePortal(this.panel, this._vc);
|
32212
32346
|
this._overlayRef.attach(portal);
|
32213
|
-
merge(this._overlayRef.backdropClick(), this._overlayRef.keydownEvents().pipe(filter$1(k => k.
|
32347
|
+
merge(this._overlayRef.backdropClick(), this._overlayRef.keydownEvents().pipe(filter$1(k => k.key === 'Escape'))).subscribe(() => this._overlayRef.detach());
|
32214
32348
|
}
|
32215
32349
|
_trackBy(index, el) {
|
32216
32350
|
return el.name;
|
@@ -32657,7 +32791,7 @@ class ActionDesignerComponent extends DesignerTypeElementComponent {
|
|
32657
32791
|
super.ngOnInit();
|
32658
32792
|
}
|
32659
32793
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ActionDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
32660
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ActionDesignerComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <div>\r\n <mat-checkbox formControlName=\"multiple\">{{'EnableMultipleSelection'|translate}}</mat-checkbox>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Labels'|translate}}</h2>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"Past\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"verb\" [placeholder]=\"Verb\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjective\" [placeholder]=\"Adjective\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjectivePlural\" [placeholder]=\"AdjectivePlural\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"you\" [placeholder]=\"You\" required class=\"flex column\"></bizdoc-localized-string>\r\n <div>\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type:
|
32794
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ActionDesignerComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <div>\r\n <mat-checkbox formControlName=\"multiple\">{{'EnableMultipleSelection'|translate}}</mat-checkbox>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Labels'|translate}}</h2>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"Past\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"verb\" [placeholder]=\"Verb\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjective\" [placeholder]=\"Adjective\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjectivePlural\" [placeholder]=\"AdjectivePlural\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"you\" [placeholder]=\"You\" required class=\"flex column\"></bizdoc-localized-string>\r\n <div>\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: ColorPicker, selector: "bizdoc-color-picker", inputs: ["label", "value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
32661
32795
|
}
|
32662
32796
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ActionDesignerComponent, decorators: [{
|
32663
32797
|
type: Component,
|
@@ -33396,7 +33530,7 @@ class StateDesignComponent extends DesignerTypeElementComponent {
|
|
33396
33530
|
super.ngOnInit();
|
33397
33531
|
}
|
33398
33532
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: StateDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
33399
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: StateDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row\">\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n <bizdoc-color-picker formControlName=\"backgroundColor\" [label]=\"'BackgroundColor'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"'Past'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"future\" [placeholder]=\"'Future'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type:
|
33533
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: StateDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row\">\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n <bizdoc-color-picker formControlName=\"backgroundColor\" [label]=\"'BackgroundColor'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"'Past'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"future\" [placeholder]=\"'Future'|translate\" required class=\"flex column\"></bizdoc-localized-string>\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ColorPicker, selector: "bizdoc-color-picker", inputs: ["label", "value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
33400
33534
|
}
|
33401
33535
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: StateDesignComponent, decorators: [{
|
33402
33536
|
type: Component,
|
@@ -33768,12 +33902,10 @@ class ControlPropertiesComponent {
|
|
33768
33902
|
* @param event
|
33769
33903
|
*/
|
33770
33904
|
handleKeyboardEvent(event) {
|
33771
|
-
if (event.ctrlKey) {
|
33772
|
-
|
33773
|
-
|
33774
|
-
|
33775
|
-
event.stopPropagation();
|
33776
|
-
}
|
33905
|
+
if (event.ctrlKey && (event.key === 's' || event.key === 'S')) {
|
33906
|
+
this.form.dirty && this.save();
|
33907
|
+
event.preventDefault();
|
33908
|
+
event.stopPropagation();
|
33777
33909
|
}
|
33778
33910
|
}
|
33779
33911
|
ngOnInit() {
|
@@ -33829,12 +33961,10 @@ class SectionPropertiesComponent {
|
|
33829
33961
|
* @param event
|
33830
33962
|
*/
|
33831
33963
|
handleKeyboardEvent(event) {
|
33832
|
-
if (event.ctrlKey) {
|
33833
|
-
|
33834
|
-
|
33835
|
-
|
33836
|
-
event.stopPropagation();
|
33837
|
-
}
|
33964
|
+
if (event.ctrlKey && (event.key === 's' || event.key === 'S')) {
|
33965
|
+
this.form.dirty && this.save();
|
33966
|
+
event.preventDefault();
|
33967
|
+
event.stopPropagation();
|
33838
33968
|
}
|
33839
33969
|
}
|
33840
33970
|
ngOnInit() {
|
@@ -33867,12 +33997,10 @@ class BoxSettingsComponent {
|
|
33867
33997
|
* @param event
|
33868
33998
|
*/
|
33869
33999
|
handleKeyboardEvent(event) {
|
33870
|
-
if (event.ctrlKey) {
|
33871
|
-
|
33872
|
-
|
33873
|
-
|
33874
|
-
event.stopPropagation();
|
33875
|
-
}
|
34000
|
+
if (event.ctrlKey && (event.key === 's' || event.key === 'S')) {
|
34001
|
+
this.form.dirty && this.save();
|
34002
|
+
event.preventDefault();
|
34003
|
+
event.stopPropagation();
|
33876
34004
|
}
|
33877
34005
|
}
|
33878
34006
|
save() { this._paneRef.close(this.form.value); }
|
@@ -34791,10 +34919,12 @@ class DesignerModule {
|
|
34791
34919
|
};
|
34792
34920
|
}
|
34793
34921
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DesignerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
34794
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: DesignerModule, declarations: [
|
34922
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: DesignerModule, declarations: [SearchInput, ColorPicker,
|
34923
|
+
LocalizedStringComponent, LocalizedStringControlDesigner,
|
34795
34924
|
ExpressionFieldDesigner, AutocompleteControlDesigner, SignatureControlDesigner, AddressControlDesigner, RadioButtonControlDesigner, ChecklistControlDesigner, YesNoControlDesigner, CheckboxControlDesigner, DateRangeControlDesigner, TimeControlDesigner, TimespanControlDesigner, DateControlDesigner, ControlOptionsComponent, SelectControlDesigner, HtmlFieldDesigner, TextAreaFieldDesigner, NumberControlDesigner, FileControlDesigner, InputFieldDesigner], imports: [CommonModule,
|
34796
34925
|
ReactiveFormsModule,
|
34797
|
-
SharedModule], exports: [
|
34926
|
+
SharedModule], exports: [SearchInput, ColorPicker,
|
34927
|
+
LocalizedStringComponent, LocalizedStringControlDesigner,
|
34798
34928
|
ExpressionFieldDesigner, AutocompleteControlDesigner, SignatureControlDesigner, AddressControlDesigner, RadioButtonControlDesigner, ChecklistControlDesigner, YesNoControlDesigner, CheckboxControlDesigner, DateRangeControlDesigner, TimeControlDesigner, TimespanControlDesigner, DateControlDesigner, SelectControlDesigner, HtmlFieldDesigner, TextAreaFieldDesigner, NumberControlDesigner, FileControlDesigner, InputFieldDesigner] }); }
|
34799
34929
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DesignerModule, imports: [CommonModule,
|
34800
34930
|
ReactiveFormsModule,
|
@@ -34804,6 +34934,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
34804
34934
|
type: NgModule,
|
34805
34935
|
args: [{
|
34806
34936
|
declarations: [
|
34937
|
+
SearchInput, ColorPicker,
|
34807
34938
|
LocalizedStringComponent, LocalizedStringControlDesigner,
|
34808
34939
|
ExpressionFieldDesigner, AutocompleteControlDesigner, SignatureControlDesigner, AddressControlDesigner, RadioButtonControlDesigner, ChecklistControlDesigner, YesNoControlDesigner, CheckboxControlDesigner, DateRangeControlDesigner, TimeControlDesigner, TimespanControlDesigner, DateControlDesigner, ControlOptionsComponent, SelectControlDesigner, HtmlFieldDesigner, TextAreaFieldDesigner, NumberControlDesigner, FileControlDesigner, InputFieldDesigner,
|
34809
34940
|
],
|
@@ -34813,6 +34944,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
34813
34944
|
SharedModule
|
34814
34945
|
],
|
34815
34946
|
exports: [
|
34947
|
+
SearchInput, ColorPicker,
|
34816
34948
|
LocalizedStringComponent, LocalizedStringControlDesigner,
|
34817
34949
|
ExpressionFieldDesigner, AutocompleteControlDesigner, SignatureControlDesigner, AddressControlDesigner, RadioButtonControlDesigner, ChecklistControlDesigner, YesNoControlDesigner, CheckboxControlDesigner, DateRangeControlDesigner, TimeControlDesigner, TimespanControlDesigner, DateControlDesigner, SelectControlDesigner, HtmlFieldDesigner, TextAreaFieldDesigner, NumberControlDesigner, FileControlDesigner, InputFieldDesigner,
|
34818
34950
|
]
|
@@ -35205,7 +35337,6 @@ class SystemModule {
|
|
35205
35337
|
FormDesignerComponent, SectionPropertiesComponent, BoxSettingsComponent, DesignControlComponent, ControlPropertiesComponent,
|
35206
35338
|
PermissionsUtility, ManageCubeIndexUtility, ProfileSettingsDialog,
|
35207
35339
|
UtilityWrapperComponent, UtilityPaneComponent,
|
35208
|
-
SearchInput, ColorPicker,
|
35209
35340
|
ReassignDialog,
|
35210
35341
|
SystemDiffComponent, DocumentTraceComponent, TraceElementComponent, ProfilerComponent,
|
35211
35342
|
PositionsComponent, PositionsPopup,
|
@@ -35251,7 +35382,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
35251
35382
|
FormDesignerComponent, SectionPropertiesComponent, BoxSettingsComponent, DesignControlComponent, ControlPropertiesComponent,
|
35252
35383
|
PermissionsUtility, ManageCubeIndexUtility, ProfileSettingsDialog,
|
35253
35384
|
UtilityWrapperComponent, UtilityPaneComponent,
|
35254
|
-
SearchInput, ColorPicker,
|
35255
35385
|
ReassignDialog,
|
35256
35386
|
SystemDiffComponent, DocumentTraceComponent, TraceElementComponent, ProfilerComponent,
|
35257
35387
|
PositionsComponent, PositionsPopup,
|
@@ -35280,7 +35410,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
35280
35410
|
PositionsComponent,
|
35281
35411
|
WorkflowComponent,
|
35282
35412
|
RoleNodeComponent,
|
35283
|
-
PatternsComponent
|
35413
|
+
PatternsComponent
|
35284
35414
|
],
|
35285
35415
|
}]
|
35286
35416
|
}] });
|
@@ -35359,7 +35489,7 @@ class DesktopModule {
|
|
35359
35489
|
CubeMatrixPaneComponent,
|
35360
35490
|
SchedulerPaneComponent,
|
35361
35491
|
ContactsPaneComponent, ConversationPaneComponent] }); }
|
35362
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DesktopModule, providers: [ComposeDismiss, SearchService, DocumentResolver, RecipientResolver,
|
35492
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DesktopModule, providers: [ComposeDismiss, SearchService, DocumentResolver, RecipientResolver, CubeItemResolver,
|
35363
35493
|
PanesRouter, AdminDismiss], imports: [CommonModule,
|
35364
35494
|
HttpClientModule,
|
35365
35495
|
ReactiveFormsModule,
|
@@ -35389,7 +35519,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
35389
35519
|
SchedulerPaneComponent,
|
35390
35520
|
ContactsPaneComponent, ConversationPaneComponent,
|
35391
35521
|
CubeListingComponent, DocumentListingComponent, PathListingComponent, GuideListingComponent],
|
35392
|
-
providers: [ComposeDismiss, SearchService, DocumentResolver, RecipientResolver,
|
35522
|
+
providers: [ComposeDismiss, SearchService, DocumentResolver, RecipientResolver, CubeItemResolver,
|
35393
35523
|
PanesRouter, AdminDismiss],
|
35394
35524
|
imports: [
|
35395
35525
|
CommonModule,
|
@@ -35496,5 +35626,5 @@ function withRoute(routes) {
|
|
35496
35626
|
* Generated bundle index. Do not edit.
|
35497
35627
|
*/
|
35498
35628
|
|
35499
|
-
export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressControlDesigner, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AutocompleteControlDesigner, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocComponentFactoryResolver, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CheckboxControlDesigner, ChecklistControlDesigner, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateControlDesigner, DateFormatPipe, DateRangeControlDesigner, DateRangePipe, DesignerModule, DesignerRef, DifferencePipe, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, ExpressionFieldDesigner, FONT_FAMILY, FadeSlideInOut, FieldKind, FileControlDesigner, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, HtmlFieldDesigner, INBOX, IdentityName, InputFieldDesigner,
|
35629
|
+
export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressControlDesigner, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AutocompleteControlDesigner, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocComponentFactoryResolver, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CheckboxControlDesigner, ChecklistControlDesigner, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeItemResolveService, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateControlDesigner, DateFormatPipe, DateRangeControlDesigner, DateRangePipe, DesignerModule, DesignerRef, DifferencePipe, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, ExpressionFieldDesigner, FONT_FAMILY, FadeSlideInOut, FieldKind, FileControlDesigner, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, HtmlFieldDesigner, INBOX, IdentityName, InputFieldDesigner, JoinPipe, L18nPipe, LayoutComponent, ListingRef, LocalizedStringComponent, LocalizedStringControlDesigner, LocalizedStringPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationBase, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationPaneBase, NavigationResize, NavigationStart, NgxComponentOutlet, NotificationsTableComponent, NumberControlDesigner, OpenPolicy, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RadioButtonControlDesigner, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SelectControlDesigner, SessionService, ShakeAnimation, SharedModule, SignatureControlDesigner, SlotRouterDirective, StateDirective, StatePipe, SubstitutionComponent, SwapAnimation, TagsComponent, TasksComponent, TextAreaFieldDesigner, TimeAgoPipe, TimeControlDesigner, TimePicker, TimespanControlDesigner, TimespanInput, ToNowPipe, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, WidgetItemComponent, WidgetRef, YesNoControlDesigner, cleanup, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, programName, registerComponents };
|
35500
35630
|
//# sourceMappingURL=bizdoc-core.mjs.map
|