@hmcts/media-viewer 2.9.5 → 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.
Files changed (475) hide show
  1. package/assets/all.scss +1 -1
  2. package/assets/sass/tags.scss +1 -1
  3. package/esm2020/hmcts-media-viewer.mjs +5 -0
  4. package/esm2020/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +116 -0
  5. package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +109 -0
  6. package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +75 -0
  7. package/esm2020/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
  8. package/esm2020/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
  9. package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
  10. package/esm2020/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +118 -0
  11. package/esm2020/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +87 -0
  12. package/esm2020/lib/annotations/annotations.module.mjs +158 -0
  13. package/esm2020/lib/annotations/comment-set/comment/comment.component.mjs +176 -0
  14. package/esm2020/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
  15. package/esm2020/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
  16. package/esm2020/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +31 -0
  17. package/esm2020/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
  18. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +61 -0
  19. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +53 -0
  20. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +68 -0
  21. package/esm2020/lib/annotations/comment-set/comment-set-render.service.mjs +54 -0
  22. package/esm2020/lib/annotations/comment-set/comment-set.component.mjs +123 -0
  23. package/esm2020/lib/annotations/comments-summary/comments-summary.component.mjs +113 -0
  24. package/esm2020/lib/annotations/pipes/date/date.pipe.mjs +26 -0
  25. package/esm2020/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
  26. package/esm2020/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +16 -0
  27. package/esm2020/lib/annotations/services/annotation-api/annotation-api.service.mjs +58 -0
  28. package/esm2020/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +45 -0
  29. package/esm2020/lib/annotations/services/tags/tags.services.mjs +41 -0
  30. package/esm2020/lib/annotations/tags/tags.component.mjs +53 -0
  31. package/esm2020/lib/bookmark/components/bookmark-icons.component.mjs +25 -0
  32. package/esm2020/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +22 -0
  33. package/esm2020/lib/icp/icp-follower.service.mjs +60 -0
  34. package/esm2020/lib/icp/icp-presenter.service.mjs +55 -0
  35. package/esm2020/lib/icp/icp-session-api.service.mjs +21 -0
  36. package/esm2020/lib/icp/icp-update.service.mjs +57 -0
  37. package/esm2020/lib/icp/icp.service.mjs +93 -0
  38. package/esm2020/lib/icp/participants-list/participants-list.component.mjs +30 -0
  39. package/esm2020/lib/icp/socket.service.mjs +118 -0
  40. package/esm2020/lib/media-viewer.component.mjs +244 -0
  41. package/esm2020/lib/media-viewer.module.mjs +151 -0
  42. package/{esm2015/lib/print.service.js → esm2020/lib/print.service.mjs} +9 -7
  43. package/esm2020/lib/redaction/components/redaction.component.mjs +91 -0
  44. package/esm2020/lib/redaction/services/redaction-api.service.mjs +50 -0
  45. package/esm2020/lib/shared/gov-uk-date/gov-uk-date.component.mjs +28 -0
  46. package/esm2020/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +34 -0
  47. package/esm2020/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +63 -0
  48. package/esm2020/lib/shared/gov-uk-label/gov-uk-label.component.mjs +44 -0
  49. package/esm2020/lib/shared/shared.module.mjs +53 -0
  50. package/esm2020/lib/shared/util/services/number.helper.service.mjs +23 -0
  51. package/{esm2015/lib/store/bookmarks-store-utils.js → esm2020/lib/store/bookmarks-store-utils.mjs} +1 -3
  52. package/esm2020/lib/store/effects/annotation.effects.mjs +44 -0
  53. package/esm2020/lib/store/effects/bookmarks.effects.mjs +44 -0
  54. package/esm2020/lib/store/effects/document.effects.mjs +44 -0
  55. package/esm2020/lib/store/effects/icp.effects.mjs +26 -0
  56. package/esm2020/lib/store/effects/redaction.effects.mjs +67 -0
  57. package/esm2020/lib/store/reducers/annotations.reducer.mjs +183 -0
  58. package/esm2020/lib/store/reducers/bookmarks.reducer.mjs +116 -0
  59. package/esm2020/lib/store/reducers/document.reducer.mjs +135 -0
  60. package/esm2020/lib/store/reducers/icp.reducer.mjs +56 -0
  61. package/esm2020/lib/store/reducers/redaction.reducer.mjs +116 -0
  62. package/esm2020/lib/store/reducers/tags.reducer.mjs +93 -0
  63. package/esm2020/lib/store/selectors/annotation.selectors.mjs +81 -0
  64. package/esm2020/lib/store/selectors/bookmark.selectors.mjs +36 -0
  65. package/{esm2015/lib/store/selectors/document.selectors.js → esm2020/lib/store/selectors/document.selectors.mjs} +3 -6
  66. package/esm2020/lib/store/selectors/icp.selectors.mjs +13 -0
  67. package/{esm2015/lib/store/selectors/redaction.selectors.js → esm2020/lib/store/selectors/redaction.selectors.mjs} +6 -10
  68. package/{esm2015/lib/store/selectors/tag.selectors.js → esm2020/lib/store/selectors/tag.selectors.mjs} +4 -7
  69. package/esm2020/lib/store/store-utils.mjs +131 -0
  70. package/esm2020/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +41 -0
  71. package/esm2020/lib/toolbar/main-toolbar/main-toolbar.component.mjs +188 -0
  72. package/esm2020/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +199 -0
  73. package/esm2020/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +66 -0
  74. package/esm2020/lib/toolbar/search-bar/search-bar.component.mjs +105 -0
  75. package/esm2020/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
  76. package/{esm2015/lib/toolbar/toolbar-event.service.js → esm2020/lib/toolbar/toolbar-event.service.mjs} +7 -5
  77. package/esm2020/lib/toolbar/toolbar.module.mjs +67 -0
  78. package/esm2020/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +78 -0
  79. package/esm2020/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +22 -0
  80. package/esm2020/lib/viewers/grab-n-drag.directive.mjs +57 -0
  81. package/esm2020/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
  82. package/esm2020/lib/viewers/multimedia-player/multimedia-player.component.mjs +58 -0
  83. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +193 -0
  84. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +40 -0
  85. package/esm2020/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +230 -0
  86. package/esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +192 -0
  87. package/esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
  88. package/esm2020/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +77 -0
  89. package/esm2020/lib/viewers/rotation-persist/rotation-api.service.mjs +27 -0
  90. package/esm2020/lib/viewers/rotation-persist/rotation-persist.directive.mjs +64 -0
  91. package/esm2020/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
  92. package/esm2020/lib/viewers/viewer-event.service.mjs +30 -0
  93. package/esm2020/lib/viewers/viewer-util.service.mjs +20 -0
  94. package/esm2020/public_api.mjs +32 -0
  95. package/fesm2015/hmcts-media-viewer.mjs +6602 -0
  96. package/fesm2015/hmcts-media-viewer.mjs.map +1 -0
  97. package/fesm2020/hmcts-media-viewer.mjs +6893 -0
  98. package/fesm2020/hmcts-media-viewer.mjs.map +1 -0
  99. package/hmcts-media-viewer.d.ts.map +1 -1
  100. package/index.d.ts +6 -0
  101. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +3 -0
  102. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -1
  103. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +3 -0
  104. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +1 -1
  105. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +3 -0
  106. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -1
  107. package/lib/annotations/annotation-set/annotation-set.component.d.ts +3 -0
  108. package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +1 -1
  109. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +3 -0
  110. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -1
  111. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +5 -2
  112. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +1 -1
  113. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +3 -0
  114. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +1 -1
  115. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +3 -0
  116. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -1
  117. package/lib/annotations/annotations.module.d.ts +32 -0
  118. package/lib/annotations/annotations.module.d.ts.map +1 -1
  119. package/lib/annotations/comment-set/comment/comment.component.d.ts +3 -0
  120. package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -1
  121. package/lib/annotations/comment-set/comment/comment.service.d.ts +5 -2
  122. package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -1
  123. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +3 -0
  124. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +1 -1
  125. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +3 -0
  126. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +1 -1
  127. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +3 -0
  128. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +1 -1
  129. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +6 -3
  130. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +1 -1
  131. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +3 -0
  132. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +1 -1
  133. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +3 -0
  134. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -1
  135. package/lib/annotations/comment-set/comment-set-render.service.d.ts +3 -0
  136. package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +1 -1
  137. package/lib/annotations/comment-set/comment-set.component.d.ts +3 -0
  138. package/lib/annotations/comment-set/comment-set.component.d.ts.map +1 -1
  139. package/lib/annotations/comments-summary/comments-summary.component.d.ts +6 -3
  140. package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +1 -1
  141. package/lib/annotations/pipes/date/date.pipe.d.ts +3 -0
  142. package/lib/annotations/pipes/date/date.pipe.d.ts.map +1 -1
  143. package/lib/annotations/pipes/filter/filter.pipe.d.ts +3 -0
  144. package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +1 -1
  145. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +3 -0
  146. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +1 -1
  147. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +3 -0
  148. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +1 -1
  149. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +3 -0
  150. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +1 -1
  151. package/lib/annotations/services/tags/tags.services.d.ts +3 -0
  152. package/lib/annotations/services/tags/tags.services.d.ts.map +1 -1
  153. package/lib/annotations/tags/tags.component.d.ts +6 -3
  154. package/lib/annotations/tags/tags.component.d.ts.map +1 -1
  155. package/lib/bookmark/components/bookmark-icons.component.d.ts +3 -0
  156. package/lib/bookmark/components/bookmark-icons.component.d.ts.map +1 -1
  157. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +3 -0
  158. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +1 -1
  159. package/lib/icp/icp-follower.service.d.ts +3 -0
  160. package/lib/icp/icp-follower.service.d.ts.map +1 -1
  161. package/lib/icp/icp-presenter.service.d.ts +3 -0
  162. package/lib/icp/icp-presenter.service.d.ts.map +1 -1
  163. package/lib/icp/icp-session-api.service.d.ts +3 -0
  164. package/lib/icp/icp-session-api.service.d.ts.map +1 -1
  165. package/lib/icp/icp-update.service.d.ts +3 -0
  166. package/lib/icp/icp-update.service.d.ts.map +1 -1
  167. package/lib/icp/icp.service.d.ts +3 -0
  168. package/lib/icp/icp.service.d.ts.map +1 -1
  169. package/lib/icp/participants-list/participants-list.component.d.ts +3 -0
  170. package/lib/icp/participants-list/participants-list.component.d.ts.map +1 -1
  171. package/lib/icp/socket.service.d.ts +3 -0
  172. package/lib/icp/socket.service.d.ts.map +1 -1
  173. package/lib/media-viewer.component.d.ts +3 -0
  174. package/lib/media-viewer.component.d.ts.map +1 -1
  175. package/lib/media-viewer.module.d.ts +31 -0
  176. package/lib/media-viewer.module.d.ts.map +1 -1
  177. package/lib/print.service.d.ts +3 -0
  178. package/lib/print.service.d.ts.map +1 -1
  179. package/lib/redaction/components/redaction.component.d.ts +3 -0
  180. package/lib/redaction/components/redaction.component.d.ts.map +1 -1
  181. package/lib/redaction/services/redaction-api.service.d.ts +3 -0
  182. package/lib/redaction/services/redaction-api.service.d.ts.map +1 -1
  183. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +3 -0
  184. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +1 -1
  185. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +3 -0
  186. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +1 -1
  187. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +3 -0
  188. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +1 -1
  189. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +3 -0
  190. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +1 -1
  191. package/lib/shared/shared.module.d.ts +11 -0
  192. package/lib/shared/shared.module.d.ts.map +1 -1
  193. package/lib/shared/util/services/number.helper.service.d.ts +3 -0
  194. package/lib/shared/util/services/number.helper.service.d.ts.map +1 -1
  195. package/lib/store/actions/annotation.actions.d.ts +1 -1
  196. package/lib/store/actions/annotation.actions.d.ts.map +1 -1
  197. package/lib/store/actions/bookmark.actions.d.ts +1 -1
  198. package/lib/store/actions/bookmark.actions.d.ts.map +1 -1
  199. package/lib/store/actions/document.actions.d.ts +1 -1
  200. package/lib/store/actions/document.actions.d.ts.map +1 -1
  201. package/lib/store/actions/icp.actions.d.ts +1 -1
  202. package/lib/store/actions/icp.actions.d.ts.map +1 -1
  203. package/lib/store/actions/redaction.actions.d.ts +1 -1
  204. package/lib/store/actions/redaction.actions.d.ts.map +1 -1
  205. package/lib/store/actions/tag.actions.d.ts +1 -1
  206. package/lib/store/actions/tag.actions.d.ts.map +1 -1
  207. package/lib/store/effects/annotation.effects.d.ts +6 -3
  208. package/lib/store/effects/annotation.effects.d.ts.map +1 -1
  209. package/lib/store/effects/bookmarks.effects.d.ts +8 -5
  210. package/lib/store/effects/bookmarks.effects.d.ts.map +1 -1
  211. package/lib/store/effects/document.effects.d.ts +6 -3
  212. package/lib/store/effects/document.effects.d.ts.map +1 -1
  213. package/lib/store/effects/icp.effects.d.ts +5 -2
  214. package/lib/store/effects/icp.effects.d.ts.map +1 -1
  215. package/lib/store/effects/redaction.effects.d.ts +9 -6
  216. package/lib/store/effects/redaction.effects.d.ts.map +1 -1
  217. package/lib/store/selectors/annotation.selectors.d.ts +70 -27
  218. package/lib/store/selectors/annotation.selectors.d.ts.map +1 -1
  219. package/lib/store/selectors/bookmark.selectors.d.ts +18 -10
  220. package/lib/store/selectors/bookmark.selectors.d.ts.map +1 -1
  221. package/lib/store/selectors/document.selectors.d.ts +13 -11
  222. package/lib/store/selectors/document.selectors.d.ts.map +1 -1
  223. package/lib/store/selectors/icp.selectors.d.ts +9 -8
  224. package/lib/store/selectors/icp.selectors.d.ts.map +1 -1
  225. package/lib/store/selectors/redaction.selectors.d.ts +17 -11
  226. package/lib/store/selectors/redaction.selectors.d.ts.map +1 -1
  227. package/lib/store/selectors/tag.selectors.d.ts +14 -12
  228. package/lib/store/selectors/tag.selectors.d.ts.map +1 -1
  229. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +3 -0
  230. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +1 -1
  231. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +3 -0
  232. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -1
  233. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +5 -2
  234. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +1 -1
  235. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +3 -0
  236. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -1
  237. package/lib/toolbar/search-bar/search-bar.component.d.ts +3 -0
  238. package/lib/toolbar/search-bar/search-bar.component.d.ts.map +1 -1
  239. package/lib/toolbar/toolbar-button-visibility.service.d.ts +3 -0
  240. package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +1 -1
  241. package/lib/toolbar/toolbar-event.service.d.ts +5 -2
  242. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
  243. package/lib/toolbar/toolbar.module.d.ts +13 -0
  244. package/lib/toolbar/toolbar.module.d.ts.map +1 -1
  245. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +3 -0
  246. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +1 -1
  247. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +3 -0
  248. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +1 -1
  249. package/lib/viewers/grab-n-drag.directive.d.ts +3 -0
  250. package/lib/viewers/grab-n-drag.directive.d.ts.map +1 -1
  251. package/lib/viewers/image-viewer/image-viewer.component.d.ts +3 -0
  252. package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +1 -1
  253. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +3 -0
  254. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +1 -1
  255. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +3 -0
  256. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +1 -1
  257. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +3 -0
  258. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -1
  259. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +5 -2
  260. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -1
  261. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +3 -0
  262. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -1
  263. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +3 -0
  264. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -1
  265. package/lib/viewers/rotation-persist/rotation-api.service.d.ts +3 -0
  266. package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +1 -1
  267. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +3 -0
  268. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +1 -1
  269. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +3 -0
  270. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +1 -1
  271. package/lib/viewers/viewer-event.service.d.ts +3 -0
  272. package/lib/viewers/viewer-event.service.d.ts.map +1 -1
  273. package/lib/viewers/viewer-util.service.d.ts +3 -0
  274. package/lib/viewers/viewer-util.service.d.ts.map +1 -1
  275. package/package.json +34 -22
  276. package/public_api.d.ts +1 -0
  277. package/public_api.d.ts.map +1 -1
  278. package/bundles/hmcts-media-viewer.umd.js +0 -7552
  279. package/bundles/hmcts-media-viewer.umd.js.map +0 -1
  280. package/bundles/hmcts-media-viewer.umd.min.js +0 -2
  281. package/bundles/hmcts-media-viewer.umd.min.js.map +0 -1
  282. package/esm2015/hmcts-media-viewer.js +0 -64
  283. package/esm2015/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +0 -113
  284. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +0 -111
  285. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +0 -61
  286. package/esm2015/lib/annotations/annotation-set/annotation-set.component.js +0 -47
  287. package/esm2015/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +0 -86
  288. package/esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.js +0 -108
  289. package/esm2015/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.js +0 -107
  290. package/esm2015/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +0 -81
  291. package/esm2015/lib/annotations/annotations.module.js +0 -103
  292. package/esm2015/lib/annotations/comment-set/comment/comment.component.js +0 -162
  293. package/esm2015/lib/annotations/comment-set/comment/comment.service.js +0 -47
  294. package/esm2015/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.js +0 -48
  295. package/esm2015/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.js +0 -31
  296. package/esm2015/lib/annotations/comment-set/comment-navigate/comments-navigate.component.js +0 -95
  297. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.js +0 -60
  298. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.js +0 -53
  299. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +0 -68
  300. package/esm2015/lib/annotations/comment-set/comment-set-render.service.js +0 -51
  301. package/esm2015/lib/annotations/comment-set/comment-set.component.js +0 -110
  302. package/esm2015/lib/annotations/comments-summary/comments-summary.component.js +0 -106
  303. package/esm2015/lib/annotations/pipes/date/date.pipe.js +0 -22
  304. package/esm2015/lib/annotations/pipes/filter/filter.pipe.js +0 -28
  305. package/esm2015/lib/annotations/pipes/unsnake/unsnake.pipe.js +0 -12
  306. package/esm2015/lib/annotations/services/annotation-api/annotation-api.service.js +0 -59
  307. package/esm2015/lib/annotations/services/bookmarks-api/bookmarks-api.service.js +0 -46
  308. package/esm2015/lib/annotations/services/tags/tags.services.js +0 -36
  309. package/esm2015/lib/annotations/tags/tags.component.js +0 -52
  310. package/esm2015/lib/bookmark/components/bookmark-icons.component.js +0 -26
  311. package/esm2015/lib/icp/confirm-exit/confirm-action-dialog.component.js +0 -25
  312. package/esm2015/lib/icp/icp-follower.service.js +0 -63
  313. package/esm2015/lib/icp/icp-presenter.service.js +0 -57
  314. package/esm2015/lib/icp/icp-session-api.service.js +0 -22
  315. package/esm2015/lib/icp/icp-update.service.js +0 -56
  316. package/esm2015/lib/icp/icp.service.js +0 -98
  317. package/esm2015/lib/icp/participants-list/participants-list.component.js +0 -32
  318. package/esm2015/lib/icp/socket.service.js +0 -117
  319. package/esm2015/lib/media-viewer.component.js +0 -210
  320. package/esm2015/lib/media-viewer.module.js +0 -102
  321. package/esm2015/lib/redaction/components/redaction.component.js +0 -97
  322. package/esm2015/lib/redaction/services/redaction-api.service.js +0 -51
  323. package/esm2015/lib/shared/gov-uk-date/gov-uk-date.component.js +0 -21
  324. package/esm2015/lib/shared/gov-uk-error-message/gov-uk-error-message.component.js +0 -27
  325. package/esm2015/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -42
  326. package/esm2015/lib/shared/gov-uk-label/gov-uk-label.component.js +0 -32
  327. package/esm2015/lib/shared/shared.module.js +0 -34
  328. package/esm2015/lib/shared/util/services/number.helper.service.js +0 -23
  329. package/esm2015/lib/store/effects/annotation.effects.js +0 -58
  330. package/esm2015/lib/store/effects/bookmarks.effects.js +0 -66
  331. package/esm2015/lib/store/effects/document.effects.js +0 -59
  332. package/esm2015/lib/store/effects/icp.effects.js +0 -37
  333. package/esm2015/lib/store/effects/redaction.effects.js +0 -94
  334. package/esm2015/lib/store/reducers/annotations.reducer.js +0 -115
  335. package/esm2015/lib/store/reducers/bookmarks.reducer.js +0 -80
  336. package/esm2015/lib/store/reducers/document.reducer.js +0 -100
  337. package/esm2015/lib/store/reducers/icp.reducer.js +0 -40
  338. package/esm2015/lib/store/reducers/redaction.reducer.js +0 -75
  339. package/esm2015/lib/store/reducers/tags.reducer.js +0 -67
  340. package/esm2015/lib/store/selectors/annotation.selectors.js +0 -84
  341. package/esm2015/lib/store/selectors/bookmark.selectors.js +0 -41
  342. package/esm2015/lib/store/selectors/icp.selectors.js +0 -18
  343. package/esm2015/lib/store/store-utils.js +0 -105
  344. package/esm2015/lib/toolbar/icp-toolbar/icp-toolbar.component.js +0 -43
  345. package/esm2015/lib/toolbar/main-toolbar/main-toolbar.component.js +0 -175
  346. package/esm2015/lib/toolbar/redaction-search-bar/redaction-search-bar.component.js +0 -201
  347. package/esm2015/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +0 -70
  348. package/esm2015/lib/toolbar/search-bar/search-bar.component.js +0 -102
  349. package/esm2015/lib/toolbar/toolbar-button-visibility.service.js +0 -92
  350. package/esm2015/lib/toolbar/toolbar.module.js +0 -45
  351. package/esm2015/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.js +0 -72
  352. package/esm2015/lib/viewers/convertible-content-viewer/document-conversion-api.service.js +0 -23
  353. package/esm2015/lib/viewers/grab-n-drag.directive.js +0 -51
  354. package/esm2015/lib/viewers/image-viewer/image-viewer.component.js +0 -164
  355. package/esm2015/lib/viewers/multimedia-player/multimedia-player.component.js +0 -54
  356. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +0 -203
  357. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.js +0 -43
  358. package/esm2015/lib/viewers/pdf-viewer/pdf-viewer.component.js +0 -220
  359. package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +0 -179
  360. package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +0 -44
  361. package/esm2015/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +0 -72
  362. package/esm2015/lib/viewers/rotation-persist/rotation-api.service.js +0 -28
  363. package/esm2015/lib/viewers/rotation-persist/rotation-persist.directive.js +0 -67
  364. package/esm2015/lib/viewers/unsupported-viewer/unsupported-viewer.component.js +0 -47
  365. package/esm2015/lib/viewers/viewer-event.service.js +0 -30
  366. package/esm2015/lib/viewers/viewer-util.service.js +0 -23
  367. package/esm2015/public_api.js +0 -31
  368. package/fesm2015/hmcts-media-viewer.js +0 -6585
  369. package/fesm2015/hmcts-media-viewer.js.map +0 -1
  370. package/hmcts-media-viewer.d.ts +0 -69
  371. package/hmcts-media-viewer.metadata.json +0 -1
  372. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.ngfactory.d.ts.map +0 -1
  373. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.ngfactory.d.ts.map +0 -1
  374. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.ngfactory.d.ts.map +0 -1
  375. package/lib/annotations/annotation-set/annotation-set.component.ngfactory.d.ts.map +0 -1
  376. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.ngfactory.d.ts.map +0 -1
  377. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.ngfactory.d.ts.map +0 -1
  378. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.ngfactory.d.ts.map +0 -1
  379. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.ngfactory.d.ts.map +0 -1
  380. package/lib/annotations/annotations.module.ngfactory.d.ts.map +0 -1
  381. package/lib/annotations/comment-set/comment/comment.component.ngfactory.d.ts.map +0 -1
  382. package/lib/annotations/comment-set/comment/comment.service.ngfactory.d.ts.map +0 -1
  383. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.ngfactory.d.ts.map +0 -1
  384. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.ngfactory.d.ts.map +0 -1
  385. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.ngfactory.d.ts.map +0 -1
  386. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.ngfactory.d.ts.map +0 -1
  387. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.ngfactory.d.ts.map +0 -1
  388. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.ngfactory.d.ts.map +0 -1
  389. package/lib/annotations/comment-set/comment-set-render.service.ngfactory.d.ts.map +0 -1
  390. package/lib/annotations/comment-set/comment-set.component.ngfactory.d.ts.map +0 -1
  391. package/lib/annotations/comments-summary/comments-summary.component.ngfactory.d.ts.map +0 -1
  392. package/lib/annotations/pipes/date/date.pipe.ngfactory.d.ts.map +0 -1
  393. package/lib/annotations/pipes/filter/filter.pipe.ngfactory.d.ts.map +0 -1
  394. package/lib/annotations/pipes/unsnake/unsnake.pipe.ngfactory.d.ts.map +0 -1
  395. package/lib/annotations/services/annotation-api/annotation-api.service.ngfactory.d.ts.map +0 -1
  396. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.ngfactory.d.ts.map +0 -1
  397. package/lib/annotations/services/tags/tags.services.ngfactory.d.ts.map +0 -1
  398. package/lib/annotations/tags/tags.component.ngfactory.d.ts.map +0 -1
  399. package/lib/bookmark/components/bookmark-icons.component.ngfactory.d.ts.map +0 -1
  400. package/lib/icp/confirm-exit/confirm-action-dialog.component.ngfactory.d.ts.map +0 -1
  401. package/lib/icp/icp-follower.service.ngfactory.d.ts.map +0 -1
  402. package/lib/icp/icp-presenter.service.ngfactory.d.ts.map +0 -1
  403. package/lib/icp/icp-session-api.service.ngfactory.d.ts.map +0 -1
  404. package/lib/icp/icp-update.service.ngfactory.d.ts.map +0 -1
  405. package/lib/icp/icp.service.ngfactory.d.ts.map +0 -1
  406. package/lib/icp/participants-list/participants-list.component.ngfactory.d.ts.map +0 -1
  407. package/lib/icp/socket.service.ngfactory.d.ts.map +0 -1
  408. package/lib/media-viewer.component.ngfactory.d.ts.map +0 -1
  409. package/lib/media-viewer.module.ngfactory.d.ts.map +0 -1
  410. package/lib/print.service.ngfactory.d.ts.map +0 -1
  411. package/lib/redaction/components/redaction.component.ngfactory.d.ts.map +0 -1
  412. package/lib/redaction/services/redaction-api.service.ngfactory.d.ts.map +0 -1
  413. package/lib/shared/gov-uk-date/gov-uk-date.component.ngfactory.d.ts.map +0 -1
  414. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.ngfactory.d.ts.map +0 -1
  415. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.ngfactory.d.ts.map +0 -1
  416. package/lib/shared/gov-uk-label/gov-uk-label.component.ngfactory.d.ts.map +0 -1
  417. package/lib/shared/shared.module.ngfactory.d.ts.map +0 -1
  418. package/lib/shared/util/services/number.helper.service.ngfactory.d.ts.map +0 -1
  419. package/lib/store/effects/annotation.effects.ngfactory.d.ts.map +0 -1
  420. package/lib/store/effects/bookmarks.effects.ngfactory.d.ts.map +0 -1
  421. package/lib/store/effects/document.effects.ngfactory.d.ts.map +0 -1
  422. package/lib/store/effects/icp.effects.ngfactory.d.ts.map +0 -1
  423. package/lib/store/effects/redaction.effects.ngfactory.d.ts.map +0 -1
  424. package/lib/toolbar/icp-toolbar/icp-toolbar.component.ngfactory.d.ts.map +0 -1
  425. package/lib/toolbar/main-toolbar/main-toolbar.component.ngfactory.d.ts.map +0 -1
  426. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.ngfactory.d.ts.map +0 -1
  427. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.scss.shim.ngstyle.d.ts.map +0 -1
  428. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.ngfactory.d.ts.map +0 -1
  429. package/lib/toolbar/search-bar/search-bar.component.ngfactory.d.ts.map +0 -1
  430. package/lib/toolbar/toolbar-button-visibility.service.ngfactory.d.ts.map +0 -1
  431. package/lib/toolbar/toolbar-event.service.ngfactory.d.ts.map +0 -1
  432. package/lib/toolbar/toolbar.module.ngfactory.d.ts.map +0 -1
  433. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.ngfactory.d.ts.map +0 -1
  434. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.ngfactory.d.ts.map +0 -1
  435. package/lib/viewers/grab-n-drag.directive.ngfactory.d.ts.map +0 -1
  436. package/lib/viewers/image-viewer/image-viewer.component.ngfactory.d.ts.map +0 -1
  437. package/lib/viewers/multimedia-player/multimedia-player.component.ngfactory.d.ts.map +0 -1
  438. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.ngfactory.d.ts.map +0 -1
  439. package/lib/viewers/pdf-viewer/pdf-viewer.component.ngfactory.d.ts.map +0 -1
  440. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.ngfactory.d.ts.map +0 -1
  441. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.ngfactory.d.ts.map +0 -1
  442. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.ngfactory.d.ts.map +0 -1
  443. package/lib/viewers/rotation-persist/rotation-api.service.ngfactory.d.ts.map +0 -1
  444. package/lib/viewers/rotation-persist/rotation-persist.directive.ngfactory.d.ts.map +0 -1
  445. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.ngfactory.d.ts.map +0 -1
  446. package/lib/viewers/viewer-event.service.ngfactory.d.ts.map +0 -1
  447. package/lib/viewers/viewer-util.service.ngfactory.d.ts.map +0 -1
  448. /package/{esm2015/lib/annotations/annotation-set/annotation-set.model.js → esm2020/lib/annotations/annotation-set/annotation-set.model.mjs} +0 -0
  449. /package/{esm2015/lib/annotations/annotation-set/annotation-view/annotation.model.js → esm2020/lib/annotations/annotation-set/annotation-view/annotation.model.mjs} +0 -0
  450. /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
  451. /package/{esm2015/lib/annotations/comment-set/comment/comment.model.js → esm2020/lib/annotations/comment-set/comment/comment.model.mjs} +0 -0
  452. /package/{esm2015/lib/annotations/models/api-persisted.model.js → esm2020/lib/annotations/models/api-persisted.model.mjs} +0 -0
  453. /package/{esm2015/lib/annotations/models/event-select.model.js → esm2020/lib/annotations/models/event-select.model.mjs} +0 -0
  454. /package/{esm2015/lib/annotations/models/tags.model.js → esm2020/lib/annotations/models/tags.model.mjs} +0 -0
  455. /package/{esm2015/lib/annotations/models/user.model.js → esm2020/lib/annotations/models/user.model.mjs} +0 -0
  456. /package/{esm2015/lib/icp/icp.events.js → esm2020/lib/icp/icp.events.mjs} +0 -0
  457. /package/{esm2015/lib/icp/icp.interfaces.js → esm2020/lib/icp/icp.interfaces.mjs} +0 -0
  458. /package/{esm2015/lib/redaction/services/redaction.model.js → esm2020/lib/redaction/services/redaction.model.mjs} +0 -0
  459. /package/{esm2015/lib/shared/util/helpers/html-templates.helper.js → esm2020/lib/shared/util/helpers/html-templates.helper.mjs} +0 -0
  460. /package/{esm2015/lib/store/actions/annotation.actions.js → esm2020/lib/store/actions/annotation.actions.mjs} +0 -0
  461. /package/{esm2015/lib/store/actions/bookmark.actions.js → esm2020/lib/store/actions/bookmark.actions.mjs} +0 -0
  462. /package/{esm2015/lib/store/actions/document.actions.js → esm2020/lib/store/actions/document.actions.mjs} +0 -0
  463. /package/{esm2015/lib/store/actions/icp.actions.js → esm2020/lib/store/actions/icp.actions.mjs} +0 -0
  464. /package/{esm2015/lib/store/actions/redaction.actions.js → esm2020/lib/store/actions/redaction.actions.mjs} +0 -0
  465. /package/{esm2015/lib/store/actions/tag.actions.js → esm2020/lib/store/actions/tag.actions.mjs} +0 -0
  466. /package/{esm2015/lib/store/effects/index.js → esm2020/lib/store/effects/index.mjs} +0 -0
  467. /package/{esm2015/lib/store/models/bookmarks.interface.js → esm2020/lib/store/models/bookmarks.interface.mjs} +0 -0
  468. /package/{esm2015/lib/store/models/filters.interface.js → esm2020/lib/store/models/filters.interface.mjs} +0 -0
  469. /package/{esm2015/lib/store/reducers/reducers.js → esm2020/lib/store/reducers/reducers.mjs} +0 -0
  470. /package/{esm2015/lib/toolbar/icp-event.service.js → esm2020/lib/toolbar/icp-event.service.mjs} +0 -0
  471. /package/{esm2015/lib/toolbar/redaction-search-bar/redaction-search.model.js → esm2020/lib/toolbar/redaction-search-bar/redaction-search.model.mjs} +0 -0
  472. /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
  473. /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
  474. /package/{esm2015/lib/viewers/rotation-persist/rotation.model.js → esm2020/lib/viewers/rotation-persist/rotation.model.mjs} +0 -0
  475. /package/{esm2015/lib/viewers/viewer-exception.model.js → esm2020/lib/viewers/viewer-exception.model.mjs} +0 -0
@@ -1,164 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
3
- import { PrintService } from '../../print.service';
4
- import { ToolbarEventService } from '../../toolbar/toolbar-event.service';
5
- import { ResponseType, ViewerException } from '../viewer-exception.model';
6
- import { ViewerUtilService } from '../viewer-util.service';
7
- import { ToolbarButtonVisibilityService } from '../../toolbar/toolbar-button-visibility.service';
8
- import { Store } from '@ngrx/store';
9
- import * as fromDocument from '../../store/actions/document.actions';
10
- import * as fromAnnotationActions from '../../store/actions/annotation.actions';
11
- import { ViewerEventService } from '../viewer-event.service';
12
- export class ImageViewerComponent {
13
- constructor(store, printService, viewerUtilService, toolbarEvents, toolbarButtons, viewerEvents) {
14
- this.store = store;
15
- this.printService = printService;
16
- this.viewerUtilService = viewerUtilService;
17
- this.toolbarEvents = toolbarEvents;
18
- this.toolbarButtons = toolbarButtons;
19
- this.viewerEvents = viewerEvents;
20
- this.mediaLoadStatus = new EventEmitter();
21
- this.imageViewerException = new EventEmitter();
22
- this.rotation = 0;
23
- this.zoom = 1;
24
- this.subscriptions = [];
25
- this.enableGrabNDrag = false;
26
- }
27
- ngOnInit() {
28
- this.subscriptions.push(this.toolbarEvents.rotateSubject.subscribe(rotation => this.rotateImage(rotation)), this.toolbarEvents.zoomSubject.subscribe(zoom => this.setZoom(zoom)), this.toolbarEvents.stepZoomSubject.subscribe(zoom => this.stepZoom(zoom)), this.toolbarEvents.printSubject.subscribe(() => this.printService.printDocumentNatively(this.url)), this.toolbarEvents.downloadSubject.subscribe(() => this.download()), this.toolbarEvents.grabNDrag.subscribe(grabNDrag => this.enableGrabNDrag = grabNDrag), this.toolbarEvents.commentsPanelVisible.subscribe(toggle => this.showCommentsPanel = toggle));
29
- }
30
- onImageViewerClick(event) {
31
- const classNme = event.target.className;
32
- if (classNme.startsWith('pageContainer')) {
33
- this.store.dispatch(new fromAnnotationActions.SelectedAnnotation({
34
- annotationId: '',
35
- selected: false,
36
- editable: false,
37
- }));
38
- this.viewerEvents.clearCtxToolbar();
39
- }
40
- }
41
- ngOnDestroy() {
42
- this.subscriptions.filter(subscription => !subscription.closed)
43
- .forEach(subscription => subscription.unsubscribe());
44
- if (this.response) {
45
- this.response.unsubscribe();
46
- }
47
- }
48
- ngOnChanges(changes) {
49
- if (changes.url) {
50
- this.errorMessage = null;
51
- this.toolbarEvents.reset();
52
- }
53
- }
54
- rotateImage(rotation) {
55
- this.rotation = (this.rotation + rotation) % 360;
56
- this.initAnnoPage(this.img.nativeElement);
57
- }
58
- setZoom(zoomFactor) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- if (!isNaN(zoomFactor)) {
61
- yield this.setZoomValue(this.calculateZoomValue(zoomFactor));
62
- this.img.nativeElement.width = this.img.nativeElement.naturalWidth * this.zoom;
63
- this.initAnnoPage(this.img.nativeElement);
64
- }
65
- });
66
- }
67
- stepZoom(zoomFactor) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- if (!isNaN(zoomFactor)) {
70
- yield this.setZoomValue(this.calculateZoomValue(this.zoom, zoomFactor));
71
- this.img.nativeElement.width = this.img.nativeElement.naturalWidth * this.zoom;
72
- this.initAnnoPage(this.img.nativeElement);
73
- }
74
- });
75
- }
76
- download() {
77
- const a = document.createElement('a');
78
- document.body.appendChild(a);
79
- a.setAttribute('style', 'display: none');
80
- a.href = this.url;
81
- a.download = this.downloadFileName;
82
- a.click();
83
- a.remove();
84
- }
85
- // the returned promise is a work-around
86
- setZoomValue(zoomValue) {
87
- return new Promise((resolve) => {
88
- this.zoom = zoomValue;
89
- this.toolbarEvents.zoomValueSubject.next(zoomValue);
90
- resolve(true);
91
- });
92
- }
93
- calculateZoomValue(zoomValue, increment = 0) {
94
- const newZoomValue = zoomValue + increment;
95
- if (newZoomValue > 5) {
96
- return 5;
97
- }
98
- if (newZoomValue < 0.1) {
99
- return 0.1;
100
- }
101
- return +newZoomValue.toFixed(2);
102
- }
103
- onLoadError(url) {
104
- this.response = this.viewerUtilService.validateFile(url)
105
- .subscribe(next => next, error => {
106
- this.viewerException = new ViewerException(error.name, { httpResponseCode: error.status, message: error.message });
107
- });
108
- this.errorMessage = `Could not load the image "${this.url}"`;
109
- this.mediaLoadStatus.emit(ResponseType.FAILURE);
110
- this.imageViewerException.emit(this.viewerException);
111
- }
112
- onLoad(img) {
113
- this.mediaLoadStatus.emit(ResponseType.SUCCESS);
114
- this.initAnnoPage(img);
115
- }
116
- initAnnoPage(img) {
117
- this.imageHeight = this.rotation % 180 !== 0 ? img.offsetWidth : img.offsetHeight;
118
- this.imageWidth = this.rotation % 180 !== 0 ? img.offsetHeight : img.offsetWidth;
119
- this.imageLeft = this.rotation % 180 !== 0 ? img.offsetTop : img.offsetLeft;
120
- this.imageTop = this.rotation % 180 !== 0 ? img.offsetLeft : img.offsetTop;
121
- const payload = [{
122
- div: {
123
- scrollHeight: this.imageHeight,
124
- scrollWidth: this.imageWidth,
125
- offsetLeft: this.imageLeft,
126
- },
127
- pageNumber: 1,
128
- scale: this.zoom,
129
- rotation: this.rotation,
130
- id: 1
131
- }];
132
- this.store.dispatch(new fromDocument.AddPages(payload));
133
- }
134
- toggleCommentsSummary() {
135
- this.toolbarEvents.toggleCommentsSummary(!this.toolbarEvents.showCommentSummary.getValue());
136
- }
137
- }
138
- ImageViewerComponent.decorators = [
139
- { type: Component, args: [{
140
- selector: 'mv-image-viewer',
141
- template: "<mv-comment-set-header [ngClass]=\"{'show-comments-panel': showCommentsPanel}\"\n [showCommentSummary]=\"toolbarButtons.showCommentSummary\"\n (showCommentSummaryDialog)=\"toggleCommentsSummary()\">\n</mv-comment-set-header>\n<div id=\"viewer-wrapper\"\n [ngStyle]=\"{ height: height }\"\n [ngClass]=\"{ 'grabNDrag': enableGrabNDrag }\"\n *ngIf=\"url && !errorMessage\">\n <div #imageContainer id=\"image-container\"\n mvGrabNDrag [dragX]=\"imageContainer\" [dragEnabled]=\"enableGrabNDrag\"\n (scroll)=\"$event\"\n [ngClass]=\"{ 'image-container': true, 'annotations': enableAnnotations, 'show-comments-panel': showCommentsPanel }\">\n <img #img\n [src]=\"url\"\n [ngClass]=\"'rot' + rotation\"\n (error)=\"onLoadError(url)\"\n (load)=\"onLoad(img)\"/>\n <mv-redactions *ngIf=\"(toolbarEvents.redactionMode | async);else annotationTemplate\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n ></mv-redactions>\n <ng-template #annotationTemplate>\n <mv-metadata-layer *ngIf=\"enableAnnotations && annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\">\n </mv-metadata-layer>\n </ng-template>\n </div>\n\n <mv-comment-set [contentScrollTop]=\"imageContainer.scrollTop\"\n *ngIf=\"enableAnnotations && annotationSet && !(toolbarEvents.redactionMode | async)\"\n [annotationSet]=\"annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [height]=\"imageHeight\">\n </mv-comment-set>\n</div>\n"
142
- },] }
143
- ];
144
- /** @nocollapse */
145
- ImageViewerComponent.ctorParameters = () => [
146
- { type: Store },
147
- { type: PrintService },
148
- { type: ViewerUtilService },
149
- { type: ToolbarEventService },
150
- { type: ToolbarButtonVisibilityService },
151
- { type: ViewerEventService }
152
- ];
153
- ImageViewerComponent.propDecorators = {
154
- url: [{ type: Input }],
155
- downloadFileName: [{ type: Input }],
156
- enableAnnotations: [{ type: Input }],
157
- annotationSet: [{ type: Input }],
158
- height: [{ type: Input }],
159
- mediaLoadStatus: [{ type: Output }],
160
- imageViewerException: [{ type: Output }],
161
- img: [{ type: ViewChild, args: ['img', { static: false },] }],
162
- onImageViewerClick: [{ type: HostListener, args: ['mousedown', ['$event'],] }]
163
- };
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvaW1hZ2Utdmlld2VyL2ltYWdlLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDakcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEtBQUssWUFBWSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxxQkFBcUIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU03RCxNQUFNLE9BQU8sb0JBQW9CO0lBOEIvQixZQUNVLEtBQTBDLEVBQ2pDLFlBQTBCLEVBQzFCLGlCQUFvQyxFQUNyQyxhQUFrQyxFQUNsQyxjQUE4QyxFQUN0RCxZQUFnQztRQUxoQyxVQUFLLEdBQUwsS0FBSyxDQUFxQztRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3JDLGtCQUFhLEdBQWIsYUFB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bWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblNldCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tc2V0Lm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZVR5cGUsIFZpZXdlckV4Y2VwdGlvbiB9IGZyb20gJy4uL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgVmlld2VyVXRpbFNlcnZpY2UgfSBmcm9tICcuLi92aWV3ZXItdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm90YXRpb25BY3Rpb25zIGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uL3ZpZXdlci1ldmVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtaW1hZ2Utdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXZpZXdlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSB1cmw6IHN0cmluZztcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGVuYWJsZUFubm90YXRpb25zOiBib29sZWFuO1xuICBASW5wdXQoKSBhbm5vdGF0aW9uU2V0OiBBbm5vdGF0aW9uU2V0IHwgbnVsbDtcblxuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZztcblxuICBAT3V0cHV0KCkgbWVkaWFMb2FkU3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNwb25zZVR5cGU+KCk7XG4gIEBPdXRwdXQoKSBpbWFnZVZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ2ltZycsIHtzdGF0aWM6IGZhbHNlfSkgaW1nOiBFbGVtZW50UmVmO1xuICByb3RhdGlvbiA9IDA7XG4gIHpvb20gPSAxO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSB2aWV3ZXJFeGNlcHRpb246IFZpZXdlckV4Y2VwdGlvbjtcbiAgcHJpdmF0ZSByZXNwb25zZTogU3Vic2NyaXB0aW9uO1xuXG4gIHNob3dDb21tZW50c1BhbmVsOiBib29sZWFuO1xuICBlbmFibGVHcmFiTkRyYWcgPSBmYWxzZTtcbiAgaW1hZ2VIZWlnaHQ6IG51bWJlcjtcbiAgaW1hZ2VXaWR0aDogbnVtYmVyO1xuICBpbWFnZUxlZnQ6IG51bWJlcjtcbiAgaW1hZ2VUb3A6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuQW5ub3RhdGlvblNldFN0YXRlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld2VyVXRpbFNlcnZpY2U6IFZpZXdlclV0aWxTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld2VyRXZlbnRzOiBWaWV3ZXJFdmVudFNlcnZpY2UsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucm90YXRlU3ViamVjdC5zdWJzY3JpYmUocm90YXRpb24gPT4gdGhpcy5yb3RhdGVJbWFnZShyb3RhdGlvbikpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnpvb21TdWJqZWN0LnN1YnNjcmliZSh6b29tID0+IHRoaXMuc2V0Wm9vbSh6b29tKSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc3RlcFpvb21TdWJqZWN0LnN1YnNjcmliZSh6b29tID0+IHRoaXMuc3RlcFpvb20oem9vbSkpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnByaW50U3ViamVjdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wcmludFNlcnZpY2UucHJpbnREb2N1bWVudE5hdGl2ZWx5KHRoaXMudXJsKSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuZG93bmxvYWRTdWJqZWN0LnN1YnNjcmliZSgoKSA9PiB0aGlzLmRvd25sb2FkKCkpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmdyYWJORHJhZy5zdWJzY3JpYmUoZ3JhYk5EcmFnID0+IHRoaXMuZW5hYmxlR3JhYk5EcmFnID0gZ3JhYk5EcmFnKSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5jb21tZW50c1BhbmVsVmlzaWJsZS5zdWJzY3JpYmUodG9nZ2xlID0+IHRoaXMuc2hvd0NvbW1lbnRzUGFuZWwgPSB0b2dnbGUpXG4gICAgKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIG9uSW1hZ2VWaWV3ZXJDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGNvbnN0IGNsYXNzTm1lID0gKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5jbGFzc05hbWU7XG4gICAgaWYgKGNsYXNzTm1lLnN0YXJ0c1dpdGgoJ3BhZ2VDb250YWluZXInKSkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgbmV3IGZyb21Bbm5vdGF0aW9uQWN0aW9ucy5TZWxlY3RlZEFubm90YXRpb24oe1xuICAgICAgICAgIGFubm90YXRpb25JZDogJycsXG4gICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnZpZXdlckV2ZW50cy5jbGVhckN0eFRvb2xiYXIoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZmlsdGVyKHN1YnNjcmlwdGlvbiA9PiAhc3Vic2NyaXB0aW9uLmNsb3NlZClcbiAgICAgIC5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgaWYgKHRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRoaXMucmVzcG9uc2UudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMudXJsKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJvdGF0ZUltYWdlKHJvdGF0aW9uOiBudW1iZXIpIHtcbiAgICB0aGlzLnJvdGF0aW9uID0gKHRoaXMucm90YXRpb24gKyByb3RhdGlvbikgJSAzNjA7XG4gICAgdGhpcy5pbml0QW5ub1BhZ2UodGhpcy5pbWcubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldFpvb20oem9vbUZhY3RvcjogbnVtYmVyKSB7XG4gICAgaWYgKCFpc05hTih6b29tRmFjdG9yKSkge1xuICAgICAgYXdhaXQgdGhpcy5zZXRab29tVmFsdWUodGhpcy5jYWxjdWxhdGVab29tVmFsdWUoem9vbUZhY3RvcikpO1xuICAgICAgdGhpcy5pbWcubmF0aXZlRWxlbWVudC53aWR0aCA9IHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQubmF0dXJhbFdpZHRoICogdGhpcy56b29tO1xuICAgICAgdGhpcy5pbml0QW5ub1BhZ2UodGhpcy5pbWcubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzdGVwWm9vbSh6b29tRmFjdG9yOiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmFOKHpvb21GYWN0b3IpKSB7XG4gICAgICBhd2FpdCB0aGlzLnNldFpvb21WYWx1ZSh0aGlzLmNhbGN1bGF0ZVpvb21WYWx1ZSh0aGlzLnpvb20sIHpvb21GYWN0b3IpKTtcbiAgICAgIHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQud2lkdGggPSB0aGlzLmltZy5uYXRpdmVFbGVtZW50Lm5hdHVyYWxXaWR0aCAqIHRoaXMuem9vbTtcbiAgICAgIHRoaXMuaW5pdEFubm9QYWdlKHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZG93bmxvYWQoKSB7XG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgIGEuc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OiBub25lJyk7XG4gICAgYS5ocmVmID0gdGhpcy51cmw7XG4gICAgYS5kb3dubG9hZCA9IHRoaXMuZG93bmxvYWRGaWxlTmFtZTtcbiAgICBhLmNsaWNrKCk7XG4gICAgYS5yZW1vdmUoKTtcbiAgfVxuXG4gIC8vIHRoZSByZXR1cm5lZCBwcm9taXNlIGlzIGEgd29yay1hcm91bmRcbiAgc2V0Wm9vbVZhbHVlKHpvb21WYWx1ZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy56b29tID0gem9vbVZhbHVlO1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnpvb21WYWx1ZVN1YmplY3QubmV4dCh6b29tVmFsdWUpO1xuICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVpvb21WYWx1ZSh6b29tVmFsdWUsIGluY3JlbWVudCA9IDApIHtcbiAgICBjb25zdCBuZXdab29tVmFsdWUgPSB6b29tVmFsdWUgKyBpbmNyZW1lbnQ7XG4gICAgaWYgKG5ld1pvb21WYWx1ZSA+IDUpIHsgcmV0dXJuIDU7IH1cbiAgICBpZiAobmV3Wm9vbVZhbHVlIDwgMC4xKSB7IHJldHVybiAwLjE7IH1cbiAgICByZXR1cm4gK25ld1pvb21WYWx1ZS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgb25Mb2FkRXJyb3IodXJsKSB7XG4gICAgdGhpcy5yZXNwb25zZSA9IHRoaXMudmlld2VyVXRpbFNlcnZpY2UudmFsaWRhdGVGaWxlKHVybClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIG5leHQgPT4gbmV4dCxcbiAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMudmlld2VyRXhjZXB0aW9uID0gbmV3IFZpZXdlckV4Y2VwdGlvbihlcnJvci5uYW1lLFxuICAgICAgICAgICAgeyBodHRwUmVzcG9uc2VDb2RlOiBlcnJvci5zdGF0dXMsIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBgQ291bGQgbm90IGxvYWQgdGhlIGltYWdlIFwiJHt0aGlzLnVybH1cImA7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuRkFJTFVSRSk7XG4gICAgdGhpcy5pbWFnZVZpZXdlckV4Y2VwdGlvbi5lbWl0KHRoaXMudmlld2VyRXhjZXB0aW9uKTtcbiAgfVxuXG4gIG9uTG9hZChpbWc6IGFueSkge1xuICAgIHRoaXMubWVkaWFMb2FkU3RhdHVzLmVtaXQoUmVzcG9uc2VUeXBlLlNVQ0NFU1MpO1xuICAgIHRoaXMuaW5pdEFubm9QYWdlKGltZyk7XG4gIH1cblxuICBpbml0QW5ub1BhZ2UoaW1nOiBhbnkpIHtcbiAgICB0aGlzLmltYWdlSGVpZ2h0ID0gdGhpcy5yb3RhdGlvbiAlIDE4MCAhPT0gMCA/IGltZy5vZmZzZXRXaWR0aCA6IGltZy5vZmZzZXRIZWlnaHQ7XG4gICAgdGhpcy5pbWFnZVdpZHRoID0gdGhpcy5yb3RhdGlvbiAlIDE4MCAhPT0gMCA/IGltZy5vZmZzZXRIZWlnaHQgOiBpbWcub2Zmc2V0V2lkdGg7XG4gICAgdGhpcy5pbWFnZUxlZnQgPSB0aGlzLnJvdGF0aW9uICUgMTgwICE9PSAwID8gaW1nLm9mZnNldFRvcCA6IGltZy5vZmZzZXRMZWZ0O1xuICAgIHRoaXMuaW1hZ2VUb3AgPSB0aGlzLnJvdGF0aW9uICUgMTgwICE9PSAwID8gaW1nLm9mZnNldExlZnQgOiBpbWcub2Zmc2V0VG9wO1xuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IFt7XG4gICAgICBkaXY6IHtcbiAgICAgICAgc2Nyb2xsSGVpZ2h0OiB0aGlzLmltYWdlSGVpZ2h0LFxuICAgICAgICBzY3JvbGxXaWR0aDogdGhpcy5pbWFnZVdpZHRoLFxuICAgICAgICBvZmZzZXRMZWZ0OiB0aGlzLmltYWdlTGVmdCxcbiAgICAgIH0sXG4gICAgICBwYWdlTnVtYmVyOiAxLFxuICAgICAgc2NhbGU6IHRoaXMuem9vbSxcbiAgICAgIHJvdGF0aW9uOiB0aGlzLnJvdGF0aW9uLFxuICAgICAgaWQ6IDFcbiAgICB9XTtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Eb2N1bWVudC5BZGRQYWdlcyhwYXlsb2FkKSk7XG4gIH1cblxuICB0b2dnbGVDb21tZW50c1N1bW1hcnkoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUNvbW1lbnRzU3VtbWFyeSghdGhpcy50b29sYmFyRXZlbnRzLnNob3dDb21tZW50U3VtbWFyeS5nZXRWYWx1ZSgpKTtcbiAgfVxufVxuIl19
@@ -1,54 +0,0 @@
1
- import { Component, ElementRef, Input, ViewChild, Output, EventEmitter } from '@angular/core';
2
- import { ToolbarEventService } from '../../toolbar/toolbar-event.service';
3
- import { ResponseType } from '../viewer-exception.model';
4
- export class MultimediaPlayerComponent {
5
- constructor(toolbarEvents) {
6
- this.toolbarEvents = toolbarEvents;
7
- this.loadStatus = new EventEmitter();
8
- this.playbackMsg = 'loading';
9
- }
10
- ngOnInit() {
11
- this.subscription = this.toolbarEvents.downloadSubject
12
- .subscribe(() => this.downloadLink.nativeElement.click());
13
- this.loadStatus.emit(ResponseType.SUCCESS);
14
- }
15
- ngOnChanges(changes) {
16
- if (changes.url) {
17
- this.reloadVideo();
18
- }
19
- }
20
- ngOnDestroy() {
21
- this.subscription.unsubscribe();
22
- }
23
- reloadVideo() {
24
- if (this.videoPlayer) {
25
- this.playbackMsg = 'loading';
26
- this.videoPlayer.nativeElement.load();
27
- }
28
- }
29
- onSuccess() {
30
- this.playbackMsg = 'success';
31
- }
32
- onError() {
33
- this.playbackMsg = 'error';
34
- }
35
- }
36
- MultimediaPlayerComponent.decorators = [
37
- { type: Component, args: [{
38
- selector: 'mv-multimedia-player',
39
- template: "<div class=\"govuk-width-container\">\n <div class=\"govuk-notification-banner__content\">\n <p>\n <span *ngIf=\"multimediaOn && playbackMsg === 'loading'\">Loading multimedia content ... </span>\n <span *ngIf=\"!multimediaOn\">Multimedia playback is not enabled, </span>\n <span *ngIf=\"multimediaOn && playbackMsg === 'success'\">Use the player to play to the file or </span>\n <span *ngIf=\"multimediaOn && playbackMsg === 'error'\">Mime type not supported. </span>\n <a *ngIf=\"!multimediaOn || playbackMsg !== 'loading'\" #downloadLink\n [href]=\"url\" [download]=\"downloadFileName\">Click here to download</a>\n </p>\n <video #videoPlayer *ngIf=\"multimediaOn\"\n width=\"100%\" height=\"100%\" preload=\"auto\" (canplay)=\"onSuccess()\" controls>\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/mp4\">\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/mp4; codecs='avc1, av01, hvc1, hev1, mp4v, mp4a.40.2, opus'\">\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/ogg\">\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/ogg; codecs='theora, vp8, vp9, flac, opus, vorbis'\">\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/webm\">\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/webm; codecs='vp8, vp9, vorbis, opus'\">\n </video>\n </div>\n</div>\n"
40
- },] }
41
- ];
42
- /** @nocollapse */
43
- MultimediaPlayerComponent.ctorParameters = () => [
44
- { type: ToolbarEventService }
45
- ];
46
- MultimediaPlayerComponent.propDecorators = {
47
- url: [{ type: Input }],
48
- downloadFileName: [{ type: Input }],
49
- multimediaOn: [{ type: Input }],
50
- loadStatus: [{ type: Output }],
51
- downloadLink: [{ type: ViewChild, args: ['downloadLink', { static: false },] }],
52
- videoPlayer: [{ type: ViewChild, args: ['videoPlayer', { static: false },] }]
53
- };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGltZWRpYS1wbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdmlld2Vycy9tdWx0aW1lZGlhLXBsYXllci9tdWx0aW1lZGlhLXBsYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFNBQVMsRUFFVCxNQUFNLEVBQ04sWUFBWSxFQUdiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQU16RCxNQUFNLE9BQU8seUJBQXlCO0lBZXBDLFlBQ2tCLGFBQWtDO1FBQWxDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVYxQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFLeEQsZ0JBQVcsR0FBRyxTQUFTLENBQUM7SUFNckIsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTthQUNuRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7WUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7SUFDN0IsQ0FBQzs7O1lBcERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyx5NENBQWlEO2FBQ2xEOzs7O1lBUFEsbUJBQW1COzs7a0JBVXpCLEtBQUs7K0JBQ0wsS0FBSzsyQkFDTCxLQUFLO3lCQUVMLE1BQU07MkJBRU4sU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7MEJBQ3pDLFNBQVMsU0FBQyxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3BvbnNlVHlwZSB9IGZyb20gJy4uL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1tdWx0aW1lZGlhLXBsYXllcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aW1lZGlhLXBsYXllci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGltZWRpYVBsYXllckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHVybDogc3RyaW5nO1xuICBASW5wdXQoKSBkb3dubG9hZEZpbGVOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG11bHRpbWVkaWFPbjogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgbG9hZFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8UmVzcG9uc2VUeXBlPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2Rvd25sb2FkTGluaycsIHtzdGF0aWM6IGZhbHNlfSkgZG93bmxvYWRMaW5rOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCd2aWRlb1BsYXllcicsIHtzdGF0aWM6IGZhbHNlfSkgdmlkZW9QbGF5ZXI6IEVsZW1lbnRSZWY7XG5cbiAgcGxheWJhY2tNc2cgPSAnbG9hZGluZyc7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckV2ZW50czogVG9vbGJhckV2ZW50U2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbGJhckV2ZW50cy5kb3dubG9hZFN1YmplY3RcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kb3dubG9hZExpbmsubmF0aXZlRWxlbWVudC5jbGljaygpKTtcbiAgICB0aGlzLmxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuU1VDQ0VTUyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLnVybCkge1xuICAgICAgdGhpcy5yZWxvYWRWaWRlbygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICByZWxvYWRWaWRlbygpIHtcbiAgICBpZiAodGhpcy52aWRlb1BsYXllcikge1xuICAgICAgdGhpcy5wbGF5YmFja01zZyA9ICdsb2FkaW5nJztcbiAgICAgIHRoaXMudmlkZW9QbGF5ZXIubmF0aXZlRWxlbWVudC5sb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgb25TdWNjZXNzKCkge1xuICAgIHRoaXMucGxheWJhY2tNc2cgPSAnc3VjY2Vzcyc7XG4gIH1cblxuICBvbkVycm9yKCkge1xuICAgIHRoaXMucGxheWJhY2tNc2cgPSAnZXJyb3InO1xuICB9XG59XG4iXX0=
@@ -1,203 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import * as pdfjsLib from 'pdfjs-dist';
3
- import 'pdfjs-dist/build/pdf.worker';
4
- pdfjsLib.GlobalWorkerOptions.workerSrc = '/assets/build/pdf.worker.min.js';
5
- /**
6
- * Values of the state field returned by the find events
7
- */
8
- var FindState;
9
- (function (FindState) {
10
- FindState[FindState["FOUND"] = 0] = "FOUND";
11
- FindState[FindState["NOT_FOUND"] = 1] = "NOT_FOUND";
12
- FindState[FindState["WRAPPED"] = 2] = "WRAPPED";
13
- FindState[FindState["PENDING"] = 3] = "PENDING";
14
- })(FindState || (FindState = {}));
15
- export class PdfJsWrapper {
16
- constructor(pdfViewer, downloadManager, toolbarEvents, documentLoadInit, documentLoadProgress, documentLoaded, outlineLoaded, documentLoadFailed, pageRendered, positionUpdated) {
17
- this.pdfViewer = pdfViewer;
18
- this.downloadManager = downloadManager;
19
- this.toolbarEvents = toolbarEvents;
20
- this.documentLoadInit = documentLoadInit;
21
- this.documentLoadProgress = documentLoadProgress;
22
- this.documentLoaded = documentLoaded;
23
- this.outlineLoaded = outlineLoaded;
24
- this.documentLoadFailed = documentLoadFailed;
25
- this.pageRendered = pageRendered;
26
- this.positionUpdated = positionUpdated;
27
- this.pdfViewer.eventBus.on('updateviewarea', e => positionUpdated.next(e));
28
- this.pdfViewer.eventBus.on('pagechanging', e => this.toolbarEvents.setCurrentPageInputValueSubject.next(e.pageNumber));
29
- this.pdfViewer.eventBus.on('pagesinit', () => this.pdfViewer.currentScaleValue = '1');
30
- this.pdfViewer.eventBus.on('pagerendered', e => { }); // not used left for future convenience
31
- this.pdfViewer.eventBus.on('pagesloaded', (e) => this.emitDocumentInfo(e));
32
- this.pdfViewer.eventBus.on('scalechanging', (e) => this.emitDocumentInfo(e));
33
- this.pdfViewer.eventBus.on('rotationchanging', (e) => this.emitDocumentInfo(e));
34
- this.pdfViewer.eventBus.on('updatefindcontrolstate', event => {
35
- this.sendSearchDetails(event);
36
- });
37
- this.pdfViewer.eventBus.on('updatefindmatchescount', event => {
38
- this.toolbarEvents.searchResultsCountSubject.next(event.matchesCount);
39
- });
40
- this.zoomValue = 1;
41
- }
42
- sendSearchDetails(event) {
43
- var _a, _b, _c, _d, _e, _f;
44
- if (event.state !== FindState.PENDING) {
45
- this.toolbarEvents.searchResultsCountSubject.next(event.matchesCount);
46
- if (((_b = (_a = event === null || event === void 0 ? void 0 : event.source) === null || _a === void 0 ? void 0 : _a.selected) === null || _b === void 0 ? void 0 : _b.pageIdx) !== -1 && event.matchesCount.total > 0) {
47
- this.toolbarEvents.redactionSerachSubject.next({
48
- page: (_d = (_c = event === null || event === void 0 ? void 0 : event.source) === null || _c === void 0 ? void 0 : _c.selected) === null || _d === void 0 ? void 0 : _d.pageIdx,
49
- matchedIndex: (_f = (_e = event === null || event === void 0 ? void 0 : event.source) === null || _e === void 0 ? void 0 : _e.selected) === null || _f === void 0 ? void 0 : _f.matchIdx,
50
- matchesCount: event.matchesCount.total
51
- });
52
- }
53
- }
54
- }
55
- emitDocumentInfo(e) {
56
- const allPages = [...this.pdfViewer._pages].map(page => {
57
- return {
58
- div: page.div,
59
- scale: page.scale,
60
- rotation: page.rotation,
61
- id: page.id,
62
- viewportScale: page.viewport.scale
63
- };
64
- });
65
- this.pageRendered.next(allPages);
66
- }
67
- loadDocument(documentUrl) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- const loadingTask = this.createLoadingTask(documentUrl);
70
- loadingTask.onProgress = ({ loaded, total }) => {
71
- this.documentLoadProgress.next({ loaded, total });
72
- };
73
- this.documentLoadInit.next(documentUrl);
74
- try {
75
- const pdfDocument = yield loadingTask.promise;
76
- this.documentLoaded.next(pdfDocument);
77
- this.toolbarEvents.pageCountSubject.next(pdfDocument.numPages);
78
- this.pdfViewer.setDocument(pdfDocument);
79
- this.pdfViewer.linkService.setDocument(pdfDocument, null);
80
- const outline = yield pdfDocument.getOutline();
81
- if (outline) {
82
- yield this.setOutlinePageNumbers(pdfDocument, outline);
83
- }
84
- this.documentOutline = outline;
85
- this.outlineLoaded.next(this.documentOutline);
86
- const pdfMetaData = yield pdfDocument.getMetadata();
87
- this.setCurrentPDFTitle(pdfMetaData.info.Title);
88
- }
89
- catch (e) {
90
- this.documentLoadFailed.next(e);
91
- }
92
- });
93
- }
94
- createLoadingTask(documentUrl) {
95
- return pdfjsLib.getDocument({
96
- url: documentUrl,
97
- cMapUrl: 'assets/minified/cmaps',
98
- cMapPacked: true,
99
- withCredentials: true
100
- });
101
- }
102
- setOutlinePageNumbers(pdfDocument, outlineArray) {
103
- return __awaiter(this, void 0, void 0, function* () {
104
- outlineArray.forEach((outline) => __awaiter(this, void 0, void 0, function* () {
105
- yield this.setNestedOutlinePageNumbers(pdfDocument, outline);
106
- }));
107
- });
108
- }
109
- setNestedOutlinePageNumbers(pdfDocument, outline) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- outline.pageNumber = yield this.getOutlinePageNumber(pdfDocument, outline);
112
- outline.items.forEach((outlineItem) => __awaiter(this, void 0, void 0, function* () {
113
- outlineItem.pageNumber = yield this.getOutlinePageNumber(pdfDocument, outlineItem);
114
- this.setNestedOutlinePageNumbers(pdfDocument, outlineItem);
115
- }));
116
- });
117
- }
118
- getOutlinePageNumber(pdfDocument, outline) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- const dest = outline.dest;
121
- const pageIndex = yield pdfDocument.getPageIndex(dest[0]);
122
- return Number(pageIndex) + 1;
123
- });
124
- }
125
- downloadFile(url, filename) {
126
- this.downloadManager.downloadUrl(url, filename);
127
- }
128
- setPageNumber(pageNumber) {
129
- this.pdfViewer.currentPageNumber = pageNumber;
130
- }
131
- getPageNumber() {
132
- return this.pdfViewer.currentPageNumber;
133
- }
134
- changePageNumber(numPages) {
135
- this.pdfViewer.currentPageNumber += numPages;
136
- }
137
- search(operation) {
138
- const command = operation.reset ? 'find' : 'findagain';
139
- this.pdfViewer.findController.executeCommand(command, {
140
- query: operation.searchTerm,
141
- phraseSearch: true,
142
- caseSensitive: operation.matchCase,
143
- entireWord: operation.wholeWord,
144
- highlightAll: operation.highlightAll,
145
- findPrevious: operation.previous,
146
- });
147
- }
148
- clearSearch() {
149
- this.pdfViewer.eventBus.dispatch('findbarclose');
150
- }
151
- navigateTo(destination) {
152
- if (destination instanceof Object) {
153
- if (!destination[1].name.includes('XYZ')) {
154
- destination[1] = { name: 'XYZ' };
155
- destination[2] = destination[2] || null;
156
- destination[3] = destination[3] || null;
157
- }
158
- destination[4] = this.zoomValue;
159
- }
160
- this.pdfViewer.linkService.navigateTo(destination);
161
- }
162
- setZoom(zoomValue) {
163
- this.pdfViewer.currentScaleValue = this.getZoomValue(zoomValue);
164
- this.zoomValue = this.pdfViewer.currentScaleValue;
165
- this.toolbarEvents.zoomValueSubject.next(this.pdfViewer.currentScaleValue);
166
- }
167
- stepZoom(zoomValue) {
168
- this.pdfViewer.currentScaleValue = +this.getZoomValue((+this.pdfViewer.currentScaleValue) + zoomValue);
169
- this.zoomValue = this.pdfViewer.currentScaleValue;
170
- this.toolbarEvents.zoomValueSubject.next(this.pdfViewer.currentScaleValue);
171
- }
172
- getZoomValue(zoomValue) {
173
- if (isNaN(zoomValue)) {
174
- return this.zoomValue;
175
- }
176
- if (zoomValue > 5) {
177
- return 5;
178
- }
179
- if (zoomValue < 0.1) {
180
- return 0.1;
181
- }
182
- return +zoomValue.toFixed(2);
183
- }
184
- rotate(rotation) {
185
- return this.pdfViewer.pagesRotation = (this.pdfViewer.pagesRotation + rotation) % 360;
186
- }
187
- resetRotation(rotation) {
188
- return this.pdfViewer.pagesRotation = rotation;
189
- }
190
- getNormalisedPagesRotation() {
191
- return this.pdfViewer.pagesRotation;
192
- }
193
- getCurrentPDFZoomValue() {
194
- return this.pdfViewer.currentScaleValue;
195
- }
196
- setCurrentPDFTitle(title) {
197
- this.documentTitle = title;
198
- }
199
- getCurrentPDFTitle() {
200
- return this.documentTitle;
201
- }
202
- }
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWpzLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLWpzL3BkZi1qcy13cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEtBQUssUUFBUSxNQUFNLFlBQVksQ0FBQztBQUV2QyxPQUFPLDZCQUE2QixDQUFDO0FBTXJDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsaUNBQWlDLENBQUM7QUFFM0U7O0dBRUc7QUFDSCxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDWiwyQ0FBUyxDQUFBO0lBQ1QsbURBQWEsQ0FBQTtJQUNiLCtDQUFXLENBQUE7SUFDWCwrQ0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxJLFNBQVMsS0FBVCxTQUFTLFFBS2I7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQU12QixZQUNtQixTQUFvQixFQUNwQixlQUFnQyxFQUNoQyxhQUFrQyxFQUNuQyxnQkFBaUMsRUFDakMsb0JBQW1ELEVBQ25ELGNBQTRCLEVBQzVCLGFBQStCLEVBQy9CLGtCQUFrQyxFQUNsQyxZQUFrQyxFQUNsQyxlQUFtRDtRQVRsRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQStCO1FBQ25ELG1CQUFjLEdBQWQsY0FBYyxDQUFjO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWdCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0M7UUFFbkUsSUFBSSxDQUFDLFNBQVMsQ0FB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Q0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO0lBQ2pELENBQUM7SUFFTSwwQkFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUMxQyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsS0FBYTtRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWRhY3Rpb25TZWFyY2ggfSBmcm9tICcuLy4uLy4uLy4uL3Rvb2xiYXIvcmVkYWN0aW9uLXNlYXJjaC1iYXIvcmVkYWN0aW9uLXNlYXJjaC5tb2RlbCc7XG5pbXBvcnQgKiBhcyBwZGZqc0xpYiBmcm9tICdwZGZqcy1kaXN0JztcbmltcG9ydCB7IERvd25sb2FkTWFuYWdlciwgUERGVmlld2VyIH0gZnJvbSAncGRmanMtZGlzdC93ZWIvcGRmX3ZpZXdlcic7XG5pbXBvcnQgJ3BkZmpzLWRpc3QvYnVpbGQvcGRmLndvcmtlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWFyY2hPcGVyYXRpb24sIFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBPdXRsaW5lIH0gZnJvbSAnLi4vc2lkZS1iYXIvb3V0bGluZS1pdGVtL291dGxpbmUubW9kZWwnO1xuaW1wb3J0IHsgUGRmUG9zaXRpb24gfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9kb2N1bWVudC5yZWR1Y2VyJztcblxucGRmanNMaWIuR2xvYmFsV29ya2VyT3B0aW9ucy53b3JrZXJTcmMgPSAnL2Fzc2V0cy9idWlsZC9wZGYud29ya2VyLm1pbi5qcyc7XG5cbi8qKlxuICogVmFsdWVzIG9mIHRoZSBzdGF0ZSBmaWVsZCByZXR1cm5lZCBieSB0aGUgZmluZCBldmVudHNcbiAqL1xuZW51bSBGaW5kU3RhdGUge1xuICBGT1VORCA9IDAsXG4gIE5PVF9GT1VORCA9IDEsXG4gIFdSQVBQRUQgPSAyLFxuICBQRU5ESU5HID0gMyxcbn1cblxuZXhwb3J0IGNsYXNzIFBkZkpzV3JhcHBlciB7XG5cbiAgcHJpdmF0ZSB6b29tVmFsdWU6IG51bWJlcjtcbiAgcHJpdmF0ZSBkb2N1bWVudFRpdGxlOiBzdHJpbmc7XG4gIHByaXZhdGUgZG9jdW1lbnRPdXRsaW5lOiBPdXRsaW5lO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGRmVmlld2VyOiBQREZWaWV3ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb3dubG9hZE1hbmFnZXI6IERvd25sb2FkTWFuYWdlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50TG9hZEluaXQ6IFN1YmplY3Q8c3RyaW5nPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRMb2FkUHJvZ3Jlc3M6IFN1YmplY3Q8RG9jdW1lbnRMb2FkUHJvZ3Jlc3M+LFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRlZDogU3ViamVjdDxhbnk+LFxuICAgIHB1YmxpYyByZWFkb25seSBvdXRsaW5lTG9hZGVkOiBTdWJqZWN0PE91dGxpbmU+LFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRGYWlsZWQ6IFN1YmplY3Q8RXJyb3I+LFxuICAgIHB1YmxpYyByZWFkb25seSBwYWdlUmVuZGVyZWQ6IFN1YmplY3Q8UGFnZUV2ZW50W10+LFxuICAgIHB1YmxpYyByZWFkb25seSBwb3NpdGlvblVwZGF0ZWQ6IFN1YmplY3Q8eyBsb2NhdGlvbjogUGRmUG9zaXRpb24gfT5cbiAgKSB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3VwZGF0ZXZpZXdhcmVhJywgZSA9PiBwb3NpdGlvblVwZGF0ZWQubmV4dChlKSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VjaGFuZ2luZycsIGUgPT4gdGhpcy50b29sYmFyRXZlbnRzLnNldEN1cnJlbnRQYWdlSW5wdXRWYWx1ZVN1YmplY3QubmV4dChlLnBhZ2VOdW1iZXIpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncGFnZXNpbml0JywgKCkgPT4gdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgPSAnMScpO1xuXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VyZW5kZXJlZCcsIGUgPT4geyB9KTsgLy8gbm90IHVzZWQgbGVmdCBmb3IgZnV0dXJlIGNvbnZlbmllbmNlXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VzbG9hZGVkJywgKGUpID0+IHRoaXMuZW1pdERvY3VtZW50SW5mbyhlKSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3NjYWxlY2hhbmdpbmcnLCAoZSkgPT4gdGhpcy5lbWl0RG9jdW1lbnRJbmZvKGUpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncm90YXRpb25jaGFuZ2luZycsIChlKSA9PiB0aGlzLmVtaXREb2N1bWVudEluZm8oZSkpO1xuXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3VwZGF0ZWZpbmRjb250cm9sc3RhdGUnLCBldmVudCA9PiB7XG4gICAgICB0aGlzLnNlbmRTZWFyY2hEZXRhaWxzKGV2ZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigndXBkYXRlZmluZG1hdGNoZXNjb3VudCcsIGV2ZW50ID0+IHtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hSZXN1bHRzQ291bnRTdWJqZWN0Lm5leHQoZXZlbnQubWF0Y2hlc0NvdW50KTtcbiAgICB9KTtcbiAgICB0aGlzLnpvb21WYWx1ZSA9IDE7XG4gIH1cblxuICBzZW5kU2VhcmNoRGV0YWlscyhldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LnN0YXRlICE9PSBGaW5kU3RhdGUuUEVORElORykge1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaFJlc3VsdHNDb3VudFN1YmplY3QubmV4dChldmVudC5tYXRjaGVzQ291bnQpO1xuICAgICAgaWYgKGV2ZW50Py5zb3VyY2U/LnNlbGVjdGVkPy5wYWdlSWR4ICE9PSAtMSAmJiBldmVudC5tYXRjaGVzQ291bnQudG90YWwgPiAwKSB7XG4gICAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3Rpb25TZXJhY2hTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIHBhZ2U6IGV2ZW50Py5zb3VyY2U/LnNlbGVjdGVkPy5wYWdlSWR4LFxuICAgICAgICAgIG1hdGNoZWRJbmRleDogZXZlbnQ/LnNvdXJjZT8uc2VsZWN0ZWQ/Lm1hdGNoSWR4LFxuICAgICAgICAgIG1hdGNoZXNDb3VudDogZXZlbnQubWF0Y2hlc0NvdW50LnRvdGFsXG4gICAgICAgIH0gYXMgUmVkYWN0aW9uU2VhcmNoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RG9jdW1lbnRJbmZvKGUpIHtcbiAgICBjb25zdCBhbGxQYWdlczogUGFnZUV2ZW50W10gPSBbLi4udGhpcy5wZGZWaWV3ZXIuX3BhZ2VzXS5tYXAocGFnZSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkaXY6IHBhZ2UuZGl2LFxuICAgICAgICBzY2FsZTogcGFnZS5zY2FsZSxcbiAgICAgICAgcm90YXRpb246IHBhZ2Uucm90YXRpb24sXG4gICAgICAgIGlkOiBwYWdlLmlkLFxuICAgICAgICB2aWV3cG9ydFNjYWxlOiBwYWdlLnZpZXdwb3J0LnNjYWxlXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMucGFnZVJlbmRlcmVkLm5leHQoYWxsUGFnZXMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWREb2N1bWVudChkb2N1bWVudFVybDogc3RyaW5nKSB7XG4gICAgY29uc3QgbG9hZGluZ1Rhc2sgPSB0aGlzLmNyZWF0ZUxvYWRpbmdUYXNrKGRvY3VtZW50VXJsKTtcblxuICAgIGxvYWRpbmdUYXNrLm9uUHJvZ3Jlc3MgPSAoeyBsb2FkZWQsIHRvdGFsIH0pID0+IHtcbiAgICAgIHRoaXMuZG9jdW1lbnRMb2FkUHJvZ3Jlc3MubmV4dCh7IGxvYWRlZCwgdG90YWwgfSk7XG4gICAgfTtcblxuICAgIHRoaXMuZG9jdW1lbnRMb2FkSW5pdC5uZXh0KGRvY3VtZW50VXJsKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwZGZEb2N1bWVudCA9IGF3YWl0IGxvYWRpbmdUYXNrLnByb21pc2U7XG4gICAgICB0aGlzLmRvY3VtZW50TG9hZGVkLm5leHQocGRmRG9jdW1lbnQpO1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnBhZ2VDb3VudFN1YmplY3QubmV4dChwZGZEb2N1bWVudC5udW1QYWdlcyk7XG5cbiAgICAgIHRoaXMucGRmVmlld2VyLnNldERvY3VtZW50KHBkZkRvY3VtZW50KTtcbiAgICAgIHRoaXMucGRmVmlld2VyLmxpbmtTZXJ2aWNlLnNldERvY3VtZW50KHBkZkRvY3VtZW50LCBudWxsKTtcblxuICAgICAgY29uc3Qgb3V0bGluZSA9IGF3YWl0IHBkZkRvY3VtZW50LmdldE91dGxpbmUoKTtcblxuICAgICAgaWYgKG91dGxpbmUpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRvY3VtZW50T3V0bGluZSA9IG91dGxpbmU7XG4gICAgICB0aGlzLm91dGxpbmVMb2FkZWQubmV4dCh0aGlzLmRvY3VtZW50T3V0bGluZSk7XG4gICAgICBjb25zdCBwZGZNZXRhRGF0YSA9IGF3YWl0IHBkZkRvY3VtZW50LmdldE1ldGFkYXRhKCk7XG4gICAgICB0aGlzLnNldEN1cnJlbnRQREZUaXRsZShwZGZNZXRhRGF0YS5pbmZvLlRpdGxlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmRvY3VtZW50TG9hZEZhaWxlZC5uZXh0KGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTG9hZGluZ1Rhc2soZG9jdW1lbnRVcmw6IHN0cmluZykge1xuICAgIHJldHVybiBwZGZqc0xpYi5nZXREb2N1bWVudCh7XG4gICAgICB1cmw6IGRvY3VtZW50VXJsLFxuICAgICAgY01hcFVybDogJ2Fzc2V0cy9taW5pZmllZC9jbWFwcycsXG4gICAgICBjTWFwUGFja2VkOiB0cnVlLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldE91dGxpbmVQYWdlTnVtYmVycyhwZGZEb2N1bWVudCwgb3V0bGluZUFycmF5OiBPdXRsaW5lW10pIHtcbiAgICBvdXRsaW5lQXJyYXkuZm9yRWFjaChhc3luYyAob3V0bGluZTogT3V0bGluZSkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5zZXROZXN0ZWRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXROZXN0ZWRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmU6IE91dGxpbmUpIHtcbiAgICBvdXRsaW5lLnBhZ2VOdW1iZXIgPSBhd2FpdCB0aGlzLmdldE91dGxpbmVQYWdlTnVtYmVyKHBkZkRvY3VtZW50LCBvdXRsaW5lKTtcbiAgICBvdXRsaW5lLml0ZW1zLmZvckVhY2goYXN5bmMgKG91dGxpbmVJdGVtOiBPdXRsaW5lKSA9PiB7XG4gICAgICBvdXRsaW5lSXRlbS5wYWdlTnVtYmVyID0gYXdhaXQgdGhpcy5nZXRPdXRsaW5lUGFnZU51bWJlcihwZGZEb2N1bWVudCwgb3V0bGluZUl0ZW0pO1xuICAgICAgdGhpcy5zZXROZXN0ZWRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmVJdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0T3V0bGluZVBhZ2VOdW1iZXIocGRmRG9jdW1lbnQsIG91dGxpbmU6IE91dGxpbmUpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IGRlc3QgPSBvdXRsaW5lLmRlc3Q7XG4gICAgY29uc3QgcGFnZUluZGV4ID0gYXdhaXQgcGRmRG9jdW1lbnQuZ2V0UGFnZUluZGV4KGRlc3RbMF0pO1xuICAgIHJldHVybiBOdW1iZXIocGFnZUluZGV4KSArIDE7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWRGaWxlKHVybDogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kb3dubG9hZE1hbmFnZXIuZG93bmxvYWRVcmwodXJsLCBmaWxlbmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5jdXJyZW50UGFnZU51bWJlciA9IHBhZ2VOdW1iZXI7XG4gIH1cbiAgcHVibGljIGdldFBhZ2VOdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIuY3VycmVudFBhZ2VOdW1iZXI7XG4gIH1cbiAgcHVibGljIGNoYW5nZVBhZ2VOdW1iZXIobnVtUGFnZXM6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRQYWdlTnVtYmVyICs9IG51bVBhZ2VzO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaChvcGVyYXRpb246IFNlYXJjaE9wZXJhdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGNvbW1hbmQgPSBvcGVyYXRpb24ucmVzZXQgPyAnZmluZCcgOiAnZmluZGFnYWluJztcblxuICAgIHRoaXMucGRmVmlld2VyLmZpbmRDb250cm9sbGVyLmV4ZWN1dGVDb21tYW5kKGNvbW1hbmQsIHtcbiAgICAgIHF1ZXJ5OiBvcGVyYXRpb24uc2VhcmNoVGVybSxcbiAgICAgIHBocmFzZVNlYXJjaDogdHJ1ZSxcbiAgICAgIGNhc2VTZW5zaXRpdmU6IG9wZXJhdGlvbi5tYXRjaENhc2UsXG4gICAgICBlbnRpcmVXb3JkOiBvcGVyYXRpb24ud2hvbGVXb3JkLFxuICAgICAgaGlnaGxpZ2h0QWxsOiBvcGVyYXRpb24uaGlnaGxpZ2h0QWxsLFxuICAgICAgZmluZFByZXZpb3VzOiBvcGVyYXRpb24ucHJldmlvdXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMuZGlzcGF0Y2goJ2ZpbmRiYXJjbG9zZScpO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG8oZGVzdGluYXRpb246IG9iamVjdCB8IG51bWJlcikge1xuICAgIGlmIChkZXN0aW5hdGlvbiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgaWYgKCFkZXN0aW5hdGlvblsxXS5uYW1lLmluY2x1ZGVzKCdYWVonKSkge1xuICAgICAgICBkZXN0aW5hdGlvblsxXSA9IHsgbmFtZTogJ1hZWicgfTtcbiAgICAgICAgZGVzdGluYXRpb25bMl0gPSBkZXN0aW5hdGlvblsyXSB8fCBudWxsO1xuICAgICAgICBkZXN0aW5hdGlvblszXSA9IGRlc3RpbmF0aW9uWzNdIHx8IG51bGw7XG4gICAgICB9XG4gICAgICBkZXN0aW5hdGlvbls0XSA9IHRoaXMuem9vbVZhbHVlO1xuICAgIH1cbiAgICB0aGlzLnBkZlZpZXdlci5saW5rU2VydmljZS5uYXZpZ2F0ZVRvKGRlc3RpbmF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRab29tKHpvb21WYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgPSB0aGlzLmdldFpvb21WYWx1ZSh6b29tVmFsdWUpO1xuICAgIHRoaXMuem9vbVZhbHVlID0gdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWU7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnpvb21WYWx1ZVN1YmplY3QubmV4dCh0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgc3RlcFpvb20oem9vbVZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSA9ICt0aGlzLmdldFpvb21WYWx1ZSgoK3RoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlKSArIHpvb21WYWx1ZSk7XG4gICAgdGhpcy56b29tVmFsdWUgPSB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuem9vbVZhbHVlU3ViamVjdC5uZXh0KHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Wm9vbVZhbHVlKHpvb21WYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoaXNOYU4oem9vbVZhbHVlKSkgeyByZXR1cm4gdGhpcy56b29tVmFsdWU7IH1cbiAgICBpZiAoem9vbVZhbHVlID4gNSkgeyByZXR1cm4gNTsgfVxuICAgIGlmICh6b29tVmFsdWUgPCAwLjEpIHsgcmV0dXJuIDAuMTsgfVxuXG4gICAgcmV0dXJuICt6b29tVmFsdWUudG9GaXhlZCgyKTtcbiAgfVxuXG4gIHB1YmxpYyByb3RhdGUocm90YXRpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmVmlld2VyLnBhZ2VzUm90YXRpb24gPSAodGhpcy5wZGZWaWV3ZXIucGFnZXNSb3RhdGlvbiArIHJvdGF0aW9uKSAlIDM2MDtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFJvdGF0aW9uKHJvdGF0aW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBkZlZpZXdlci5wYWdlc1JvdGF0aW9uID0gcm90YXRpb247XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9ybWFsaXNlZFBhZ2VzUm90YXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIucGFnZXNSb3RhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50UERGWm9vbVZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIHNldEN1cnJlbnRQREZUaXRsZSh0aXRsZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kb2N1bWVudFRpdGxlID0gdGl0bGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudFBERlRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRUaXRsZTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50TG9hZFByb2dyZXNzIHtcbiAgbG9hZGVkOiBudW1iZXI7XG4gIHRvdGFsOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZUV2ZW50IHtcbiAgZGl2OiBvYmplY3Q7XG4gIHNjYWxlOiBudW1iZXI7XG4gIHJvdGF0aW9uOiBudW1iZXI7XG4gIGlkOiBzdHJpbmc7XG4gIHZpZXdwb3J0U2NhbGU6IG51bWJlcjtcbn1cbiJdfQ==
@@ -1,43 +0,0 @@
1
- import * as pdfjsViewer from 'pdfjs-dist/web/pdf_viewer';
2
- import { Injectable } from '@angular/core';
3
- import { PdfJsWrapper } from './pdf-js-wrapper';
4
- import { Subject } from 'rxjs';
5
- import { ToolbarEventService } from '../../../toolbar/toolbar-event.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../../toolbar/toolbar-event.service";
8
- export class PdfJsWrapperFactory {
9
- constructor(toolbarEvents) {
10
- this.toolbarEvents = toolbarEvents;
11
- this.linkService = new pdfjsViewer.PDFLinkService();
12
- this.eventBus = new pdfjsViewer.EventBus();
13
- }
14
- create(container) {
15
- const pdfFindController = new pdfjsViewer.PDFFindController({
16
- linkService: this.linkService,
17
- eventBus: this.eventBus
18
- });
19
- const pdfViewer = new pdfjsViewer.PDFViewer({
20
- container: container.nativeElement,
21
- linkService: this.linkService,
22
- findController: pdfFindController,
23
- eventBus: this.eventBus,
24
- imageResourcesPath: '/assets/images/',
25
- textLayerMode: 2
26
- });
27
- this.linkService.setViewer(pdfViewer);
28
- this.pdfJsWrapper = new PdfJsWrapper(pdfViewer, new pdfjsViewer.DownloadManager({}), this.toolbarEvents, new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject());
29
- return this.pdfJsWrapper;
30
- }
31
- pdfWrapper() {
32
- return this.pdfJsWrapper;
33
- }
34
- }
35
- /** @nocollapse */ PdfJsWrapperFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function PdfJsWrapperFactory_Factory() { return new PdfJsWrapperFactory(i0.ɵɵinject(i1.ToolbarEventService)); }, token: PdfJsWrapperFactory, providedIn: "root" });
36
- PdfJsWrapperFactory.decorators = [
37
- { type: Injectable, args: [{ providedIn: 'root' },] }
38
- ];
39
- /** @nocollapse */
40
- PdfJsWrapperFactory.ctorParameters = () => [
41
- { type: ToolbarEventService }
42
- ];
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWpzLXdyYXBwZXIucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLWpzL3BkZi1qcy13cmFwcGVyLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxXQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQWtDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQUs3RSxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCLFlBQTZCLGFBQWtDO1FBQWxDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUM3RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFxQjtRQUNqQyxNQUFNLGlCQUFpQixHQUFHLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDO1lBQzFELFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQzFDLFNBQVMsRUFBRSxTQUFTLENBQUMsYUFBYTtZQUNsQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsY0FBYyxFQUFFLGlCQUFpQjtZQUNqQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsa0JBQWtCLEVBQUUsaUJBQWlCO1lBQ3JDLGFBQWEsRUFBRSxDQUFDO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQ2xDLFNBQVMsRUFDVCxJQUFJLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQ25DLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksT0FBTyxFQUFVLEVBQ3JCLElBQUksT0FBTyxFQUF3QixFQUNuQyxJQUFJLE9BQU8sRUFBTyxFQUNsQixJQUFJLE9BQU8sRUFBVyxFQUN0QixJQUFJLE9BQU8sRUFBRSxFQUNiLElBQUksT0FBTyxFQUFlLEVBQzFCLElBQUksT0FBTyxFQUE2QixDQUN6QyxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7Ozs7WUEvQ0YsVUFBVSxTQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7OztZQUp2QixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwZGZqc1ZpZXdlciBmcm9tICdwZGZqcy1kaXN0L3dlYi9wZGZfdmlld2VyJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9jdW1lbnRMb2FkUHJvZ3Jlc3MsIFBhZ2VFdmVudCwgUGRmSnNXcmFwcGVyfSBmcm9tICcuL3BkZi1qcy13cmFwcGVyJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBPdXRsaW5lIH0gZnJvbSAnLi4vc2lkZS1iYXIvb3V0bGluZS1pdGVtL291dGxpbmUubW9kZWwnO1xuaW1wb3J0IHsgUGRmUG9zaXRpb24gfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9kb2N1bWVudC5yZWR1Y2VyJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUGRmSnNXcmFwcGVyRmFjdG9yeSB7XG5cbiAgcHJpdmF0ZSBsaW5rU2VydmljZTogcGRmanNWaWV3ZXIuUERGTGlua1NlcnZpY2U7XG4gIHByaXZhdGUgZXZlbnRCdXM6IHBkZmpzVmlld2VyLkV2ZW50QnVzO1xuICBwcml2YXRlIHBkZkpzV3JhcHBlcjogUGRmSnNXcmFwcGVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdG9vbGJhckV2ZW50czogVG9vbGJhckV2ZW50U2VydmljZSkge1xuICAgIHRoaXMubGlua1NlcnZpY2UgPSBuZXcgcGRmanNWaWV3ZXIuUERGTGlua1NlcnZpY2UoKTtcbiAgICB0aGlzLmV2ZW50QnVzID0gbmV3IHBkZmpzVmlld2VyLkV2ZW50QnVzKCk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlKGNvbnRhaW5lcjogRWxlbWVudFJlZik6IFBkZkpzV3JhcHBlciB7XG4gICAgY29uc3QgcGRmRmluZENvbnRyb2xsZXIgPSBuZXcgcGRmanNWaWV3ZXIuUERGRmluZENvbnRyb2xsZXIoe1xuICAgICAgbGlua1NlcnZpY2U6IHRoaXMubGlua1NlcnZpY2UsXG4gICAgICBldmVudEJ1czogdGhpcy5ldmVudEJ1c1xuICAgIH0pO1xuXG4gICAgY29uc3QgcGRmVmlld2VyID0gbmV3IHBkZmpzVmlld2VyLlBERlZpZXdlcih7XG4gICAgICBjb250YWluZXI6IGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LFxuICAgICAgbGlua1NlcnZpY2U6IHRoaXMubGlua1NlcnZpY2UsXG4gICAgICBmaW5kQ29udHJvbGxlcjogcGRmRmluZENvbnRyb2xsZXIsXG4gICAgICBldmVudEJ1czogdGhpcy5ldmVudEJ1cyxcbiAgICAgIGltYWdlUmVzb3VyY2VzUGF0aDogJy9hc3NldHMvaW1hZ2VzLycsXG4gICAgICB0ZXh0TGF5ZXJNb2RlOiAyXG4gICAgfSk7XG5cbiAgICB0aGlzLmxpbmtTZXJ2aWNlLnNldFZpZXdlcihwZGZWaWV3ZXIpO1xuXG4gICAgdGhpcy5wZGZKc1dyYXBwZXIgPSBuZXcgUGRmSnNXcmFwcGVyKFxuICAgICAgcGRmVmlld2VyLFxuICAgICAgbmV3IHBkZmpzVmlld2VyLkRvd25sb2FkTWFuYWdlcih7fSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMsXG4gICAgICBuZXcgU3ViamVjdDxzdHJpbmc+KCksXG4gICAgICBuZXcgU3ViamVjdDxEb2N1bWVudExvYWRQcm9ncmVzcz4oKSxcbiAgICAgIG5ldyBTdWJqZWN0PGFueT4oKSxcbiAgICAgIG5ldyBTdWJqZWN0PE91dGxpbmU+KCksXG4gICAgICBuZXcgU3ViamVjdCgpLFxuICAgICAgbmV3IFN1YmplY3Q8UGFnZUV2ZW50W10+KCksXG4gICAgICBuZXcgU3ViamVjdDx7IGxvY2F0aW9uOiBQZGZQb3NpdGlvbiB9PigpXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLnBkZkpzV3JhcHBlcjtcbiAgfVxuXG4gIHBkZldyYXBwZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucGRmSnNXcmFwcGVyO1xuICB9XG59XG4iXX0=