@bizdoc/core 1.14.9 → 1.14.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/bizdoc-schema.json +7 -3
- package/assets/themes/xslt.min.css +1 -0
- package/bizdoc-core.d.ts +5 -0
- package/esm2020/bizdoc-core.mjs +5 -0
- package/esm2020/lib/admin/admin-dismiss.service.mjs +22 -0
- package/esm2020/lib/admin/admin-menu.component.mjs +27 -0
- package/esm2020/lib/admin/core/ace.input.mjs +147 -0
- package/esm2020/lib/admin/core/color-picker.input.mjs +208 -0
- package/esm2020/lib/admin/core/search.input.mjs +43 -0
- package/esm2020/lib/admin/diff/configuration-diff.component.mjs +558 -0
- package/esm2020/lib/admin/document-trace/document-trace.component.mjs +532 -0
- package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +40 -0
- package/esm2020/lib/admin/document-trace/timeline.mjs +2 -0
- package/esm2020/lib/admin/document-trace/trace-element.component.mjs +123 -0
- package/esm2020/lib/admin/form/form.resolve.service.mjs +17 -0
- package/esm2020/lib/admin/form/form.service.mjs +43 -0
- package/esm2020/lib/admin/form/workflow/node-ref.mjs +8 -0
- package/esm2020/lib/admin/form/workflow/node.component.mjs +128 -0
- package/esm2020/lib/admin/form/workflow/role-node.component.mjs +90 -0
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +441 -0
- package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +161 -0
- package/esm2020/lib/admin/patterns/patterns.component.mjs +179 -0
- package/esm2020/lib/admin/permissions/permissions.component.mjs +97 -0
- package/esm2020/lib/admin/positions/positions-popup.component.mjs +74 -0
- package/esm2020/lib/admin/positions/positions.component.mjs +460 -0
- package/esm2020/lib/admin/profiler/outofoffice.component.mjs +155 -0
- package/esm2020/lib/admin/profiler/profiler.component.mjs +281 -0
- package/esm2020/lib/admin/utility-ref.mjs +38 -0
- package/esm2020/lib/admin/utility-wrapper.component.mjs +51 -0
- package/esm2020/lib/admin/utility.pane.component.mjs +51 -0
- package/esm2020/lib/app.component.mjs +91 -0
- package/esm2020/lib/bizdoc.module.mjs +101 -0
- package/esm2020/lib/browse/browse-items.component.mjs +481 -0
- package/esm2020/lib/browse/browse.mobile.component.mjs +101 -0
- package/esm2020/lib/browse/browse.pane.component.mjs +148 -0
- package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +316 -0
- package/esm2020/lib/browse/filter/filter.component.mjs +164 -0
- package/esm2020/lib/browse/folders-menu.component.mjs +51 -0
- package/esm2020/lib/chat/chat-info.mjs +68 -0
- package/esm2020/lib/chat/chat.mobile.component.mjs +26 -0
- package/esm2020/lib/chat/chat.service.mjs +122 -0
- package/esm2020/lib/chat/contacts.component.mjs +103 -0
- package/esm2020/lib/chat/contacts.pane.component.mjs +29 -0
- package/esm2020/lib/chat/conversation.component.mjs +193 -0
- package/esm2020/lib/chat/conversation.pane.component.mjs +53 -0
- package/esm2020/lib/compose/action/action-picker.component.mjs +84 -0
- package/esm2020/lib/compose/action/action-ref.mjs +19 -0
- package/esm2020/lib/compose/action/action.base.mjs +49 -0
- package/esm2020/lib/compose/action/action.dialog.mjs +61 -0
- package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +72 -0
- package/esm2020/lib/compose/action/assign-action.component.mjs +70 -0
- package/esm2020/lib/compose/action/moveto-action.component.mjs +91 -0
- package/esm2020/lib/compose/action/return-action.component.mjs +52 -0
- package/esm2020/lib/compose/attachments/attachments.component.mjs +127 -0
- package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +155 -0
- package/esm2020/lib/compose/attachments/progress-button.directive.mjs +25 -0
- package/esm2020/lib/compose/can-deactivate-changes.service.mjs +27 -0
- package/esm2020/lib/compose/comments/Comments.pane.component.mjs +49 -0
- package/esm2020/lib/compose/comments/comment.component.mjs +186 -0
- package/esm2020/lib/compose/comments/comments.component.mjs +227 -0
- package/esm2020/lib/compose/comments/edit-comment.component.mjs +32 -0
- package/esm2020/lib/compose/comments/edits.component.mjs +30 -0
- package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +63 -0
- package/esm2020/lib/compose/comments/votes.component.mjs +42 -0
- package/esm2020/lib/compose/compose-resolve.service.mjs +55 -0
- package/esm2020/lib/compose/compose.mobile.component.mjs +112 -0
- package/esm2020/lib/compose/compose.pane.component.mjs +205 -0
- package/esm2020/lib/compose/copy/copy.dialog.mjs +46 -0
- package/esm2020/lib/compose/dismiss.service.mjs +25 -0
- package/esm2020/lib/compose/document-resolver.service.mjs +17 -0
- package/esm2020/lib/compose/document.component.mjs +45 -0
- package/esm2020/lib/compose/document.mobile.component.mjs +22 -0
- package/esm2020/lib/compose/document.pane.component.mjs +26 -0
- package/esm2020/lib/compose/events/events.component.mjs +30 -0
- package/esm2020/lib/compose/form-ref.mjs +46 -0
- package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +88 -0
- package/esm2020/lib/compose/form.component.mjs +458 -0
- package/esm2020/lib/compose/new-menu.component.mjs +104 -0
- package/esm2020/lib/compose/privilage.directive.mjs +64 -0
- package/esm2020/lib/compose/recipient-resolver.service.mjs +18 -0
- package/esm2020/lib/compose/save-changes.dialog.mjs +18 -0
- package/esm2020/lib/compose/state.component.mjs +37 -0
- package/esm2020/lib/compose/tag/tags.component.mjs +91 -0
- package/esm2020/lib/compose/trace/flow.component.mjs +699 -0
- package/esm2020/lib/compose/trace/people.component.mjs +35 -0
- package/esm2020/lib/compose/trace/trace.base.mjs +71 -0
- package/esm2020/lib/compose/trace/trace.component.mjs +359 -0
- package/esm2020/lib/compose/trace/trace.pane.component.mjs +52 -0
- package/esm2020/lib/compose/version-compare/version-compare.component.mjs +53 -0
- package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +344 -0
- package/esm2020/lib/compose/version-compare/version.pane.component.mjs +56 -0
- package/esm2020/lib/core/NgComponentOutlet.mjs +38 -0
- package/esm2020/lib/core/account.service.mjs +37 -0
- package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +17 -0
- package/esm2020/lib/core/animations.mjs +156 -0
- package/esm2020/lib/core/authentication.mjs +3 -0
- package/esm2020/lib/core/avatar/avatar.component.mjs +103 -0
- package/esm2020/lib/core/base.mjs +2 -0
- package/esm2020/lib/core/colors.mjs +322 -0
- package/esm2020/lib/core/component-factory-resolver.mjs +64 -0
- package/esm2020/lib/core/configuration.mjs +17 -0
- package/esm2020/lib/core/controls/address.input.mjs +206 -0
- package/esm2020/lib/core/controls/auto-complete.input.mjs +256 -0
- package/esm2020/lib/core/controls/combination-picker-body.mjs +173 -0
- package/esm2020/lib/core/controls/combination-picker.mjs +277 -0
- package/esm2020/lib/core/controls/combination-pool.mjs +105 -0
- package/esm2020/lib/core/controls/file.input.mjs +420 -0
- package/esm2020/lib/core/controls/select.input.mjs +237 -0
- package/esm2020/lib/core/controls/time-picker.mjs +196 -0
- package/esm2020/lib/core/controls/timespan.input.mjs +207 -0
- package/esm2020/lib/core/datasource.service.mjs +75 -0
- package/esm2020/lib/core/decorators.mjs +46 -0
- package/esm2020/lib/core/firebase.service.mjs +50 -0
- package/esm2020/lib/core/functions.mjs +205 -0
- package/esm2020/lib/core/guide/guide.component.mjs +224 -0
- package/esm2020/lib/core/guide/guide.service.mjs +118 -0
- package/esm2020/lib/core/guide/help-tip.component.mjs +58 -0
- package/esm2020/lib/core/http.interceptor.mjs +79 -0
- package/esm2020/lib/core/hub.service.mjs +108 -0
- package/esm2020/lib/core/identity/identity.component.mjs +67 -0
- package/esm2020/lib/core/info/attachment-info.service.mjs +51 -0
- package/esm2020/lib/core/info/document-info.service.mjs +21 -0
- package/esm2020/lib/core/info/location-info.component.mjs +61 -0
- package/esm2020/lib/core/info/map-info.mjs +40 -0
- package/esm2020/lib/core/layout/autocomplete.field.mjs +60 -0
- package/esm2020/lib/core/layout/checkbox.field.mjs +41 -0
- package/esm2020/lib/core/layout/checkbox.mjs +35 -0
- package/esm2020/lib/core/layout/date-range.field.mjs +53 -0
- package/esm2020/lib/core/layout/date.field.mjs +52 -0
- package/esm2020/lib/core/layout/expression.field.mjs +51 -0
- package/esm2020/lib/core/layout/file.field.mjs +47 -0
- package/esm2020/lib/core/layout/html.field.mjs +48 -0
- package/esm2020/lib/core/layout/input.base.mjs +11 -0
- package/esm2020/lib/core/layout/input.field.mjs +64 -0
- package/esm2020/lib/core/layout/layout.component.mjs +196 -0
- package/esm2020/lib/core/layout/numeric.field.mjs +47 -0
- package/esm2020/lib/core/layout/select.field.mjs +82 -0
- package/esm2020/lib/core/layout/switch.field.mjs +41 -0
- package/esm2020/lib/core/layout/textarea.field.mjs +42 -0
- package/esm2020/lib/core/layout/timespan.field.mjs +50 -0
- package/esm2020/lib/core/lottie-animation.mjs +46 -0
- package/esm2020/lib/core/mailbox.service.mjs +410 -0
- package/esm2020/lib/core/models.mjs +40 -0
- package/esm2020/lib/core/none.component.mjs +40 -0
- package/esm2020/lib/core/pipes/action.pipe.mjs +25 -0
- package/esm2020/lib/core/pipes/calendar.pipe.mjs +72 -0
- package/esm2020/lib/core/pipes/date-format.pipe.mjs +19 -0
- package/esm2020/lib/core/pipes/daterange.pipe.mjs +62 -0
- package/esm2020/lib/core/pipes/difference.pipe.mjs +15 -0
- package/esm2020/lib/core/pipes/duration-format.pipe.mjs +48 -0
- package/esm2020/lib/core/pipes/duration.pipe.mjs +19 -0
- package/esm2020/lib/core/pipes/form.pipe.mjs +25 -0
- package/esm2020/lib/core/pipes/join.pipe.mjs +18 -0
- package/esm2020/lib/core/pipes/role.pipe.mjs +25 -0
- package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +18 -0
- package/esm2020/lib/core/pipes/sort.pipe.mjs +48 -0
- package/esm2020/lib/core/pipes/state.pipe.mjs +25 -0
- package/esm2020/lib/core/pipes/time-ago.pipe.mjs +66 -0
- package/esm2020/lib/core/pipes/translate.pipe.mjs +38 -0
- package/esm2020/lib/core/pipes/type-value.pipe.mjs +42 -0
- package/esm2020/lib/core/pipes/user-name.pipe.mjs +21 -0
- package/esm2020/lib/core/popup/popup-ref.mjs +20 -0
- package/esm2020/lib/core/popup/popup.component.mjs +37 -0
- package/esm2020/lib/core/popup/popup.service.mjs +148 -0
- package/esm2020/lib/core/popup/tooltip.directive.mjs +82 -0
- package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +29 -0
- package/esm2020/lib/core/prompt/mask/mask.component.mjs +21 -0
- package/esm2020/lib/core/prompt.service.mjs +86 -0
- package/esm2020/lib/core/router.mjs +37 -0
- package/esm2020/lib/core/session.service.mjs +256 -0
- package/esm2020/lib/core/slots/pane-ref.mjs +148 -0
- package/esm2020/lib/core/slots/router.directive.mjs +68 -0
- package/esm2020/lib/core/slots/router.service.mjs +30 -0
- package/esm2020/lib/core/slots/slots.component.mjs +1141 -0
- package/esm2020/lib/core/tagging/documents.component.mjs +25 -0
- package/esm2020/lib/core/tagging/edit-input.component.mjs +233 -0
- package/esm2020/lib/core/tagging/emoji.component.mjs +35 -0
- package/esm2020/lib/core/tagging/tagging-item.directive.mjs +39 -0
- package/esm2020/lib/core/tagging/tagging.component-base.mjs +29 -0
- package/esm2020/lib/core/tagging/tagging.directive.mjs +138 -0
- package/esm2020/lib/core/tagging/tagging.pipe.mjs +72 -0
- package/esm2020/lib/core/tagging/users.component.mjs +32 -0
- package/esm2020/lib/core/translate.service.mjs +124 -0
- package/esm2020/lib/core/translations.mjs +1139 -0
- package/esm2020/lib/core/window-title.service.mjs +53 -0
- package/esm2020/lib/cube/accum/accum.component.mjs +259 -0
- package/esm2020/lib/cube/chart/chart.component.mjs +341 -0
- package/esm2020/lib/cube/cube-info.service.mjs +100 -0
- package/esm2020/lib/cube/cube-menu.component.mjs +27 -0
- package/esm2020/lib/cube/cube-view.component.mjs +186 -0
- package/esm2020/lib/cube/cube.service.mjs +418 -0
- package/esm2020/lib/cube/declarations.mjs +2 -0
- package/esm2020/lib/cube/explore/document-item.component.mjs +38 -0
- package/esm2020/lib/cube/explore/explore-item.component.mjs +27 -0
- package/esm2020/lib/cube/explore/explore-items.component.mjs +186 -0
- package/esm2020/lib/cube/explore/explore.pane.component.mjs +83 -0
- package/esm2020/lib/cube/explore/item-resolver.service.mjs +32 -0
- package/esm2020/lib/cube/explore/item.pane.component.mjs +23 -0
- package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +75 -0
- package/esm2020/lib/cube/filter/filter.component.mjs +137 -0
- package/esm2020/lib/cube/grid/grid.component.mjs +218 -0
- package/esm2020/lib/cube/grid/spreadsheet.component.mjs +367 -0
- package/esm2020/lib/cube/matrix/matrix.base.mjs +127 -0
- package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +63 -0
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +76 -0
- package/esm2020/lib/cube/matrix/popup.component.mjs +67 -0
- package/esm2020/lib/cube/matrix/table.component.mjs +493 -0
- package/esm2020/lib/cube/parallel/item.mjs +41 -0
- package/esm2020/lib/cube/parallel/parallel.component.mjs +159 -0
- package/esm2020/lib/cube/pivot/pivot.component.mjs +507 -0
- package/esm2020/lib/cube/sum/sum.component.mjs +404 -0
- package/esm2020/lib/cube/view-base.mjs +79 -0
- package/esm2020/lib/cube/view.mobile.component.mjs +127 -0
- package/esm2020/lib/cube/view.pane.component.mjs +88 -0
- package/esm2020/lib/dashboard/actions/actions.widget.mjs +126 -0
- package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +145 -0
- package/esm2020/lib/dashboard/cube/compare.widget.mjs +215 -0
- package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +90 -0
- package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +53 -0
- package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +144 -0
- package/esm2020/lib/dashboard/cube/documents.widget.mjs +64 -0
- package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +61 -0
- package/esm2020/lib/dashboard/dashboard.component.mjs +55 -0
- package/esm2020/lib/dashboard/dashboard.pane.component.mjs +24 -0
- package/esm2020/lib/dashboard/recents/recents.widget.mjs +98 -0
- package/esm2020/lib/dashboard/score/activity.widget.mjs +173 -0
- package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +206 -0
- package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +253 -0
- package/esm2020/lib/dashboard/score/pending-results.widget.mjs +60 -0
- package/esm2020/lib/dashboard/score/personal-score.widget.mjs +223 -0
- package/esm2020/lib/dashboard/widget-item.component.mjs +90 -0
- package/esm2020/lib/dashboard/widget-ref.mjs +18 -0
- package/esm2020/lib/desktop.module.mjs +144 -0
- package/esm2020/lib/home/about/about.dialog.mjs +26 -0
- package/esm2020/lib/home/home-base.component.mjs +91 -0
- package/esm2020/lib/home/home.desktop.component.mjs +221 -0
- package/esm2020/lib/home/home.mobile.component.mjs +116 -0
- package/esm2020/lib/home/notifications/notifications.component.mjs +67 -0
- package/esm2020/lib/home/options/options.component.mjs +94 -0
- package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +38 -0
- package/esm2020/lib/home/search.service.mjs +75 -0
- package/esm2020/lib/home/sign/sign.component.mjs +54 -0
- package/esm2020/lib/home/tools.component.mjs +82 -0
- package/esm2020/lib/impersonate/impersonate.component.mjs +65 -0
- package/esm2020/lib/mobile.module.mjs +59 -0
- package/esm2020/lib/modules/chart.module.mjs +39 -0
- package/esm2020/lib/modules/circular-gauge.module.mjs +17 -0
- package/esm2020/lib/modules/date.adapter.mjs +23 -0
- package/esm2020/lib/modules/datepicker.intl.mjs +39 -0
- package/esm2020/lib/modules/dayjs.module.mjs +41 -0
- package/esm2020/lib/modules/diagram.module.mjs +35 -0
- package/esm2020/lib/modules/gantt.module.mjs +18 -0
- package/esm2020/lib/modules/grid.module.mjs +23 -0
- package/esm2020/lib/modules/material.module.mjs +188 -0
- package/esm2020/lib/modules/paginator.intl.mjs +21 -0
- package/esm2020/lib/modules/pivot.module.mjs +24 -0
- package/esm2020/lib/modules/schedule.module.mjs +21 -0
- package/esm2020/lib/modules/spreadsheet.module.mjs +30 -0
- package/esm2020/lib/modules/stepper.intl.mjs +17 -0
- package/esm2020/lib/modules/texteditor.module.mjs +27 -0
- package/esm2020/lib/notifications/filter.component.mjs +25 -0
- package/esm2020/lib/notifications/notifications-table.component.mjs +106 -0
- package/esm2020/lib/notifications/notifications.component-base.mjs +47 -0
- package/esm2020/lib/notifications/notifications.mobile.component.mjs +20 -0
- package/esm2020/lib/notifications/notifications.pane.component.mjs +23 -0
- package/esm2020/lib/notifications/notifications.service.mjs +71 -0
- package/esm2020/lib/notifications/types/commented.notification.mjs +53 -0
- package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +58 -0
- package/esm2020/lib/notifications/types/escalated.notification.mjs +33 -0
- package/esm2020/lib/notifications/types/liked.notification.mjs +50 -0
- package/esm2020/lib/notifications/types/long-running-task.notification.mjs +31 -0
- package/esm2020/lib/notifications/types/notification-base.mjs +40 -0
- package/esm2020/lib/notifications/types/nudge.notification.mjs +31 -0
- package/esm2020/lib/notifications/types/state-changed.notification.mjs +30 -0
- package/esm2020/lib/notifications/types/tagged.notification.mjs +43 -0
- package/esm2020/lib/notifications/types/text.notification.mjs +20 -0
- package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +36 -0
- package/esm2020/lib/options/options.component.mjs +248 -0
- package/esm2020/lib/options/options.service.mjs +38 -0
- package/esm2020/lib/reports/arguments-component.mjs +83 -0
- package/esm2020/lib/reports/cube/documents.component.mjs +40 -0
- package/esm2020/lib/reports/cube/grid-documents.component.mjs +72 -0
- package/esm2020/lib/reports/cube/table-documents.component.mjs +56 -0
- package/esm2020/lib/reports/cube/usage-args.component.mjs +61 -0
- package/esm2020/lib/reports/cube/usage-base.mjs +79 -0
- package/esm2020/lib/reports/cube/usage-chart.component.mjs +357 -0
- package/esm2020/lib/reports/cube/usage-pivot.component.mjs +256 -0
- package/esm2020/lib/reports/cube/usage.component.mjs +40 -0
- package/esm2020/lib/reports/report-ref.mjs +31 -0
- package/esm2020/lib/reports/report-viewer.component.mjs +151 -0
- package/esm2020/lib/reports/report.mobile.component.mjs +128 -0
- package/esm2020/lib/reports/report.pane.component.mjs +96 -0
- package/esm2020/lib/reports/reports-menu.component.mjs +26 -0
- package/esm2020/lib/reports/substitution/substitution.component.mjs +40 -0
- package/esm2020/lib/reports/table/table-view.component.mjs +41 -0
- package/esm2020/lib/reports/tasks/tasks.component.mjs +95 -0
- package/esm2020/lib/routes.desktop.mjs +197 -0
- package/esm2020/lib/routes.mobile.mjs +69 -0
- package/esm2020/lib/scheduler/schedule.component.mjs +166 -0
- package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +37 -0
- package/esm2020/lib/scheduler/scheduler.pane.component.mjs +53 -0
- package/esm2020/lib/shared.module.mjs +518 -0
- package/esm2020/lib/system.module.mjs +113 -0
- package/esm2020/lib/views/cube/chart.component.mjs +75 -0
- package/esm2020/lib/views/cube/cube-base.mjs +96 -0
- package/esm2020/lib/views/cube/explore.component.mjs +83 -0
- package/esm2020/lib/views/cube/matrix.component.mjs +97 -0
- package/esm2020/lib/views/cube/parallel.component.mjs +54 -0
- package/esm2020/lib/views/cube/pivot.component.mjs +51 -0
- package/esm2020/lib/views/cube/sum.component.mjs +64 -0
- package/esm2020/lib/views/cube/view.component.mjs +102 -0
- package/esm2020/lib/views/document-view-ref.mjs +27 -0
- package/esm2020/lib/views/timeline/timeline.component.exp.mjs +313 -0
- package/esm2020/lib/views/view-item.component.mjs +67 -0
- package/esm2020/lib/views/views.component.mjs +33 -0
- package/esm2020/lib/views/views.mobile.component.mjs +20 -0
- package/esm2020/lib/views/views.pane.component.mjs +35 -0
- package/esm2020/public-api.mjs +144 -0
- package/fesm2015/bizdoc-core.mjs +30730 -0
- package/fesm2015/bizdoc-core.mjs.map +1 -0
- package/fesm2020/bizdoc-core.mjs +30508 -0
- package/fesm2020/bizdoc-core.mjs.map +1 -0
- package/lib/admin/admin-dismiss.service.d.ts +14 -0
- package/lib/admin/admin-menu.component.d.ts +12 -0
- package/lib/admin/core/ace.input.d.ts +52 -0
- package/lib/admin/core/color-picker.input.d.ts +64 -0
- package/lib/admin/core/search.input.d.ts +13 -0
- package/lib/admin/diff/configuration-diff.component.d.ts +116 -0
- package/lib/admin/document-trace/document-trace.component.d.ts +98 -0
- package/lib/admin/document-trace/reassign.dialog.d.ts +22 -0
- package/lib/admin/document-trace/timeline.d.ts +40 -0
- package/lib/admin/document-trace/trace-element.component.d.ts +51 -0
- package/lib/admin/form/form.resolve.service.d.ts +12 -0
- package/lib/admin/form/form.service.d.ts +30 -0
- package/lib/admin/form/workflow/node-ref.d.ts +7 -0
- package/lib/admin/form/workflow/node.component.d.ts +37 -0
- package/lib/admin/form/workflow/role-node.component.d.ts +22 -0
- package/lib/admin/form/workflow/workflow.component.d.ts +76 -0
- package/lib/admin/indices/manage-cube-index.component.d.ts +54 -0
- package/lib/admin/patterns/patterns.component.d.ts +79 -0
- package/lib/admin/permissions/permissions.component.d.ts +45 -0
- package/lib/admin/positions/positions-popup.component.d.ts +39 -0
- package/lib/admin/positions/positions.component.d.ts +117 -0
- package/lib/admin/profiler/outofoffice.component.d.ts +48 -0
- package/lib/admin/profiler/profiler.component.d.ts +116 -0
- package/lib/admin/utility-ref.d.ts +19 -0
- package/lib/admin/utility-wrapper.component.d.ts +28 -0
- package/lib/admin/utility.pane.component.d.ts +24 -0
- package/lib/app.component.d.ts +24 -0
- package/lib/bizdoc.module.d.ts +18 -0
- package/lib/browse/browse-items.component.d.ts +103 -0
- package/lib/browse/browse.mobile.component.d.ts +39 -0
- package/lib/browse/browse.pane.component.d.ts +50 -0
- package/lib/browse/expanded-item/expanded-item.component.d.ts +67 -0
- package/lib/browse/filter/filter.component.d.ts +71 -0
- package/lib/browse/folders-menu.component.d.ts +22 -0
- package/lib/chat/chat-info.d.ts +37 -0
- package/lib/chat/chat.mobile.component.d.ts +10 -0
- package/lib/chat/chat.service.d.ts +38 -0
- package/lib/chat/contacts.component.d.ts +38 -0
- package/lib/chat/contacts.pane.component.d.ts +12 -0
- package/lib/chat/conversation.component.d.ts +56 -0
- package/lib/chat/conversation.pane.component.d.ts +16 -0
- package/lib/compose/action/action-picker.component.d.ts +25 -0
- package/lib/compose/action/action-ref.d.ts +10 -0
- package/lib/compose/action/action.base.d.ts +15 -0
- package/lib/compose/action/action.dialog.d.ts +29 -0
- package/lib/compose/action/action.pane.dialog.exp.d.ts +31 -0
- package/lib/compose/action/assign-action.component.d.ts +30 -0
- package/lib/compose/action/moveto-action.component.d.ts +36 -0
- package/lib/compose/action/return-action.component.d.ts +19 -0
- package/lib/compose/attachments/attachments.component.d.ts +35 -0
- package/lib/compose/attachments/preview/attachment-preview.component.d.ts +49 -0
- package/lib/compose/attachments/progress-button.directive.d.ts +12 -0
- package/lib/compose/can-deactivate-changes.service.d.ts +12 -0
- package/lib/compose/comments/Comments.pane.component.d.ts +18 -0
- package/lib/compose/comments/comment.component.d.ts +51 -0
- package/lib/compose/comments/comments.component.d.ts +66 -0
- package/lib/compose/comments/edit-comment.component.d.ts +25 -0
- package/lib/compose/comments/edits.component.d.ts +26 -0
- package/lib/compose/comments/quick-comment.component.exp.d.ts +28 -0
- package/lib/compose/comments/votes.component.d.ts +22 -0
- package/lib/compose/compose-resolve.service.d.ts +27 -0
- package/lib/compose/compose.mobile.component.d.ts +42 -0
- package/lib/compose/compose.pane.component.d.ts +58 -0
- package/lib/compose/copy/copy.dialog.d.ts +23 -0
- package/lib/compose/dismiss.service.d.ts +12 -0
- package/lib/compose/document-resolver.service.d.ts +12 -0
- package/lib/compose/document.component.d.ts +18 -0
- package/lib/compose/document.mobile.component.d.ts +10 -0
- package/lib/compose/document.pane.component.d.ts +12 -0
- package/lib/compose/events/events.component.d.ts +13 -0
- package/lib/compose/form-ref.d.ts +30 -0
- package/lib/compose/form-selector/form-selector.sheet.d.ts +28 -0
- package/lib/compose/form.component.d.ts +101 -0
- package/lib/compose/new-menu.component.d.ts +36 -0
- package/lib/compose/privilage.directive.d.ts +26 -0
- package/lib/compose/recipient-resolver.service.d.ts +12 -0
- package/lib/compose/save-changes.dialog.d.ts +7 -0
- package/lib/compose/state.component.d.ts +12 -0
- package/lib/compose/tag/tags.component.d.ts +36 -0
- package/lib/compose/trace/flow.component.d.ts +59 -0
- package/lib/compose/trace/people.component.d.ts +18 -0
- package/lib/compose/trace/trace.base.d.ts +28 -0
- package/lib/compose/trace/trace.component.d.ts +55 -0
- package/lib/compose/trace/trace.pane.component.d.ts +20 -0
- package/lib/compose/version-compare/version-compare.component.d.ts +24 -0
- package/lib/compose/version-compare/version-compare.directive.d.ts +89 -0
- package/lib/compose/version-compare/version.pane.component.d.ts +21 -0
- package/lib/core/NgComponentOutlet.d.ts +15 -0
- package/lib/core/account.service.d.ts +18 -0
- package/lib/core/animated-icon/animated-icon.directive.d.ts +7 -0
- package/lib/core/animations.d.ts +26 -0
- package/lib/core/authentication.d.ts +6 -0
- package/lib/core/avatar/avatar.component.d.ts +34 -0
- package/lib/core/base.d.ts +31 -0
- package/lib/core/colors.d.ts +6 -0
- package/lib/core/component-factory-resolver.d.ts +12 -0
- package/lib/core/configuration.d.ts +113 -0
- package/lib/core/controls/address.input.d.ts +65 -0
- package/lib/core/controls/auto-complete.input.d.ts +86 -0
- package/lib/core/controls/combination-picker-body.d.ts +114 -0
- package/lib/core/controls/combination-picker.d.ts +82 -0
- package/lib/core/controls/combination-pool.d.ts +42 -0
- package/lib/core/controls/file.input.d.ts +99 -0
- package/lib/core/controls/select.input.d.ts +84 -0
- package/lib/core/controls/time-picker.d.ts +52 -0
- package/lib/core/controls/timespan.input.d.ts +55 -0
- package/lib/core/datasource.service.d.ts +46 -0
- package/lib/core/decorators.d.ts +17 -0
- package/lib/core/firebase.service.d.ts +17 -0
- package/lib/core/functions.d.ts +54 -0
- package/lib/core/guide/guide.component.d.ts +32 -0
- package/lib/core/guide/guide.service.d.ts +38 -0
- package/lib/core/guide/help-tip.component.d.ts +16 -0
- package/lib/core/http.interceptor.d.ts +21 -0
- package/lib/core/hub.service.d.ts +133 -0
- package/lib/core/identity/identity.component.d.ts +29 -0
- package/lib/core/info/attachment-info.service.d.ts +17 -0
- package/lib/core/info/document-info.service.d.ts +14 -0
- package/lib/core/info/location-info.component.d.ts +28 -0
- package/lib/core/info/map-info.d.ts +15 -0
- package/lib/core/layout/autocomplete.field.d.ts +21 -0
- package/lib/core/layout/checkbox.d.ts +10 -0
- package/lib/core/layout/checkbox.field.d.ts +11 -0
- package/lib/core/layout/date-range.field.d.ts +13 -0
- package/lib/core/layout/date.field.d.ts +11 -0
- package/lib/core/layout/expression.field.d.ts +12 -0
- package/lib/core/layout/file.field.d.ts +14 -0
- package/lib/core/layout/html.field.d.ts +12 -0
- package/lib/core/layout/input.base.d.ts +10 -0
- package/lib/core/layout/input.field.d.ts +14 -0
- package/lib/core/layout/layout.component.d.ts +33 -0
- package/lib/core/layout/numeric.field.d.ts +11 -0
- package/lib/core/layout/select.field.d.ts +22 -0
- package/lib/core/layout/switch.field.d.ts +11 -0
- package/lib/core/layout/textarea.field.d.ts +11 -0
- package/lib/core/layout/timespan.field.d.ts +11 -0
- package/lib/core/lottie-animation.d.ts +14 -0
- package/lib/core/mailbox.service.d.ts +142 -0
- package/lib/core/models.d.ts +652 -0
- package/lib/core/none.component.d.ts +9 -0
- package/lib/core/pipes/action.pipe.d.ts +10 -0
- package/lib/core/pipes/calendar.pipe.d.ts +27 -0
- package/lib/core/pipes/date-format.pipe.d.ts +8 -0
- package/lib/core/pipes/daterange.pipe.d.ts +15 -0
- package/lib/core/pipes/difference.pipe.d.ts +7 -0
- package/lib/core/pipes/duration-format.pipe.d.ts +11 -0
- package/lib/core/pipes/duration.pipe.d.ts +8 -0
- package/lib/core/pipes/form.pipe.d.ts +10 -0
- package/lib/core/pipes/join.pipe.d.ts +10 -0
- package/lib/core/pipes/role.pipe.d.ts +10 -0
- package/lib/core/pipes/sanitize-html.pipe.d.ts +10 -0
- package/lib/core/pipes/sort.pipe.d.ts +12 -0
- package/lib/core/pipes/state.pipe.d.ts +10 -0
- package/lib/core/pipes/time-ago.pipe.d.ts +16 -0
- package/lib/core/pipes/translate.pipe.d.ts +18 -0
- package/lib/core/pipes/type-value.pipe.d.ts +15 -0
- package/lib/core/pipes/user-name.pipe.d.ts +11 -0
- package/lib/core/popup/popup-ref.d.ts +14 -0
- package/lib/core/popup/popup.component.d.ts +22 -0
- package/lib/core/popup/popup.service.d.ts +24 -0
- package/lib/core/popup/tooltip.directive.d.ts +29 -0
- package/lib/core/prompt/ask/ask.dialog.d.ts +22 -0
- package/lib/core/prompt/mask/mask.component.d.ts +10 -0
- package/lib/core/prompt.service.d.ts +36 -0
- package/lib/core/router.d.ts +22 -0
- package/lib/core/session.service.d.ts +82 -0
- package/lib/core/slots/pane-ref.d.ts +135 -0
- package/lib/core/slots/router.directive.d.ts +25 -0
- package/lib/core/slots/router.service.d.ts +36 -0
- package/lib/core/slots/slots.component.d.ts +212 -0
- package/lib/core/tagging/documents.component.d.ts +11 -0
- package/lib/core/tagging/edit-input.component.d.ts +65 -0
- package/lib/core/tagging/emoji.component.d.ts +18 -0
- package/lib/core/tagging/tagging-item.directive.d.ts +15 -0
- package/lib/core/tagging/tagging.component-base.d.ts +19 -0
- package/lib/core/tagging/tagging.directive.d.ts +34 -0
- package/lib/core/tagging/tagging.pipe.d.ts +24 -0
- package/lib/core/tagging/users.component.d.ts +15 -0
- package/lib/core/translate.service.d.ts +31 -0
- package/lib/core/translations.d.ts +1132 -0
- package/lib/core/window-title.service.d.ts +21 -0
- package/lib/cube/accum/accum.component.d.ts +63 -0
- package/lib/cube/chart/chart.component.d.ts +74 -0
- package/lib/cube/cube-info.service.d.ts +77 -0
- package/lib/cube/cube-menu.component.d.ts +12 -0
- package/lib/cube/cube-view.component.d.ts +31 -0
- package/lib/cube/cube.service.d.ts +268 -0
- package/lib/cube/declarations.d.ts +23 -0
- package/lib/cube/explore/document-item.component.d.ts +16 -0
- package/lib/cube/explore/explore-item.component.d.ts +14 -0
- package/lib/cube/explore/explore-items.component.d.ts +57 -0
- package/lib/cube/explore/explore.pane.component.d.ts +30 -0
- package/lib/cube/explore/item-resolver.service.d.ts +20 -0
- package/lib/cube/explore/item.pane.component.d.ts +13 -0
- package/lib/cube/filter/filter-tags.component.exp.d.ts +31 -0
- package/lib/cube/filter/filter.component.d.ts +44 -0
- package/lib/cube/grid/grid.component.d.ts +59 -0
- package/lib/cube/grid/spreadsheet.component.d.ts +62 -0
- package/lib/cube/matrix/matrix.base.d.ts +72 -0
- package/lib/cube/matrix/matrix.mobile.component.d.ts +22 -0
- package/lib/cube/matrix/matrix.pane.component.d.ts +36 -0
- package/lib/cube/matrix/popup.component.d.ts +21 -0
- package/lib/cube/matrix/table.component.d.ts +100 -0
- package/lib/cube/parallel/item.d.ts +13 -0
- package/lib/cube/parallel/parallel.component.d.ts +52 -0
- package/lib/cube/pivot/pivot.component.d.ts +103 -0
- package/lib/cube/sum/sum.component.d.ts +81 -0
- package/lib/cube/view-base.d.ts +39 -0
- package/lib/cube/view.mobile.component.d.ts +46 -0
- package/lib/cube/view.pane.component.d.ts +27 -0
- package/lib/dashboard/actions/actions.widget.d.ts +39 -0
- package/lib/dashboard/cube/accum-cube.widget.d.ts +33 -0
- package/lib/dashboard/cube/compare.widget.d.ts +53 -0
- package/lib/dashboard/cube/cube-analysis.base.d.ts +59 -0
- package/lib/dashboard/cube/cube-analysis.widget.d.ts +17 -0
- package/lib/dashboard/cube/cube-chart.widget.d.ts +32 -0
- package/lib/dashboard/cube/documents.widget.d.ts +30 -0
- package/lib/dashboard/cube/filter/filter.component.d.ts +22 -0
- package/lib/dashboard/dashboard.component.d.ts +24 -0
- package/lib/dashboard/dashboard.pane.component.d.ts +8 -0
- package/lib/dashboard/recents/recents.widget.d.ts +40 -0
- package/lib/dashboard/score/activity.widget.d.ts +50 -0
- package/lib/dashboard/score/compare-groups.widget.d.ts +51 -0
- package/lib/dashboard/score/peers-performance.widget.d.ts +65 -0
- package/lib/dashboard/score/pending-results.widget.d.ts +27 -0
- package/lib/dashboard/score/personal-score.widget.d.ts +57 -0
- package/lib/dashboard/widget-item.component.d.ts +33 -0
- package/lib/dashboard/widget-ref.d.ts +11 -0
- package/lib/desktop.module.d.ts +45 -0
- package/lib/home/about/about.dialog.d.ts +14 -0
- package/lib/home/home-base.component.d.ts +34 -0
- package/lib/home/home.desktop.component.d.ts +60 -0
- package/lib/home/home.mobile.component.d.ts +38 -0
- package/lib/home/notifications/notifications.component.d.ts +28 -0
- package/lib/home/options/options.component.d.ts +46 -0
- package/lib/home/outofoffice/outofoffice.component.d.ts +19 -0
- package/lib/home/search.service.d.ts +23 -0
- package/lib/home/sign/sign.component.d.ts +17 -0
- package/lib/home/tools.component.d.ts +36 -0
- package/lib/impersonate/impersonate.component.d.ts +27 -0
- package/lib/mobile.module.d.ts +25 -0
- package/lib/modules/chart.module.d.ts +7 -0
- package/lib/modules/circular-gauge.module.d.ts +7 -0
- package/lib/modules/date.adapter.d.ts +10 -0
- package/lib/modules/datepicker.intl.d.ts +30 -0
- package/lib/modules/dayjs.module.d.ts +6 -0
- package/lib/modules/diagram.module.d.ts +8 -0
- package/lib/modules/gantt.module.d.ts +7 -0
- package/lib/modules/grid.module.d.ts +7 -0
- package/lib/modules/material.module.d.ts +45 -0
- package/lib/modules/paginator.intl.d.ts +14 -0
- package/lib/modules/pivot.module.d.ts +7 -0
- package/lib/modules/schedule.module.d.ts +7 -0
- package/lib/modules/spreadsheet.module.d.ts +8 -0
- package/lib/modules/stepper.intl.d.ts +10 -0
- package/lib/modules/texteditor.module.d.ts +8 -0
- package/lib/notifications/filter.component.d.ts +9 -0
- package/lib/notifications/notifications-table.component.d.ts +32 -0
- package/lib/notifications/notifications.component-base.d.ts +12 -0
- package/lib/notifications/notifications.mobile.component.d.ts +8 -0
- package/lib/notifications/notifications.pane.component.d.ts +8 -0
- package/lib/notifications/notifications.service.d.ts +24 -0
- package/lib/notifications/types/commented.notification.d.ts +26 -0
- package/lib/notifications/types/cube-anomaly.notification.d.ts +29 -0
- package/lib/notifications/types/escalated.notification.d.ts +25 -0
- package/lib/notifications/types/liked.notification.d.ts +25 -0
- package/lib/notifications/types/long-running-task.notification.d.ts +21 -0
- package/lib/notifications/types/notification-base.d.ts +20 -0
- package/lib/notifications/types/nudge.notification.d.ts +23 -0
- package/lib/notifications/types/state-changed.notification.d.ts +22 -0
- package/lib/notifications/types/tagged.notification.d.ts +26 -0
- package/lib/notifications/types/text.notification.d.ts +13 -0
- package/lib/notifications/types/upcoming-event.notification.d.ts +20 -0
- package/lib/options/options.component.d.ts +67 -0
- package/lib/options/options.service.d.ts +14 -0
- package/lib/reports/arguments-component.d.ts +27 -0
- package/lib/reports/cube/documents.component.d.ts +34 -0
- package/lib/reports/cube/grid-documents.component.d.ts +28 -0
- package/lib/reports/cube/table-documents.component.d.ts +28 -0
- package/lib/reports/cube/usage-args.component.d.ts +21 -0
- package/lib/reports/cube/usage-base.d.ts +72 -0
- package/lib/reports/cube/usage-chart.component.d.ts +62 -0
- package/lib/reports/cube/usage-pivot.component.d.ts +66 -0
- package/lib/reports/cube/usage.component.d.ts +16 -0
- package/lib/reports/report-ref.d.ts +27 -0
- package/lib/reports/report-viewer.component.d.ts +47 -0
- package/lib/reports/report.mobile.component.d.ts +48 -0
- package/lib/reports/report.pane.component.d.ts +37 -0
- package/lib/reports/reports-menu.component.d.ts +12 -0
- package/lib/reports/substitution/substitution.component.d.ts +23 -0
- package/lib/reports/table/table-view.component.d.ts +19 -0
- package/lib/reports/tasks/tasks.component.d.ts +68 -0
- package/lib/routes.desktop.d.ts +2 -0
- package/lib/routes.mobile.d.ts +2 -0
- package/lib/scheduler/schedule.component.d.ts +43 -0
- package/lib/scheduler/scheduler.mobile.component.d.ts +14 -0
- package/lib/scheduler/scheduler.pane.component.d.ts +20 -0
- package/lib/shared.module.d.ts +192 -0
- package/lib/system.module.d.ts +34 -0
- package/lib/views/cube/chart.component.d.ts +39 -0
- package/lib/views/cube/cube-base.d.ts +46 -0
- package/lib/views/cube/explore.component.d.ts +43 -0
- package/lib/views/cube/matrix.component.d.ts +51 -0
- package/lib/views/cube/parallel.component.d.ts +32 -0
- package/lib/views/cube/pivot.component.d.ts +34 -0
- package/lib/views/cube/sum.component.d.ts +33 -0
- package/lib/views/cube/view.component.d.ts +40 -0
- package/lib/views/document-view-ref.d.ts +18 -0
- package/lib/views/timeline/timeline.component.exp.d.ts +66 -0
- package/lib/views/view-item.component.d.ts +28 -0
- package/lib/views/views.component.d.ts +18 -0
- package/lib/views/views.mobile.component.d.ts +10 -0
- package/lib/views/views.pane.component.d.ts +13 -0
- package/package.json +78 -78
- package/public-api.d.ts +146 -0
- package/LICENSE.md +0 -1
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -11
- package/src/icons/pdf.svg +0 -24
- package/src/icons/word.svg +0 -13
- package/src/lib/admin/_admin-theme.scss +0 -6
- package/src/lib/admin/admin-dismiss.service.ts +0 -24
- package/src/lib/admin/admin-menu.component.html +0 -18
- package/src/lib/admin/admin-menu.component.ts +0 -20
- package/src/lib/admin/core/ace.input.ts +0 -133
- package/src/lib/admin/core/color-picker.input.scss +0 -17
- package/src/lib/admin/core/color-picker.input.ts +0 -175
- package/src/lib/admin/core/search.input.ts +0 -32
- package/src/lib/admin/diff/_configuration-diff-theme.scss +0 -84
- package/src/lib/admin/diff/configuration-diff.component.html +0 -24
- package/src/lib/admin/diff/configuration-diff.component.scss +0 -16
- package/src/lib/admin/diff/configuration-diff.component.ts +0 -552
- package/src/lib/admin/document-trace/Timeline.ts +0 -45
- package/src/lib/admin/document-trace/_timeline-theme.scss +0 -70
- package/src/lib/admin/document-trace/document-trace.component.html +0 -96
- package/src/lib/admin/document-trace/document-trace.component.scss +0 -16
- package/src/lib/admin/document-trace/document-trace.component.ts +0 -526
- package/src/lib/admin/document-trace/reassign.dialog.html +0 -24
- package/src/lib/admin/document-trace/reassign.dialog.ts +0 -34
- package/src/lib/admin/document-trace/trace-element.component.html +0 -55
- package/src/lib/admin/document-trace/trace-element.component.scss +0 -23
- package/src/lib/admin/document-trace/trace-element.component.ts +0 -139
- package/src/lib/admin/form/form.resolve.service.ts +0 -13
- package/src/lib/admin/form/form.service.ts +0 -49
- package/src/lib/admin/form/workflow/node-ref.ts +0 -8
- package/src/lib/admin/form/workflow/node.component.html +0 -36
- package/src/lib/admin/form/workflow/node.component.scss +0 -4
- package/src/lib/admin/form/workflow/node.component.ts +0 -129
- package/src/lib/admin/form/workflow/role-node.component.html +0 -40
- package/src/lib/admin/form/workflow/role-node.component.ts +0 -66
- package/src/lib/admin/form/workflow/tools.component.exp.ts +0 -13
- package/src/lib/admin/form/workflow/tools.component.html +0 -1
- package/src/lib/admin/form/workflow/workflow.component.html +0 -66
- package/src/lib/admin/form/workflow/workflow.component.scss +0 -57
- package/src/lib/admin/form/workflow/workflow.component.ts +0 -438
- package/src/lib/admin/indices/manage-cube-index.component.html +0 -35
- package/src/lib/admin/indices/manage-cube-index.component.scss +0 -16
- package/src/lib/admin/indices/manage-cube-index.component.ts +0 -155
- package/src/lib/admin/patterns/patterns.component.html +0 -70
- package/src/lib/admin/patterns/patterns.component.ts +0 -166
- package/src/lib/admin/permissions/permissions.component.html +0 -21
- package/src/lib/admin/permissions/permissions.component.scss +0 -7
- package/src/lib/admin/permissions/permissions.component.ts +0 -89
- package/src/lib/admin/positions/positions-popup.component.html +0 -23
- package/src/lib/admin/positions/positions-popup.component.ts +0 -68
- package/src/lib/admin/positions/positions.component.html +0 -150
- package/src/lib/admin/positions/positions.component.scss +0 -20
- package/src/lib/admin/positions/positions.component.ts +0 -464
- package/src/lib/admin/profiler/assign.component.html +0 -14
- package/src/lib/admin/profiler/outofoffice.component.html +0 -64
- package/src/lib/admin/profiler/outofoffice.component.ts +0 -146
- package/src/lib/admin/profiler/profiler.component.html +0 -110
- package/src/lib/admin/profiler/profiler.component.scss +0 -23
- package/src/lib/admin/profiler/profiler.component.ts +0 -302
- package/src/lib/admin/utility-ref.ts +0 -44
- package/src/lib/admin/utility-wrapper.component.ts +0 -52
- package/src/lib/admin/utility.pane.component.ts +0 -49
- package/src/lib/app.component.ts +0 -90
- package/src/lib/bizdoc.module.ts +0 -82
- package/src/lib/browse/_browse-theme.scss +0 -86
- package/src/lib/browse/browse-items.component.html +0 -171
- package/src/lib/browse/browse-items.component.scss +0 -52
- package/src/lib/browse/browse-items.component.ts +0 -460
- package/src/lib/browse/browse.mobile.component.html +0 -33
- package/src/lib/browse/browse.mobile.component.ts +0 -90
- package/src/lib/browse/browse.pane.component.html +0 -43
- package/src/lib/browse/browse.pane.component.scss +0 -4
- package/src/lib/browse/browse.pane.component.ts +0 -141
- package/src/lib/browse/expanded-item/expanded-item.component.html +0 -38
- package/src/lib/browse/expanded-item/expanded-item.component.scss +0 -35
- package/src/lib/browse/expanded-item/expanded-item.component.ts +0 -339
- package/src/lib/browse/filter/filter.component.html +0 -50
- package/src/lib/browse/filter/filter.component.scss +0 -10
- package/src/lib/browse/filter/filter.component.ts +0 -156
- package/src/lib/browse/folders-menu.component.html +0 -20
- package/src/lib/browse/folders-menu.component.scss +0 -15
- package/src/lib/browse/folders-menu.component.ts +0 -42
- package/src/lib/chat/_chat-theme.scss +0 -95
- package/src/lib/chat/chat-info.ts +0 -74
- package/src/lib/chat/chat-pool.component.exp.ts +0 -117
- package/src/lib/chat/chat-pool.component.html +0 -13
- package/src/lib/chat/chat-pool.component.scss +0 -10
- package/src/lib/chat/chat.mobile.component.html +0 -6
- package/src/lib/chat/chat.mobile.component.scss +0 -8
- package/src/lib/chat/chat.mobile.component.ts +0 -18
- package/src/lib/chat/chat.service.ts +0 -128
- package/src/lib/chat/contacts.component.html +0 -37
- package/src/lib/chat/contacts.component.scss +0 -49
- package/src/lib/chat/contacts.component.ts +0 -88
- package/src/lib/chat/contacts.pane.component.ts +0 -25
- package/src/lib/chat/conversation.component.html +0 -28
- package/src/lib/chat/conversation.component.scss +0 -14
- package/src/lib/chat/conversation.component.ts +0 -186
- package/src/lib/chat/conversation.pane.component.ts +0 -55
- package/src/lib/compose/_compose-theme.scss +0 -63
- package/src/lib/compose/action/action-picker.component.html +0 -25
- package/src/lib/compose/action/action-picker.component.scss +0 -4
- package/src/lib/compose/action/action-picker.component.ts +0 -72
- package/src/lib/compose/action/action-ref.ts +0 -19
- package/src/lib/compose/action/action.base.ts +0 -58
- package/src/lib/compose/action/action.dialog.html +0 -17
- package/src/lib/compose/action/action.dialog.scss +0 -1
- package/src/lib/compose/action/action.dialog.ts +0 -57
- package/src/lib/compose/action/action.pane.dialog.exp.ts +0 -77
- package/src/lib/compose/action/action.pane.dialog.html +0 -12
- package/src/lib/compose/action/assign-action.component.html +0 -23
- package/src/lib/compose/action/assign-action.component.ts +0 -57
- package/src/lib/compose/action/moveto-action.component.html +0 -33
- package/src/lib/compose/action/moveto-action.component.ts +0 -77
- package/src/lib/compose/action/return-action.component.html +0 -13
- package/src/lib/compose/action/return-action.component.ts +0 -42
- package/src/lib/compose/attachments/attachments.component.html +0 -23
- package/src/lib/compose/attachments/attachments.component.scss +0 -21
- package/src/lib/compose/attachments/attachments.component.ts +0 -114
- package/src/lib/compose/attachments/preview/attachment-preview.component.html +0 -17
- package/src/lib/compose/attachments/preview/attachment-preview.component.scss +0 -36
- package/src/lib/compose/attachments/preview/attachment-preview.component.ts +0 -140
- package/src/lib/compose/attachments/progress-button.directive.ts +0 -18
- package/src/lib/compose/can-deactivate-changes.service.ts +0 -22
- package/src/lib/compose/comments/_comments-theme.scss +0 -82
- package/src/lib/compose/comments/comment.component.html +0 -36
- package/src/lib/compose/comments/comment.component.ts +0 -160
- package/src/lib/compose/comments/comments.component.html +0 -27
- package/src/lib/compose/comments/comments.component.scss +0 -33
- package/src/lib/compose/comments/comments.component.ts +0 -220
- package/src/lib/compose/comments/comments.pane.component.ts +0 -41
- package/src/lib/compose/comments/edit-comment.component.html +0 -3
- package/src/lib/compose/comments/edit-comment.component.ts +0 -35
- package/src/lib/compose/comments/edits.component.html +0 -7
- package/src/lib/compose/comments/edits.component.ts +0 -33
- package/src/lib/compose/comments/quick-comment.component.exp.ts +0 -60
- package/src/lib/compose/comments/quick-comment.component.html +0 -5
- package/src/lib/compose/comments/quick-comment.component.scss +0 -11
- package/src/lib/compose/comments/votes.component.html +0 -7
- package/src/lib/compose/comments/votes.component.ts +0 -38
- package/src/lib/compose/compose-resolve.service.ts +0 -42
- package/src/lib/compose/compose.mobile.component.html +0 -67
- package/src/lib/compose/compose.mobile.component.scss +0 -14
- package/src/lib/compose/compose.mobile.component.ts +0 -97
- package/src/lib/compose/compose.pane.component.html +0 -68
- package/src/lib/compose/compose.pane.component.scss +0 -6
- package/src/lib/compose/compose.pane.component.ts +0 -188
- package/src/lib/compose/copy/copy.dialog.html +0 -21
- package/src/lib/compose/copy/copy.dialog.ts +0 -40
- package/src/lib/compose/dismiss.service.ts +0 -26
- package/src/lib/compose/document-resolver.service.ts +0 -13
- package/src/lib/compose/document.component.html +0 -5
- package/src/lib/compose/document.component.ts +0 -41
- package/src/lib/compose/document.mobile.component.ts +0 -20
- package/src/lib/compose/document.pane.component.ts +0 -22
- package/src/lib/compose/events/events.component.html +0 -6
- package/src/lib/compose/events/events.component.ts +0 -21
- package/src/lib/compose/form-ref.ts +0 -53
- package/src/lib/compose/form-selector/form-selector.sheet.html +0 -10
- package/src/lib/compose/form-selector/form-selector.sheet.ts +0 -84
- package/src/lib/compose/form.component.html +0 -13
- package/src/lib/compose/form.component.ts +0 -456
- package/src/lib/compose/maps/maps.component.html +0 -3
- package/src/lib/compose/maps/maps.component.ts +0 -22
- package/src/lib/compose/new-menu.component.html +0 -13
- package/src/lib/compose/new-menu.component.scss +0 -11
- package/src/lib/compose/new-menu.component.ts +0 -106
- package/src/lib/compose/privilage.directive.ts +0 -43
- package/src/lib/compose/recipient-resolver.service.ts +0 -15
- package/src/lib/compose/save-changes.dialog.html +0 -13
- package/src/lib/compose/save-changes.dialog.ts +0 -10
- package/src/lib/compose/state.component.ts +0 -29
- package/src/lib/compose/tag/tags.component.html +0 -22
- package/src/lib/compose/tag/tags.component.scss +0 -1
- package/src/lib/compose/tag/tags.component.ts +0 -83
- package/src/lib/compose/trace/flow.component.html +0 -19
- package/src/lib/compose/trace/flow.component.scss +0 -7
- package/src/lib/compose/trace/flow.component.ts +0 -747
- package/src/lib/compose/trace/people.component.ts +0 -33
- package/src/lib/compose/trace/trace.base.ts +0 -72
- package/src/lib/compose/trace/trace.component.html +0 -57
- package/src/lib/compose/trace/trace.component.scss +0 -21
- package/src/lib/compose/trace/trace.component.ts +0 -388
- package/src/lib/compose/trace/trace.pane.component.html +0 -3
- package/src/lib/compose/trace/trace.pane.component.scss +0 -5
- package/src/lib/compose/trace/trace.pane.component.ts +0 -47
- package/src/lib/compose/version-compare/_compare-theme.scss +0 -147
- package/src/lib/compose/version-compare/version-compare.component.ts +0 -49
- package/src/lib/compose/version-compare/version-compare.directive.ts +0 -292
- package/src/lib/compose/version-compare/version.pane.component.html +0 -19
- package/src/lib/compose/version-compare/version.pane.component.scss +0 -8
- package/src/lib/compose/version-compare/version.pane.component.ts +0 -53
- package/src/lib/core/NgComponentOutlet.ts +0 -31
- package/src/lib/core/account.service.ts +0 -30
- package/src/lib/core/animated-icon/animated-icon.directive.html +0 -3
- package/src/lib/core/animated-icon/animated-icon.directive.scss +0 -12
- package/src/lib/core/animated-icon/animated-icon.directive.ts +0 -41
- package/src/lib/core/animations.ts +0 -207
- package/src/lib/core/authentication.ts +0 -7
- package/src/lib/core/avatar/_avatar-theme.scss +0 -60
- package/src/lib/core/avatar/avatar.component.html +0 -6
- package/src/lib/core/avatar/avatar.component.ts +0 -108
- package/src/lib/core/base.ts +0 -43
- package/src/lib/core/can-activate.service.exp.ts +0 -31
- package/src/lib/core/colors.ts +0 -322
- package/src/lib/core/component-factory-resolver.ts +0 -67
- package/src/lib/core/configuration.ts +0 -124
- package/src/lib/core/controls/_daterange-theme.scss +0 -16
- package/src/lib/core/controls/address.input.ts +0 -173
- package/src/lib/core/controls/auto-complete.input.ts +0 -218
- package/src/lib/core/controls/combination-picker-body.html +0 -34
- package/src/lib/core/controls/combination-picker-body.scss +0 -40
- package/src/lib/core/controls/combination-picker-body.ts +0 -194
- package/src/lib/core/controls/combination-picker.html +0 -6
- package/src/lib/core/controls/combination-picker.scss +0 -9
- package/src/lib/core/controls/combination-picker.ts +0 -243
- package/src/lib/core/controls/combination-pool.html +0 -10
- package/src/lib/core/controls/combination-pool.scss +0 -35
- package/src/lib/core/controls/combination-pool.ts +0 -92
- package/src/lib/core/controls/file.input.html +0 -50
- package/src/lib/core/controls/file.input.scss +0 -41
- package/src/lib/core/controls/file.input.ts +0 -400
- package/src/lib/core/controls/select.input.ts +0 -210
- package/src/lib/core/controls/time-picker.html +0 -4
- package/src/lib/core/controls/time-picker.ts +0 -199
- package/src/lib/core/controls/timespan.input.ts +0 -175
- package/src/lib/core/datasource.service.ts +0 -80
- package/src/lib/core/decorators.ts +0 -56
- package/src/lib/core/firebase.service.ts +0 -55
- package/src/lib/core/functions.ts +0 -246
- package/src/lib/core/guide/_guide-theme.scss +0 -197
- package/src/lib/core/guide/guide.component.html +0 -20
- package/src/lib/core/guide/guide.component.ts +0 -222
- package/src/lib/core/guide/guide.service.ts +0 -108
- package/src/lib/core/guide/help-tip.component.ts +0 -43
- package/src/lib/core/http.interceptor.ts +0 -80
- package/src/lib/core/hub.service.ts +0 -202
- package/src/lib/core/identity/identity.component.html +0 -2
- package/src/lib/core/identity/identity.component.ts +0 -57
- package/src/lib/core/info/attachment-info.service.ts +0 -46
- package/src/lib/core/info/document-info.service.ts +0 -15
- package/src/lib/core/info/location-info.component.scss +0 -13
- package/src/lib/core/info/location-info.component.ts +0 -64
- package/src/lib/core/info/map-info.ts +0 -33
- package/src/lib/core/layout/autocomplete.field.ts +0 -41
- package/src/lib/core/layout/checkbox.field.ts +0 -21
- package/src/lib/core/layout/checkbox.scss +0 -13
- package/src/lib/core/layout/checkbox.ts +0 -21
- package/src/lib/core/layout/date-range.field.ts +0 -32
- package/src/lib/core/layout/date.field.ts +0 -26
- package/src/lib/core/layout/expression.field.ts +0 -26
- package/src/lib/core/layout/file.field.ts +0 -27
- package/src/lib/core/layout/html.field.ts +0 -28
- package/src/lib/core/layout/input.base.ts +0 -12
- package/src/lib/core/layout/input.field.ts +0 -43
- package/src/lib/core/layout/layout.component.scss +0 -9
- package/src/lib/core/layout/layout.component.ts +0 -189
- package/src/lib/core/layout/numeric.field.ts +0 -24
- package/src/lib/core/layout/select.field.ts +0 -52
- package/src/lib/core/layout/switch.field.ts +0 -21
- package/src/lib/core/layout/textarea.field.ts +0 -21
- package/src/lib/core/layout/timespan.field.ts +0 -25
- package/src/lib/core/lottie-animation.ts +0 -37
- package/src/lib/core/mailbox.service.ts +0 -471
- package/src/lib/core/models.ts +0 -685
- package/src/lib/core/none.component.scss +0 -26
- package/src/lib/core/none.component.ts +0 -28
- package/src/lib/core/pipes/action.pipe.ts +0 -18
- package/src/lib/core/pipes/calendar.pipe.ts +0 -84
- package/src/lib/core/pipes/date-format.pipe.ts +0 -12
- package/src/lib/core/pipes/daterange.pipe.ts +0 -45
- package/src/lib/core/pipes/difference.pipe.ts +0 -9
- package/src/lib/core/pipes/duration-format.pipe.ts +0 -42
- package/src/lib/core/pipes/duration.pipe.ts +0 -13
- package/src/lib/core/pipes/form.pipe.ts +0 -19
- package/src/lib/core/pipes/join.pipe.ts +0 -10
- package/src/lib/core/pipes/role.pipe.ts +0 -19
- package/src/lib/core/pipes/sanitize-html.pipe.ts +0 -10
- package/src/lib/core/pipes/sort.pipe.ts +0 -34
- package/src/lib/core/pipes/state.pipe.ts +0 -19
- package/src/lib/core/pipes/time-ago.pipe.ts +0 -59
- package/src/lib/core/pipes/translate.pipe.ts +0 -22
- package/src/lib/core/pipes/type-value.pipe.ts +0 -37
- package/src/lib/core/pipes/user-name.pipe.ts +0 -14
- package/src/lib/core/popup/_popup-theme.scss +0 -363
- package/src/lib/core/popup/popup-ref.ts +0 -19
- package/src/lib/core/popup/popup.component.html +0 -6
- package/src/lib/core/popup/popup.component.ts +0 -40
- package/src/lib/core/popup/popup.service.ts +0 -156
- package/src/lib/core/popup/tooltip.directive.ts +0 -58
- package/src/lib/core/prompt/ask/ask.dialog.html +0 -6
- package/src/lib/core/prompt/ask/ask.dialog.ts +0 -35
- package/src/lib/core/prompt/mask/mask.component.html +0 -1
- package/src/lib/core/prompt/mask/mask.component.scss +0 -14
- package/src/lib/core/prompt/mask/mask.component.ts +0 -15
- package/src/lib/core/prompt.service.ts +0 -81
- package/src/lib/core/router.ts +0 -31
- package/src/lib/core/session.service.ts +0 -265
- package/src/lib/core/slots/_slots-theme.scss +0 -139
- package/src/lib/core/slots/extended-tab.component.exp.ts +0 -35
- package/src/lib/core/slots/extended-tab.component.html +0 -0
- package/src/lib/core/slots/intro.pane.component.exp.ts +0 -23
- package/src/lib/core/slots/intro.pane.component.html +0 -22
- package/src/lib/core/slots/intro.pane.component.scss +0 -8
- package/src/lib/core/slots/pane-ref.ts +0 -188
- package/src/lib/core/slots/router.directive.ts +0 -53
- package/src/lib/core/slots/router.service.ts +0 -53
- package/src/lib/core/slots/slot.component.exp.ts +0 -49
- package/src/lib/core/slots/slot.component.html +0 -15
- package/src/lib/core/slots/slot.component.scss +0 -18
- package/src/lib/core/slots/slots.component.html +0 -68
- package/src/lib/core/slots/slots.component.scss +0 -163
- package/src/lib/core/slots/slots.component.ts +0 -1260
- package/src/lib/core/tagging/documents.component.html +0 -11
- package/src/lib/core/tagging/documents.component.ts +0 -19
- package/src/lib/core/tagging/edit-input.component.html +0 -41
- package/src/lib/core/tagging/edit-input.component.scss +0 -21
- package/src/lib/core/tagging/edit-input.component.ts +0 -211
- package/src/lib/core/tagging/emoji.component.ts +0 -23
- package/src/lib/core/tagging/tagging-item.directive.ts +0 -34
- package/src/lib/core/tagging/tagging.component-base.ts +0 -29
- package/src/lib/core/tagging/tagging.component.scss +0 -22
- package/src/lib/core/tagging/tagging.directive.ts +0 -130
- package/src/lib/core/tagging/tagging.pipe.ts +0 -76
- package/src/lib/core/tagging/users.component.html +0 -13
- package/src/lib/core/tagging/users.component.ts +0 -28
- package/src/lib/core/translate.service.ts +0 -128
- package/src/lib/core/translations.ts +0 -1138
- package/src/lib/core/window-title.service.ts +0 -54
- package/src/lib/cube/accum/accum.component.html +0 -16
- package/src/lib/cube/accum/accum.component.ts +0 -264
- package/src/lib/cube/chart/chart.component.html +0 -32
- package/src/lib/cube/chart/chart.component.ts +0 -344
- package/src/lib/cube/cube-info.service.ts +0 -135
- package/src/lib/cube/cube-menu.component.html +0 -13
- package/src/lib/cube/cube-menu.component.ts +0 -18
- package/src/lib/cube/cube-view.component.html +0 -66
- package/src/lib/cube/cube-view.component.ts +0 -186
- package/src/lib/cube/cube.service.ts +0 -495
- package/src/lib/cube/declarations.ts +0 -24
- package/src/lib/cube/explore/document-item.component.ts +0 -28
- package/src/lib/cube/explore/explore-item.component.scss +0 -4
- package/src/lib/cube/explore/explore-item.component.ts +0 -23
- package/src/lib/cube/explore/explore-items.component.html +0 -25
- package/src/lib/cube/explore/explore-items.component.scss +0 -7
- package/src/lib/cube/explore/explore-items.component.ts +0 -185
- package/src/lib/cube/explore/explore.pane.component.html +0 -12
- package/src/lib/cube/explore/explore.pane.component.ts +0 -78
- package/src/lib/cube/explore/item-resolver.service.ts +0 -24
- package/src/lib/cube/explore/item.pane.component.html +0 -3
- package/src/lib/cube/explore/item.pane.component.ts +0 -23
- package/src/lib/cube/filter/filter-tags.component.exp.ts +0 -70
- package/src/lib/cube/filter/filter-tags.component.html +0 -11
- package/src/lib/cube/filter/filter-tags.component.scss +0 -0
- package/src/lib/cube/filter/filter-tags.component.spec.ts +0 -25
- package/src/lib/cube/filter/filter.component.html +0 -25
- package/src/lib/cube/filter/filter.component.scss +0 -8
- package/src/lib/cube/filter/filter.component.ts +0 -116
- package/src/lib/cube/grid/grid.component.html +0 -29
- package/src/lib/cube/grid/grid.component.scss +0 -10
- package/src/lib/cube/grid/grid.component.ts +0 -223
- package/src/lib/cube/grid/spreadsheet.component.ts +0 -382
- package/src/lib/cube/matrix/_matrix.theme.scss +0 -86
- package/src/lib/cube/matrix/matrix.base.ts +0 -149
- package/src/lib/cube/matrix/matrix.mobile.component.html +0 -28
- package/src/lib/cube/matrix/matrix.mobile.component.ts +0 -60
- package/src/lib/cube/matrix/matrix.pane.component.html +0 -34
- package/src/lib/cube/matrix/matrix.pane.component.scss +0 -10
- package/src/lib/cube/matrix/matrix.pane.component.ts +0 -83
- package/src/lib/cube/matrix/popup.component.html +0 -32
- package/src/lib/cube/matrix/popup.component.scss +0 -7
- package/src/lib/cube/matrix/popup.component.ts +0 -55
- package/src/lib/cube/matrix/table.component.html +0 -46
- package/src/lib/cube/matrix/table.component.scss +0 -25
- package/src/lib/cube/matrix/table.component.ts +0 -517
- package/src/lib/cube/parallel/item.ts +0 -47
- package/src/lib/cube/parallel/parallel.component.html +0 -22
- package/src/lib/cube/parallel/parallel.component.scss +0 -13
- package/src/lib/cube/parallel/parallel.component.ts +0 -166
- package/src/lib/cube/pivot/pivot.component.html +0 -14
- package/src/lib/cube/pivot/pivot.component.ts +0 -518
- package/src/lib/cube/sum/_sum.theme.scss +0 -63
- package/src/lib/cube/sum/sum.component.html +0 -60
- package/src/lib/cube/sum/sum.component.scss +0 -94
- package/src/lib/cube/sum/sum.component.ts +0 -437
- package/src/lib/cube/view-base.ts +0 -82
- package/src/lib/cube/view.mobile.component.html +0 -38
- package/src/lib/cube/view.mobile.component.scss +0 -9
- package/src/lib/cube/view.mobile.component.ts +0 -116
- package/src/lib/cube/view.pane.component.html +0 -24
- package/src/lib/cube/view.pane.component.scss +0 -12
- package/src/lib/cube/view.pane.component.ts +0 -80
- package/src/lib/dashboard/_table.widget.scss +0 -19
- package/src/lib/dashboard/actions/actions.widget.html +0 -6
- package/src/lib/dashboard/actions/actions.widget.ts +0 -118
- package/src/lib/dashboard/cube/accum-cube.widget.html +0 -15
- package/src/lib/dashboard/cube/accum-cube.widget.ts +0 -154
- package/src/lib/dashboard/cube/compare.widget.ts +0 -219
- package/src/lib/dashboard/cube/cube-analysis.base.ts +0 -113
- package/src/lib/dashboard/cube/cube-analysis.widget.ts +0 -44
- package/src/lib/dashboard/cube/cube-chart.widget.html +0 -7
- package/src/lib/dashboard/cube/cube-chart.widget.ts +0 -144
- package/src/lib/dashboard/cube/documents.widget.html +0 -19
- package/src/lib/dashboard/cube/documents.widget.ts +0 -57
- package/src/lib/dashboard/cube/filter/filter.component.html +0 -3
- package/src/lib/dashboard/cube/filter/filter.component.ts +0 -53
- package/src/lib/dashboard/cube/gauge.component.exp.ts +0 -18
- package/src/lib/dashboard/dashboard.component.html +0 -18
- package/src/lib/dashboard/dashboard.component.scss +0 -36
- package/src/lib/dashboard/dashboard.component.ts +0 -53
- package/src/lib/dashboard/dashboard.pane.component.ts +0 -19
- package/src/lib/dashboard/recents/recents.widget.html +0 -32
- package/src/lib/dashboard/recents/recents.widget.scss +0 -9
- package/src/lib/dashboard/recents/recents.widget.ts +0 -89
- package/src/lib/dashboard/score/activity.widget.html +0 -9
- package/src/lib/dashboard/score/activity.widget.ts +0 -175
- package/src/lib/dashboard/score/compare-groups.widget.html +0 -8
- package/src/lib/dashboard/score/compare-groups.widget.ts +0 -212
- package/src/lib/dashboard/score/peers-performance.widget.html +0 -23
- package/src/lib/dashboard/score/peers-performance.widget.ts +0 -254
- package/src/lib/dashboard/score/pending-results.widget.html +0 -31
- package/src/lib/dashboard/score/pending-results.widget.ts +0 -52
- package/src/lib/dashboard/score/personal-score.widget.html +0 -18
- package/src/lib/dashboard/score/personal-score.widget.ts +0 -229
- package/src/lib/dashboard/widget-item.component.ts +0 -92
- package/src/lib/dashboard/widget-ref.ts +0 -20
- package/src/lib/desktop.module.ts +0 -98
- package/src/lib/home/_home-theme.scss +0 -174
- package/src/lib/home/about/about.dialog.html +0 -19
- package/src/lib/home/about/about.dialog.ts +0 -18
- package/src/lib/home/home-base.component.ts +0 -100
- package/src/lib/home/home.desktop.component.html +0 -92
- package/src/lib/home/home.desktop.component.scss +0 -66
- package/src/lib/home/home.desktop.component.ts +0 -211
- package/src/lib/home/home.mobile.component.html +0 -81
- package/src/lib/home/home.mobile.component.scss +0 -49
- package/src/lib/home/home.mobile.component.ts +0 -105
- package/src/lib/home/notifications/notifications.component.html +0 -18
- package/src/lib/home/notifications/notifications.component.scss +0 -36
- package/src/lib/home/notifications/notifications.component.ts +0 -55
- package/src/lib/home/options/_options-theme.scss +0 -11
- package/src/lib/home/options/options.component.html +0 -41
- package/src/lib/home/options/options.component.scss +0 -16
- package/src/lib/home/options/options.component.ts +0 -95
- package/src/lib/home/outofoffice/outofoffice.component.html +0 -5
- package/src/lib/home/outofoffice/outofoffice.component.scss +0 -10
- package/src/lib/home/outofoffice/outofoffice.component.ts +0 -33
- package/src/lib/home/progress-bar.directive.exp.ts +0 -24
- package/src/lib/home/search.service.ts +0 -87
- package/src/lib/home/sign/sign.component.html +0 -15
- package/src/lib/home/sign/sign.component.ts +0 -42
- package/src/lib/home/submenu.directive.exp.ts +0 -43
- package/src/lib/home/tools.component.html +0 -27
- package/src/lib/home/tools.component.scss +0 -15
- package/src/lib/home/tools.component.ts +0 -72
- package/src/lib/home/welcome/welcome.dialog.exp.ts +0 -35
- package/src/lib/home/welcome/welcome.dialog.html +0 -14
- package/src/lib/impersonate/impersonate.component.html +0 -17
- package/src/lib/impersonate/impersonate.component.scss +0 -3
- package/src/lib/impersonate/impersonate.component.spec.ts +0 -24
- package/src/lib/impersonate/impersonate.component.ts +0 -60
- package/src/lib/mobile.module.ts +0 -39
- package/src/lib/modules/chart.module.ts +0 -53
- package/src/lib/modules/circular-gauge.module.ts +0 -10
- package/src/lib/modules/date.adapter.ts +0 -31
- package/src/lib/modules/datepicker.intl.ts +0 -35
- package/src/lib/modules/dayjs.module.ts +0 -32
- package/src/lib/modules/diagram.module.ts +0 -25
- package/src/lib/modules/gantt.module.ts +0 -12
- package/src/lib/modules/grid.module.ts +0 -16
- package/src/lib/modules/material.module.ts +0 -104
- package/src/lib/modules/paginator.intl.ts +0 -16
- package/src/lib/modules/pivot.module.ts +0 -23
- package/src/lib/modules/schedule.module.ts +0 -12
- package/src/lib/modules/spreadsheet.module.ts +0 -21
- package/src/lib/modules/stepper.intl.ts +0 -12
- package/src/lib/modules/texteditor.module.ts +0 -16
- package/src/lib/notifications/filter.component.html +0 -6
- package/src/lib/notifications/filter.component.ts +0 -16
- package/src/lib/notifications/notifications-table.component.html +0 -54
- package/src/lib/notifications/notifications-table.component.scss +0 -14
- package/src/lib/notifications/notifications-table.component.ts +0 -94
- package/src/lib/notifications/notifications.component-base.ts +0 -49
- package/src/lib/notifications/notifications.mobile.component.ts +0 -13
- package/src/lib/notifications/notifications.pane.component.ts +0 -16
- package/src/lib/notifications/notifications.service.ts +0 -66
- package/src/lib/notifications/types/commented.notification.html +0 -14
- package/src/lib/notifications/types/commented.notification.ts +0 -51
- package/src/lib/notifications/types/cube-anomaly.notification.ts +0 -51
- package/src/lib/notifications/types/escalated.notification.ts +0 -36
- package/src/lib/notifications/types/liked.notification.ts +0 -49
- package/src/lib/notifications/types/long-running-task.notification.ts +0 -23
- package/src/lib/notifications/types/notification-base.ts +0 -37
- package/src/lib/notifications/types/nudge.notification.ts +0 -32
- package/src/lib/notifications/types/state-changed.notification.ts +0 -27
- package/src/lib/notifications/types/tagged.notification.ts +0 -46
- package/src/lib/notifications/types/text.notification.ts +0 -13
- package/src/lib/notifications/types/upcoming-event.notification.ts +0 -25
- package/src/lib/options/options.component.html +0 -148
- package/src/lib/options/options.component.scss +0 -19
- package/src/lib/options/options.component.ts +0 -262
- package/src/lib/options/options.service.ts +0 -30
- package/src/lib/reports/arguments-component.ts +0 -73
- package/src/lib/reports/cube/documents.component.ts +0 -50
- package/src/lib/reports/cube/grid-documents.component.html +0 -25
- package/src/lib/reports/cube/grid-documents.component.ts +0 -67
- package/src/lib/reports/cube/table-documents.component.css +0 -18
- package/src/lib/reports/cube/table-documents.component.html +0 -30
- package/src/lib/reports/cube/table-documents.component.ts +0 -46
- package/src/lib/reports/cube/usage-args.component.html +0 -3
- package/src/lib/reports/cube/usage-args.component.ts +0 -55
- package/src/lib/reports/cube/usage-base.ts +0 -113
- package/src/lib/reports/cube/usage-browse.component.exp.ts +0 -93
- package/src/lib/reports/cube/usage-browse.component.html +0 -27
- package/src/lib/reports/cube/usage-browse.component.scss +0 -24
- package/src/lib/reports/cube/usage-chart.component.html +0 -11
- package/src/lib/reports/cube/usage-chart.component.ts +0 -386
- package/src/lib/reports/cube/usage-pivot.component.html +0 -19
- package/src/lib/reports/cube/usage-pivot.component.ts +0 -266
- package/src/lib/reports/cube/usage.component.ts +0 -34
- package/src/lib/reports/report-ref.ts +0 -41
- package/src/lib/reports/report-viewer.component.html +0 -2
- package/src/lib/reports/report-viewer.component.scss +0 -12
- package/src/lib/reports/report-viewer.component.ts +0 -159
- package/src/lib/reports/report.mobile.component.html +0 -17
- package/src/lib/reports/report.mobile.component.scss +0 -7
- package/src/lib/reports/report.mobile.component.ts +0 -117
- package/src/lib/reports/report.pane.component.html +0 -9
- package/src/lib/reports/report.pane.component.scss +0 -9
- package/src/lib/reports/report.pane.component.ts +0 -88
- package/src/lib/reports/reports-menu.component.html +0 -9
- package/src/lib/reports/reports-menu.component.ts +0 -20
- package/src/lib/reports/substitution/substitution.component.html +0 -26
- package/src/lib/reports/substitution/substitution.component.ts +0 -34
- package/src/lib/reports/table/table-view.component.html +0 -8
- package/src/lib/reports/table/table-view.component.scss +0 -0
- package/src/lib/reports/table/table-view.component.ts +0 -33
- package/src/lib/reports/tasks/tasks.component.html +0 -21
- package/src/lib/reports/tasks/tasks.component.ts +0 -115
- package/src/lib/reports/timeline/timeline.component.exp.ts +0 -225
- package/src/lib/reports/timeline/timeline.component.html +0 -9
- package/src/lib/routes.desktop.ts +0 -196
- package/src/lib/routes.mobile.ts +0 -70
- package/src/lib/scheduler/schedule.component.html +0 -36
- package/src/lib/scheduler/schedule.component.scss +0 -13
- package/src/lib/scheduler/schedule.component.ts +0 -158
- package/src/lib/scheduler/scheduler.mobile.component.ts +0 -30
- package/src/lib/scheduler/scheduler.pane.component.ts +0 -49
- package/src/lib/shared.module.ts +0 -374
- package/src/lib/system.module.ts +0 -77
- package/src/lib/views/_views.theme.scss +0 -18
- package/src/lib/views/cube/chart.component.html +0 -24
- package/src/lib/views/cube/chart.component.ts +0 -88
- package/src/lib/views/cube/cube-base.ts +0 -126
- package/src/lib/views/cube/explore.component.html +0 -33
- package/src/lib/views/cube/explore.component.ts +0 -82
- package/src/lib/views/cube/filter.component.exp.ts +0 -66
- package/src/lib/views/cube/filter.component.html +0 -25
- package/src/lib/views/cube/matrix.component.html +0 -42
- package/src/lib/views/cube/matrix.component.scss +0 -3
- package/src/lib/views/cube/matrix.component.ts +0 -106
- package/src/lib/views/cube/parallel.component.html +0 -10
- package/src/lib/views/cube/parallel.component.scss +0 -13
- package/src/lib/views/cube/parallel.component.ts +0 -63
- package/src/lib/views/cube/pivot.component.html +0 -8
- package/src/lib/views/cube/pivot.component.ts +0 -62
- package/src/lib/views/cube/sum.component.html +0 -30
- package/src/lib/views/cube/sum.component.scss +0 -3
- package/src/lib/views/cube/sum.component.ts +0 -71
- package/src/lib/views/cube/view.component.html +0 -34
- package/src/lib/views/cube/view.component.scss +0 -12
- package/src/lib/views/cube/view.component.ts +0 -103
- package/src/lib/views/document-view-ref.ts +0 -34
- package/src/lib/views/timeline/timeline.component.exp.ts +0 -333
- package/src/lib/views/timeline/timeline.component.html +0 -6
- package/src/lib/views/timeline/timeline.component.scss +0 -6
- package/src/lib/views/view-item.component.ts +0 -67
- package/src/lib/views/views.component.html +0 -4
- package/src/lib/views/views.component.scss +0 -33
- package/src/lib/views/views.component.ts +0 -29
- package/src/lib/views/views.mobile.component.ts +0 -19
- package/src/lib/views/views.pane.component.ts +0 -33
- package/src/polyfills.ts +0 -81
- package/src/public-api.ts +0 -149
- package/src/styles/_app.scss +0 -317
- package/src/styles/_emoji-mart.scss +0 -504
- package/src/styles/_syncfusion-base-definitions.scss +0 -63
- package/src/styles/_syncfusion-dark-definitions.scss +0 -21
- package/src/styles/_syncfusion-dark.scss +0 -2
- package/src/styles/_syncfusion-icons.scss +0 -57
- package/src/styles/_syncfusion-light-definitions.scss +0 -23
- package/src/styles/_syncfusion-light.scss +0 -2
- package/src/styles/_syncfusion.scss +0 -21
- package/src/styles/_xslt.scss +0 -377
- package/src/styles/brown.scss +0 -14
- package/src/styles/build-xslt.ps1 +0 -2
- package/src/styles/build.ps1 +0 -26
- package/src/styles/dark.scss +0 -13
- package/src/styles/deep-purple-light-blue.scss +0 -20
- package/src/styles/deep-purple-teal.scss +0 -20
- package/src/styles/default.scss +0 -21
- package/src/styles/diagram-icons.eot +0 -0
- package/src/styles/diagram-icons.ttf +0 -0
- package/src/styles/green.scss +0 -13
- package/src/styles/indigo.scss +0 -13
- package/src/styles/xslt.scss +0 -21
- package/src/styles/xslt.scss.map +0 -1
- package/src/test.ts +0 -26
- package/tsconfig.lib.json +0 -26
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -18
@@ -0,0 +1,186 @@
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ViewChild, Inject } from '@angular/core';
|
2
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
3
|
+
import { ESCAPE } from '@angular/cdk/keycodes';
|
4
|
+
import { forkJoin, merge, of } from 'rxjs';
|
5
|
+
import { filter } from 'rxjs/operators';
|
6
|
+
import { BIZDOC_CONFIG } from '../../core/configuration';
|
7
|
+
import { EditCommentComponent } from './edit-comment.component';
|
8
|
+
import { CommentEditsComponent } from './edits.component';
|
9
|
+
import { CommentLikesComponent } from './votes.component';
|
10
|
+
import * as i0 from "@angular/core";
|
11
|
+
import * as i1 from "../../core/session.service";
|
12
|
+
import * as i2 from "../../core/prompt.service";
|
13
|
+
import * as i3 from "../../core/translate.service";
|
14
|
+
import * as i4 from "../../chat/chat-info";
|
15
|
+
import * as i5 from "../../core/account.service";
|
16
|
+
import * as i6 from "../../core/popup/popup.service";
|
17
|
+
import * as i7 from "@angular/cdk/overlay";
|
18
|
+
import * as i8 from "../../core/mailbox.service";
|
19
|
+
import * as i9 from "@angular/material/button";
|
20
|
+
import * as i10 from "@angular/material/icon";
|
21
|
+
import * as i11 from "@angular/material/menu";
|
22
|
+
import * as i12 from "@angular/material/divider";
|
23
|
+
import * as i13 from "@angular/common";
|
24
|
+
import * as i14 from "@angular/flex-layout/flex";
|
25
|
+
import * as i15 from "../../core/popup/tooltip.directive";
|
26
|
+
import * as i16 from "@angular/cdk/bidi";
|
27
|
+
import * as i17 from "../../core/tagging/tagging.pipe";
|
28
|
+
import * as i18 from "../../core/pipes/translate.pipe";
|
29
|
+
import * as i19 from "../../core/pipes/sanitize-html.pipe";
|
30
|
+
import * as i20 from "../../core/pipes/calendar.pipe";
|
31
|
+
import * as i21 from "../../core/pipes/time-ago.pipe";
|
32
|
+
/** comment component*/
|
33
|
+
export class CommentComponent {
|
34
|
+
constructor(_session, _ps, _translate, _chat, _accounts, _popup, _overlay, _mailbox, _vc, _config) {
|
35
|
+
this._session = _session;
|
36
|
+
this._ps = _ps;
|
37
|
+
this._translate = _translate;
|
38
|
+
this._chat = _chat;
|
39
|
+
this._accounts = _accounts;
|
40
|
+
this._popup = _popup;
|
41
|
+
this._overlay = _overlay;
|
42
|
+
this._mailbox = _mailbox;
|
43
|
+
this._vc = _vc;
|
44
|
+
this._config = _config;
|
45
|
+
this.deleted = new EventEmitter();
|
46
|
+
this.reply = new EventEmitter();
|
47
|
+
this.name = '';
|
48
|
+
this.voting = !_config.comments || _config.comments.voting !== false;
|
49
|
+
}
|
50
|
+
ngOnInit() {
|
51
|
+
const me = this._session.userId, you = of('you');
|
52
|
+
this.me = (this.item.byId || this.item.userId) === me;
|
53
|
+
const whos = [this.item.userId === me ? you : this._accounts.get(this.item.userId)];
|
54
|
+
if (this.item.byId)
|
55
|
+
whos.push(this.item.byId === me ? you : this._accounts.get(this.item.byId));
|
56
|
+
if (this.item.parentId) {
|
57
|
+
const parent = this.model.comments.find(c => c.id == this.item.parentId), who = parent.byId || parent.userId;
|
58
|
+
whos.push(who == me ? you : this._accounts.get(who));
|
59
|
+
}
|
60
|
+
forkJoin(whos).subscribe(this._name.bind(this));
|
61
|
+
}
|
62
|
+
_name(us) {
|
63
|
+
if (us[0] === 'you')
|
64
|
+
this.name = this._translate.get('You');
|
65
|
+
else
|
66
|
+
this.name = this._formatUserElement(us[0]);
|
67
|
+
if (this.item.byId) {
|
68
|
+
if (us[1] === 'you')
|
69
|
+
this.name = this._translate.get('ByYou', this.name);
|
70
|
+
else
|
71
|
+
this.name = this._translate.get('By', this.name, this._formatUserElement(us[1]));
|
72
|
+
}
|
73
|
+
if (this.item.parentId) {
|
74
|
+
const who = us[2] || us[1];
|
75
|
+
if (who === 'you')
|
76
|
+
this.name = this._translate.get('ReplyingToYou', this.name);
|
77
|
+
else if (us[0] === 'you')
|
78
|
+
this.name = this._translate.get('YouRepliedTo', this._formatUserElement(who));
|
79
|
+
else
|
80
|
+
this.name = this._translate.get('ReplyingTo', this.name, this._formatUserElement(who));
|
81
|
+
}
|
82
|
+
}
|
83
|
+
_formatUserElement(person) {
|
84
|
+
if (this._config.chating !== false)
|
85
|
+
return this._chat.format(person);
|
86
|
+
else
|
87
|
+
return person.nick || person.name;
|
88
|
+
}
|
89
|
+
/**
|
90
|
+
* Chat
|
91
|
+
* @param e
|
92
|
+
*/
|
93
|
+
chat(e) {
|
94
|
+
const userId = e.srcElement.getAttribute('data-info');
|
95
|
+
userId &&
|
96
|
+
this._chat.open(userId);
|
97
|
+
}
|
98
|
+
vote(value, event) {
|
99
|
+
value = this.item.voted !== value ? value : 0;
|
100
|
+
this._mailbox.vote(this.model.documentId, this.item.id, value).subscribe(() => {
|
101
|
+
if (this.item.votes === undefined)
|
102
|
+
this.item.votes = value;
|
103
|
+
else if (value === 0)
|
104
|
+
this.item.votes -= this.item.voted;
|
105
|
+
else
|
106
|
+
this.item.votes += value - (this.item.voted || 0);
|
107
|
+
if (this.item.votes === 0)
|
108
|
+
this.item.votes = undefined;
|
109
|
+
this.item.voted = value !== 0 ? value : undefined;
|
110
|
+
});
|
111
|
+
event.stopPropagation();
|
112
|
+
}
|
113
|
+
edit() {
|
114
|
+
const { id, text, resource, image } = this.item;
|
115
|
+
this._open(EditCommentComponent, {
|
116
|
+
id, text, resource, image,
|
117
|
+
documentId: this.model.documentId
|
118
|
+
}).closed.subscribe(c => {
|
119
|
+
c &&
|
120
|
+
Object.assign(this.item, { image: null, text: null }, c);
|
121
|
+
});
|
122
|
+
}
|
123
|
+
_open(component, data) {
|
124
|
+
return this._popup.open(component, this.bodyElement, { position: 'start', data });
|
125
|
+
}
|
126
|
+
delete() {
|
127
|
+
this._ps.ask('DeleteCommentAsk', null, {
|
128
|
+
ok: 'Delete',
|
129
|
+
color: 'warn'
|
130
|
+
}).subscribe(ok => {
|
131
|
+
ok && this._mailbox.removecomment(this.item.id).subscribe(() => {
|
132
|
+
this.item.deleted = true;
|
133
|
+
this.deleted.emit();
|
134
|
+
}, () => this._ps.error());
|
135
|
+
});
|
136
|
+
}
|
137
|
+
edits() {
|
138
|
+
this._open(CommentEditsComponent, {
|
139
|
+
id: this.item.id,
|
140
|
+
byId: this.item.byId,
|
141
|
+
resource: this.item.resource,
|
142
|
+
documentId: this.model.documentId
|
143
|
+
});
|
144
|
+
}
|
145
|
+
preview() {
|
146
|
+
const oRef = this._overlay.create({
|
147
|
+
hasBackdrop: true,
|
148
|
+
disposeOnNavigation: true,
|
149
|
+
positionStrategy: this._overlay.position().global().centerHorizontally().centerVertically(),
|
150
|
+
});
|
151
|
+
oRef.attach(new TemplatePortal(this.previewTemplate, this._vc));
|
152
|
+
merge(oRef.keydownEvents().pipe(filter(k => k.keyCode === ESCAPE)), oRef.backdropClick()).subscribe(() => oRef.detach());
|
153
|
+
}
|
154
|
+
votes() {
|
155
|
+
this._open(CommentLikesComponent, {
|
156
|
+
id: this.item.id,
|
157
|
+
documentId: this.model.documentId
|
158
|
+
});
|
159
|
+
}
|
160
|
+
}
|
161
|
+
CommentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CommentComponent, deps: [{ token: i1.SessionService }, { token: i2.PromptService }, { token: i3.TranslateService }, { token: i4.ChatInfo }, { token: i5.AccountService }, { token: i6.Popup }, { token: i7.Overlay }, { token: i8.MailboxService }, { token: i0.ViewContainerRef }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
162
|
+
CommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: CommentComponent, selector: "bizdoc-comment", inputs: { model: "model", item: "item" }, outputs: { deleted: "deleted", reply: "reply" }, host: { classAttribute: "comment" }, viewQueries: [{ propertyName: "bodyElement", first: true, predicate: ["body"], descendants: true }, { propertyName: "previewTemplate", first: true, predicate: ["previewTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"comment-body\" #body>\r\n <div [innerHTML]=\"item.text|taggingHtml:item.resource\" class=\"comment-text\"></div>\r\n <img *ngIf=\"item.image\" [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview()\" />\r\n </div>\r\n <button mat-icon-button *ngIf=\"me\" [matMenuTriggerFor]=\"menu\" class=\"tool\" (click)=\"$event.stopPropagation()\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #menu>\r\n <ng-template matMenuContent>\r\n <button mat-menu-item (click)=\"edit()\">{{'Edit'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"delete()\">{{'Delete'|translate}}</button>\r\n </ng-template>\r\n </mat-menu>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"column\">\r\n <span [innerHTML]=\"name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <div>\r\n <small fxFlex bizdocTooltip=\"{{item.edited || item.time | amCalendar }}\">{{item.edited || item.time | amTimeAgo}}</small>\r\n <ng-container *ngIf=\"item.edited\">\r\n <a (click)=\"edits()\" class=\"modification\">{{'Edited'| translate}}</a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!me\">\r\n <a (click)=\"reply.emit()\" class=\"modification\">{{'Reply'| translate}}</a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"comment-actions\" *ngIf=\"voting\">\r\n <a *ngIf=\"item.votes > 0 || item.votes < 0\" [class.score-negative]=\"item.votes < 0\" class=\"comment-score\" dir=\"ltr\" (click)=\"votes()\" [bizdocTooltip]=\"'Votes'|translate\">{{item.votes}}</a>\r\n <button mat-icon-button (click)=\"vote(1, $event)\" [class.voted-true]=\"item.voted===1\" ><mat-icon>thumb_up_alt</mat-icon></button>\r\n <button mat-icon-button (click)=\"vote(-1, $event)\" [class.voted-false]=\"item.voted===-1\" ><mat-icon>thumb_down_alt</mat-icon></button>\r\n </div>\r\n</div>\r\n<ng-template #previewTemplate>\r\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\r\n</ng-template>\r\n", components: [{ type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i11.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i14.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i15.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i16.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }], pipes: { "taggingHtml": i17.TaggingPipe, "translate": i18.TranslatePipe, "sanitizeHtml": i19.SanitizeHtmlPipe, "amCalendar": i20.CalendarPipe, "amTimeAgo": i21.TimeAgoPipe } });
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CommentComponent, decorators: [{
|
164
|
+
type: Component,
|
165
|
+
args: [{ selector: 'bizdoc-comment', host: {
|
166
|
+
class: 'comment'
|
167
|
+
}, template: "<div class=\"row\">\r\n <div class=\"comment-body\" #body>\r\n <div [innerHTML]=\"item.text|taggingHtml:item.resource\" class=\"comment-text\"></div>\r\n <img *ngIf=\"item.image\" [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview()\" />\r\n </div>\r\n <button mat-icon-button *ngIf=\"me\" [matMenuTriggerFor]=\"menu\" class=\"tool\" (click)=\"$event.stopPropagation()\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #menu>\r\n <ng-template matMenuContent>\r\n <button mat-menu-item (click)=\"edit()\">{{'Edit'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"delete()\">{{'Delete'|translate}}</button>\r\n </ng-template>\r\n </mat-menu>\r\n</div>\r\n<div class=\"row\">\r\n <div class=\"column\">\r\n <span [innerHTML]=\"name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <div>\r\n <small fxFlex bizdocTooltip=\"{{item.edited || item.time | amCalendar }}\">{{item.edited || item.time | amTimeAgo}}</small>\r\n <ng-container *ngIf=\"item.edited\">\r\n <a (click)=\"edits()\" class=\"modification\">{{'Edited'| translate}}</a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!me\">\r\n <a (click)=\"reply.emit()\" class=\"modification\">{{'Reply'| translate}}</a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"comment-actions\" *ngIf=\"voting\">\r\n <a *ngIf=\"item.votes > 0 || item.votes < 0\" [class.score-negative]=\"item.votes < 0\" class=\"comment-score\" dir=\"ltr\" (click)=\"votes()\" [bizdocTooltip]=\"'Votes'|translate\">{{item.votes}}</a>\r\n <button mat-icon-button (click)=\"vote(1, $event)\" [class.voted-true]=\"item.voted===1\" ><mat-icon>thumb_up_alt</mat-icon></button>\r\n <button mat-icon-button (click)=\"vote(-1, $event)\" [class.voted-false]=\"item.voted===-1\" ><mat-icon>thumb_down_alt</mat-icon></button>\r\n </div>\r\n</div>\r\n<ng-template #previewTemplate>\r\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\r\n</ng-template>\r\n" }]
|
168
|
+
}], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.PromptService }, { type: i3.TranslateService }, { type: i4.ChatInfo }, { type: i5.AccountService }, { type: i6.Popup }, { type: i7.Overlay }, { type: i8.MailboxService }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
|
169
|
+
type: Inject,
|
170
|
+
args: [BIZDOC_CONFIG]
|
171
|
+
}] }]; }, propDecorators: { model: [{
|
172
|
+
type: Input
|
173
|
+
}], item: [{
|
174
|
+
type: Input
|
175
|
+
}], deleted: [{
|
176
|
+
type: Output
|
177
|
+
}], reply: [{
|
178
|
+
type: Output
|
179
|
+
}], bodyElement: [{
|
180
|
+
type: ViewChild,
|
181
|
+
args: ['body']
|
182
|
+
}], previewTemplate: [{
|
183
|
+
type: ViewChild,
|
184
|
+
args: ['previewTemplate']
|
185
|
+
}] } });
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvY29tbWVudHMvY29tbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvY29tbWVudHMvY29tbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBT3ZFLE9BQU8sRUFBZSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RSxPQUFPLEVBQW1CLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVzNFLHVCQUF1QjtBQUN2QixNQUFNLE9BQU8sZ0JBQWdCO0lBVTNCLFlBQ1UsUUFBd0IsRUFDeEIsR0FBa0IsRUFDbEIsVUFBNEIsRUFDNUIsS0FBZSxFQUNmLFNBQXlCLEVBQ3pCLE1BQWEsRUFDYixRQUFpQixFQUNqQixRQUF3QixFQUN4QixHQUFxQixFQUNFLE9BQXFCO1FB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LENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFO1lBQ2hDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtTQUNmLENBQUMsQ0FBQztJQUN4QixDQUFDOzs2R0FuSVUsZ0JBQWdCLDZRQW9CakIsYUFBYTtpR0FwQlosZ0JBQWdCLGdZQzNCN0IsdWhFQW9DQTsyRkRUYSxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0UsZ0JBQWdCLFFBRXBCO3dCQUNKLEtBQUssRUFBRSxTQUFTO3FCQUNqQjs7MEJBdUJFLE1BQU07MkJBQUMsYUFBYTs0Q0FuQmQsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFYSxPQUFPO3NCQUF6QixNQUFNO2dCQUNZLEtBQUs7c0JBQXZCLE1BQU07Z0JBQ1ksV0FBVztzQkFBN0IsU0FBUzt1QkFBQyxNQUFNO2dCQUNhLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSW5qZWN0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBDb21tZW50LCBEb2N1bWVudE1vZGVsLCBVc2VySW5mbyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tIFwiLi4vLi4vY29yZS9wb3B1cC9wb3B1cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENvbW1lbnREYXRhLCBFZGl0Q29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vZWRpdC1jb21tZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1lbnRFZGl0c0NvbXBvbmVudCwgQ29tbWVudFZlcnNpb25EYXRhIH0gZnJvbSAnLi9lZGl0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tZW50Vm90ZURhdGEsIENvbW1lbnRMaWtlc0NvbXBvbmVudCB9IGZyb20gJy4vdm90ZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXRJbmZvIH0gZnJvbSAnLi4vLi4vY2hhdC9jaGF0LWluZm8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY29tbWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnY29tbWVudCdcclxuICB9XHJcbn0pXHJcbi8qKiBjb21tZW50IGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBDb21tZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBtb2RlbCE6IERvY3VtZW50TW9kZWw8YW55PjtcclxuICBASW5wdXQoKSBpdGVtITogQ29tbWVudDtcclxuICB2b3Rpbmc6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGRlbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHJlcGx5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoJ2JvZHknKSBib2R5RWxlbWVudDogRWxlbWVudFJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdwcmV2aWV3VGVtcGxhdGUnKSBwcmV2aWV3VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgbmFtZTogc3RyaW5nID0gJyc7XHJcbiAgbWU6IGJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3BzOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhdDogQ2hhdEluZm8sXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wb3B1cDogUG9wdXAsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfbWFpbGJveDogTWFpbGJveFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHRoaXMudm90aW5nID0gIV9jb25maWcuY29tbWVudHMgfHwgX2NvbmZpZy5jb21tZW50cy52b3RpbmcgIT09IGZhbHNlO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG1lID0gdGhpcy5fc2Vzc2lvbi51c2VySWQsIHlvdSA9IG9mKCd5b3UnKTtcclxuICAgIHRoaXMubWUgPSAodGhpcy5pdGVtLmJ5SWQgfHwgdGhpcy5pdGVtLnVzZXJJZCkgPT09IG1lO1xyXG4gICAgY29uc3Qgd2hvczogW09ic2VydmFibGU8YW55Pl0gPSBbdGhpcy5pdGVtLnVzZXJJZCA9PT0gbWUgPyB5b3UgOiB0aGlzLl9hY2NvdW50cy5nZXQodGhpcy5pdGVtLnVzZXJJZCldO1xyXG4gICAgaWYgKHRoaXMuaXRlbS5ieUlkKVxyXG4gICAgICB3aG9zLnB1c2godGhpcy5pdGVtLmJ5SWQgPT09IG1lID8geW91IDogdGhpcy5fYWNjb3VudHMuZ2V0KHRoaXMuaXRlbS5ieUlkKSk7XHJcbiAgICBpZiAodGhpcy5pdGVtLnBhcmVudElkKSB7XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMubW9kZWwuY29tbWVudHMuZmluZChjID0+IGMuaWQgPT0gdGhpcy5pdGVtLnBhcmVudElkKSwgd2hvID0gcGFyZW50LmJ5SWQgfHwgcGFyZW50LnVzZXJJZDtcclxuICAgICAgd2hvcy5wdXNoKHdobyA9PSBtZSA/IHlvdSA6IHRoaXMuX2FjY291bnRzLmdldCh3aG8pKTtcclxuICAgIH1cclxuICAgIGZvcmtKb2luKHdob3MpLnN1YnNjcmliZSh0aGlzLl9uYW1lLmJpbmQodGhpcykpO1xyXG4gIH1cclxuICBwcml2YXRlIF9uYW1lKHVzOiBPYnNlcnZhYmxlPFVzZXJJbmZvIHwgJ3lvdSc+KSB7XHJcbiAgICBpZiAodXNbMF0gPT09ICd5b3UnKVxyXG4gICAgICB0aGlzLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZb3UnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5uYW1lID0gdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQodXNbMF0gYXMgVXNlckluZm8pO1xyXG4gICAgaWYgKHRoaXMuaXRlbS5ieUlkKSB7XHJcbiAgICAgIGlmICh1c1sxXSA9PT0gJ3lvdScpXHJcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQnlZb3UnLCB0aGlzLm5hbWUpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQnknLCB0aGlzLm5hbWUsIHRoaXMuX2Zvcm1hdFVzZXJFbGVtZW50KHVzWzFdIGFzIFVzZXJJbmZvKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pdGVtLnBhcmVudElkKSB7XHJcbiAgICAgIGNvbnN0IHdobyA9IHVzWzJdIHx8IHVzWzFdO1xyXG4gICAgICBpZiAod2hvID09PSAneW91JylcclxuICAgICAgICB0aGlzLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdSZXBseWluZ1RvWW91JywgdGhpcy5uYW1lKTtcclxuICAgICAgZWxzZSBpZiAodXNbMF0gPT09ICd5b3UnKVxyXG4gICAgICAgIHRoaXMubmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1lvdVJlcGxpZWRUbycsIHRoaXMuX2Zvcm1hdFVzZXJFbGVtZW50KHdobyBhcyBVc2VySW5mbykpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnUmVwbHlpbmdUbycsIHRoaXMubmFtZSwgdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQod2hvIGFzIFVzZXJJbmZvKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2Zvcm1hdFVzZXJFbGVtZW50KHBlcnNvbjogVXNlckluZm8pIHtcclxuICAgIGlmICh0aGlzLl9jb25maWcuY2hhdGluZyAhPT0gZmFsc2UpXHJcbiAgICAgIHJldHVybiB0aGlzLl9jaGF0LmZvcm1hdChwZXJzb24pO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gcGVyc29uLm5pY2sgfHwgcGVyc29uLm5hbWU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENoYXRcclxuICAgKiBAcGFyYW0gZVxyXG4gICAqL1xyXG4gIGNoYXQoZTogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgdXNlcklkID0gKGUuc3JjRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZ2V0QXR0cmlidXRlKCdkYXRhLWluZm8nKTtcclxuICAgIHVzZXJJZCAmJlxyXG4gICAgICB0aGlzLl9jaGF0Lm9wZW4odXNlcklkKTtcclxuICB9XHJcbiAgdm90ZSh2YWx1ZTogbnVtYmVyLCBldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgdmFsdWUgPSB0aGlzLml0ZW0udm90ZWQgIT09IHZhbHVlID8gdmFsdWUgOiAwO1xyXG4gICAgdGhpcy5fbWFpbGJveC52b3RlKHRoaXMubW9kZWwuZG9jdW1lbnRJZCwgdGhpcy5pdGVtLmlkLCB2YWx1ZSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaXRlbS52b3RlcyA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRoaXMuaXRlbS52b3RlcyA9IHZhbHVlO1xyXG4gICAgICBlbHNlIGlmICh2YWx1ZSA9PT0gMClcclxuICAgICAgICB0aGlzLml0ZW0udm90ZXMgLT0gdGhpcy5pdGVtLnZvdGVkO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5pdGVtLnZvdGVzICs9IHZhbHVlIC0gKHRoaXMuaXRlbS52b3RlZCB8fCAwKTtcclxuICAgICAgaWYgKHRoaXMuaXRlbS52b3RlcyA9PT0gMCkgdGhpcy5pdGVtLnZvdGVzID0gdW5kZWZpbmVkO1xyXG4gICAgICB0aGlzLml0ZW0udm90ZWQgPSB2YWx1ZSAhPT0gMCA/IHZhbHVlIDogdW5kZWZpbmVkO1xyXG4gICAgfSk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgZWRpdCgpIHtcclxuICAgIGNvbnN0IHsgaWQsIHRleHQsIHJlc291cmNlLCBpbWFnZSB9ID0gdGhpcy5pdGVtO1xyXG4gICAgdGhpcy5fb3BlbihFZGl0Q29tbWVudENvbXBvbmVudCwge1xyXG4gICAgICBpZCwgdGV4dCwgcmVzb3VyY2UsIGltYWdlLFxyXG4gICAgICBkb2N1bWVudElkOiB0aGlzLm1vZGVsLmRvY3VtZW50SWRcclxuICAgIH0gYXMgQ29tbWVudERhdGEpLmNsb3NlZC5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgIGMgJiZcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuaXRlbSwgeyBpbWFnZTogbnVsbCwgdGV4dDogbnVsbCB9LCBjKVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX29wZW4oY29tcG9uZW50LCBkYXRhKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcG9wdXAub3Blbihjb21wb25lbnQsIHRoaXMuYm9keUVsZW1lbnQsIHsgcG9zaXRpb246ICdzdGFydCcsIGRhdGEgfSk7XHJcbiAgfVxyXG4gIGRlbGV0ZSgpIHtcclxuICAgIHRoaXMuX3BzLmFzaygnRGVsZXRlQ29tbWVudEFzaycsIG51bGwsIHtcclxuICAgICAgb2s6ICdEZWxldGUnLFxyXG4gICAgICBjb2xvcjogJ3dhcm4nXHJcbiAgICB9KS5zdWJzY3JpYmUob2sgPT4ge1xyXG4gICAgICBvayAmJiB0aGlzLl9tYWlsYm94LnJlbW92ZWNvbW1lbnQodGhpcy5pdGVtLmlkKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbS5kZWxldGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRlbGV0ZWQuZW1pdCgpO1xyXG4gICAgICB9LCAoKSA9PiB0aGlzLl9wcy5lcnJvcigpKTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGVkaXRzKCkge1xyXG4gICAgdGhpcy5fb3BlbihDb21tZW50RWRpdHNDb21wb25lbnQsIHtcclxuICAgICAgaWQ6IHRoaXMuaXRlbS5pZCxcclxuICAgICAgYnlJZDogdGhpcy5pdGVtLmJ5SWQsXHJcbiAgICAgIHJlc291cmNlOiB0aGlzLml0ZW0ucmVzb3VyY2UsXHJcbiAgICAgIGRvY3VtZW50SWQ6IHRoaXMubW9kZWwuZG9jdW1lbnRJZFxyXG4gICAgfSBhcyBDb21tZW50VmVyc2lvbkRhdGEpO1xyXG4gIH1cclxuICBwcmV2aWV3KCkge1xyXG4gICAgY29uc3Qgb1JlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCksXHJcbiAgICB9KTtcclxuICAgIG9SZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnByZXZpZXdUZW1wbGF0ZSwgdGhpcy5fdmMpKTtcclxuICAgIG1lcmdlKG9SZWYua2V5ZG93bkV2ZW50cygpLnBpcGUoZmlsdGVyKGsgPT4gay5rZXlDb2RlID09PSBFU0NBUEUpKSwgb1JlZi5iYWNrZHJvcENsaWNrKCkpLnN1YnNjcmliZSgoKSA9PiBvUmVmLmRldGFjaCgpKTtcclxuICB9XHJcbiAgdm90ZXMoKSB7XHJcbiAgICB0aGlzLl9vcGVuKENvbW1lbnRMaWtlc0NvbXBvbmVudCwge1xyXG4gICAgICBpZDogdGhpcy5pdGVtLmlkLFxyXG4gICAgICBkb2N1bWVudElkOiB0aGlzLm1vZGVsLmRvY3VtZW50SWRcclxuICAgIH0gYXMgQ29tbWVudFZvdGVEYXRhKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb21tZW50LWJvZHlcIiAjYm9keT5cclxuICAgIDxkaXYgW2lubmVySFRNTF09XCJpdGVtLnRleHR8dGFnZ2luZ0h0bWw6aXRlbS5yZXNvdXJjZVwiIGNsYXNzPVwiY29tbWVudC10ZXh0XCI+PC9kaXY+XHJcbiAgICA8aW1nICpuZ0lmPVwiaXRlbS5pbWFnZVwiIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnK2l0ZW0uaW1hZ2VcIiBhbHQ9XCJcIiAoY2xpY2spPVwicHJldmlldygpXCIgLz5cclxuICA8L2Rpdj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cIm1lXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBjbGFzcz1cInRvb2xcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+PG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNtZW51PlxyXG4gICAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50PlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImVkaXQoKVwiPnt7J0VkaXQnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRlbGV0ZSgpXCI+e3snRGVsZXRlJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L21hdC1tZW51PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibmFtZSB8IHNhbml0aXplSHRtbFwiIChjbGljayk9XCJjaGF0KCRldmVudClcIj48L3NwYW4+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8c21hbGwgZnhGbGV4IGJpemRvY1Rvb2x0aXA9XCJ7e2l0ZW0uZWRpdGVkIHx8IGl0ZW0udGltZSB8IGFtQ2FsZW5kYXIgfX1cIj57e2l0ZW0uZWRpdGVkIHx8IGl0ZW0udGltZSB8IGFtVGltZUFnb319PC9zbWFsbD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZWRpdGVkXCI+XHJcbiAgICAgICAgJm5ic3A7PGEgKGNsaWNrKT1cImVkaXRzKClcIiBjbGFzcz1cIm1vZGlmaWNhdGlvblwiPnt7J0VkaXRlZCd8IHRyYW5zbGF0ZX19PC9hPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtZVwiPlxyXG4gICAgICAgICZuYnNwOzxhIChjbGljayk9XCJyZXBseS5lbWl0KClcIiBjbGFzcz1cIm1vZGlmaWNhdGlvblwiPnt7J1JlcGx5J3wgdHJhbnNsYXRlfX08L2E+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbW1lbnQtYWN0aW9uc1wiICpuZ0lmPVwidm90aW5nXCI+XHJcbiAgICA8YSAqbmdJZj1cIml0ZW0udm90ZXMgPiAwIHx8IGl0ZW0udm90ZXMgPCAwXCIgW2NsYXNzLnNjb3JlLW5lZ2F0aXZlXT1cIml0ZW0udm90ZXMgPCAwXCIgY2xhc3M9XCJjb21tZW50LXNjb3JlXCIgZGlyPVwibHRyXCIgKGNsaWNrKT1cInZvdGVzKClcIiBbYml6ZG9jVG9vbHRpcF09XCInVm90ZXMnfHRyYW5zbGF0ZVwiPnt7aXRlbS52b3Rlc319PC9hPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInZvdGUoMSwgJGV2ZW50KVwiIFtjbGFzcy52b3RlZC10cnVlXT1cIml0ZW0udm90ZWQ9PT0xXCIgPjxtYXQtaWNvbj50aHVtYl91cF9hbHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInZvdGUoLTEsICRldmVudClcIiBbY2xhc3Mudm90ZWQtZmFsc2VdPVwiaXRlbS52b3RlZD09PS0xXCIgPjxtYXQtaWNvbj50aHVtYl9kb3duX2FsdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI3ByZXZpZXdUZW1wbGF0ZT5cclxuICA8aW1nIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnK2l0ZW0uaW1hZ2VcIiBhbHQ9XCJcIiAvPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
@@ -0,0 +1,227 @@
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, Inject } from '@angular/core';
|
2
|
+
import { Subject } from 'rxjs';
|
3
|
+
import { takeUntil, debounceTime, filter } from 'rxjs/operators';
|
4
|
+
import { BIZDOC_CONFIG } from '../../core/configuration';
|
5
|
+
import { EditInputComponent } from '../../core/tagging/edit-input.component';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "../../core/account.service";
|
8
|
+
import * as i2 from "../../core/session.service";
|
9
|
+
import * as i3 from "../../core/prompt.service";
|
10
|
+
import * as i4 from "../../core/translate.service";
|
11
|
+
import * as i5 from "../../chat/chat-info";
|
12
|
+
import * as i6 from "../../core/mailbox.service";
|
13
|
+
import * as i7 from "../../core/hub.service";
|
14
|
+
import * as i8 from "../../core/none.component";
|
15
|
+
import * as i9 from "./comment.component";
|
16
|
+
import * as i10 from "../../core/tagging/edit-input.component";
|
17
|
+
import * as i11 from "@angular/common";
|
18
|
+
import * as i12 from "@angular/flex-layout/flex";
|
19
|
+
import * as i13 from "../../core/pipes/translate.pipe";
|
20
|
+
import * as i14 from "../../core/pipes/sanitize-html.pipe";
|
21
|
+
export const TYPING_NOTIFY = 500, TYPING_MESSAGE_TIME = 1500;
|
22
|
+
/** comments component*/
|
23
|
+
export class CommentsComponent {
|
24
|
+
/** comments ctor */
|
25
|
+
constructor(_accounts, _session, _sb, _translate, _chat, _mailbox, _messaging, _config) {
|
26
|
+
this._accounts = _accounts;
|
27
|
+
this._session = _session;
|
28
|
+
this._sb = _sb;
|
29
|
+
this._translate = _translate;
|
30
|
+
this._chat = _chat;
|
31
|
+
this._mailbox = _mailbox;
|
32
|
+
this._messaging = _messaging;
|
33
|
+
this._config = _config;
|
34
|
+
this.change = new EventEmitter();
|
35
|
+
this.sending = false;
|
36
|
+
this.showDeleted = false;
|
37
|
+
this._inFocus = false;
|
38
|
+
this._top = false;
|
39
|
+
this._textChange = new Subject();
|
40
|
+
this._destroy = new Subject();
|
41
|
+
this.trackBy = (_, item) => item.id;
|
42
|
+
this._preserveDraft = _config.comments && _config.comments.preserveDraft;
|
43
|
+
}
|
44
|
+
ngOnInit() {
|
45
|
+
this._messaging.comment$.pipe(takeUntil(this._destroy), filter(e => (e.id === this.model.documentId))).subscribe(e => {
|
46
|
+
if (!this.model.comments.find(c => c.id === e.model.id)) {
|
47
|
+
this.model.comments.push(e.model);
|
48
|
+
if (this._inFocus)
|
49
|
+
this._viewed();
|
50
|
+
this.change.emit();
|
51
|
+
}
|
52
|
+
});
|
53
|
+
this._messaging.commentTyping$.pipe(takeUntil(this._destroy), filter(e => e.id === this.model.documentId)).
|
54
|
+
subscribe(e => {
|
55
|
+
this._accounts.get(e.userId).subscribe(u => {
|
56
|
+
this.typing = u.name;
|
57
|
+
clearTimeout(this._typingTask);
|
58
|
+
this._typingTask = setTimeout(() => this.typing = null, TYPING_MESSAGE_TIME);
|
59
|
+
});
|
60
|
+
});
|
61
|
+
this._messaging.vote$.pipe(takeUntil(this._destroy), filter(e => e.id === this.model.documentId)).subscribe(e => {
|
62
|
+
const comment = this.model.comments.find(c => c.id === e.commentId);
|
63
|
+
comment && (comment.votes = e.votes);
|
64
|
+
});
|
65
|
+
this._messaging.commentUpdate$.pipe(takeUntil(this._destroy), filter(e => e.id === this.model.documentId)).subscribe(e => {
|
66
|
+
const comment = this.model.comments.find(c => c.id === e.model.id);
|
67
|
+
Object.assign(comment, e.model);
|
68
|
+
});
|
69
|
+
this._messaging.commentDelete$.pipe(takeUntil(this._destroy), filter(e => e.id === this.model.documentId)).subscribe(e => {
|
70
|
+
const comment = this.model.comments.find(c => c.id === e.id);
|
71
|
+
comment.deleted = true;
|
72
|
+
this.change.emit();
|
73
|
+
});
|
74
|
+
this._textChange.pipe(debounceTime(TYPING_NOTIFY), takeUntil(this._destroy)).subscribe(() => this._mailbox.typing(this.model.documentId));
|
75
|
+
}
|
76
|
+
_formatUserElement(person) {
|
77
|
+
if (this._config.chating !== false)
|
78
|
+
return this._chat.format(person);
|
79
|
+
else
|
80
|
+
return person.nick || person.name;
|
81
|
+
}
|
82
|
+
/**
|
83
|
+
* Chat
|
84
|
+
* @param e
|
85
|
+
*/
|
86
|
+
chat(e) {
|
87
|
+
const userId = e.srcElement.getAttribute('data-info');
|
88
|
+
userId &&
|
89
|
+
this._chat.open(userId);
|
90
|
+
}
|
91
|
+
ngOnChanges(changes) {
|
92
|
+
const change = changes['model'];
|
93
|
+
if (this._preserveDraft) {
|
94
|
+
!change.firstChange && this._persist(change.previousValue.documentId.toString());
|
95
|
+
const text = localStorage.getItem(this.model.documentId.toString());
|
96
|
+
if (text)
|
97
|
+
this.input.text = text;
|
98
|
+
}
|
99
|
+
this._scrollToBottom();
|
100
|
+
}
|
101
|
+
get unreadComments() {
|
102
|
+
if (!this.model.viewed)
|
103
|
+
return this.model.comments.length;
|
104
|
+
const me = this._session.userId;
|
105
|
+
let n = 0;
|
106
|
+
for (let i = this.model.comments.length; i > 0; i--) {
|
107
|
+
let comment = this.model.comments[i - 1];
|
108
|
+
if ((comment.byId || comment.userId) === me)
|
109
|
+
break;
|
110
|
+
if (!comment.deleted && comment.time > this.model.viewed)
|
111
|
+
n++;
|
112
|
+
}
|
113
|
+
return n;
|
114
|
+
}
|
115
|
+
deleted(item) {
|
116
|
+
}
|
117
|
+
reply(item) {
|
118
|
+
this._replyTo = item;
|
119
|
+
this._accounts.get(item.byId || item.userId).
|
120
|
+
subscribe(u => this.replyName = this._translate.get('ReplyTo', this._formatUserElement(u)));
|
121
|
+
this.input.focus();
|
122
|
+
}
|
123
|
+
clearReply() {
|
124
|
+
this._replyTo = null;
|
125
|
+
this.replyName = null;
|
126
|
+
}
|
127
|
+
ngAfterViewInit() {
|
128
|
+
const { comments } = this.model;
|
129
|
+
if (!comments.length)
|
130
|
+
this.focus();
|
131
|
+
else {
|
132
|
+
const comment = comments[comments.length - 1];
|
133
|
+
if ((comment.byId || comment.userId) === this._session.userId)
|
134
|
+
this.focus();
|
135
|
+
}
|
136
|
+
this._scrollToBottom();
|
137
|
+
}
|
138
|
+
focus() {
|
139
|
+
this.input.focus();
|
140
|
+
}
|
141
|
+
onScroll(evt) {
|
142
|
+
if (evt.target.scrollTop === 0 && this.model.comments.length && !this._top) {
|
143
|
+
const time = this.model.comments.sort((c0, c1) => c0.time > c1.time ? 1 : -1)[0].time;
|
144
|
+
this._mailbox.comments(this.model.documentId, time).subscribe(cs => {
|
145
|
+
if (cs.length === 0)
|
146
|
+
this._top = true;
|
147
|
+
else {
|
148
|
+
this.model.comments = cs.reverse().concat(this.model.comments);
|
149
|
+
setTimeout(() => this._scrollToBottom());
|
150
|
+
}
|
151
|
+
});
|
152
|
+
}
|
153
|
+
}
|
154
|
+
_scrollToBottom() {
|
155
|
+
try {
|
156
|
+
this.threadElement.nativeElement.scrollTop = this.threadElement.nativeElement.scrollHeight;
|
157
|
+
}
|
158
|
+
catch (e) {
|
159
|
+
console.error(e);
|
160
|
+
}
|
161
|
+
}
|
162
|
+
onFocus() {
|
163
|
+
this._inFocus = true;
|
164
|
+
this._viewed();
|
165
|
+
}
|
166
|
+
onBlur() {
|
167
|
+
this._inFocus = false;
|
168
|
+
}
|
169
|
+
_viewed() {
|
170
|
+
const { viewed, comments, documentId } = this.model;
|
171
|
+
comments.length && (!viewed || comments.findIndex(c => c.time > viewed) > -1) &&
|
172
|
+
this._mailbox.viewedcomments(documentId).subscribe(e => {
|
173
|
+
this.model.viewed = e.time;
|
174
|
+
this.change.emit();
|
175
|
+
});
|
176
|
+
}
|
177
|
+
post(evt) {
|
178
|
+
this.sending = true;
|
179
|
+
const options = { ...evt };
|
180
|
+
if (this._replyTo)
|
181
|
+
options.parentId = this._replyTo.id;
|
182
|
+
this._mailbox.comment(this.model.documentId, options).subscribe(c => {
|
183
|
+
this.model.comments.push(c);
|
184
|
+
this.input.clear();
|
185
|
+
this.model.viewed = c.time;
|
186
|
+
this.change.emit();
|
187
|
+
setTimeout(() => this._scrollToBottom());
|
188
|
+
this.sending = false;
|
189
|
+
}, () => {
|
190
|
+
this._sb.error();
|
191
|
+
this.sending = false;
|
192
|
+
});
|
193
|
+
}
|
194
|
+
ngOnDestroy() {
|
195
|
+
if (this._typingTask)
|
196
|
+
clearTimeout(this._typingTask);
|
197
|
+
this._destroy.next();
|
198
|
+
this._destroy.complete();
|
199
|
+
this._preserveDraft && this._persist(this.model.documentId.toString());
|
200
|
+
}
|
201
|
+
_persist(id) {
|
202
|
+
this.input.text && this.input.text.length &&
|
203
|
+
window.localStorage.setItem(id, this.input.text);
|
204
|
+
}
|
205
|
+
}
|
206
|
+
CommentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CommentsComponent, deps: [{ token: i1.AccountService }, { token: i2.SessionService }, { token: i3.PromptService }, { token: i4.TranslateService }, { token: i5.ChatInfo }, { token: i6.MailboxService }, { token: i7.HubService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
207
|
+
CommentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: CommentsComponent, selector: "bizdoc-comments", inputs: { model: "model" }, outputs: { change: "change" }, host: { classAttribute: "comments" }, viewQueries: [{ propertyName: "threadElement", first: true, predicate: ["thread"], descendants: true, read: ElementRef, static: true }, { propertyName: "input", first: true, predicate: EditInputComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<bizdoc-none *ngIf=\"!model.comments.length\" icon=\"format_quote\"></bizdoc-none>\r\n\r\n<div fxLayout=\"column\" #thread (scroll)=\"onScroll($event)\" class=\"comments-thread\">\r\n <ng-container role=\"listitem\" *ngFor=\"let c of model.comments; trackBy: trackBy\">\r\n <bizdoc-comment *ngIf=\"!c.deleted || showDeleted; else deletedMsg\"\r\n [model]=\"model\"\r\n [item]=\"c\"\r\n (reply)=\"reply(c)\"\r\n (deleted)=\"deleted(c)\">\r\n </bizdoc-comment>\r\n </ng-container>\r\n</div>\r\n\r\n<div class=\"comments-typing\" [style.visibility]=\"typing ? 'visible': 'hidden'\">{{'Typing' | translate : typing}}</div>\r\n\r\n<div class=\"comments-reply\" *ngIf=\"replyName\">\r\n <span [innerHTML]=\"replyName | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <a class=\"modification\" (click)=\"clearReply()\">{{'Cancel'|translate}}</a>\r\n</div>\r\n\r\n<bizdoc-edit-text (ok)=\"post($event)\" (change)=\"_textChange.next()\"\r\n [disabled]=\"sending\" (focus)=\"onFocus()\" (blur)=\"onBlur()\">\r\n</bizdoc-edit-text>\r\n\r\n<ng-template #deletedMsg>\r\n <a (click)=\"showDeleted = true\" class=\"comment-deleted\">{{'Deleted' | translate}}</a>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}.comments-thread{flex:1 1 auto;overflow:auto;padding:8px 8px 0}.comment-deleted{align-self:center;font-feature-settings:\"smcp\",\"c2sc\";font-variant:all-small-caps}.comments-typing,.comments-reply{font-size:12px;padding:0 8px}.comments-reply .modification{font-size:medium}.modification{font-feature-settings:\"smcp\",\"c2sc\";font-variant:all-small-caps}\n"], components: [{ type: i8.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { type: i9.CommentComponent, selector: "bizdoc-comment", inputs: ["model", "item"], outputs: ["deleted", "reply"] }, { type: i10.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i13.TranslatePipe, "sanitizeHtml": i14.SanitizeHtmlPipe } });
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CommentsComponent, decorators: [{
|
209
|
+
type: Component,
|
210
|
+
args: [{ selector: 'bizdoc-comments', host: {
|
211
|
+
class: 'comments'
|
212
|
+
}, template: "<bizdoc-none *ngIf=\"!model.comments.length\" icon=\"format_quote\"></bizdoc-none>\r\n\r\n<div fxLayout=\"column\" #thread (scroll)=\"onScroll($event)\" class=\"comments-thread\">\r\n <ng-container role=\"listitem\" *ngFor=\"let c of model.comments; trackBy: trackBy\">\r\n <bizdoc-comment *ngIf=\"!c.deleted || showDeleted; else deletedMsg\"\r\n [model]=\"model\"\r\n [item]=\"c\"\r\n (reply)=\"reply(c)\"\r\n (deleted)=\"deleted(c)\">\r\n </bizdoc-comment>\r\n </ng-container>\r\n</div>\r\n\r\n<div class=\"comments-typing\" [style.visibility]=\"typing ? 'visible': 'hidden'\">{{'Typing' | translate : typing}}</div>\r\n\r\n<div class=\"comments-reply\" *ngIf=\"replyName\">\r\n <span [innerHTML]=\"replyName | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <a class=\"modification\" (click)=\"clearReply()\">{{'Cancel'|translate}}</a>\r\n</div>\r\n\r\n<bizdoc-edit-text (ok)=\"post($event)\" (change)=\"_textChange.next()\"\r\n [disabled]=\"sending\" (focus)=\"onFocus()\" (blur)=\"onBlur()\">\r\n</bizdoc-edit-text>\r\n\r\n<ng-template #deletedMsg>\r\n <a (click)=\"showDeleted = true\" class=\"comment-deleted\">{{'Deleted' | translate}}</a>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}.comments-thread{flex:1 1 auto;overflow:auto;padding:8px 8px 0}.comment-deleted{align-self:center;font-feature-settings:\"smcp\",\"c2sc\";font-variant:all-small-caps}.comments-typing,.comments-reply{font-size:12px;padding:0 8px}.comments-reply .modification{font-size:medium}.modification{font-feature-settings:\"smcp\",\"c2sc\";font-variant:all-small-caps}\n"] }]
|
213
|
+
}], ctorParameters: function () { return [{ type: i1.AccountService }, { type: i2.SessionService }, { type: i3.PromptService }, { type: i4.TranslateService }, { type: i5.ChatInfo }, { type: i6.MailboxService }, { type: i7.HubService }, { type: undefined, decorators: [{
|
214
|
+
type: Inject,
|
215
|
+
args: [BIZDOC_CONFIG]
|
216
|
+
}] }]; }, propDecorators: { model: [{
|
217
|
+
type: Input
|
218
|
+
}], change: [{
|
219
|
+
type: Output
|
220
|
+
}], threadElement: [{
|
221
|
+
type: ViewChild,
|
222
|
+
args: ['thread', { read: ElementRef, static: true }]
|
223
|
+
}], input: [{
|
224
|
+
type: ViewChild,
|
225
|
+
args: [EditInputComponent, { static: true }]
|
226
|
+
}] } });
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2NvbW1lbnRzL2NvbW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9jb21tZW50cy9jb21tZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBYSxTQUFTLEVBQUUsVUFBVSxFQUFpQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2xLLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQWlCLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFVN0Qsd0JBQXdCO0FBQ3hCLE1BQU0sT0FBTyxpQkFBaUI7SUFnQjVCLG9CQUFvQjtJQUNwQixZQUFvQixTQUF5QixFQUNuQyxRQUF3QixFQUN4QixHQUFrQixFQUNsQixVQUE0QixFQUM1QixLQUFlLEVBQ2YsUUFBd0IsRUFDeEIsVUFBc0IsRUFDQyxPQUFxQjtRQVBsQyxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFVB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QUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ04sS0FBSztzQkFBckQsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBJbmplY3QsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBEb2N1bWVudE1vZGVsLCBDb21tZW50LCBVc2VySW5mbyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hhdEluZm8gfSBmcm9tICcuLi8uLi9jaGF0L2NoYXQtaW5mbyc7XHJcbmltcG9ydCB7IEVkaXRJbnB1dENvbXBvbmVudCwgRWRpdFRleHRFdmVudCB9IGZyb20gJy4uLy4uL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgY29uc3QgVFlQSU5HX05PVElGWSA9IDUwMCwgVFlQSU5HX01FU1NBR0VfVElNRSA9IDE1MDA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jb21tZW50cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbW1lbnRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb21tZW50cy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnY29tbWVudHMnXHJcbiAgfVxyXG59KVxyXG4vKiogY29tbWVudHMgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIENvbW1lbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgbW9kZWwhOiBEb2N1bWVudE1vZGVsPGFueT47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBzZW5kaW5nID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZCgndGhyZWFkJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgdGhyZWFkRWxlbWVudDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKEVkaXRJbnB1dENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXQ6IEVkaXRJbnB1dENvbXBvbmVudDtcclxuICB0eXBpbmc/OiBzdHJpbmc7XHJcbiAgc2hvd0RlbGV0ZWQgPSBmYWxzZTtcclxuICByZXBseU5hbWU6IHN0cmluZztcclxuICBwcml2YXRlIF9yZXBseVRvOiBDb21tZW50O1xyXG4gIHByaXZhdGUgX2luRm9jdXMgPSBmYWxzZTtcclxuICBwcml2YXRlIF90b3AgPSBmYWxzZTtcclxuICBwcml2YXRlIF90eXBpbmdUYXNrOiBOb2RlSlMuVGltZW91dDtcclxuICByZWFkb25seSBfdGV4dENoYW5nZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfcHJlc2VydmVEcmFmdDogYm9vbGVhbjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvKiogY29tbWVudHMgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGF0OiBDaGF0SW5mbyxcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbWVzc2FnaW5nOiBIdWJTZXJ2aWNlLFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBwcml2YXRlIF9jb25maWc6IEJpekRvY0NvbmZpZykge1xyXG4gICAgdGhpcy5fcHJlc2VydmVEcmFmdCA9IF9jb25maWcuY29tbWVudHMgJiYgX2NvbmZpZy5jb21tZW50cy5wcmVzZXJ2ZURyYWZ0O1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jb21tZW50JC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSwgZmlsdGVyKGUgPT4gKGUuaWQgPT09IHRoaXMubW9kZWwuZG9jdW1lbnRJZCkpKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5tb2RlbC5jb21tZW50cy5maW5kKGMgPT4gYy5pZCA9PT0gZS5tb2RlbC5pZCkpIHtcclxuICAgICAgICB0aGlzLm1vZGVsLmNvbW1lbnRzLnB1c2goZS5tb2RlbCk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2luRm9jdXMpXHJcbiAgICAgICAgICB0aGlzLl92aWV3ZWQoKTtcclxuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLmNvbW1lbnRUeXBpbmckLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBmaWx0ZXIoZSA9PiBlLmlkID09PSB0aGlzLm1vZGVsLmRvY3VtZW50SWQpKS5cclxuICAgICAgc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAgIHRoaXMuX2FjY291bnRzLmdldChlLnVzZXJJZCkuc3Vic2NyaWJlKHUgPT4ge1xyXG4gICAgICAgICAgdGhpcy50eXBpbmcgPSB1Lm5hbWU7XHJcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fdHlwaW5nVGFzayk7XHJcbiAgICAgICAgICB0aGlzLl90eXBpbmdUYXNrID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnR5cGluZyA9IG51bGwsIFRZUElOR19NRVNTQUdFX1RJTUUpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLnZvdGUkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBmaWx0ZXIoZSA9PiBlLmlkID09PSB0aGlzLm1vZGVsLmRvY3VtZW50SWQpKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbW1lbnQgPSB0aGlzLm1vZGVsLmNvbW1lbnRzLmZpbmQoYyA9PiBjLmlkID09PSBlLmNvbW1lbnRJZCk7XHJcbiAgICAgIGNvbW1lbnQgJiYgKGNvbW1lbnQudm90ZXMgPSBlLnZvdGVzKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLmNvbW1lbnRVcGRhdGUkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBmaWx0ZXIoZSA9PiBlLmlkID09PSB0aGlzLm1vZGVsLmRvY3VtZW50SWQpKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbW1lbnQgPSB0aGlzLm1vZGVsLmNvbW1lbnRzLmZpbmQoYyA9PiBjLmlkID09PSBlLm1vZGVsLmlkKTtcclxuICAgICAgT2JqZWN0LmFzc2lnbihjb21tZW50LCBlLm1vZGVsKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLmNvbW1lbnREZWxldGUkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBmaWx0ZXIoZSA9PiBlLmlkID09PSB0aGlzLm1vZGVsLmRvY3VtZW50SWQpKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbW1lbnQgPSB0aGlzLm1vZGVsLmNvbW1lbnRzLmZpbmQoYyA9PiBjLmlkID09PSBlLmlkKTtcclxuICAgICAgY29tbWVudC5kZWxldGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jaGFuZ2UuZW1pdCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl90ZXh0Q2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKFRZUElOR19OT1RJRlkpLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICB0aGlzLl9tYWlsYm94LnR5cGluZyh0aGlzLm1vZGVsLmRvY3VtZW50SWQpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZm9ybWF0VXNlckVsZW1lbnQocGVyc29uOiBVc2VySW5mbykge1xyXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5jaGF0aW5nICE9PSBmYWxzZSlcclxuICAgICAgcmV0dXJuIHRoaXMuX2NoYXQuZm9ybWF0KHBlcnNvbik7XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBwZXJzb24ubmljayB8fCBwZXJzb24ubmFtZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ2hhdFxyXG4gICAqIEBwYXJhbSBlXHJcbiAgICovXHJcbiAgY2hhdChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCB1c2VySWQgPSAoZS5zcmNFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW5mbycpO1xyXG4gICAgdXNlcklkICYmXHJcbiAgICAgIHRoaXMuX2NoYXQub3Blbih1c2VySWQpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCBjaGFuZ2UgPSBjaGFuZ2VzWydtb2RlbCddO1xyXG4gICAgaWYgKHRoaXMuX3ByZXNlcnZlRHJhZnQpIHtcclxuICAgICAgIWNoYW5nZS5maXJzdENoYW5nZSAmJiB0aGlzLl9wZXJzaXN0KChjaGFuZ2UucHJldmlvdXNWYWx1ZSBhcyBEb2N1bWVudE1vZGVsKS5kb2N1bWVudElkLnRvU3RyaW5nKCkpO1xyXG5cclxuICAgICAgY29uc3QgdGV4dCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMubW9kZWwuZG9jdW1lbnRJZC50b1N0cmluZygpKTtcclxuICAgICAgaWYgKHRleHQpIHRoaXMuaW5wdXQudGV4dCA9IHRleHQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gIH1cclxuICBnZXQgdW5yZWFkQ29tbWVudHMoKTogbnVtYmVyIHtcclxuICAgIGlmICghdGhpcy5tb2RlbC52aWV3ZWQpIHJldHVybiB0aGlzLm1vZGVsLmNvbW1lbnRzLmxlbmd0aDtcclxuICAgIGNvbnN0IG1lID0gdGhpcy5fc2Vzc2lvbi51c2VySWQ7XHJcbiAgICBsZXQgbiA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gdGhpcy5tb2RlbC5jb21tZW50cy5sZW5ndGg7IGkgPiAwOyBpLS0pIHtcclxuICAgICAgbGV0IGNvbW1lbnQgPSB0aGlzLm1vZGVsLmNvbW1lbnRzW2kgLSAxXTtcclxuICAgICAgaWYgKChjb21tZW50LmJ5SWQgfHwgY29tbWVudC51c2VySWQpID09PSBtZSkgYnJlYWs7XHJcbiAgICAgIGlmICghY29tbWVudC5kZWxldGVkICYmIGNvbW1lbnQudGltZSA+IHRoaXMubW9kZWwudmlld2VkKVxyXG4gICAgICAgIG4rKztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbjtcclxuICB9XHJcbiAgZGVsZXRlZChpdGVtOiBDb21tZW50KSB7XHJcbiAgfVxyXG4gIHJlcGx5KGl0ZW06IENvbW1lbnQpIHtcclxuICAgIHRoaXMuX3JlcGx5VG8gPSBpdGVtO1xyXG4gICAgdGhpcy5fYWNjb3VudHMuZ2V0KGl0ZW0uYnlJZCB8fCBpdGVtLnVzZXJJZCkuXHJcbiAgICAgIHN1YnNjcmliZSh1ID0+XHJcbiAgICAgICAgdGhpcy5yZXBseU5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdSZXBseVRvJywgdGhpcy5fZm9ybWF0VXNlckVsZW1lbnQodSkpKTtcclxuICAgIHRoaXMuaW5wdXQuZm9jdXMoKTtcclxuICB9XHJcbiAgY2xlYXJSZXBseSgpIHtcclxuICAgIHRoaXMuX3JlcGx5VG8gPSBudWxsO1xyXG4gICAgdGhpcy5yZXBseU5hbWUgPSBudWxsO1xyXG4gIH1cclxuICB0cmFja0J5ID0gKF8sIGl0ZW06IENvbW1lbnQpID0+IGl0ZW0uaWQ7XHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgY29uc3QgeyBjb21tZW50cyB9ID0gdGhpcy5tb2RlbDtcclxuICAgIGlmICghY29tbWVudHMubGVuZ3RoKVxyXG4gICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgY29tbWVudCA9IGNvbW1lbnRzW2NvbW1lbnRzLmxlbmd0aCAtIDFdO1xyXG4gICAgICBpZiAoKGNvbW1lbnQuYnlJZCB8fCBjb21tZW50LnVzZXJJZCkgPT09IHRoaXMuX3Nlc3Npb24udXNlcklkKVxyXG4gICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3Njcm9sbFRvQm90dG9tKCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBmb2N1cygpIHtcclxuICAgIHRoaXMuaW5wdXQuZm9jdXMoKTtcclxuICB9XHJcbiAgb25TY3JvbGwoZXZ0OiBFdmVudCkge1xyXG4gICAgaWYgKChldnQudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50KS5zY3JvbGxUb3AgPT09IDAgJiYgdGhpcy5tb2RlbC5jb21tZW50cy5sZW5ndGggJiYgIXRoaXMuX3RvcCkge1xyXG4gICAgICBjb25zdCB0aW1lID0gdGhpcy5tb2RlbC5jb21tZW50cy5zb3J0KChjMCwgYzEpID0+IGMwLnRpbWUgPiBjMS50aW1lID8gMSA6IC0xKVswXS50aW1lO1xyXG4gICAgICB0aGlzLl9tYWlsYm94LmNvbW1lbnRzKHRoaXMubW9kZWwuZG9jdW1lbnRJZCwgdGltZSkuc3Vic2NyaWJlKGNzID0+IHtcclxuICAgICAgICBpZiAoY3MubGVuZ3RoID09PSAwKVxyXG4gICAgICAgICAgdGhpcy5fdG9wID0gdHJ1ZTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubW9kZWwuY29tbWVudHMgPSBjcy5yZXZlcnNlKCkuY29uY2F0KHRoaXMubW9kZWwuY29tbWVudHMpXHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3Njcm9sbFRvQm90dG9tKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Njcm9sbFRvQm90dG9tKCk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy50aHJlYWRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy50aHJlYWRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGUpXHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRm9jdXMoKSB7XHJcbiAgICB0aGlzLl9pbkZvY3VzID0gdHJ1ZTtcclxuICAgIHRoaXMuX3ZpZXdlZCgpO1xyXG4gIH1cclxuICBvbkJsdXIoKSB7XHJcbiAgICB0aGlzLl9pbkZvY3VzID0gZmFsc2U7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3ZpZXdlZCgpIHtcclxuICAgIGNvbnN0IHsgdmlld2VkLCBjb21tZW50cywgZG9jdW1lbnRJZCB9ID0gdGhpcy5tb2RlbDtcclxuICAgIGNvbW1lbnRzLmxlbmd0aCAmJiAoIXZpZXdlZCB8fCBjb21tZW50cy5maW5kSW5kZXgoYyA9PiBjLnRpbWUgPiB2aWV3ZWQpID4gLTEpICYmXHJcbiAgICAgIHRoaXMuX21haWxib3gudmlld2VkY29tbWVudHMoZG9jdW1lbnRJZCkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAgIHRoaXMubW9kZWwudmlld2VkID0gZS50aW1lO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHBvc3QoZXZ0OiBFZGl0VGV4dEV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbmRpbmcgPSB0cnVlO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHsgLi4uZXZ0IH0gYXMge1xyXG4gICAgICB0ZXh0Pzogc3RyaW5nLFxyXG4gICAgICByZXNvdXJjZT86IHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICAgIGltYWdlPzogc3RyaW5nLFxyXG4gICAgICBwYXJlbnRJZD86IG51bWJlclxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLl9yZXBseVRvKVxyXG4gICAgICBvcHRpb25zLnBhcmVudElkID0gdGhpcy5fcmVwbHlUby5pZDtcclxuICAgIHRoaXMuX21haWxib3guY29tbWVudCh0aGlzLm1vZGVsLmRvY3VtZW50SWQsIG9wdGlvbnMpLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgdGhpcy5tb2RlbC5jb21tZW50cy5wdXNoKGMpO1xyXG4gICAgICB0aGlzLmlucHV0LmNsZWFyKCk7XHJcbiAgICAgIHRoaXMubW9kZWwudmlld2VkID0gYy50aW1lO1xyXG4gICAgICB0aGlzLmNoYW5nZS5lbWl0KCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2Nyb2xsVG9Cb3R0b20oKSk7XHJcbiAgICAgIHRoaXMuc2VuZGluZyA9IGZhbHNlO1xyXG4gICAgfSwgKCkgPT4ge1xyXG4gICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl90eXBpbmdUYXNrKSBjbGVhclRpbWVvdXQodGhpcy5fdHlwaW5nVGFzayk7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuXHJcbiAgICB0aGlzLl9wcmVzZXJ2ZURyYWZ0ICYmIHRoaXMuX3BlcnNpc3QodGhpcy5tb2RlbC5kb2N1bWVudElkLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuICBwcml2YXRlIF9wZXJzaXN0KGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuaW5wdXQudGV4dCAmJiB0aGlzLmlucHV0LnRleHQubGVuZ3RoICYmXHJcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShpZCwgdGhpcy5pbnB1dC50ZXh0KTtcclxuICB9XHJcbn1cclxuIiwiPGJpemRvYy1ub25lICpuZ0lmPVwiIW1vZGVsLmNvbW1lbnRzLmxlbmd0aFwiIGljb249XCJmb3JtYXRfcXVvdGVcIj48L2JpemRvYy1ub25lPlxyXG5cclxuPGRpdiBmeExheW91dD1cImNvbHVtblwiICN0aHJlYWQgKHNjcm9sbCk9XCJvblNjcm9sbCgkZXZlbnQpXCIgY2xhc3M9XCJjb21tZW50cy10aHJlYWRcIj5cclxuICA8bmctY29udGFpbmVyIHJvbGU9XCJsaXN0aXRlbVwiICpuZ0Zvcj1cImxldCBjIG9mIG1vZGVsLmNvbW1lbnRzOyB0cmFja0J5OiB0cmFja0J5XCI+XHJcbiAgICA8Yml6ZG9jLWNvbW1lbnQgKm5nSWY9XCIhYy5kZWxldGVkIHx8IHNob3dEZWxldGVkOyBlbHNlIGRlbGV0ZWRNc2dcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJtb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlcGx5KT1cInJlcGx5KGMpXCJcclxuICAgICAgICAgICAgICAgICAgICAoZGVsZXRlZCk9XCJkZWxldGVkKGMpXCI+XHJcbiAgICA8L2JpemRvYy1jb21tZW50PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJjb21tZW50cy10eXBpbmdcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJ0eXBpbmcgPyAndmlzaWJsZSc6ICdoaWRkZW4nXCI+e3snVHlwaW5nJyB8IHRyYW5zbGF0ZSA6IHR5cGluZ319PC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiY29tbWVudHMtcmVwbHlcIiAqbmdJZj1cInJlcGx5TmFtZVwiPlxyXG4gIDxzcGFuIFtpbm5lckhUTUxdPVwicmVwbHlOYW1lIHwgc2FuaXRpemVIdG1sXCIgKGNsaWNrKT1cImNoYXQoJGV2ZW50KVwiPjwvc3Bhbj5cclxuICAmbmJzcDsgPGEgY2xhc3M9XCJtb2RpZmljYXRpb25cIiAoY2xpY2spPVwiY2xlYXJSZXBseSgpXCI+e3snQ2FuY2VsJ3x0cmFuc2xhdGV9fTwvYT5cclxuPC9kaXY+XHJcblxyXG48Yml6ZG9jLWVkaXQtdGV4dCAob2spPVwicG9zdCgkZXZlbnQpXCIgKGNoYW5nZSk9XCJfdGV4dENoYW5nZS5uZXh0KClcIlxyXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2VuZGluZ1wiIChmb2N1cyk9XCJvbkZvY3VzKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiPlxyXG48L2JpemRvYy1lZGl0LXRleHQ+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlbGV0ZWRNc2c+XHJcbiAgPGEgKGNsaWNrKT1cInNob3dEZWxldGVkID0gdHJ1ZVwiIGNsYXNzPVwiY29tbWVudC1kZWxldGVkXCI+e3snRGVsZXRlZCcgfCB0cmFuc2xhdGV9fTwvYT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
2
|
+
import { POPUP_DATA } from '../../core/popup/popup.component';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "../../core/popup/popup-ref";
|
5
|
+
import * as i2 from "../../core/prompt.service";
|
6
|
+
import * as i3 from "../../core/mailbox.service";
|
7
|
+
import * as i4 from "../../core/tagging/edit-input.component";
|
8
|
+
export class EditCommentComponent {
|
9
|
+
constructor(_popupRef, data, _sb, _mailbox) {
|
10
|
+
this._popupRef = _popupRef;
|
11
|
+
this.data = data;
|
12
|
+
this._sb = _sb;
|
13
|
+
this._mailbox = _mailbox;
|
14
|
+
}
|
15
|
+
ok(evt) {
|
16
|
+
this.sending = true;
|
17
|
+
this._mailbox.commentupdate(this.data.documentId, this.data.id, evt).subscribe(c => this._popupRef.close(c), () => {
|
18
|
+
this.sending = false;
|
19
|
+
this._sb.error();
|
20
|
+
});
|
21
|
+
}
|
22
|
+
}
|
23
|
+
EditCommentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EditCommentComponent, deps: [{ token: i1.PopupRef }, { token: POPUP_DATA }, { token: i2.PromptService }, { token: i3.MailboxService }], target: i0.ɵɵFactoryTarget.Component });
|
24
|
+
EditCommentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: EditCommentComponent, selector: "bizdoc-edit-comment", ngImport: i0, template: "<bizdoc-edit-text (ok)=\"ok($event)\"\r\n [resource]=\"data.resource\" [text]=\"data.text\" [image]=\"data.image\"\r\n [disabled]=\"sending\" autofocus></bizdoc-edit-text>\r\n", components: [{ type: i4.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }] });
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EditCommentComponent, decorators: [{
|
26
|
+
type: Component,
|
27
|
+
args: [{ selector: 'bizdoc-edit-comment', template: "<bizdoc-edit-text (ok)=\"ok($event)\"\r\n [resource]=\"data.resource\" [text]=\"data.text\" [image]=\"data.image\"\r\n [disabled]=\"sending\" autofocus></bizdoc-edit-text>\r\n" }]
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.PopupRef }, { type: undefined, decorators: [{
|
29
|
+
type: Inject,
|
30
|
+
args: [POPUP_DATA]
|
31
|
+
}] }, { type: i2.PromptService }, { type: i3.MailboxService }]; } });
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1jb21tZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9jb21tZW50cy9lZGl0LWNvbW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2NvbW1lbnRzL2VkaXQtY29tbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQVE5RCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsU0FBeUMsRUFDdEIsSUFBaUIsRUFDcEMsR0FBa0IsRUFDbEIsUUFBd0I7UUFIeEIsY0FBUyxHQUFULFNBQVMsQ0FBZ0M7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNwQyxRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQWdCO0lBQ2xDLENBQUM7SUFDRCxFQUFFLENBQUMsR0FBa0I7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ2pGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7aUhBZlUsb0JBQW9CLDBDQUlyQixVQUFVO3FHQUpULG9CQUFvQiwyRENYakMsbU5BR0E7MkZEUWEsb0JBQW9CO2tCQUpoQyxTQUFTOytCQUNFLHFCQUFxQjs7MEJBTzVCLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IFBPUFVQX0RBVEEgfSBmcm9tICcuLi8uLi9jb3JlL3BvcHVwL3BvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBvcHVwUmVmIH0gZnJvbSBcIi4uLy4uL2NvcmUvcG9wdXAvcG9wdXAtcmVmXCI7XHJcbmltcG9ydCB7IEVkaXRUZXh0RXZlbnQgfSBmcm9tICcuLi8uLi9jb3JlL3RhZ2dpbmcvZWRpdC1pbnB1dC5jb21wb25lbnQnO1xyXG4gXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWVkaXQtY29tbWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtY29tbWVudC5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0Q29tbWVudENvbXBvbmVudCB7XHJcbiAgc2VuZGluZzogYm9vbGVhbjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BvcHVwUmVmOiBQb3B1cFJlZjxFZGl0Q29tbWVudENvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KFBPUFVQX0RBVEEpIHB1YmxpYyBkYXRhOiBDb21tZW50RGF0YSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbWFpbGJveDogTWFpbGJveFNlcnZpY2UpIHtcclxuICB9XHJcbiAgb2soZXZ0OiBFZGl0VGV4dEV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbmRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fbWFpbGJveC5jb21tZW50dXBkYXRlKHRoaXMuZGF0YS5kb2N1bWVudElkLCB0aGlzLmRhdGEuaWQsIGV2dCkuc3Vic2NyaWJlKGMgPT5cclxuICAgICAgdGhpcy5fcG9wdXBSZWYuY2xvc2UoYyksICgpID0+IHtcclxuICAgICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb21tZW50RGF0YSB7XHJcbiAgZG9jdW1lbnRJZDogYW55O1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgaW1hZ2U/OiBzdHJpbmc7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICByZXNvdXJjZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbn1cclxuIiwiPGJpemRvYy1lZGl0LXRleHQgKG9rKT1cIm9rKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbcmVzb3VyY2VdPVwiZGF0YS5yZXNvdXJjZVwiIFt0ZXh0XT1cImRhdGEudGV4dFwiIFtpbWFnZV09XCJkYXRhLmltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNlbmRpbmdcIiBhdXRvZm9jdXM+PC9iaXpkb2MtZWRpdC10ZXh0PlxyXG4iXX0=
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
2
|
+
import { POPUP_DATA } from '../../core/popup/popup.component';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "../../core/mailbox.service";
|
5
|
+
import * as i2 from "../../core/identity/identity.component";
|
6
|
+
import * as i3 from "@angular/common";
|
7
|
+
import * as i4 from "../../core/pipes/translate.pipe";
|
8
|
+
import * as i5 from "../../core/tagging/tagging.pipe";
|
9
|
+
import * as i6 from "../../core/pipes/calendar.pipe";
|
10
|
+
export class CommentEditsComponent {
|
11
|
+
constructor(_data, _mailbox) {
|
12
|
+
this._data = _data;
|
13
|
+
this._mailbox = _mailbox;
|
14
|
+
this.byId = _data.byId;
|
15
|
+
this.resource = _data.resource;
|
16
|
+
}
|
17
|
+
ngOnInit() {
|
18
|
+
this.versions = this._mailbox.edits(this._data.documentId, this._data.id);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
CommentEditsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CommentEditsComponent, deps: [{ token: POPUP_DATA }, { token: i1.MailboxService }], target: i0.ɵɵFactoryTarget.Component });
|
22
|
+
CommentEditsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: CommentEditsComponent, selector: "bizdoc-comment-edits", ngImport: i0, template: "<span class=\"mat-title\">{{'History' | translate}}</span>\r\n\r\n<div *ngFor=\"let v of versions | async\" class=\"comment\">\r\n <p [innerHTML]=\"v.text|taggingHtml:resource\"></p>\r\n <bizdoc-identity-name class=\"mat-body\" [identity]=\"v.userId\" [by]=\"v.byId\" *ngIf=\"v.byId || byId\"></bizdoc-identity-name>\r\n <small>{{v.time | amCalendar}}</small>\r\n</div>\r\n", styles: [":host{padding:8px}\n"], components: [{ type: i2.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i4.TranslatePipe, "async": i3.AsyncPipe, "taggingHtml": i5.TaggingPipe, "amCalendar": i6.CalendarPipe } });
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CommentEditsComponent, decorators: [{
|
24
|
+
type: Component,
|
25
|
+
args: [{ selector: 'bizdoc-comment-edits', styles: [':host { padding: 8px }'], template: "<span class=\"mat-title\">{{'History' | translate}}</span>\r\n\r\n<div *ngFor=\"let v of versions | async\" class=\"comment\">\r\n <p [innerHTML]=\"v.text|taggingHtml:resource\"></p>\r\n <bizdoc-identity-name class=\"mat-body\" [identity]=\"v.userId\" [by]=\"v.byId\" *ngIf=\"v.byId || byId\"></bizdoc-identity-name>\r\n <small>{{v.time | amCalendar}}</small>\r\n</div>\r\n" }]
|
26
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
27
|
+
type: Inject,
|
28
|
+
args: [POPUP_DATA]
|
29
|
+
}] }, { type: i1.MailboxService }]; } });
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2NvbW1lbnRzL2VkaXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9jb21tZW50cy9lZGl0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUcxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7O0FBUTlELE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFDOEIsS0FBeUIsRUFDN0MsUUFBd0I7UUFESixVQUFLLEdBQUwsS0FBSyxDQUFvQjtRQUM3QyxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUVoQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7O2tIQWJVLHFCQUFxQixrQkFLdEIsVUFBVTtzR0FMVCxxQkFBcUIsNERDWGxDLDBYQU9BOzJGRElhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxzQkFBc0IsVUFFeEIsQ0FBQyx3QkFBd0IsQ0FBQzs7MEJBTy9CLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21tZW50VmVyc2lvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUE9QVVBfREFUQSB9IGZyb20gJy4uLy4uL2NvcmUvcG9wdXAvcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jb21tZW50LWVkaXRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlczogWyc6aG9zdCB7IHBhZGRpbmc6IDhweCB9J11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1lbnRFZGl0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdmVyc2lvbnM6IE9ic2VydmFibGU8Q29tbWVudFZlcnNpb25bXT47XHJcbiAgYnlJZDogc3RyaW5nO1xyXG4gICAgcmVzb3VyY2U6IHsgW2tleTogc3RyaW5nXTogYW55OyB9O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChQT1BVUF9EQVRBKSBwcml2YXRlIF9kYXRhOiBDb21tZW50VmVyc2lvbkRhdGEsXHJcbiAgICBwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5ieUlkID0gX2RhdGEuYnlJZDtcclxuICAgIHRoaXMucmVzb3VyY2UgPSBfZGF0YS5yZXNvdXJjZTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZlcnNpb25zID0gdGhpcy5fbWFpbGJveC5lZGl0cyh0aGlzLl9kYXRhLmRvY3VtZW50SWQsIHRoaXMuX2RhdGEuaWQpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21tZW50VmVyc2lvbkRhdGEge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgYnlJZDogc3RyaW5nO1xyXG4gIGRvY3VtZW50SWQ6IG51bWJlcjtcclxuICByZXNvdXJjZToge1trZXk6c3RyaW5nXTogYW55IH1cclxufVxyXG4iLCI8c3BhbiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7J0hpc3RvcnknIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcblxyXG48ZGl2ICpuZ0Zvcj1cImxldCB2IG9mIHZlcnNpb25zIHwgYXN5bmNcIiBjbGFzcz1cImNvbW1lbnRcIj5cclxuICA8cCBbaW5uZXJIVE1MXT1cInYudGV4dHx0YWdnaW5nSHRtbDpyZXNvdXJjZVwiPjwvcD5cclxuICA8Yml6ZG9jLWlkZW50aXR5LW5hbWUgY2xhc3M9XCJtYXQtYm9keVwiIFtpZGVudGl0eV09XCJ2LnVzZXJJZFwiIFtieV09XCJ2LmJ5SWRcIiAqbmdJZj1cInYuYnlJZCB8fCBieUlkXCI+PC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cclxuICA8c21hbGw+e3t2LnRpbWUgfCBhbUNhbGVuZGFyfX08L3NtYWxsPlxyXG48L2Rpdj5cclxuIl19
|