@hmcts/media-viewer 2.8.2 → 2.9.2

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 (565) hide show
  1. package/README.md +0 -1
  2. package/assets/images/icon-page.svg +52 -0
  3. package/assets/sass/comment.scss +1 -1
  4. package/assets/sass/outline-attachment.scss +6 -1
  5. package/assets/sass/participants-list.scss +1 -1
  6. package/assets/sass/rectangle.scss +1 -4
  7. package/assets/sass/toolbar/main-toolbar.scss +8 -8
  8. package/assets/sass/toolbar/redaction-toolbar.scss +10 -0
  9. package/bundles/hmcts-media-viewer.umd.js +3392 -10778
  10. package/bundles/hmcts-media-viewer.umd.js.map +1 -1
  11. package/bundles/hmcts-media-viewer.umd.min.js +1 -16
  12. package/bundles/hmcts-media-viewer.umd.min.js.map +1 -1
  13. package/esm2015/hmcts-media-viewer.js +20 -24
  14. package/esm2015/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +24 -103
  15. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +14 -111
  16. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +4 -49
  17. package/esm2015/lib/annotations/annotation-set/annotation-set.component.js +2 -51
  18. package/esm2015/lib/annotations/annotation-set/annotation-set.model.js +2 -15
  19. package/esm2015/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +4 -74
  20. package/esm2015/lib/annotations/annotation-set/annotation-view/annotation.model.js +2 -29
  21. package/esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.js +5 -114
  22. package/esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.js +2 -21
  23. package/esm2015/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.js +8 -85
  24. package/esm2015/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +9 -105
  25. package/esm2015/lib/annotations/annotations.module.js +1 -5
  26. package/esm2015/lib/annotations/comment-set/comment/comment.component.js +4 -152
  27. package/esm2015/lib/annotations/comment-set/comment/comment.model.js +2 -27
  28. package/esm2015/lib/annotations/comment-set/comment/comment.service.js +3 -53
  29. package/esm2015/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.js +1 -37
  30. package/esm2015/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.js +1 -25
  31. package/esm2015/lib/annotations/comment-set/comment-navigate/comments-navigate.component.js +5 -63
  32. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.js +10 -76
  33. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.js +5 -53
  34. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +6 -63
  35. package/esm2015/lib/annotations/comment-set/comment-set-render.service.js +5 -73
  36. package/esm2015/lib/annotations/comment-set/comment-set.component.js +11 -154
  37. package/esm2015/lib/annotations/comments-summary/comments-summary.component.js +8 -111
  38. package/esm2015/lib/annotations/models/api-persisted.model.js +2 -25
  39. package/esm2015/lib/annotations/models/event-select.model.js +2 -17
  40. package/esm2015/lib/annotations/models/tags.model.js +2 -19
  41. package/esm2015/lib/annotations/models/user.model.js +2 -17
  42. package/esm2015/lib/annotations/pipes/date/date.pipe.js +1 -12
  43. package/esm2015/lib/annotations/pipes/filter/filter.pipe.js +3 -17
  44. package/esm2015/lib/annotations/pipes/unsnake/unsnake.pipe.js +1 -9
  45. package/esm2015/lib/annotations/services/annotation-api/annotation-api.service.js +6 -93
  46. package/esm2015/lib/annotations/services/bookmarks-api/bookmarks-api.service.js +6 -69
  47. package/esm2015/lib/annotations/services/tags/tags.services.js +6 -54
  48. package/esm2015/lib/annotations/tags/tags.component.js +4 -50
  49. package/esm2015/lib/bookmark/components/bookmark-icons.component.js +2 -29
  50. package/esm2015/lib/icp/confirm-exit/confirm-action-dialog.component.js +2 -22
  51. package/esm2015/lib/icp/icp-follower.service.js +4 -63
  52. package/esm2015/lib/icp/icp-presenter.service.js +6 -69
  53. package/esm2015/lib/icp/icp-session-api.service.js +2 -26
  54. package/esm2015/lib/icp/icp-update.service.js +18 -92
  55. package/esm2015/lib/icp/icp.events.js +15 -0
  56. package/esm2015/lib/icp/icp.interfaces.js +2 -51
  57. package/esm2015/lib/icp/icp.service.js +18 -155
  58. package/esm2015/lib/icp/participants-list/participants-list.component.js +3 -43
  59. package/esm2015/lib/icp/socket.service.js +92 -86
  60. package/esm2015/lib/media-viewer.component.js +24 -196
  61. package/esm2015/lib/media-viewer.module.js +3 -7
  62. package/esm2015/lib/print.service.js +2 -18
  63. package/esm2015/lib/redaction/components/redaction.component.js +13 -127
  64. package/esm2015/lib/redaction/services/redaction-api.service.js +6 -75
  65. package/esm2015/lib/redaction/services/redaction.model.js +2 -19
  66. package/esm2015/lib/shared/gov-uk-date/gov-uk-date.component.js +2 -14
  67. package/esm2015/lib/shared/gov-uk-error-message/gov-uk-error-message.component.js +3 -14
  68. package/esm2015/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.js +2 -17
  69. package/esm2015/lib/shared/gov-uk-label/gov-uk-label.component.js +3 -12
  70. package/esm2015/lib/shared/shared.module.js +1 -5
  71. package/esm2015/lib/shared/util/helpers/html-templates.helper.js +1 -10
  72. package/esm2015/lib/shared/util/services/number.helper.service.js +4 -14
  73. package/esm2015/lib/store/actions/annotation.actions.js +1 -140
  74. package/esm2015/lib/store/actions/bookmark.actions.js +1 -150
  75. package/esm2015/lib/store/actions/document.actions.js +1 -130
  76. package/esm2015/lib/store/actions/icp.actions.js +1 -80
  77. package/esm2015/lib/store/actions/redaction.actions.js +1 -155
  78. package/esm2015/lib/store/actions/tag.actions.js +1 -30
  79. package/esm2015/lib/store/bookmarks-store-utils.js +17 -69
  80. package/esm2015/lib/store/effects/annotation.effects.js +16 -90
  81. package/esm2015/lib/store/effects/bookmarks.effects.js +12 -127
  82. package/esm2015/lib/store/effects/document.effects.js +16 -97
  83. package/esm2015/lib/store/effects/icp.effects.js +5 -63
  84. package/esm2015/lib/store/effects/index.js +1 -6
  85. package/esm2015/lib/store/effects/redaction.effects.js +26 -137
  86. package/esm2015/lib/store/models/bookmarks.interface.js +2 -57
  87. package/esm2015/lib/store/models/filters.interface.js +2 -17
  88. package/esm2015/lib/store/reducers/annotations.reducer.js +14 -129
  89. package/esm2015/lib/store/reducers/bookmarks.reducer.js +12 -99
  90. package/esm2015/lib/store/reducers/document.reducer.js +10 -129
  91. package/esm2015/lib/store/reducers/icp.reducer.js +6 -47
  92. package/esm2015/lib/store/reducers/redaction.reducer.js +7 -73
  93. package/esm2015/lib/store/reducers/reducers.js +7 -31
  94. package/esm2015/lib/store/reducers/tags.reducer.js +12 -102
  95. package/esm2015/lib/store/selectors/annotation.selectors.js +29 -118
  96. package/esm2015/lib/store/selectors/bookmark.selectors.js +12 -51
  97. package/esm2015/lib/store/selectors/document.selectors.js +5 -26
  98. package/esm2015/lib/store/selectors/icp.selectors.js +9 -38
  99. package/esm2015/lib/store/selectors/redaction.selectors.js +10 -45
  100. package/esm2015/lib/store/selectors/tag.selectors.js +6 -28
  101. package/esm2015/lib/store/store-utils.js +26 -156
  102. package/esm2015/lib/toolbar/icp-event.service.js +13 -48
  103. package/esm2015/lib/toolbar/icp-toolbar/icp-toolbar.component.js +4 -56
  104. package/esm2015/lib/toolbar/main-toolbar/main-toolbar.component.js +10 -177
  105. package/esm2015/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +9 -59
  106. package/esm2015/lib/toolbar/search-bar/search-bar.component.js +11 -85
  107. package/esm2015/lib/toolbar/toolbar-button-visibility.service.js +2 -46
  108. package/esm2015/lib/toolbar/toolbar-event.service.js +17 -174
  109. package/esm2015/lib/toolbar/toolbar.module.js +1 -5
  110. package/esm2015/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.js +5 -75
  111. package/esm2015/lib/viewers/convertible-content-viewer/document-conversion-api.service.js +3 -34
  112. package/esm2015/lib/viewers/grab-n-drag.directive.js +1 -38
  113. package/esm2015/lib/viewers/image-viewer/image-viewer.component.js +29 -196
  114. package/esm2015/lib/viewers/multimedia-player/multimedia-player.component.js +3 -55
  115. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +61 -240
  116. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.js +2 -40
  117. package/esm2015/lib/viewers/pdf-viewer/pdf-viewer.component.js +34 -302
  118. package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +12 -107
  119. package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.js +2 -39
  120. package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +16 -25
  121. package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.js +2 -31
  122. package/esm2015/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +16 -73
  123. package/esm2015/lib/viewers/rotation-persist/rotation-api.service.js +2 -35
  124. package/esm2015/lib/viewers/rotation-persist/rotation-persist.directive.js +8 -87
  125. package/esm2015/lib/viewers/rotation-persist/rotation.model.js +2 -15
  126. package/esm2015/lib/viewers/unsupported-viewer/unsupported-viewer.component.js +4 -60
  127. package/esm2015/lib/viewers/viewer-event.service.js +2 -41
  128. package/esm2015/lib/viewers/viewer-exception.model.js +7 -32
  129. package/esm2015/lib/viewers/viewer-util.service.js +2 -20
  130. package/esm2015/public_api.js +28 -32
  131. package/fesm2015/hmcts-media-viewer.js +1566 -8060
  132. package/fesm2015/hmcts-media-viewer.js.map +1 -1
  133. package/hmcts-media-viewer-v2.9.2.tgz +0 -0
  134. package/hmcts-media-viewer.d.ts +19 -18
  135. package/hmcts-media-viewer.d.ts.map +1 -0
  136. package/hmcts-media-viewer.metadata.json +1 -1
  137. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +7 -3
  138. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -0
  139. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.ngfactory.d.ts.map +1 -0
  140. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +1 -0
  141. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +1 -0
  142. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.ngfactory.d.ts.map +1 -0
  143. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +1 -0
  144. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -0
  145. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.ngfactory.d.ts.map +1 -0
  146. package/lib/annotations/annotation-set/annotation-set.component.d.ts +1 -0
  147. package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +1 -0
  148. package/lib/annotations/annotation-set/annotation-set.component.ngfactory.d.ts.map +1 -0
  149. package/lib/annotations/annotation-set/annotation-set.model.d.ts +1 -0
  150. package/lib/annotations/annotation-set/annotation-set.model.d.ts.map +1 -0
  151. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +4 -3
  152. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -0
  153. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.ngfactory.d.ts.map +1 -0
  154. package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts +1 -0
  155. package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts.map +1 -0
  156. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +5 -2
  157. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +1 -0
  158. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.ngfactory.d.ts.map +1 -0
  159. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts +1 -0
  160. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts.map +1 -0
  161. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +3 -1
  162. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +1 -0
  163. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.ngfactory.d.ts.map +1 -0
  164. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +1 -0
  165. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -0
  166. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.ngfactory.d.ts.map +1 -0
  167. package/lib/annotations/annotations.module.d.ts +1 -0
  168. package/lib/annotations/annotations.module.d.ts.map +1 -0
  169. package/lib/annotations/annotations.module.ngfactory.d.ts.map +1 -0
  170. package/lib/annotations/comment-set/comment/comment.component.d.ts +7 -5
  171. package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -0
  172. package/lib/annotations/comment-set/comment/comment.component.ngfactory.d.ts.map +1 -0
  173. package/lib/annotations/comment-set/comment/comment.model.d.ts +1 -0
  174. package/lib/annotations/comment-set/comment/comment.model.d.ts.map +1 -0
  175. package/lib/annotations/comment-set/comment/comment.service.d.ts +1 -0
  176. package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -0
  177. package/lib/annotations/comment-set/comment/comment.service.ngfactory.d.ts.map +1 -0
  178. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +1 -0
  179. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +1 -0
  180. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.ngfactory.d.ts.map +1 -0
  181. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +1 -0
  182. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +1 -0
  183. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.ngfactory.d.ts.map +1 -0
  184. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +1 -0
  185. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +1 -0
  186. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.ngfactory.d.ts.map +1 -0
  187. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +1 -0
  188. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +1 -0
  189. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.ngfactory.d.ts.map +1 -0
  190. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +1 -0
  191. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +1 -0
  192. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.ngfactory.d.ts.map +1 -0
  193. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +1 -0
  194. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -0
  195. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.ngfactory.d.ts.map +1 -0
  196. package/lib/annotations/comment-set/comment-set-render.service.d.ts +1 -0
  197. package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +1 -0
  198. package/lib/annotations/comment-set/comment-set-render.service.ngfactory.d.ts.map +1 -0
  199. package/lib/annotations/comment-set/comment-set.component.d.ts +1 -0
  200. package/lib/annotations/comment-set/comment-set.component.d.ts.map +1 -0
  201. package/lib/annotations/comment-set/comment-set.component.ngfactory.d.ts.map +1 -0
  202. package/lib/annotations/comments-summary/comments-summary.component.d.ts +1 -1
  203. package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +1 -0
  204. package/lib/annotations/comments-summary/comments-summary.component.ngfactory.d.ts.map +1 -0
  205. package/lib/annotations/models/api-persisted.model.d.ts +1 -0
  206. package/lib/annotations/models/api-persisted.model.d.ts.map +1 -0
  207. package/lib/annotations/models/event-select.model.d.ts +1 -0
  208. package/lib/annotations/models/event-select.model.d.ts.map +1 -0
  209. package/lib/annotations/models/tags.model.d.ts +1 -0
  210. package/lib/annotations/models/tags.model.d.ts.map +1 -0
  211. package/lib/annotations/models/user.model.d.ts +1 -0
  212. package/lib/annotations/models/user.model.d.ts.map +1 -0
  213. package/lib/annotations/pipes/date/date.pipe.d.ts +2 -1
  214. package/lib/annotations/pipes/date/date.pipe.d.ts.map +1 -0
  215. package/lib/annotations/pipes/date/date.pipe.ngfactory.d.ts.map +1 -0
  216. package/lib/annotations/pipes/filter/filter.pipe.d.ts +1 -0
  217. package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +1 -0
  218. package/lib/annotations/pipes/filter/filter.pipe.ngfactory.d.ts.map +1 -0
  219. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +1 -0
  220. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +1 -0
  221. package/lib/annotations/pipes/unsnake/unsnake.pipe.ngfactory.d.ts.map +1 -0
  222. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +3 -2
  223. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +1 -0
  224. package/lib/annotations/services/annotation-api/annotation-api.service.ngfactory.d.ts.map +1 -0
  225. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +1 -0
  226. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +1 -0
  227. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.ngfactory.d.ts.map +1 -0
  228. package/lib/annotations/services/tags/tags.services.d.ts +1 -0
  229. package/lib/annotations/services/tags/tags.services.d.ts.map +1 -0
  230. package/lib/annotations/services/tags/tags.services.ngfactory.d.ts.map +1 -0
  231. package/lib/annotations/tags/tags.component.d.ts +3 -2
  232. package/lib/annotations/tags/tags.component.d.ts.map +1 -0
  233. package/lib/annotations/tags/tags.component.ngfactory.d.ts.map +1 -0
  234. package/lib/bookmark/components/bookmark-icons.component.d.ts +1 -0
  235. package/lib/bookmark/components/bookmark-icons.component.d.ts.map +1 -0
  236. package/lib/bookmark/components/bookmark-icons.component.ngfactory.d.ts.map +1 -0
  237. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +1 -0
  238. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +1 -0
  239. package/lib/icp/confirm-exit/confirm-action-dialog.component.ngfactory.d.ts.map +1 -0
  240. package/lib/icp/icp-follower.service.d.ts +1 -0
  241. package/lib/icp/icp-follower.service.d.ts.map +1 -0
  242. package/lib/icp/icp-follower.service.ngfactory.d.ts.map +1 -0
  243. package/lib/icp/icp-presenter.service.d.ts +1 -0
  244. package/lib/icp/icp-presenter.service.d.ts.map +1 -0
  245. package/lib/icp/icp-presenter.service.ngfactory.d.ts.map +1 -0
  246. package/lib/icp/icp-session-api.service.d.ts +1 -0
  247. package/lib/icp/icp-session-api.service.d.ts.map +1 -0
  248. package/lib/icp/icp-session-api.service.ngfactory.d.ts.map +1 -0
  249. package/lib/icp/icp-update.service.d.ts +1 -9
  250. package/lib/icp/icp-update.service.d.ts.map +1 -0
  251. package/lib/icp/icp-update.service.ngfactory.d.ts.map +1 -0
  252. package/lib/icp/icp.events.d.ts +14 -0
  253. package/lib/icp/icp.events.d.ts.map +1 -0
  254. package/lib/icp/icp.interfaces.d.ts +2 -0
  255. package/lib/icp/icp.interfaces.d.ts.map +1 -0
  256. package/lib/icp/icp.service.d.ts +1 -0
  257. package/lib/icp/icp.service.d.ts.map +1 -0
  258. package/lib/icp/icp.service.ngfactory.d.ts.map +1 -0
  259. package/lib/icp/participants-list/participants-list.component.d.ts +1 -0
  260. package/lib/icp/participants-list/participants-list.component.d.ts.map +1 -0
  261. package/lib/icp/participants-list/participants-list.component.ngfactory.d.ts.map +1 -0
  262. package/lib/icp/socket.service.d.ts +14 -4
  263. package/lib/icp/socket.service.d.ts.map +1 -0
  264. package/lib/icp/socket.service.ngfactory.d.ts.map +1 -0
  265. package/lib/media-viewer.component.d.ts +1 -0
  266. package/lib/media-viewer.component.d.ts.map +1 -0
  267. package/lib/media-viewer.component.ngfactory.d.ts.map +1 -0
  268. package/lib/media-viewer.module.d.ts +1 -0
  269. package/lib/media-viewer.module.d.ts.map +1 -0
  270. package/lib/media-viewer.module.ngfactory.d.ts.map +1 -0
  271. package/lib/print.service.d.ts +1 -0
  272. package/lib/print.service.d.ts.map +1 -0
  273. package/lib/print.service.ngfactory.d.ts.map +1 -0
  274. package/lib/redaction/components/redaction.component.d.ts +1 -0
  275. package/lib/redaction/components/redaction.component.d.ts.map +1 -0
  276. package/lib/redaction/components/redaction.component.ngfactory.d.ts.map +1 -0
  277. package/lib/redaction/services/redaction-api.service.d.ts +1 -0
  278. package/lib/redaction/services/redaction-api.service.d.ts.map +1 -0
  279. package/lib/redaction/services/redaction-api.service.ngfactory.d.ts.map +1 -0
  280. package/lib/redaction/services/redaction.model.d.ts +1 -0
  281. package/lib/redaction/services/redaction.model.d.ts.map +1 -0
  282. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +1 -0
  283. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +1 -0
  284. package/lib/shared/gov-uk-date/gov-uk-date.component.ngfactory.d.ts.map +1 -0
  285. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -0
  286. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +1 -0
  287. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.ngfactory.d.ts.map +1 -0
  288. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -0
  289. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +1 -0
  290. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.ngfactory.d.ts.map +1 -0
  291. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +1 -0
  292. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +1 -0
  293. package/lib/shared/gov-uk-label/gov-uk-label.component.ngfactory.d.ts.map +1 -0
  294. package/lib/shared/shared.module.d.ts +1 -0
  295. package/lib/shared/shared.module.d.ts.map +1 -0
  296. package/lib/shared/shared.module.ngfactory.d.ts.map +1 -0
  297. package/lib/shared/util/helpers/html-templates.helper.d.ts +1 -0
  298. package/lib/shared/util/helpers/html-templates.helper.d.ts.map +1 -0
  299. package/lib/shared/util/services/number.helper.service.d.ts +1 -0
  300. package/lib/shared/util/services/number.helper.service.d.ts.map +1 -0
  301. package/lib/shared/util/services/number.helper.service.ngfactory.d.ts.map +1 -0
  302. package/lib/store/actions/annotation.actions.d.ts +1 -0
  303. package/lib/store/actions/annotation.actions.d.ts.map +1 -0
  304. package/lib/store/actions/bookmark.actions.d.ts +1 -0
  305. package/lib/store/actions/bookmark.actions.d.ts.map +1 -0
  306. package/lib/store/actions/document.actions.d.ts +1 -0
  307. package/lib/store/actions/document.actions.d.ts.map +1 -0
  308. package/lib/store/actions/icp.actions.d.ts +1 -0
  309. package/lib/store/actions/icp.actions.d.ts.map +1 -0
  310. package/lib/store/actions/redaction.actions.d.ts +1 -0
  311. package/lib/store/actions/redaction.actions.d.ts.map +1 -0
  312. package/lib/store/actions/tag.actions.d.ts +1 -0
  313. package/lib/store/actions/tag.actions.d.ts.map +1 -0
  314. package/lib/store/bookmarks-store-utils.d.ts +1 -0
  315. package/lib/store/bookmarks-store-utils.d.ts.map +1 -0
  316. package/lib/store/effects/annotation.effects.d.ts +1 -0
  317. package/lib/store/effects/annotation.effects.d.ts.map +1 -0
  318. package/lib/store/effects/annotation.effects.ngfactory.d.ts.map +1 -0
  319. package/lib/store/effects/bookmarks.effects.d.ts +1 -0
  320. package/lib/store/effects/bookmarks.effects.d.ts.map +1 -0
  321. package/lib/store/effects/bookmarks.effects.ngfactory.d.ts.map +1 -0
  322. package/lib/store/effects/document.effects.d.ts +1 -0
  323. package/lib/store/effects/document.effects.d.ts.map +1 -0
  324. package/lib/store/effects/document.effects.ngfactory.d.ts.map +1 -0
  325. package/lib/store/effects/icp.effects.d.ts +1 -0
  326. package/lib/store/effects/icp.effects.d.ts.map +1 -0
  327. package/lib/store/effects/icp.effects.ngfactory.d.ts.map +1 -0
  328. package/lib/store/effects/index.d.ts +1 -0
  329. package/lib/store/effects/index.d.ts.map +1 -0
  330. package/lib/store/effects/redaction.effects.d.ts +1 -0
  331. package/lib/store/effects/redaction.effects.d.ts.map +1 -0
  332. package/lib/store/effects/redaction.effects.ngfactory.d.ts.map +1 -0
  333. package/lib/store/models/bookmarks.interface.d.ts +1 -0
  334. package/lib/store/models/bookmarks.interface.d.ts.map +1 -0
  335. package/lib/store/models/filters.interface.d.ts +1 -0
  336. package/lib/store/models/filters.interface.d.ts.map +1 -0
  337. package/lib/store/reducers/annotations.reducer.d.ts +1 -0
  338. package/lib/store/reducers/annotations.reducer.d.ts.map +1 -0
  339. package/lib/store/reducers/bookmarks.reducer.d.ts +1 -0
  340. package/lib/store/reducers/bookmarks.reducer.d.ts.map +1 -0
  341. package/lib/store/reducers/document.reducer.d.ts +1 -0
  342. package/lib/store/reducers/document.reducer.d.ts.map +1 -0
  343. package/lib/store/reducers/icp.reducer.d.ts +1 -0
  344. package/lib/store/reducers/icp.reducer.d.ts.map +1 -0
  345. package/lib/store/reducers/redaction.reducer.d.ts +1 -0
  346. package/lib/store/reducers/redaction.reducer.d.ts.map +1 -0
  347. package/lib/store/reducers/reducers.d.ts +2 -1
  348. package/lib/store/reducers/reducers.d.ts.map +1 -0
  349. package/lib/store/reducers/tags.reducer.d.ts +1 -0
  350. package/lib/store/reducers/tags.reducer.d.ts.map +1 -0
  351. package/lib/store/selectors/annotation.selectors.d.ts +54 -15
  352. package/lib/store/selectors/annotation.selectors.d.ts.map +1 -0
  353. package/lib/store/selectors/bookmark.selectors.d.ts +18 -7
  354. package/lib/store/selectors/bookmark.selectors.d.ts.map +1 -0
  355. package/lib/store/selectors/document.selectors.d.ts +15 -9
  356. package/lib/store/selectors/document.selectors.d.ts.map +1 -0
  357. package/lib/store/selectors/icp.selectors.d.ts +9 -8
  358. package/lib/store/selectors/icp.selectors.d.ts.map +1 -0
  359. package/lib/store/selectors/redaction.selectors.d.ts +18 -7
  360. package/lib/store/selectors/redaction.selectors.d.ts.map +1 -0
  361. package/lib/store/selectors/tag.selectors.d.ts +16 -6
  362. package/lib/store/selectors/tag.selectors.d.ts.map +1 -0
  363. package/lib/store/store-utils.d.ts +1 -0
  364. package/lib/store/store-utils.d.ts.map +1 -0
  365. package/lib/toolbar/icp-event.service.d.ts +1 -0
  366. package/lib/toolbar/icp-event.service.d.ts.map +1 -0
  367. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +1 -0
  368. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +1 -0
  369. package/lib/toolbar/icp-toolbar/icp-toolbar.component.ngfactory.d.ts.map +1 -0
  370. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +1 -0
  371. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -0
  372. package/lib/toolbar/main-toolbar/main-toolbar.component.ngfactory.d.ts.map +1 -0
  373. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +2 -0
  374. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -0
  375. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.ngfactory.d.ts.map +1 -0
  376. package/lib/toolbar/search-bar/search-bar.component.d.ts +2 -0
  377. package/lib/toolbar/search-bar/search-bar.component.d.ts.map +1 -0
  378. package/lib/toolbar/search-bar/search-bar.component.ngfactory.d.ts.map +1 -0
  379. package/lib/toolbar/toolbar-button-visibility.service.d.ts +1 -0
  380. package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +1 -0
  381. package/lib/toolbar/toolbar-button-visibility.service.ngfactory.d.ts.map +1 -0
  382. package/lib/toolbar/toolbar-event.service.d.ts +3 -0
  383. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -0
  384. package/lib/toolbar/toolbar-event.service.ngfactory.d.ts.map +1 -0
  385. package/lib/toolbar/toolbar.module.d.ts +1 -0
  386. package/lib/toolbar/toolbar.module.d.ts.map +1 -0
  387. package/lib/toolbar/toolbar.module.ngfactory.d.ts.map +1 -0
  388. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +1 -0
  389. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +1 -0
  390. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.ngfactory.d.ts.map +1 -0
  391. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +1 -0
  392. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +1 -0
  393. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.ngfactory.d.ts.map +1 -0
  394. package/lib/viewers/grab-n-drag.directive.d.ts +1 -0
  395. package/lib/viewers/grab-n-drag.directive.d.ts.map +1 -0
  396. package/lib/viewers/grab-n-drag.directive.ngfactory.d.ts.map +1 -0
  397. package/lib/viewers/image-viewer/image-viewer.component.d.ts +5 -1
  398. package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +1 -0
  399. package/lib/viewers/image-viewer/image-viewer.component.ngfactory.d.ts.map +1 -0
  400. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +1 -0
  401. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +1 -0
  402. package/lib/viewers/multimedia-player/multimedia-player.component.ngfactory.d.ts.map +1 -0
  403. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts +5 -0
  404. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -0
  405. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +1 -0
  406. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +1 -0
  407. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.ngfactory.d.ts.map +1 -0
  408. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +6 -2
  409. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -0
  410. package/lib/viewers/pdf-viewer/pdf-viewer.component.ngfactory.d.ts.map +1 -0
  411. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +2 -1
  412. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -0
  413. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.ngfactory.d.ts.map +1 -0
  414. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts +1 -0
  415. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts.map +1 -0
  416. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +7 -0
  417. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -0
  418. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.ngfactory.d.ts.map +1 -0
  419. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts +3 -1
  420. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts.map +1 -0
  421. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +4 -0
  422. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -0
  423. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.ngfactory.d.ts.map +1 -0
  424. package/lib/viewers/rotation-persist/rotation-api.service.d.ts +1 -0
  425. package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +1 -0
  426. package/lib/viewers/rotation-persist/rotation-api.service.ngfactory.d.ts.map +1 -0
  427. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +1 -0
  428. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +1 -0
  429. package/lib/viewers/rotation-persist/rotation-persist.directive.ngfactory.d.ts.map +1 -0
  430. package/lib/viewers/rotation-persist/rotation.model.d.ts +1 -0
  431. package/lib/viewers/rotation-persist/rotation.model.d.ts.map +1 -0
  432. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +1 -0
  433. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +1 -0
  434. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.ngfactory.d.ts.map +1 -0
  435. package/lib/viewers/viewer-event.service.d.ts +1 -0
  436. package/lib/viewers/viewer-event.service.d.ts.map +1 -0
  437. package/lib/viewers/viewer-event.service.ngfactory.d.ts.map +1 -0
  438. package/lib/viewers/viewer-exception.model.d.ts +1 -0
  439. package/lib/viewers/viewer-exception.model.d.ts.map +1 -0
  440. package/lib/viewers/viewer-util.service.d.ts +1 -0
  441. package/lib/viewers/viewer-util.service.d.ts.map +1 -0
  442. package/lib/viewers/viewer-util.service.ngfactory.d.ts.map +1 -0
  443. package/package.json +16 -17
  444. package/public_api.d.ts +1 -0
  445. package/public_api.d.ts.map +1 -0
  446. package/esm5/hmcts-media-viewer.js +0 -67
  447. package/esm5/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +0 -215
  448. package/esm5/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +0 -236
  449. package/esm5/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +0 -125
  450. package/esm5/lib/annotations/annotation-set/annotation-set.component.js +0 -109
  451. package/esm5/lib/annotations/annotation-set/annotation-set.model.js +0 -15
  452. package/esm5/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +0 -177
  453. package/esm5/lib/annotations/annotation-set/annotation-view/annotation.model.js +0 -29
  454. package/esm5/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.js +0 -250
  455. package/esm5/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.js +0 -21
  456. package/esm5/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.js +0 -216
  457. package/esm5/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +0 -200
  458. package/esm5/lib/annotations/annotations.module.js +0 -109
  459. package/esm5/lib/annotations/comment-set/comment/comment.component.js +0 -353
  460. package/esm5/lib/annotations/comment-set/comment/comment.model.js +0 -27
  461. package/esm5/lib/annotations/comment-set/comment/comment.service.js +0 -125
  462. package/esm5/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.js +0 -98
  463. package/esm5/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.js +0 -63
  464. package/esm5/lib/annotations/comment-set/comment-navigate/comments-navigate.component.js +0 -174
  465. package/esm5/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.js +0 -145
  466. package/esm5/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.js +0 -117
  467. package/esm5/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +0 -131
  468. package/esm5/lib/annotations/comment-set/comment-set-render.service.js +0 -177
  469. package/esm5/lib/annotations/comment-set/comment-set.component.js +0 -295
  470. package/esm5/lib/annotations/comments-summary/comments-summary.component.js +0 -239
  471. package/esm5/lib/annotations/models/api-persisted.model.js +0 -25
  472. package/esm5/lib/annotations/models/event-select.model.js +0 -17
  473. package/esm5/lib/annotations/models/tags.model.js +0 -19
  474. package/esm5/lib/annotations/models/user.model.js +0 -17
  475. package/esm5/lib/annotations/pipes/date/date.pipe.js +0 -48
  476. package/esm5/lib/annotations/pipes/filter/filter.pipe.js +0 -52
  477. package/esm5/lib/annotations/pipes/unsnake/unsnake.pipe.js +0 -28
  478. package/esm5/lib/annotations/services/annotation-api/annotation-api.service.js +0 -188
  479. package/esm5/lib/annotations/services/bookmarks-api/bookmarks-api.service.js +0 -132
  480. package/esm5/lib/annotations/services/tags/tags.services.js +0 -102
  481. package/esm5/lib/annotations/tags/tags.component.js +0 -112
  482. package/esm5/lib/bookmark/components/bookmark-icons.component.js +0 -55
  483. package/esm5/lib/icp/confirm-exit/confirm-action-dialog.component.js +0 -50
  484. package/esm5/lib/icp/icp-follower.service.js +0 -135
  485. package/esm5/lib/icp/icp-presenter.service.js +0 -135
  486. package/esm5/lib/icp/icp-session-api.service.js +0 -49
  487. package/esm5/lib/icp/icp-update.service.js +0 -165
  488. package/esm5/lib/icp/icp.interfaces.js +0 -51
  489. package/esm5/lib/icp/icp.service.js +0 -261
  490. package/esm5/lib/icp/participants-list/participants-list.component.js +0 -77
  491. package/esm5/lib/icp/socket.service.js +0 -142
  492. package/esm5/lib/media-viewer.component.js +0 -424
  493. package/esm5/lib/media-viewer.module.js +0 -110
  494. package/esm5/lib/print.service.js +0 -53
  495. package/esm5/lib/redaction/components/redaction.component.js +0 -247
  496. package/esm5/lib/redaction/services/redaction-api.service.js +0 -133
  497. package/esm5/lib/redaction/services/redaction.model.js +0 -19
  498. package/esm5/lib/shared/gov-uk-date/gov-uk-date.component.js +0 -37
  499. package/esm5/lib/shared/gov-uk-error-message/gov-uk-error-message.component.js +0 -36
  500. package/esm5/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -49
  501. package/esm5/lib/shared/gov-uk-label/gov-uk-label.component.js +0 -33
  502. package/esm5/lib/shared/shared.module.js +0 -42
  503. package/esm5/lib/shared/util/helpers/html-templates.helper.js +0 -36
  504. package/esm5/lib/shared/util/services/number.helper.service.js +0 -39
  505. package/esm5/lib/store/actions/annotation.actions.js +0 -226
  506. package/esm5/lib/store/actions/bookmark.actions.js +0 -242
  507. package/esm5/lib/store/actions/document.actions.js +0 -210
  508. package/esm5/lib/store/actions/icp.actions.js +0 -130
  509. package/esm5/lib/store/actions/redaction.actions.js +0 -255
  510. package/esm5/lib/store/actions/tag.actions.js +0 -50
  511. package/esm5/lib/store/bookmarks-store-utils.js +0 -110
  512. package/esm5/lib/store/effects/annotation.effects.js +0 -128
  513. package/esm5/lib/store/effects/bookmarks.effects.js +0 -193
  514. package/esm5/lib/store/effects/document.effects.js +0 -138
  515. package/esm5/lib/store/effects/icp.effects.js +0 -97
  516. package/esm5/lib/store/effects/index.js +0 -12
  517. package/esm5/lib/store/effects/redaction.effects.js +0 -190
  518. package/esm5/lib/store/models/bookmarks.interface.js +0 -57
  519. package/esm5/lib/store/models/filters.interface.js +0 -17
  520. package/esm5/lib/store/reducers/annotations.reducer.js +0 -231
  521. package/esm5/lib/store/reducers/bookmarks.reducer.js +0 -170
  522. package/esm5/lib/store/reducers/document.reducer.js +0 -222
  523. package/esm5/lib/store/reducers/icp.reducer.js +0 -83
  524. package/esm5/lib/store/reducers/redaction.reducer.js +0 -134
  525. package/esm5/lib/store/reducers/reducers.js +0 -47
  526. package/esm5/lib/store/reducers/tags.reducer.js +0 -159
  527. package/esm5/lib/store/selectors/annotation.selectors.js +0 -175
  528. package/esm5/lib/store/selectors/bookmark.selectors.js +0 -78
  529. package/esm5/lib/store/selectors/document.selectors.js +0 -37
  530. package/esm5/lib/store/selectors/icp.selectors.js +0 -47
  531. package/esm5/lib/store/selectors/redaction.selectors.js +0 -65
  532. package/esm5/lib/store/selectors/tag.selectors.js +0 -40
  533. package/esm5/lib/store/store-utils.js +0 -296
  534. package/esm5/lib/toolbar/icp-event.service.js +0 -65
  535. package/esm5/lib/toolbar/icp-toolbar/icp-toolbar.component.js +0 -112
  536. package/esm5/lib/toolbar/main-toolbar/main-toolbar.component.js +0 -408
  537. package/esm5/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +0 -130
  538. package/esm5/lib/toolbar/search-bar/search-bar.component.js +0 -226
  539. package/esm5/lib/toolbar/toolbar-button-visibility.service.js +0 -146
  540. package/esm5/lib/toolbar/toolbar-event.service.js +0 -416
  541. package/esm5/lib/toolbar/toolbar.module.js +0 -50
  542. package/esm5/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.js +0 -168
  543. package/esm5/lib/viewers/convertible-content-viewer/document-conversion-api.service.js +0 -57
  544. package/esm5/lib/viewers/grab-n-drag.directive.js +0 -98
  545. package/esm5/lib/viewers/image-viewer/image-viewer.component.js +0 -402
  546. package/esm5/lib/viewers/multimedia-player/multimedia-player.component.js +0 -125
  547. package/esm5/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +0 -446
  548. package/esm5/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.js +0 -87
  549. package/esm5/lib/viewers/pdf-viewer/pdf-viewer.component.js +0 -582
  550. package/esm5/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +0 -251
  551. package/esm5/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.js +0 -39
  552. package/esm5/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +0 -62
  553. package/esm5/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.js +0 -31
  554. package/esm5/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +0 -146
  555. package/esm5/lib/viewers/rotation-persist/rotation-api.service.js +0 -68
  556. package/esm5/lib/viewers/rotation-persist/rotation-persist.directive.js +0 -163
  557. package/esm5/lib/viewers/rotation-persist/rotation.model.js +0 -15
  558. package/esm5/lib/viewers/unsupported-viewer/unsupported-viewer.component.js +0 -120
  559. package/esm5/lib/viewers/viewer-event.service.js +0 -86
  560. package/esm5/lib/viewers/viewer-exception.model.js +0 -36
  561. package/esm5/lib/viewers/viewer-util.service.js +0 -44
  562. package/esm5/public_api.js +0 -35
  563. package/fesm5/hmcts-media-viewer.js +0 -14160
  564. package/fesm5/hmcts-media-viewer.js.map +0 -1
  565. package/hmcts-media-viewer-v2.8.2.tgz +0 -0
@@ -1,57 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Injectable } from '@angular/core';
6
- import { HttpClient } from '@angular/common/http';
7
- import { of } from 'rxjs';
8
- import { catchError, map } from 'rxjs/operators';
9
- var DocumentConversionApiService = /** @class */ (function () {
10
- function DocumentConversionApiService(httpClient) {
11
- this.httpClient = httpClient;
12
- this.documentConversionUrl = '/doc-assembly/convert';
13
- }
14
- /**
15
- * @param {?} documentId
16
- * @return {?}
17
- */
18
- DocumentConversionApiService.prototype.convert = /**
19
- * @param {?} documentId
20
- * @return {?}
21
- */
22
- function (documentId) {
23
- return this.httpClient
24
- .post(this.documentConversionUrl + "/" + documentId, {}, { observe: 'response', withCredentials: true, responseType: (/** @type {?} */ ('blob')) })
25
- .pipe(map((/**
26
- * @param {?} response
27
- * @return {?}
28
- */
29
- function (response) { return response; })), catchError((/**
30
- * @param {?} error
31
- * @return {?}
32
- */
33
- function (error) { return of(error); })));
34
- };
35
- DocumentConversionApiService.decorators = [
36
- { type: Injectable }
37
- ];
38
- /** @nocollapse */
39
- DocumentConversionApiService.ctorParameters = function () { return [
40
- { type: HttpClient }
41
- ]; };
42
- return DocumentConversionApiService;
43
- }());
44
- export { DocumentConversionApiService };
45
- if (false) {
46
- /**
47
- * @type {?}
48
- * @private
49
- */
50
- DocumentConversionApiService.prototype.documentConversionUrl;
51
- /**
52
- * @type {?}
53
- * @private
54
- */
55
- DocumentConversionApiService.prototype.httpClient;
56
- }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtY29udmVyc2lvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9tZWRpYS12aWV3ZXIvIiwic291cmNlcyI6WyJsaWIvdmlld2Vycy9jb252ZXJ0aWJsZS1jb250ZW50LXZpZXdlci9kb2N1bWVudC1jb252ZXJzaW9uLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpEO0lBS0Usc0NBQTZCLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFGM0MsMEJBQXFCLEdBQUcsdUJBQXVCLENBQUM7SUFFRixDQUFDOzs7OztJQUVoRCw4Q0FBTzs7OztJQUFkLFVBQWUsVUFBVTtRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLElBQUksQ0FBVSxJQUFJLENBQUMscUJBQXFCLFNBQUksVUFBWSxFQUFFLEVBQUUsRUFDM0QsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFHLGVBQWUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLG1CQUFBLE1BQU0sRUFBVSxFQUFFLENBQUM7YUFDakYsSUFBSSxDQUNILEdBQUc7Ozs7UUFBQyxVQUFBLFFBQVEsSUFBSSxPQUFBLFFBQVEsRUFBUixDQUFRLEVBQUMsRUFDekIsVUFBVTs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFULENBQVMsRUFBQyxDQUMvQixDQUFDO0lBQ04sQ0FBQzs7Z0JBZkYsVUFBVTs7OztnQkFKRixVQUFVOztJQW9CbkIsbUNBQUM7Q0FBQSxBQWhCRCxJQWdCQztTQWZZLDRCQUE0Qjs7Ozs7O0lBRXZDLDZEQUF3RDs7Ozs7SUFFNUMsa0RBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERvY3VtZW50Q29udmVyc2lvbkFwaVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgZG9jdW1lbnRDb252ZXJzaW9uVXJsID0gJy9kb2MtYXNzZW1ibHkvY29udmVydCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxuXG4gIHB1YmxpYyBjb252ZXJ0KGRvY3VtZW50SWQpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxCbG9iPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0PEJsb2I+KGAke3RoaXMuZG9jdW1lbnRDb252ZXJzaW9uVXJsfS8ke2RvY3VtZW50SWR9YCwge30sXG4gICAgICAgIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyAsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSwgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihlcnJvcikpXG4gICAgICApO1xuICB9XG59XG4iXX0=
@@ -1,98 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Directive, ElementRef, HostListener, Input } from '@angular/core';
6
- var GrabNDragDirective = /** @class */ (function () {
7
- function GrabNDragDirective(el) {
8
- this.el = el;
9
- this.pointerDown = false;
10
- this.dragEnabled = false;
11
- }
12
- /**
13
- * @param {?} event
14
- * @return {?}
15
- */
16
- GrabNDragDirective.prototype.onPointerDown = /**
17
- * @param {?} event
18
- * @return {?}
19
- */
20
- function (event) {
21
- if (this.dragEnabled) {
22
- event.preventDefault();
23
- this.pointerDown = true;
24
- this.originalPosition = {
25
- left: event.clientX + this.el.nativeElement.scrollLeft,
26
- top: event.clientY + this.el.nativeElement.scrollTop,
27
- };
28
- }
29
- };
30
- /**
31
- * @param {?} event
32
- * @return {?}
33
- */
34
- GrabNDragDirective.prototype.onPointerMove = /**
35
- * @param {?} event
36
- * @return {?}
37
- */
38
- function (event) {
39
- if (this.pointerDown && this.dragEnabled) {
40
- event.preventDefault();
41
- /** @type {?} */
42
- var scrollDiff = {
43
- left: this.originalPosition.left - (event.clientX + this.el.nativeElement.scrollLeft),
44
- top: this.originalPosition.top - (event.clientY + this.el.nativeElement.scrollTop)
45
- };
46
- if (this.dragEnabled) {
47
- this.dragX.scrollLeft += scrollDiff.left;
48
- this.el.nativeElement.scrollTop += scrollDiff.top;
49
- }
50
- }
51
- };
52
- /**
53
- * @return {?}
54
- */
55
- GrabNDragDirective.prototype.onWindowPointerUp = /**
56
- * @return {?}
57
- */
58
- function () {
59
- this.pointerDown = false;
60
- };
61
- GrabNDragDirective.decorators = [
62
- { type: Directive, args: [{
63
- selector: '[mvGrabNDrag]'
64
- },] }
65
- ];
66
- /** @nocollapse */
67
- GrabNDragDirective.ctorParameters = function () { return [
68
- { type: ElementRef }
69
- ]; };
70
- GrabNDragDirective.propDecorators = {
71
- dragEnabled: [{ type: Input }],
72
- dragX: [{ type: Input }],
73
- onPointerDown: [{ type: HostListener, args: ['pointerdown', ['$event'],] }],
74
- onPointerMove: [{ type: HostListener, args: ['window:pointermove', ['$event'],] }],
75
- onWindowPointerUp: [{ type: HostListener, args: ['window:pointerup',] }]
76
- };
77
- return GrabNDragDirective;
78
- }());
79
- export { GrabNDragDirective };
80
- if (false) {
81
- /** @type {?} */
82
- GrabNDragDirective.prototype.originalPosition;
83
- /**
84
- * @type {?}
85
- * @private
86
- */
87
- GrabNDragDirective.prototype.pointerDown;
88
- /** @type {?} */
89
- GrabNDragDirective.prototype.dragEnabled;
90
- /** @type {?} */
91
- GrabNDragDirective.prototype.dragX;
92
- /**
93
- * @type {?}
94
- * @private
95
- */
96
- GrabNDragDirective.prototype.el;
97
- }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhYi1uLWRyYWcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL21lZGlhLXZpZXdlci8iLCJzb3VyY2VzIjpbImxpYi92aWV3ZXJzL2dyYWItbi1kcmFnLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczRTtJQVdFLDRCQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUwxQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVuQixnQkFBVyxHQUFHLEtBQUssQ0FBQztJQUk3QixDQUFDOzs7OztJQUdELDBDQUFhOzs7O0lBRGIsVUFDYyxLQUFtQjtRQUMvQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztnQkFDdEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVTtnQkFDdEQsR0FBRyxFQUFFLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUzthQUNyRCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzs7OztJQUdELDBDQUFhOzs7O0lBRGIsVUFDYyxLQUFtQjtRQUMvQixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN4QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7O2dCQUNqQixVQUFVLEdBQUc7Z0JBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7Z0JBQ3JGLEdBQUcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7YUFDbkY7WUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDO2FBQ25EO1NBQ0Y7SUFDSCxDQUFDOzs7O0lBRWlDLDhDQUFpQjs7O0lBQW5EO1FBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQzs7Z0JBM0NGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7Ozs7Z0JBTG1CLFVBQVU7Ozs4QkFXM0IsS0FBSzt3QkFDTCxLQUFLO2dDQUtMLFlBQVksU0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0NBWXRDLFlBQVksU0FBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztvQ0FlN0MsWUFBWSxTQUFDLGtCQUFrQjs7SUFHbEMseUJBQUM7Q0FBQSxBQTVDRCxJQTRDQztTQXpDWSxrQkFBa0I7OztJQUU3Qiw4Q0FBZ0Q7Ozs7O0lBQ2hELHlDQUE0Qjs7SUFFNUIseUNBQTZCOztJQUM3QixtQ0FBd0I7Ozs7O0lBRVosZ0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW212R3JhYk5EcmFnXSdcbn0pXG5leHBvcnQgY2xhc3MgR3JhYk5EcmFnRGlyZWN0aXZlIHtcblxuICBvcmlnaW5hbFBvc2l0aW9uOiB7IGxlZnQ6IG51bWJlcjsgdG9wOiBudW1iZXIgfTtcbiAgcHJpdmF0ZSBwb2ludGVyRG93biA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGRyYWdFbmFibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRyYWdYOiBFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgWyckZXZlbnQnXSlcbiAgb25Qb2ludGVyRG93bihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZHJhZ0VuYWJsZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnBvaW50ZXJEb3duID0gdHJ1ZTtcbiAgICAgIHRoaXMub3JpZ2luYWxQb3NpdGlvbiA9IHtcbiAgICAgICAgbGVmdDogZXZlbnQuY2xpZW50WCArIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0LFxuICAgICAgICB0b3A6IGV2ZW50LmNsaWVudFkgKyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cG9pbnRlcm1vdmUnLCBbJyRldmVudCddKVxuICBvblBvaW50ZXJNb3ZlKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICBpZiAodGhpcy5wb2ludGVyRG93biAmJiB0aGlzLmRyYWdFbmFibGVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3Qgc2Nyb2xsRGlmZiA9IHtcbiAgICAgICAgbGVmdDogdGhpcy5vcmlnaW5hbFBvc2l0aW9uLmxlZnQgLSAoZXZlbnQuY2xpZW50WCArIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0KSxcbiAgICAgICAgdG9wOiB0aGlzLm9yaWdpbmFsUG9zaXRpb24udG9wIC0gKGV2ZW50LmNsaWVudFkgKyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wKVxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLmRyYWdFbmFibGVkKSB7XG4gICAgICAgIHRoaXMuZHJhZ1guc2Nyb2xsTGVmdCArPSBzY3JvbGxEaWZmLmxlZnQ7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgKz0gc2Nyb2xsRGlmZi50b3A7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnBvaW50ZXJ1cCcpIG9uV2luZG93UG9pbnRlclVwKCkge1xuICAgIHRoaXMucG9pbnRlckRvd24gPSBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1,402 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { __awaiter, __generator } from "tslib";
6
- import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
7
- import { PrintService } from '../../print.service';
8
- import { ToolbarEventService } from '../../toolbar/toolbar-event.service';
9
- import { ResponseType, ViewerException } from '../viewer-exception.model';
10
- import { ViewerUtilService } from '../viewer-util.service';
11
- import { ToolbarButtonVisibilityService } from '../../toolbar/toolbar-button-visibility.service';
12
- import { Store } from '@ngrx/store';
13
- import * as fromDocument from '../../store/actions/document.actions';
14
- var ImageViewerComponent = /** @class */ (function () {
15
- function ImageViewerComponent(store, printService, viewerUtilService, toolbarEvents, toolbarButtons) {
16
- this.store = store;
17
- this.printService = printService;
18
- this.viewerUtilService = viewerUtilService;
19
- this.toolbarEvents = toolbarEvents;
20
- this.toolbarButtons = toolbarButtons;
21
- this.mediaLoadStatus = new EventEmitter();
22
- this.imageViewerException = new EventEmitter();
23
- this.rotation = 0;
24
- this.zoom = 1;
25
- this.subscriptions = [];
26
- this.enableGrabNDrag = false;
27
- }
28
- /**
29
- * @return {?}
30
- */
31
- ImageViewerComponent.prototype.ngOnInit = /**
32
- * @return {?}
33
- */
34
- function () {
35
- var _this = this;
36
- this.subscriptions.push(this.toolbarEvents.rotateSubject.subscribe((/**
37
- * @param {?} rotation
38
- * @return {?}
39
- */
40
- function (rotation) { return _this.rotateImage(rotation); })), this.toolbarEvents.zoomSubject.subscribe((/**
41
- * @param {?} zoom
42
- * @return {?}
43
- */
44
- function (zoom) { return _this.setZoom(zoom); })), this.toolbarEvents.stepZoomSubject.subscribe((/**
45
- * @param {?} zoom
46
- * @return {?}
47
- */
48
- function (zoom) { return _this.stepZoom(zoom); })), this.toolbarEvents.printSubject.subscribe((/**
49
- * @return {?}
50
- */
51
- function () { return _this.printService.printDocumentNatively(_this.url); })), this.toolbarEvents.downloadSubject.subscribe((/**
52
- * @return {?}
53
- */
54
- function () { return _this.download(); })), this.toolbarEvents.grabNDrag.subscribe((/**
55
- * @param {?} grabNDrag
56
- * @return {?}
57
- */
58
- function (grabNDrag) { return _this.enableGrabNDrag = grabNDrag; })), this.toolbarEvents.commentsPanelVisible.subscribe((/**
59
- * @param {?} toggle
60
- * @return {?}
61
- */
62
- function (toggle) { return _this.showCommentsPanel = toggle; })));
63
- };
64
- /**
65
- * @return {?}
66
- */
67
- ImageViewerComponent.prototype.ngOnDestroy = /**
68
- * @return {?}
69
- */
70
- function () {
71
- this.subscriptions.filter((/**
72
- * @param {?} subscription
73
- * @return {?}
74
- */
75
- function (subscription) { return !subscription.closed; }))
76
- .forEach((/**
77
- * @param {?} subscription
78
- * @return {?}
79
- */
80
- function (subscription) { return subscription.unsubscribe(); }));
81
- if (this.response) {
82
- this.response.unsubscribe();
83
- }
84
- };
85
- /**
86
- * @param {?} changes
87
- * @return {?}
88
- */
89
- ImageViewerComponent.prototype.ngOnChanges = /**
90
- * @param {?} changes
91
- * @return {?}
92
- */
93
- function (changes) {
94
- if (changes.url) {
95
- this.errorMessage = null;
96
- this.toolbarEvents.reset();
97
- }
98
- };
99
- /**
100
- * @private
101
- * @param {?} rotation
102
- * @return {?}
103
- */
104
- ImageViewerComponent.prototype.rotateImage = /**
105
- * @private
106
- * @param {?} rotation
107
- * @return {?}
108
- */
109
- function (rotation) {
110
- this.rotation = (this.rotation + rotation) % 360;
111
- this.initAnnoPage(this.img.nativeElement);
112
- };
113
- /**
114
- * @private
115
- * @param {?} zoomFactor
116
- * @return {?}
117
- */
118
- ImageViewerComponent.prototype.setZoom = /**
119
- * @private
120
- * @param {?} zoomFactor
121
- * @return {?}
122
- */
123
- function (zoomFactor) {
124
- return __awaiter(this, void 0, void 0, function () {
125
- return __generator(this, function (_a) {
126
- switch (_a.label) {
127
- case 0:
128
- if (!!isNaN(zoomFactor)) return [3 /*break*/, 2];
129
- return [4 /*yield*/, this.setZoomValue(this.calculateZoomValue(zoomFactor))];
130
- case 1:
131
- _a.sent();
132
- this.img.nativeElement.width = this.img.nativeElement.naturalWidth * this.zoom;
133
- this.initAnnoPage(this.img.nativeElement);
134
- _a.label = 2;
135
- case 2: return [2 /*return*/];
136
- }
137
- });
138
- });
139
- };
140
- /**
141
- * @private
142
- * @param {?} zoomFactor
143
- * @return {?}
144
- */
145
- ImageViewerComponent.prototype.stepZoom = /**
146
- * @private
147
- * @param {?} zoomFactor
148
- * @return {?}
149
- */
150
- function (zoomFactor) {
151
- return __awaiter(this, void 0, void 0, function () {
152
- return __generator(this, function (_a) {
153
- switch (_a.label) {
154
- case 0:
155
- if (!!isNaN(zoomFactor)) return [3 /*break*/, 2];
156
- return [4 /*yield*/, this.setZoomValue(this.calculateZoomValue(this.zoom, zoomFactor))];
157
- case 1:
158
- _a.sent();
159
- this.img.nativeElement.width = this.img.nativeElement.naturalWidth * this.zoom;
160
- this.initAnnoPage(this.img.nativeElement);
161
- _a.label = 2;
162
- case 2: return [2 /*return*/];
163
- }
164
- });
165
- });
166
- };
167
- /**
168
- * @private
169
- * @return {?}
170
- */
171
- ImageViewerComponent.prototype.download = /**
172
- * @private
173
- * @return {?}
174
- */
175
- function () {
176
- /** @type {?} */
177
- var a = document.createElement('a');
178
- document.body.appendChild(a);
179
- a.setAttribute('style', 'display: none');
180
- a.href = this.url;
181
- a.download = this.downloadFileName;
182
- a.click();
183
- a.remove();
184
- };
185
- // the returned promise is a work-around
186
- // the returned promise is a work-around
187
- /**
188
- * @param {?} zoomValue
189
- * @return {?}
190
- */
191
- ImageViewerComponent.prototype.setZoomValue =
192
- // the returned promise is a work-around
193
- /**
194
- * @param {?} zoomValue
195
- * @return {?}
196
- */
197
- function (zoomValue) {
198
- var _this = this;
199
- return new Promise((/**
200
- * @param {?} resolve
201
- * @return {?}
202
- */
203
- function (resolve) {
204
- _this.zoom = zoomValue;
205
- _this.toolbarEvents.zoomValueSubject.next(zoomValue);
206
- resolve(true);
207
- }));
208
- };
209
- /**
210
- * @param {?} zoomValue
211
- * @param {?=} increment
212
- * @return {?}
213
- */
214
- ImageViewerComponent.prototype.calculateZoomValue = /**
215
- * @param {?} zoomValue
216
- * @param {?=} increment
217
- * @return {?}
218
- */
219
- function (zoomValue, increment) {
220
- if (increment === void 0) { increment = 0; }
221
- /** @type {?} */
222
- var newZoomValue = zoomValue + increment;
223
- if (newZoomValue > 5) {
224
- return 5;
225
- }
226
- if (newZoomValue < 0.1) {
227
- return 0.1;
228
- }
229
- return +newZoomValue.toFixed(2);
230
- };
231
- /**
232
- * @param {?} url
233
- * @return {?}
234
- */
235
- ImageViewerComponent.prototype.onLoadError = /**
236
- * @param {?} url
237
- * @return {?}
238
- */
239
- function (url) {
240
- var _this = this;
241
- this.response = this.viewerUtilService.validateFile(url)
242
- .subscribe((/**
243
- * @param {?} next
244
- * @return {?}
245
- */
246
- function (next) { return next; }), (/**
247
- * @param {?} error
248
- * @return {?}
249
- */
250
- function (error) {
251
- _this.viewerException = new ViewerException(error.name, { httpResponseCode: error.status, message: error.message });
252
- }));
253
- this.errorMessage = "Could not load the image \"" + this.url + "\"";
254
- this.mediaLoadStatus.emit(ResponseType.FAILURE);
255
- this.imageViewerException.emit(this.viewerException);
256
- };
257
- /**
258
- * @param {?} img
259
- * @return {?}
260
- */
261
- ImageViewerComponent.prototype.onLoad = /**
262
- * @param {?} img
263
- * @return {?}
264
- */
265
- function (img) {
266
- this.mediaLoadStatus.emit(ResponseType.SUCCESS);
267
- this.initAnnoPage(img);
268
- };
269
- /**
270
- * @param {?} img
271
- * @return {?}
272
- */
273
- ImageViewerComponent.prototype.initAnnoPage = /**
274
- * @param {?} img
275
- * @return {?}
276
- */
277
- function (img) {
278
- this.imageHeight = this.rotation % 180 !== 0 ? img.offsetWidth : img.offsetHeight;
279
- this.imageWidth = this.rotation % 180 !== 0 ? img.offsetHeight : img.offsetWidth;
280
- this.imageLeft = this.rotation % 180 !== 0 ? img.offsetTop : img.offsetLeft;
281
- this.imageTop = this.rotation % 180 !== 0 ? img.offsetLeft : img.offsetTop;
282
- /** @type {?} */
283
- var payload = [{
284
- div: {
285
- scrollHeight: this.imageHeight,
286
- scrollWidth: this.imageWidth,
287
- offsetLeft: this.imageLeft,
288
- },
289
- pageNumber: 1,
290
- scale: this.zoom,
291
- rotation: this.rotation,
292
- id: 1
293
- }];
294
- this.store.dispatch(new fromDocument.AddPages(payload));
295
- };
296
- /**
297
- * @return {?}
298
- */
299
- ImageViewerComponent.prototype.toggleCommentsSummary = /**
300
- * @return {?}
301
- */
302
- function () {
303
- this.toolbarEvents.toggleCommentsSummary(!this.toolbarEvents.showCommentSummary.getValue());
304
- };
305
- ImageViewerComponent.decorators = [
306
- { type: Component, args: [{
307
- selector: 'mv-image-viewer',
308
- template: "<mv-comment-set-header [ngClass]=\"{'show-comments-panel': showCommentsPanel}\"\n [showCommentSummary]=\"toolbarButtons.showCommentSummary\"\n (showCommentSummaryDialog)=\"toggleCommentsSummary()\">\n</mv-comment-set-header>\n<div mvGrabNDrag [dragX]=\"imageContainer\" [dragEnabled]=\"enableGrabNDrag\"\n id=\"viewer-wrapper\"\n [ngStyle]=\"{ height: height }\"\n [ngClass]=\"{ 'grabNDrag': enableGrabNDrag }\"\n *ngIf=\"url && !errorMessage\">\n <div #imageContainer id=\"image-container\"\n [ngClass]=\"{ 'image-container': true, 'annotations': enableAnnotations, 'show-comments-panel': showCommentsPanel }\"\n [style.height.px]=\"imageHeight\">\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 <div class=\"comments\" [style.height.px]=\"imageHeight\">\n <mv-comment-set *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</div>\n"
309
- }] }
310
- ];
311
- /** @nocollapse */
312
- ImageViewerComponent.ctorParameters = function () { return [
313
- { type: Store },
314
- { type: PrintService },
315
- { type: ViewerUtilService },
316
- { type: ToolbarEventService },
317
- { type: ToolbarButtonVisibilityService }
318
- ]; };
319
- ImageViewerComponent.propDecorators = {
320
- url: [{ type: Input }],
321
- downloadFileName: [{ type: Input }],
322
- enableAnnotations: [{ type: Input }],
323
- annotationSet: [{ type: Input }],
324
- height: [{ type: Input }],
325
- mediaLoadStatus: [{ type: Output }],
326
- imageViewerException: [{ type: Output }],
327
- img: [{ type: ViewChild, args: ['img', { static: false },] }]
328
- };
329
- return ImageViewerComponent;
330
- }());
331
- export { ImageViewerComponent };
332
- if (false) {
333
- /** @type {?} */
334
- ImageViewerComponent.prototype.url;
335
- /** @type {?} */
336
- ImageViewerComponent.prototype.downloadFileName;
337
- /** @type {?} */
338
- ImageViewerComponent.prototype.enableAnnotations;
339
- /** @type {?} */
340
- ImageViewerComponent.prototype.annotationSet;
341
- /** @type {?} */
342
- ImageViewerComponent.prototype.height;
343
- /** @type {?} */
344
- ImageViewerComponent.prototype.mediaLoadStatus;
345
- /** @type {?} */
346
- ImageViewerComponent.prototype.imageViewerException;
347
- /** @type {?} */
348
- ImageViewerComponent.prototype.errorMessage;
349
- /** @type {?} */
350
- ImageViewerComponent.prototype.img;
351
- /** @type {?} */
352
- ImageViewerComponent.prototype.rotation;
353
- /** @type {?} */
354
- ImageViewerComponent.prototype.zoom;
355
- /**
356
- * @type {?}
357
- * @private
358
- */
359
- ImageViewerComponent.prototype.subscriptions;
360
- /**
361
- * @type {?}
362
- * @private
363
- */
364
- ImageViewerComponent.prototype.viewerException;
365
- /**
366
- * @type {?}
367
- * @private
368
- */
369
- ImageViewerComponent.prototype.response;
370
- /** @type {?} */
371
- ImageViewerComponent.prototype.showCommentsPanel;
372
- /** @type {?} */
373
- ImageViewerComponent.prototype.enableGrabNDrag;
374
- /** @type {?} */
375
- ImageViewerComponent.prototype.imageHeight;
376
- /** @type {?} */
377
- ImageViewerComponent.prototype.imageWidth;
378
- /** @type {?} */
379
- ImageViewerComponent.prototype.imageLeft;
380
- /** @type {?} */
381
- ImageViewerComponent.prototype.imageTop;
382
- /**
383
- * @type {?}
384
- * @private
385
- */
386
- ImageViewerComponent.prototype.store;
387
- /**
388
- * @type {?}
389
- * @private
390
- */
391
- ImageViewerComponent.prototype.printService;
392
- /**
393
- * @type {?}
394
- * @private
395
- */
396
- ImageViewerComponent.prototype.viewerUtilService;
397
- /** @type {?} */
398
- ImageViewerComponent.prototype.toolbarEvents;
399
- /** @type {?} */
400
- ImageViewerComponent.prototype.toolbarButtons;
401
- }
402
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9tZWRpYS12aWV3ZXIvIiwic291cmNlcyI6WyJsaWIvdmlld2Vycy9pbWFnZS12aWV3ZXIvaW1hZ2Utdmlld2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDLE9BQU8sS0FBSyxZQUFZLE1BQU0sc0NBQXNDLENBQUM7QUFFckU7SUFrQ0UsOEJBQ1UsS0FBMEMsRUFDakMsWUFBMEIsRUFDMUIsaUJBQW9DLEVBQ3JDLGFBQWtDLEVBQ2xDLGNBQThDO1FBSnRELFVBQUssR0FBTCxLQUFLLENBQXFDO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDckMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQztRQXpCdEQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUNuRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUtyRSxhQUFRLEdBQUcsQ0FBQyxDQUFD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LHdDQUErQjs7SUFFL0IsaURBQTJCOztJQUMzQiwrQ0FBd0I7O0lBQ3hCLDJDQUFvQjs7SUFDcEIsMENBQW1COztJQUNuQix5Q0FBa0I7O0lBQ2xCLHdDQUFpQjs7Ozs7SUFHZixxQ0FBa0Q7Ozs7O0lBQ2xELDRDQUEyQzs7Ozs7SUFDM0MsaURBQXFEOztJQUNyRCw2Q0FBa0Q7O0lBQ2xELDhDQUE4RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcmludFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IEFubm90YXRpb25TZXQgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXNldC5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9vbGJhci90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VUeXBlLCBWaWV3ZXJFeGNlcHRpb24gfSBmcm9tICcuLi92aWV3ZXItZXhjZXB0aW9uLm1vZGVsJztcbmltcG9ydCB7IFZpZXdlclV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vdmlld2VyLXV0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItYnV0dG9uLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnQgZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9kb2N1bWVudC5hY3Rpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtdi1pbWFnZS12aWV3ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS12aWV3ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgdXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRvd25sb2FkRmlsZU5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKSBlbmFibGVBbm5vdGF0aW9uczogYm9vbGVhbjtcbiAgQElucHV0KCkgYW5ub3RhdGlvblNldDogQW5ub3RhdGlvblNldCB8IG51bGw7XG5cbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIG1lZGlhTG9hZFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8UmVzcG9uc2VUeXBlPigpO1xuICBAT3V0cHV0KCkgaW1hZ2VWaWV3ZXJFeGNlcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFZpZXdlckV4Y2VwdGlvbj4oKTtcblxuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdpbWcnLCB7c3RhdGljOiBmYWxzZX0pIGltZzogRWxlbWVudFJlZjtcbiAgcm90YXRpb24gPSAwO1xuICB6b29tID0gMTtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgdmlld2VyRXhjZXB0aW9uOiBWaWV3ZXJFeGNlcHRpb247XG4gIHByaXZhdGUgcmVzcG9uc2U6IFN1YnNjcmlwdGlvbjtcblxuICBzaG93Q29tbWVudHNQYW5lbDogYm9vbGVhbjtcbiAgZW5hYmxlR3JhYk5EcmFnID0gZmFsc2U7XG4gIGltYWdlSGVpZ2h0OiBudW1iZXI7XG4gIGltYWdlV2lkdGg6IG51bWJlcjtcbiAgaW1hZ2VMZWZ0OiBudW1iZXI7XG4gIGltYWdlVG9wOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLkFubm90YXRpb25TZXRTdGF0ZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmludFNlcnZpY2U6IFByaW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdlclV0aWxTZXJ2aWNlOiBWaWV3ZXJVdGlsU2VydmljZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckV2ZW50czogVG9vbGJhckV2ZW50U2VydmljZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckJ1dHRvbnM6IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnJvdGF0ZVN1YmplY3Quc3Vic2NyaWJlKHJvdGF0aW9uID0+IHRoaXMucm90YXRlSW1hZ2Uocm90YXRpb24pKSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy56b29tU3ViamVjdC5zdWJzY3JpYmUoem9vbSA9PiB0aGlzLnNldFpvb20oem9vbSkpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnN0ZXBab29tU3ViamVjdC5zdWJzY3JpYmUoem9vbSA9PiB0aGlzLnN0ZXBab29tKHpvb20pKSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5wcmludFN1YmplY3Quc3Vic2NyaWJlKCgpID0+IHRoaXMucHJpbnRTZXJ2aWNlLnByaW50RG9jdW1lbnROYXRpdmVseSh0aGlzLnVybCkpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmRvd25sb2FkU3ViamVjdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kb3dubG9hZCgpKSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5ncmFiTkRyYWcuc3Vic2NyaWJlKGdyYWJORHJhZyA9PiB0aGlzLmVuYWJsZUdyYWJORHJhZyA9IGdyYWJORHJhZyksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuY29tbWVudHNQYW5lbFZpc2libGUuc3Vic2NyaWJlKHRvZ2dsZSA9PiB0aGlzLnNob3dDb21tZW50c1BhbmVsID0gdG9nZ2xlKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZmlsdGVyKHN1YnNjcmlwdGlvbiA9PiAhc3Vic2NyaXB0aW9uLmNsb3NlZClcbiAgICAgIC5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgaWYgKHRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRoaXMucmVzcG9uc2UudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMudXJsKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJvdGF0ZUltYWdlKHJvdGF0aW9uOiBudW1iZXIpIHtcbiAgICB0aGlzLnJvdGF0aW9uID0gKHRoaXMucm90YXRpb24gKyByb3RhdGlvbikgJSAzNjA7XG4gICAgdGhpcy5pbml0QW5ub1BhZ2UodGhpcy5pbWcubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldFpvb20oem9vbUZhY3RvcjogbnVtYmVyKSB7XG4gICAgaWYgKCFpc05hTih6b29tRmFjdG9yKSkge1xuICAgICAgYXdhaXQgdGhpcy5zZXRab29tVmFsdWUodGhpcy5jYWxjdWxhdGVab29tVmFsdWUoem9vbUZhY3RvcikpO1xuICAgICAgdGhpcy5pbWcubmF0aXZlRWxlbWVudC53aWR0aCA9IHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQubmF0dXJhbFdpZHRoICogdGhpcy56b29tO1xuICAgICAgdGhpcy5pbml0QW5ub1BhZ2UodGhpcy5pbWcubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzdGVwWm9vbSh6b29tRmFjdG9yOiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmFOKHpvb21GYWN0b3IpKSB7XG4gICAgICBhd2FpdCB0aGlzLnNldFpvb21WYWx1ZSh0aGlzLmNhbGN1bGF0ZVpvb21WYWx1ZSh0aGlzLnpvb20sIHpvb21GYWN0b3IpKTtcbiAgICAgIHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQud2lkdGggPSB0aGlzLmltZy5uYXRpdmVFbGVtZW50Lm5hdHVyYWxXaWR0aCAqIHRoaXMuem9vbTtcbiAgICAgIHRoaXMuaW5pdEFubm9QYWdlKHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZG93bmxvYWQoKSB7XG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgIGEuc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OiBub25lJyk7XG4gICAgYS5ocmVmID0gdGhpcy51cmw7XG4gICAgYS5kb3dubG9hZCA9IHRoaXMuZG93bmxvYWRGaWxlTmFtZTtcbiAgICBhLmNsaWNrKCk7XG4gICAgYS5yZW1vdmUoKTtcbiAgfVxuXG4gIC8vIHRoZSByZXR1cm5lZCBwcm9taXNlIGlzIGEgd29yay1hcm91bmRcbiAgc2V0Wm9vbVZhbHVlKHpvb21WYWx1ZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy56b29tID0gem9vbVZhbHVlO1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnpvb21WYWx1ZVN1YmplY3QubmV4dCh6b29tVmFsdWUpO1xuICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVpvb21WYWx1ZSh6b29tVmFsdWUsIGluY3JlbWVudCA9IDApIHtcbiAgICBjb25zdCBuZXdab29tVmFsdWUgPSB6b29tVmFsdWUgKyBpbmNyZW1lbnQ7XG4gICAgaWYgKG5ld1pvb21WYWx1ZSA+IDUpIHsgcmV0dXJuIDU7IH1cbiAgICBpZiAobmV3Wm9vbVZhbHVlIDwgMC4xKSB7IHJldHVybiAwLjE7IH1cbiAgICByZXR1cm4gK25ld1pvb21WYWx1ZS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgb25Mb2FkRXJyb3IodXJsKSB7XG4gICAgdGhpcy5yZXNwb25zZSA9IHRoaXMudmlld2VyVXRpbFNlcnZpY2UudmFsaWRhdGVGaWxlKHVybClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICBuZXh0ID0+IG5leHQsXG4gICAgICBlcnJvciA9PiB7XG4gICAgICAgIHRoaXMudmlld2VyRXhjZXB0aW9uID0gbmV3IFZpZXdlckV4Y2VwdGlvbihlcnJvci5uYW1lLFxuICAgICAgICAgIHtodHRwUmVzcG9uc2VDb2RlOiBlcnJvci5zdGF0dXMsIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2V9KTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBgQ291bGQgbm90IGxvYWQgdGhlIGltYWdlIFwiJHt0aGlzLnVybH1cImA7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuRkFJTFVSRSk7XG4gICAgdGhpcy5pbWFnZVZpZXdlckV4Y2VwdGlvbi5lbWl0KHRoaXMudmlld2VyRXhjZXB0aW9uKTtcbiAgfVxuXG4gIG9uTG9hZChpbWc6IGFueSkge1xuICAgIHRoaXMubWVkaWFMb2FkU3RhdHVzLmVtaXQoUmVzcG9uc2VUeXBlLlNVQ0NFU1MpO1xuICAgIHRoaXMuaW5pdEFubm9QYWdlKGltZyk7XG4gIH1cblxuICBpbml0QW5ub1BhZ2UoaW1nOiBhbnkpIHtcbiAgICB0aGlzLmltYWdlSGVpZ2h0ID0gdGhpcy5yb3RhdGlvbiAlIDE4MCAhPT0gMCA/IGltZy5vZmZzZXRXaWR0aCA6IGltZy5vZmZzZXRIZWlnaHQ7XG4gICAgdGhpcy5pbWFnZVdpZHRoID0gdGhpcy5yb3RhdGlvbiAlIDE4MCAhPT0gMCA/IGltZy5vZmZzZXRIZWlnaHQgOiBpbWcub2Zmc2V0V2lkdGg7XG4gICAgdGhpcy5pbWFnZUxlZnQgPSB0aGlzLnJvdGF0aW9uICUgMTgwICE9PSAwID8gaW1nLm9mZnNldFRvcCA6IGltZy5vZmZzZXRMZWZ0O1xuICAgIHRoaXMuaW1hZ2VUb3AgPSB0aGlzLnJvdGF0aW9uICUgMTgwICE9PSAwID8gaW1nLm9mZnNldExlZnQgOiBpbWcub2Zmc2V0VG9wO1xuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IFt7XG4gICAgICBkaXY6IHtcbiAgICAgICAgc2Nyb2xsSGVpZ2h0OiB0aGlzLmltYWdlSGVpZ2h0LFxuICAgICAgICBzY3JvbGxXaWR0aDogdGhpcy5pbWFnZVdpZHRoLFxuICAgICAgICBvZmZzZXRMZWZ0OiB0aGlzLmltYWdlTGVmdCxcbiAgICAgIH0sXG4gICAgICBwYWdlTnVtYmVyOiAxLFxuICAgICAgc2NhbGU6IHRoaXMuem9vbSxcbiAgICAgIHJvdGF0aW9uOiB0aGlzLnJvdGF0aW9uLFxuICAgICAgaWQ6IDFcbiAgICB9XTtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Eb2N1bWVudC5BZGRQYWdlcyhwYXlsb2FkKSk7XG4gIH1cblxuICB0b2dnbGVDb21tZW50c1N1bW1hcnkoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUNvbW1lbnRzU3VtbWFyeSghdGhpcy50b29sYmFyRXZlbnRzLnNob3dDb21tZW50U3VtbWFyeS5nZXRWYWx1ZSgpKTtcbiAgfVxufVxuIl19