@hmcts/media-viewer 2.9.4-RC.8 → 2.10.0
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 -1
- package/assets/sass/tags.scss +1 -1
- package/assets/sass/toolbar/main-toolbar.scss +7 -6
- package/esm2020/hmcts-media-viewer.mjs +5 -0
- package/esm2020/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +116 -0
- package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +109 -0
- package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +75 -0
- package/esm2020/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
- package/esm2020/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
- package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
- package/esm2020/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +118 -0
- package/esm2020/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +87 -0
- package/esm2020/lib/annotations/annotations.module.mjs +158 -0
- package/esm2020/lib/annotations/comment-set/comment/comment.component.mjs +176 -0
- package/esm2020/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
- package/esm2020/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
- package/esm2020/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +31 -0
- package/esm2020/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
- package/esm2020/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +61 -0
- package/esm2020/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +53 -0
- package/esm2020/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +68 -0
- package/esm2020/lib/annotations/comment-set/comment-set-render.service.mjs +54 -0
- package/esm2020/lib/annotations/comment-set/comment-set.component.mjs +123 -0
- package/esm2020/lib/annotations/comments-summary/comments-summary.component.mjs +113 -0
- package/esm2020/lib/annotations/pipes/date/date.pipe.mjs +26 -0
- package/esm2020/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
- package/esm2020/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +16 -0
- package/esm2020/lib/annotations/services/annotation-api/annotation-api.service.mjs +58 -0
- package/esm2020/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +45 -0
- package/esm2020/lib/annotations/services/tags/tags.services.mjs +41 -0
- package/esm2020/lib/annotations/tags/tags.component.mjs +53 -0
- package/esm2020/lib/bookmark/components/bookmark-icons.component.mjs +25 -0
- package/esm2020/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +22 -0
- package/esm2020/lib/icp/icp-follower.service.mjs +60 -0
- package/esm2020/lib/icp/icp-presenter.service.mjs +55 -0
- package/esm2020/lib/icp/icp-session-api.service.mjs +21 -0
- package/esm2020/lib/icp/icp-update.service.mjs +57 -0
- package/esm2020/lib/icp/icp.service.mjs +93 -0
- package/esm2020/lib/icp/participants-list/participants-list.component.mjs +30 -0
- package/esm2020/lib/icp/socket.service.mjs +118 -0
- package/esm2020/lib/media-viewer.component.mjs +244 -0
- package/esm2020/lib/media-viewer.module.mjs +151 -0
- package/esm2020/lib/print.service.mjs +30 -0
- package/esm2020/lib/redaction/components/redaction.component.mjs +91 -0
- package/esm2020/lib/redaction/services/redaction-api.service.mjs +50 -0
- package/esm2020/lib/shared/gov-uk-date/gov-uk-date.component.mjs +28 -0
- package/esm2020/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +34 -0
- package/esm2020/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +63 -0
- package/esm2020/lib/shared/gov-uk-label/gov-uk-label.component.mjs +44 -0
- package/esm2020/lib/shared/shared.module.mjs +53 -0
- package/esm2020/lib/shared/util/services/number.helper.service.mjs +23 -0
- package/{esm2015/lib/store/bookmarks-store-utils.js → esm2020/lib/store/bookmarks-store-utils.mjs} +1 -3
- package/esm2020/lib/store/effects/annotation.effects.mjs +44 -0
- package/esm2020/lib/store/effects/bookmarks.effects.mjs +44 -0
- package/esm2020/lib/store/effects/document.effects.mjs +44 -0
- package/esm2020/lib/store/effects/icp.effects.mjs +26 -0
- package/esm2020/lib/store/effects/redaction.effects.mjs +67 -0
- package/esm2020/lib/store/reducers/annotations.reducer.mjs +183 -0
- package/esm2020/lib/store/reducers/bookmarks.reducer.mjs +116 -0
- package/esm2020/lib/store/reducers/document.reducer.mjs +135 -0
- package/esm2020/lib/store/reducers/icp.reducer.mjs +56 -0
- package/esm2020/lib/store/reducers/redaction.reducer.mjs +116 -0
- package/esm2020/lib/store/reducers/tags.reducer.mjs +93 -0
- package/esm2020/lib/store/selectors/annotation.selectors.mjs +81 -0
- package/esm2020/lib/store/selectors/bookmark.selectors.mjs +36 -0
- package/{esm2015/lib/store/selectors/document.selectors.js → esm2020/lib/store/selectors/document.selectors.mjs} +3 -6
- package/esm2020/lib/store/selectors/icp.selectors.mjs +13 -0
- package/{esm2015/lib/store/selectors/redaction.selectors.js → esm2020/lib/store/selectors/redaction.selectors.mjs} +6 -10
- package/{esm2015/lib/store/selectors/tag.selectors.js → esm2020/lib/store/selectors/tag.selectors.mjs} +4 -7
- package/esm2020/lib/store/store-utils.mjs +131 -0
- package/esm2020/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +41 -0
- package/esm2020/lib/toolbar/main-toolbar/main-toolbar.component.mjs +188 -0
- package/esm2020/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +199 -0
- package/esm2020/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +66 -0
- package/esm2020/lib/toolbar/search-bar/search-bar.component.mjs +105 -0
- package/esm2020/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
- package/{esm2015/lib/toolbar/toolbar-event.service.js → esm2020/lib/toolbar/toolbar-event.service.mjs} +7 -5
- package/esm2020/lib/toolbar/toolbar.module.mjs +67 -0
- package/esm2020/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +78 -0
- package/esm2020/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +22 -0
- package/esm2020/lib/viewers/grab-n-drag.directive.mjs +57 -0
- package/esm2020/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
- package/esm2020/lib/viewers/multimedia-player/multimedia-player.component.mjs +58 -0
- package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +193 -0
- package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +40 -0
- package/esm2020/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +230 -0
- package/esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +192 -0
- package/esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
- package/esm2020/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +77 -0
- package/esm2020/lib/viewers/rotation-persist/rotation-api.service.mjs +27 -0
- package/esm2020/lib/viewers/rotation-persist/rotation-persist.directive.mjs +64 -0
- package/esm2020/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
- package/esm2020/lib/viewers/viewer-event.service.mjs +30 -0
- package/esm2020/lib/viewers/viewer-util.service.mjs +20 -0
- package/esm2020/public_api.mjs +32 -0
- package/fesm2015/hmcts-media-viewer.mjs +6602 -0
- package/fesm2015/hmcts-media-viewer.mjs.map +1 -0
- package/fesm2020/hmcts-media-viewer.mjs +6893 -0
- package/fesm2020/hmcts-media-viewer.mjs.map +1 -0
- package/hmcts-media-viewer.d.ts.map +1 -1
- package/index.d.ts +6 -0
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +3 -0
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -1
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +3 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +1 -1
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +3 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -1
- package/lib/annotations/annotation-set/annotation-set.component.d.ts +3 -0
- package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +1 -1
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +3 -0
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -1
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +5 -2
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +1 -1
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +3 -0
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +1 -1
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +3 -0
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -1
- package/lib/annotations/annotations.module.d.ts +32 -0
- package/lib/annotations/annotations.module.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment/comment.component.d.ts +3 -0
- package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment/comment.service.d.ts +5 -2
- package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +3 -0
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +3 -0
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +3 -0
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +6 -3
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +3 -0
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +3 -0
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment-set-render.service.d.ts +3 -0
- package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment-set.component.d.ts +3 -0
- package/lib/annotations/comment-set/comment-set.component.d.ts.map +1 -1
- package/lib/annotations/comments-summary/comments-summary.component.d.ts +6 -3
- package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +1 -1
- package/lib/annotations/pipes/date/date.pipe.d.ts +3 -0
- package/lib/annotations/pipes/date/date.pipe.d.ts.map +1 -1
- package/lib/annotations/pipes/filter/filter.pipe.d.ts +3 -0
- package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +1 -1
- package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +3 -0
- package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +1 -1
- package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +3 -0
- package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +1 -1
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +3 -0
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +1 -1
- package/lib/annotations/services/tags/tags.services.d.ts +3 -0
- package/lib/annotations/services/tags/tags.services.d.ts.map +1 -1
- package/lib/annotations/tags/tags.component.d.ts +6 -3
- package/lib/annotations/tags/tags.component.d.ts.map +1 -1
- package/lib/bookmark/components/bookmark-icons.component.d.ts +3 -0
- package/lib/bookmark/components/bookmark-icons.component.d.ts.map +1 -1
- package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +3 -0
- package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +1 -1
- package/lib/icp/icp-follower.service.d.ts +3 -0
- package/lib/icp/icp-follower.service.d.ts.map +1 -1
- package/lib/icp/icp-presenter.service.d.ts +3 -0
- package/lib/icp/icp-presenter.service.d.ts.map +1 -1
- package/lib/icp/icp-session-api.service.d.ts +3 -0
- package/lib/icp/icp-session-api.service.d.ts.map +1 -1
- package/lib/icp/icp-update.service.d.ts +3 -0
- package/lib/icp/icp-update.service.d.ts.map +1 -1
- package/lib/icp/icp.service.d.ts +3 -0
- package/lib/icp/icp.service.d.ts.map +1 -1
- package/lib/icp/participants-list/participants-list.component.d.ts +3 -0
- package/lib/icp/participants-list/participants-list.component.d.ts.map +1 -1
- package/lib/icp/socket.service.d.ts +3 -0
- package/lib/icp/socket.service.d.ts.map +1 -1
- package/lib/media-viewer.component.d.ts +3 -0
- package/lib/media-viewer.component.d.ts.map +1 -1
- package/lib/media-viewer.module.d.ts +31 -0
- package/lib/media-viewer.module.d.ts.map +1 -1
- package/lib/print.service.d.ts +3 -0
- package/lib/print.service.d.ts.map +1 -1
- package/lib/redaction/components/redaction.component.d.ts +3 -0
- package/lib/redaction/components/redaction.component.d.ts.map +1 -1
- package/lib/redaction/services/redaction-api.service.d.ts +3 -0
- package/lib/redaction/services/redaction-api.service.d.ts.map +1 -1
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +3 -0
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +1 -1
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +3 -0
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +1 -1
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +3 -0
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +1 -1
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +3 -0
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +1 -1
- package/lib/shared/shared.module.d.ts +11 -0
- package/lib/shared/shared.module.d.ts.map +1 -1
- package/lib/shared/util/services/number.helper.service.d.ts +3 -0
- package/lib/shared/util/services/number.helper.service.d.ts.map +1 -1
- package/lib/store/actions/annotation.actions.d.ts +1 -1
- package/lib/store/actions/annotation.actions.d.ts.map +1 -1
- package/lib/store/actions/bookmark.actions.d.ts +1 -1
- package/lib/store/actions/bookmark.actions.d.ts.map +1 -1
- package/lib/store/actions/document.actions.d.ts +1 -1
- package/lib/store/actions/document.actions.d.ts.map +1 -1
- package/lib/store/actions/icp.actions.d.ts +1 -1
- package/lib/store/actions/icp.actions.d.ts.map +1 -1
- package/lib/store/actions/redaction.actions.d.ts +1 -1
- package/lib/store/actions/redaction.actions.d.ts.map +1 -1
- package/lib/store/actions/tag.actions.d.ts +1 -1
- package/lib/store/actions/tag.actions.d.ts.map +1 -1
- package/lib/store/effects/annotation.effects.d.ts +6 -3
- package/lib/store/effects/annotation.effects.d.ts.map +1 -1
- package/lib/store/effects/bookmarks.effects.d.ts +8 -5
- package/lib/store/effects/bookmarks.effects.d.ts.map +1 -1
- package/lib/store/effects/document.effects.d.ts +6 -3
- package/lib/store/effects/document.effects.d.ts.map +1 -1
- package/lib/store/effects/icp.effects.d.ts +5 -2
- package/lib/store/effects/icp.effects.d.ts.map +1 -1
- package/lib/store/effects/redaction.effects.d.ts +9 -6
- package/lib/store/effects/redaction.effects.d.ts.map +1 -1
- package/lib/store/selectors/annotation.selectors.d.ts +70 -27
- package/lib/store/selectors/annotation.selectors.d.ts.map +1 -1
- package/lib/store/selectors/bookmark.selectors.d.ts +18 -10
- package/lib/store/selectors/bookmark.selectors.d.ts.map +1 -1
- package/lib/store/selectors/document.selectors.d.ts +13 -11
- package/lib/store/selectors/document.selectors.d.ts.map +1 -1
- package/lib/store/selectors/icp.selectors.d.ts +9 -8
- package/lib/store/selectors/icp.selectors.d.ts.map +1 -1
- package/lib/store/selectors/redaction.selectors.d.ts +17 -11
- package/lib/store/selectors/redaction.selectors.d.ts.map +1 -1
- package/lib/store/selectors/tag.selectors.d.ts +14 -12
- package/lib/store/selectors/tag.selectors.d.ts.map +1 -1
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +3 -0
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +1 -1
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +4 -0
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -1
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +5 -2
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +1 -1
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +3 -0
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -1
- package/lib/toolbar/search-bar/search-bar.component.d.ts +3 -0
- package/lib/toolbar/search-bar/search-bar.component.d.ts.map +1 -1
- package/lib/toolbar/toolbar-button-visibility.service.d.ts +3 -0
- package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +1 -1
- package/lib/toolbar/toolbar-event.service.d.ts +5 -2
- package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
- package/lib/toolbar/toolbar.module.d.ts +13 -0
- package/lib/toolbar/toolbar.module.d.ts.map +1 -1
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +3 -0
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +1 -1
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +3 -0
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +1 -1
- package/lib/viewers/grab-n-drag.directive.d.ts +3 -0
- package/lib/viewers/grab-n-drag.directive.d.ts.map +1 -1
- package/lib/viewers/image-viewer/image-viewer.component.d.ts +3 -0
- package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +1 -1
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +3 -0
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +3 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +3 -0
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +5 -2
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +3 -0
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +3 -0
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -1
- package/lib/viewers/rotation-persist/rotation-api.service.d.ts +3 -0
- package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +1 -1
- package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +3 -0
- package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +1 -1
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +3 -0
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +1 -1
- package/lib/viewers/viewer-event.service.d.ts +3 -0
- package/lib/viewers/viewer-event.service.d.ts.map +1 -1
- package/lib/viewers/viewer-util.service.d.ts +3 -0
- package/lib/viewers/viewer-util.service.d.ts.map +1 -1
- package/package.json +34 -22
- package/public_api.d.ts +1 -0
- package/public_api.d.ts.map +1 -1
- package/bundles/hmcts-media-viewer.umd.js +0 -7539
- package/bundles/hmcts-media-viewer.umd.js.map +0 -1
- package/bundles/hmcts-media-viewer.umd.min.js +0 -2
- package/bundles/hmcts-media-viewer.umd.min.js.map +0 -1
- package/esm2015/hmcts-media-viewer.js +0 -64
- package/esm2015/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +0 -113
- package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +0 -111
- package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +0 -61
- package/esm2015/lib/annotations/annotation-set/annotation-set.component.js +0 -47
- package/esm2015/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +0 -86
- package/esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.js +0 -108
- package/esm2015/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.js +0 -107
- package/esm2015/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +0 -81
- package/esm2015/lib/annotations/annotations.module.js +0 -103
- package/esm2015/lib/annotations/comment-set/comment/comment.component.js +0 -162
- package/esm2015/lib/annotations/comment-set/comment/comment.service.js +0 -47
- package/esm2015/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.js +0 -48
- package/esm2015/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.js +0 -31
- package/esm2015/lib/annotations/comment-set/comment-navigate/comments-navigate.component.js +0 -95
- package/esm2015/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.js +0 -60
- package/esm2015/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.js +0 -53
- package/esm2015/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +0 -68
- package/esm2015/lib/annotations/comment-set/comment-set-render.service.js +0 -51
- package/esm2015/lib/annotations/comment-set/comment-set.component.js +0 -110
- package/esm2015/lib/annotations/comments-summary/comments-summary.component.js +0 -106
- package/esm2015/lib/annotations/pipes/date/date.pipe.js +0 -22
- package/esm2015/lib/annotations/pipes/filter/filter.pipe.js +0 -28
- package/esm2015/lib/annotations/pipes/unsnake/unsnake.pipe.js +0 -12
- package/esm2015/lib/annotations/services/annotation-api/annotation-api.service.js +0 -59
- package/esm2015/lib/annotations/services/bookmarks-api/bookmarks-api.service.js +0 -46
- package/esm2015/lib/annotations/services/tags/tags.services.js +0 -36
- package/esm2015/lib/annotations/tags/tags.component.js +0 -52
- package/esm2015/lib/bookmark/components/bookmark-icons.component.js +0 -26
- package/esm2015/lib/icp/confirm-exit/confirm-action-dialog.component.js +0 -25
- package/esm2015/lib/icp/icp-follower.service.js +0 -63
- package/esm2015/lib/icp/icp-presenter.service.js +0 -57
- package/esm2015/lib/icp/icp-session-api.service.js +0 -22
- package/esm2015/lib/icp/icp-update.service.js +0 -56
- package/esm2015/lib/icp/icp.service.js +0 -98
- package/esm2015/lib/icp/participants-list/participants-list.component.js +0 -32
- package/esm2015/lib/icp/socket.service.js +0 -117
- package/esm2015/lib/media-viewer.component.js +0 -210
- package/esm2015/lib/media-viewer.module.js +0 -102
- package/esm2015/lib/print.service.js +0 -25
- package/esm2015/lib/redaction/components/redaction.component.js +0 -97
- package/esm2015/lib/redaction/services/redaction-api.service.js +0 -51
- package/esm2015/lib/shared/gov-uk-date/gov-uk-date.component.js +0 -21
- package/esm2015/lib/shared/gov-uk-error-message/gov-uk-error-message.component.js +0 -27
- package/esm2015/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -42
- package/esm2015/lib/shared/gov-uk-label/gov-uk-label.component.js +0 -32
- package/esm2015/lib/shared/shared.module.js +0 -34
- package/esm2015/lib/shared/util/services/number.helper.service.js +0 -23
- package/esm2015/lib/store/effects/annotation.effects.js +0 -55
- package/esm2015/lib/store/effects/bookmarks.effects.js +0 -66
- package/esm2015/lib/store/effects/document.effects.js +0 -59
- package/esm2015/lib/store/effects/icp.effects.js +0 -37
- package/esm2015/lib/store/effects/redaction.effects.js +0 -94
- package/esm2015/lib/store/reducers/annotations.reducer.js +0 -115
- package/esm2015/lib/store/reducers/bookmarks.reducer.js +0 -80
- package/esm2015/lib/store/reducers/document.reducer.js +0 -100
- package/esm2015/lib/store/reducers/icp.reducer.js +0 -40
- package/esm2015/lib/store/reducers/redaction.reducer.js +0 -75
- package/esm2015/lib/store/reducers/tags.reducer.js +0 -67
- package/esm2015/lib/store/selectors/annotation.selectors.js +0 -84
- package/esm2015/lib/store/selectors/bookmark.selectors.js +0 -39
- package/esm2015/lib/store/selectors/icp.selectors.js +0 -18
- package/esm2015/lib/store/store-utils.js +0 -105
- package/esm2015/lib/toolbar/icp-toolbar/icp-toolbar.component.js +0 -43
- package/esm2015/lib/toolbar/main-toolbar/main-toolbar.component.js +0 -170
- package/esm2015/lib/toolbar/redaction-search-bar/redaction-search-bar.component.js +0 -201
- package/esm2015/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +0 -70
- package/esm2015/lib/toolbar/search-bar/search-bar.component.js +0 -102
- package/esm2015/lib/toolbar/toolbar-button-visibility.service.js +0 -92
- package/esm2015/lib/toolbar/toolbar.module.js +0 -45
- package/esm2015/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.js +0 -72
- package/esm2015/lib/viewers/convertible-content-viewer/document-conversion-api.service.js +0 -23
- package/esm2015/lib/viewers/grab-n-drag.directive.js +0 -51
- package/esm2015/lib/viewers/image-viewer/image-viewer.component.js +0 -164
- package/esm2015/lib/viewers/multimedia-player/multimedia-player.component.js +0 -54
- package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +0 -203
- package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.js +0 -43
- package/esm2015/lib/viewers/pdf-viewer/pdf-viewer.component.js +0 -220
- package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +0 -179
- package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +0 -44
- package/esm2015/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +0 -72
- package/esm2015/lib/viewers/rotation-persist/rotation-api.service.js +0 -28
- package/esm2015/lib/viewers/rotation-persist/rotation-persist.directive.js +0 -67
- package/esm2015/lib/viewers/unsupported-viewer/unsupported-viewer.component.js +0 -47
- package/esm2015/lib/viewers/viewer-event.service.js +0 -30
- package/esm2015/lib/viewers/viewer-util.service.js +0 -23
- package/esm2015/public_api.js +0 -31
- package/fesm2015/hmcts-media-viewer.js +0 -6572
- package/fesm2015/hmcts-media-viewer.js.map +0 -1
- package/hmcts-media-viewer.d.ts +0 -69
- package/hmcts-media-viewer.metadata.json +0 -1
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.ngfactory.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.ngfactory.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-set.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/annotations.module.ngfactory.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/comment.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/comment.service.ngfactory.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.ngfactory.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.ngfactory.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-render.service.ngfactory.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/comments-summary/comments-summary.component.ngfactory.d.ts.map +0 -1
- package/lib/annotations/pipes/date/date.pipe.ngfactory.d.ts.map +0 -1
- package/lib/annotations/pipes/filter/filter.pipe.ngfactory.d.ts.map +0 -1
- package/lib/annotations/pipes/unsnake/unsnake.pipe.ngfactory.d.ts.map +0 -1
- package/lib/annotations/services/annotation-api/annotation-api.service.ngfactory.d.ts.map +0 -1
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.ngfactory.d.ts.map +0 -1
- package/lib/annotations/services/tags/tags.services.ngfactory.d.ts.map +0 -1
- package/lib/annotations/tags/tags.component.ngfactory.d.ts.map +0 -1
- package/lib/bookmark/components/bookmark-icons.component.ngfactory.d.ts.map +0 -1
- package/lib/icp/confirm-exit/confirm-action-dialog.component.ngfactory.d.ts.map +0 -1
- package/lib/icp/icp-follower.service.ngfactory.d.ts.map +0 -1
- package/lib/icp/icp-presenter.service.ngfactory.d.ts.map +0 -1
- package/lib/icp/icp-session-api.service.ngfactory.d.ts.map +0 -1
- package/lib/icp/icp-update.service.ngfactory.d.ts.map +0 -1
- package/lib/icp/icp.service.ngfactory.d.ts.map +0 -1
- package/lib/icp/participants-list/participants-list.component.ngfactory.d.ts.map +0 -1
- package/lib/icp/socket.service.ngfactory.d.ts.map +0 -1
- package/lib/media-viewer.component.ngfactory.d.ts.map +0 -1
- package/lib/media-viewer.module.ngfactory.d.ts.map +0 -1
- package/lib/print.service.ngfactory.d.ts.map +0 -1
- package/lib/redaction/components/redaction.component.ngfactory.d.ts.map +0 -1
- package/lib/redaction/services/redaction-api.service.ngfactory.d.ts.map +0 -1
- package/lib/shared/gov-uk-date/gov-uk-date.component.ngfactory.d.ts.map +0 -1
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.ngfactory.d.ts.map +0 -1
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.ngfactory.d.ts.map +0 -1
- package/lib/shared/gov-uk-label/gov-uk-label.component.ngfactory.d.ts.map +0 -1
- package/lib/shared/shared.module.ngfactory.d.ts.map +0 -1
- package/lib/shared/util/services/number.helper.service.ngfactory.d.ts.map +0 -1
- package/lib/store/effects/annotation.effects.ngfactory.d.ts.map +0 -1
- package/lib/store/effects/bookmarks.effects.ngfactory.d.ts.map +0 -1
- package/lib/store/effects/document.effects.ngfactory.d.ts.map +0 -1
- package/lib/store/effects/icp.effects.ngfactory.d.ts.map +0 -1
- package/lib/store/effects/redaction.effects.ngfactory.d.ts.map +0 -1
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.ngfactory.d.ts.map +0 -1
- package/lib/toolbar/main-toolbar/main-toolbar.component.ngfactory.d.ts.map +0 -1
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.ngfactory.d.ts.map +0 -1
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.ngfactory.d.ts.map +0 -1
- package/lib/toolbar/search-bar/search-bar.component.ngfactory.d.ts.map +0 -1
- package/lib/toolbar/toolbar-button-visibility.service.ngfactory.d.ts.map +0 -1
- package/lib/toolbar/toolbar-event.service.ngfactory.d.ts.map +0 -1
- package/lib/toolbar/toolbar.module.ngfactory.d.ts.map +0 -1
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.ngfactory.d.ts.map +0 -1
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.ngfactory.d.ts.map +0 -1
- package/lib/viewers/grab-n-drag.directive.ngfactory.d.ts.map +0 -1
- package/lib/viewers/image-viewer/image-viewer.component.ngfactory.d.ts.map +0 -1
- package/lib/viewers/multimedia-player/multimedia-player.component.ngfactory.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.ngfactory.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/pdf-viewer.component.ngfactory.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.ngfactory.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.ngfactory.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.ngfactory.d.ts.map +0 -1
- package/lib/viewers/rotation-persist/rotation-api.service.ngfactory.d.ts.map +0 -1
- package/lib/viewers/rotation-persist/rotation-persist.directive.ngfactory.d.ts.map +0 -1
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.ngfactory.d.ts.map +0 -1
- package/lib/viewers/viewer-event.service.ngfactory.d.ts.map +0 -1
- package/lib/viewers/viewer-util.service.ngfactory.d.ts.map +0 -1
- /package/{esm2015/lib/annotations/annotation-set/annotation-set.model.js → esm2020/lib/annotations/annotation-set/annotation-set.model.mjs} +0 -0
- /package/{esm2015/lib/annotations/annotation-set/annotation-view/annotation.model.js → esm2020/lib/annotations/annotation-set/annotation-view/annotation.model.mjs} +0 -0
- /package/{esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.js → esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs} +0 -0
- /package/{esm2015/lib/annotations/comment-set/comment/comment.model.js → esm2020/lib/annotations/comment-set/comment/comment.model.mjs} +0 -0
- /package/{esm2015/lib/annotations/models/api-persisted.model.js → esm2020/lib/annotations/models/api-persisted.model.mjs} +0 -0
- /package/{esm2015/lib/annotations/models/event-select.model.js → esm2020/lib/annotations/models/event-select.model.mjs} +0 -0
- /package/{esm2015/lib/annotations/models/tags.model.js → esm2020/lib/annotations/models/tags.model.mjs} +0 -0
- /package/{esm2015/lib/annotations/models/user.model.js → esm2020/lib/annotations/models/user.model.mjs} +0 -0
- /package/{esm2015/lib/icp/icp.events.js → esm2020/lib/icp/icp.events.mjs} +0 -0
- /package/{esm2015/lib/icp/icp.interfaces.js → esm2020/lib/icp/icp.interfaces.mjs} +0 -0
- /package/{esm2015/lib/redaction/services/redaction.model.js → esm2020/lib/redaction/services/redaction.model.mjs} +0 -0
- /package/{esm2015/lib/shared/util/helpers/html-templates.helper.js → esm2020/lib/shared/util/helpers/html-templates.helper.mjs} +0 -0
- /package/{esm2015/lib/store/actions/annotation.actions.js → esm2020/lib/store/actions/annotation.actions.mjs} +0 -0
- /package/{esm2015/lib/store/actions/bookmark.actions.js → esm2020/lib/store/actions/bookmark.actions.mjs} +0 -0
- /package/{esm2015/lib/store/actions/document.actions.js → esm2020/lib/store/actions/document.actions.mjs} +0 -0
- /package/{esm2015/lib/store/actions/icp.actions.js → esm2020/lib/store/actions/icp.actions.mjs} +0 -0
- /package/{esm2015/lib/store/actions/redaction.actions.js → esm2020/lib/store/actions/redaction.actions.mjs} +0 -0
- /package/{esm2015/lib/store/actions/tag.actions.js → esm2020/lib/store/actions/tag.actions.mjs} +0 -0
- /package/{esm2015/lib/store/effects/index.js → esm2020/lib/store/effects/index.mjs} +0 -0
- /package/{esm2015/lib/store/models/bookmarks.interface.js → esm2020/lib/store/models/bookmarks.interface.mjs} +0 -0
- /package/{esm2015/lib/store/models/filters.interface.js → esm2020/lib/store/models/filters.interface.mjs} +0 -0
- /package/{esm2015/lib/store/reducers/reducers.js → esm2020/lib/store/reducers/reducers.mjs} +0 -0
- /package/{esm2015/lib/toolbar/icp-event.service.js → esm2020/lib/toolbar/icp-event.service.mjs} +0 -0
- /package/{esm2015/lib/toolbar/redaction-search-bar/redaction-search.model.js → esm2020/lib/toolbar/redaction-search-bar/redaction-search.model.mjs} +0 -0
- /package/{esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.js → esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs} +0 -0
- /package/{esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.js → esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs} +0 -0
- /package/{esm2015/lib/viewers/rotation-persist/rotation.model.js → esm2020/lib/viewers/rotation-persist/rotation.model.mjs} +0 -0
- /package/{esm2015/lib/viewers/viewer-exception.model.js → esm2020/lib/viewers/viewer-exception.model.mjs} +0 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { asyncScheduler } from 'rxjs';
|
|
3
|
+
import { filter, tap, throttleTime } from 'rxjs/operators';
|
|
4
|
+
import { select } from '@ngrx/store';
|
|
5
|
+
import { ResponseType, ViewerException } from '../viewer-exception.model';
|
|
6
|
+
import * as fromDocumentActions from '../../store/actions/document.actions';
|
|
7
|
+
import { PdfPositionUpdate } from '../../store/actions/document.actions';
|
|
8
|
+
import * as fromTagActions from '../../store/actions/tag.actions';
|
|
9
|
+
import { SetCaseId } from '../../store/actions/icp.actions';
|
|
10
|
+
import * as fromDocumentsSelector from '../../store/selectors/document.selectors';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@ngrx/store";
|
|
13
|
+
import * as i2 from "./pdf-js/pdf-js-wrapper.provider";
|
|
14
|
+
import * as i3 from "../../print.service";
|
|
15
|
+
import * as i4 from "../../toolbar/toolbar-event.service";
|
|
16
|
+
import * as i5 from "../viewer-event.service";
|
|
17
|
+
import * as i6 from "../../icp/icp.service";
|
|
18
|
+
import * as i7 from "../../toolbar/toolbar-button-visibility.service";
|
|
19
|
+
import * as i8 from "@angular/common";
|
|
20
|
+
import * as i9 from "../../toolbar/redaction-search-bar/redaction-search-bar.component";
|
|
21
|
+
import * as i10 from "../../annotations/comment-set/comment-set.component";
|
|
22
|
+
import * as i11 from "../../annotations/comment-set/comment-set-header/comment-set-header.component";
|
|
23
|
+
import * as i12 from "../../annotations/annotation-set/metadata-layer/metadata-layer.component";
|
|
24
|
+
import * as i13 from "./side-bar/side-bar.component";
|
|
25
|
+
import * as i14 from "../grab-n-drag.directive";
|
|
26
|
+
import * as i15 from "../../annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive";
|
|
27
|
+
import * as i16 from "../../redaction/components/redaction.component";
|
|
28
|
+
import * as i17 from "../../bookmark/components/bookmark-icons.component";
|
|
29
|
+
import * as i18 from "../../icp/participants-list/participants-list.component";
|
|
30
|
+
export class PdfViewerComponent {
|
|
31
|
+
constructor(store, icpStore, pdfJsWrapperFactory, printService, toolbarEvents, viewerEvents, icpService, toolbarButtons) {
|
|
32
|
+
this.store = store;
|
|
33
|
+
this.icpStore = icpStore;
|
|
34
|
+
this.pdfJsWrapperFactory = pdfJsWrapperFactory;
|
|
35
|
+
this.printService = printService;
|
|
36
|
+
this.toolbarEvents = toolbarEvents;
|
|
37
|
+
this.viewerEvents = viewerEvents;
|
|
38
|
+
this.icpService = icpService;
|
|
39
|
+
this.toolbarButtons = toolbarButtons;
|
|
40
|
+
this.mediaLoadStatus = new EventEmitter();
|
|
41
|
+
this.pdfViewerException = new EventEmitter();
|
|
42
|
+
this.documentTitle = new EventEmitter();
|
|
43
|
+
this.pageHeights = [];
|
|
44
|
+
this.rotation = 0;
|
|
45
|
+
this.zoom = 1;
|
|
46
|
+
this.loadingDocument = false;
|
|
47
|
+
this.hasDifferentPageSize = false;
|
|
48
|
+
this.enableGrabNDrag = false;
|
|
49
|
+
this.highlightMode = toolbarEvents.highlightModeSubject.pipe(tap(() => {
|
|
50
|
+
this.store.dispatch(new fromTagActions.ClearFilterTags());
|
|
51
|
+
}));
|
|
52
|
+
this.drawMode = toolbarEvents.drawModeSubject;
|
|
53
|
+
}
|
|
54
|
+
async ngAfterContentInit() {
|
|
55
|
+
this.pdfWrapper.documentLoadProgress.subscribe(v => this.onDocumentLoadProgress(v));
|
|
56
|
+
this.pdfWrapper.documentLoaded.subscribe(() => this.onDocumentLoaded());
|
|
57
|
+
this.pdfWrapper.documentLoadFailed.subscribe((error) => this.onDocumentLoadFailed(error));
|
|
58
|
+
this.pdfWrapper.outlineLoaded.subscribe(outline => this.documentOutline = outline);
|
|
59
|
+
this.pdfWrapper.pageRendered.subscribe((event) => this.updatePages(event));
|
|
60
|
+
this.$subscription = this.toolbarEvents.printSubject
|
|
61
|
+
.subscribe(() => this.printService.printDocumentNatively(this.url));
|
|
62
|
+
this.$subscription.add(this.toolbarEvents.downloadSubject.subscribe(() => this.pdfWrapper.downloadFile(this.downloadUrl || this.url, this.downloadFileName)));
|
|
63
|
+
this.$subscription.add(this.toolbarEvents.rotateSubject.subscribe(rotate => this.rotateDocument(rotate)));
|
|
64
|
+
this.$subscription.add(this.toolbarEvents.zoomSubject.subscribe(zoom => this.setZoom(zoom)));
|
|
65
|
+
this.$subscription.add(this.toolbarEvents.stepZoomSubject.subscribe(zoom => this.stepZoom(zoom)));
|
|
66
|
+
this.$subscription.add(this.toolbarEvents.searchSubject.subscribe(search => this.pdfWrapper.search(search)));
|
|
67
|
+
this.$subscription.add(this.toolbarEvents.setCurrentPageSubject.subscribe(pageNumber => this.pdfWrapper.setPageNumber(pageNumber)));
|
|
68
|
+
this.$subscription.add(this.toolbarEvents.changePageByDeltaSubject.subscribe(pageNumber => this.pdfWrapper.changePageNumber(pageNumber)));
|
|
69
|
+
this.$subscription.add(this.toolbarEvents.grabNDrag.subscribe(grabNDrag => this.enableGrabNDrag = grabNDrag));
|
|
70
|
+
this.$subscription.add(this.toolbarEvents.commentsPanelVisible.subscribe(toggle => {
|
|
71
|
+
this.showCommentsPanel = toggle;
|
|
72
|
+
}));
|
|
73
|
+
this.$subscription.add(this.viewerEvents.navigationEvent.subscribe(dest => this.goToDestination(dest)));
|
|
74
|
+
this.$subscription.add(this.toolbarEvents.icp.participantsListVisible.subscribe(toggle => this.showIcpParticipantsList = toggle));
|
|
75
|
+
this.$subscription.add(this.pdfWrapper.positionUpdated.asObservable()
|
|
76
|
+
.pipe(throttleTime(500, asyncScheduler, { leading: true, trailing: true }))
|
|
77
|
+
.subscribe(event => this.store.dispatch(new PdfPositionUpdate(event.location))));
|
|
78
|
+
}
|
|
79
|
+
async ngOnChanges(changes) {
|
|
80
|
+
if (!this.pdfWrapper) {
|
|
81
|
+
this.pdfWrapper = this.pdfJsWrapperFactory.create(this.viewerContainer);
|
|
82
|
+
}
|
|
83
|
+
if (changes.url && this.pdfWrapper) {
|
|
84
|
+
await this.loadDocument();
|
|
85
|
+
if (this.enableRedactions) {
|
|
86
|
+
this.toolbarEvents.redactionMode.pipe(filter(value => !!value))
|
|
87
|
+
.subscribe(() => this.resetRotation());
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (changes.caseId) {
|
|
91
|
+
this.icpStore.dispatch(new SetCaseId(this.caseId));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
resetRotation() {
|
|
95
|
+
if (this.hasDifferentPageSize) {
|
|
96
|
+
this.pdfWrapper.resetRotation(0);
|
|
97
|
+
this.rotation = 0;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
ngOnDestroy() {
|
|
101
|
+
this.$subscription.unsubscribe();
|
|
102
|
+
}
|
|
103
|
+
async loadDocument() {
|
|
104
|
+
this.initDocumentProgress();
|
|
105
|
+
await this.pdfWrapper.loadDocument(this.url);
|
|
106
|
+
this.documentTitle.emit(this.pdfWrapper.getCurrentPDFTitle());
|
|
107
|
+
this.setPageHeights();
|
|
108
|
+
this.$subscription.add(this.store.pipe(select(fromDocumentsSelector.getPageDifference))
|
|
109
|
+
.subscribe(hasDifferentPageSie => this.hasDifferentPageSize = hasDifferentPageSie));
|
|
110
|
+
}
|
|
111
|
+
onDocumentLoadProgress(progress) {
|
|
112
|
+
if (progress.total) {
|
|
113
|
+
this.loadingDocumentProgress = Math.min(100, Math.ceil(progress.loaded / progress.total * 100));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
onDocumentLoaded() {
|
|
117
|
+
this.loadingDocument = false;
|
|
118
|
+
this.mediaLoadStatus.emit(ResponseType.SUCCESS);
|
|
119
|
+
}
|
|
120
|
+
onDocumentLoadFailed(error) {
|
|
121
|
+
this.loadingDocument = false;
|
|
122
|
+
this.viewerException = new ViewerException(error.name, { message: error.message });
|
|
123
|
+
this.errorMessage = `Could not load the document "${this.url}"`;
|
|
124
|
+
this.mediaLoadStatus.emit(ResponseType.FAILURE);
|
|
125
|
+
this.pdfViewerException.emit(this.viewerException);
|
|
126
|
+
}
|
|
127
|
+
updatePages(event) {
|
|
128
|
+
if (this.enableAnnotations) {
|
|
129
|
+
this.store.dispatch(new fromDocumentActions.AddPages(event));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
set searchBarHidden(hidden) {
|
|
133
|
+
if (this.pdfWrapper && hidden) {
|
|
134
|
+
this.pdfWrapper.clearSearch();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
toggleCommentsSummary() {
|
|
138
|
+
this.toolbarEvents.toggleCommentsSummary(!this.toolbarEvents.showCommentSummary.getValue());
|
|
139
|
+
}
|
|
140
|
+
rotateDocument(rotation) {
|
|
141
|
+
const pageNumber = this.pdfWrapper.getPageNumber();
|
|
142
|
+
this.pdfWrapper.rotate(rotation);
|
|
143
|
+
this.pdfWrapper.setPageNumber(pageNumber);
|
|
144
|
+
this.rotation = (this.rotation + rotation) % 360;
|
|
145
|
+
this.setPageHeights();
|
|
146
|
+
}
|
|
147
|
+
initDocumentProgress() {
|
|
148
|
+
this.loadingDocument = true;
|
|
149
|
+
this.loadingDocumentProgress = null;
|
|
150
|
+
this.errorMessage = null;
|
|
151
|
+
}
|
|
152
|
+
setZoom(zoomFactor) {
|
|
153
|
+
if (!isNaN(zoomFactor)) {
|
|
154
|
+
this.pdfWrapper.setZoom(zoomFactor);
|
|
155
|
+
this.zoom = this.calculateZoomValue(zoomFactor);
|
|
156
|
+
this.setPageHeights();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
stepZoom(zoomFactor) {
|
|
160
|
+
if (!isNaN(zoomFactor)) {
|
|
161
|
+
this.pdfWrapper.stepZoom(zoomFactor);
|
|
162
|
+
this.zoom = this.calculateZoomValue(this.zoom, zoomFactor);
|
|
163
|
+
this.setPageHeights();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
setPageHeights() {
|
|
167
|
+
this.pageHeights = [];
|
|
168
|
+
const pdfViewerChildren = this.pdfViewer.nativeElement.children;
|
|
169
|
+
for (let i = 0; i < pdfViewerChildren.length; i++) {
|
|
170
|
+
this.pageHeights.push(pdfViewerChildren[i].clientHeight);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
calculateZoomValue(zoomValue, increment = 0) {
|
|
174
|
+
const newZoomValue = zoomValue + increment;
|
|
175
|
+
if (newZoomValue > 5) {
|
|
176
|
+
return 5;
|
|
177
|
+
}
|
|
178
|
+
if (newZoomValue < 0.1) {
|
|
179
|
+
return 0.1;
|
|
180
|
+
}
|
|
181
|
+
return +newZoomValue.toFixed(2);
|
|
182
|
+
}
|
|
183
|
+
goToDestination(destination) {
|
|
184
|
+
this.pdfWrapper.navigateTo(destination);
|
|
185
|
+
}
|
|
186
|
+
getCurrentPageNumber() {
|
|
187
|
+
return this.pdfWrapper.getPageNumber();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/** @nocollapse */ PdfViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfViewerComponent, deps: [{ token: i1.Store }, { token: i1.Store }, { token: i2.PdfJsWrapperFactory }, { token: i3.PrintService }, { token: i4.ToolbarEventService }, { token: i5.ViewerEventService }, { token: i6.IcpService }, { token: i7.ToolbarButtonVisibilityService }], target: i0.ɵɵFactoryTarget.Component });
|
|
191
|
+
/** @nocollapse */ PdfViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PdfViewerComponent, selector: "mv-pdf-viewer", inputs: { downloadUrl: "downloadUrl", url: "url", downloadFileName: "downloadFileName", enableAnnotations: "enableAnnotations", enableRedactions: "enableRedactions", enableICP: "enableICP", annotationSet: "annotationSet", enableRedactSearch: "enableRedactSearch", height: "height", caseId: "caseId", searchBarHidden: "searchBarHidden" }, outputs: { mediaLoadStatus: "mediaLoadStatus", pdfViewerException: "pdfViewerException", documentTitle: "documentTitle" }, viewQueries: [{ propertyName: "viewerContainer", first: true, predicate: ["viewerContainer"], descendants: true, static: true }, { propertyName: "pdfViewer", first: true, predicate: ["pdfViewer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mv-side-bar\n *ngIf=\"toolbarEvents.sidebarOpen\"\n id=\"sidebarContainer\"\n [url]=\"url\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [outline]=\"documentOutline\"\n [annotationsEnabled]=\"enableAnnotations\"\n [currentPageNumber]=\"getCurrentPageNumber()\"\n>\n</mv-side-bar>\n<mv-comment-set-header\n *ngIf=\"enableAnnotations\"\n [ngClass]=\"{ 'show-comments-panel': showCommentsPanel }\"\n [showCommentSummary]=\"toolbarButtons.showCommentSummary\"\n (showCommentSummaryDialog)=\"toggleCommentsSummary()\"\n>\n</mv-comment-set-header>\n<mv-participants-list></mv-participants-list>\n<div\n class=\"pdfContainer\"\n [ngStyle]=\"{ height: height }\"\n [ngClass]=\"{ pdfContainer: true, hidden: errorMessage }\"\n>\n <mv-redaction-search-bar></mv-redaction-search-bar>\n <div\n #viewerContainer\n mvGrabNDrag\n [dragX]=\"viewerContainer\"\n [dragEnabled]=\"enableGrabNDrag\"\n id=\"viewerContainer\"\n class=\"viewer-container\"\n [class.annotations]=\"enableAnnotations\"\n [class.show-comments-panel]=\"\n (showCommentsPanel || showIcpParticipantsList) &&\n (toolbarEvents.redactionMode | async) !== true\n \"\n [class.grabNDrag]=\"enableGrabNDrag\"\n >\n <div\n #pdfViewer\n class=\"pdfViewer\"\n mvCreateTextHighlight\n [ngClass]=\"{\n hidden: loadingDocument,\n highlightMode: highlightMode | async,\n drawMode: drawMode | async\n }\"\n ></div>\n <mv-redactions\n *ngIf=\"toolbarEvents.redactionMode | async; else annotationTemplate\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n ></mv-redactions>\n <ng-template #annotationTemplate>\n <mv-metadata-layer\n *ngIf=\"enableAnnotations && annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n >\n </mv-metadata-layer>\n <mv-bookmark-icons [zoom]=\"zoom\" [rotate]=\"rotation\"> </mv-bookmark-icons>\n </ng-template>\n </div>\n <mv-comment-set\n [contentScrollTop]=\"viewerContainer.scrollTop\"\n *ngIf=\"\n enableAnnotations &&\n annotationSet &&\n (toolbarEvents.redactionMode | async) !== true\n \"\n [annotationSet]=\"annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [height]=\"pdfViewer.offsetHeight\"\n [pageHeights]=\"pageHeights\"\n >\n </mv-comment-set>\n <div class=\"loadingMessage\" *ngIf=\"loadingDocument\">\n <h3 class=\"govuk-heading-m\">\n Loading...{{\n loadingDocumentProgress ? loadingDocumentProgress + \"%\" : \"\"\n }}\n </h3>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i9.RedactionSearchBarComponent, selector: "mv-redaction-search-bar" }, { kind: "component", type: i10.CommentSetComponent, selector: "mv-comment-set", inputs: ["annotationSet", "zoom", "rotate", "height", "pageHeights", "contentScrollTop"] }, { kind: "component", type: i11.CommentSetHeaderComponent, selector: "mv-comment-set-header", inputs: ["showCommentSummary"], outputs: ["showCommentSummaryDialog"] }, { kind: "component", type: i12.MetadataLayerComponent, selector: "mv-metadata-layer", inputs: ["zoom", "rotate"] }, { kind: "component", type: i13.SideBarComponent, selector: "mv-side-bar", inputs: ["annotationsEnabled", "outline", "url", "zoom", "rotate", "currentPageNumber"] }, { kind: "directive", type: i14.GrabNDragDirective, selector: "[mvGrabNDrag]", inputs: ["dragEnabled", "dragX"] }, { kind: "directive", type: i15.HighlightCreateDirective, selector: "[mvCreateTextHighlight]" }, { kind: "component", type: i16.RedactionComponent, selector: "mv-redactions", inputs: ["zoom", "rotate"] }, { kind: "component", type: i17.BookmarkIconsComponent, selector: "mv-bookmark-icons", inputs: ["zoom", "rotate"] }, { kind: "component", type: i18.ParticipantsListComponent, selector: "mv-participants-list" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfViewerComponent, decorators: [{
|
|
193
|
+
type: Component,
|
|
194
|
+
args: [{ selector: 'mv-pdf-viewer', encapsulation: ViewEncapsulation.None, template: "<mv-side-bar\n *ngIf=\"toolbarEvents.sidebarOpen\"\n id=\"sidebarContainer\"\n [url]=\"url\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [outline]=\"documentOutline\"\n [annotationsEnabled]=\"enableAnnotations\"\n [currentPageNumber]=\"getCurrentPageNumber()\"\n>\n</mv-side-bar>\n<mv-comment-set-header\n *ngIf=\"enableAnnotations\"\n [ngClass]=\"{ 'show-comments-panel': showCommentsPanel }\"\n [showCommentSummary]=\"toolbarButtons.showCommentSummary\"\n (showCommentSummaryDialog)=\"toggleCommentsSummary()\"\n>\n</mv-comment-set-header>\n<mv-participants-list></mv-participants-list>\n<div\n class=\"pdfContainer\"\n [ngStyle]=\"{ height: height }\"\n [ngClass]=\"{ pdfContainer: true, hidden: errorMessage }\"\n>\n <mv-redaction-search-bar></mv-redaction-search-bar>\n <div\n #viewerContainer\n mvGrabNDrag\n [dragX]=\"viewerContainer\"\n [dragEnabled]=\"enableGrabNDrag\"\n id=\"viewerContainer\"\n class=\"viewer-container\"\n [class.annotations]=\"enableAnnotations\"\n [class.show-comments-panel]=\"\n (showCommentsPanel || showIcpParticipantsList) &&\n (toolbarEvents.redactionMode | async) !== true\n \"\n [class.grabNDrag]=\"enableGrabNDrag\"\n >\n <div\n #pdfViewer\n class=\"pdfViewer\"\n mvCreateTextHighlight\n [ngClass]=\"{\n hidden: loadingDocument,\n highlightMode: highlightMode | async,\n drawMode: drawMode | async\n }\"\n ></div>\n <mv-redactions\n *ngIf=\"toolbarEvents.redactionMode | async; else annotationTemplate\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n ></mv-redactions>\n <ng-template #annotationTemplate>\n <mv-metadata-layer\n *ngIf=\"enableAnnotations && annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n >\n </mv-metadata-layer>\n <mv-bookmark-icons [zoom]=\"zoom\" [rotate]=\"rotation\"> </mv-bookmark-icons>\n </ng-template>\n </div>\n <mv-comment-set\n [contentScrollTop]=\"viewerContainer.scrollTop\"\n *ngIf=\"\n enableAnnotations &&\n annotationSet &&\n (toolbarEvents.redactionMode | async) !== true\n \"\n [annotationSet]=\"annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [height]=\"pdfViewer.offsetHeight\"\n [pageHeights]=\"pageHeights\"\n >\n </mv-comment-set>\n <div class=\"loadingMessage\" *ngIf=\"loadingDocument\">\n <h3 class=\"govuk-heading-m\">\n Loading...{{\n loadingDocumentProgress ? loadingDocumentProgress + \"%\" : \"\"\n }}\n </h3>\n </div>\n</div>\n" }]
|
|
195
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i1.Store }, { type: i2.PdfJsWrapperFactory }, { type: i3.PrintService }, { type: i4.ToolbarEventService }, { type: i5.ViewerEventService }, { type: i6.IcpService }, { type: i7.ToolbarButtonVisibilityService }]; }, propDecorators: { mediaLoadStatus: [{
|
|
196
|
+
type: Output
|
|
197
|
+
}], pdfViewerException: [{
|
|
198
|
+
type: Output
|
|
199
|
+
}], documentTitle: [{
|
|
200
|
+
type: Output
|
|
201
|
+
}], downloadUrl: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}], url: [{
|
|
204
|
+
type: Input
|
|
205
|
+
}], downloadFileName: [{
|
|
206
|
+
type: Input
|
|
207
|
+
}], enableAnnotations: [{
|
|
208
|
+
type: Input
|
|
209
|
+
}], enableRedactions: [{
|
|
210
|
+
type: Input
|
|
211
|
+
}], enableICP: [{
|
|
212
|
+
type: Input
|
|
213
|
+
}], annotationSet: [{
|
|
214
|
+
type: Input
|
|
215
|
+
}], enableRedactSearch: [{
|
|
216
|
+
type: Input
|
|
217
|
+
}], height: [{
|
|
218
|
+
type: Input
|
|
219
|
+
}], caseId: [{
|
|
220
|
+
type: Input
|
|
221
|
+
}], viewerContainer: [{
|
|
222
|
+
type: ViewChild,
|
|
223
|
+
args: ['viewerContainer', { static: true }]
|
|
224
|
+
}], pdfViewer: [{
|
|
225
|
+
type: ViewChild,
|
|
226
|
+
args: ['pdfViewer', { static: false }]
|
|
227
|
+
}], searchBarHidden: [{
|
|
228
|
+
type: Input
|
|
229
|
+
}] } });
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBNkMsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLGFBQWEsQ0FBQztBQU81QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSzFFLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEtBQUssY0FBYyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEtBQUsscUJBQXFCLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVWxGLE1BQU0sT0FBTyxrQkFBa0I7SUEwQzdCLFlBQ1UsS0FBMEMsRUFDMUMsUUFBeUIsRUFDaEIsbUJBQXdDLEVBQ3hDLFlBQTBCLEVBQzNCLGFBQWtDLEVBQ2pDLFlB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LFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDOztrSUEvTlUsa0JBQWtCO3NIQUFsQixrQkFBa0Isa3ZCQ3pDL0IsMmhGQXNGQTsyRkQ3Q2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGVBQWUsaUJBRVYsaUJBQWlCLENBQUMsSUFBSTtzVEFJM0IsZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFFRSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBV3dDLGVBQWU7c0JBQTVELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNILFNBQVM7c0JBQWpELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkE0SG5DLGVBQWU7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3luY1NjaGVkdWxlciwgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFwLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQgeyBEb2N1bWVudExvYWRQcm9ncmVzcywgUGFnZUV2ZW50LCBQZGZKc1dyYXBwZXIgfSBmcm9tICcuL3BkZi1qcy9wZGYtanMtd3JhcHBlcic7XG5pbXBvcnQgeyBQZGZKc1dyYXBwZXJGYWN0b3J5IH0gZnJvbSAnLi9wZGYtanMvcGRmLWpzLXdyYXBwZXIucHJvdmlkZXInO1xuaW1wb3J0IHsgQW5ub3RhdGlvblNldCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tc2V0Lm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQcmludFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlVHlwZSwgVmlld2VyRXhjZXB0aW9uIH0gZnJvbSAnLi4vdmlld2VyLWV4Y2VwdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItYnV0dG9uLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tZW50U2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvY29tbWVudC1zZXQvY29tbWVudC1zZXQuY29tcG9uZW50JztcbmltcG9ydCB7IE91dGxpbmUgfSBmcm9tICcuL3NpZGUtYmFyL291dGxpbmUtaXRlbS9vdXRsaW5lLm1vZGVsJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnRBY3Rpb25zIGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvZG9jdW1lbnQuYWN0aW9ucyc7XG5pbXBvcnQgeyBQZGZQb3NpdGlvblVwZGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvZG9jdW1lbnQuYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tVGFnQWN0aW9ucyBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL3RhZy5hY3Rpb25zJztcbmltcG9ydCB7IFNldENhc2VJZCB9IGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvaWNwLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50c1NlbGVjdG9yIGZyb20gJy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9kb2N1bWVudC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgSWNwU3RhdGUgfSBmcm9tICcuLi8uLi9pY3AvaWNwLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgVmlld2VyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vdmlld2VyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNwU2VydmljZSB9IGZyb20gJy4uLy4uL2ljcC9pY3Auc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LXBkZi12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGRmLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUGRmVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBPdXRwdXQoKSBtZWRpYUxvYWRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPFJlc3BvbnNlVHlwZT4oKTtcbiAgQE91dHB1dCgpIHBkZlZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuICBAT3V0cHV0KCkgZG9jdW1lbnRUaXRsZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBJbnB1dCgpIGRvd25sb2FkVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVybDogc3RyaW5nO1xuICBASW5wdXQoKSBkb3dubG9hZEZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZW5hYmxlQW5ub3RhdGlvbnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuYWJsZVJlZGFjdGlvbnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuYWJsZUlDUDogYm9vbGVhbjtcbiAgQElucHV0KCkgYW5ub3RhdGlvblNldDogQW5ub3RhdGlvblNldCB8IG51bGw7XG4gIEBJbnB1dCgpIGVuYWJsZVJlZGFjdFNlYXJjaDogQW5ub3RhdGlvblNldCB8IG51bGw7XG5cbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XG4gIHBhZ2VIZWlnaHRzID0gW107XG4gIHJvdGF0aW9uID0gMDtcbiAgem9vbSA9IDE7XG5cbiAgQElucHV0KCkgY2FzZUlkOiBzdHJpbmc7XG5cbiAgaGlnaGxpZ2h0TW9kZTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZHJhd01vZGU6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcblxuICBkb2N1bWVudE91dGxpbmU6IE91dGxpbmU7XG4gIGxvYWRpbmdEb2N1bWVudCA9IGZhbHNlO1xuICBsb2FkaW5nRG9jdW1lbnRQcm9ncmVzczogbnVtYmVyO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgaGFzRGlmZmVyZW50UGFnZVNpemUgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCd2aWV3ZXJDb250YWluZXInLCB7c3RhdGljOiB0cnVlfSkgdmlld2VyQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgncGRmVmlld2VyJywge3N0YXRpYzogZmFsc2V9KSBwZGZWaWV3ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHByaXZhdGUgcGRmV3JhcHBlcjogUGRmSnNXcmFwcGVyO1xuICBwcml2YXRlICRzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB2aWV3ZXJFeGNlcHRpb246IFZpZXdlckV4Y2VwdGlvbjtcbiAgc2hvd0NvbW1lbnRzUGFuZWw6IGJvb2xlYW47XG4gIHNob3dJY3BQYXJ0aWNpcGFudHNMaXN0OiBib29sZWFuO1xuICBlbmFibGVHcmFiTkRyYWcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuQW5ub3RhdGlvblNldFN0YXRlPixcbiAgICBwcml2YXRlIGljcFN0b3JlOiBTdG9yZTxJY3BTdGF0ZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZGZKc1dyYXBwZXJGYWN0b3J5OiBQZGZKc1dyYXBwZXJGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJpbnRTZXJ2aWNlOiBQcmludFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3ZXJFdmVudHM6IFZpZXdlckV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGljcFNlcnZpY2U6IEljcFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJCdXR0b25zOiBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuaGlnaGxpZ2h0TW9kZSA9IHRvb2xiYXJFdmVudHMuaGlnaGxpZ2h0TW9kZVN1YmplY3QucGlwZSh0YXAoKCkgPT4ge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbVRhZ0FjdGlvbnMuQ2xlYXJGaWx0ZXJUYWdzKCkpO1xuICAgIH0pKTtcbiAgICB0aGlzLmRyYXdNb2RlID0gdG9vbGJhckV2ZW50cy5kcmF3TW9kZVN1YmplY3Q7XG4gIH1cblxuICBhc3luYyBuZ0FmdGVyQ29udGVudEluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5wZGZXcmFwcGVyLmRvY3VtZW50TG9hZFByb2dyZXNzLnN1YnNjcmliZSh2ID0+IHRoaXMub25Eb2N1bWVudExvYWRQcm9ncmVzcyh2KSk7XG4gICAgdGhpcy5wZGZXcmFwcGVyLmRvY3VtZW50TG9hZGVkLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uRG9jdW1lbnRMb2FkZWQoKSk7XG4gICAgdGhpcy5wZGZXcmFwcGVyLmRvY3VtZW50TG9hZEZhaWxlZC5zdWJzY3JpYmUoKGVycm9yKSA9PiB0aGlzLm9uRG9jdW1lbnRMb2FkRmFpbGVkKGVycm9yKSk7XG4gICAgdGhpcy5wZGZXcmFwcGVyLm91dGxpbmVMb2FkZWQuc3Vic2NyaWJlKG91dGxpbmUgPT4gdGhpcy5kb2N1bWVudE91dGxpbmUgPSBvdXRsaW5lKTtcbiAgICB0aGlzLnBkZldyYXBwZXIucGFnZVJlbmRlcmVkLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMudXBkYXRlUGFnZXMoZXZlbnQpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24gPSB0aGlzLnRvb2xiYXJFdmVudHMucHJpbnRTdWJqZWN0XG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucHJpbnRTZXJ2aWNlLnByaW50RG9jdW1lbnROYXRpdmVseSh0aGlzLnVybCkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLmRvd25sb2FkU3ViamVjdC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMucGRmV3JhcHBlci5kb3dubG9hZEZpbGUodGhpcy5kb3dubG9hZFVybCB8fCB0aGlzLnVybCwgdGhpcy5kb3dubG9hZEZpbGVOYW1lKVxuICAgICkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLnJvdGF0ZVN1YmplY3Quc3Vic2NyaWJlKHJvdGF0ZSA9PiB0aGlzLnJvdGF0ZURvY3VtZW50KHJvdGF0ZSkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy56b29tU3ViamVjdC5zdWJzY3JpYmUoem9vbSA9PiB0aGlzLnNldFpvb20oem9vbSkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5zdGVwWm9vbVN1YmplY3Quc3Vic2NyaWJlKHpvb20gPT4gdGhpcy5zdGVwWm9vbSh6b29tKSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaFN1YmplY3Quc3Vic2NyaWJlKHNlYXJjaCA9PiB0aGlzLnBkZldyYXBwZXIuc2VhcmNoKHNlYXJjaCkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNldEN1cnJlbnRQYWdlU3ViamVjdC5zdWJzY3JpYmUocGFnZU51bWJlciA9PiB0aGlzLnBkZldyYXBwZXIuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKSlcbiAgICApO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuY2hhbmdlUGFnZUJ5RGVsdGFTdWJqZWN0LnN1YnNjcmliZShwYWdlTnVtYmVyID0+IHRoaXMucGRmV3JhcHBlci5jaGFuZ2VQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpKVxuICAgICk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuZ3JhYk5EcmFnLnN1YnNjcmliZShncmFiTkRyYWcgPT4gdGhpcy5lbmFibGVHcmFiTkRyYWcgPSBncmFiTkRyYWcpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5jb21tZW50c1BhbmVsVmlzaWJsZS5zdWJzY3JpYmUodG9nZ2xlID0+IHtcbiAgICAgICAgdGhpcy5zaG93Q29tbWVudHNQYW5lbCA9IHRvZ2dsZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudmlld2VyRXZlbnRzLm5hdmlnYXRpb25FdmVudC5zdWJzY3JpYmUoZGVzdCA9PiB0aGlzLmdvVG9EZXN0aW5hdGlvbihkZXN0KSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuaWNwLnBhcnRpY2lwYW50c0xpc3RWaXNpYmxlLnN1YnNjcmliZSh0b2dnbGUgPT4gdGhpcy5zaG93SWNwUGFydGljaXBhbnRzTGlzdCA9IHRvZ2dsZSlcbiAgICApO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy5wZGZXcmFwcGVyLnBvc2l0aW9uVXBkYXRlZC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDUwMCwgYXN5bmNTY2hlZHVsZXIsIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IHRydWUgfSkpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFBkZlBvc2l0aW9uVXBkYXRlKGV2ZW50LmxvY2F0aW9uKSkpXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoIXRoaXMucGRmV3JhcHBlcikge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyID0gdGhpcy5wZGZKc1dyYXBwZXJGYWN0b3J5LmNyZWF0ZSh0aGlzLnZpZXdlckNvbnRhaW5lcik7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLnVybCAmJiB0aGlzLnBkZldyYXBwZXIpIHtcbiAgICAgIGF3YWl0IHRoaXMubG9hZERvY3VtZW50KCk7XG4gICAgICBpZiAodGhpcy5lbmFibGVSZWRhY3Rpb25zKSB7XG4gICAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3Rpb25Nb2RlLnBpcGUoZmlsdGVyKHZhbHVlID0+ICEhdmFsdWUpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldFJvdGF0aW9uKCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5jYXNlSWQpIHtcbiAgICAgIHRoaXMuaWNwU3RvcmUuZGlzcGF0Y2gobmV3IFNldENhc2VJZCh0aGlzLmNhc2VJZCkpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0Um90YXRpb24oKSB7XG4gICAgaWYgKHRoaXMuaGFzRGlmZmVyZW50UGFnZVNpemUpIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlci5yZXNldFJvdGF0aW9uKDApO1xuICAgICAgdGhpcy5yb3RhdGlvbiA9IDA7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWREb2N1bWVudCgpIHtcbiAgICB0aGlzLmluaXREb2N1bWVudFByb2dyZXNzKCk7XG4gICAgYXdhaXQgdGhpcy5wZGZXcmFwcGVyLmxvYWREb2N1bWVudCh0aGlzLnVybCk7XG4gICAgdGhpcy5kb2N1bWVudFRpdGxlLmVtaXQodGhpcy5wZGZXcmFwcGVyLmdldEN1cnJlbnRQREZUaXRsZSgpKTtcbiAgICB0aGlzLnNldFBhZ2VIZWlnaHRzKCk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudHNTZWxlY3Rvci5nZXRQYWdlRGlmZmVyZW5jZSkpXG4gICAgICAuc3Vic2NyaWJlKGhhc0RpZmZlcmVudFBhZ2VTaWUgPT4gdGhpcy5oYXNEaWZmZXJlbnRQYWdlU2l6ZSA9IGhhc0RpZmZlcmVudFBhZ2VTaWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Eb2N1bWVudExvYWRQcm9ncmVzcyhwcm9ncmVzczogRG9jdW1lbnRMb2FkUHJvZ3Jlc3MpIHtcbiAgICBpZiAocHJvZ3Jlc3MudG90YWwpIHtcbiAgICAgIHRoaXMubG9hZGluZ0RvY3VtZW50UHJvZ3Jlc3MgPSBNYXRoLm1pbigxMDAsIE1hdGguY2VpbChwcm9ncmVzcy5sb2FkZWQgLyBwcm9ncmVzcy50b3RhbCAqIDEwMCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Eb2N1bWVudExvYWRlZCgpIHtcbiAgICB0aGlzLmxvYWRpbmdEb2N1bWVudCA9IGZhbHNlO1xuICAgIHRoaXMubWVkaWFMb2FkU3RhdHVzLmVtaXQoUmVzcG9uc2VUeXBlLlNVQ0NFU1MpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkRvY3VtZW50TG9hZEZhaWxlZChlcnJvcjogRXJyb3IpIHtcbiAgICB0aGlzLmxvYWRpbmdEb2N1bWVudCA9IGZhbHNlO1xuICAgIHRoaXMudmlld2VyRXhjZXB0aW9uID0gbmV3IFZpZXdlckV4Y2VwdGlvbihlcnJvci5uYW1lLCB7IG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfSk7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBgQ291bGQgbm90IGxvYWQgdGhlIGRvY3VtZW50IFwiJHt0aGlzLnVybH1cImA7XG5cbiAgICB0aGlzLm1lZGlhTG9hZFN0YXR1cy5lbWl0KFJlc3BvbnNlVHlwZS5GQUlMVVJFKTtcbiAgICB0aGlzLnBkZlZpZXdlckV4Y2VwdGlvbi5lbWl0KHRoaXMudmlld2VyRXhjZXB0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUGFnZXMoZXZlbnQ6IFBhZ2VFdmVudFtdKSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Eb2N1bWVudEFjdGlvbnMuQWRkUGFnZXMoZXZlbnQpKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgc2VhcmNoQmFySGlkZGVuKGhpZGRlbjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLnBkZldyYXBwZXIgJiYgaGlkZGVuKSB7XG4gICAgICB0aGlzLnBkZldyYXBwZXIuY2xlYXJTZWFyY2goKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVDb21tZW50c1N1bW1hcnkoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUNvbW1lbnRzU3VtbWFyeSghdGhpcy50b29sYmFyRXZlbnRzLnNob3dDb21tZW50U3VtbWFyeS5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgcm90YXRlRG9jdW1lbnQocm90YXRpb246IG51bWJlcikge1xuICAgIGNvbnN0IHBhZ2VOdW1iZXIgPSB0aGlzLnBkZldyYXBwZXIuZ2V0UGFnZU51bWJlcigpO1xuICAgIHRoaXMucGRmV3JhcHBlci5yb3RhdGUocm90YXRpb24pO1xuICAgIHRoaXMucGRmV3JhcHBlci5zZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuICAgIHRoaXMucm90YXRpb24gPSAodGhpcy5yb3RhdGlvbiArIHJvdGF0aW9uKSAlIDM2MDtcblxuICAgIHRoaXMuc2V0UGFnZUhlaWdodHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdERvY3VtZW50UHJvZ3Jlc3MoKSB7XG4gICAgdGhpcy5sb2FkaW5nRG9jdW1lbnQgPSB0cnVlO1xuICAgIHRoaXMubG9hZGluZ0RvY3VtZW50UHJvZ3Jlc3MgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Wm9vbSh6b29tRmFjdG9yOiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmFOKHpvb21GYWN0b3IpKSB7XG4gICAgICB0aGlzLnBkZldyYXBwZXIuc2V0Wm9vbSh6b29tRmFjdG9yKTtcbiAgICAgIHRoaXMuem9vbSA9IHRoaXMuY2FsY3VsYXRlWm9vbVZhbHVlKHpvb21GYWN0b3IpO1xuICAgICAgdGhpcy5zZXRQYWdlSGVpZ2h0cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RlcFpvb20oem9vbUZhY3RvcjogbnVtYmVyKSB7XG4gICAgaWYgKCFpc05hTih6b29tRmFjdG9yKSkge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyLnN0ZXBab29tKHpvb21GYWN0b3IpO1xuICAgICAgdGhpcy56b29tID0gdGhpcy5jYWxjdWxhdGVab29tVmFsdWUodGhpcy56b29tLCB6b29tRmFjdG9yKTtcbiAgICAgIHRoaXMuc2V0UGFnZUhlaWdodHMoKTtcbiAgICB9XG4gIH1cblxuICBzZXRQYWdlSGVpZ2h0cygpIHtcbiAgICB0aGlzLnBhZ2VIZWlnaHRzID0gW107XG4gICAgY29uc3QgcGRmVmlld2VyQ2hpbGRyZW4gPSB0aGlzLnBkZlZpZXdlci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGRmVmlld2VyQ2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMucGFnZUhlaWdodHMucHVzaChwZGZWaWV3ZXJDaGlsZHJlbltpXS5jbGllbnRIZWlnaHQpO1xuICAgIH1cbiAgfVxuXG4gIGNhbGN1bGF0ZVpvb21WYWx1ZSh6b29tVmFsdWUsIGluY3JlbWVudCA9IDApIHtcbiAgICBjb25zdCBuZXdab29tVmFsdWUgPSB6b29tVmFsdWUgKyBpbmNyZW1lbnQ7XG4gICAgaWYgKG5ld1pvb21WYWx1ZSA+IDUpIHtcbiAgICAgIHJldHVybiA1O1xuICAgIH1cbiAgICBpZiAobmV3Wm9vbVZhbHVlIDwgMC4xKSB7XG4gICAgICByZXR1cm4gMC4xO1xuICAgIH1cbiAgICByZXR1cm4gK25ld1pvb21WYWx1ZS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgcHJpdmF0ZSBnb1RvRGVzdGluYXRpb24oZGVzdGluYXRpb246IGFueVtdKSB7XG4gICAgdGhpcy5wZGZXcmFwcGVyLm5hdmlnYXRlVG8oZGVzdGluYXRpb24pO1xuICB9XG5cbiAgZ2V0Q3VycmVudFBhZ2VOdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZXcmFwcGVyLmdldFBhZ2VOdW1iZXIoKTtcbiAgfVxufVxuIiwiPG12LXNpZGUtYmFyXG4gICpuZ0lmPVwidG9vbGJhckV2ZW50cy5zaWRlYmFyT3BlblwiXG4gIGlkPVwic2lkZWJhckNvbnRhaW5lclwiXG4gIFt1cmxdPVwidXJsXCJcbiAgW3pvb21dPVwiem9vbVwiXG4gIFtyb3RhdGVdPVwicm90YXRpb25cIlxuICBbb3V0bGluZV09XCJkb2N1bWVudE91dGxpbmVcIlxuICBbYW5ub3RhdGlvbnNFbmFibGVkXT1cImVuYWJsZUFubm90YXRpb25zXCJcbiAgW2N1cnJlbnRQYWdlTnVtYmVyXT1cImdldEN1cnJlbnRQYWdlTnVtYmVyKClcIlxuPlxuPC9tdi1zaWRlLWJhcj5cbjxtdi1jb21tZW50LXNldC1oZWFkZXJcbiAgKm5nSWY9XCJlbmFibGVBbm5vdGF0aW9uc1wiXG4gIFtuZ0NsYXNzXT1cInsgJ3Nob3ctY29tbWVudHMtcGFuZWwnOiBzaG93Q29tbWVudHNQYW5lbCB9XCJcbiAgW3Nob3dDb21tZW50U3VtbWFyeV09XCJ0b29sYmFyQnV0dG9ucy5zaG93Q29tbWVudFN1bW1hcnlcIlxuICAoc2hvd0NvbW1lbnRTdW1tYXJ5RGlhbG9nKT1cInRvZ2dsZUNvbW1lbnRzU3VtbWFyeSgpXCJcbj5cbjwvbXYtY29tbWVudC1zZXQtaGVhZGVyPlxuPG12LXBhcnRpY2lwYW50cy1saXN0PjwvbXYtcGFydGljaXBhbnRzLWxpc3Q+XG48ZGl2XG4gIGNsYXNzPVwicGRmQ29udGFpbmVyXCJcbiAgW25nU3R5bGVdPVwieyBoZWlnaHQ6IGhlaWdodCB9XCJcbiAgW25nQ2xhc3NdPVwieyBwZGZDb250YWluZXI6IHRydWUsIGhpZGRlbjogZXJyb3JNZXNzYWdlIH1cIlxuPlxuICA8bXYtcmVkYWN0aW9uLXNlYXJjaC1iYXI+PC9tdi1yZWRhY3Rpb24tc2VhcmNoLWJhcj5cbiAgPGRpdlxuICAgICN2aWV3ZXJDb250YWluZXJcbiAgICBtdkdyYWJORHJhZ1xuICAgIFtkcmFnWF09XCJ2aWV3ZXJDb250YWluZXJcIlxuICAgIFtkcmFnRW5hYmxlZF09XCJlbmFibGVHcmFiTkRyYWdcIlxuICAgIGlkPVwidmlld2VyQ29udGFpbmVyXCJcbiAgICBjbGFzcz1cInZpZXdlci1jb250YWluZXJcIlxuICAgIFtjbGFzcy5hbm5vdGF0aW9uc109XCJlbmFibGVBbm5vdGF0aW9uc1wiXG4gICAgW2NsYXNzLnNob3ctY29tbWVudHMtcGFuZWxdPVwiXG4gICAgICAoc2hvd0NvbW1lbnRzUGFuZWwgfHwgc2hvd0ljcFBhcnRpY2lwYW50c0xpc3QpICYmXG4gICAgICAodG9vbGJhckV2ZW50cy5yZWRhY3Rpb25Nb2RlIHwgYXN5bmMpICE9PSB0cnVlXG4gICAgXCJcbiAgICBbY2xhc3MuZ3JhYk5EcmFnXT1cImVuYWJsZUdyYWJORHJhZ1wiXG4gID5cbiAgICA8ZGl2XG4gICAgICAjcGRmVmlld2VyXG4gICAgICBjbGFzcz1cInBkZlZpZXdlclwiXG4gICAgICBtdkNyZWF0ZVRleHRIaWdobGlnaHRcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgaGlkZGVuOiBsb2FkaW5nRG9jdW1lbnQsXG4gICAgICAgIGhpZ2hsaWdodE1vZGU6IGhpZ2hsaWdodE1vZGUgfCBhc3luYyxcbiAgICAgICAgZHJhd01vZGU6IGRyYXdNb2RlIHwgYXN5bmNcbiAgICAgIH1cIlxuICAgID48L2Rpdj5cbiAgICA8bXYtcmVkYWN0aW9uc1xuICAgICAgKm5nSWY9XCJ0b29sYmFyRXZlbnRzLnJlZGFjdGlvbk1vZGUgfCBhc3luYzsgZWxzZSBhbm5vdGF0aW9uVGVtcGxhdGVcIlxuICAgICAgW3pvb21dPVwiem9vbVwiXG4gICAgICBbcm90YXRlXT1cInJvdGF0aW9uXCJcbiAgICA+PC9tdi1yZWRhY3Rpb25zPlxuICAgIDxuZy10ZW1wbGF0ZSAjYW5ub3RhdGlvblRlbXBsYXRlPlxuICAgICAgPG12LW1ldGFkYXRhLWxheWVyXG4gICAgICAgICpuZ0lmPVwiZW5hYmxlQW5ub3RhdGlvbnMgJiYgYW5ub3RhdGlvblNldFwiXG4gICAgICAgIFt6b29tXT1cInpvb21cIlxuICAgICAgICBbcm90YXRlXT1cInJvdGF0aW9uXCJcbiAgICAgID5cbiAgICAgIDwvbXYtbWV0YWRhdGEtbGF5ZXI+XG4gICAgICA8bXYtYm9va21hcmstaWNvbnMgW3pvb21dPVwiem9vbVwiIFtyb3RhdGVdPVwicm90YXRpb25cIj4gPC9tdi1ib29rbWFyay1pY29ucz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPG12LWNvbW1lbnQtc2V0XG4gICAgW2NvbnRlbnRTY3JvbGxUb3BdPVwidmlld2VyQ29udGFpbmVyLnNjcm9sbFRvcFwiXG4gICAgKm5nSWY9XCJcbiAgICAgIGVuYWJsZUFubm90YXRpb25zICYmXG4gICAgICBhbm5vdGF0aW9uU2V0ICYmXG4gICAgICAodG9vbGJhckV2ZW50cy5yZWRhY3Rpb25Nb2RlIHwgYXN5bmMpICE9PSB0cnVlXG4gICAgXCJcbiAgICBbYW5ub3RhdGlvblNldF09XCJhbm5vdGF0aW9uU2V0XCJcbiAgICBbem9vbV09XCJ6b29tXCJcbiAgICBbcm90YXRlXT1cInJvdGF0aW9uXCJcbiAgICBbaGVpZ2h0XT1cInBkZlZpZXdlci5vZmZzZXRIZWlnaHRcIlxuICAgIFtwYWdlSGVpZ2h0c109XCJwYWdlSGVpZ2h0c1wiXG4gID5cbiAgPC9tdi1jb21tZW50LXNldD5cbiAgPGRpdiBjbGFzcz1cImxvYWRpbmdNZXNzYWdlXCIgKm5nSWY9XCJsb2FkaW5nRG9jdW1lbnRcIj5cbiAgICA8aDMgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLW1cIj5cbiAgICAgIExvYWRpbmcuLi57e1xuICAgICAgICBsb2FkaW5nRG9jdW1lbnRQcm9ncmVzcyA/IGxvYWRpbmdEb2N1bWVudFByb2dyZXNzICsgXCIlXCIgOiBcIlwiXG4gICAgICB9fVxuICAgIDwvaDM+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { select } from '@ngrx/store';
|
|
3
|
+
import { TreeComponent } from '@circlon/angular-tree-component';
|
|
4
|
+
import { CreateBookmark, DeleteBookmark, MoveBookmark, UpdateBookmark } from '../../../../store/actions/bookmark.actions';
|
|
5
|
+
import * as bookmarksSelectors from '../../../../store/selectors/bookmark.selectors';
|
|
6
|
+
import * as fromDocument from '../../../../store/selectors/document.selectors';
|
|
7
|
+
import { getBookmarkChildren } from '../../../../store/bookmarks-store-utils';
|
|
8
|
+
import { take } from 'rxjs/operators';
|
|
9
|
+
import uuid from 'uuid';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@ngrx/store";
|
|
12
|
+
import * as i2 from "@angular/common";
|
|
13
|
+
import * as i3 from "@circlon/angular-tree-component";
|
|
14
|
+
export class BookmarksComponent {
|
|
15
|
+
constructor(store) {
|
|
16
|
+
this.store = store;
|
|
17
|
+
this.goToDestination = new EventEmitter();
|
|
18
|
+
this.pageLookup = {};
|
|
19
|
+
this.BOOKMARK_CHAR_LIMIT = 30;
|
|
20
|
+
this.options = {
|
|
21
|
+
allowDrag: true,
|
|
22
|
+
allowDrop: true
|
|
23
|
+
};
|
|
24
|
+
this._customSort = 'CUSTOM';
|
|
25
|
+
this._positionSort = 'POSITION';
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
this.sortMode = this.customSort;
|
|
29
|
+
this.$subscription = this.store.pipe(select(bookmarksSelectors.getEditableBookmark))
|
|
30
|
+
.subscribe(editableId => this.editableBookmark = editableId);
|
|
31
|
+
this.$subscription.add(this.store.select(fromDocument.getPages)
|
|
32
|
+
.subscribe(pages => {
|
|
33
|
+
Object.keys(pages).map(key => {
|
|
34
|
+
this.pageLookup[key] = pages[key];
|
|
35
|
+
});
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
ngOnChanges(changes) {
|
|
39
|
+
if (changes.bookmarkNodes && this.sortMode !== this.customSort) {
|
|
40
|
+
this.sortBookmarks();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
ngOnDestroy() {
|
|
44
|
+
this.$subscription.unsubscribe();
|
|
45
|
+
}
|
|
46
|
+
editBookmark(id) {
|
|
47
|
+
this.editableBookmark = id;
|
|
48
|
+
}
|
|
49
|
+
onAddBookmarkClick() {
|
|
50
|
+
this.store.pipe(select(bookmarksSelectors.getBookmarkInfo), take(1))
|
|
51
|
+
.subscribe((bookmarkInfo) => {
|
|
52
|
+
this.store.dispatch(new CreateBookmark({
|
|
53
|
+
...bookmarkInfo, name: '', id: uuid()
|
|
54
|
+
}));
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
onBookmarkMove({ node, from, to }) {
|
|
58
|
+
let movedBookmarks = [{
|
|
59
|
+
...node,
|
|
60
|
+
previous: to.index > 0 ? to.parent.children[to.index - 1].id : undefined,
|
|
61
|
+
parent: to.parent.documentId ? to.parent.id : undefined
|
|
62
|
+
}];
|
|
63
|
+
let fromNext = this.getSibling(from, from.index);
|
|
64
|
+
fromNext = fromNext && fromNext.id === node.previous ? this.getSibling(from, from.index + 1) : fromNext;
|
|
65
|
+
if (fromNext) {
|
|
66
|
+
movedBookmarks = [...movedBookmarks, { ...fromNext, previous: node.previous }];
|
|
67
|
+
}
|
|
68
|
+
const toNext = this.getSibling(to, to.index + 1);
|
|
69
|
+
if (toNext) {
|
|
70
|
+
movedBookmarks = [...movedBookmarks, { ...toNext, previous: node.id }];
|
|
71
|
+
}
|
|
72
|
+
this.store.dispatch(new MoveBookmark(movedBookmarks));
|
|
73
|
+
}
|
|
74
|
+
deleteBookmark(node) {
|
|
75
|
+
this.customSortBookmarks();
|
|
76
|
+
let next;
|
|
77
|
+
node = this.tree.treeModel.getNodeById(node.id);
|
|
78
|
+
if (!node.parent) {
|
|
79
|
+
node.parent = this.tree.treeModel.virtualRoot;
|
|
80
|
+
}
|
|
81
|
+
const siblings = node.parent.children;
|
|
82
|
+
if (siblings.length > node.index + 1) {
|
|
83
|
+
next = siblings[node.index + 1].data;
|
|
84
|
+
next.previous = node.data.previous;
|
|
85
|
+
}
|
|
86
|
+
this.store.dispatch(new DeleteBookmark({
|
|
87
|
+
deleted: [node.data.id, ...getBookmarkChildren(node.data.children)], updated: next
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
updateBookmark(bookmark, name) {
|
|
91
|
+
const editedBookmark = {
|
|
92
|
+
...bookmark,
|
|
93
|
+
name
|
|
94
|
+
};
|
|
95
|
+
if (name) {
|
|
96
|
+
this.store.dispatch(new UpdateBookmark(editedBookmark));
|
|
97
|
+
this.editableBookmark = undefined;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
goToBookmark(bookmark) {
|
|
101
|
+
const thisPage = this.pageLookup[bookmark.pageNumber + 1];
|
|
102
|
+
const defaultHeight = thisPage.styles.height;
|
|
103
|
+
const defaultScaleY = this.scaledY(bookmark.yCoordinate, defaultHeight, thisPage);
|
|
104
|
+
let top = 0, left = 0;
|
|
105
|
+
switch (this.rotate) {
|
|
106
|
+
case 90:
|
|
107
|
+
left = -defaultScaleY;
|
|
108
|
+
break;
|
|
109
|
+
case 180:
|
|
110
|
+
top = this.scaledY(bookmark.yCoordinate, (defaultHeight - (24 * this.zoom)), thisPage);
|
|
111
|
+
break;
|
|
112
|
+
case 270:
|
|
113
|
+
left = defaultScaleY;
|
|
114
|
+
break;
|
|
115
|
+
default:
|
|
116
|
+
top = defaultScaleY;
|
|
117
|
+
}
|
|
118
|
+
this.goToDestination.emit([
|
|
119
|
+
bookmark.pageNumber,
|
|
120
|
+
{ 'name': 'XYZ' },
|
|
121
|
+
left,
|
|
122
|
+
top
|
|
123
|
+
]);
|
|
124
|
+
}
|
|
125
|
+
get customSort() {
|
|
126
|
+
return this._customSort;
|
|
127
|
+
}
|
|
128
|
+
get positionSort() {
|
|
129
|
+
return this._positionSort;
|
|
130
|
+
}
|
|
131
|
+
sort(mode) {
|
|
132
|
+
this.sortMode = mode;
|
|
133
|
+
this.sortBookmarks();
|
|
134
|
+
}
|
|
135
|
+
sortBookmarks() {
|
|
136
|
+
switch (this.sortMode) {
|
|
137
|
+
case this.customSort: {
|
|
138
|
+
this.customSortBookmarks();
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
case this.positionSort: {
|
|
142
|
+
this.positionSortBookmarks();
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
default: {
|
|
146
|
+
this.customSortBookmarks();
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
positionSortBookmarks() {
|
|
152
|
+
this.bookmarkNodes.sort((a, b) => a.pageNumber === b.pageNumber ? a.yCoordinate - b.yCoordinate : a.pageNumber - b.pageNumber);
|
|
153
|
+
this.tree.treeModel.update();
|
|
154
|
+
this.setDragNDrop(false);
|
|
155
|
+
}
|
|
156
|
+
customSortBookmarks() {
|
|
157
|
+
this.bookmarkNodes.sort((a, b) => a.index - b.index);
|
|
158
|
+
this.tree.treeModel.update();
|
|
159
|
+
this.setDragNDrop(true);
|
|
160
|
+
}
|
|
161
|
+
setDragNDrop(enabled) {
|
|
162
|
+
this.options = {
|
|
163
|
+
allowDrag: enabled,
|
|
164
|
+
allowDrop: enabled
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
getSibling(node, index) {
|
|
168
|
+
return node.parent.children.length > index ? node.parent.children[index] : undefined;
|
|
169
|
+
}
|
|
170
|
+
scaledY(yCoordinate, height, page) {
|
|
171
|
+
const viewportScale = page.viewportScale / this.zoom;
|
|
172
|
+
return ((height / this.zoom) - yCoordinate) / viewportScale;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/** @nocollapse */ BookmarksComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BookmarksComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
176
|
+
/** @nocollapse */ BookmarksComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BookmarksComponent, selector: "mv-bookmarks", inputs: { bookmarkNodes: "bookmarkNodes", zoom: "zoom", rotate: "rotate" }, outputs: { goToDestination: "goToDestination" }, viewQueries: [{ propertyName: "tree", first: true, predicate: TreeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<a *ngIf=\"bookmarkNodes?.length === 0\" class=\"highlightedOutlineItem\">No bookmarks created yet</a>\n<tree-root [nodes]=\"bookmarkNodes\" class=\"bookmarks-tree\" [options]=\"options\" (moveNode)=\"onBookmarkMove($event)\">\n <ng-template #treeNodeTemplate let-node let-index=\"index\">\n <div class=\"outlineItem\" *ngIf=\"node.data.id !== editableBookmark; else inputBookmark\">\n <a (click)=\"goToBookmark(node.data)\">\n {{ node.data.name }}\n </a>\n <button class=\"bookmark__rename\" (click)=\"editBookmark(node.data.id)\"></button>\n <button class=\"bookmark__delete\" (click)=\"deleteBookmark(node)\"></button>\n </div>\n <ng-template #inputBookmark>\n <input #bookmarkName class=\"bookmark__input\" [value]=\"node.data.name\" [maxLength]=\"BOOKMARK_CHAR_LIMIT\">\n <button class=\"bookmark__save\" (click)=\"updateBookmark(node.data, bookmarkName.value)\"></button>\n </ng-template>\n </ng-template>\n</tree-root>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TreeComponent, selector: "Tree, tree-root", inputs: ["nodes", "options", "focused", "state"], outputs: ["toggleExpanded", "activate", "deactivate", "nodeActivate", "nodeDeactivate", "select", "deselect", "focus", "blur", "updateData", "initialized", "moveNode", "copyNode", "loadNodeChildren", "changeFilter", "event", "stateChange"] }] });
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BookmarksComponent, decorators: [{
|
|
178
|
+
type: Component,
|
|
179
|
+
args: [{ selector: 'mv-bookmarks', template: "<a *ngIf=\"bookmarkNodes?.length === 0\" class=\"highlightedOutlineItem\">No bookmarks created yet</a>\n<tree-root [nodes]=\"bookmarkNodes\" class=\"bookmarks-tree\" [options]=\"options\" (moveNode)=\"onBookmarkMove($event)\">\n <ng-template #treeNodeTemplate let-node let-index=\"index\">\n <div class=\"outlineItem\" *ngIf=\"node.data.id !== editableBookmark; else inputBookmark\">\n <a (click)=\"goToBookmark(node.data)\">\n {{ node.data.name }}\n </a>\n <button class=\"bookmark__rename\" (click)=\"editBookmark(node.data.id)\"></button>\n <button class=\"bookmark__delete\" (click)=\"deleteBookmark(node)\"></button>\n </div>\n <ng-template #inputBookmark>\n <input #bookmarkName class=\"bookmark__input\" [value]=\"node.data.name\" [maxLength]=\"BOOKMARK_CHAR_LIMIT\">\n <button class=\"bookmark__save\" (click)=\"updateBookmark(node.data, bookmarkName.value)\"></button>\n </ng-template>\n </ng-template>\n</tree-root>\n" }]
|
|
180
|
+
}], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { bookmarkNodes: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], zoom: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], rotate: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], goToDestination: [{
|
|
187
|
+
type: Output
|
|
188
|
+
}], tree: [{
|
|
189
|
+
type: ViewChild,
|
|
190
|
+
args: [TreeComponent]
|
|
191
|
+
}] } });
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9ib29rbWFya3MvYm9va21hcmtzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9ib29rbWFya3MvYm9va21hcmtzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsYUFBYSxFQUFZLE1BQU0saUNBQWlDLENBQUM7QUFFMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRTFILE9BQU8sS0FBSyxrQkFBa0IsTUFBTSxnREFBZ0QsQ0FBQztBQUdyRixPQUFPLEtBQUssWUFBWSxNQUFNLGdEQUFnRCxDQUFDO0FBRS9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7O0FBTXhCLE1BQU0sT0FBTyxrQkFBa0I7SUEwQjdCLFlBQW9CLEtBQStEO1FBQS9ELFVBQUssR0FBTCxLQUFLLENBQTBEO1FBckJ6RSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFFdEQsZUFBVSxHQUF3QyxFQUFF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QUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUcsYUFBYSxDQUFDO0lBQzlELENBQUM7O2tJQXBNVSxrQkFBa0I7c0hBQWxCLGtCQUFrQix1TkFrQmxCLGFBQWEscUVDdEMxQixvOUJBZ0JBOzJGRElhLGtCQUFrQjtrQkFKOUIsU0FBUzsrQkFDRSxjQUFjOzRGQUtmLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQWNQLElBQUk7c0JBREgsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCwgVHJlZU5vZGUgfSBmcm9tICdAY2lyY2xvbi9hbmd1bGFyLXRyZWUtY29tcG9uZW50JztcblxuaW1wb3J0IHsgQ3JlYXRlQm9va21hcmssIERlbGV0ZUJvb2ttYXJrLCBNb3ZlQm9va21hcmssIFVwZGF0ZUJvb2ttYXJrIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvYWN0aW9ucy9ib29rbWFyay5hY3Rpb25zJztcbmltcG9ydCB7IEJvb2ttYXJrIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvbW9kZWxzL2Jvb2ttYXJrcy5pbnRlcmZhY2UnO1xuaW1wb3J0ICogYXMgYm9va21hcmtzU2VsZWN0b3JzIGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9ib29rbWFyay5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblNldFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvcmVkdWNlcnMvYW5ub3RhdGlvbnMucmVkdWNlcic7XG5pbXBvcnQgeyBEb2N1bWVudFBhZ2VzIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvcmVkdWNlcnMvZG9jdW1lbnQucmVkdWNlcic7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnQgZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQgKiBhcyBmcm9tQm9va21hcmtzIGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL2Jvb2ttYXJrcy5yZWR1Y2VyJztcbmltcG9ydCB7IGdldEJvb2ttYXJrQ2hpbGRyZW4gfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9ib29rbWFya3Mtc3RvcmUtdXRpbHMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB1dWlkIGZyb20gJ3V1aWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1ib29rbWFya3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm9va21hcmtzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCb29rbWFya3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBib29rbWFya05vZGVzOiBCb29rbWFya1tdO1xuICBASW5wdXQoKSB6b29tOiBudW1iZXI7XG4gIEBJbnB1dCgpIHJvdGF0ZTogbnVtYmVyO1xuICBAT3V0cHV0KCkgZ29Ub0Rlc3RpbmF0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcblxuICBwYWdlTG9va3VwOiB7IFtwYWdlSWQ6IG51bWJlcl06IERvY3VtZW50UGFnZXMgfSA9IHt9O1xuICBlZGl0YWJsZUJvb2ttYXJrOiBzdHJpbmc7XG4gIEJPT0tNQVJLX0NIQVJfTElNSVQgPSAzMDtcblxuICBvcHRpb25zID0ge1xuICAgIGFsbG93RHJhZzogdHJ1ZSxcbiAgICBhbGxvd0Ryb3A6IHRydWVcbiAgfTtcblxuICAkc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgQFZpZXdDaGlsZChUcmVlQ29tcG9uZW50KVxuICB0cmVlOiBUcmVlQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgc29ydE1vZGU6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jdXN0b21Tb3J0ID0gJ0NVU1RPTSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Bvc2l0aW9uU29ydCA9ICdQT1NJVElPTic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbUJvb2ttYXJrcy5Cb29rbWFya3NTdGF0ZSB8IEFubm90YXRpb25TZXRTdGF0ZT4pIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc29ydE1vZGUgPSB0aGlzLmN1c3RvbVNvcnQ7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChib29rbWFya3NTZWxlY3RvcnMuZ2V0RWRpdGFibGVCb29rbWFyaykpXG4gICAgICAuc3Vic2NyaWJlKGVkaXRhYmxlSWQgPT4gdGhpcy5lZGl0YWJsZUJvb2ttYXJrID0gZWRpdGFibGVJZCk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnN0b3JlLnNlbGVjdChmcm9tRG9jdW1lbnQuZ2V0UGFnZXMpXG4gICAgICAuc3Vic2NyaWJlKHBhZ2VzID0+IHtcblxuICAgICAgICBPYmplY3Qua2V5cyhwYWdlcykubWFwKGtleSA9PiB7XG4gICAgICAgICAgdGhpcy5wYWdlTG9va3VwW2tleV0gPSBwYWdlc1trZXldO1xuICAgICAgICB9KTtcblxuICAgICAgfSkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmJvb2ttYXJrTm9kZXMgJiYgdGhpcy5zb3J0TW9kZSAhPT0gdGhpcy5jdXN0b21Tb3J0KSB7XG4gICAgICB0aGlzLnNvcnRCb29rbWFya3MoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGVkaXRCb29rbWFyayhpZCkge1xuICAgIHRoaXMuZWRpdGFibGVCb29rbWFyayA9IGlkO1xuICB9XG5cbiAgb25BZGRCb29rbWFya0NsaWNrKCkge1xuICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoYm9va21hcmtzU2VsZWN0b3JzLmdldEJvb2ttYXJrSW5mbyksIHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChib29rbWFya0luZm8pID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQ3JlYXRlQm9va21hcmsoe1xuICAgICAgICAgIC4uLmJvb2ttYXJrSW5mbywgbmFtZTogJycsIGlkOiB1dWlkKClcbiAgICAgICAgfSBhcyBhbnkpKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25Cb29rbWFya01vdmUoeyBub2RlLCBmcm9tLCB0byB9OiBhbnkpIHtcbiAgICBsZXQgbW92ZWRCb29rbWFya3MgPSBbe1xuICAgICAgLi4ubm9kZSxcbiAgICAgIHByZXZpb3VzOiB0by5pbmRleCA+IDAgPyB0by5wYXJlbnQuY2hpbGRyZW5bdG8uaW5kZXggLSAxXS5pZCA6IHVuZGVmaW5lZCxcbiAgICAgIHBhcmVudDogdG8ucGFyZW50LmRvY3VtZW50SWQgPyB0by5wYXJlbnQuaWQgOiB1bmRlZmluZWRcbiAgICB9XTtcbiAgICBsZXQgZnJvbU5leHQgPSB0aGlzLmdldFNpYmxpbmcoZnJvbSwgZnJvbS5pbmRleCk7XG4gICAgZnJvbU5leHQgPSBmcm9tTmV4dCAmJiBmcm9tTmV4dC5pZCA9PT0gbm9kZS5wcmV2aW91cyA/IHRoaXMuZ2V0U2libGluZyhmcm9tLCBmcm9tLmluZGV4ICsgMSkgOiBmcm9tTmV4dDtcbiAgICBpZiAoZnJvbU5leHQpIHtcbiAgICAgIG1vdmVkQm9va21hcmtzID0gWy4uLm1vdmVkQm9va21hcmtzLCB7IC4uLmZyb21OZXh0LCBwcmV2aW91czogbm9kZS5wcmV2aW91cyB9XTtcbiAgICB9XG4gICAgY29uc3QgdG9OZXh0ID0gdGhpcy5nZXRTaWJsaW5nKHRvLCB0by5pbmRleCArIDEpO1xuICAgIGlmICh0b05leHQpIHtcbiAgICAgIG1vdmVkQm9va21hcmtzID0gWy4uLm1vdmVkQm9va21hcmtzLCB7IC4uLnRvTmV4dCwgcHJldmlvdXM6IG5vZGUuaWQgfV07XG4gICAgfVxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE1vdmVCb29rbWFyayhtb3ZlZEJvb2ttYXJrcykpO1xuICB9XG5cbiAgZGVsZXRlQm9va21hcmsobm9kZTogVHJlZU5vZGUpIHtcbiAgICB0aGlzLmN1c3RvbVNvcnRCb29rbWFya3MoKTtcbiAgICBsZXQgbmV4dDogQm9va21hcms7XG4gICAgbm9kZSA9IHRoaXMudHJlZS50cmVlTW9kZWwuZ2V0Tm9kZUJ5SWQobm9kZS5pZCk7XG4gICAgaWYgKCFub2RlLnBhcmVudCkge1xuICAgICAgbm9kZS5wYXJlbnQgPSB0aGlzLnRyZWUudHJlZU1vZGVsLnZpcnR1YWxSb290O1xuICAgIH1cbiAgICBjb25zdCBzaWJsaW5ncyA9IG5vZGUucGFyZW50LmNoaWxkcmVuO1xuICAgIGlmIChzaWJsaW5ncy5sZW5ndGggPiBub2RlLmluZGV4ICsgMSkge1xuICAgICAgbmV4dCA9IHNpYmxpbmdzW25vZGUuaW5kZXggKyAxXS5kYXRhO1xuICAgICAgbmV4dC5wcmV2aW91cyA9IG5vZGUuZGF0YS5wcmV2aW91cztcbiAgICB9XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRGVsZXRlQm9va21hcmsoe1xuICAgICAgZGVsZXRlZDogW25vZGUuZGF0YS5pZCwgLi4uZ2V0Qm9va21hcmtDaGlsZHJlbihub2RlLmRhdGEuY2hpbGRyZW4pXSwgdXBkYXRlZDogbmV4dFxuICAgIH0pKTtcbiAgfVxuXG4gIHVwZGF0ZUJvb2ttYXJrKGJvb2ttYXJrOiBCb29rbWFyaywgbmFtZSkge1xuICAgIGNvbnN0IGVkaXRlZEJvb2ttYXJrID0ge1xuICAgICAgLi4uYm9va21hcmssXG4gICAgICBuYW1lXG4gICAgfTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlQm9va21hcmsoZWRpdGVkQm9va21hcmspKTtcbiAgICAgIHRoaXMuZWRpdGFibGVCb29rbWFyayA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBnb1RvQm9va21hcmsoYm9va21hcms6IEJvb2ttYXJrKSB7XG4gICAgY29uc3QgdGhpc1BhZ2UgPSB0aGlzLnBhZ2VMb29rdXBbYm9va21hcmsucGFnZU51bWJlciArIDFdO1xuICAgIGNvbnN0IGRlZmF1bHRIZWlnaHQgPSB0aGlzUGFnZS5zdHlsZXMuaGVpZ2h0O1xuICAgIGNvbnN0IGRlZmF1bHRTY2FsZVkgPSB0aGlzLnNjYWxlZFkoYm9va21hcmsueUNvb3JkaW5hdGUsIGRlZmF1bHRIZWlnaHQsIHRoaXNQYWdlKTtcblxuICAgIGxldCB0b3AgPSAwLCBsZWZ0ID0gMDtcbiAgICBzd2l0Y2ggKHRoaXMucm90YXRlKSB7XG4gICAgICBjYXNlIDkwOlxuICAgICAgICBsZWZ0ID0gLSBkZWZhdWx0U2NhbGVZO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTgwOlxuICAgICAgICB0b3AgPSB0aGlzLnNjYWxlZFkoYm9va21hcmsueUNvb3JkaW5hdGUsIChkZWZhdWx0SGVpZ2h0IC0gKDI0ICogdGhpcy56b29tKSksIHRoaXNQYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI3MDpcbiAgICAgICAgbGVmdCA9IGRlZmF1bHRTY2FsZVk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdG9wID0gZGVmYXVsdFNjYWxlWTtcbiAgICB9XG5cbiAgICB0aGlzLmdvVG9EZXN0aW5hdGlvbi5lbWl0KFtcbiAgICAgIGJvb2ttYXJrLnBhZ2VOdW1iZXIsXG4gICAgICB7ICduYW1lJzogJ1hZWicgfSxcbiAgICAgIGxlZnQsXG4gICAgICB0b3BcbiAgICBdKTtcbiAgfVxuXG4gIGdldCBjdXN0b21Tb3J0KCkge1xuICAgIHJldHVybiB0aGlzLl9jdXN0b21Tb3J0O1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uU29ydCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcG9zaXRpb25Tb3J0O1xuICB9XG5cbiAgc29ydChtb2RlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNvcnRNb2RlID0gbW9kZTtcbiAgICB0aGlzLnNvcnRCb29rbWFya3MoKTtcbiAgfVxuXG4gIHByaXZhdGUgc29ydEJvb2ttYXJrcygpIHtcbiAgICBzd2l0Y2ggKHRoaXMuc29ydE1vZGUpIHtcbiAgICAgIGNhc2UgdGhpcy5jdXN0b21Tb3J0OiB7XG4gICAgICAgICB0aGlzLmN1c3RvbVNvcnRCb29rbWFya3MoKTtcbiAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSB0aGlzLnBvc2l0aW9uU29ydDoge1xuICAgICAgICB0aGlzLnBvc2l0aW9uU29ydEJvb2ttYXJrcygpO1xuICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgICB0aGlzLmN1c3RvbVNvcnRCb29rbWFya3MoKTtcbiAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwb3NpdGlvblNvcnRCb29rbWFya3MoKSB7XG4gICAgdGhpcy5ib29rbWFya05vZGVzLnNvcnQoKGEsIGIpID0+IGEucGFnZU51bWJlciA9PT0gYi5wYWdlTnVtYmVyID8gYS55Q29vcmRpbmF0ZSAtIGIueUNvb3JkaW5hdGUgOiBhLnBhZ2VOdW1iZXIgLSBiLnBhZ2VOdW1iZXIpO1xuICAgIHRoaXMudHJlZS50cmVlTW9kZWwudXBkYXRlKCk7XG4gICAgdGhpcy5zZXREcmFnTkRyb3AoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXN0b21Tb3J0Qm9va21hcmtzKCkge1xuICAgIHRoaXMuYm9va21hcmtOb2Rlcy5zb3J0KChhLCBiKSA9PiBhLmluZGV4IC0gYi5pbmRleCk7XG4gICAgdGhpcy50cmVlLnRyZWVNb2RlbC51cGRhdGUoKTtcbiAgICB0aGlzLnNldERyYWdORHJvcCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RHJhZ05Ecm9wKGVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBhbGxvd0RyYWc6IGVuYWJsZWQsXG4gICAgICBhbGxvd0Ryb3A6IGVuYWJsZWRcbiAgICB9O1xuICB9XG5cblxuICBwcml2YXRlIGdldFNpYmxpbmcobm9kZSwgaW5kZXgpIHtcbiAgICByZXR1cm4gbm9kZS5wYXJlbnQuY2hpbGRyZW4ubGVuZ3RoID4gaW5kZXggPyBub2RlLnBhcmVudC5jaGlsZHJlbltpbmRleF0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHNjYWxlZFkoeUNvb3JkaW5hdGU6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIsIHBhZ2U6IERvY3VtZW50UGFnZXMpOiBudW1iZXIge1xuICAgIGNvbnN0IHZpZXdwb3J0U2NhbGUgPSBwYWdlLnZpZXdwb3J0U2NhbGUgLyB0aGlzLnpvb207XG4gICAgcmV0dXJuICgoaGVpZ2h0IC8gdGhpcy56b29tKSAtIHlDb29yZGluYXRlKSAvIHZpZXdwb3J0U2NhbGU7XG4gIH1cbn1cbiIsIjxhICpuZ0lmPVwiYm9va21hcmtOb2Rlcz8ubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJoaWdobGlnaHRlZE91dGxpbmVJdGVtXCI+Tm8gYm9va21hcmtzIGNyZWF0ZWQgeWV0PC9hPlxuPHRyZWUtcm9vdCBbbm9kZXNdPVwiYm9va21hcmtOb2Rlc1wiIGNsYXNzPVwiYm9va21hcmtzLXRyZWVcIiBbb3B0aW9uc109XCJvcHRpb25zXCIgKG1vdmVOb2RlKT1cIm9uQm9va21hcmtNb3ZlKCRldmVudClcIj5cbiAgPG5nLXRlbXBsYXRlICN0cmVlTm9kZVRlbXBsYXRlIGxldC1ub2RlIGxldC1pbmRleD1cImluZGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cIm91dGxpbmVJdGVtXCIgKm5nSWY9XCJub2RlLmRhdGEuaWQgIT09IGVkaXRhYmxlQm9va21hcms7IGVsc2UgaW5wdXRCb29rbWFya1wiPlxuICAgICAgPGEgKGNsaWNrKT1cImdvVG9Cb29rbWFyayhub2RlLmRhdGEpXCI+XG4gICAgICAgIHt7IG5vZGUuZGF0YS5uYW1lIH19XG4gICAgICA8L2E+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYm9va21hcmtfX3JlbmFtZVwiIChjbGljayk9XCJlZGl0Qm9va21hcmsobm9kZS5kYXRhLmlkKVwiPjwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJvb2ttYXJrX19kZWxldGVcIiAoY2xpY2spPVwiZGVsZXRlQm9va21hcmsobm9kZSlcIj48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI2lucHV0Qm9va21hcms+XG4gICAgICA8aW5wdXQgI2Jvb2ttYXJrTmFtZSBjbGFzcz1cImJvb2ttYXJrX19pbnB1dFwiIFt2YWx1ZV09XCJub2RlLmRhdGEubmFtZVwiIFttYXhMZW5ndGhdPVwiQk9PS01BUktfQ0hBUl9MSU1JVFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJvb2ttYXJrX19zYXZlXCIgKGNsaWNrKT1cInVwZGF0ZUJvb2ttYXJrKG5vZGUuZGF0YSwgYm9va21hcmtOYW1lLnZhbHVlKVwiPjwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG48L3RyZWUtcm9vdD5cbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class OutlineItemComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.navigationEvent = new EventEmitter();
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
this.showOutlineItems = true;
|
|
10
|
+
}
|
|
11
|
+
goToDestination(destination) {
|
|
12
|
+
if (destination) {
|
|
13
|
+
this.navigationEvent.emit(destination);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
toggleOutline() {
|
|
17
|
+
this.showOutlineItems = !this.showOutlineItems;
|
|
18
|
+
}
|
|
19
|
+
isViewedItem(current, next) {
|
|
20
|
+
if (current.pageNumber === this.currentPageNumber) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
return next === undefined ? current.pageNumber <= this.currentPageNumber && this.endPage > this.currentPageNumber :
|
|
24
|
+
current.pageNumber <= this.currentPageNumber && (next.pageNumber > this.currentPageNumber);
|
|
25
|
+
}
|
|
26
|
+
findEndPage(next) {
|
|
27
|
+
return next === undefined ? Number.MAX_SAFE_INTEGER : next.pageNumber;
|
|
28
|
+
}
|
|
29
|
+
showHighlightOutlineCss() {
|
|
30
|
+
return this.isCurrentSection ? 'highlightedOutlineItem' : 'outlineItem';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** @nocollapse */ OutlineItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OutlineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
/** @nocollapse */ OutlineItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OutlineItemComponent, selector: "mv-outline-item", inputs: { outline: "outline", currentPageNumber: "currentPageNumber", isCurrentSection: "isCurrentSection", endPage: "endPage" }, outputs: { navigationEvent: "navigationEvent" }, ngImport: i0, template: "<div class=\"outlineItem\">\n <div *ngIf=\"outline.items.length > 0\"\n [ngClass]=\"{ 'outlineItemToggler': true, 'outlineItemsHidden': !showOutlineItems }\"\n (click)=\"toggleOutline()\"\n (keyup.enter)=\"toggleOutline()\" tabindex=\"0\"></div>\n <a (click)=\"goToDestination(outline?.dest)\"\n (keyup.enter)=\"goToDestination(outline?.dest)\"\n [style.font-weight]=\"outline.bold ? 'bold' : ''\"\n [style.font-style]=\"outline.italic ? 'italic' : ''\"\n [ngClass]=\"showHighlightOutlineCss()\"\n tabindex=\"0\">\n <div style=\"text-align:left;\" [ngClass]=\"showHighlightOutlineCss()\">\n {{ outline.title }}\n <span style=\"float:right;\">\n {{ outline.pageNumber }}\n </span>\n </div>\n </a>\n \n <div *ngIf=\"outline.items.length > 0\" class=\"outlineItems\">\n <div *ngFor=\"let outlineItem of outline.items; index as i\">\n <mv-outline-item\n [outline]=\"outlineItem\" \n [currentPageNumber]= \"currentPageNumber\" \n [isCurrentSection]= \"isViewedItem(outlineItem, outline.items[i+1])\"\n [endPage]=\"findEndPage(outline.items[i+1])\"\n (navigationEvent)=\"goToDestination($event)\">\n </mv-outline-item>\n </div>\n </div>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OutlineItemComponent, selector: "mv-outline-item", inputs: ["outline", "currentPageNumber", "isCurrentSection", "endPage"], outputs: ["navigationEvent"] }] });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OutlineItemComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: 'mv-outline-item', template: "<div class=\"outlineItem\">\n <div *ngIf=\"outline.items.length > 0\"\n [ngClass]=\"{ 'outlineItemToggler': true, 'outlineItemsHidden': !showOutlineItems }\"\n (click)=\"toggleOutline()\"\n (keyup.enter)=\"toggleOutline()\" tabindex=\"0\"></div>\n <a (click)=\"goToDestination(outline?.dest)\"\n (keyup.enter)=\"goToDestination(outline?.dest)\"\n [style.font-weight]=\"outline.bold ? 'bold' : ''\"\n [style.font-style]=\"outline.italic ? 'italic' : ''\"\n [ngClass]=\"showHighlightOutlineCss()\"\n tabindex=\"0\">\n <div style=\"text-align:left;\" [ngClass]=\"showHighlightOutlineCss()\">\n {{ outline.title }}\n <span style=\"float:right;\">\n {{ outline.pageNumber }}\n </span>\n </div>\n </a>\n \n <div *ngIf=\"outline.items.length > 0\" class=\"outlineItems\">\n <div *ngFor=\"let outlineItem of outline.items; index as i\">\n <mv-outline-item\n [outline]=\"outlineItem\" \n [currentPageNumber]= \"currentPageNumber\" \n [isCurrentSection]= \"isViewedItem(outlineItem, outline.items[i+1])\"\n [endPage]=\"findEndPage(outline.items[i+1])\"\n (navigationEvent)=\"goToDestination($event)\">\n </mv-outline-item>\n </div>\n </div>\n</div>\n\n" }]
|
|
38
|
+
}], propDecorators: { outline: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], currentPageNumber: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], isCurrentSection: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], endPage: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], navigationEvent: [{
|
|
47
|
+
type: Output
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9vdXRsaW5lLWl0ZW0vb3V0bGluZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9vdXRsaW5lLWl0ZW0vb3V0bGluZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8vRSxNQUFNLE9BQU8sb0JBQW9CO0lBSmpDO1FBVVksb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBaUNoRDtJQTdCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsZUFBZSxDQUFDLFdBQWdCO1FBQzlCLElBQUksV0FBVyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWdCLEVBQUUsSUFBYTtRQUMxQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ2pELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDakgsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBYTtRQUN2QixPQUFPLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN4RSxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzFFLENBQUM7O29JQXRDVSxvQkFBb0I7d0hBQXBCLG9CQUFvQiwwT0NQakMsbXZDQWdDQSwyV0R6QmEsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQUtsQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE91dGxpbmUgfSBmcm9tICcuL291dGxpbmUubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1vdXRsaW5lLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vb3V0bGluZS1pdGVtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBPdXRsaW5lSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgb3V0bGluZTogT3V0bGluZTtcbiAgQElucHV0KCkgY3VycmVudFBhZ2VOdW1iZXI6IE51bWJlcjtcbiAgQElucHV0KCkgaXNDdXJyZW50U2VjdGlvbjogYm9vbGVhbjtcbiAgQElucHV0KCkgZW5kUGFnZTogTnVtYmVyO1xuICBAT3V0cHV0KCkgbmF2aWdhdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHNob3dPdXRsaW5lSXRlbXM6IGJvb2xlYW47XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaG93T3V0bGluZUl0ZW1zID0gdHJ1ZTtcbiAgfVxuXG4gIGdvVG9EZXN0aW5hdGlvbihkZXN0aW5hdGlvbjogYW55KSB7XG4gICAgaWYgKGRlc3RpbmF0aW9uKSB7XG4gICAgICB0aGlzLm5hdmlnYXRpb25FdmVudC5lbWl0KGRlc3RpbmF0aW9uKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVPdXRsaW5lKCkge1xuICAgIHRoaXMuc2hvd091dGxpbmVJdGVtcyA9ICF0aGlzLnNob3dPdXRsaW5lSXRlbXM7XG4gIH1cblxuICBpc1ZpZXdlZEl0ZW0oY3VycmVudDogT3V0bGluZSwgbmV4dDogT3V0bGluZSk6IGJvb2xlYW4ge1xuICAgIGlmIChjdXJyZW50LnBhZ2VOdW1iZXIgPT09IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dCA9PT0gdW5kZWZpbmVkID8gY3VycmVudC5wYWdlTnVtYmVyIDw9IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIgJiYgdGhpcy5lbmRQYWdlID4gdGhpcy5jdXJyZW50UGFnZU51bWJlciA6XG4gICAgICBjdXJyZW50LnBhZ2VOdW1iZXIgPD0gdGhpcy5jdXJyZW50UGFnZU51bWJlciAmJiAobmV4dC5wYWdlTnVtYmVyID4gdGhpcy5jdXJyZW50UGFnZU51bWJlcik7XG4gIH1cblxuICBmaW5kRW5kUGFnZShuZXh0OiBPdXRsaW5lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbmV4dCA9PT0gdW5kZWZpbmVkID8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIgOiBuZXh0LnBhZ2VOdW1iZXI7XG4gIH1cblxuICBzaG93SGlnaGxpZ2h0T3V0bGluZUNzcygpIHtcbiAgICByZXR1cm4gdGhpcy5pc0N1cnJlbnRTZWN0aW9uID8gJ2hpZ2hsaWdodGVkT3V0bGluZUl0ZW0nIDogJ291dGxpbmVJdGVtJztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm91dGxpbmVJdGVtXCI+XG4gIDxkaXYgKm5nSWY9XCJvdXRsaW5lLml0ZW1zLmxlbmd0aCA+IDBcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ291dGxpbmVJdGVtVG9nZ2xlcic6IHRydWUsICdvdXRsaW5lSXRlbXNIaWRkZW4nOiAhc2hvd091dGxpbmVJdGVtcyB9XCJcbiAgICAgICAoY2xpY2spPVwidG9nZ2xlT3V0bGluZSgpXCJcbiAgICAgICAoa2V5dXAuZW50ZXIpPVwidG9nZ2xlT3V0bGluZSgpXCIgdGFiaW5kZXg9XCIwXCI+PC9kaXY+XG4gIDxhIChjbGljayk9XCJnb1RvRGVzdGluYXRpb24ob3V0bGluZT8uZGVzdClcIlxuICAgICAoa2V5dXAuZW50ZXIpPVwiZ29Ub0Rlc3RpbmF0aW9uKG91dGxpbmU/LmRlc3QpXCJcbiAgICAgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cIm91dGxpbmUuYm9sZCA/ICdib2xkJyA6ICcnXCJcbiAgICAgW3N0eWxlLmZvbnQtc3R5bGVdPVwib3V0bGluZS5pdGFsaWMgPyAnaXRhbGljJyA6ICcnXCJcbiAgICAgW25nQ2xhc3NdPVwic2hvd0hpZ2hsaWdodE91dGxpbmVDc3MoKVwiXG4gICAgIHRhYmluZGV4PVwiMFwiPlxuICAgIDxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOmxlZnQ7XCIgW25nQ2xhc3NdPVwic2hvd0hpZ2hsaWdodE91dGxpbmVDc3MoKVwiPlxuICAgICAge3sgb3V0bGluZS50aXRsZSB9fVxuICAgICAgPHNwYW4gc3R5bGU9XCJmbG9hdDpyaWdodDtcIj5cbiAgICAgICAge3sgb3V0bGluZS5wYWdlTnVtYmVyIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvYT5cbiAgXG4gIDxkaXYgKm5nSWY9XCJvdXRsaW5lLml0ZW1zLmxlbmd0aCA+IDBcIiBjbGFzcz1cIm91dGxpbmVJdGVtc1wiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IG91dGxpbmVJdGVtIG9mIG91dGxpbmUuaXRlbXM7IGluZGV4IGFzIGlcIj5cbiAgICAgIDxtdi1vdXRsaW5lLWl0ZW1cbiAgICAgICAgW291dGxpbmVdPVwib3V0bGluZUl0ZW1cIiBcbiAgICAgICAgW2N1cnJlbnRQYWdlTnVtYmVyXT0gXCJjdXJyZW50UGFnZU51bWJlclwiIFxuICAgICAgICBbaXNDdXJyZW50U2VjdGlvbl09IFwiaXNWaWV3ZWRJdGVtKG91dGxpbmVJdGVtLCBvdXRsaW5lLml0ZW1zW2krMV0pXCJcbiAgICAgICAgW2VuZFBhZ2VdPVwiZmluZEVuZFBhZ2Uob3V0bGluZS5pdGVtc1tpKzFdKVwiXG4gICAgICAgIChuYXZpZ2F0aW9uRXZlbnQpPVwiZ29Ub0Rlc3RpbmF0aW9uKCRldmVudClcIj5cbiAgICAgIDwvbXYtb3V0bGluZS1pdGVtPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|