@bizdoc/core 1.14.5 → 1.14.9
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/LICENSE.md +1 -0
- package/assets/bizdoc-schema.json +10 -2
- package/karma.conf.js +44 -0
- package/ng-package.json +11 -0
- package/package.json +78 -78
- package/src/icons/pdf.svg +24 -0
- package/src/icons/word.svg +13 -0
- package/src/lib/admin/_admin-theme.scss +6 -0
- package/src/lib/admin/admin-dismiss.service.ts +24 -0
- package/src/lib/admin/admin-menu.component.html +18 -0
- package/src/lib/admin/admin-menu.component.ts +20 -0
- package/src/lib/admin/core/ace.input.ts +133 -0
- package/src/lib/admin/core/color-picker.input.scss +17 -0
- package/src/lib/admin/core/color-picker.input.ts +175 -0
- package/src/lib/admin/core/search.input.ts +32 -0
- package/src/lib/admin/diff/_configuration-diff-theme.scss +84 -0
- package/src/lib/admin/diff/configuration-diff.component.html +24 -0
- package/src/lib/admin/diff/configuration-diff.component.scss +16 -0
- package/src/lib/admin/diff/configuration-diff.component.ts +552 -0
- package/src/lib/admin/document-trace/Timeline.ts +45 -0
- package/src/lib/admin/document-trace/_timeline-theme.scss +70 -0
- package/src/lib/admin/document-trace/document-trace.component.html +96 -0
- package/src/lib/admin/document-trace/document-trace.component.scss +16 -0
- package/src/lib/admin/document-trace/document-trace.component.ts +526 -0
- package/src/lib/admin/document-trace/reassign.dialog.html +24 -0
- package/src/lib/admin/document-trace/reassign.dialog.ts +34 -0
- package/src/lib/admin/document-trace/trace-element.component.html +55 -0
- package/src/lib/admin/document-trace/trace-element.component.scss +23 -0
- package/src/lib/admin/document-trace/trace-element.component.ts +139 -0
- package/src/lib/admin/form/form.resolve.service.ts +13 -0
- package/src/lib/admin/form/form.service.ts +49 -0
- package/src/lib/admin/form/workflow/node-ref.ts +8 -0
- package/src/lib/admin/form/workflow/node.component.html +36 -0
- package/src/lib/admin/form/workflow/node.component.scss +4 -0
- package/src/lib/admin/form/workflow/node.component.ts +129 -0
- package/src/lib/admin/form/workflow/role-node.component.html +40 -0
- package/src/lib/admin/form/workflow/role-node.component.ts +66 -0
- package/src/lib/admin/form/workflow/tools.component.exp.ts +13 -0
- package/src/lib/admin/form/workflow/tools.component.html +1 -0
- package/src/lib/admin/form/workflow/workflow.component.html +66 -0
- package/src/lib/admin/form/workflow/workflow.component.scss +57 -0
- package/src/lib/admin/form/workflow/workflow.component.ts +438 -0
- package/src/lib/admin/indices/manage-cube-index.component.html +35 -0
- package/src/lib/admin/indices/manage-cube-index.component.scss +16 -0
- package/src/lib/admin/indices/manage-cube-index.component.ts +155 -0
- package/src/lib/admin/patterns/patterns.component.html +70 -0
- package/src/lib/admin/patterns/patterns.component.ts +166 -0
- package/src/lib/admin/permissions/permissions.component.html +21 -0
- package/src/lib/admin/permissions/permissions.component.scss +7 -0
- package/src/lib/admin/permissions/permissions.component.ts +89 -0
- package/src/lib/admin/positions/positions-popup.component.html +23 -0
- package/src/lib/admin/positions/positions-popup.component.ts +68 -0
- package/src/lib/admin/positions/positions.component.html +150 -0
- package/src/lib/admin/positions/positions.component.scss +20 -0
- package/src/lib/admin/positions/positions.component.ts +464 -0
- package/src/lib/admin/profiler/assign.component.html +14 -0
- package/src/lib/admin/profiler/outofoffice.component.html +64 -0
- package/src/lib/admin/profiler/outofoffice.component.ts +146 -0
- package/src/lib/admin/profiler/profiler.component.html +110 -0
- package/src/lib/admin/profiler/profiler.component.scss +23 -0
- package/src/lib/admin/profiler/profiler.component.ts +302 -0
- package/src/lib/admin/utility-ref.ts +44 -0
- package/src/lib/admin/utility-wrapper.component.ts +52 -0
- package/src/lib/admin/utility.pane.component.ts +49 -0
- package/src/lib/app.component.ts +90 -0
- package/src/lib/bizdoc.module.ts +82 -0
- package/src/lib/browse/_browse-theme.scss +86 -0
- package/src/lib/browse/browse-items.component.html +171 -0
- package/src/lib/browse/browse-items.component.scss +52 -0
- package/src/lib/browse/browse-items.component.ts +460 -0
- package/src/lib/browse/browse.mobile.component.html +33 -0
- package/src/lib/browse/browse.mobile.component.ts +90 -0
- package/src/lib/browse/browse.pane.component.html +43 -0
- package/src/lib/browse/browse.pane.component.scss +4 -0
- package/src/lib/browse/browse.pane.component.ts +141 -0
- package/src/lib/browse/expanded-item/expanded-item.component.html +38 -0
- package/src/lib/browse/expanded-item/expanded-item.component.scss +35 -0
- package/src/lib/browse/expanded-item/expanded-item.component.ts +339 -0
- package/src/lib/browse/filter/filter.component.html +50 -0
- package/src/lib/browse/filter/filter.component.scss +10 -0
- package/src/lib/browse/filter/filter.component.ts +156 -0
- package/src/lib/browse/folders-menu.component.html +20 -0
- package/src/lib/browse/folders-menu.component.scss +15 -0
- package/src/lib/browse/folders-menu.component.ts +42 -0
- package/src/lib/chat/_chat-theme.scss +95 -0
- package/src/lib/chat/chat-info.ts +74 -0
- package/src/lib/chat/chat-pool.component.exp.ts +117 -0
- package/src/lib/chat/chat-pool.component.html +13 -0
- package/src/lib/chat/chat-pool.component.scss +10 -0
- package/src/lib/chat/chat.mobile.component.html +6 -0
- package/src/lib/chat/chat.mobile.component.scss +8 -0
- package/src/lib/chat/chat.mobile.component.ts +18 -0
- package/src/lib/chat/chat.service.ts +128 -0
- package/src/lib/chat/contacts.component.html +37 -0
- package/src/lib/chat/contacts.component.scss +49 -0
- package/src/lib/chat/contacts.component.ts +88 -0
- package/src/lib/chat/contacts.pane.component.ts +25 -0
- package/src/lib/chat/conversation.component.html +28 -0
- package/src/lib/chat/conversation.component.scss +14 -0
- package/src/lib/chat/conversation.component.ts +186 -0
- package/src/lib/chat/conversation.pane.component.ts +55 -0
- package/src/lib/compose/_compose-theme.scss +63 -0
- package/src/lib/compose/action/action-picker.component.html +25 -0
- package/src/lib/compose/action/action-picker.component.scss +4 -0
- package/src/lib/compose/action/action-picker.component.ts +72 -0
- package/src/lib/compose/action/action-ref.ts +19 -0
- package/src/lib/compose/action/action.base.ts +58 -0
- package/src/lib/compose/action/action.dialog.html +17 -0
- package/src/lib/compose/action/action.dialog.scss +1 -0
- package/src/lib/compose/action/action.dialog.ts +57 -0
- package/src/lib/compose/action/action.pane.dialog.exp.ts +77 -0
- package/src/lib/compose/action/action.pane.dialog.html +12 -0
- package/src/lib/compose/action/assign-action.component.html +23 -0
- package/src/lib/compose/action/assign-action.component.ts +57 -0
- package/src/lib/compose/action/moveto-action.component.html +33 -0
- package/src/lib/compose/action/moveto-action.component.ts +77 -0
- package/src/lib/compose/action/return-action.component.html +13 -0
- package/src/lib/compose/action/return-action.component.ts +42 -0
- package/src/lib/compose/attachments/attachments.component.html +23 -0
- package/src/lib/compose/attachments/attachments.component.scss +21 -0
- package/src/lib/compose/attachments/attachments.component.ts +114 -0
- package/src/lib/compose/attachments/preview/attachment-preview.component.html +17 -0
- package/src/lib/compose/attachments/preview/attachment-preview.component.scss +36 -0
- package/src/lib/compose/attachments/preview/attachment-preview.component.ts +140 -0
- package/src/lib/compose/attachments/progress-button.directive.ts +18 -0
- package/src/lib/compose/can-deactivate-changes.service.ts +22 -0
- package/src/lib/compose/comments/_comments-theme.scss +82 -0
- package/src/lib/compose/comments/comment.component.html +36 -0
- package/src/lib/compose/comments/comment.component.ts +160 -0
- package/src/lib/compose/comments/comments.component.html +27 -0
- package/src/lib/compose/comments/comments.component.scss +33 -0
- package/src/lib/compose/comments/comments.component.ts +220 -0
- package/src/lib/compose/comments/comments.pane.component.ts +41 -0
- package/src/lib/compose/comments/edit-comment.component.html +3 -0
- package/src/lib/compose/comments/edit-comment.component.ts +35 -0
- package/src/lib/compose/comments/edits.component.html +7 -0
- package/src/lib/compose/comments/edits.component.ts +33 -0
- package/src/lib/compose/comments/quick-comment.component.exp.ts +60 -0
- package/src/lib/compose/comments/quick-comment.component.html +5 -0
- package/src/lib/compose/comments/quick-comment.component.scss +11 -0
- package/src/lib/compose/comments/votes.component.html +7 -0
- package/src/lib/compose/comments/votes.component.ts +38 -0
- package/src/lib/compose/compose-resolve.service.ts +42 -0
- package/src/lib/compose/compose.mobile.component.html +67 -0
- package/src/lib/compose/compose.mobile.component.scss +14 -0
- package/src/lib/compose/compose.mobile.component.ts +97 -0
- package/src/lib/compose/compose.pane.component.html +68 -0
- package/src/lib/compose/compose.pane.component.scss +6 -0
- package/src/lib/compose/compose.pane.component.ts +188 -0
- package/src/lib/compose/copy/copy.dialog.html +21 -0
- package/src/lib/compose/copy/copy.dialog.ts +40 -0
- package/src/lib/compose/dismiss.service.ts +26 -0
- package/src/lib/compose/document-resolver.service.ts +13 -0
- package/src/lib/compose/document.component.html +5 -0
- package/src/lib/compose/document.component.ts +41 -0
- package/src/lib/compose/document.mobile.component.ts +20 -0
- package/src/lib/compose/document.pane.component.ts +22 -0
- package/src/lib/compose/events/events.component.html +6 -0
- package/src/lib/compose/events/events.component.ts +21 -0
- package/src/lib/compose/form-ref.ts +53 -0
- package/src/lib/compose/form-selector/form-selector.sheet.html +10 -0
- package/src/lib/compose/form-selector/form-selector.sheet.ts +84 -0
- package/src/lib/compose/form.component.html +13 -0
- package/src/lib/compose/form.component.ts +456 -0
- package/src/lib/compose/maps/maps.component.html +3 -0
- package/src/lib/compose/maps/maps.component.ts +22 -0
- package/src/lib/compose/new-menu.component.html +13 -0
- package/src/lib/compose/new-menu.component.scss +11 -0
- package/src/lib/compose/new-menu.component.ts +106 -0
- package/src/lib/compose/privilage.directive.ts +43 -0
- package/src/lib/compose/recipient-resolver.service.ts +15 -0
- package/src/lib/compose/save-changes.dialog.html +13 -0
- package/src/lib/compose/save-changes.dialog.ts +10 -0
- package/src/lib/compose/state.component.ts +29 -0
- package/src/lib/compose/tag/tags.component.html +22 -0
- package/src/lib/compose/tag/tags.component.scss +1 -0
- package/src/lib/compose/tag/tags.component.ts +83 -0
- package/src/lib/compose/trace/flow.component.html +19 -0
- package/src/lib/compose/trace/flow.component.scss +7 -0
- package/src/lib/compose/trace/flow.component.ts +747 -0
- package/src/lib/compose/trace/people.component.ts +33 -0
- package/src/lib/compose/trace/trace.base.ts +72 -0
- package/src/lib/compose/trace/trace.component.html +57 -0
- package/src/lib/compose/trace/trace.component.scss +21 -0
- package/src/lib/compose/trace/trace.component.ts +388 -0
- package/src/lib/compose/trace/trace.pane.component.html +3 -0
- package/src/lib/compose/trace/trace.pane.component.scss +5 -0
- package/src/lib/compose/trace/trace.pane.component.ts +47 -0
- package/src/lib/compose/version-compare/_compare-theme.scss +147 -0
- package/src/lib/compose/version-compare/version-compare.component.ts +49 -0
- package/src/lib/compose/version-compare/version-compare.directive.ts +292 -0
- package/src/lib/compose/version-compare/version.pane.component.html +19 -0
- package/src/lib/compose/version-compare/version.pane.component.scss +8 -0
- package/src/lib/compose/version-compare/version.pane.component.ts +53 -0
- package/src/lib/core/NgComponentOutlet.ts +31 -0
- package/src/lib/core/account.service.ts +30 -0
- package/src/lib/core/animated-icon/animated-icon.directive.html +3 -0
- package/src/lib/core/animated-icon/animated-icon.directive.scss +12 -0
- package/src/lib/core/animated-icon/animated-icon.directive.ts +41 -0
- package/src/lib/core/animations.ts +207 -0
- package/src/lib/core/authentication.ts +7 -0
- package/src/lib/core/avatar/_avatar-theme.scss +60 -0
- package/src/lib/core/avatar/avatar.component.html +6 -0
- package/src/lib/core/avatar/avatar.component.ts +108 -0
- package/src/lib/core/base.ts +43 -0
- package/src/lib/core/can-activate.service.exp.ts +31 -0
- package/src/lib/core/colors.ts +322 -0
- package/src/lib/core/component-factory-resolver.ts +67 -0
- package/src/lib/core/configuration.ts +124 -0
- package/src/lib/core/controls/_daterange-theme.scss +16 -0
- package/src/lib/core/controls/address.input.ts +173 -0
- package/src/lib/core/controls/auto-complete.input.ts +218 -0
- package/src/lib/core/controls/combination-picker-body.html +34 -0
- package/src/lib/core/controls/combination-picker-body.scss +40 -0
- package/src/lib/core/controls/combination-picker-body.ts +194 -0
- package/src/lib/core/controls/combination-picker.html +6 -0
- package/src/lib/core/controls/combination-picker.scss +9 -0
- package/src/lib/core/controls/combination-picker.ts +243 -0
- package/src/lib/core/controls/combination-pool.html +10 -0
- package/src/lib/core/controls/combination-pool.scss +35 -0
- package/src/lib/core/controls/combination-pool.ts +92 -0
- package/src/lib/core/controls/file.input.html +50 -0
- package/src/lib/core/controls/file.input.scss +41 -0
- package/src/lib/core/controls/file.input.ts +400 -0
- package/src/lib/core/controls/select.input.ts +210 -0
- package/src/lib/core/controls/time-picker.html +4 -0
- package/src/lib/core/controls/time-picker.ts +199 -0
- package/src/lib/core/controls/timespan.input.ts +175 -0
- package/src/lib/core/datasource.service.ts +80 -0
- package/src/lib/core/decorators.ts +56 -0
- package/src/lib/core/firebase.service.ts +55 -0
- package/src/lib/core/functions.ts +246 -0
- package/src/lib/core/guide/_guide-theme.scss +197 -0
- package/src/lib/core/guide/guide.component.html +20 -0
- package/src/lib/core/guide/guide.component.ts +222 -0
- package/src/lib/core/guide/guide.service.ts +108 -0
- package/src/lib/core/guide/help-tip.component.ts +43 -0
- package/src/lib/core/http.interceptor.ts +80 -0
- package/src/lib/core/hub.service.ts +202 -0
- package/src/lib/core/identity/identity.component.html +2 -0
- package/src/lib/core/identity/identity.component.ts +57 -0
- package/src/lib/core/info/attachment-info.service.ts +46 -0
- package/src/lib/core/info/document-info.service.ts +15 -0
- package/src/lib/core/info/location-info.component.scss +13 -0
- package/src/lib/core/info/location-info.component.ts +64 -0
- package/src/lib/core/info/map-info.ts +33 -0
- package/src/lib/core/layout/autocomplete.field.ts +41 -0
- package/src/lib/core/layout/checkbox.field.ts +21 -0
- package/src/lib/core/layout/checkbox.scss +13 -0
- package/src/lib/core/layout/checkbox.ts +21 -0
- package/src/lib/core/layout/date-range.field.ts +32 -0
- package/src/lib/core/layout/date.field.ts +26 -0
- package/src/lib/core/layout/expression.field.ts +26 -0
- package/src/lib/core/layout/file.field.ts +27 -0
- package/src/lib/core/layout/html.field.ts +28 -0
- package/src/lib/core/layout/input.base.ts +12 -0
- package/src/lib/core/layout/input.field.ts +43 -0
- package/src/lib/core/layout/layout.component.scss +9 -0
- package/src/lib/core/layout/layout.component.ts +189 -0
- package/src/lib/core/layout/numeric.field.ts +24 -0
- package/src/lib/core/layout/select.field.ts +52 -0
- package/src/lib/core/layout/switch.field.ts +21 -0
- package/src/lib/core/layout/textarea.field.ts +21 -0
- package/src/lib/core/layout/timespan.field.ts +25 -0
- package/src/lib/core/lottie-animation.ts +37 -0
- package/src/lib/core/mailbox.service.ts +471 -0
- package/src/lib/core/models.ts +685 -0
- package/src/lib/core/none.component.scss +26 -0
- package/src/lib/core/none.component.ts +28 -0
- package/src/lib/core/pipes/action.pipe.ts +18 -0
- package/src/lib/core/pipes/calendar.pipe.ts +84 -0
- package/src/lib/core/pipes/date-format.pipe.ts +12 -0
- package/src/lib/core/pipes/daterange.pipe.ts +45 -0
- package/src/lib/core/pipes/difference.pipe.ts +9 -0
- package/src/lib/core/pipes/duration-format.pipe.ts +42 -0
- package/src/lib/core/pipes/duration.pipe.ts +13 -0
- package/src/lib/core/pipes/form.pipe.ts +19 -0
- package/src/lib/core/pipes/join.pipe.ts +10 -0
- package/src/lib/core/pipes/role.pipe.ts +19 -0
- package/src/lib/core/pipes/sanitize-html.pipe.ts +10 -0
- package/src/lib/core/pipes/sort.pipe.ts +34 -0
- package/src/lib/core/pipes/state.pipe.ts +19 -0
- package/src/lib/core/pipes/time-ago.pipe.ts +59 -0
- package/src/lib/core/pipes/translate.pipe.ts +22 -0
- package/src/lib/core/pipes/type-value.pipe.ts +37 -0
- package/src/lib/core/pipes/user-name.pipe.ts +14 -0
- package/src/lib/core/popup/_popup-theme.scss +363 -0
- package/src/lib/core/popup/popup-ref.ts +19 -0
- package/src/lib/core/popup/popup.component.html +6 -0
- package/src/lib/core/popup/popup.component.ts +40 -0
- package/src/lib/core/popup/popup.service.ts +156 -0
- package/src/lib/core/popup/tooltip.directive.ts +58 -0
- package/src/lib/core/prompt/ask/ask.dialog.html +6 -0
- package/src/lib/core/prompt/ask/ask.dialog.ts +35 -0
- package/src/lib/core/prompt/mask/mask.component.html +1 -0
- package/src/lib/core/prompt/mask/mask.component.scss +14 -0
- package/src/lib/core/prompt/mask/mask.component.ts +15 -0
- package/src/lib/core/prompt.service.ts +81 -0
- package/src/lib/core/router.ts +31 -0
- package/src/lib/core/session.service.ts +265 -0
- package/src/lib/core/slots/_slots-theme.scss +139 -0
- package/src/lib/core/slots/extended-tab.component.exp.ts +35 -0
- package/src/lib/core/slots/extended-tab.component.html +0 -0
- package/src/lib/core/slots/intro.pane.component.exp.ts +23 -0
- package/src/lib/core/slots/intro.pane.component.html +22 -0
- package/src/lib/core/slots/intro.pane.component.scss +8 -0
- package/src/lib/core/slots/pane-ref.ts +188 -0
- package/src/lib/core/slots/router.directive.ts +53 -0
- package/src/lib/core/slots/router.service.ts +53 -0
- package/src/lib/core/slots/slot.component.exp.ts +49 -0
- package/src/lib/core/slots/slot.component.html +15 -0
- package/src/lib/core/slots/slot.component.scss +18 -0
- package/src/lib/core/slots/slots.component.html +68 -0
- package/src/lib/core/slots/slots.component.scss +163 -0
- package/src/lib/core/slots/slots.component.ts +1260 -0
- package/src/lib/core/tagging/documents.component.html +11 -0
- package/src/lib/core/tagging/documents.component.ts +19 -0
- package/src/lib/core/tagging/edit-input.component.html +41 -0
- package/src/lib/core/tagging/edit-input.component.scss +21 -0
- package/src/lib/core/tagging/edit-input.component.ts +211 -0
- package/src/lib/core/tagging/emoji.component.ts +23 -0
- package/src/lib/core/tagging/tagging-item.directive.ts +34 -0
- package/src/lib/core/tagging/tagging.component-base.ts +29 -0
- package/src/lib/core/tagging/tagging.component.scss +22 -0
- package/src/lib/core/tagging/tagging.directive.ts +130 -0
- package/src/lib/core/tagging/tagging.pipe.ts +76 -0
- package/src/lib/core/tagging/users.component.html +13 -0
- package/src/lib/core/tagging/users.component.ts +28 -0
- package/src/lib/core/translate.service.ts +128 -0
- package/src/lib/core/translations.ts +1138 -0
- package/src/lib/core/window-title.service.ts +54 -0
- package/src/lib/cube/accum/accum.component.html +16 -0
- package/src/lib/cube/accum/accum.component.ts +264 -0
- package/src/lib/cube/chart/chart.component.html +32 -0
- package/src/lib/cube/chart/chart.component.ts +344 -0
- package/src/lib/cube/cube-info.service.ts +135 -0
- package/src/lib/cube/cube-menu.component.html +13 -0
- package/src/lib/cube/cube-menu.component.ts +18 -0
- package/src/lib/cube/cube-view.component.html +66 -0
- package/src/lib/cube/cube-view.component.ts +186 -0
- package/src/lib/cube/cube.service.ts +495 -0
- package/src/lib/cube/declarations.ts +24 -0
- package/src/lib/cube/explore/document-item.component.ts +28 -0
- package/src/lib/cube/explore/explore-item.component.scss +4 -0
- package/src/lib/cube/explore/explore-item.component.ts +23 -0
- package/src/lib/cube/explore/explore-items.component.html +25 -0
- package/src/lib/cube/explore/explore-items.component.scss +7 -0
- package/src/lib/cube/explore/explore-items.component.ts +185 -0
- package/src/lib/cube/explore/explore.pane.component.html +12 -0
- package/src/lib/cube/explore/explore.pane.component.ts +78 -0
- package/src/lib/cube/explore/item-resolver.service.ts +24 -0
- package/src/lib/cube/explore/item.pane.component.html +3 -0
- package/src/lib/cube/explore/item.pane.component.ts +23 -0
- package/src/lib/cube/filter/filter-tags.component.exp.ts +70 -0
- package/src/lib/cube/filter/filter-tags.component.html +11 -0
- package/src/lib/cube/filter/filter-tags.component.scss +0 -0
- package/src/lib/cube/filter/filter-tags.component.spec.ts +25 -0
- package/src/lib/cube/filter/filter.component.html +25 -0
- package/src/lib/cube/filter/filter.component.scss +8 -0
- package/src/lib/cube/filter/filter.component.ts +116 -0
- package/src/lib/cube/grid/grid.component.html +29 -0
- package/src/lib/cube/grid/grid.component.scss +10 -0
- package/src/lib/cube/grid/grid.component.ts +223 -0
- package/src/lib/cube/grid/spreadsheet.component.ts +382 -0
- package/src/lib/cube/matrix/_matrix.theme.scss +86 -0
- package/src/lib/cube/matrix/matrix.base.ts +149 -0
- package/src/lib/cube/matrix/matrix.mobile.component.html +28 -0
- package/src/lib/cube/matrix/matrix.mobile.component.ts +60 -0
- package/src/lib/cube/matrix/matrix.pane.component.html +34 -0
- package/src/lib/cube/matrix/matrix.pane.component.scss +10 -0
- package/src/lib/cube/matrix/matrix.pane.component.ts +83 -0
- package/src/lib/cube/matrix/popup.component.html +32 -0
- package/src/lib/cube/matrix/popup.component.scss +7 -0
- package/src/lib/cube/matrix/popup.component.ts +55 -0
- package/src/lib/cube/matrix/table.component.html +46 -0
- package/src/lib/cube/matrix/table.component.scss +25 -0
- package/src/lib/cube/matrix/table.component.ts +517 -0
- package/src/lib/cube/parallel/item.ts +47 -0
- package/src/lib/cube/parallel/parallel.component.html +22 -0
- package/src/lib/cube/parallel/parallel.component.scss +13 -0
- package/src/lib/cube/parallel/parallel.component.ts +166 -0
- package/src/lib/cube/pivot/pivot.component.html +14 -0
- package/src/lib/cube/pivot/pivot.component.ts +518 -0
- package/src/lib/cube/sum/_sum.theme.scss +63 -0
- package/src/lib/cube/sum/sum.component.html +60 -0
- package/src/lib/cube/sum/sum.component.scss +94 -0
- package/src/lib/cube/sum/sum.component.ts +437 -0
- package/src/lib/cube/view-base.ts +82 -0
- package/src/lib/cube/view.mobile.component.html +38 -0
- package/src/lib/cube/view.mobile.component.scss +9 -0
- package/src/lib/cube/view.mobile.component.ts +116 -0
- package/src/lib/cube/view.pane.component.html +24 -0
- package/src/lib/cube/view.pane.component.scss +12 -0
- package/src/lib/cube/view.pane.component.ts +80 -0
- package/src/lib/dashboard/_table.widget.scss +19 -0
- package/src/lib/dashboard/actions/actions.widget.html +6 -0
- package/src/lib/dashboard/actions/actions.widget.ts +118 -0
- package/src/lib/dashboard/cube/accum-cube.widget.html +15 -0
- package/src/lib/dashboard/cube/accum-cube.widget.ts +154 -0
- package/src/lib/dashboard/cube/compare.widget.ts +219 -0
- package/src/lib/dashboard/cube/cube-analysis.base.ts +113 -0
- package/src/lib/dashboard/cube/cube-analysis.widget.ts +44 -0
- package/src/lib/dashboard/cube/cube-chart.widget.html +7 -0
- package/src/lib/dashboard/cube/cube-chart.widget.ts +144 -0
- package/src/lib/dashboard/cube/documents.widget.html +19 -0
- package/src/lib/dashboard/cube/documents.widget.ts +57 -0
- package/src/lib/dashboard/cube/filter/filter.component.html +3 -0
- package/src/lib/dashboard/cube/filter/filter.component.ts +53 -0
- package/src/lib/dashboard/cube/gauge.component.exp.ts +18 -0
- package/src/lib/dashboard/dashboard.component.html +18 -0
- package/src/lib/dashboard/dashboard.component.scss +36 -0
- package/src/lib/dashboard/dashboard.component.ts +53 -0
- package/src/lib/dashboard/dashboard.pane.component.ts +19 -0
- package/src/lib/dashboard/recents/recents.widget.html +32 -0
- package/src/lib/dashboard/recents/recents.widget.scss +9 -0
- package/src/lib/dashboard/recents/recents.widget.ts +89 -0
- package/src/lib/dashboard/score/activity.widget.html +9 -0
- package/src/lib/dashboard/score/activity.widget.ts +175 -0
- package/src/lib/dashboard/score/compare-groups.widget.html +8 -0
- package/src/lib/dashboard/score/compare-groups.widget.ts +212 -0
- package/src/lib/dashboard/score/peers-performance.widget.html +23 -0
- package/src/lib/dashboard/score/peers-performance.widget.ts +254 -0
- package/src/lib/dashboard/score/pending-results.widget.html +31 -0
- package/src/lib/dashboard/score/pending-results.widget.ts +52 -0
- package/src/lib/dashboard/score/personal-score.widget.html +18 -0
- package/src/lib/dashboard/score/personal-score.widget.ts +229 -0
- package/src/lib/dashboard/widget-item.component.ts +92 -0
- package/src/lib/dashboard/widget-ref.ts +20 -0
- package/src/lib/desktop.module.ts +98 -0
- package/src/lib/home/_home-theme.scss +174 -0
- package/src/lib/home/about/about.dialog.html +19 -0
- package/src/lib/home/about/about.dialog.ts +18 -0
- package/src/lib/home/home-base.component.ts +100 -0
- package/src/lib/home/home.desktop.component.html +92 -0
- package/src/lib/home/home.desktop.component.scss +66 -0
- package/src/lib/home/home.desktop.component.ts +211 -0
- package/src/lib/home/home.mobile.component.html +81 -0
- package/src/lib/home/home.mobile.component.scss +49 -0
- package/src/lib/home/home.mobile.component.ts +105 -0
- package/src/lib/home/notifications/notifications.component.html +18 -0
- package/src/lib/home/notifications/notifications.component.scss +36 -0
- package/src/lib/home/notifications/notifications.component.ts +55 -0
- package/src/lib/home/options/_options-theme.scss +11 -0
- package/src/lib/home/options/options.component.html +41 -0
- package/src/lib/home/options/options.component.scss +16 -0
- package/src/lib/home/options/options.component.ts +95 -0
- package/src/lib/home/outofoffice/outofoffice.component.html +5 -0
- package/src/lib/home/outofoffice/outofoffice.component.scss +10 -0
- package/src/lib/home/outofoffice/outofoffice.component.ts +33 -0
- package/src/lib/home/progress-bar.directive.exp.ts +24 -0
- package/src/lib/home/search.service.ts +87 -0
- package/src/lib/home/sign/sign.component.html +15 -0
- package/src/lib/home/sign/sign.component.ts +42 -0
- package/src/lib/home/submenu.directive.exp.ts +43 -0
- package/src/lib/home/tools.component.html +27 -0
- package/src/lib/home/tools.component.scss +15 -0
- package/src/lib/home/tools.component.ts +72 -0
- package/src/lib/home/welcome/welcome.dialog.exp.ts +35 -0
- package/src/lib/home/welcome/welcome.dialog.html +14 -0
- package/src/lib/impersonate/impersonate.component.html +17 -0
- package/src/lib/impersonate/impersonate.component.scss +3 -0
- package/src/lib/impersonate/impersonate.component.spec.ts +24 -0
- package/src/lib/impersonate/impersonate.component.ts +60 -0
- package/src/lib/mobile.module.ts +39 -0
- package/src/lib/modules/chart.module.ts +53 -0
- package/src/lib/modules/circular-gauge.module.ts +10 -0
- package/src/lib/modules/date.adapter.ts +31 -0
- package/src/lib/modules/datepicker.intl.ts +35 -0
- package/src/lib/modules/dayjs.module.ts +32 -0
- package/src/lib/modules/diagram.module.ts +25 -0
- package/src/lib/modules/gantt.module.ts +12 -0
- package/src/lib/modules/grid.module.ts +16 -0
- package/src/lib/modules/material.module.ts +104 -0
- package/src/lib/modules/paginator.intl.ts +16 -0
- package/src/lib/modules/pivot.module.ts +23 -0
- package/src/lib/modules/schedule.module.ts +12 -0
- package/src/lib/modules/spreadsheet.module.ts +21 -0
- package/src/lib/modules/stepper.intl.ts +12 -0
- package/src/lib/modules/texteditor.module.ts +16 -0
- package/src/lib/notifications/filter.component.html +6 -0
- package/src/lib/notifications/filter.component.ts +16 -0
- package/src/lib/notifications/notifications-table.component.html +54 -0
- package/src/lib/notifications/notifications-table.component.scss +14 -0
- package/src/lib/notifications/notifications-table.component.ts +94 -0
- package/src/lib/notifications/notifications.component-base.ts +49 -0
- package/src/lib/notifications/notifications.mobile.component.ts +13 -0
- package/src/lib/notifications/notifications.pane.component.ts +16 -0
- package/src/lib/notifications/notifications.service.ts +66 -0
- package/src/lib/notifications/types/commented.notification.html +14 -0
- package/src/lib/notifications/types/commented.notification.ts +51 -0
- package/src/lib/notifications/types/cube-anomaly.notification.ts +51 -0
- package/src/lib/notifications/types/escalated.notification.ts +36 -0
- package/src/lib/notifications/types/liked.notification.ts +49 -0
- package/src/lib/notifications/types/long-running-task.notification.ts +23 -0
- package/src/lib/notifications/types/notification-base.ts +37 -0
- package/src/lib/notifications/types/nudge.notification.ts +32 -0
- package/src/lib/notifications/types/state-changed.notification.ts +27 -0
- package/src/lib/notifications/types/tagged.notification.ts +46 -0
- package/src/lib/notifications/types/text.notification.ts +13 -0
- package/src/lib/notifications/types/upcoming-event.notification.ts +25 -0
- package/src/lib/options/options.component.html +148 -0
- package/src/lib/options/options.component.scss +19 -0
- package/src/lib/options/options.component.ts +262 -0
- package/src/lib/options/options.service.ts +30 -0
- package/src/lib/reports/arguments-component.ts +73 -0
- package/src/lib/reports/cube/documents.component.ts +50 -0
- package/src/lib/reports/cube/grid-documents.component.html +25 -0
- package/src/lib/reports/cube/grid-documents.component.ts +67 -0
- package/src/lib/reports/cube/table-documents.component.css +18 -0
- package/src/lib/reports/cube/table-documents.component.html +30 -0
- package/src/lib/reports/cube/table-documents.component.ts +46 -0
- package/src/lib/reports/cube/usage-args.component.html +3 -0
- package/src/lib/reports/cube/usage-args.component.ts +55 -0
- package/src/lib/reports/cube/usage-base.ts +113 -0
- package/src/lib/reports/cube/usage-browse.component.exp.ts +93 -0
- package/src/lib/reports/cube/usage-browse.component.html +27 -0
- package/src/lib/reports/cube/usage-browse.component.scss +24 -0
- package/src/lib/reports/cube/usage-chart.component.html +11 -0
- package/src/lib/reports/cube/usage-chart.component.ts +386 -0
- package/src/lib/reports/cube/usage-pivot.component.html +19 -0
- package/src/lib/reports/cube/usage-pivot.component.ts +266 -0
- package/src/lib/reports/cube/usage.component.ts +34 -0
- package/src/lib/reports/report-ref.ts +41 -0
- package/src/lib/reports/report-viewer.component.html +2 -0
- package/src/lib/reports/report-viewer.component.scss +12 -0
- package/src/lib/reports/report-viewer.component.ts +159 -0
- package/src/lib/reports/report.mobile.component.html +17 -0
- package/src/lib/reports/report.mobile.component.scss +7 -0
- package/src/lib/reports/report.mobile.component.ts +117 -0
- package/src/lib/reports/report.pane.component.html +9 -0
- package/src/lib/reports/report.pane.component.scss +9 -0
- package/src/lib/reports/report.pane.component.ts +88 -0
- package/src/lib/reports/reports-menu.component.html +9 -0
- package/src/lib/reports/reports-menu.component.ts +20 -0
- package/src/lib/reports/substitution/substitution.component.html +26 -0
- package/src/lib/reports/substitution/substitution.component.ts +34 -0
- package/src/lib/reports/table/table-view.component.html +8 -0
- package/src/lib/reports/table/table-view.component.scss +0 -0
- package/src/lib/reports/table/table-view.component.ts +33 -0
- package/src/lib/reports/tasks/tasks.component.html +21 -0
- package/src/lib/reports/tasks/tasks.component.ts +115 -0
- package/src/lib/reports/timeline/timeline.component.exp.ts +225 -0
- package/src/lib/reports/timeline/timeline.component.html +9 -0
- package/src/lib/routes.desktop.ts +196 -0
- package/src/lib/routes.mobile.ts +70 -0
- package/src/lib/scheduler/schedule.component.html +36 -0
- package/src/lib/scheduler/schedule.component.scss +13 -0
- package/src/lib/scheduler/schedule.component.ts +158 -0
- package/src/lib/scheduler/scheduler.mobile.component.ts +30 -0
- package/src/lib/scheduler/scheduler.pane.component.ts +49 -0
- package/src/lib/shared.module.ts +374 -0
- package/src/lib/system.module.ts +77 -0
- package/src/lib/views/_views.theme.scss +18 -0
- package/src/lib/views/cube/chart.component.html +24 -0
- package/src/lib/views/cube/chart.component.ts +88 -0
- package/src/lib/views/cube/cube-base.ts +126 -0
- package/src/lib/views/cube/explore.component.html +33 -0
- package/src/lib/views/cube/explore.component.ts +82 -0
- package/src/lib/views/cube/filter.component.exp.ts +66 -0
- package/src/lib/views/cube/filter.component.html +25 -0
- package/src/lib/views/cube/matrix.component.html +42 -0
- package/src/lib/views/cube/matrix.component.scss +3 -0
- package/src/lib/views/cube/matrix.component.ts +106 -0
- package/src/lib/views/cube/parallel.component.html +10 -0
- package/src/lib/views/cube/parallel.component.scss +13 -0
- package/src/lib/views/cube/parallel.component.ts +63 -0
- package/src/lib/views/cube/pivot.component.html +8 -0
- package/src/lib/views/cube/pivot.component.ts +62 -0
- package/src/lib/views/cube/sum.component.html +30 -0
- package/src/lib/views/cube/sum.component.scss +3 -0
- package/src/lib/views/cube/sum.component.ts +71 -0
- package/src/lib/views/cube/view.component.html +34 -0
- package/src/lib/views/cube/view.component.scss +12 -0
- package/src/lib/views/cube/view.component.ts +103 -0
- package/src/lib/views/document-view-ref.ts +34 -0
- package/src/lib/views/timeline/timeline.component.exp.ts +333 -0
- package/src/lib/views/timeline/timeline.component.html +6 -0
- package/src/lib/views/timeline/timeline.component.scss +6 -0
- package/src/lib/views/view-item.component.ts +67 -0
- package/src/lib/views/views.component.html +4 -0
- package/src/lib/views/views.component.scss +33 -0
- package/src/lib/views/views.component.ts +29 -0
- package/src/lib/views/views.mobile.component.ts +19 -0
- package/src/lib/views/views.pane.component.ts +33 -0
- package/src/polyfills.ts +81 -0
- package/src/public-api.ts +149 -0
- package/src/styles/_app.scss +317 -0
- package/src/styles/_emoji-mart.scss +504 -0
- package/src/styles/_syncfusion-base-definitions.scss +63 -0
- package/src/styles/_syncfusion-dark-definitions.scss +21 -0
- package/src/styles/_syncfusion-dark.scss +2 -0
- package/src/styles/_syncfusion-icons.scss +57 -0
- package/src/styles/_syncfusion-light-definitions.scss +23 -0
- package/src/styles/_syncfusion-light.scss +2 -0
- package/src/styles/_syncfusion.scss +21 -0
- package/src/styles/_xslt.scss +377 -0
- package/src/styles/brown.scss +14 -0
- package/src/styles/build-xslt.ps1 +2 -0
- package/src/styles/build.ps1 +26 -0
- package/src/styles/dark.scss +13 -0
- package/src/styles/deep-purple-light-blue.scss +20 -0
- package/src/styles/deep-purple-teal.scss +20 -0
- package/src/styles/default.scss +21 -0
- package/src/styles/diagram-icons.eot +0 -0
- package/src/styles/diagram-icons.ttf +0 -0
- package/src/styles/green.scss +13 -0
- package/src/styles/indigo.scss +13 -0
- package/src/styles/xslt.scss +21 -0
- package/src/styles/xslt.scss.map +1 -0
- package/src/test.ts +26 -0
- package/tsconfig.lib.json +26 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +18 -0
- package/bizdoc-core.d.ts +0 -5
- package/esm2020/bizdoc-core.mjs +0 -5
- package/esm2020/lib/admin/admin-dismiss.service.mjs +0 -22
- package/esm2020/lib/admin/admin-menu.component.mjs +0 -27
- package/esm2020/lib/admin/core/ace.input.mjs +0 -147
- package/esm2020/lib/admin/core/color-picker.input.mjs +0 -208
- package/esm2020/lib/admin/core/search.input.mjs +0 -43
- package/esm2020/lib/admin/diff/configuration-diff.component.mjs +0 -558
- package/esm2020/lib/admin/document-trace/document-trace.component.mjs +0 -532
- package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +0 -40
- package/esm2020/lib/admin/document-trace/timeline.mjs +0 -2
- package/esm2020/lib/admin/document-trace/trace-element.component.mjs +0 -123
- package/esm2020/lib/admin/form/form.resolve.service.mjs +0 -17
- package/esm2020/lib/admin/form/form.service.mjs +0 -43
- package/esm2020/lib/admin/form/workflow/node-ref.mjs +0 -8
- package/esm2020/lib/admin/form/workflow/node.component.mjs +0 -128
- package/esm2020/lib/admin/form/workflow/role-node.component.mjs +0 -90
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +0 -447
- package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +0 -161
- package/esm2020/lib/admin/patterns/patterns.component.mjs +0 -179
- package/esm2020/lib/admin/permissions/permissions.component.mjs +0 -97
- package/esm2020/lib/admin/positions/positions-popup.component.mjs +0 -74
- package/esm2020/lib/admin/positions/positions.component.mjs +0 -460
- package/esm2020/lib/admin/profiler/outofoffice.component.mjs +0 -155
- package/esm2020/lib/admin/profiler/profiler.component.mjs +0 -289
- package/esm2020/lib/admin/utility-ref.mjs +0 -38
- package/esm2020/lib/admin/utility-wrapper.component.mjs +0 -51
- package/esm2020/lib/admin/utility.pane.component.mjs +0 -51
- package/esm2020/lib/app.component.mjs +0 -90
- package/esm2020/lib/bizdoc.module.mjs +0 -101
- package/esm2020/lib/browse/browse-items.component.mjs +0 -481
- package/esm2020/lib/browse/browse.mobile.component.mjs +0 -101
- package/esm2020/lib/browse/browse.pane.component.mjs +0 -149
- package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +0 -316
- package/esm2020/lib/browse/filter/filter.component.mjs +0 -164
- package/esm2020/lib/browse/folders-menu.component.mjs +0 -51
- package/esm2020/lib/chat/chat-info.mjs +0 -68
- package/esm2020/lib/chat/chat.mobile.component.mjs +0 -26
- package/esm2020/lib/chat/chat.service.mjs +0 -122
- package/esm2020/lib/chat/contacts.component.mjs +0 -103
- package/esm2020/lib/chat/contacts.pane.component.mjs +0 -29
- package/esm2020/lib/chat/conversation.component.mjs +0 -193
- package/esm2020/lib/chat/conversation.pane.component.mjs +0 -53
- package/esm2020/lib/compose/action/action-picker.component.mjs +0 -84
- package/esm2020/lib/compose/action/action-ref.mjs +0 -19
- package/esm2020/lib/compose/action/action.base.mjs +0 -49
- package/esm2020/lib/compose/action/action.dialog.mjs +0 -61
- package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +0 -72
- package/esm2020/lib/compose/action/assign-action.component.mjs +0 -70
- package/esm2020/lib/compose/action/moveto-action.component.mjs +0 -91
- package/esm2020/lib/compose/action/return-action.component.mjs +0 -52
- package/esm2020/lib/compose/attachments/attachments.component.mjs +0 -127
- package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +0 -155
- package/esm2020/lib/compose/attachments/progress-button.directive.mjs +0 -25
- package/esm2020/lib/compose/can-deactivate-changes.service.mjs +0 -27
- package/esm2020/lib/compose/comments/Comments.pane.component.mjs +0 -49
- package/esm2020/lib/compose/comments/comment.component.mjs +0 -186
- package/esm2020/lib/compose/comments/comments.component.mjs +0 -227
- package/esm2020/lib/compose/comments/edit-comment.component.mjs +0 -32
- package/esm2020/lib/compose/comments/edits.component.mjs +0 -30
- package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +0 -63
- package/esm2020/lib/compose/comments/votes.component.mjs +0 -42
- package/esm2020/lib/compose/compose-resolve.service.mjs +0 -55
- package/esm2020/lib/compose/compose.mobile.component.mjs +0 -112
- package/esm2020/lib/compose/compose.pane.component.mjs +0 -204
- package/esm2020/lib/compose/copy/copy.dialog.mjs +0 -46
- package/esm2020/lib/compose/dismiss.service.mjs +0 -25
- package/esm2020/lib/compose/document-resolver.service.mjs +0 -17
- package/esm2020/lib/compose/document.component.mjs +0 -45
- package/esm2020/lib/compose/document.mobile.component.mjs +0 -22
- package/esm2020/lib/compose/document.pane.component.mjs +0 -26
- package/esm2020/lib/compose/events/events.component.mjs +0 -30
- package/esm2020/lib/compose/form-ref.mjs +0 -46
- package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +0 -88
- package/esm2020/lib/compose/form.component.mjs +0 -458
- package/esm2020/lib/compose/new-menu.component.mjs +0 -104
- package/esm2020/lib/compose/privilage.directive.mjs +0 -64
- package/esm2020/lib/compose/recipient-resolver.service.mjs +0 -18
- package/esm2020/lib/compose/save-changes.dialog.mjs +0 -18
- package/esm2020/lib/compose/state.component.mjs +0 -37
- package/esm2020/lib/compose/tag/tags.component.mjs +0 -91
- package/esm2020/lib/compose/trace/flow.component.mjs +0 -700
- package/esm2020/lib/compose/trace/people.component.mjs +0 -35
- package/esm2020/lib/compose/trace/trace.base.mjs +0 -71
- package/esm2020/lib/compose/trace/trace.component.mjs +0 -359
- package/esm2020/lib/compose/trace/trace.pane.component.mjs +0 -52
- package/esm2020/lib/compose/version-compare/version-compare.component.mjs +0 -53
- package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +0 -344
- package/esm2020/lib/compose/version-compare/version.pane.component.mjs +0 -56
- package/esm2020/lib/core/NgComponentOutlet.mjs +0 -38
- package/esm2020/lib/core/account.service.mjs +0 -37
- package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +0 -17
- package/esm2020/lib/core/animations.mjs +0 -156
- package/esm2020/lib/core/authentication.mjs +0 -3
- package/esm2020/lib/core/avatar/avatar.component.mjs +0 -103
- package/esm2020/lib/core/base.mjs +0 -2
- package/esm2020/lib/core/colors.mjs +0 -322
- package/esm2020/lib/core/component-factory-resolver.mjs +0 -64
- package/esm2020/lib/core/configuration.mjs +0 -17
- package/esm2020/lib/core/controls/address.input.mjs +0 -206
- package/esm2020/lib/core/controls/auto-complete.input.mjs +0 -256
- package/esm2020/lib/core/controls/combination-picker-body.mjs +0 -173
- package/esm2020/lib/core/controls/combination-picker.mjs +0 -277
- package/esm2020/lib/core/controls/combination-pool.mjs +0 -105
- package/esm2020/lib/core/controls/file.input.mjs +0 -420
- package/esm2020/lib/core/controls/select.input.mjs +0 -237
- package/esm2020/lib/core/controls/time-picker.mjs +0 -196
- package/esm2020/lib/core/controls/timespan.input.mjs +0 -207
- package/esm2020/lib/core/datasource.service.mjs +0 -75
- package/esm2020/lib/core/decorators.mjs +0 -46
- package/esm2020/lib/core/firebase.service.mjs +0 -50
- package/esm2020/lib/core/functions.mjs +0 -205
- package/esm2020/lib/core/guide/guide.component.mjs +0 -219
- package/esm2020/lib/core/guide/guide.service.mjs +0 -118
- package/esm2020/lib/core/http.interceptor.mjs +0 -79
- package/esm2020/lib/core/hub.service.mjs +0 -108
- package/esm2020/lib/core/identity/identity.component.mjs +0 -67
- package/esm2020/lib/core/info/attachment-info.service.mjs +0 -51
- package/esm2020/lib/core/info/document-info.service.mjs +0 -21
- package/esm2020/lib/core/info/location-info.component.mjs +0 -61
- package/esm2020/lib/core/info/map-info.mjs +0 -40
- package/esm2020/lib/core/layout/autocomplete.field.mjs +0 -60
- package/esm2020/lib/core/layout/checkbox.field.mjs +0 -41
- package/esm2020/lib/core/layout/checkbox.mjs +0 -35
- package/esm2020/lib/core/layout/date-range.field.mjs +0 -53
- package/esm2020/lib/core/layout/date.field.mjs +0 -52
- package/esm2020/lib/core/layout/expression.field.mjs +0 -51
- package/esm2020/lib/core/layout/file.field.mjs +0 -47
- package/esm2020/lib/core/layout/html.field.mjs +0 -48
- package/esm2020/lib/core/layout/input.base.mjs +0 -11
- package/esm2020/lib/core/layout/input.field.mjs +0 -64
- package/esm2020/lib/core/layout/layout.component.mjs +0 -196
- package/esm2020/lib/core/layout/numeric.field.mjs +0 -47
- package/esm2020/lib/core/layout/select.field.mjs +0 -82
- package/esm2020/lib/core/layout/switch.field.mjs +0 -41
- package/esm2020/lib/core/layout/textarea.field.mjs +0 -42
- package/esm2020/lib/core/layout/timespan.field.mjs +0 -50
- package/esm2020/lib/core/lottie-animation.mjs +0 -46
- package/esm2020/lib/core/mailbox.service.mjs +0 -410
- package/esm2020/lib/core/models.mjs +0 -40
- package/esm2020/lib/core/none.component.mjs +0 -40
- package/esm2020/lib/core/pipes/action.pipe.mjs +0 -25
- package/esm2020/lib/core/pipes/calendar.pipe.mjs +0 -72
- package/esm2020/lib/core/pipes/date-format.pipe.mjs +0 -19
- package/esm2020/lib/core/pipes/daterange.pipe.mjs +0 -62
- package/esm2020/lib/core/pipes/difference.pipe.mjs +0 -15
- package/esm2020/lib/core/pipes/duration-format.pipe.mjs +0 -48
- package/esm2020/lib/core/pipes/duration.pipe.mjs +0 -19
- package/esm2020/lib/core/pipes/form.pipe.mjs +0 -25
- package/esm2020/lib/core/pipes/join.pipe.mjs +0 -18
- package/esm2020/lib/core/pipes/role.pipe.mjs +0 -25
- package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +0 -18
- package/esm2020/lib/core/pipes/sort.pipe.mjs +0 -48
- package/esm2020/lib/core/pipes/state.pipe.mjs +0 -25
- package/esm2020/lib/core/pipes/time-ago.pipe.mjs +0 -66
- package/esm2020/lib/core/pipes/translate.pipe.mjs +0 -38
- package/esm2020/lib/core/pipes/type-value.pipe.mjs +0 -42
- package/esm2020/lib/core/pipes/user-name.pipe.mjs +0 -21
- package/esm2020/lib/core/popup/popup-ref.mjs +0 -20
- package/esm2020/lib/core/popup/popup.component.mjs +0 -37
- package/esm2020/lib/core/popup/popup.service.mjs +0 -148
- package/esm2020/lib/core/popup/tooltip.directive.mjs +0 -82
- package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +0 -29
- package/esm2020/lib/core/prompt/mask/mask.component.mjs +0 -21
- package/esm2020/lib/core/prompt.service.mjs +0 -86
- package/esm2020/lib/core/router.mjs +0 -35
- package/esm2020/lib/core/session.service.mjs +0 -256
- package/esm2020/lib/core/slots/pane-ref.mjs +0 -146
- package/esm2020/lib/core/slots/router.directive.mjs +0 -70
- package/esm2020/lib/core/slots/router.service.mjs +0 -33
- package/esm2020/lib/core/slots/slots.component.mjs +0 -1105
- package/esm2020/lib/core/tagging/documents.component.mjs +0 -25
- package/esm2020/lib/core/tagging/edit-input.component.mjs +0 -233
- package/esm2020/lib/core/tagging/emoji.component.mjs +0 -35
- package/esm2020/lib/core/tagging/tagging-item.directive.mjs +0 -39
- package/esm2020/lib/core/tagging/tagging.component-base.mjs +0 -29
- package/esm2020/lib/core/tagging/tagging.directive.mjs +0 -138
- package/esm2020/lib/core/tagging/tagging.pipe.mjs +0 -72
- package/esm2020/lib/core/tagging/users.component.mjs +0 -32
- package/esm2020/lib/core/translate.service.mjs +0 -124
- package/esm2020/lib/core/translations.mjs +0 -1135
- package/esm2020/lib/core/window-title.service.mjs +0 -53
- package/esm2020/lib/cube/accum/accum.component.mjs +0 -258
- package/esm2020/lib/cube/chart/chart.component.mjs +0 -341
- package/esm2020/lib/cube/cube-info.service.mjs +0 -100
- package/esm2020/lib/cube/cube-menu.component.mjs +0 -27
- package/esm2020/lib/cube/cube-view.component.mjs +0 -186
- package/esm2020/lib/cube/cube.service.mjs +0 -418
- package/esm2020/lib/cube/declarations.mjs +0 -2
- package/esm2020/lib/cube/explore/document-item.component.mjs +0 -38
- package/esm2020/lib/cube/explore/explore-item.component.mjs +0 -27
- package/esm2020/lib/cube/explore/explore-items.component.mjs +0 -186
- package/esm2020/lib/cube/explore/explore.pane.component.mjs +0 -83
- package/esm2020/lib/cube/explore/item-resolver.service.mjs +0 -32
- package/esm2020/lib/cube/explore/item.pane.component.mjs +0 -23
- package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +0 -75
- package/esm2020/lib/cube/filter/filter.component.mjs +0 -137
- package/esm2020/lib/cube/grid/grid.component.mjs +0 -218
- package/esm2020/lib/cube/grid/spreadsheet.component.mjs +0 -367
- package/esm2020/lib/cube/matrix/matrix.base.mjs +0 -127
- package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +0 -63
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +0 -76
- package/esm2020/lib/cube/matrix/popup.component.mjs +0 -67
- package/esm2020/lib/cube/matrix/table.component.mjs +0 -493
- package/esm2020/lib/cube/parallel/item.mjs +0 -41
- package/esm2020/lib/cube/parallel/parallel.component.mjs +0 -159
- package/esm2020/lib/cube/pivot/pivot.component.mjs +0 -507
- package/esm2020/lib/cube/sum/sum.component.mjs +0 -404
- package/esm2020/lib/cube/view-base.mjs +0 -79
- package/esm2020/lib/cube/view.mobile.component.mjs +0 -127
- package/esm2020/lib/cube/view.pane.component.mjs +0 -88
- package/esm2020/lib/dashboard/actions/actions.widget.mjs +0 -126
- package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +0 -145
- package/esm2020/lib/dashboard/cube/compare.widget.mjs +0 -215
- package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +0 -90
- package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +0 -53
- package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +0 -144
- package/esm2020/lib/dashboard/cube/documents.widget.mjs +0 -64
- package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +0 -61
- package/esm2020/lib/dashboard/dashboard.component.mjs +0 -47
- package/esm2020/lib/dashboard/dashboard.pane.component.mjs +0 -24
- package/esm2020/lib/dashboard/recents/recents.widget.mjs +0 -98
- package/esm2020/lib/dashboard/score/activity.widget.mjs +0 -173
- package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +0 -206
- package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +0 -253
- package/esm2020/lib/dashboard/score/pending-results.widget.mjs +0 -60
- package/esm2020/lib/dashboard/score/personal-score.widget.mjs +0 -223
- package/esm2020/lib/dashboard/widget-item.component.mjs +0 -89
- package/esm2020/lib/dashboard/widget-ref.mjs +0 -18
- package/esm2020/lib/desktop.module.mjs +0 -144
- package/esm2020/lib/home/about/about.dialog.mjs +0 -26
- package/esm2020/lib/home/home-base.component.mjs +0 -91
- package/esm2020/lib/home/home.desktop.component.mjs +0 -221
- package/esm2020/lib/home/home.mobile.component.mjs +0 -116
- package/esm2020/lib/home/notifications/notifications.component.mjs +0 -67
- package/esm2020/lib/home/options/options.component.mjs +0 -94
- package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +0 -38
- package/esm2020/lib/home/search.service.mjs +0 -75
- package/esm2020/lib/home/sign/sign.component.mjs +0 -54
- package/esm2020/lib/home/tools.component.mjs +0 -82
- package/esm2020/lib/impersonate/impersonate.component.mjs +0 -65
- package/esm2020/lib/mobile.module.mjs +0 -59
- package/esm2020/lib/modules/chart.module.mjs +0 -39
- package/esm2020/lib/modules/circular-gauge.module.mjs +0 -17
- package/esm2020/lib/modules/date.adapter.mjs +0 -23
- package/esm2020/lib/modules/datepicker.intl.mjs +0 -39
- package/esm2020/lib/modules/dayjs.module.mjs +0 -41
- package/esm2020/lib/modules/diagram.module.mjs +0 -34
- package/esm2020/lib/modules/gantt.module.mjs +0 -18
- package/esm2020/lib/modules/grid.module.mjs +0 -23
- package/esm2020/lib/modules/material.module.mjs +0 -188
- package/esm2020/lib/modules/paginator.intl.mjs +0 -21
- package/esm2020/lib/modules/pivot.module.mjs +0 -24
- package/esm2020/lib/modules/schedule.module.mjs +0 -21
- package/esm2020/lib/modules/spreadsheet.module.mjs +0 -30
- package/esm2020/lib/modules/stepper.intl.mjs +0 -17
- package/esm2020/lib/modules/texteditor.module.mjs +0 -27
- package/esm2020/lib/notifications/filter.component.mjs +0 -25
- package/esm2020/lib/notifications/notifications-table.component.mjs +0 -106
- package/esm2020/lib/notifications/notifications.component-base.mjs +0 -47
- package/esm2020/lib/notifications/notifications.mobile.component.mjs +0 -20
- package/esm2020/lib/notifications/notifications.pane.component.mjs +0 -23
- package/esm2020/lib/notifications/notifications.service.mjs +0 -71
- package/esm2020/lib/notifications/types/commented.notification.mjs +0 -53
- package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +0 -58
- package/esm2020/lib/notifications/types/escalated.notification.mjs +0 -33
- package/esm2020/lib/notifications/types/liked.notification.mjs +0 -50
- package/esm2020/lib/notifications/types/long-running-task.notification.mjs +0 -31
- package/esm2020/lib/notifications/types/notification-base.mjs +0 -40
- package/esm2020/lib/notifications/types/nudge.notification.mjs +0 -31
- package/esm2020/lib/notifications/types/state-changed.notification.mjs +0 -30
- package/esm2020/lib/notifications/types/tagged.notification.mjs +0 -43
- package/esm2020/lib/notifications/types/text.notification.mjs +0 -20
- package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +0 -36
- package/esm2020/lib/options/options.component.mjs +0 -248
- package/esm2020/lib/options/options.service.mjs +0 -38
- package/esm2020/lib/reports/arguments-component.mjs +0 -83
- package/esm2020/lib/reports/cube/documents.component.mjs +0 -40
- package/esm2020/lib/reports/cube/grid-documents.component.mjs +0 -72
- package/esm2020/lib/reports/cube/table-documents.component.mjs +0 -56
- package/esm2020/lib/reports/cube/usage-args.component.mjs +0 -61
- package/esm2020/lib/reports/cube/usage-base.mjs +0 -79
- package/esm2020/lib/reports/cube/usage-chart.component.mjs +0 -357
- package/esm2020/lib/reports/cube/usage-pivot.component.mjs +0 -256
- package/esm2020/lib/reports/cube/usage.component.mjs +0 -40
- package/esm2020/lib/reports/report-ref.mjs +0 -31
- package/esm2020/lib/reports/report-viewer.component.mjs +0 -151
- package/esm2020/lib/reports/report.mobile.component.mjs +0 -128
- package/esm2020/lib/reports/report.pane.component.mjs +0 -96
- package/esm2020/lib/reports/reports-menu.component.mjs +0 -26
- package/esm2020/lib/reports/substitution/substitution.component.mjs +0 -40
- package/esm2020/lib/reports/table/table-view.component.mjs +0 -41
- package/esm2020/lib/reports/tasks/tasks.component.mjs +0 -95
- package/esm2020/lib/routes.desktop.mjs +0 -197
- package/esm2020/lib/routes.mobile.mjs +0 -69
- package/esm2020/lib/scheduler/schedule.component.mjs +0 -166
- package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +0 -37
- package/esm2020/lib/scheduler/scheduler.pane.component.mjs +0 -53
- package/esm2020/lib/shared.module.mjs +0 -517
- package/esm2020/lib/system.module.mjs +0 -113
- package/esm2020/lib/views/cube/chart.component.mjs +0 -75
- package/esm2020/lib/views/cube/cube-base.mjs +0 -96
- package/esm2020/lib/views/cube/explore.component.mjs +0 -83
- package/esm2020/lib/views/cube/matrix.component.mjs +0 -97
- package/esm2020/lib/views/cube/parallel.component.mjs +0 -54
- package/esm2020/lib/views/cube/pivot.component.mjs +0 -51
- package/esm2020/lib/views/cube/sum.component.mjs +0 -64
- package/esm2020/lib/views/cube/view.component.mjs +0 -102
- package/esm2020/lib/views/document-view-ref.mjs +0 -27
- package/esm2020/lib/views/timeline/timeline.component.exp.mjs +0 -313
- package/esm2020/lib/views/view-item.component.mjs +0 -66
- package/esm2020/lib/views/views.component.mjs +0 -25
- package/esm2020/lib/views/views.mobile.component.mjs +0 -20
- package/esm2020/lib/views/views.pane.component.mjs +0 -31
- package/esm2020/public-api.mjs +0 -143
- package/fesm2015/bizdoc-core.mjs +0 -30636
- package/fesm2015/bizdoc-core.mjs.map +0 -1
- package/fesm2020/bizdoc-core.mjs +0 -30414
- package/fesm2020/bizdoc-core.mjs.map +0 -1
- package/lib/admin/admin-dismiss.service.d.ts +0 -14
- package/lib/admin/admin-menu.component.d.ts +0 -12
- package/lib/admin/core/ace.input.d.ts +0 -52
- package/lib/admin/core/color-picker.input.d.ts +0 -64
- package/lib/admin/core/search.input.d.ts +0 -13
- package/lib/admin/diff/configuration-diff.component.d.ts +0 -116
- package/lib/admin/document-trace/document-trace.component.d.ts +0 -98
- package/lib/admin/document-trace/reassign.dialog.d.ts +0 -22
- package/lib/admin/document-trace/timeline.d.ts +0 -40
- package/lib/admin/document-trace/trace-element.component.d.ts +0 -51
- package/lib/admin/form/form.resolve.service.d.ts +0 -12
- package/lib/admin/form/form.service.d.ts +0 -30
- package/lib/admin/form/workflow/node-ref.d.ts +0 -7
- package/lib/admin/form/workflow/node.component.d.ts +0 -37
- package/lib/admin/form/workflow/role-node.component.d.ts +0 -22
- package/lib/admin/form/workflow/workflow.component.d.ts +0 -77
- package/lib/admin/indices/manage-cube-index.component.d.ts +0 -54
- package/lib/admin/patterns/patterns.component.d.ts +0 -79
- package/lib/admin/permissions/permissions.component.d.ts +0 -45
- package/lib/admin/positions/positions-popup.component.d.ts +0 -39
- package/lib/admin/positions/positions.component.d.ts +0 -117
- package/lib/admin/profiler/outofoffice.component.d.ts +0 -48
- package/lib/admin/profiler/profiler.component.d.ts +0 -117
- package/lib/admin/utility-ref.d.ts +0 -19
- package/lib/admin/utility-wrapper.component.d.ts +0 -28
- package/lib/admin/utility.pane.component.d.ts +0 -24
- package/lib/app.component.d.ts +0 -24
- package/lib/bizdoc.module.d.ts +0 -18
- package/lib/browse/browse-items.component.d.ts +0 -103
- package/lib/browse/browse.mobile.component.d.ts +0 -39
- package/lib/browse/browse.pane.component.d.ts +0 -50
- package/lib/browse/expanded-item/expanded-item.component.d.ts +0 -67
- package/lib/browse/filter/filter.component.d.ts +0 -71
- package/lib/browse/folders-menu.component.d.ts +0 -22
- package/lib/chat/chat-info.d.ts +0 -37
- package/lib/chat/chat.mobile.component.d.ts +0 -10
- package/lib/chat/chat.service.d.ts +0 -38
- package/lib/chat/contacts.component.d.ts +0 -38
- package/lib/chat/contacts.pane.component.d.ts +0 -12
- package/lib/chat/conversation.component.d.ts +0 -56
- package/lib/chat/conversation.pane.component.d.ts +0 -16
- package/lib/compose/action/action-picker.component.d.ts +0 -25
- package/lib/compose/action/action-ref.d.ts +0 -10
- package/lib/compose/action/action.base.d.ts +0 -15
- package/lib/compose/action/action.dialog.d.ts +0 -29
- package/lib/compose/action/action.pane.dialog.exp.d.ts +0 -31
- package/lib/compose/action/assign-action.component.d.ts +0 -30
- package/lib/compose/action/moveto-action.component.d.ts +0 -36
- package/lib/compose/action/return-action.component.d.ts +0 -19
- package/lib/compose/attachments/attachments.component.d.ts +0 -35
- package/lib/compose/attachments/preview/attachment-preview.component.d.ts +0 -49
- package/lib/compose/attachments/progress-button.directive.d.ts +0 -12
- package/lib/compose/can-deactivate-changes.service.d.ts +0 -12
- package/lib/compose/comments/Comments.pane.component.d.ts +0 -18
- package/lib/compose/comments/comment.component.d.ts +0 -51
- package/lib/compose/comments/comments.component.d.ts +0 -66
- package/lib/compose/comments/edit-comment.component.d.ts +0 -25
- package/lib/compose/comments/edits.component.d.ts +0 -26
- package/lib/compose/comments/quick-comment.component.exp.d.ts +0 -28
- package/lib/compose/comments/votes.component.d.ts +0 -22
- package/lib/compose/compose-resolve.service.d.ts +0 -27
- package/lib/compose/compose.mobile.component.d.ts +0 -42
- package/lib/compose/compose.pane.component.d.ts +0 -58
- package/lib/compose/copy/copy.dialog.d.ts +0 -23
- package/lib/compose/dismiss.service.d.ts +0 -12
- package/lib/compose/document-resolver.service.d.ts +0 -12
- package/lib/compose/document.component.d.ts +0 -18
- package/lib/compose/document.mobile.component.d.ts +0 -10
- package/lib/compose/document.pane.component.d.ts +0 -12
- package/lib/compose/events/events.component.d.ts +0 -13
- package/lib/compose/form-ref.d.ts +0 -30
- package/lib/compose/form-selector/form-selector.sheet.d.ts +0 -28
- package/lib/compose/form.component.d.ts +0 -101
- package/lib/compose/new-menu.component.d.ts +0 -36
- package/lib/compose/privilage.directive.d.ts +0 -26
- package/lib/compose/recipient-resolver.service.d.ts +0 -12
- package/lib/compose/save-changes.dialog.d.ts +0 -7
- package/lib/compose/state.component.d.ts +0 -12
- package/lib/compose/tag/tags.component.d.ts +0 -36
- package/lib/compose/trace/flow.component.d.ts +0 -59
- package/lib/compose/trace/people.component.d.ts +0 -18
- package/lib/compose/trace/trace.base.d.ts +0 -28
- package/lib/compose/trace/trace.component.d.ts +0 -55
- package/lib/compose/trace/trace.pane.component.d.ts +0 -20
- package/lib/compose/version-compare/version-compare.component.d.ts +0 -24
- package/lib/compose/version-compare/version-compare.directive.d.ts +0 -89
- package/lib/compose/version-compare/version.pane.component.d.ts +0 -21
- package/lib/core/NgComponentOutlet.d.ts +0 -15
- package/lib/core/account.service.d.ts +0 -18
- package/lib/core/animated-icon/animated-icon.directive.d.ts +0 -7
- package/lib/core/animations.d.ts +0 -26
- package/lib/core/authentication.d.ts +0 -6
- package/lib/core/avatar/avatar.component.d.ts +0 -34
- package/lib/core/base.d.ts +0 -31
- package/lib/core/colors.d.ts +0 -6
- package/lib/core/component-factory-resolver.d.ts +0 -12
- package/lib/core/configuration.d.ts +0 -113
- package/lib/core/controls/address.input.d.ts +0 -65
- package/lib/core/controls/auto-complete.input.d.ts +0 -86
- package/lib/core/controls/combination-picker-body.d.ts +0 -114
- package/lib/core/controls/combination-picker.d.ts +0 -82
- package/lib/core/controls/combination-pool.d.ts +0 -42
- package/lib/core/controls/file.input.d.ts +0 -99
- package/lib/core/controls/select.input.d.ts +0 -84
- package/lib/core/controls/time-picker.d.ts +0 -52
- package/lib/core/controls/timespan.input.d.ts +0 -55
- package/lib/core/datasource.service.d.ts +0 -46
- package/lib/core/decorators.d.ts +0 -17
- package/lib/core/firebase.service.d.ts +0 -17
- package/lib/core/functions.d.ts +0 -54
- package/lib/core/guide/guide.component.d.ts +0 -31
- package/lib/core/guide/guide.service.d.ts +0 -38
- package/lib/core/http.interceptor.d.ts +0 -21
- package/lib/core/hub.service.d.ts +0 -133
- package/lib/core/identity/identity.component.d.ts +0 -29
- package/lib/core/info/attachment-info.service.d.ts +0 -17
- package/lib/core/info/document-info.service.d.ts +0 -14
- package/lib/core/info/location-info.component.d.ts +0 -28
- package/lib/core/info/map-info.d.ts +0 -15
- package/lib/core/layout/autocomplete.field.d.ts +0 -21
- package/lib/core/layout/checkbox.d.ts +0 -10
- package/lib/core/layout/checkbox.field.d.ts +0 -11
- package/lib/core/layout/date-range.field.d.ts +0 -13
- package/lib/core/layout/date.field.d.ts +0 -11
- package/lib/core/layout/expression.field.d.ts +0 -12
- package/lib/core/layout/file.field.d.ts +0 -14
- package/lib/core/layout/html.field.d.ts +0 -12
- package/lib/core/layout/input.base.d.ts +0 -10
- package/lib/core/layout/input.field.d.ts +0 -14
- package/lib/core/layout/layout.component.d.ts +0 -33
- package/lib/core/layout/numeric.field.d.ts +0 -11
- package/lib/core/layout/select.field.d.ts +0 -22
- package/lib/core/layout/switch.field.d.ts +0 -11
- package/lib/core/layout/textarea.field.d.ts +0 -11
- package/lib/core/layout/timespan.field.d.ts +0 -11
- package/lib/core/lottie-animation.d.ts +0 -14
- package/lib/core/mailbox.service.d.ts +0 -142
- package/lib/core/models.d.ts +0 -652
- package/lib/core/none.component.d.ts +0 -9
- package/lib/core/pipes/action.pipe.d.ts +0 -10
- package/lib/core/pipes/calendar.pipe.d.ts +0 -27
- package/lib/core/pipes/date-format.pipe.d.ts +0 -8
- package/lib/core/pipes/daterange.pipe.d.ts +0 -15
- package/lib/core/pipes/difference.pipe.d.ts +0 -7
- package/lib/core/pipes/duration-format.pipe.d.ts +0 -11
- package/lib/core/pipes/duration.pipe.d.ts +0 -8
- package/lib/core/pipes/form.pipe.d.ts +0 -10
- package/lib/core/pipes/join.pipe.d.ts +0 -10
- package/lib/core/pipes/role.pipe.d.ts +0 -10
- package/lib/core/pipes/sanitize-html.pipe.d.ts +0 -10
- package/lib/core/pipes/sort.pipe.d.ts +0 -12
- package/lib/core/pipes/state.pipe.d.ts +0 -10
- package/lib/core/pipes/time-ago.pipe.d.ts +0 -16
- package/lib/core/pipes/translate.pipe.d.ts +0 -18
- package/lib/core/pipes/type-value.pipe.d.ts +0 -15
- package/lib/core/pipes/user-name.pipe.d.ts +0 -11
- package/lib/core/popup/popup-ref.d.ts +0 -14
- package/lib/core/popup/popup.component.d.ts +0 -22
- package/lib/core/popup/popup.service.d.ts +0 -24
- package/lib/core/popup/tooltip.directive.d.ts +0 -29
- package/lib/core/prompt/ask/ask.dialog.d.ts +0 -22
- package/lib/core/prompt/mask/mask.component.d.ts +0 -10
- package/lib/core/prompt.service.d.ts +0 -36
- package/lib/core/router.d.ts +0 -20
- package/lib/core/session.service.d.ts +0 -82
- package/lib/core/slots/pane-ref.d.ts +0 -136
- package/lib/core/slots/router.directive.d.ts +0 -25
- package/lib/core/slots/router.service.d.ts +0 -37
- package/lib/core/slots/slots.component.d.ts +0 -205
- package/lib/core/tagging/documents.component.d.ts +0 -11
- package/lib/core/tagging/edit-input.component.d.ts +0 -65
- package/lib/core/tagging/emoji.component.d.ts +0 -18
- package/lib/core/tagging/tagging-item.directive.d.ts +0 -15
- package/lib/core/tagging/tagging.component-base.d.ts +0 -19
- package/lib/core/tagging/tagging.directive.d.ts +0 -34
- package/lib/core/tagging/tagging.pipe.d.ts +0 -24
- package/lib/core/tagging/users.component.d.ts +0 -15
- package/lib/core/translate.service.d.ts +0 -31
- package/lib/core/translations.d.ts +0 -1128
- package/lib/core/window-title.service.d.ts +0 -21
- package/lib/cube/accum/accum.component.d.ts +0 -63
- package/lib/cube/chart/chart.component.d.ts +0 -74
- package/lib/cube/cube-info.service.d.ts +0 -77
- package/lib/cube/cube-menu.component.d.ts +0 -12
- package/lib/cube/cube-view.component.d.ts +0 -31
- package/lib/cube/cube.service.d.ts +0 -268
- package/lib/cube/declarations.d.ts +0 -23
- package/lib/cube/explore/document-item.component.d.ts +0 -16
- package/lib/cube/explore/explore-item.component.d.ts +0 -14
- package/lib/cube/explore/explore-items.component.d.ts +0 -57
- package/lib/cube/explore/explore.pane.component.d.ts +0 -30
- package/lib/cube/explore/item-resolver.service.d.ts +0 -20
- package/lib/cube/explore/item.pane.component.d.ts +0 -13
- package/lib/cube/filter/filter-tags.component.exp.d.ts +0 -31
- package/lib/cube/filter/filter.component.d.ts +0 -44
- package/lib/cube/grid/grid.component.d.ts +0 -59
- package/lib/cube/grid/spreadsheet.component.d.ts +0 -62
- package/lib/cube/matrix/matrix.base.d.ts +0 -72
- package/lib/cube/matrix/matrix.mobile.component.d.ts +0 -22
- package/lib/cube/matrix/matrix.pane.component.d.ts +0 -23
- package/lib/cube/matrix/popup.component.d.ts +0 -21
- package/lib/cube/matrix/table.component.d.ts +0 -100
- package/lib/cube/parallel/item.d.ts +0 -13
- package/lib/cube/parallel/parallel.component.d.ts +0 -52
- package/lib/cube/pivot/pivot.component.d.ts +0 -103
- package/lib/cube/sum/sum.component.d.ts +0 -81
- package/lib/cube/view-base.d.ts +0 -39
- package/lib/cube/view.mobile.component.d.ts +0 -46
- package/lib/cube/view.pane.component.d.ts +0 -27
- package/lib/dashboard/actions/actions.widget.d.ts +0 -39
- package/lib/dashboard/cube/accum-cube.widget.d.ts +0 -33
- package/lib/dashboard/cube/compare.widget.d.ts +0 -53
- package/lib/dashboard/cube/cube-analysis.base.d.ts +0 -59
- package/lib/dashboard/cube/cube-analysis.widget.d.ts +0 -17
- package/lib/dashboard/cube/cube-chart.widget.d.ts +0 -32
- package/lib/dashboard/cube/documents.widget.d.ts +0 -30
- package/lib/dashboard/cube/filter/filter.component.d.ts +0 -22
- package/lib/dashboard/dashboard.component.d.ts +0 -20
- package/lib/dashboard/dashboard.pane.component.d.ts +0 -8
- package/lib/dashboard/recents/recents.widget.d.ts +0 -40
- package/lib/dashboard/score/activity.widget.d.ts +0 -50
- package/lib/dashboard/score/compare-groups.widget.d.ts +0 -51
- package/lib/dashboard/score/peers-performance.widget.d.ts +0 -65
- package/lib/dashboard/score/pending-results.widget.d.ts +0 -27
- package/lib/dashboard/score/personal-score.widget.d.ts +0 -57
- package/lib/dashboard/widget-item.component.d.ts +0 -31
- package/lib/dashboard/widget-ref.d.ts +0 -11
- package/lib/desktop.module.d.ts +0 -45
- package/lib/home/about/about.dialog.d.ts +0 -14
- package/lib/home/home-base.component.d.ts +0 -34
- package/lib/home/home.desktop.component.d.ts +0 -60
- package/lib/home/home.mobile.component.d.ts +0 -38
- package/lib/home/notifications/notifications.component.d.ts +0 -28
- package/lib/home/options/options.component.d.ts +0 -46
- package/lib/home/outofoffice/outofoffice.component.d.ts +0 -19
- package/lib/home/search.service.d.ts +0 -23
- package/lib/home/sign/sign.component.d.ts +0 -17
- package/lib/home/tools.component.d.ts +0 -36
- package/lib/impersonate/impersonate.component.d.ts +0 -27
- package/lib/mobile.module.d.ts +0 -25
- package/lib/modules/chart.module.d.ts +0 -7
- package/lib/modules/circular-gauge.module.d.ts +0 -7
- package/lib/modules/date.adapter.d.ts +0 -10
- package/lib/modules/datepicker.intl.d.ts +0 -30
- package/lib/modules/dayjs.module.d.ts +0 -6
- package/lib/modules/diagram.module.d.ts +0 -8
- package/lib/modules/gantt.module.d.ts +0 -7
- package/lib/modules/grid.module.d.ts +0 -7
- package/lib/modules/material.module.d.ts +0 -45
- package/lib/modules/paginator.intl.d.ts +0 -14
- package/lib/modules/pivot.module.d.ts +0 -7
- package/lib/modules/schedule.module.d.ts +0 -7
- package/lib/modules/spreadsheet.module.d.ts +0 -8
- package/lib/modules/stepper.intl.d.ts +0 -10
- package/lib/modules/texteditor.module.d.ts +0 -8
- package/lib/notifications/filter.component.d.ts +0 -9
- package/lib/notifications/notifications-table.component.d.ts +0 -32
- package/lib/notifications/notifications.component-base.d.ts +0 -12
- package/lib/notifications/notifications.mobile.component.d.ts +0 -8
- package/lib/notifications/notifications.pane.component.d.ts +0 -8
- package/lib/notifications/notifications.service.d.ts +0 -24
- package/lib/notifications/types/commented.notification.d.ts +0 -26
- package/lib/notifications/types/cube-anomaly.notification.d.ts +0 -29
- package/lib/notifications/types/escalated.notification.d.ts +0 -25
- package/lib/notifications/types/liked.notification.d.ts +0 -25
- package/lib/notifications/types/long-running-task.notification.d.ts +0 -21
- package/lib/notifications/types/notification-base.d.ts +0 -20
- package/lib/notifications/types/nudge.notification.d.ts +0 -23
- package/lib/notifications/types/state-changed.notification.d.ts +0 -22
- package/lib/notifications/types/tagged.notification.d.ts +0 -26
- package/lib/notifications/types/text.notification.d.ts +0 -13
- package/lib/notifications/types/upcoming-event.notification.d.ts +0 -20
- package/lib/options/options.component.d.ts +0 -67
- package/lib/options/options.service.d.ts +0 -14
- package/lib/reports/arguments-component.d.ts +0 -27
- package/lib/reports/cube/documents.component.d.ts +0 -34
- package/lib/reports/cube/grid-documents.component.d.ts +0 -28
- package/lib/reports/cube/table-documents.component.d.ts +0 -28
- package/lib/reports/cube/usage-args.component.d.ts +0 -21
- package/lib/reports/cube/usage-base.d.ts +0 -72
- package/lib/reports/cube/usage-chart.component.d.ts +0 -62
- package/lib/reports/cube/usage-pivot.component.d.ts +0 -66
- package/lib/reports/cube/usage.component.d.ts +0 -16
- package/lib/reports/report-ref.d.ts +0 -27
- package/lib/reports/report-viewer.component.d.ts +0 -47
- package/lib/reports/report.mobile.component.d.ts +0 -48
- package/lib/reports/report.pane.component.d.ts +0 -37
- package/lib/reports/reports-menu.component.d.ts +0 -12
- package/lib/reports/substitution/substitution.component.d.ts +0 -23
- package/lib/reports/table/table-view.component.d.ts +0 -19
- package/lib/reports/tasks/tasks.component.d.ts +0 -68
- package/lib/routes.desktop.d.ts +0 -2
- package/lib/routes.mobile.d.ts +0 -2
- package/lib/scheduler/schedule.component.d.ts +0 -43
- package/lib/scheduler/scheduler.mobile.component.d.ts +0 -14
- package/lib/scheduler/scheduler.pane.component.d.ts +0 -20
- package/lib/shared.module.d.ts +0 -191
- package/lib/system.module.d.ts +0 -34
- package/lib/views/cube/chart.component.d.ts +0 -39
- package/lib/views/cube/cube-base.d.ts +0 -46
- package/lib/views/cube/explore.component.d.ts +0 -43
- package/lib/views/cube/matrix.component.d.ts +0 -51
- package/lib/views/cube/parallel.component.d.ts +0 -32
- package/lib/views/cube/pivot.component.d.ts +0 -34
- package/lib/views/cube/sum.component.d.ts +0 -33
- package/lib/views/cube/view.component.d.ts +0 -40
- package/lib/views/document-view-ref.d.ts +0 -18
- package/lib/views/timeline/timeline.component.exp.d.ts +0 -66
- package/lib/views/view-item.component.d.ts +0 -26
- package/lib/views/views.component.d.ts +0 -14
- package/lib/views/views.mobile.component.d.ts +0 -10
- package/lib/views/views.pane.component.d.ts +0 -12
- package/public-api.d.ts +0 -145
@@ -0,0 +1,1260 @@
|
|
1
|
+
import { ChangeDetectorRef, Component, EventEmitter, Inject, Injector, OnDestroy, OnInit, Output, ViewChild, ViewContainerRef, HostListener, ElementRef } from '@angular/core';
|
2
|
+
import { RippleConfig } from '@angular/material/core/ripple';
|
3
|
+
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
4
|
+
import { isObservable, Subject } from 'rxjs';
|
5
|
+
import { takeUntil, tap } from 'rxjs/operators';
|
6
|
+
import { isArray, isBoolean, isDate, isPromise, isString } from '../functions';
|
7
|
+
import { PANES_DATA, PaneRef, PaneOptions, PaneCommand, QueryParamNavigation, ParamNavigation, NavigationMode, NavigationStart, NavigationClose, NavigationEnd, NavigationFocus, PATH_CHAR, QUERY_CHAR, ARG_CHAR, PANE_CHAR, CollapseNavigation, BackNavigation, NavigationExpand, PaneMode, NavigationResize, } from './pane-ref';
|
8
|
+
import { PanesRouter } from './router.service';
|
9
|
+
import { SessionService } from '../session.service';
|
10
|
+
import { CdkScrollable, ComponentType } from '@angular/cdk/overlay';
|
11
|
+
import { WindowTitleService } from '../window-title.service';
|
12
|
+
import { panesAnimation, paneAnimation, panesTitleAnimation, paramAnimation, queryAnimation, tabAnimation, tabsAnimation } from '../animations';
|
13
|
+
import { PaneResolve, PaneRoute, ParamMap, CanDismiss, DEFAULT_POLICY, OpenPolicy } from '../configuration';
|
14
|
+
import { GuideService } from '../guide/guide.service';
|
15
|
+
import { debounceTime } from 'rxjs';
|
16
|
+
declare global {
|
17
|
+
interface Window {
|
18
|
+
removeAllListeners(name?: string);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
const DEFAULT_ROUTE = ['dashboard'];
|
23
|
+
@Component({
|
24
|
+
selector: 'bizdoc-panes-outlet',
|
25
|
+
templateUrl: './slots.component.html',
|
26
|
+
styleUrls: ['./slots.component.scss'],
|
27
|
+
animations: [panesAnimation,
|
28
|
+
panesTitleAnimation,
|
29
|
+
paneAnimation,
|
30
|
+
paramAnimation,
|
31
|
+
queryAnimation,
|
32
|
+
tabsAnimation,
|
33
|
+
tabAnimation
|
34
|
+
]
|
35
|
+
})
|
36
|
+
export class SlotsComponent implements OnInit, OnDestroy {
|
37
|
+
@Output() readonly dialogChange = new EventEmitter<boolean>();
|
38
|
+
@ViewChild('panning', { read: ViewContainerRef, static: true }) _panesContainerRef: ViewContainerRef;
|
39
|
+
@ViewChild('tabing') _tabsElement: ElementRef;
|
40
|
+
@ViewChild(CdkScrollable, { static: true }) _scrollable: CdkScrollable;
|
41
|
+
titleAnimation = 0;
|
42
|
+
group: string;
|
43
|
+
swap?: number;
|
44
|
+
swapTab?: number;
|
45
|
+
prevGroup?: string;
|
46
|
+
|
47
|
+
readonly panes: PaneRef<any>[] = [];
|
48
|
+
readonly tabs: PaneRef<any>[] = [];
|
49
|
+
private _selectedTabIndex = -1;
|
50
|
+
dialog = false;
|
51
|
+
public get selectedTabIndex() {
|
52
|
+
return this._selectedTabIndex;
|
53
|
+
}
|
54
|
+
public set selectedTabIndex(value) {
|
55
|
+
this._selectedTabIndex = value;
|
56
|
+
if (this._selectedTabIndex > -1 && this.tabs.at(this._selectedTabIndex).dialog) {
|
57
|
+
this.dialog = true;
|
58
|
+
this.dialogChange.emit(true);
|
59
|
+
}
|
60
|
+
else {
|
61
|
+
this.dialog = false;
|
62
|
+
}
|
63
|
+
this._setTabAnimation();
|
64
|
+
}
|
65
|
+
private _setTabAnimation() {
|
66
|
+
this.tabsAnimation = {
|
67
|
+
value: this.selectedTabIndex,
|
68
|
+
params: {
|
69
|
+
startWidth: this._tabsElement ? this._tabsElement.nativeElement.clientWidth : 0
|
70
|
+
}
|
71
|
+
};
|
72
|
+
}
|
73
|
+
selectedIndex = -1;
|
74
|
+
next: boolean;
|
75
|
+
prev: boolean;
|
76
|
+
dragging: boolean = false;
|
77
|
+
tabsAnimation: {
|
78
|
+
value: number,
|
79
|
+
params: {
|
80
|
+
startWidth: number
|
81
|
+
}
|
82
|
+
};
|
83
|
+
readonly ripple: RippleConfig = {
|
84
|
+
color: this._session.getAccent(),
|
85
|
+
centered: true,
|
86
|
+
radius: 25
|
87
|
+
}
|
88
|
+
accent: string = this._session.getAccent();
|
89
|
+
private _navigationInProcess: boolean;
|
90
|
+
private _repository: ExtendedRoute[];
|
91
|
+
private readonly _pending = [] as string[];
|
92
|
+
private readonly _rtl = this._session.inverse;
|
93
|
+
private readonly _resizing = new Subject<void>();
|
94
|
+
private readonly _destroy = new Subject<void>();
|
95
|
+
constructor(
|
96
|
+
@Inject(PANES_DATA) data: ExtendedRoute[],
|
97
|
+
private _session: SessionService,
|
98
|
+
private _cd: ChangeDetectorRef,
|
99
|
+
private _router: PanesRouter,
|
100
|
+
private _title: WindowTitleService,
|
101
|
+
private _guide: GuideService,
|
102
|
+
private _injector: Injector) {
|
103
|
+
_session.themeChange.pipe(takeUntil(this._destroy)).
|
104
|
+
subscribe(() => this.accent = _session.getAccent());
|
105
|
+
_router._comm$.
|
106
|
+
subscribe(e => {
|
107
|
+
switch (e) {
|
108
|
+
case 'collapse':
|
109
|
+
this.collapse();
|
110
|
+
break;
|
111
|
+
default:
|
112
|
+
}
|
113
|
+
});
|
114
|
+
this._repository = prepareRoutes(data);
|
115
|
+
}
|
116
|
+
|
117
|
+
ngOnInit(): void {
|
118
|
+
this._router._navigate$.
|
119
|
+
subscribe(async n => {
|
120
|
+
const { commands, component, pathMode, relativeTo } = n;
|
121
|
+
let {
|
122
|
+
icon,
|
123
|
+
title,
|
124
|
+
group,
|
125
|
+
help,
|
126
|
+
policy,
|
127
|
+
queryParams,
|
128
|
+
state
|
129
|
+
} = n;
|
130
|
+
let
|
131
|
+
queryString: string,
|
132
|
+
params: ParamMap,
|
133
|
+
parent: PaneRef,
|
134
|
+
path: string,
|
135
|
+
route: ExtendedRoute;
|
136
|
+
|
137
|
+
if (commands && commands.length) {
|
138
|
+
path = n.commands.join('/');
|
139
|
+
if (path.indexOf(QUERY_CHAR) > -1) {
|
140
|
+
const segs = path.split(QUERY_CHAR);
|
141
|
+
queryString = segs[1];
|
142
|
+
queryParams = this._parseQueryParams(queryString || '');
|
143
|
+
path = segs[0];
|
144
|
+
}
|
145
|
+
else {
|
146
|
+
queryParams = n.queryParams || {};
|
147
|
+
queryString = this._queryString(queryParams);
|
148
|
+
}
|
149
|
+
if (pathMode === 'relative' || path.startsWith('../')) {
|
150
|
+
parent = relativeTo || this.panes[this.selectedIndex];
|
151
|
+
let parentpath = parent.path;
|
152
|
+
while (path.startsWith('../')) {
|
153
|
+
parentpath = parentpath.substr(0, parentpath.lastIndexOf('/'));
|
154
|
+
path = path.substr(3);
|
155
|
+
}
|
156
|
+
path = parentpath + '/' + path;
|
157
|
+
}
|
158
|
+
route = this._match(path);
|
159
|
+
|
160
|
+
if (!route)
|
161
|
+
throw `no match ${path}`;
|
162
|
+
params = this._params(route, path);
|
163
|
+
if (!policy) policy = route.policy || DEFAULT_POLICY;
|
164
|
+
else if (route.policy) policy |= route.policy;
|
165
|
+
if (!icon) icon = route.icon;
|
166
|
+
if (!help) help = route.help;
|
167
|
+
}
|
168
|
+
else {
|
169
|
+
if (!policy) policy = DEFAULT_POLICY;
|
170
|
+
if (!queryParams) queryParams = {};
|
171
|
+
}
|
172
|
+
|
173
|
+
if ((policy & OpenPolicy.Clear) == OpenPolicy.Clear) {
|
174
|
+
this._clearPending();
|
175
|
+
await this._clearTabs();
|
176
|
+
if (!(policy & OpenPolicy.Tab))
|
177
|
+
await this._clearPanes();
|
178
|
+
}
|
179
|
+
if (commands) {
|
180
|
+
let i = 0;
|
181
|
+
if ((policy & OpenPolicy.Tab) == OpenPolicy.Tab)
|
182
|
+
while (i < this.tabs.length) {
|
183
|
+
let tab = this.tabs[i];
|
184
|
+
if (path === tab.path) {
|
185
|
+
if (queryString === tab.queryString) {
|
186
|
+
if ((policy & OpenPolicy.Toggle) == OpenPolicy.Toggle) {
|
187
|
+
this.tabs.splice(i, 1);
|
188
|
+
this.selectedTabIndex = this.tabs.length - 1;
|
189
|
+
}
|
190
|
+
else {
|
191
|
+
state && tab._data$.next(state);
|
192
|
+
this.group = tab.group;
|
193
|
+
this.selectedTabIndex = i;
|
194
|
+
this._cd.detectChanges();
|
195
|
+
}
|
196
|
+
return;
|
197
|
+
}
|
198
|
+
else {
|
199
|
+
this._navQueryParams(tab, queryParams, state);
|
200
|
+
this.group = tab.group;
|
201
|
+
this.selectedTabIndex = i;
|
202
|
+
this._cd.detectChanges();
|
203
|
+
this._syncBrowserHistory();
|
204
|
+
return;
|
205
|
+
}
|
206
|
+
}
|
207
|
+
else if (tab.route === route) {
|
208
|
+
await this._navParams(path, tab, params, queryParams, state);
|
209
|
+
this.group = tab.group;
|
210
|
+
this.selectedTabIndex = i;
|
211
|
+
this._syncBrowserHistory();
|
212
|
+
return;
|
213
|
+
}
|
214
|
+
i++;
|
215
|
+
}
|
216
|
+
else
|
217
|
+
while (i < this.panes.length) {
|
218
|
+
let pane = this.panes[i];
|
219
|
+
if (path === pane.path) {
|
220
|
+
if (queryString === pane.queryString) {
|
221
|
+
if ((policy & OpenPolicy.Toggle) == OpenPolicy.Toggle)
|
222
|
+
await this.removeAt(i);
|
223
|
+
else {
|
224
|
+
state && pane._data$.next(state);
|
225
|
+
this._cd.detectChanges();
|
226
|
+
this.scrollTo(i);
|
227
|
+
}
|
228
|
+
return;
|
229
|
+
}
|
230
|
+
else {
|
231
|
+
this._navQueryParams(pane, queryParams, state);
|
232
|
+
this.scrollTo(i);
|
233
|
+
this._syncBrowserHistory();
|
234
|
+
return;
|
235
|
+
}
|
236
|
+
}
|
237
|
+
else if (pane.route === route) {
|
238
|
+
await this._navParams(path, pane, params, queryParams, state);
|
239
|
+
this._syncBrowserHistory();
|
240
|
+
return;
|
241
|
+
}
|
242
|
+
i++;
|
243
|
+
}
|
244
|
+
if (commands.length) {
|
245
|
+
if (!state) state = {};
|
246
|
+
await this._state(route, path, params, state);
|
247
|
+
if ((policy & OpenPolicy.Tab) == OpenPolicy.Tab)
|
248
|
+
this._insertTab(component || route.component,
|
249
|
+
{
|
250
|
+
queryString,
|
251
|
+
path,
|
252
|
+
route,
|
253
|
+
icon,
|
254
|
+
title,
|
255
|
+
group,
|
256
|
+
help,
|
257
|
+
data: state,
|
258
|
+
parent,
|
259
|
+
params,
|
260
|
+
queryParams,
|
261
|
+
policy
|
262
|
+
});
|
263
|
+
else
|
264
|
+
this._insertPane(component || route.component,
|
265
|
+
{
|
266
|
+
queryString,
|
267
|
+
path,
|
268
|
+
route,
|
269
|
+
icon,
|
270
|
+
title,
|
271
|
+
help,
|
272
|
+
data: state,
|
273
|
+
parent,
|
274
|
+
params,
|
275
|
+
queryParams,
|
276
|
+
policy
|
277
|
+
});
|
278
|
+
route &&
|
279
|
+
this._syncBrowserHistory();
|
280
|
+
}
|
281
|
+
else {
|
282
|
+
const pane = (policy & OpenPolicy.Tab) == OpenPolicy.Tab ?
|
283
|
+
this.tabs[this.selectedTabIndex] : this.panes[this.selectedIndex];
|
284
|
+
this._navQueryParams(pane, queryParams, state);
|
285
|
+
this._syncBrowserHistory();
|
286
|
+
if ((policy & OpenPolicy.Tab) != OpenPolicy.Tab) this.select(this.selectedIndex);
|
287
|
+
}
|
288
|
+
}
|
289
|
+
else {
|
290
|
+
if ((policy & OpenPolicy.Tab) == OpenPolicy.Tab)
|
291
|
+
this._insertTab(component,
|
292
|
+
{
|
293
|
+
data: state,
|
294
|
+
icon, title, help,
|
295
|
+
parent,
|
296
|
+
queryString,
|
297
|
+
path,
|
298
|
+
route,
|
299
|
+
group,
|
300
|
+
params,
|
301
|
+
queryParams,
|
302
|
+
policy
|
303
|
+
});
|
304
|
+
else this._insertPane(component,
|
305
|
+
{
|
306
|
+
data: state,
|
307
|
+
icon, title, help,
|
308
|
+
parent,
|
309
|
+
queryString,
|
310
|
+
path,
|
311
|
+
route,
|
312
|
+
params,
|
313
|
+
policy, queryParams
|
314
|
+
});
|
315
|
+
}
|
316
|
+
});
|
317
|
+
window.removeAllListeners('popstate');
|
318
|
+
window.addEventListener('popstate', e => {
|
319
|
+
if (this._navigationInProcess) {
|
320
|
+
this._navigationInProcess = false;
|
321
|
+
return;
|
322
|
+
}
|
323
|
+
if (e.state && e.state.bizdoc) {
|
324
|
+
const evt = new BackNavigation();
|
325
|
+
if (evt._preventDefault) return;
|
326
|
+
this._router._events$.next(evt);
|
327
|
+
const state = e.state as HistoryState;
|
328
|
+
this._deserialize(location.pathname.substring(1), state);
|
329
|
+
this.swap = state.swap;
|
330
|
+
this.swapTab = state.swapTab;
|
331
|
+
this.prevGroup = state.prevGroup;
|
332
|
+
this.group = state.group;
|
333
|
+
this.selectedTabIndex = state.selectedTabIndex;
|
334
|
+
}
|
335
|
+
else
|
336
|
+
this._deserialize(location.pathname.substring(1));
|
337
|
+
});
|
338
|
+
if (location.pathname.length > 1)
|
339
|
+
this._deserialize(location.pathname.substring(1),
|
340
|
+
history.state && history.state.bizdoc ? history.state : undefined);
|
341
|
+
else
|
342
|
+
this._router._navigate$.next({
|
343
|
+
commands: DEFAULT_ROUTE,
|
344
|
+
});
|
345
|
+
this._resizing.pipe(debounceTime(150)).subscribe(this._resize.bind(this));
|
346
|
+
}
|
347
|
+
private async _deserialize(url: string, state?: HistoryState) {
|
348
|
+
|
349
|
+
const sections = decodeURIComponent(url).split(PANE_CHAR),
|
350
|
+
panes = deserialize(sections[0]),
|
351
|
+
tabs = sections.length > 1 ? deserialize(sections[1]) : [];
|
352
|
+
|
353
|
+
function deserialize(path: string) {
|
354
|
+
return path.
|
355
|
+
split(PATH_CHAR).map(s => {
|
356
|
+
const [path, queryString] = s.split(QUERY_CHAR);
|
357
|
+
return { path, queryString };
|
358
|
+
});
|
359
|
+
}
|
360
|
+
|
361
|
+
for (let i = 0; i < panes.length; i++) {
|
362
|
+
let pane = panes[i];
|
363
|
+
await this._navigatePane(i, pane.path, pane.queryString, state ? state.panes[i] : null);
|
364
|
+
}
|
365
|
+
if (this.panes.length > panes.length) {
|
366
|
+
let i = 0;
|
367
|
+
while (i < this.panes.length) {
|
368
|
+
let pane = this.panes[i];
|
369
|
+
if (panes.length - 1 < i || pane.path !== panes[i].path) {
|
370
|
+
if (this.selectedIndex === i)
|
371
|
+
this.selectedIndex = i - 1;
|
372
|
+
this.panes.splice(i, 1);
|
373
|
+
this._destroyPane(pane);
|
374
|
+
}
|
375
|
+
else
|
376
|
+
i++;
|
377
|
+
}
|
378
|
+
}
|
379
|
+
if (this.selectedIndex < 0)
|
380
|
+
this.select(0);
|
381
|
+
for (let i = 0; i < tabs.length; i++) {
|
382
|
+
let tab = tabs[i];
|
383
|
+
await this._navigateTab(i, tab.path, tab.queryString, state ? state.tabs[i] : null);
|
384
|
+
}
|
385
|
+
if (this.tabs.length > tabs.length) {
|
386
|
+
let i = 0;
|
387
|
+
while (i < this.tabs.length) {
|
388
|
+
let tab = this.tabs[i];
|
389
|
+
if (tabs.length - 1 < i || tab.path !== tabs[i].path) {
|
390
|
+
if (this.selectedTabIndex === i) {
|
391
|
+
this.selectedTabIndex = i - 1;
|
392
|
+
}
|
393
|
+
this.tabs.splice(i, 1);
|
394
|
+
this._destroyPane(tab);
|
395
|
+
}
|
396
|
+
else
|
397
|
+
i++;
|
398
|
+
}
|
399
|
+
}
|
400
|
+
if (this.tabs.length && this.selectedTabIndex < 0) {
|
401
|
+
this.selectedTabIndex = 0;
|
402
|
+
}
|
403
|
+
const n = this.panes.length;
|
404
|
+
for (let i = 0; i < n; i++) {
|
405
|
+
let pane = this.panes[i];
|
406
|
+
if (pane.expanded !== (n === 1)) {
|
407
|
+
const evt = new NavigationExpand(pane._expanded = n === 1, pane);
|
408
|
+
pane._events$.next(evt);
|
409
|
+
}
|
410
|
+
}
|
411
|
+
}
|
412
|
+
/**
|
413
|
+
*
|
414
|
+
* @param index
|
415
|
+
* @param path
|
416
|
+
* @param queryString
|
417
|
+
* @param state
|
418
|
+
*/
|
419
|
+
private async _navigatePane(index: number, path: string, queryString: string, state?: any) {
|
420
|
+
const route = this._match(path);
|
421
|
+
|
422
|
+
if (!route) throw `no match ${path}`;
|
423
|
+
|
424
|
+
if (!state) state = {};
|
425
|
+
|
426
|
+
while (index < this.panes.length) {
|
427
|
+
let pane = this.panes[index];
|
428
|
+
if (path === pane.path) {
|
429
|
+
if (queryString === pane.queryString) {
|
430
|
+
return;
|
431
|
+
}
|
432
|
+
else {
|
433
|
+
const queryParams = this._parseQueryParams(queryString);
|
434
|
+
this._navQueryParams(pane, queryParams, state);
|
435
|
+
return;
|
436
|
+
}
|
437
|
+
}
|
438
|
+
else if (pane.route === route) {
|
439
|
+
const queryParams = this._parseQueryParams(queryString);
|
440
|
+
const params = this._params(pane.route as ExtendedRoute, path);
|
441
|
+
await this._navParams(path, pane, params, queryParams, state);
|
442
|
+
return;
|
443
|
+
}
|
444
|
+
index++;
|
445
|
+
}
|
446
|
+
|
447
|
+
const params = this._params(route, path);
|
448
|
+
const queryParams = this._parseQueryParams(queryString);
|
449
|
+
const parent = this._findAncestor(route, path);
|
450
|
+
await this._state(route, path, params, state);
|
451
|
+
this._insertPane(route.component, {
|
452
|
+
path, parent, route, data: state, params, queryParams,
|
453
|
+
icon: route.icon,
|
454
|
+
help: route.help,
|
455
|
+
policy: route.policy,
|
456
|
+
focus: false
|
457
|
+
});
|
458
|
+
}
|
459
|
+
private async _navigateTab(index: number, path: string, queryString: string, state?: any) {
|
460
|
+
const route = this._match(path);
|
461
|
+
|
462
|
+
if (!route) throw `no match ${path}`;
|
463
|
+
|
464
|
+
if (!state) state = {};
|
465
|
+
|
466
|
+
while (index < this.tabs.length) {
|
467
|
+
let tab = this.tabs[index];
|
468
|
+
if (path === tab.path) {
|
469
|
+
if (queryString === tab.queryString) {
|
470
|
+
return;
|
471
|
+
}
|
472
|
+
else {
|
473
|
+
const queryParams = this._parseQueryParams(queryString);
|
474
|
+
this._navQueryParams(tab, queryParams, state);
|
475
|
+
return;
|
476
|
+
}
|
477
|
+
}
|
478
|
+
else if (tab.route === route) {
|
479
|
+
const queryParams = this._parseQueryParams(queryString);
|
480
|
+
const params = this._params(tab.route as ExtendedRoute, path);
|
481
|
+
await this._navParams(path, tab, params, queryParams, state);
|
482
|
+
return;
|
483
|
+
}
|
484
|
+
index++;
|
485
|
+
}
|
486
|
+
|
487
|
+
const params = this._params(route, path);
|
488
|
+
const queryParams = this._parseQueryParams(queryString);
|
489
|
+
|
490
|
+
const parent = this._findAncestor(route, path);
|
491
|
+
|
492
|
+
await this._state(route, path, params, state);
|
493
|
+
this._insertTab(route.component, {
|
494
|
+
icon: route.icon,
|
495
|
+
help: route.help,
|
496
|
+
policy: route.policy | OpenPolicy.Tab,
|
497
|
+
path, parent, route,
|
498
|
+
data: state,
|
499
|
+
params, queryParams,
|
500
|
+
focus: false,
|
501
|
+
swap: false
|
502
|
+
});
|
503
|
+
}
|
504
|
+
private _findAncestor(route: ExtendedRoute, path: string) {
|
505
|
+
if ((route as ExtendedRoute).parent)
|
506
|
+
return this.panes.find(p => (p.route as ExtendedRoute) ===
|
507
|
+
(route as ExtendedRoute).parent &&
|
508
|
+
path.startsWith(p.path));
|
509
|
+
}
|
510
|
+
/**
|
511
|
+
*
|
512
|
+
* @param pane
|
513
|
+
* @param queryParams
|
514
|
+
*/
|
515
|
+
private _navQueryParams(pane: PaneRef<any>, queryParams: ParamMap, state: ParamMap) {
|
516
|
+
pane._queryString = this._queryString(queryParams);
|
517
|
+
state && pane._data$.next(state);
|
518
|
+
pane._queryParams$.next(queryParams);
|
519
|
+
const evt = new QueryParamNavigation(queryParams, pane);
|
520
|
+
pane._events$.next(evt);
|
521
|
+
this._router._events$.next(evt);
|
522
|
+
}
|
523
|
+
/**
|
524
|
+
*
|
525
|
+
* @param path
|
526
|
+
* @param pane
|
527
|
+
* @param params
|
528
|
+
* @param queryParams
|
529
|
+
* @param state
|
530
|
+
*/
|
531
|
+
private async _navParams(path: string, pane: PaneRef<any>, params: ParamMap, queryParams: ParamMap, state: ParamMap) {
|
532
|
+
if (pane.route.canDismiss)
|
533
|
+
await this._dismiss(pane);
|
534
|
+
|
535
|
+
if (!state) state = {};
|
536
|
+
await this._state(pane.route as ExtendedRoute, path, params, state);
|
537
|
+
pane._data$.next(state);
|
538
|
+
pane._path = path;
|
539
|
+
pane._params$.next(params);
|
540
|
+
if (queryParams) {
|
541
|
+
pane._queryString = this._queryString(queryParams);
|
542
|
+
pane._queryParams$.next(queryParams);
|
543
|
+
}
|
544
|
+
else {
|
545
|
+
pane._queryString = '';
|
546
|
+
pane._queryParams$.next({});
|
547
|
+
}
|
548
|
+
const evt = new ParamNavigation(params, pane);
|
549
|
+
pane._events$.next(evt);
|
550
|
+
this._router._events$.next(evt);
|
551
|
+
|
552
|
+
this.panes.concat(this.tabs).forEach(child => {
|
553
|
+
if (child.route && (child.route as ExtendedRoute).parent === pane.route) {
|
554
|
+
child._data$.next(Object.assign(child.data, state));
|
555
|
+
child._params$.next(params);
|
556
|
+
child._path = pane.path + '/' + child.route.path;
|
557
|
+
if (this.selectedTabIndex > -1 && child === this.tabs[this.selectedTabIndex]) {
|
558
|
+
this.selectedTabIndex = this.selectedTabIndex;
|
559
|
+
this.group = child.group;
|
560
|
+
}
|
561
|
+
}
|
562
|
+
});
|
563
|
+
if (pane.mode === 'pane') this.titleAnimation++;
|
564
|
+
this._cd.detectChanges();
|
565
|
+
}
|
566
|
+
/** */
|
567
|
+
private _syncBrowserHistory() {
|
568
|
+
let path = this.panes.filter(p => p.route).map(s => s.fullPath).join(PATH_CHAR);
|
569
|
+
if (this.tabs.length) {
|
570
|
+
const tabs = this.tabs.filter(p => p.route);
|
571
|
+
if (tabs.length)
|
572
|
+
path += PANE_CHAR + tabs.map(s => s.fullPath).join(PATH_CHAR);
|
573
|
+
}
|
574
|
+
const state = this._constructHistoryState();
|
575
|
+
this._navigationInProcess = true;
|
576
|
+
history.pushState(state, '', '/' + path);
|
577
|
+
setTimeout(() => this._navigationInProcess = false, 200);
|
578
|
+
}
|
579
|
+
|
580
|
+
private _constructHistoryState() {
|
581
|
+
return {
|
582
|
+
bizdoc: true,
|
583
|
+
step: history.state && history.state.bizdoc ? (history.state as HistoryState).step + 1 : 1,
|
584
|
+
selectedTabIndex: this.selectedTabIndex,
|
585
|
+
panes: this.panes.map(p => p.data),
|
586
|
+
tabs: this.tabs.map(t => t.data),
|
587
|
+
swap: this.swap,
|
588
|
+
group: this.group,
|
589
|
+
swapTab: this.swapTab,
|
590
|
+
prevGroup: this.prevGroup
|
591
|
+
} as HistoryState;
|
592
|
+
}
|
593
|
+
|
594
|
+
drop(evt: CdkDragDrop<string, string>) {
|
595
|
+
const pane = this.panes[evt.previousIndex];
|
596
|
+
this.panes.splice(evt.previousIndex, 1);
|
597
|
+
this.panes.splice(evt.currentIndex, 0, pane);
|
598
|
+
this._syncBrowserHistory();
|
599
|
+
}
|
600
|
+
|
601
|
+
togglePinned(pane: PaneRef<any>) {
|
602
|
+
pane.pinned = !pane.pinned;
|
603
|
+
this.panes.forEach(s => {
|
604
|
+
if (s.decendentOf(pane)) s.pinned = pane.pinned;
|
605
|
+
});
|
606
|
+
}
|
607
|
+
|
608
|
+
private _queryString(queryParams: ParamMap) {
|
609
|
+
const names = Object.keys(queryParams);
|
610
|
+
let queryString: string;
|
611
|
+
for (var i = 0; i < names.length; i++) {
|
612
|
+
let val = queryParams[names[i]];
|
613
|
+
|
614
|
+
if (val !== null && val !== undefined) {
|
615
|
+
if (!queryString) queryString = '';
|
616
|
+
else queryString = queryString + ARG_CHAR;
|
617
|
+
|
618
|
+
if (isString(val))
|
619
|
+
queryString += `${names[i]}=${encodeURIComponent(val)}`;
|
620
|
+
else if (isArray(val))
|
621
|
+
queryString += val.map(v => `${names[i]}=${v}`).join(ARG_CHAR);
|
622
|
+
else if (isDate(val))
|
623
|
+
queryString += `${names[i]}=${val.toJSON()}`;
|
624
|
+
else
|
625
|
+
queryString += `${names[i]}=${val}`;
|
626
|
+
}
|
627
|
+
}
|
628
|
+
return queryString;
|
629
|
+
}
|
630
|
+
private _parseQueryParams(queryString: string): ParamMap {
|
631
|
+
const queryParams = {};
|
632
|
+
queryString && queryString.
|
633
|
+
split(ARG_CHAR).forEach(p => {
|
634
|
+
const [name, value] = p.split('=');
|
635
|
+
if (!queryParams[name])
|
636
|
+
queryParams[name] = value;
|
637
|
+
else {
|
638
|
+
const vals = queryParams[name];
|
639
|
+
queryParams[name] = isArray(vals) ? [...vals, value] : [vals, value];
|
640
|
+
}
|
641
|
+
});
|
642
|
+
return queryParams;
|
643
|
+
}
|
644
|
+
/**
|
645
|
+
*
|
646
|
+
* @param route
|
647
|
+
* @param path
|
648
|
+
*/
|
649
|
+
private _params(route: ExtendedRoute, path: string) {
|
650
|
+
const ex = route.regEx.exec(path),
|
651
|
+
params = ex.groups;
|
652
|
+
|
653
|
+
return params || {};
|
654
|
+
}
|
655
|
+
/**
|
656
|
+
*
|
657
|
+
* @param url
|
658
|
+
*/
|
659
|
+
private _match(url: string) {
|
660
|
+
let route = this._repository.find(r => r.regEx.test(url));
|
661
|
+
if (route)
|
662
|
+
while (route.children) {
|
663
|
+
let child = route.children.find(r => r.regEx.test(url));
|
664
|
+
if (child)
|
665
|
+
route = child;
|
666
|
+
else break;
|
667
|
+
}
|
668
|
+
return route;
|
669
|
+
}
|
670
|
+
/**
|
671
|
+
*
|
672
|
+
* @param route
|
673
|
+
* @param path
|
674
|
+
* @param params
|
675
|
+
* @param data
|
676
|
+
*/
|
677
|
+
private async _state(route: ExtendedRoute, path: string, params: ParamMap, data: ParamMap) {
|
678
|
+
if (this._pending.indexOf(path) > -1) {
|
679
|
+
//this._ps.toast('Working');
|
680
|
+
throw 'already processing';
|
681
|
+
}
|
682
|
+
this._pending.push(path);
|
683
|
+
|
684
|
+
const { parent, resolve } = route;
|
685
|
+
if (parent)
|
686
|
+
await this._parentstate(parent, path, params, data);
|
687
|
+
if (resolve) {
|
688
|
+
await this._resolve(resolve, params, data);
|
689
|
+
}
|
690
|
+
this._pending.remove(path);
|
691
|
+
}
|
692
|
+
/**
|
693
|
+
*
|
694
|
+
* @param route
|
695
|
+
* @param path
|
696
|
+
* @param params
|
697
|
+
* @param data
|
698
|
+
*/
|
699
|
+
private async _parentstate(route: ExtendedRoute, path: string, params: ParamMap, data: ParamMap) {
|
700
|
+
const { parent, resolve } = route;
|
701
|
+
|
702
|
+
if (parent)
|
703
|
+
await this._parentstate(parent, path, params, data);
|
704
|
+
|
705
|
+
const pane = this.panes.find(s => s.route && s.route === route
|
706
|
+
&& path.startsWith(s.path));
|
707
|
+
|
708
|
+
pane && Object.assign(data, pane.data);
|
709
|
+
|
710
|
+
if (resolve)
|
711
|
+
await this._resolve(resolve, params, data);
|
712
|
+
}
|
713
|
+
|
714
|
+
private async _resolve(resolve: { [key: string]: ComponentType<PaneResolve<any>> }, params: ParamMap, data: ParamMap) {
|
715
|
+
const keys = Object.keys(resolve);
|
716
|
+
for (let i = 0; i < keys.length; i++) {
|
717
|
+
let key = keys[i];
|
718
|
+
if (!data[key]) {
|
719
|
+
const instance = this._injector.get(resolve[key]) as PaneResolve<any>;
|
720
|
+
const value = instance.onResolve(params);
|
721
|
+
if (isPromise(value))
|
722
|
+
await value.then(r => data[key] = r);
|
723
|
+
else if (isObservable(value))
|
724
|
+
await value.pipe(tap(r => data[key] = r)).toPromise();
|
725
|
+
else
|
726
|
+
data[key] = value;
|
727
|
+
}
|
728
|
+
}
|
729
|
+
}
|
730
|
+
|
731
|
+
add<T>(component: ComponentType<T>, options?: PaneOptions) {
|
732
|
+
return this.insert(this.panes.length, component, options);
|
733
|
+
}
|
734
|
+
insert<T>(position: number, component: ComponentType<T>, options?: PaneOptions) {
|
735
|
+
const pane = this._insertPane<T>(component, options || {}, position);
|
736
|
+
return pane;
|
737
|
+
}
|
738
|
+
private _insertPane<T = any>(component: ComponentType<T>, options: {
|
739
|
+
path?: string;
|
740
|
+
route?: PaneRoute;
|
741
|
+
icon?: string;
|
742
|
+
title?: string;
|
743
|
+
inputs?: { [name: string]: any },
|
744
|
+
data?: ParamMap;
|
745
|
+
params?: ParamMap;
|
746
|
+
queryParams?: ParamMap;
|
747
|
+
help?: string;
|
748
|
+
parent?: PaneRef<any>;
|
749
|
+
queryString?: string;
|
750
|
+
policy?: OpenPolicy;
|
751
|
+
focus?: boolean
|
752
|
+
}, position?: number) {
|
753
|
+
|
754
|
+
const stretchable = (options.policy & OpenPolicy.Stretch) == OpenPolicy.Stretch;
|
755
|
+
|
756
|
+
const pane = this._constract<T>(component, {
|
757
|
+
mode: 'pane',
|
758
|
+
expanded: !this.panes.length,
|
759
|
+
stretchable,
|
760
|
+
...options
|
761
|
+
});
|
762
|
+
if (position === undefined)
|
763
|
+
position = this.panes.length;
|
764
|
+
this.panes.push(pane);
|
765
|
+
this.titleAnimation++;
|
766
|
+
this._cd.detectChanges();
|
767
|
+
const evt = new NavigationStart(pane);
|
768
|
+
this._router._events$.next(evt);
|
769
|
+
if (options.focus !== false) {
|
770
|
+
this.selectedIndex = position;
|
771
|
+
this._title.set(pane.title);
|
772
|
+
if (this.panes.length > 1) this.scrollTo(position);
|
773
|
+
}
|
774
|
+
this.enableNavigationArrows();
|
775
|
+
return pane;
|
776
|
+
}
|
777
|
+
/**
|
778
|
+
*
|
779
|
+
* @param component
|
780
|
+
* @param options
|
781
|
+
*/
|
782
|
+
private _constract<T = any>(component: ComponentType<T>,
|
783
|
+
options: {
|
784
|
+
mode: PaneMode,
|
785
|
+
expanded?: boolean;
|
786
|
+
dialog?: boolean;
|
787
|
+
stretchable?: boolean;
|
788
|
+
path?: string;
|
789
|
+
route?: PaneRoute;
|
790
|
+
icon?: string;
|
791
|
+
title?: string;
|
792
|
+
group?: string;
|
793
|
+
data?: ParamMap;
|
794
|
+
params?: ParamMap;
|
795
|
+
queryParams?: ParamMap;
|
796
|
+
help?: string;
|
797
|
+
parent?: PaneRef<any>;
|
798
|
+
queryString?: string;
|
799
|
+
dismissable?: boolean;
|
800
|
+
expandable?: boolean
|
801
|
+
}) {
|
802
|
+
const pane = new PaneRef<T>(component, this._injector, options);
|
803
|
+
pane._comm$.subscribe(e => this._paneCommand<T>(e, pane));
|
804
|
+
return pane;
|
805
|
+
}
|
806
|
+
/**
|
807
|
+
*
|
808
|
+
* @param component
|
809
|
+
* @param options
|
810
|
+
*/
|
811
|
+
private _insertTab<T = any>(component: ComponentType<T>, options: {
|
812
|
+
icon?: string;
|
813
|
+
title?: string;
|
814
|
+
group?: string;
|
815
|
+
help?: string;
|
816
|
+
path?: string;
|
817
|
+
queryString?: string;
|
818
|
+
route?: PaneRoute;
|
819
|
+
data?: ParamMap;
|
820
|
+
params?: ParamMap;
|
821
|
+
queryParams?: ParamMap;
|
822
|
+
parent?: PaneRef<any>;
|
823
|
+
policy?: OpenPolicy;
|
824
|
+
swap?: boolean;
|
825
|
+
focus?: boolean;
|
826
|
+
}) {
|
827
|
+
const { policy } = options,
|
828
|
+
dialog = (policy & OpenPolicy.Dialog) == OpenPolicy.Dialog,
|
829
|
+
expandable = (policy & OpenPolicy.Expandable) == OpenPolicy.Expandable,
|
830
|
+
dismissable = (policy & OpenPolicy.Dismissable) == OpenPolicy.Dismissable;
|
831
|
+
|
832
|
+
const tab = this._constract<T>(component,
|
833
|
+
{
|
834
|
+
mode: 'tab',
|
835
|
+
expanded: false,
|
836
|
+
...options,
|
837
|
+
dialog,
|
838
|
+
dismissable,
|
839
|
+
expandable
|
840
|
+
});
|
841
|
+
this.tabs.push(tab);
|
842
|
+
this._cd.detectChanges();
|
843
|
+
this._router._events$.next(new NavigationStart(tab));
|
844
|
+
if (tab.group && this.group !== tab.group && options.swap !== false) {
|
845
|
+
let i = 0, swap = false;
|
846
|
+
do {
|
847
|
+
if (this.tabs[i].group !== tab.group) {
|
848
|
+
this._destroyPane(this.tabs[i]);
|
849
|
+
this.tabs.splice(i, 1);
|
850
|
+
swap = true;
|
851
|
+
}
|
852
|
+
else
|
853
|
+
i++
|
854
|
+
} while (i < this.tabs.length);
|
855
|
+
if (swap) {
|
856
|
+
this.swapTab = this._getHistoryStep();
|
857
|
+
this.prevGroup = this.group;
|
858
|
+
}
|
859
|
+
this.group = tab.group;
|
860
|
+
}
|
861
|
+
else
|
862
|
+
this.swapTab = null;
|
863
|
+
if (options.focus !== false) {
|
864
|
+
this.selectedTabIndex = this.tabs.length - 1;
|
865
|
+
}
|
866
|
+
this._cd.detectChanges();
|
867
|
+
return tab;
|
868
|
+
}
|
869
|
+
|
870
|
+
guide(name: string) {
|
871
|
+
this._guide.start(name);
|
872
|
+
}
|
873
|
+
back() {
|
874
|
+
this._navBack(this.swap);
|
875
|
+
this.swap = null;
|
876
|
+
}
|
877
|
+
/**
|
878
|
+
*
|
879
|
+
* @param steps
|
880
|
+
*/
|
881
|
+
private async _navBack(steps: number) {
|
882
|
+
history.go(steps - (history.state as HistoryState).step);
|
883
|
+
}
|
884
|
+
tabBack() {
|
885
|
+
this._navBack(this.swapTab);
|
886
|
+
this.swapTab = null;
|
887
|
+
}
|
888
|
+
/**
|
889
|
+
*
|
890
|
+
* @param command
|
891
|
+
* @param pane
|
892
|
+
*/
|
893
|
+
private async _paneCommand<T = any>(command: PaneCommand, pane: PaneRef<T>) {
|
894
|
+
switch (command) {
|
895
|
+
case 'focus':
|
896
|
+
{
|
897
|
+
if (pane.mode === 'tab') {
|
898
|
+
this.selectedTabIndex = this.tabs.indexOf(pane);
|
899
|
+
}
|
900
|
+
else {
|
901
|
+
const index = this.panes.indexOf(pane);
|
902
|
+
this.focus(index);
|
903
|
+
}
|
904
|
+
break;
|
905
|
+
}
|
906
|
+
case 'close':
|
907
|
+
if (pane.mode === 'tab') {
|
908
|
+
const index = this.tabs.indexOf(pane);
|
909
|
+
this.closeTab(index);
|
910
|
+
}
|
911
|
+
else {
|
912
|
+
const index = this.panes.indexOf(pane);
|
913
|
+
await this.removeAt(index);
|
914
|
+
this._clearPending();
|
915
|
+
await this._clearTabs();
|
916
|
+
if (this.panes.length)
|
917
|
+
this._syncBrowserHistory();
|
918
|
+
else
|
919
|
+
this._router.navigate(DEFAULT_ROUTE);
|
920
|
+
}
|
921
|
+
break;
|
922
|
+
case 'expand':
|
923
|
+
if (pane.mode === 'tab')
|
924
|
+
this.expandTab();
|
925
|
+
else
|
926
|
+
this.expandPane();
|
927
|
+
break;
|
928
|
+
case 'recycle': {
|
929
|
+
const state = this._constructHistoryState();
|
930
|
+
history.replaceState(state, '');
|
931
|
+
break;
|
932
|
+
}
|
933
|
+
}
|
934
|
+
}
|
935
|
+
/**
|
936
|
+
* escape
|
937
|
+
* @param event
|
938
|
+
*/
|
939
|
+
@HostListener('document:keydown.escape')
|
940
|
+
async collapse() {
|
941
|
+
if (!this.tabs.length) return;
|
942
|
+
const evt = new CollapseNavigation();
|
943
|
+
this._router._events$.next(evt);
|
944
|
+
if (evt._preventDefault) return;
|
945
|
+
this._clearPending();
|
946
|
+
await this._clearTabs();
|
947
|
+
this._syncBrowserHistory();
|
948
|
+
}
|
949
|
+
@HostListener('window:resize')
|
950
|
+
onResize() {
|
951
|
+
this._resizing.next();
|
952
|
+
}
|
953
|
+
/** */
|
954
|
+
private _resize() {
|
955
|
+
if (this.panes.length > 1 && !this.panes[this.panes.length - 1].stretchable) {
|
956
|
+
const el = this._panesContainerRef.element.nativeElement as HTMLDivElement,
|
957
|
+
child = el.lastElementChild as HTMLDivElement;
|
958
|
+
child.style.minWidth =
|
959
|
+
(el.parentElement.parentElement.clientWidth - el.parentElement.offsetLeft - child.offsetLeft - 2) + 'px';
|
960
|
+
}
|
961
|
+
this.tabs.concat(this.panes).forEach(p => p._events$.next(new NavigationResize({
|
962
|
+
} as any, p)));
|
963
|
+
}
|
964
|
+
closeTab(position: number) {
|
965
|
+
const tab = this.tabs[position];
|
966
|
+
if (!this._closing(tab)) return;
|
967
|
+
this.tabs.splice(position, 1);
|
968
|
+
this._destroyPane(tab);
|
969
|
+
this.selectedTabIndex = this.tabs.length ? position > 0 ? position - 1 : 0 : -1;
|
970
|
+
this._syncBrowserHistory();
|
971
|
+
}
|
972
|
+
/**
|
973
|
+
*
|
974
|
+
* @param pane
|
975
|
+
*/
|
976
|
+
private _closing(pane: PaneRef<any>) {
|
977
|
+
let evt = new NavigationClose(pane);
|
978
|
+
pane._events$.next(evt);
|
979
|
+
return !evt._preventDefault;
|
980
|
+
}
|
981
|
+
|
982
|
+
expandPane() {
|
983
|
+
const pane = this.panes[this.selectedIndex];
|
984
|
+
const evt = new NavigationExpand(pane._expanded = true, pane);
|
985
|
+
pane._events$.next(evt);
|
986
|
+
this._router._events$.next(evt);
|
987
|
+
if (evt._preventDefault) return;
|
988
|
+
this.swap = this._getHistoryStep();
|
989
|
+
let i = 0;
|
990
|
+
do {
|
991
|
+
if (this.panes[i] !== pane) {
|
992
|
+
this._destroyPane(this.panes[i]);
|
993
|
+
this.panes.splice(i, 1);
|
994
|
+
}
|
995
|
+
else
|
996
|
+
i++;
|
997
|
+
}
|
998
|
+
while (i < this.panes.length);
|
999
|
+
this.selectedIndex = 0;
|
1000
|
+
this._syncBrowserHistory();
|
1001
|
+
}
|
1002
|
+
private _getHistoryStep(): number {
|
1003
|
+
return history.state && history.state.bizdoc ? (history.state as HistoryState).step : 0;
|
1004
|
+
}
|
1005
|
+
|
1006
|
+
expandTab() {
|
1007
|
+
const tab = this.tabs[this.selectedTabIndex];
|
1008
|
+
const evt = new NavigationExpand(tab._expanded = true, tab)
|
1009
|
+
tab._events$.next(evt);
|
1010
|
+
this._router._events$.next(evt);
|
1011
|
+
if (evt._preventDefault) return;
|
1012
|
+
this.swap = this._getHistoryStep();
|
1013
|
+
this.swapTab = null;
|
1014
|
+
this.panes.forEach(p =>
|
1015
|
+
this._destroyPane(p)
|
1016
|
+
);
|
1017
|
+
this.tabs.splice(this.selectedTabIndex, 1);
|
1018
|
+
this.panes.splice(0, this.panes.length, tab);
|
1019
|
+
|
1020
|
+
tab._mode = 'pane';
|
1021
|
+
this.selectedTabIndex = this.tabs.length ? 0 : -1;
|
1022
|
+
this._syncBrowserHistory();
|
1023
|
+
}
|
1024
|
+
|
1025
|
+
select(position: number) {
|
1026
|
+
if (this.selectedIndex === position) return;
|
1027
|
+
if (position === -1) {
|
1028
|
+
if (this.panes.length) position = this.panes.length - 1;
|
1029
|
+
else return;
|
1030
|
+
}
|
1031
|
+
this.selectedIndex = position;
|
1032
|
+
const pane = this.panes[position];
|
1033
|
+
const evt = new NavigationFocus(pane);
|
1034
|
+
pane._events$.next(evt);
|
1035
|
+
this._router._events$.next(evt);
|
1036
|
+
this._title.set(pane.title);
|
1037
|
+
}
|
1038
|
+
async removeAt(position: number) {
|
1039
|
+
const pane = this.panes[position];
|
1040
|
+
|
1041
|
+
if (!this._closing(pane)) return;
|
1042
|
+
|
1043
|
+
await this._dismiss(pane);
|
1044
|
+
|
1045
|
+
this._discardPane(pane);
|
1046
|
+
|
1047
|
+
if (position >= this.selectedIndex)
|
1048
|
+
this.select(-1);
|
1049
|
+
this._syncBrowserHistory();
|
1050
|
+
}
|
1051
|
+
/**
|
1052
|
+
*
|
1053
|
+
* @param pane
|
1054
|
+
*/
|
1055
|
+
private async _dismiss(pane: PaneRef<any>) {
|
1056
|
+
const panes = this.panes.concat(this.tabs).
|
1057
|
+
filter(s => s.decendentOf(pane) && s.route && s.route.canDismiss).
|
1058
|
+
reverse();
|
1059
|
+
|
1060
|
+
pane.route && pane.route.canDismiss &&
|
1061
|
+
panes.push(pane);
|
1062
|
+
|
1063
|
+
for (let i = 0; i < panes.length; i++) {
|
1064
|
+
let ok = await this._dismissable(panes[i]);
|
1065
|
+
if (!ok) throw '';
|
1066
|
+
}
|
1067
|
+
}
|
1068
|
+
/**
|
1069
|
+
*
|
1070
|
+
* @param pane
|
1071
|
+
*/
|
1072
|
+
private _discardPane(pane: PaneRef<any>) {
|
1073
|
+
this.panes.concat(this.tabs).
|
1074
|
+
filter(s => s.decendentOf(pane)).
|
1075
|
+
reverse().
|
1076
|
+
forEach(s => this._discardPane(s));
|
1077
|
+
this._destroyPane(pane);
|
1078
|
+
const index = this.panes.indexOf(pane);
|
1079
|
+
this.panes.splice(index, 1);
|
1080
|
+
}
|
1081
|
+
private _clearPending() {
|
1082
|
+
this._pending.splice(0, this._pending.length);
|
1083
|
+
}
|
1084
|
+
/** */
|
1085
|
+
private async _clearPanes() {
|
1086
|
+
await this._dismissAll(this.panes);
|
1087
|
+
this.panes.forEach(p => this._destroyPane(p));
|
1088
|
+
this.panes.splice(0, this.panes.length);
|
1089
|
+
this.selectedIndex = -1;
|
1090
|
+
this.swap = null;
|
1091
|
+
}
|
1092
|
+
private async _clearTabs() {
|
1093
|
+
if (!this.tabs.length) return;
|
1094
|
+
await this._dismissAll(this.tabs);
|
1095
|
+
this.tabs.forEach(t => this._destroyPane(t));
|
1096
|
+
this.tabs.splice(0, this.tabs.length);
|
1097
|
+
this.selectedTabIndex = -1;
|
1098
|
+
this.swapTab = null;
|
1099
|
+
}
|
1100
|
+
/**
|
1101
|
+
*
|
1102
|
+
* @param panes
|
1103
|
+
*/
|
1104
|
+
private async _dismissAll(panes: PaneRef[]) {
|
1105
|
+
for (let pane of panes.
|
1106
|
+
filter(s => s.route && s.route.canDismiss)) {
|
1107
|
+
let ok = await this._dismissable(pane);
|
1108
|
+
if (!ok)
|
1109
|
+
throw '';
|
1110
|
+
}
|
1111
|
+
}
|
1112
|
+
|
1113
|
+
/**
|
1114
|
+
*
|
1115
|
+
* @param pane
|
1116
|
+
*/
|
1117
|
+
private _dismissable(pane: PaneRef<any>) {
|
1118
|
+
const { instance, route: { canDismiss } } = pane;
|
1119
|
+
const dismissable = this._injector.get(canDismiss) as CanDismiss<any>;
|
1120
|
+
const ok = dismissable.onDismiss(instance);
|
1121
|
+
if (isBoolean(ok))
|
1122
|
+
return Promise.resolve(ok);
|
1123
|
+
else if (isPromise(ok))
|
1124
|
+
return ok;
|
1125
|
+
else
|
1126
|
+
return ok.toPromise();
|
1127
|
+
}
|
1128
|
+
scrollTo(index: number) {
|
1129
|
+
const item = this._children.item(index) as HTMLDivElement;
|
1130
|
+
item && item.scrollIntoView({ behavior: 'smooth', inline: 'end', block: 'end' });
|
1131
|
+
}
|
1132
|
+
|
1133
|
+
private get _children() {
|
1134
|
+
return this._panesContainerRef.element.nativeElement.querySelectorAll('.pane-content');
|
1135
|
+
}
|
1136
|
+
done() {
|
1137
|
+
this.enableNavigationArrows();
|
1138
|
+
this._resize();
|
1139
|
+
}
|
1140
|
+
enableNavigationArrows(_?: Event) {
|
1141
|
+
const container = this._panesContainerRef.element.nativeElement,
|
1142
|
+
scrollLeft = Math.round(container.scrollLeft);
|
1143
|
+
this.next = this._rtl ? container.clientWidth - scrollLeft < container.scrollWidth :
|
1144
|
+
scrollLeft + container.clientWidth < container.scrollWidth;
|
1145
|
+
this.prev = this._rtl ? scrollLeft < 0 : scrollLeft > 0;
|
1146
|
+
}
|
1147
|
+
scrollBy(n: number) {
|
1148
|
+
const left = n * (this._rtl ? -1 : 1);
|
1149
|
+
this._panesContainerRef.element.nativeElement.scrollBy({ behavior: 'smooth', left });
|
1150
|
+
}
|
1151
|
+
focus(index) {
|
1152
|
+
const el = this._children.item(index) as HTMLDivElement;
|
1153
|
+
el.focus();
|
1154
|
+
}
|
1155
|
+
onPaneResize(pane: PaneRef<any>, event: MouseEvent) {
|
1156
|
+
const el = (event.srcElement as HTMLDivElement).previousElementSibling as HTMLDivElement;
|
1157
|
+
|
1158
|
+
const // remember mouse down info
|
1159
|
+
width = el.clientWidth,
|
1160
|
+
d = this._rtl ? -1 : 1;
|
1161
|
+
|
1162
|
+
(event.srcElement as HTMLDivElement).classList.add('resizing');
|
1163
|
+
|
1164
|
+
this.dragging = true;
|
1165
|
+
|
1166
|
+
document.onmousemove = onMouseMove;
|
1167
|
+
document.onmouseup = () => {
|
1168
|
+
(event.srcElement as HTMLDivElement).classList.remove('resizing');
|
1169
|
+
document.onmousemove = document.onmouseup = null;
|
1170
|
+
this.dragging = false;
|
1171
|
+
};
|
1172
|
+
function onMouseMove(e) {
|
1173
|
+
|
1174
|
+
const delta = (e.clientX - event.clientX) * d;
|
1175
|
+
el.style.width = el.style.minWidth
|
1176
|
+
= Math.max(width + delta, 350) + 'px';
|
1177
|
+
pane._events$.next(new NavigationResize({} as any, pane));
|
1178
|
+
}
|
1179
|
+
}
|
1180
|
+
onTabResize(event: MouseEvent) {
|
1181
|
+
const el = (event.srcElement as HTMLDivElement).nextElementSibling as HTMLDivElement;
|
1182
|
+
|
1183
|
+
const
|
1184
|
+
me = this,
|
1185
|
+
// remember mouse down info
|
1186
|
+
width = el.clientWidth,
|
1187
|
+
d = this._rtl ? 1 : -1;
|
1188
|
+
|
1189
|
+
(event.srcElement as HTMLDivElement).classList.add('resizing');
|
1190
|
+
|
1191
|
+
this.dragging = true;
|
1192
|
+
|
1193
|
+
document.onmousemove = onMouseMove;
|
1194
|
+
document.onmouseup = () => {
|
1195
|
+
(event.srcElement as HTMLDivElement).classList.remove('resizing');
|
1196
|
+
document.onmousemove = document.onmouseup = null;
|
1197
|
+
this.dragging = false;
|
1198
|
+
me.enableNavigationArrows();
|
1199
|
+
this._resize();
|
1200
|
+
};
|
1201
|
+
function onMouseMove(e) {
|
1202
|
+
|
1203
|
+
// prevent negative-sized elements
|
1204
|
+
const delta = Math.max((e.clientX - event.clientX) * d, -width);
|
1205
|
+
el.style.width = el.style.minWidth = (width + delta) + 'px';
|
1206
|
+
localStorage.setItem('tabs', el.style.width);
|
1207
|
+
}
|
1208
|
+
}
|
1209
|
+
private _destroyPane(pane: PaneRef) {
|
1210
|
+
pane._destroy();
|
1211
|
+
const evt = new NavigationEnd(pane);
|
1212
|
+
pane._events$.next(evt);
|
1213
|
+
this._router._events$.next(evt);
|
1214
|
+
}
|
1215
|
+
ngOnDestroy(): void {
|
1216
|
+
this._destroy.next();
|
1217
|
+
this._destroy.complete();
|
1218
|
+
}
|
1219
|
+
}
|
1220
|
+
|
1221
|
+
const PANE_PARAMS_REGEX = /(:[\w\-]+)/g;
|
1222
|
+
|
1223
|
+
function prepareRoutes(routes: PaneRoute[], treePath?: string): ExtendedRoute[] {
|
1224
|
+
for (let i = 0; i < routes.length; i++) {
|
1225
|
+
let route = routes[i], fullPath = (treePath ? (treePath + '/') : '') + route.path;
|
1226
|
+
|
1227
|
+
Object.assign(route, {
|
1228
|
+
fullPath,
|
1229
|
+
regEx: new RegExp('^' + fullPath.
|
1230
|
+
replace('/', '\\/').
|
1231
|
+
replace(PANE_PARAMS_REGEX, e => `(?<${e.substr(1)}>[\\w@\\-]*)`))
|
1232
|
+
});
|
1233
|
+
if (route.children) {
|
1234
|
+
let children = prepareRoutes(route.children, fullPath);
|
1235
|
+
for (var j = 0; j < children.length; j++)
|
1236
|
+
Object.assign(children[j], {
|
1237
|
+
parent: route
|
1238
|
+
});
|
1239
|
+
}
|
1240
|
+
}
|
1241
|
+
return routes as ExtendedRoute[];
|
1242
|
+
}
|
1243
|
+
|
1244
|
+
interface ExtendedRoute extends PaneRoute {
|
1245
|
+
fullPath: string;
|
1246
|
+
regEx: RegExp;
|
1247
|
+
parent?: ExtendedRoute;
|
1248
|
+
children?: ExtendedRoute[];
|
1249
|
+
}
|
1250
|
+
interface HistoryState {
|
1251
|
+
bizdoc: true;
|
1252
|
+
step: number;
|
1253
|
+
swap?: number;
|
1254
|
+
swapTab?: number;
|
1255
|
+
group?: string;
|
1256
|
+
prevGroup?: string;
|
1257
|
+
panes: any[];
|
1258
|
+
tabs: any[];
|
1259
|
+
selectedTabIndex?: number;
|
1260
|
+
}
|