@hmcts/media-viewer 4.1.9-cme-776-angular-20 → 4.1.9-exui-1580-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/all.scss +1 -0
- package/assets/sass/pdf-viewer.scss +78 -0
- package/assets/sass/tooltip.scss +50 -0
- package/esm2022/hmcts-media-viewer.mjs +5 -0
- package/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +122 -0
- package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +179 -0
- package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +101 -0
- package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/keyboard-text-highlight.directive.mjs +345 -0
- package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
- package/esm2022/lib/annotations/annotation-set/annotation-set.model.mjs +2 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +2 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +2 -0
- package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +145 -0
- package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +99 -0
- package/esm2022/lib/annotations/annotations.module.mjs +162 -0
- package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +178 -0
- package/esm2022/lib/annotations/comment-set/comment/comment.model.mjs +2 -0
- package/esm2022/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
- package/esm2022/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
- package/esm2022/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +31 -0
- package/esm2022/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +62 -0
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +54 -0
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +72 -0
- package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +55 -0
- package/esm2022/lib/annotations/comment-set/comment-set.component.mjs +123 -0
- package/esm2022/lib/annotations/comments-summary/comments-summary.component.mjs +120 -0
- package/esm2022/lib/annotations/models/api-persisted.model.mjs +2 -0
- package/esm2022/lib/annotations/models/event-select.model.mjs +2 -0
- package/esm2022/lib/annotations/models/tags.model.mjs +2 -0
- package/esm2022/lib/annotations/models/user.model.mjs +2 -0
- package/esm2022/lib/annotations/pipes/date/date.pipe.mjs +26 -0
- package/esm2022/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
- package/esm2022/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +16 -0
- package/esm2022/lib/annotations/services/annotation-api/annotation-api.service.mjs +58 -0
- package/esm2022/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +45 -0
- package/esm2022/lib/annotations/services/tags/tags.services.mjs +41 -0
- package/esm2022/lib/annotations/tags/tags.component.mjs +53 -0
- package/esm2022/lib/bookmark/components/bookmark-icons.component.mjs +25 -0
- package/esm2022/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +22 -0
- package/esm2022/lib/icp/icp-follower.service.mjs +65 -0
- package/esm2022/lib/icp/icp-presenter.service.mjs +56 -0
- package/esm2022/lib/icp/icp-session-api.service.mjs +28 -0
- package/esm2022/lib/icp/icp-update.service.mjs +73 -0
- package/esm2022/lib/icp/icp.events.mjs +15 -0
- package/esm2022/lib/icp/icp.interfaces.mjs +2 -0
- package/esm2022/lib/icp/icp.service.mjs +98 -0
- package/esm2022/lib/icp/participants-list/participants-list.component.mjs +32 -0
- package/esm2022/lib/icp/socket.service.mjs +128 -0
- package/esm2022/lib/media-viewer.component.mjs +247 -0
- package/esm2022/lib/media-viewer.module.mjs +142 -0
- package/esm2022/lib/print.service.mjs +32 -0
- package/esm2022/lib/redaction/components/redaction.component.mjs +91 -0
- package/esm2022/lib/redaction/services/redaction-api.service.mjs +50 -0
- package/esm2022/lib/redaction/services/redaction.model.mjs +2 -0
- package/esm2022/lib/shared/directives/tooltip-dismiss.directive.mjs +36 -0
- package/esm2022/lib/shared/gov-uk-date/gov-uk-date.component.mjs +28 -0
- package/esm2022/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +34 -0
- package/esm2022/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +63 -0
- package/esm2022/lib/shared/gov-uk-label/gov-uk-label.component.mjs +44 -0
- package/esm2022/lib/shared/shared.module.mjs +53 -0
- package/esm2022/lib/shared/util/helpers/html-templates.helper.mjs +29 -0
- package/esm2022/lib/shared/util/services/number.helper.service.mjs +23 -0
- package/esm2022/lib/store/actions/annotation.actions.mjs +119 -0
- package/esm2022/lib/store/actions/bookmark.actions.mjs +112 -0
- package/esm2022/lib/store/actions/document.actions.mjs +91 -0
- package/esm2022/lib/store/actions/icp.actions.mjs +56 -0
- package/esm2022/lib/store/actions/redaction.actions.mjs +132 -0
- package/esm2022/lib/store/actions/tag.actions.mjs +21 -0
- package/esm2022/lib/store/bookmarks-store-utils.mjs +49 -0
- package/esm2022/lib/store/effects/annotation.effects.mjs +51 -0
- package/esm2022/lib/store/effects/bookmarks.effects.mjs +44 -0
- package/esm2022/lib/store/effects/document.effects.mjs +44 -0
- package/esm2022/lib/store/effects/icp.effects.mjs +26 -0
- package/esm2022/lib/store/effects/index.mjs +7 -0
- package/esm2022/lib/store/effects/redaction.effects.mjs +67 -0
- package/esm2022/lib/store/models/bookmarks.interface.mjs +2 -0
- package/esm2022/lib/store/models/filters.interface.mjs +2 -0
- package/esm2022/lib/store/reducers/annotations.reducer.mjs +208 -0
- package/esm2022/lib/store/reducers/bookmarks.reducer.mjs +125 -0
- package/esm2022/lib/store/reducers/document.reducer.mjs +158 -0
- package/esm2022/lib/store/reducers/icp.reducer.mjs +56 -0
- package/esm2022/lib/store/reducers/redaction.reducer.mjs +116 -0
- package/esm2022/lib/store/reducers/reducers.mjs +23 -0
- package/esm2022/lib/store/reducers/tags.reducer.mjs +93 -0
- package/esm2022/lib/store/selectors/annotation.selectors.mjs +81 -0
- package/esm2022/lib/store/selectors/bookmark.selectors.mjs +37 -0
- package/esm2022/lib/store/selectors/document.selectors.mjs +13 -0
- package/esm2022/lib/store/selectors/icp.selectors.mjs +13 -0
- package/esm2022/lib/store/selectors/redaction.selectors.mjs +26 -0
- package/esm2022/lib/store/selectors/tag.selectors.mjs +15 -0
- package/esm2022/lib/store/store-utils.mjs +131 -0
- package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +46 -0
- package/esm2022/lib/toolbar/icp-event.service.mjs +44 -0
- package/esm2022/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +43 -0
- package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +207 -0
- package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +237 -0
- package/esm2022/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +2 -0
- package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +69 -0
- package/esm2022/lib/toolbar/search-bar/search-bar.component.mjs +109 -0
- package/esm2022/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
- package/esm2022/lib/toolbar/toolbar-event.service.mjs +178 -0
- package/esm2022/lib/toolbar/toolbar.module.mjs +75 -0
- package/esm2022/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +82 -0
- package/esm2022/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +22 -0
- package/esm2022/lib/viewers/grab-n-drag.directive.mjs +57 -0
- package/esm2022/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
- package/esm2022/lib/viewers/multimedia-player/multimedia-player.component.mjs +59 -0
- package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +266 -0
- package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +40 -0
- package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +280 -0
- package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +379 -0
- package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +2 -0
- package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
- package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +2 -0
- package/esm2022/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +99 -0
- package/esm2022/lib/viewers/rotation-persist/rotation-api.service.mjs +27 -0
- package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +61 -0
- package/esm2022/lib/viewers/rotation-persist/rotation.model.mjs +2 -0
- package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
- package/esm2022/lib/viewers/viewer-event.service.mjs +34 -0
- package/esm2022/lib/viewers/viewer-exception.model.mjs +13 -0
- package/esm2022/lib/viewers/viewer-util.service.mjs +20 -0
- package/esm2022/public_api.mjs +33 -0
- package/fesm2022/hmcts-media-viewer.mjs +1515 -1013
- package/fesm2022/hmcts-media-viewer.mjs.map +1 -1
- package/hmcts-media-viewer.d.ts.map +1 -0
- package/index.d.ts +4 -2305
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +48 -0
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +36 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +18 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/keyboard-text-highlight.directive.d.ts +63 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/keyboard-text-highlight.directive.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-set.component.d.ts +27 -0
- package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-set.model.d.ts +7 -0
- package/lib/annotations/annotation-set/annotation-set.model.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +34 -0
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts +16 -0
- package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +41 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts +9 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts.map +1 -0
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +41 -0
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +40 -0
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -0
- package/lib/annotations/annotations.module.d.ts +36 -0
- package/lib/annotations/annotations.module.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/comment.component.d.ts +69 -0
- package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/comment.model.d.ts +13 -0
- package/lib/annotations/comment-set/comment/comment.model.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/comment.service.d.ts +22 -0
- package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +14 -0
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +12 -0
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +28 -0
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +26 -0
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +21 -0
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +36 -0
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-render.service.d.ts +15 -0
- package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set.component.d.ts +56 -0
- package/lib/annotations/comment-set/comment-set.component.d.ts.map +1 -0
- package/lib/annotations/comments-summary/comments-summary.component.d.ts +42 -0
- package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +1 -0
- package/lib/annotations/models/api-persisted.model.d.ts +11 -0
- package/lib/annotations/models/api-persisted.model.d.ts.map +1 -0
- package/lib/annotations/models/event-select.model.d.ts +6 -0
- package/lib/annotations/models/event-select.model.d.ts.map +1 -0
- package/lib/annotations/models/tags.model.d.ts +7 -0
- package/lib/annotations/models/tags.model.d.ts.map +1 -0
- package/lib/annotations/models/user.model.d.ts +6 -0
- package/lib/annotations/models/user.model.d.ts.map +1 -0
- package/lib/annotations/pipes/date/date.pipe.d.ts +16 -0
- package/lib/annotations/pipes/date/date.pipe.d.ts.map +1 -0
- package/lib/annotations/pipes/filter/filter.pipe.d.ts +8 -0
- package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +1 -0
- package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +8 -0
- package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +1 -0
- package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +28 -0
- package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +1 -0
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +21 -0
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +1 -0
- package/lib/annotations/services/tags/tags.services.d.ts +18 -0
- package/lib/annotations/services/tags/tags.services.d.ts.map +1 -0
- package/lib/annotations/tags/tags.component.d.ts +28 -0
- package/lib/annotations/tags/tags.component.d.ts.map +1 -0
- package/lib/bookmark/components/bookmark-icons.component.d.ts +19 -0
- package/lib/bookmark/components/bookmark-icons.component.d.ts.map +1 -0
- package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +11 -0
- package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +1 -0
- package/lib/icp/icp-follower.service.d.ts +26 -0
- package/lib/icp/icp-follower.service.d.ts.map +1 -0
- package/lib/icp/icp-presenter.service.d.ts +25 -0
- package/lib/icp/icp-presenter.service.d.ts.map +1 -0
- package/lib/icp/icp-session-api.service.d.ts +15 -0
- package/lib/icp/icp-session-api.service.d.ts.map +1 -0
- package/lib/icp/icp-update.service.d.ts +22 -0
- package/lib/icp/icp-update.service.d.ts.map +1 -0
- package/lib/icp/icp.events.d.ts +14 -0
- package/lib/icp/icp.events.d.ts.map +1 -0
- package/lib/icp/icp.interfaces.d.ts +23 -0
- package/lib/icp/icp.interfaces.d.ts.map +1 -0
- package/lib/icp/icp.service.d.ts +40 -0
- package/lib/icp/icp.service.d.ts.map +1 -0
- package/lib/icp/participants-list/participants-list.component.d.ts +23 -0
- package/lib/icp/participants-list/participants-list.component.d.ts.map +1 -0
- package/lib/icp/socket.service.d.ts +29 -0
- package/lib/icp/socket.service.d.ts.map +1 -0
- package/lib/media-viewer.component.d.ts +72 -0
- package/lib/media-viewer.component.d.ts.map +1 -0
- package/lib/media-viewer.module.d.ts +37 -0
- package/lib/media-viewer.module.d.ts.map +1 -0
- package/lib/print.service.d.ts +8 -0
- package/lib/print.service.d.ts.map +1 -0
- package/lib/redaction/components/redaction.component.d.ts +42 -0
- package/lib/redaction/components/redaction.component.d.ts.map +1 -0
- package/lib/redaction/services/redaction-api.service.d.ts +20 -0
- package/lib/redaction/services/redaction-api.service.d.ts.map +1 -0
- package/lib/redaction/services/redaction.model.d.ts +11 -0
- package/lib/redaction/services/redaction.model.d.ts.map +1 -0
- package/lib/shared/directives/tooltip-dismiss.directive.d.ts +11 -0
- package/lib/shared/directives/tooltip-dismiss.directive.d.ts.map +1 -0
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +15 -0
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +1 -0
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +11 -0
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +1 -0
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +16 -0
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +1 -0
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +14 -0
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +1 -0
- package/lib/shared/shared.module.d.ts +14 -0
- package/lib/shared/shared.module.d.ts.map +1 -0
- package/lib/shared/util/helpers/html-templates.helper.d.ts +9 -0
- package/lib/shared/util/helpers/html-templates.helper.d.ts.map +1 -0
- package/lib/shared/util/services/number.helper.service.d.ts +11 -0
- package/lib/shared/util/services/number.helper.service.d.ts.map +1 -0
- package/lib/store/actions/annotation.actions.d.ts +126 -0
- package/lib/store/actions/annotation.actions.d.ts.map +1 -0
- package/lib/store/actions/bookmark.actions.d.ts +117 -0
- package/lib/store/actions/bookmark.actions.d.ts.map +1 -0
- package/lib/store/actions/document.actions.d.ts +90 -0
- package/lib/store/actions/document.actions.d.ts.map +1 -0
- package/lib/store/actions/icp.actions.d.ts +75 -0
- package/lib/store/actions/icp.actions.d.ts.map +1 -0
- package/lib/store/actions/redaction.actions.d.ts +127 -0
- package/lib/store/actions/redaction.actions.d.ts.map +1 -0
- package/lib/store/actions/tag.actions.d.ts +30 -0
- package/lib/store/actions/tag.actions.d.ts.map +1 -0
- package/lib/store/bookmarks-store-utils.d.ts +9 -0
- package/lib/store/bookmarks-store-utils.d.ts.map +1 -0
- package/lib/store/effects/annotation.effects.d.ts +16 -0
- package/lib/store/effects/annotation.effects.d.ts.map +1 -0
- package/lib/store/effects/bookmarks.effects.d.ts +21 -0
- package/lib/store/effects/bookmarks.effects.d.ts.map +1 -0
- package/lib/store/effects/document.effects.d.ts +17 -0
- package/lib/store/effects/document.effects.d.ts.map +1 -0
- package/lib/store/effects/icp.effects.d.ts +16 -0
- package/lib/store/effects/icp.effects.d.ts.map +1 -0
- package/lib/store/effects/index.d.ts +2 -0
- package/lib/store/effects/index.d.ts.map +1 -0
- package/lib/store/effects/redaction.effects.d.ts +20 -0
- package/lib/store/effects/redaction.effects.d.ts.map +1 -0
- package/lib/store/models/bookmarks.interface.d.ts +31 -0
- package/lib/store/models/bookmarks.interface.d.ts.map +1 -0
- package/lib/store/models/filters.interface.d.ts +8 -0
- package/lib/store/models/filters.interface.d.ts.map +1 -0
- package/lib/store/reducers/annotations.reducer.d.ts +48 -0
- package/lib/store/reducers/annotations.reducer.d.ts.map +1 -0
- package/lib/store/reducers/bookmarks.reducer.d.ts +27 -0
- package/lib/store/reducers/bookmarks.reducer.d.ts.map +1 -0
- package/lib/store/reducers/document.reducer.d.ts +52 -0
- package/lib/store/reducers/document.reducer.d.ts.map +1 -0
- package/lib/store/reducers/icp.reducer.d.ts +9 -0
- package/lib/store/reducers/icp.reducer.d.ts.map +1 -0
- package/lib/store/reducers/redaction.reducer.d.ts +32 -0
- package/lib/store/reducers/redaction.reducer.d.ts.map +1 -0
- package/lib/store/reducers/reducers.d.ts +24 -0
- package/lib/store/reducers/reducers.d.ts.map +1 -0
- package/lib/store/reducers/tags.reducer.d.ts +32 -0
- package/lib/store/reducers/tags.reducer.d.ts.map +1 -0
- package/lib/store/selectors/annotation.selectors.d.ts +136 -0
- package/lib/store/selectors/annotation.selectors.d.ts.map +1 -0
- package/lib/store/selectors/bookmark.selectors.d.ts +38 -0
- package/lib/store/selectors/bookmark.selectors.d.ts.map +1 -0
- package/lib/store/selectors/document.selectors.d.ts +23 -0
- package/lib/store/selectors/document.selectors.d.ts.map +1 -0
- package/lib/store/selectors/icp.selectors.d.ts +10 -0
- package/lib/store/selectors/icp.selectors.d.ts.map +1 -0
- package/lib/store/selectors/redaction.selectors.d.ts +35 -0
- package/lib/store/selectors/redaction.selectors.d.ts.map +1 -0
- package/lib/store/selectors/tag.selectors.d.ts +28 -0
- package/lib/store/selectors/tag.selectors.d.ts.map +1 -0
- package/lib/store/store-utils.d.ts +25 -0
- package/lib/store/store-utils.d.ts.map +1 -0
- package/lib/toolbar/highlight-toolbar/highlight-toolbar.component.d.ts +20 -0
- package/lib/toolbar/highlight-toolbar/highlight-toolbar.component.d.ts.map +1 -0
- package/lib/toolbar/icp-event.service.d.ts +21 -0
- package/lib/toolbar/icp-event.service.d.ts.map +1 -0
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +24 -0
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +1 -0
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +69 -0
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -0
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +60 -0
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +1 -0
- package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts +12 -0
- package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts.map +1 -0
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +30 -0
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -0
- package/lib/toolbar/search-bar/search-bar.component.d.ts +34 -0
- package/lib/toolbar/search-bar/search-bar.component.d.ts.map +1 -0
- package/lib/toolbar/toolbar-button-visibility.service.d.ts +67 -0
- package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +1 -0
- package/lib/toolbar/toolbar-event.service.d.ts +96 -0
- package/lib/toolbar/toolbar-event.service.d.ts.map +1 -0
- package/lib/toolbar/toolbar.module.d.ts +20 -0
- package/lib/toolbar/toolbar.module.d.ts.map +1 -0
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +31 -0
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +1 -0
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +12 -0
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +1 -0
- package/lib/viewers/grab-n-drag.directive.d.ts +19 -0
- package/lib/viewers/grab-n-drag.directive.d.ts.map +1 -0
- package/lib/viewers/image-viewer/image-viewer.component.d.ts +57 -0
- package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +1 -0
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +25 -0
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts +69 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +17 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +102 -0
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +82 -0
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts +22 -0
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +20 -0
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts +14 -0
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +42 -0
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -0
- package/lib/viewers/rotation-persist/rotation-api.service.d.ts +14 -0
- package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +1 -0
- package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +27 -0
- package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +1 -0
- package/lib/viewers/rotation-persist/rotation.model.d.ts +5 -0
- package/lib/viewers/rotation-persist/rotation.model.d.ts.map +1 -0
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +23 -0
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +1 -0
- package/lib/viewers/viewer-event.service.d.ts +23 -0
- package/lib/viewers/viewer-event.service.d.ts.map +1 -0
- package/lib/viewers/viewer-exception.model.d.ts +15 -0
- package/lib/viewers/viewer-exception.model.d.ts.map +1 -0
- package/lib/viewers/viewer-util.service.d.ts +10 -0
- package/lib/viewers/viewer-util.service.d.ts.map +1 -0
- package/package.json +12 -10
- package/public_api.d.ts +30 -0
- package/public_api.d.ts.map +1 -0
- package/index.d.ts.map +0 -1
package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../../../toolbar/toolbar-event.service";
|
|
4
|
+
import * as i2 from "../../annotation-create/highlight-create/highlight-create.service";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
import * as i4 from "mutable-div";
|
|
7
|
+
export class RectangleComponent {
|
|
8
|
+
set annoRect(annoRect) {
|
|
9
|
+
this._annoRect = { ...annoRect };
|
|
10
|
+
this.height = +(annoRect.height * this.zoom).toFixed(2);
|
|
11
|
+
this.width = +(annoRect.width * this.zoom).toFixed(2);
|
|
12
|
+
this.left = +(annoRect.x * this.zoom).toFixed(2);
|
|
13
|
+
this.top = +(annoRect.y * this.zoom).toFixed(2);
|
|
14
|
+
}
|
|
15
|
+
get annoRect() {
|
|
16
|
+
return this._annoRect;
|
|
17
|
+
}
|
|
18
|
+
constructor(toolbarEvents, highlightService) {
|
|
19
|
+
this.toolbarEvents = toolbarEvents;
|
|
20
|
+
this.highlightService = highlightService;
|
|
21
|
+
this.selectEvent = new EventEmitter();
|
|
22
|
+
this.updateEvent = new EventEmitter();
|
|
23
|
+
this.subscriptions = [];
|
|
24
|
+
this.enableGrabNDrag = false;
|
|
25
|
+
}
|
|
26
|
+
ngOnChanges(changes) {
|
|
27
|
+
if (changes.rotate) {
|
|
28
|
+
this.adjustForRotation(this.rotate);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
ngAfterViewInit() {
|
|
32
|
+
this.subscriptions.push(this.toolbarEvents.grabNDrag.subscribe(grabNDrag => this.enableGrabNDrag = grabNDrag));
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
this.subscriptions.filter(subscription => !subscription.closed)
|
|
36
|
+
.forEach(subscription => subscription.unsubscribe());
|
|
37
|
+
}
|
|
38
|
+
set selected(selected) {
|
|
39
|
+
this._selected = selected;
|
|
40
|
+
if (this._selected && this.viewRect) {
|
|
41
|
+
this.viewRect.nativeElement.focus();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
get selected() {
|
|
45
|
+
return this._selected;
|
|
46
|
+
}
|
|
47
|
+
onClick() {
|
|
48
|
+
this.selectEvent.emit(this.annoRect);
|
|
49
|
+
}
|
|
50
|
+
onUpdate(viewRect) {
|
|
51
|
+
const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = viewRect;
|
|
52
|
+
if (this.hasRectangleChanged(viewRect)) {
|
|
53
|
+
let rectangle = this.highlightService
|
|
54
|
+
.applyRotation(this.pageHeight, this.pageWidth, offsetHeight, offsetWidth, offsetTop, offsetLeft, this.rotate, this.zoom);
|
|
55
|
+
rectangle = { ...this.annoRect, ...rectangle };
|
|
56
|
+
this.updateEvent.emit({ ...rectangle });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
adjustForRotation(rotation) {
|
|
60
|
+
const { top, left, height, width } = this;
|
|
61
|
+
switch (rotation) {
|
|
62
|
+
case 90:
|
|
63
|
+
this.width = height;
|
|
64
|
+
this.height = width;
|
|
65
|
+
this.left = this.pageWidth - top - height;
|
|
66
|
+
this.top = left;
|
|
67
|
+
break;
|
|
68
|
+
case 180:
|
|
69
|
+
this.left = this.pageWidth - left - width;
|
|
70
|
+
this.top = this.pageHeight - top - height;
|
|
71
|
+
break;
|
|
72
|
+
case 270:
|
|
73
|
+
this.width = height;
|
|
74
|
+
this.height = width;
|
|
75
|
+
this.left = top;
|
|
76
|
+
this.top = this.pageHeight - left - width;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
hasRectangleChanged(viewRect) {
|
|
81
|
+
return Math.round(this.left) !== viewRect.offsetLeft ||
|
|
82
|
+
Math.round(this.top) !== viewRect.offsetTop ||
|
|
83
|
+
Math.round(this.width) !== viewRect.offsetWidth ||
|
|
84
|
+
Math.round(this.height) !== viewRect.offsetHeight;
|
|
85
|
+
}
|
|
86
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RectangleComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.HighlightCreateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RectangleComponent, selector: "mv-anno-rectangle", inputs: { color: "color", zoom: "zoom", rotate: "rotate", editable: "editable", pageHeight: "pageHeight", pageWidth: "pageWidth", annoRect: "annoRect", selected: "selected" }, outputs: { selectEvent: "selectEvent", updateEvent: "updateEvent" }, viewQueries: [{ propertyName: "viewRect", first: true, predicate: ["rectElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"editable; else nonEditable\">\n <div #rectElement\n class=\"rectangle\"\n draggable\n resizable\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected, 'grabNDrag': enableGrabNDrag }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height + 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n [rotate]=\"0\"\n [selected]=\"selected\"\n (click)=\"onClick()\"\n (stopped)=\"onUpdate(rectElement)\">\n </div>\n</div>\n<ng-template #nonEditable>\n <div #rectElement\n class=\"rectangle\"\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height+ 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n (click)=\"onClick()\">\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DraggableElementDirective, selector: "[draggable]", inputs: ["rotate"], outputs: ["coordinates", "stopped"] }, { kind: "directive", type: i4.ResizableElementDirective, selector: "[resizable]", inputs: ["rotate", "selected"], outputs: ["stopped"] }] }); }
|
|
88
|
+
}
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RectangleComponent, decorators: [{
|
|
90
|
+
type: Component,
|
|
91
|
+
args: [{ selector: 'mv-anno-rectangle', template: "<div *ngIf=\"editable; else nonEditable\">\n <div #rectElement\n class=\"rectangle\"\n draggable\n resizable\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected, 'grabNDrag': enableGrabNDrag }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height + 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n [rotate]=\"0\"\n [selected]=\"selected\"\n (click)=\"onClick()\"\n (stopped)=\"onUpdate(rectElement)\">\n </div>\n</div>\n<ng-template #nonEditable>\n <div #rectElement\n class=\"rectangle\"\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height+ 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n (click)=\"onClick()\">\n </div>\n</ng-template>\n" }]
|
|
92
|
+
}], ctorParameters: () => [{ type: i1.ToolbarEventService }, { type: i2.HighlightCreateService }], propDecorators: { color: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], zoom: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], rotate: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], editable: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], pageHeight: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], pageWidth: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], selectEvent: [{
|
|
105
|
+
type: Output
|
|
106
|
+
}], updateEvent: [{
|
|
107
|
+
type: Output
|
|
108
|
+
}], viewRect: [{
|
|
109
|
+
type: ViewChild,
|
|
110
|
+
args: ['rectElement', { static: false }]
|
|
111
|
+
}], annoRect: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], selected: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}] } });
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdGFuZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVjdGFuZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVjdGFuZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFVdkIsTUFBTSxPQUFPLGtCQUFrQjtJQXdCN0IsSUFDSSxRQUFRLENBQUMsUUFBbUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENB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QkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0UsbUJBQW1COzZIQUtwQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRW9DLFFBQVE7c0JBQWxELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFhckMsUUFBUTtzQkFEWCxLQUFLO2dCQW1DRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlY3RhbmdsZSB9IGZyb20gJy4vcmVjdGFuZ2xlLm1vZGVsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEhpZ2hsaWdodENyZWF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9uLWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWFubm8tcmVjdGFuZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY3RhbmdsZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUmVjdGFuZ2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGNvbG9yOiBTdHJpbmc7XG4gIEBJbnB1dCgpIHpvb206IG51bWJlcjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuO1xuICBASW5wdXQoKSBwYWdlSGVpZ2h0OiBudW1iZXI7XG4gIEBJbnB1dCgpIHBhZ2VXaWR0aDogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjdGFuZ2xlPigpO1xuICBAT3V0cHV0KCkgdXBkYXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY3RhbmdsZT4oKTtcblxuICBAVmlld0NoaWxkKCdyZWN0RWxlbWVudCcsIHtzdGF0aWM6IGZhbHNlfSkgdmlld1JlY3Q6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBfc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIGVuYWJsZUdyYWJORHJhZyA9IGZhbHNlO1xuXG4gIGhlaWdodDogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuXG4gIF9hbm5vUmVjdDogUmVjdGFuZ2xlO1xuICBASW5wdXQoKVxuICBzZXQgYW5ub1JlY3QoYW5ub1JlY3Q6IFJlY3RhbmdsZSkge1xuICAgIHRoaXMuX2Fubm9SZWN0ID0geyAuLi5hbm5vUmVjdCB9O1xuICAgIHRoaXMuaGVpZ2h0ID0gKyhhbm5vUmVjdC5oZWlnaHQgKiB0aGlzLnpvb20pLnRvRml4ZWQoMik7XG4gICAgdGhpcy53aWR0aCA9ICsoYW5ub1JlY3Qud2lkdGggKiB0aGlzLnpvb20pLnRvRml4ZWQoMik7XG4gICAgdGhpcy5sZWZ0ID0gKyhhbm5vUmVjdC54ICogdGhpcy56b29tKS50b0ZpeGVkKDIpO1xuICAgIHRoaXMudG9wID0gKyhhbm5vUmVjdC55ICogdGhpcy56b29tKS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgZ2V0IGFubm9SZWN0KCkge1xuICAgIHJldHVybiB0aGlzLl9hbm5vUmVjdDtcbiAgfVxuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpZ2hsaWdodFNlcnZpY2U6IEhpZ2hsaWdodENyZWF0ZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLnJvdGF0ZSkge1xuICAgICAgdGhpcy5hZGp1c3RGb3JSb3RhdGlvbih0aGlzLnJvdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmdyYWJORHJhZy5zdWJzY3JpYmUoZ3JhYk5EcmFnID0+IHRoaXMuZW5hYmxlR3JhYk5EcmFnID0gZ3JhYk5EcmFnKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZmlsdGVyKHN1YnNjcmlwdGlvbiA9PiAhc3Vic2NyaXB0aW9uLmNsb3NlZClcbiAgICAgIC5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgc2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgIGlmICh0aGlzLl9zZWxlY3RlZCAmJiB0aGlzLnZpZXdSZWN0KSB7XG4gICAgICB0aGlzLnZpZXdSZWN0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgc2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICB9XG5cbiAgb25DbGljaygpIHtcbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQodGhpcy5hbm5vUmVjdCk7XG4gIH1cblxuICBvblVwZGF0ZSh2aWV3UmVjdDogYW55KSB7XG4gICAgY29uc3QgeyBvZmZzZXRIZWlnaHQsIG9mZnNldFdpZHRoLCBvZmZzZXRUb3AsIG9mZnNldExlZnQgfSA9IHZpZXdSZWN0O1xuICAgIGlmICh0aGlzLmhhc1JlY3RhbmdsZUNoYW5nZWQodmlld1JlY3QpKSB7XG4gICAgICBsZXQgcmVjdGFuZ2xlID0gdGhpcy5oaWdobGlnaHRTZXJ2aWNlXG4gICAgICAgIC5hcHBseVJvdGF0aW9uKHRoaXMucGFnZUhlaWdodCwgdGhpcy5wYWdlV2lkdGgsIG9mZnNldEhlaWdodCwgb2Zmc2V0V2lkdGgsIG9mZnNldFRvcCwgb2Zmc2V0TGVmdCwgdGhpcy5yb3RhdGUsIHRoaXMuem9vbSk7XG4gICAgICByZWN0YW5nbGUgPSB7IC4uLnRoaXMuYW5ub1JlY3QsIC4uLnJlY3RhbmdsZSB9O1xuICAgICAgdGhpcy51cGRhdGVFdmVudC5lbWl0KHsgLi4ucmVjdGFuZ2xlIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFkanVzdEZvclJvdGF0aW9uKHJvdGF0aW9uOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IHRvcCwgbGVmdCwgaGVpZ2h0LCB3aWR0aCB9ID0gdGhpcztcbiAgICBzd2l0Y2ggKHJvdGF0aW9uKSB7XG4gICAgICBjYXNlIDkwOlxuICAgICAgICB0aGlzLndpZHRoID0gaGVpZ2h0O1xuICAgICAgICB0aGlzLmhlaWdodCA9IHdpZHRoO1xuICAgICAgICB0aGlzLmxlZnQgPSB0aGlzLnBhZ2VXaWR0aCAgLSB0b3AgLSBoZWlnaHQ7XG4gICAgICAgIHRoaXMudG9wID0gbGVmdDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDE4MDpcbiAgICAgICAgdGhpcy5sZWZ0ID0gdGhpcy5wYWdlV2lkdGggLSBsZWZ0IC0gd2lkdGg7XG4gICAgICAgIHRoaXMudG9wID0gdGhpcy5wYWdlSGVpZ2h0IC0gdG9wIC0gaGVpZ2h0O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjcwOlxuICAgICAgICB0aGlzLndpZHRoID0gaGVpZ2h0O1xuICAgICAgICB0aGlzLmhlaWdodCA9IHdpZHRoO1xuICAgICAgICB0aGlzLmxlZnQgPSB0b3A7XG4gICAgICAgIHRoaXMudG9wID0gdGhpcy5wYWdlSGVpZ2h0IC0gbGVmdCAtIHdpZHRoO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBoYXNSZWN0YW5nbGVDaGFuZ2VkKHZpZXdSZWN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQodGhpcy5sZWZ0KSAhPT0gdmlld1JlY3Qub2Zmc2V0TGVmdCB8fFxuICAgICAgTWF0aC5yb3VuZCh0aGlzLnRvcCkgIT09IHZpZXdSZWN0Lm9mZnNldFRvcCB8fFxuICAgICAgTWF0aC5yb3VuZCh0aGlzLndpZHRoKSAhPT0gdmlld1JlY3Qub2Zmc2V0V2lkdGggfHxcbiAgICAgIE1hdGgucm91bmQodGhpcy5oZWlnaHQpICE9PSB2aWV3UmVjdC5vZmZzZXRIZWlnaHQ7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJlZGl0YWJsZTsgZWxzZSBub25FZGl0YWJsZVwiPlxuICA8ZGl2ICNyZWN0RWxlbWVudFxuICAgICAgIGNsYXNzPVwicmVjdGFuZ2xlXCJcbiAgICAgICBkcmFnZ2FibGVcbiAgICAgICByZXNpemFibGVcbiAgICAgICBbdGFiaW5kZXhdPVwiYW5ub1JlY3QuaWRcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkJzogc2VsZWN0ZWQsICdncmFiTkRyYWcnOiBlbmFibGVHcmFiTkRyYWcgfVwiXG4gICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCInIycgKyBjb2xvclwiXG4gICAgICAgW3N0eWxlLndpZHRoXT1cIndpZHRoICsgJ3B4J1wiXG4gICAgICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHQgKyAncHgnXCJcbiAgICAgICBbc3R5bGUubGVmdF09XCJsZWZ0ICsgJ3B4J1wiXG4gICAgICAgW3N0eWxlLnRvcF09XCJ0b3AgKyAncHgnXCJcbiAgICAgICBbcm90YXRlXT1cIjBcIlxuICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZFwiXG4gICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAgKHN0b3BwZWQpPVwib25VcGRhdGUocmVjdEVsZW1lbnQpXCI+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI25vbkVkaXRhYmxlPlxuICA8ZGl2ICNyZWN0RWxlbWVudFxuICAgICAgIGNsYXNzPVwicmVjdGFuZ2xlXCJcbiAgICAgICBbdGFiaW5kZXhdPVwiYW5ub1JlY3QuaWRcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkJzogc2VsZWN0ZWQgfVwiXG4gICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCInIycgKyBjb2xvclwiXG4gICAgICAgW3N0eWxlLndpZHRoXT1cIndpZHRoICsgJ3B4J1wiXG4gICAgICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHQrICdweCdcIlxuICAgICAgIFtzdHlsZS5sZWZ0XT1cImxlZnQgKyAncHgnXCJcbiAgICAgICBbc3R5bGUudG9wXT1cInRvcCArICdweCdcIlxuICAgICAgIChjbGljayk9XCJvbkNsaWNrKClcIj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdGFuZ2xlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L3JlY3RhbmdsZS9yZWN0YW5nbGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaVBlcnNpc3RlZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9hcGktcGVyc2lzdGVkLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBSZWN0YW5nbGUgZXh0ZW5kcyBBcGlQZXJzaXN0ZWQge1xuICBhbm5vdGF0aW9uSWQ6IHN0cmluZztcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class CtxToolbarComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.createHighlightEvent = new EventEmitter();
|
|
7
|
+
this.deleteHighlightEvent = new EventEmitter();
|
|
8
|
+
this.addOrEditCommentEvent = new EventEmitter();
|
|
9
|
+
this.createBookmarkEvent = new EventEmitter();
|
|
10
|
+
this.cancelEvent = new EventEmitter();
|
|
11
|
+
this.defaultHeight = 70;
|
|
12
|
+
this.defaultWidth = 300;
|
|
13
|
+
}
|
|
14
|
+
ngOnChanges(changes) {
|
|
15
|
+
this.setRectangle();
|
|
16
|
+
this.top = this.popupTop();
|
|
17
|
+
this.left = this.popupLeft();
|
|
18
|
+
}
|
|
19
|
+
onEscapeKey(event) {
|
|
20
|
+
if (this.rectangle) {
|
|
21
|
+
event.stopPropagation();
|
|
22
|
+
event.preventDefault();
|
|
23
|
+
this.rectangle = undefined;
|
|
24
|
+
this.cancelEvent.emit();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
set rectangles(rectangles) {
|
|
28
|
+
if (rectangles) {
|
|
29
|
+
this._rectangles = rectangles;
|
|
30
|
+
this.setRectangle();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
get rectangles() {
|
|
34
|
+
return this._rectangles;
|
|
35
|
+
}
|
|
36
|
+
createHighlight() {
|
|
37
|
+
this.createHighlightEvent.emit();
|
|
38
|
+
this.rectangle = undefined;
|
|
39
|
+
}
|
|
40
|
+
deleteHighlight() {
|
|
41
|
+
this.deleteHighlightEvent.emit();
|
|
42
|
+
}
|
|
43
|
+
addOrEditComment() {
|
|
44
|
+
this.addOrEditCommentEvent.emit();
|
|
45
|
+
setTimeout(() => {
|
|
46
|
+
// This hack to wait until the element is rendered seems to be unreliable,
|
|
47
|
+
if (!location.hash) {
|
|
48
|
+
document.getElementById('viewerContainer')?.scrollBy(0, 1);
|
|
49
|
+
}
|
|
50
|
+
}, 20);
|
|
51
|
+
}
|
|
52
|
+
createBookmark() {
|
|
53
|
+
this.createBookmarkEvent.emit(this.rectangle);
|
|
54
|
+
this.rectangle = undefined;
|
|
55
|
+
}
|
|
56
|
+
setRectangle() {
|
|
57
|
+
const rectangle = this.rectangles
|
|
58
|
+
.reduce((prev, current) => prev.y < current.y ? prev : current);
|
|
59
|
+
this.rectangle = { ...rectangle };
|
|
60
|
+
switch (this.rotate) {
|
|
61
|
+
case 90:
|
|
62
|
+
this.rectangle.width = rectangle.height;
|
|
63
|
+
this.rectangle.height = rectangle.width;
|
|
64
|
+
this.rectangle.x = (this.pageWidth / this.zoom) - rectangle.y - rectangle.height;
|
|
65
|
+
this.rectangle.y = rectangle.x;
|
|
66
|
+
break;
|
|
67
|
+
case 180:
|
|
68
|
+
this.rectangle.x = (this.pageWidth / this.zoom) - rectangle.x - rectangle.width;
|
|
69
|
+
this.rectangle.y = (this.pageHeight / this.zoom) - rectangle.y - rectangle.height;
|
|
70
|
+
break;
|
|
71
|
+
case 270:
|
|
72
|
+
this.rectangle.width = rectangle.height;
|
|
73
|
+
this.rectangle.height = rectangle.width;
|
|
74
|
+
this.rectangle.x = rectangle.y;
|
|
75
|
+
this.rectangle.y = (this.pageHeight / this.zoom) - rectangle.x - rectangle.width;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
popupTop() {
|
|
80
|
+
const popupTop = this.rectangle.y * this.zoom - this.defaultHeight;
|
|
81
|
+
return popupTop <= 0 ? this.defaultHeight : popupTop;
|
|
82
|
+
}
|
|
83
|
+
popupLeft() {
|
|
84
|
+
const popupLeft = (this.rectangle.x + (this.rectangle.width / 2)) * this.zoom - (this.defaultWidth / 2);
|
|
85
|
+
if (popupLeft <= 0) {
|
|
86
|
+
return 0;
|
|
87
|
+
}
|
|
88
|
+
else if (popupLeft >= this.pageWidth - this.defaultWidth) {
|
|
89
|
+
return this.pageWidth - this.defaultWidth;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
return popupLeft;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
focusToolbar() {
|
|
96
|
+
if (this.toolbarContainer?.nativeElement) {
|
|
97
|
+
const firstButton = this.toolbarContainer.nativeElement.querySelector('button');
|
|
98
|
+
if (firstButton) {
|
|
99
|
+
setTimeout(() => firstButton.focus(), 0);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CtxToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
105
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CtxToolbarComponent, selector: "mv-ctx-toolbar", inputs: { zoom: "zoom", rotate: "rotate", pageHeight: "pageHeight", pageWidth: "pageWidth", canHighlight: "canHighlight", canBookmark: "canBookmark", canComment: "canComment", canDelete: "canDelete", rectangles: "rectangles" }, outputs: { createHighlightEvent: "createHighlightEvent", deleteHighlightEvent: "deleteHighlightEvent", addOrEditCommentEvent: "addOrEditCommentEvent", createBookmarkEvent: "createBookmarkEvent", cancelEvent: "cancelEvent" }, host: { listeners: { "document:keydown.escape": "onEscapeKey($event)" } }, viewQueries: [{ propertyName: "toolbarContainer", first: true, predicate: ["toolbarContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #toolbarContainer class=\"toolbar\" *ngIf=\"rectangle\"\n [style.top.px]=\"top\"\n [style.left.px]=\"left\">\n <button *ngIf=\"canHighlight\"\n type=\"button\" title=\"Highlight\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn leftButton aui__toolbar-button-highlight\"\n (mousedown)=\"createHighlight()\"\n (keydown.enter)=\"createHighlight()\">\n <span>Highlight</span>\n </button>\n <button *ngIf=\"canDelete\"\n type=\"button\" title=\"Delete\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn leftButton\"\n (mousedown)=\"deleteHighlight()\"\n (keydown.enter)=\"deleteHighlight()\">\n <span>Remove</span>\n </button>\n <button *ngIf=\"canComment\"\n type=\"button\" title=\"Comment\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn rightButton aui__toolbar-button-comment\"\n (mousedown)=\"addOrEditComment()\"\n (keydown.enter)=\"addOrEditComment()\">\n <span>Comment</span></button>\n <button *ngIf=\"canBookmark\"\n type=\"button\" title=\"Bookmark\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn rightButton aui__toolbar-button-bookmark\"\n id=\"bookmarkButton\"\n (mousedown)=\"createBookmark()\"\n (keydown.enter)=\"createBookmark()\">\n <span>Bookmark</span></button>\n <div class=\"arrow-down\">\n <div class=\"inner-triangle\"></div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
106
|
+
}
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CtxToolbarComponent, decorators: [{
|
|
108
|
+
type: Component,
|
|
109
|
+
args: [{ selector: 'mv-ctx-toolbar', template: "<div #toolbarContainer class=\"toolbar\" *ngIf=\"rectangle\"\n [style.top.px]=\"top\"\n [style.left.px]=\"left\">\n <button *ngIf=\"canHighlight\"\n type=\"button\" title=\"Highlight\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn leftButton aui__toolbar-button-highlight\"\n (mousedown)=\"createHighlight()\"\n (keydown.enter)=\"createHighlight()\">\n <span>Highlight</span>\n </button>\n <button *ngIf=\"canDelete\"\n type=\"button\" title=\"Delete\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn leftButton\"\n (mousedown)=\"deleteHighlight()\"\n (keydown.enter)=\"deleteHighlight()\">\n <span>Remove</span>\n </button>\n <button *ngIf=\"canComment\"\n type=\"button\" title=\"Comment\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn rightButton aui__toolbar-button-comment\"\n (mousedown)=\"addOrEditComment()\"\n (keydown.enter)=\"addOrEditComment()\">\n <span>Comment</span></button>\n <button *ngIf=\"canBookmark\"\n type=\"button\" title=\"Bookmark\"\n class=\"aui__toolbar-button aui__toolbar-button--comments contextual-btn rightButton aui__toolbar-button-bookmark\"\n id=\"bookmarkButton\"\n (mousedown)=\"createBookmark()\"\n (keydown.enter)=\"createBookmark()\">\n <span>Bookmark</span></button>\n <div class=\"arrow-down\">\n <div class=\"inner-triangle\"></div>\n </div>\n</div>\n" }]
|
|
110
|
+
}], ctorParameters: () => [], propDecorators: { toolbarContainer: [{
|
|
111
|
+
type: ViewChild,
|
|
112
|
+
args: ['toolbarContainer', { static: false }]
|
|
113
|
+
}], zoom: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], rotate: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], pageHeight: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], pageWidth: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], canHighlight: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], canBookmark: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], canComment: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], canDelete: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], createHighlightEvent: [{
|
|
130
|
+
type: Output
|
|
131
|
+
}], deleteHighlightEvent: [{
|
|
132
|
+
type: Output
|
|
133
|
+
}], addOrEditCommentEvent: [{
|
|
134
|
+
type: Output
|
|
135
|
+
}], createBookmarkEvent: [{
|
|
136
|
+
type: Output
|
|
137
|
+
}], cancelEvent: [{
|
|
138
|
+
type: Output
|
|
139
|
+
}], onEscapeKey: [{
|
|
140
|
+
type: HostListener,
|
|
141
|
+
args: ['document:keydown.escape', ['$event']]
|
|
142
|
+
}], rectangles: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}] } });
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3R4LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvY3R4LXRvb2xiYXIvY3R4LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvY3R4LXRvb2xiYXIvY3R4LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDOzs7QUFPdkIsTUFBTSxPQUFPLG1CQUFtQjtJQTRCOUI7UUFYVSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUMsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQ3BELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVF6QyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBR0QsV0FB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWN0YW5nbGUgfSBmcm9tICcuLi9hbm5vdGF0aW9uLXZpZXcvcmVjdGFuZ2xlL3JlY3RhbmdsZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWN0eC10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N0eC10b29sYmFyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDdHhUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICByZWFkb25seSBkZWZhdWx0SGVpZ2h0O1xuICByZWFkb25seSBkZWZhdWx0V2lkdGg7XG5cbiAgQFZpZXdDaGlsZCgndG9vbGJhckNvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSB0b29sYmFyQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBASW5wdXQoKSB6b29tO1xuICBASW5wdXQoKSByb3RhdGU7XG4gIEBJbnB1dCgpIHBhZ2VIZWlnaHQ6IG51bWJlcjtcbiAgQElucHV0KCkgcGFnZVdpZHRoOiBudW1iZXI7XG5cbiAgQElucHV0KCkgY2FuSGlnaGxpZ2h0OiBib29sZWFuO1xuICBASW5wdXQoKSBjYW5Cb29rbWFyazogYm9vbGVhbjtcbiAgQElucHV0KCkgY2FuQ29tbWVudDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2FuRGVsZXRlOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBjcmVhdGVIaWdobGlnaHRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRlbGV0ZUhpZ2hsaWdodEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgYWRkT3JFZGl0Q29tbWVudEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY3JlYXRlQm9va21hcmtFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjdGFuZ2xlPigpO1xuICBAT3V0cHV0KCkgY2FuY2VsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcmVjdGFuZ2xlOiBSZWN0YW5nbGU7XG4gIF9yZWN0YW5nbGVzOiBSZWN0YW5nbGVbXTtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRlZmF1bHRIZWlnaHQgPSA3MDtcbiAgICB0aGlzLmRlZmF1bHRXaWR0aCA9IDMwMDtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLnNldFJlY3RhbmdsZSgpO1xuICAgIHRoaXMudG9wID0gdGhpcy5wb3B1cFRvcCgpO1xuICAgIHRoaXMubGVmdCA9IHRoaXMucG9wdXBMZWZ0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIG9uRXNjYXBlS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMucmVjdGFuZ2xlKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnJlY3RhbmdsZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuY2FuY2VsRXZlbnQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHNldCByZWN0YW5nbGVzKHJlY3RhbmdsZXM6IFJlY3RhbmdsZVtdKSB7XG4gICAgaWYgKHJlY3RhbmdsZXMpIHtcbiAgICAgIHRoaXMuX3JlY3RhbmdsZXMgPSByZWN0YW5nbGVzO1xuICAgICAgdGhpcy5zZXRSZWN0YW5nbGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVjdGFuZ2xlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVjdGFuZ2xlcztcbiAgfVxuXG4gIGNyZWF0ZUhpZ2hsaWdodCgpIHtcbiAgICB0aGlzLmNyZWF0ZUhpZ2hsaWdodEV2ZW50LmVtaXQoKTtcbiAgICB0aGlzLnJlY3RhbmdsZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGRlbGV0ZUhpZ2hsaWdodCgpIHtcbiAgICB0aGlzLmRlbGV0ZUhpZ2hsaWdodEV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGFkZE9yRWRpdENvbW1lbnQoKSB7XG4gICAgdGhpcy5hZGRPckVkaXRDb21tZW50RXZlbnQuZW1pdCgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gVGhpcyBoYWNrIHRvIHdhaXQgdW50aWwgdGhlIGVsZW1lbnQgaXMgcmVuZGVyZWQgc2VlbXMgdG8gYmUgdW5yZWxpYWJsZSxcbiAgICAgIGlmICghbG9jYXRpb24uaGFzaCkge1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlld2VyQ29udGFpbmVyJyk/LnNjcm9sbEJ5KDAsIDEpO1xuICAgICAgfVxuICAgIH0sIDIwKTtcbiAgfVxuXG4gIGNyZWF0ZUJvb2ttYXJrKCkge1xuICAgIHRoaXMuY3JlYXRlQm9va21hcmtFdmVudC5lbWl0KHRoaXMucmVjdGFuZ2xlKTtcbiAgICB0aGlzLnJlY3RhbmdsZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldFJlY3RhbmdsZSgpIHtcbiAgICBjb25zdCByZWN0YW5nbGUgPSB0aGlzLnJlY3RhbmdsZXNcbiAgICAgIC5yZWR1Y2UoKHByZXYsIGN1cnJlbnQpID0+IHByZXYueSA8IGN1cnJlbnQueSA/IHByZXYgOiBjdXJyZW50KTtcbiAgICB0aGlzLnJlY3RhbmdsZSA9ICB7IC4uLnJlY3RhbmdsZSB9O1xuICAgIHN3aXRjaCAodGhpcy5yb3RhdGUpIHtcbiAgICAgIGNhc2UgOTA6XG4gICAgICAgIHRoaXMucmVjdGFuZ2xlLndpZHRoID0gcmVjdGFuZ2xlLmhlaWdodDtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGUuaGVpZ2h0ID0gcmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICB0aGlzLnJlY3RhbmdsZS54ID0gKHRoaXMucGFnZVdpZHRoIC8gdGhpcy56b29tKSAtIHJlY3RhbmdsZS55IC0gcmVjdGFuZ2xlLmhlaWdodDtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGUueSA9IHJlY3RhbmdsZS54O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTgwOlxuICAgICAgICB0aGlzLnJlY3RhbmdsZS54ID0gKHRoaXMucGFnZVdpZHRoIC8gdGhpcy56b29tKSAtIHJlY3RhbmdsZS54IC0gcmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICB0aGlzLnJlY3RhbmdsZS55ID0gKHRoaXMucGFnZUhlaWdodCAvIHRoaXMuem9vbSkgLSByZWN0YW5nbGUueSAtIHJlY3RhbmdsZS5oZWlnaHQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyNzA6XG4gICAgICAgIHRoaXMucmVjdGFuZ2xlLndpZHRoID0gcmVjdGFuZ2xlLmhlaWdodDtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGUuaGVpZ2h0ID0gcmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICB0aGlzLnJlY3RhbmdsZS54ID0gcmVjdGFuZ2xlLnk7XG4gICAgICAgIHRoaXMucmVjdGFuZ2xlLnkgPSAodGhpcy5wYWdlSGVpZ2h0IC8gdGhpcy56b29tKSAtIHJlY3RhbmdsZS54IC0gcmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwb3B1cFRvcCgpIHtcbiAgICBjb25zdCBwb3B1cFRvcCA9IHRoaXMucmVjdGFuZ2xlLnkgKiB0aGlzLnpvb20gLSB0aGlzLmRlZmF1bHRIZWlnaHQ7XG4gICAgcmV0dXJuIHBvcHVwVG9wIDw9IDAgPyB0aGlzLmRlZmF1bHRIZWlnaHQgOiBwb3B1cFRvcDtcbiAgfVxuXG4gIHBvcHVwTGVmdCgpIHtcbiAgICBjb25zdCBwb3B1cExlZnQgPSAodGhpcy5yZWN0YW5nbGUueCArICh0aGlzLnJlY3RhbmdsZS53aWR0aCAvIDIpKSAqIHRoaXMuem9vbSAtICh0aGlzLmRlZmF1bHRXaWR0aCAvIDIpO1xuICAgIGlmIChwb3B1cExlZnQgPD0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfSBlbHNlIGlmIChwb3B1cExlZnQgPj0gdGhpcy5wYWdlV2lkdGggLSB0aGlzLmRlZmF1bHRXaWR0aCkge1xuICAgICAgcmV0dXJuIHRoaXMucGFnZVdpZHRoIC0gdGhpcy5kZWZhdWx0V2lkdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwb3B1cExlZnQ7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNUb29sYmFyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvb2xiYXJDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGZpcnN0QnV0dG9uID0gdGhpcy50b29sYmFyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignYnV0dG9uJyk7XG4gICAgICBcbiAgICAgIGlmIChmaXJzdEJ1dHRvbikge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGZpcnN0QnV0dG9uLmZvY3VzKCksIDApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IFxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAjdG9vbGJhckNvbnRhaW5lciBjbGFzcz1cInRvb2xiYXJcIiAqbmdJZj1cInJlY3RhbmdsZVwiXG4gICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICAgW3N0eWxlLmxlZnQucHhdPVwibGVmdFwiPlxuICA8YnV0dG9uICpuZ0lmPVwiY2FuSGlnaGxpZ2h0XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgdGl0bGU9XCJIaWdobGlnaHRcIlxuICAgICAgICAgIGNsYXNzPVwiYXVpX190b29sYmFyLWJ1dHRvbiBhdWlfX3Rvb2xiYXItYnV0dG9uLS1jb21tZW50cyBjb250ZXh0dWFsLWJ0biBsZWZ0QnV0dG9uIGF1aV9fdG9vbGJhci1idXR0b24taGlnaGxpZ2h0XCJcbiAgICAgICAgICAobW91c2Vkb3duKT1cImNyZWF0ZUhpZ2hsaWdodCgpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjcmVhdGVIaWdobGlnaHQoKVwiPlxuICAgIDxzcGFuPkhpZ2hsaWdodDwvc3Bhbj5cbiAgPC9idXR0b24+XG4gIDxidXR0b24gKm5nSWY9XCJjYW5EZWxldGVcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIiB0aXRsZT1cIkRlbGV0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJhdWlfX3Rvb2xiYXItYnV0dG9uIGF1aV9fdG9vbGJhci1idXR0b24tLWNvbW1lbnRzIGNvbnRleHR1YWwtYnRuIGxlZnRCdXR0b25cIlxuICAgICAgICAgIChtb3VzZWRvd24pPVwiZGVsZXRlSGlnaGxpZ2h0KClcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImRlbGV0ZUhpZ2hsaWdodCgpXCI+XG4gICAgPHNwYW4+UmVtb3ZlPC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiAqbmdJZj1cImNhbkNvbW1lbnRcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIiB0aXRsZT1cIkNvbW1lbnRcIlxuICAgICAgICAgIGNsYXNzPVwiYXVpX190b29sYmFyLWJ1dHRvbiBhdWlfX3Rvb2xiYXItYnV0dG9uLS1jb21tZW50cyBjb250ZXh0dWFsLWJ0biByaWdodEJ1dHRvbiBhdWlfX3Rvb2xiYXItYnV0dG9uLWNvbW1lbnRcIlxuICAgICAgICAgIChtb3VzZWRvd24pPVwiYWRkT3JFZGl0Q29tbWVudCgpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJhZGRPckVkaXRDb21tZW50KClcIj5cbiAgICA8c3Bhbj5Db21tZW50PC9zcGFuPjwvYnV0dG9uPlxuICA8YnV0dG9uICpuZ0lmPVwiY2FuQm9va21hcmtcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIiB0aXRsZT1cIkJvb2ttYXJrXCJcbiAgICAgICAgICBjbGFzcz1cImF1aV9fdG9vbGJhci1idXR0b24gYXVpX190b29sYmFyLWJ1dHRvbi0tY29tbWVudHMgY29udGV4dHVhbC1idG4gcmlnaHRCdXR0b24gYXVpX190b29sYmFyLWJ1dHRvbi1ib29rbWFya1wiXG4gICAgICAgICAgaWQ9XCJib29rbWFya0J1dHRvblwiXG4gICAgICAgICAgKG1vdXNlZG93bik9XCJjcmVhdGVCb29rbWFyaygpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjcmVhdGVCb29rbWFyaygpXCI+XG4gICAgPHNwYW4+Qm9va21hcms8L3NwYW4+PC9idXR0b24+XG4gIDxkaXYgY2xhc3M9XCJhcnJvdy1kb3duXCI+XG4gICAgPGRpdiBjbGFzcz1cImlubmVyLXRyaWFuZ2xlXCI+PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { take } from 'rxjs/operators';
|
|
3
|
+
import { select } from '@ngrx/store';
|
|
4
|
+
import { v4 as uuid } from 'uuid';
|
|
5
|
+
import * as fromDocument from '../../../store/selectors/document.selectors';
|
|
6
|
+
import * as fromSelectors from '../../../store/selectors/annotation.selectors';
|
|
7
|
+
import { CreateBookmark } from '../../../store/actions/bookmark.actions';
|
|
8
|
+
import * as fromBookmarks from '../../../store/selectors/bookmark.selectors';
|
|
9
|
+
import { CtxToolbarComponent } from '../ctx-toolbar/ctx-toolbar.component';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@ngrx/store";
|
|
12
|
+
import * as i2 from "../annotation-create/highlight-create/highlight-create.service";
|
|
13
|
+
import * as i3 from "../../../toolbar/toolbar-event.service";
|
|
14
|
+
import * as i4 from "../../../viewers/viewer-event.service";
|
|
15
|
+
import * as i5 from "@angular/common";
|
|
16
|
+
import * as i6 from "../annotation-create/box-highlight-create/box-highlight-create.component";
|
|
17
|
+
import * as i7 from "../annotation-set.component";
|
|
18
|
+
import * as i8 from "../ctx-toolbar/ctx-toolbar.component";
|
|
19
|
+
export class MetadataLayerComponent {
|
|
20
|
+
constructor(store, highlightService, toolbarEvents, viewerEvents) {
|
|
21
|
+
this.store = store;
|
|
22
|
+
this.highlightService = highlightService;
|
|
23
|
+
this.toolbarEvents = toolbarEvents;
|
|
24
|
+
this.viewerEvents = viewerEvents;
|
|
25
|
+
this.pages = []; // todo add type
|
|
26
|
+
this.drawMode = false;
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.$subscriptions = this.store.pipe(select(fromDocument.getPages))
|
|
30
|
+
.subscribe(pages => this.pages = Object.values(pages));
|
|
31
|
+
this.annoPages$ = this.store.pipe(select(fromSelectors.getPageEntities));
|
|
32
|
+
this.$subscriptions.add(this.toolbarEvents.drawModeSubject.subscribe(drawMode => this.drawMode = drawMode));
|
|
33
|
+
this.$subscriptions.add(this.viewerEvents.textHighlight.subscribe(highlight => this.showContextToolbar(highlight)));
|
|
34
|
+
this.$subscriptions.add(this.viewerEvents.ctxToolbarCleared.subscribe(() => this.clearContextToolbar()));
|
|
35
|
+
}
|
|
36
|
+
ngOnDestroy() {
|
|
37
|
+
this.$subscriptions.unsubscribe();
|
|
38
|
+
}
|
|
39
|
+
showContextToolbar(highlight) {
|
|
40
|
+
this.highlightPage = highlight.page;
|
|
41
|
+
this.rectangles = highlight.rectangles;
|
|
42
|
+
if (this.rectangles) {
|
|
43
|
+
this.toolbarEvents.highlightModeSubject.next(false);
|
|
44
|
+
setTimeout(() => this.ctxToolbar.focusToolbar(), 0);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
clearContextToolbar() {
|
|
48
|
+
this.rectangles = undefined;
|
|
49
|
+
}
|
|
50
|
+
cancelContextToolbar() {
|
|
51
|
+
const selection = window.getSelection();
|
|
52
|
+
if (selection) {
|
|
53
|
+
selection.removeAllRanges();
|
|
54
|
+
}
|
|
55
|
+
this.rectangles = undefined;
|
|
56
|
+
this.toolbarEvents.highlightModeSubject.next(true);
|
|
57
|
+
}
|
|
58
|
+
createHighlight() {
|
|
59
|
+
this.highlightService.saveAnnotation(this.rectangles, this.highlightPage);
|
|
60
|
+
this.highlightService.resetHighlight();
|
|
61
|
+
this.rectangles = undefined;
|
|
62
|
+
}
|
|
63
|
+
createBookmark(rectangle) {
|
|
64
|
+
this.store.pipe(select(fromBookmarks.getBookmarkInfo), take(1))
|
|
65
|
+
.subscribe((bookmarkInfo) => {
|
|
66
|
+
const selection = window.getSelection().toString();
|
|
67
|
+
this.store.dispatch(new CreateBookmark({
|
|
68
|
+
...bookmarkInfo,
|
|
69
|
+
name: selection.length > 0 ? selection.substr(0, 30) : 'new bookmark',
|
|
70
|
+
id: uuid(),
|
|
71
|
+
pageNumber: this.highlightPage - 1,
|
|
72
|
+
xCoordinate: rectangle.x,
|
|
73
|
+
yCoordinate: rectangle.y
|
|
74
|
+
}));
|
|
75
|
+
this.toolbarEvents.toggleSideBar(true);
|
|
76
|
+
this.toolbarEvents.toggleSideBarView(false);
|
|
77
|
+
this.highlightService.resetHighlight();
|
|
78
|
+
this.rectangles = undefined;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
saveAnnotation({ rectangles, page }) {
|
|
82
|
+
this.highlightService.saveAnnotation(rectangles, page);
|
|
83
|
+
this.toolbarEvents.drawModeSubject.next(false);
|
|
84
|
+
}
|
|
85
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataLayerComponent, deps: [{ token: i1.Store }, { token: i2.HighlightCreateService }, { token: i3.ToolbarEventService }, { token: i4.ViewerEventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataLayerComponent, selector: "mv-metadata-layer", inputs: { zoom: "zoom", rotate: "rotate" }, viewQueries: [{ propertyName: "ctxToolbar", first: true, predicate: CtxToolbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"pageContainer\">\n <div *ngFor=\"let page of pages; index as i\"\n class=\"pageContainer__page\"\n [ngStyle]=\"{\n 'width.px': page.styles.width,\n 'height.px': page.styles.height\n }\"\n [ngClass]=\"{ 'pageContainer__page--draw' : drawMode }\">\n <mv-box-highlight-create\n [page]=\"i + 1\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n [rotate]=\"rotate\"\n [zoom]=\"zoom\"\n (saveSelection)=\"saveAnnotation($event)\">\n </mv-box-highlight-create>\n <mv-ctx-toolbar *ngIf=\"rectangles && highlightPage === (i + 1)\"\n [rectangles]=\"rectangles\"\n [canBookmark]=\"true\" [canHighlight]=\"true\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n (createBookmarkEvent)=\"createBookmark($event)\"\n (createHighlightEvent)=\"createHighlight()\"\n (cancelEvent)=\"cancelContextToolbar()\">\n </mv-ctx-toolbar>\n <div class=\"pageContainer__page-item\">\n <mv-annotation-set *ngIf=\"(annoPages$ | async) as annoPages\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n [page]=\"i\" [annotations]=\"annoPages[i + 1]\"></mv-annotation-set>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.BoxHighlightCreateComponent, selector: "mv-box-highlight-create", inputs: ["page", "pageHeight", "pageWidth", "rotate", "zoom", "container"], outputs: ["saveSelection"] }, { kind: "component", type: i7.AnnotationSetComponent, selector: "mv-annotation-set", inputs: ["page", "annotations", "zoom", "rotate", "pageHeight", "pageWidth"] }, { kind: "component", type: i8.CtxToolbarComponent, selector: "mv-ctx-toolbar", inputs: ["zoom", "rotate", "pageHeight", "pageWidth", "canHighlight", "canBookmark", "canComment", "canDelete", "rectangles"], outputs: ["createHighlightEvent", "deleteHighlightEvent", "addOrEditCommentEvent", "createBookmarkEvent", "cancelEvent"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
|
|
87
|
+
}
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataLayerComponent, decorators: [{
|
|
89
|
+
type: Component,
|
|
90
|
+
args: [{ selector: 'mv-metadata-layer', template: "<div class=\"pageContainer\">\n <div *ngFor=\"let page of pages; index as i\"\n class=\"pageContainer__page\"\n [ngStyle]=\"{\n 'width.px': page.styles.width,\n 'height.px': page.styles.height\n }\"\n [ngClass]=\"{ 'pageContainer__page--draw' : drawMode }\">\n <mv-box-highlight-create\n [page]=\"i + 1\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n [rotate]=\"rotate\"\n [zoom]=\"zoom\"\n (saveSelection)=\"saveAnnotation($event)\">\n </mv-box-highlight-create>\n <mv-ctx-toolbar *ngIf=\"rectangles && highlightPage === (i + 1)\"\n [rectangles]=\"rectangles\"\n [canBookmark]=\"true\" [canHighlight]=\"true\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n (createBookmarkEvent)=\"createBookmark($event)\"\n (createHighlightEvent)=\"createHighlight()\"\n (cancelEvent)=\"cancelContextToolbar()\">\n </mv-ctx-toolbar>\n <div class=\"pageContainer__page-item\">\n <mv-annotation-set *ngIf=\"(annoPages$ | async) as annoPages\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"page.styles.height\"\n [pageWidth]=\"page.styles.width\"\n [page]=\"i\" [annotations]=\"annoPages[i + 1]\"></mv-annotation-set>\n </div>\n </div>\n</div>\n" }]
|
|
91
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.HighlightCreateService }, { type: i3.ToolbarEventService }, { type: i4.ViewerEventService }], propDecorators: { zoom: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], rotate: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], ctxToolbar: [{
|
|
96
|
+
type: ViewChild,
|
|
97
|
+
args: [CtxToolbarComponent, { static: false }]
|
|
98
|
+
}] } });
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvbWV0YWRhdGEtbGF5ZXIvbWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvbWV0YWRhdGEtbGF5ZXIvbWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdsQyxPQUFPLEtBQUssWUFBWSxNQUFNLDZDQUE2QyxDQUFDO0FBQzVFLE9BQU8sS0FBSyxhQUFhLE1BQU0sK0NBQStDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxhQUFhLE1BQU0sNkNBQTZDLENBQUM7QUFHN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFNM0UsTUFBTSxPQUFPLHNCQUFzQjtJQWdCakMsWUFDVSxLQUEwQyxFQUNqQyxnQkFBd0MsRUFDeEMsYUFBa0MsRUFDbEMsWUFBZ0M7UUFIekMsVUFBSyxHQUFMLEtBQUssQ0FBcUM7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUN4Qyxr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QjtrQkFKbEMsU0FBUzsrQkFDRSxtQkFBbUI7a0xBS3BCLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRTZDLFVBQVU7c0JBQTVELFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcblxuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuLi8uLi8uLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21TZWxlY3RvcnMgZnJvbSAnLi4vLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2Fubm90YXRpb24uc2VsZWN0b3JzJztcbmltcG9ydCB7IEhpZ2hsaWdodENyZWF0ZVNlcnZpY2UgfSBmcm9tICcuLi9hbm5vdGF0aW9uLWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBSZWN0YW5nbGUgfSBmcm9tICcuLi9hbm5vdGF0aW9uLXZpZXcvcmVjdGFuZ2xlL3JlY3RhbmdsZS5tb2RlbCc7XG5pbXBvcnQgeyBDcmVhdGVCb29rbWFyayB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMvYm9va21hcmsuYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tQm9va21hcmtzIGZyb20gJy4uLy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9ib29rbWFyay5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEhpZ2hsaWdodCwgVmlld2VyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdmlld2Vycy92aWV3ZXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBDdHhUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vY3R4LXRvb2xiYXIvY3R4LXRvb2xiYXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtbWV0YWRhdGEtbGF5ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhTGF5ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgem9vbTogbnVtYmVyO1xuICBASW5wdXQoKSByb3RhdGU6IG51bWJlcjtcblxuICBAVmlld0NoaWxkKEN0eFRvb2xiYXJDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBjdHhUb29sYmFyOiBDdHhUb29sYmFyQ29tcG9uZW50O1xuXG4gIHBhZ2VzOiBhbnlbXSA9IFtdOyAvLyB0b2RvIGFkZCB0eXBlXG4gIGFubm9QYWdlcyQ6IE9ic2VydmFibGU8YW55PjsgLy8gdG9kbyBhZGQgdHlwZVxuXG4gIGRyYXdNb2RlID0gZmFsc2U7XG4gIGhpZ2hsaWdodFBhZ2U6IG51bWJlcjtcbiAgcmVjdGFuZ2xlczogUmVjdGFuZ2xlW107XG5cbiAgcHJpdmF0ZSAkc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Bbm5vdGF0aW9uU2V0U3RhdGU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGlnaGxpZ2h0U2VydmljZTogSGlnaGxpZ2h0Q3JlYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3ZXJFdmVudHM6IFZpZXdlckV2ZW50U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucyA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbURvY3VtZW50LmdldFBhZ2VzKSlcbiAgICAgIC5zdWJzY3JpYmUocGFnZXMgPT4gdGhpcy5wYWdlcyA9IE9iamVjdC52YWx1ZXMocGFnZXMpKTtcbiAgICB0aGlzLmFubm9QYWdlcyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21TZWxlY3RvcnMuZ2V0UGFnZUVudGl0aWVzKSk7XG5cbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuZHJhd01vZGVTdWJqZWN0LnN1YnNjcmliZShkcmF3TW9kZSA9PiB0aGlzLmRyYXdNb2RlID0gZHJhd01vZGUpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zLmFkZCh0aGlzLnZpZXdlckV2ZW50cy50ZXh0SGlnaGxpZ2h0LnN1YnNjcmliZShoaWdobGlnaHQgPT4gdGhpcy5zaG93Q29udGV4dFRvb2xiYXIoaGlnaGxpZ2h0KSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbnMuYWRkKHRoaXMudmlld2VyRXZlbnRzLmN0eFRvb2xiYXJDbGVhcmVkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsZWFyQ29udGV4dFRvb2xiYXIoKSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc2hvd0NvbnRleHRUb29sYmFyKGhpZ2hsaWdodDogSGlnaGxpZ2h0KSB7XG4gICAgdGhpcy5oaWdobGlnaHRQYWdlID0gaGlnaGxpZ2h0LnBhZ2U7XG4gICAgdGhpcy5yZWN0YW5nbGVzID0gaGlnaGxpZ2h0LnJlY3RhbmdsZXM7XG4gICAgaWYgKHRoaXMucmVjdGFuZ2xlcykge1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmhpZ2hsaWdodE1vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmN0eFRvb2xiYXIuZm9jdXNUb29sYmFyKCksIDApO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyQ29udGV4dFRvb2xiYXIoKSB7XG4gICAgdGhpcy5yZWN0YW5nbGVzID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgY2FuY2VsQ29udGV4dFRvb2xiYXIoKSB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICB9XG4gICAgdGhpcy5yZWN0YW5nbGVzID0gdW5kZWZpbmVkO1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5oaWdobGlnaHRNb2RlU3ViamVjdC5uZXh0KHRydWUpO1xuICB9XG5cbiAgY3JlYXRlSGlnaGxpZ2h0KCkge1xuICAgIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5zYXZlQW5ub3RhdGlvbih0aGlzLnJlY3RhbmdsZXMsIHRoaXMuaGlnaGxpZ2h0UGFnZSk7XG4gICAgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLnJlc2V0SGlnaGxpZ2h0KCk7XG4gICAgdGhpcy5yZWN0YW5nbGVzID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgY3JlYXRlQm9va21hcmsocmVjdGFuZ2xlOiBSZWN0YW5nbGUpIHtcbiAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Cb29rbWFya3MuZ2V0Qm9va21hcmtJbmZvKSwgdGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKGJvb2ttYXJrSW5mbykgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQ3JlYXRlQm9va21hcmsoe1xuICAgICAgICAgIC4uLmJvb2ttYXJrSW5mbyxcbiAgICAgICAgICBuYW1lOiBzZWxlY3Rpb24ubGVuZ3RoID4gMCA/IHNlbGVjdGlvbi5zdWJzdHIoMCwgMzApIDogJ25ldyBib29rbWFyaycsXG4gICAgICAgICAgaWQ6IHV1aWQoKSxcbiAgICAgICAgICBwYWdlTnVtYmVyOiB0aGlzLmhpZ2hsaWdodFBhZ2UgLSAxLFxuICAgICAgICAgIHhDb29yZGluYXRlOiByZWN0YW5nbGUueCxcbiAgICAgICAgICB5Q29vcmRpbmF0ZTogcmVjdGFuZ2xlLnlcbiAgICAgICAgfSBhcyBhbnkpKTtcbiAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZVNpZGVCYXIodHJ1ZSk7XG4gICAgICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVTaWRlQmFyVmlldyhmYWxzZSk7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5yZXNldEhpZ2hsaWdodCgpO1xuICAgICAgICB0aGlzLnJlY3RhbmdsZXMgPSB1bmRlZmluZWQ7XG5cbiAgICAgIH0pO1xuICB9XG5cbiAgc2F2ZUFubm90YXRpb24oeyByZWN0YW5nbGVzLCBwYWdlIH06IHsgcmVjdGFuZ2xlczogUmVjdGFuZ2xlW10sIHBhZ2U6IGFueSB9KSB7XG4gICAgdGhpcy5oaWdobGlnaHRTZXJ2aWNlLnNhdmVBbm5vdGF0aW9uKHJlY3RhbmdsZXMsIHBhZ2UpO1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5kcmF3TW9kZVN1YmplY3QubmV4dChmYWxzZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwYWdlQ29udGFpbmVyXCI+XG4gIDxkaXYgICpuZ0Zvcj1cImxldCBwYWdlIG9mIHBhZ2VzOyAgaW5kZXggYXMgaVwiXG4gICAgICAgY2xhc3M9XCJwYWdlQ29udGFpbmVyX19wYWdlXCJcbiAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgJ3dpZHRoLnB4JzogcGFnZS5zdHlsZXMud2lkdGgsXG4gICAgICAgJ2hlaWdodC5weCc6IHBhZ2Uuc3R5bGVzLmhlaWdodFxuICAgICAgIH1cIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ3BhZ2VDb250YWluZXJfX3BhZ2UtLWRyYXcnIDogZHJhd01vZGUgfVwiPlxuICAgIDxtdi1ib3gtaGlnaGxpZ2h0LWNyZWF0ZVxuICAgICAgW3BhZ2VdPVwiaSArIDFcIlxuICAgICAgW3BhZ2VIZWlnaHRdPVwicGFnZS5zdHlsZXMuaGVpZ2h0XCJcbiAgICAgIFtwYWdlV2lkdGhdPVwicGFnZS5zdHlsZXMud2lkdGhcIlxuICAgICAgW3JvdGF0ZV09XCJyb3RhdGVcIlxuICAgICAgW3pvb21dPVwiem9vbVwiXG4gICAgICAoc2F2ZVNlbGVjdGlvbik9XCJzYXZlQW5ub3RhdGlvbigkZXZlbnQpXCI+XG4gICAgPC9tdi1ib3gtaGlnaGxpZ2h0LWNyZWF0ZT5cbiAgICA8bXYtY3R4LXRvb2xiYXIgKm5nSWY9XCJyZWN0YW5nbGVzICYmIGhpZ2hsaWdodFBhZ2UgPT09IChpICsgMSlcIlxuICAgICAgICAgICAgICAgICAgICBbcmVjdGFuZ2xlc109XCJyZWN0YW5nbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgW2NhbkJvb2ttYXJrXT1cInRydWVcIiBbY2FuSGlnaGxpZ2h0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbem9vbV09XCJ6b29tXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdGF0ZV09XCJyb3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbcGFnZUhlaWdodF09XCJwYWdlLnN0eWxlcy5oZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICBbcGFnZVdpZHRoXT1cInBhZ2Uuc3R5bGVzLndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgKGNyZWF0ZUJvb2ttYXJrRXZlbnQpPVwiY3JlYXRlQm9va21hcmsoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChjcmVhdGVIaWdobGlnaHRFdmVudCk9XCJjcmVhdGVIaWdobGlnaHQoKVwiXG4gICAgICAgICAgICAgICAgICAgIChjYW5jZWxFdmVudCk9XCJjYW5jZWxDb250ZXh0VG9vbGJhcigpXCI+XG4gICAgPC9tdi1jdHgtdG9vbGJhcj5cbiAgICA8ZGl2IGNsYXNzPVwicGFnZUNvbnRhaW5lcl9fcGFnZS1pdGVtXCI+XG4gICAgICA8bXYtYW5ub3RhdGlvbi1zZXQgKm5nSWY9XCIoYW5ub1BhZ2VzJCB8IGFzeW5jKSBhcyBhbm5vUGFnZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tXT1cInpvb21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3RhdGVdPVwicm90YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGFnZUhlaWdodF09XCJwYWdlLnN0eWxlcy5oZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlV2lkdGhdPVwicGFnZS5zdHlsZXMud2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlXT1cImlcIiBbYW5ub3RhdGlvbnNdPVwiYW5ub1BhZ2VzW2kgKyAxXVwiPjwvbXYtYW5ub3RhdGlvbi1zZXQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|