@hmcts/media-viewer 4.1.10-exui-3053-1 → 4.2.0-exui-3682

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 (376) hide show
  1. package/fesm2022/hmcts-media-viewer.mjs +369 -841
  2. package/fesm2022/hmcts-media-viewer.mjs.map +1 -1
  3. package/index.d.ts +2316 -4
  4. package/index.d.ts.map +1 -0
  5. package/package.json +10 -12
  6. package/esm2022/hmcts-media-viewer.mjs +0 -5
  7. package/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +0 -122
  8. package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +0 -120
  9. package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +0 -101
  10. package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +0 -50
  11. package/esm2022/lib/annotations/annotation-set/annotation-set.model.mjs +0 -2
  12. package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +0 -94
  13. package/esm2022/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +0 -2
  14. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +0 -116
  15. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +0 -2
  16. package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +0 -119
  17. package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +0 -86
  18. package/esm2022/lib/annotations/annotations.module.mjs +0 -162
  19. package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +0 -178
  20. package/esm2022/lib/annotations/comment-set/comment/comment.model.mjs +0 -2
  21. package/esm2022/lib/annotations/comment-set/comment/comment.service.mjs +0 -50
  22. package/esm2022/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +0 -47
  23. package/esm2022/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +0 -31
  24. package/esm2022/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +0 -91
  25. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +0 -62
  26. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +0 -54
  27. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +0 -72
  28. package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +0 -55
  29. package/esm2022/lib/annotations/comment-set/comment-set.component.mjs +0 -123
  30. package/esm2022/lib/annotations/comments-summary/comments-summary.component.mjs +0 -120
  31. package/esm2022/lib/annotations/models/api-persisted.model.mjs +0 -2
  32. package/esm2022/lib/annotations/models/event-select.model.mjs +0 -2
  33. package/esm2022/lib/annotations/models/tags.model.mjs +0 -2
  34. package/esm2022/lib/annotations/models/user.model.mjs +0 -2
  35. package/esm2022/lib/annotations/pipes/date/date.pipe.mjs +0 -26
  36. package/esm2022/lib/annotations/pipes/filter/filter.pipe.mjs +0 -32
  37. package/esm2022/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +0 -16
  38. package/esm2022/lib/annotations/services/annotation-api/annotation-api.service.mjs +0 -58
  39. package/esm2022/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +0 -45
  40. package/esm2022/lib/annotations/services/tags/tags.services.mjs +0 -41
  41. package/esm2022/lib/annotations/tags/tags.component.mjs +0 -53
  42. package/esm2022/lib/bookmark/components/bookmark-icons.component.mjs +0 -25
  43. package/esm2022/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +0 -30
  44. package/esm2022/lib/icp/icp-follower.service.mjs +0 -65
  45. package/esm2022/lib/icp/icp-presenter.service.mjs +0 -56
  46. package/esm2022/lib/icp/icp-session-api.service.mjs +0 -28
  47. package/esm2022/lib/icp/icp-update.service.mjs +0 -73
  48. package/esm2022/lib/icp/icp.events.mjs +0 -15
  49. package/esm2022/lib/icp/icp.interfaces.mjs +0 -2
  50. package/esm2022/lib/icp/icp.service.mjs +0 -98
  51. package/esm2022/lib/icp/participants-list/participants-list.component.mjs +0 -32
  52. package/esm2022/lib/icp/socket.service.mjs +0 -128
  53. package/esm2022/lib/media-viewer.component.mjs +0 -341
  54. package/esm2022/lib/media-viewer.module.mjs +0 -139
  55. package/esm2022/lib/print.service.mjs +0 -32
  56. package/esm2022/lib/redaction/components/redaction.component.mjs +0 -91
  57. package/esm2022/lib/redaction/services/redaction-api.service.mjs +0 -50
  58. package/esm2022/lib/redaction/services/redaction.model.mjs +0 -2
  59. package/esm2022/lib/shared/directives/keyboard-nav.directive.mjs +0 -243
  60. package/esm2022/lib/shared/directives/tooltip-dismiss.directive.mjs +0 -36
  61. package/esm2022/lib/shared/gov-uk-date/gov-uk-date.component.mjs +0 -28
  62. package/esm2022/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +0 -34
  63. package/esm2022/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +0 -63
  64. package/esm2022/lib/shared/gov-uk-label/gov-uk-label.component.mjs +0 -44
  65. package/esm2022/lib/shared/shared.module.mjs +0 -58
  66. package/esm2022/lib/shared/util/helpers/html-templates.helper.mjs +0 -29
  67. package/esm2022/lib/shared/util/services/number.helper.service.mjs +0 -23
  68. package/esm2022/lib/store/actions/annotation.actions.mjs +0 -119
  69. package/esm2022/lib/store/actions/bookmark.actions.mjs +0 -112
  70. package/esm2022/lib/store/actions/document.actions.mjs +0 -91
  71. package/esm2022/lib/store/actions/icp.actions.mjs +0 -56
  72. package/esm2022/lib/store/actions/redaction.actions.mjs +0 -132
  73. package/esm2022/lib/store/actions/tag.actions.mjs +0 -21
  74. package/esm2022/lib/store/bookmarks-store-utils.mjs +0 -49
  75. package/esm2022/lib/store/effects/annotation.effects.mjs +0 -51
  76. package/esm2022/lib/store/effects/bookmarks.effects.mjs +0 -44
  77. package/esm2022/lib/store/effects/document.effects.mjs +0 -44
  78. package/esm2022/lib/store/effects/icp.effects.mjs +0 -26
  79. package/esm2022/lib/store/effects/index.mjs +0 -7
  80. package/esm2022/lib/store/effects/redaction.effects.mjs +0 -67
  81. package/esm2022/lib/store/models/bookmarks.interface.mjs +0 -2
  82. package/esm2022/lib/store/models/filters.interface.mjs +0 -2
  83. package/esm2022/lib/store/reducers/annotations.reducer.mjs +0 -208
  84. package/esm2022/lib/store/reducers/bookmarks.reducer.mjs +0 -125
  85. package/esm2022/lib/store/reducers/document.reducer.mjs +0 -158
  86. package/esm2022/lib/store/reducers/icp.reducer.mjs +0 -56
  87. package/esm2022/lib/store/reducers/redaction.reducer.mjs +0 -116
  88. package/esm2022/lib/store/reducers/reducers.mjs +0 -23
  89. package/esm2022/lib/store/reducers/tags.reducer.mjs +0 -93
  90. package/esm2022/lib/store/selectors/annotation.selectors.mjs +0 -81
  91. package/esm2022/lib/store/selectors/bookmark.selectors.mjs +0 -37
  92. package/esm2022/lib/store/selectors/document.selectors.mjs +0 -13
  93. package/esm2022/lib/store/selectors/icp.selectors.mjs +0 -13
  94. package/esm2022/lib/store/selectors/redaction.selectors.mjs +0 -26
  95. package/esm2022/lib/store/selectors/tag.selectors.mjs +0 -15
  96. package/esm2022/lib/store/store-utils.mjs +0 -131
  97. package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +0 -74
  98. package/esm2022/lib/toolbar/icp-event.service.mjs +0 -44
  99. package/esm2022/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +0 -43
  100. package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +0 -271
  101. package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +0 -237
  102. package/esm2022/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +0 -2
  103. package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +0 -94
  104. package/esm2022/lib/toolbar/search-bar/search-bar.component.mjs +0 -109
  105. package/esm2022/lib/toolbar/toolbar-button-visibility.service.mjs +0 -94
  106. package/esm2022/lib/toolbar/toolbar-event.service.mjs +0 -178
  107. package/esm2022/lib/toolbar/toolbar-focus.service.mjs +0 -33
  108. package/esm2022/lib/toolbar/toolbar.module.mjs +0 -81
  109. package/esm2022/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +0 -82
  110. package/esm2022/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +0 -22
  111. package/esm2022/lib/viewers/grab-n-drag.directive.mjs +0 -57
  112. package/esm2022/lib/viewers/image-viewer/image-viewer.component.mjs +0 -166
  113. package/esm2022/lib/viewers/multimedia-player/multimedia-player.component.mjs +0 -59
  114. package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +0 -266
  115. package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +0 -40
  116. package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +0 -242
  117. package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +0 -379
  118. package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +0 -2
  119. package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +0 -49
  120. package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +0 -2
  121. package/esm2022/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +0 -99
  122. package/esm2022/lib/viewers/rotation-persist/rotation-api.service.mjs +0 -27
  123. package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +0 -61
  124. package/esm2022/lib/viewers/rotation-persist/rotation.model.mjs +0 -2
  125. package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +0 -49
  126. package/esm2022/lib/viewers/viewer-event.service.mjs +0 -34
  127. package/esm2022/lib/viewers/viewer-exception.model.mjs +0 -13
  128. package/esm2022/lib/viewers/viewer-util.service.mjs +0 -20
  129. package/esm2022/public_api.mjs +0 -33
  130. package/hmcts-media-viewer.d.ts.map +0 -1
  131. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +0 -48
  132. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +0 -1
  133. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +0 -32
  134. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +0 -1
  135. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +0 -18
  136. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +0 -1
  137. package/lib/annotations/annotation-set/annotation-set.component.d.ts +0 -27
  138. package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +0 -1
  139. package/lib/annotations/annotation-set/annotation-set.model.d.ts +0 -7
  140. package/lib/annotations/annotation-set/annotation-set.model.d.ts.map +0 -1
  141. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +0 -34
  142. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +0 -1
  143. package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts +0 -16
  144. package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts.map +0 -1
  145. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +0 -41
  146. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +0 -1
  147. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts +0 -9
  148. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts.map +0 -1
  149. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +0 -37
  150. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +0 -1
  151. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +0 -37
  152. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +0 -1
  153. package/lib/annotations/annotations.module.d.ts +0 -36
  154. package/lib/annotations/annotations.module.d.ts.map +0 -1
  155. package/lib/annotations/comment-set/comment/comment.component.d.ts +0 -69
  156. package/lib/annotations/comment-set/comment/comment.component.d.ts.map +0 -1
  157. package/lib/annotations/comment-set/comment/comment.model.d.ts +0 -13
  158. package/lib/annotations/comment-set/comment/comment.model.d.ts.map +0 -1
  159. package/lib/annotations/comment-set/comment/comment.service.d.ts +0 -22
  160. package/lib/annotations/comment-set/comment/comment.service.d.ts.map +0 -1
  161. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +0 -14
  162. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +0 -1
  163. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +0 -12
  164. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +0 -1
  165. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +0 -28
  166. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +0 -1
  167. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +0 -26
  168. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +0 -1
  169. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +0 -21
  170. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +0 -1
  171. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +0 -36
  172. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +0 -1
  173. package/lib/annotations/comment-set/comment-set-render.service.d.ts +0 -15
  174. package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +0 -1
  175. package/lib/annotations/comment-set/comment-set.component.d.ts +0 -56
  176. package/lib/annotations/comment-set/comment-set.component.d.ts.map +0 -1
  177. package/lib/annotations/comments-summary/comments-summary.component.d.ts +0 -42
  178. package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +0 -1
  179. package/lib/annotations/models/api-persisted.model.d.ts +0 -11
  180. package/lib/annotations/models/api-persisted.model.d.ts.map +0 -1
  181. package/lib/annotations/models/event-select.model.d.ts +0 -6
  182. package/lib/annotations/models/event-select.model.d.ts.map +0 -1
  183. package/lib/annotations/models/tags.model.d.ts +0 -7
  184. package/lib/annotations/models/tags.model.d.ts.map +0 -1
  185. package/lib/annotations/models/user.model.d.ts +0 -6
  186. package/lib/annotations/models/user.model.d.ts.map +0 -1
  187. package/lib/annotations/pipes/date/date.pipe.d.ts +0 -16
  188. package/lib/annotations/pipes/date/date.pipe.d.ts.map +0 -1
  189. package/lib/annotations/pipes/filter/filter.pipe.d.ts +0 -8
  190. package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +0 -1
  191. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +0 -8
  192. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +0 -1
  193. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +0 -28
  194. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +0 -1
  195. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +0 -21
  196. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +0 -1
  197. package/lib/annotations/services/tags/tags.services.d.ts +0 -18
  198. package/lib/annotations/services/tags/tags.services.d.ts.map +0 -1
  199. package/lib/annotations/tags/tags.component.d.ts +0 -28
  200. package/lib/annotations/tags/tags.component.d.ts.map +0 -1
  201. package/lib/bookmark/components/bookmark-icons.component.d.ts +0 -19
  202. package/lib/bookmark/components/bookmark-icons.component.d.ts.map +0 -1
  203. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +0 -14
  204. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +0 -1
  205. package/lib/icp/icp-follower.service.d.ts +0 -26
  206. package/lib/icp/icp-follower.service.d.ts.map +0 -1
  207. package/lib/icp/icp-presenter.service.d.ts +0 -25
  208. package/lib/icp/icp-presenter.service.d.ts.map +0 -1
  209. package/lib/icp/icp-session-api.service.d.ts +0 -15
  210. package/lib/icp/icp-session-api.service.d.ts.map +0 -1
  211. package/lib/icp/icp-update.service.d.ts +0 -22
  212. package/lib/icp/icp-update.service.d.ts.map +0 -1
  213. package/lib/icp/icp.events.d.ts +0 -14
  214. package/lib/icp/icp.events.d.ts.map +0 -1
  215. package/lib/icp/icp.interfaces.d.ts +0 -23
  216. package/lib/icp/icp.interfaces.d.ts.map +0 -1
  217. package/lib/icp/icp.service.d.ts +0 -40
  218. package/lib/icp/icp.service.d.ts.map +0 -1
  219. package/lib/icp/participants-list/participants-list.component.d.ts +0 -23
  220. package/lib/icp/participants-list/participants-list.component.d.ts.map +0 -1
  221. package/lib/icp/socket.service.d.ts +0 -29
  222. package/lib/icp/socket.service.d.ts.map +0 -1
  223. package/lib/media-viewer.component.d.ts +0 -80
  224. package/lib/media-viewer.component.d.ts.map +0 -1
  225. package/lib/media-viewer.module.d.ts +0 -36
  226. package/lib/media-viewer.module.d.ts.map +0 -1
  227. package/lib/print.service.d.ts +0 -8
  228. package/lib/print.service.d.ts.map +0 -1
  229. package/lib/redaction/components/redaction.component.d.ts +0 -42
  230. package/lib/redaction/components/redaction.component.d.ts.map +0 -1
  231. package/lib/redaction/services/redaction-api.service.d.ts +0 -20
  232. package/lib/redaction/services/redaction-api.service.d.ts.map +0 -1
  233. package/lib/redaction/services/redaction.model.d.ts +0 -11
  234. package/lib/redaction/services/redaction.model.d.ts.map +0 -1
  235. package/lib/shared/directives/keyboard-nav.directive.d.ts +0 -30
  236. package/lib/shared/directives/keyboard-nav.directive.d.ts.map +0 -1
  237. package/lib/shared/directives/tooltip-dismiss.directive.d.ts +0 -11
  238. package/lib/shared/directives/tooltip-dismiss.directive.d.ts.map +0 -1
  239. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +0 -15
  240. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +0 -1
  241. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +0 -11
  242. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +0 -1
  243. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +0 -16
  244. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +0 -1
  245. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +0 -14
  246. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +0 -1
  247. package/lib/shared/shared.module.d.ts +0 -15
  248. package/lib/shared/shared.module.d.ts.map +0 -1
  249. package/lib/shared/util/helpers/html-templates.helper.d.ts +0 -9
  250. package/lib/shared/util/helpers/html-templates.helper.d.ts.map +0 -1
  251. package/lib/shared/util/services/number.helper.service.d.ts +0 -11
  252. package/lib/shared/util/services/number.helper.service.d.ts.map +0 -1
  253. package/lib/store/actions/annotation.actions.d.ts +0 -126
  254. package/lib/store/actions/annotation.actions.d.ts.map +0 -1
  255. package/lib/store/actions/bookmark.actions.d.ts +0 -117
  256. package/lib/store/actions/bookmark.actions.d.ts.map +0 -1
  257. package/lib/store/actions/document.actions.d.ts +0 -90
  258. package/lib/store/actions/document.actions.d.ts.map +0 -1
  259. package/lib/store/actions/icp.actions.d.ts +0 -75
  260. package/lib/store/actions/icp.actions.d.ts.map +0 -1
  261. package/lib/store/actions/redaction.actions.d.ts +0 -127
  262. package/lib/store/actions/redaction.actions.d.ts.map +0 -1
  263. package/lib/store/actions/tag.actions.d.ts +0 -30
  264. package/lib/store/actions/tag.actions.d.ts.map +0 -1
  265. package/lib/store/bookmarks-store-utils.d.ts +0 -9
  266. package/lib/store/bookmarks-store-utils.d.ts.map +0 -1
  267. package/lib/store/effects/annotation.effects.d.ts +0 -16
  268. package/lib/store/effects/annotation.effects.d.ts.map +0 -1
  269. package/lib/store/effects/bookmarks.effects.d.ts +0 -21
  270. package/lib/store/effects/bookmarks.effects.d.ts.map +0 -1
  271. package/lib/store/effects/document.effects.d.ts +0 -17
  272. package/lib/store/effects/document.effects.d.ts.map +0 -1
  273. package/lib/store/effects/icp.effects.d.ts +0 -16
  274. package/lib/store/effects/icp.effects.d.ts.map +0 -1
  275. package/lib/store/effects/index.d.ts +0 -2
  276. package/lib/store/effects/index.d.ts.map +0 -1
  277. package/lib/store/effects/redaction.effects.d.ts +0 -20
  278. package/lib/store/effects/redaction.effects.d.ts.map +0 -1
  279. package/lib/store/models/bookmarks.interface.d.ts +0 -31
  280. package/lib/store/models/bookmarks.interface.d.ts.map +0 -1
  281. package/lib/store/models/filters.interface.d.ts +0 -8
  282. package/lib/store/models/filters.interface.d.ts.map +0 -1
  283. package/lib/store/reducers/annotations.reducer.d.ts +0 -48
  284. package/lib/store/reducers/annotations.reducer.d.ts.map +0 -1
  285. package/lib/store/reducers/bookmarks.reducer.d.ts +0 -27
  286. package/lib/store/reducers/bookmarks.reducer.d.ts.map +0 -1
  287. package/lib/store/reducers/document.reducer.d.ts +0 -52
  288. package/lib/store/reducers/document.reducer.d.ts.map +0 -1
  289. package/lib/store/reducers/icp.reducer.d.ts +0 -9
  290. package/lib/store/reducers/icp.reducer.d.ts.map +0 -1
  291. package/lib/store/reducers/redaction.reducer.d.ts +0 -32
  292. package/lib/store/reducers/redaction.reducer.d.ts.map +0 -1
  293. package/lib/store/reducers/reducers.d.ts +0 -24
  294. package/lib/store/reducers/reducers.d.ts.map +0 -1
  295. package/lib/store/reducers/tags.reducer.d.ts +0 -32
  296. package/lib/store/reducers/tags.reducer.d.ts.map +0 -1
  297. package/lib/store/selectors/annotation.selectors.d.ts +0 -136
  298. package/lib/store/selectors/annotation.selectors.d.ts.map +0 -1
  299. package/lib/store/selectors/bookmark.selectors.d.ts +0 -38
  300. package/lib/store/selectors/bookmark.selectors.d.ts.map +0 -1
  301. package/lib/store/selectors/document.selectors.d.ts +0 -23
  302. package/lib/store/selectors/document.selectors.d.ts.map +0 -1
  303. package/lib/store/selectors/icp.selectors.d.ts +0 -10
  304. package/lib/store/selectors/icp.selectors.d.ts.map +0 -1
  305. package/lib/store/selectors/redaction.selectors.d.ts +0 -35
  306. package/lib/store/selectors/redaction.selectors.d.ts.map +0 -1
  307. package/lib/store/selectors/tag.selectors.d.ts +0 -28
  308. package/lib/store/selectors/tag.selectors.d.ts.map +0 -1
  309. package/lib/store/store-utils.d.ts +0 -25
  310. package/lib/store/store-utils.d.ts.map +0 -1
  311. package/lib/toolbar/highlight-toolbar/highlight-toolbar.component.d.ts +0 -26
  312. package/lib/toolbar/highlight-toolbar/highlight-toolbar.component.d.ts.map +0 -1
  313. package/lib/toolbar/icp-event.service.d.ts +0 -21
  314. package/lib/toolbar/icp-event.service.d.ts.map +0 -1
  315. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +0 -24
  316. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +0 -1
  317. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +0 -80
  318. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +0 -1
  319. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +0 -60
  320. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +0 -1
  321. package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts +0 -12
  322. package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts.map +0 -1
  323. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +0 -35
  324. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +0 -1
  325. package/lib/toolbar/search-bar/search-bar.component.d.ts +0 -34
  326. package/lib/toolbar/search-bar/search-bar.component.d.ts.map +0 -1
  327. package/lib/toolbar/toolbar-button-visibility.service.d.ts +0 -67
  328. package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +0 -1
  329. package/lib/toolbar/toolbar-event.service.d.ts +0 -96
  330. package/lib/toolbar/toolbar-event.service.d.ts.map +0 -1
  331. package/lib/toolbar/toolbar-focus.service.d.ts +0 -7
  332. package/lib/toolbar/toolbar-focus.service.d.ts.map +0 -1
  333. package/lib/toolbar/toolbar.module.d.ts +0 -21
  334. package/lib/toolbar/toolbar.module.d.ts.map +0 -1
  335. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +0 -31
  336. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +0 -1
  337. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +0 -12
  338. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +0 -1
  339. package/lib/viewers/grab-n-drag.directive.d.ts +0 -19
  340. package/lib/viewers/grab-n-drag.directive.d.ts.map +0 -1
  341. package/lib/viewers/image-viewer/image-viewer.component.d.ts +0 -57
  342. package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +0 -1
  343. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +0 -25
  344. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +0 -1
  345. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts +0 -69
  346. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +0 -1
  347. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +0 -17
  348. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +0 -1
  349. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +0 -82
  350. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +0 -1
  351. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +0 -82
  352. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +0 -1
  353. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts +0 -22
  354. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts.map +0 -1
  355. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +0 -20
  356. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +0 -1
  357. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts +0 -14
  358. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts.map +0 -1
  359. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +0 -42
  360. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +0 -1
  361. package/lib/viewers/rotation-persist/rotation-api.service.d.ts +0 -14
  362. package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +0 -1
  363. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +0 -27
  364. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +0 -1
  365. package/lib/viewers/rotation-persist/rotation.model.d.ts +0 -5
  366. package/lib/viewers/rotation-persist/rotation.model.d.ts.map +0 -1
  367. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +0 -23
  368. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +0 -1
  369. package/lib/viewers/viewer-event.service.d.ts +0 -23
  370. package/lib/viewers/viewer-event.service.d.ts.map +0 -1
  371. package/lib/viewers/viewer-exception.model.d.ts +0 -15
  372. package/lib/viewers/viewer-exception.model.d.ts.map +0 -1
  373. package/lib/viewers/viewer-util.service.d.ts +0 -10
  374. package/lib/viewers/viewer-util.service.d.ts.map +0 -1
  375. package/public_api.d.ts +0 -30
  376. package/public_api.d.ts.map +0 -1
@@ -1,82 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
- import { ViewerException } from '../viewer-exception.model';
3
- import { select } from '@ngrx/store';
4
- import * as fromDocumentActions from '../../store/actions/document.actions';
5
- import * as fromSelectors from '../../store/selectors/document.selectors';
6
- import { filter } from 'rxjs/operators';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@ngrx/store";
9
- import * as i2 from "@angular/common";
10
- import * as i3 from "../pdf-viewer/pdf-viewer.component";
11
- export class ConvertibleContentViewerComponent {
12
- constructor(store) {
13
- this.store = store;
14
- this.mediaLoadStatus = new EventEmitter();
15
- this.viewerException = new EventEmitter();
16
- this.documentTitle = new EventEmitter();
17
- }
18
- ngOnInit() {
19
- this.$subscription = this.store.pipe(select(fromSelectors.getConvertedDocument), filter(value => !!value))
20
- .subscribe((docInfo) => {
21
- if (docInfo.url) {
22
- this.convertedUrl = docInfo.url;
23
- this.store.dispatch(new fromDocumentActions.ClearConvertDocUrl());
24
- }
25
- else {
26
- this.onLoadException(new ViewerException(docInfo.error));
27
- }
28
- });
29
- }
30
- ngOnChanges(changes) {
31
- if (changes.originalUrl?.currentValue && changes.originalUrl.currentValue !== changes.originalUrl.previousValue) {
32
- this.store.dispatch(new fromDocumentActions.Convert(this.extractDMStoreDocId(this.originalUrl)));
33
- }
34
- }
35
- ngOnDestroy() {
36
- this.$subscription.unsubscribe();
37
- }
38
- onMediaLoad(status) {
39
- this.mediaLoadStatus.emit(status);
40
- }
41
- onLoadException(exception) {
42
- this.viewerException.emit(exception);
43
- }
44
- onDocumentTitleChange(title) {
45
- this.documentTitle.emit(title);
46
- }
47
- // todo move this to common place for media viewer and pdf
48
- extractDMStoreDocId(url) {
49
- if (url.includes('/documents/')) {
50
- url = url.split('/documents/')[1];
51
- }
52
- else if (url.includes('/documentsv2/')) {
53
- url = url.split('/documentsv2/')[1];
54
- }
55
- return url.replace('/binary', '');
56
- }
57
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConvertibleContentViewerComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
58
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConvertibleContentViewerComponent, selector: "mv-conversion-viewer", inputs: { originalUrl: "originalUrl", downloadFileName: "downloadFileName", height: "height", enableAnnotations: "enableAnnotations", enableRedactions: "enableRedactions", annotationSet: "annotationSet" }, outputs: { mediaLoadStatus: "mediaLoadStatus", viewerException: "viewerException", documentTitle: "documentTitle" }, usesOnChanges: true, ngImport: i0, template: "<mv-pdf-viewer *ngIf=\"convertedUrl\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (pdfViewerException)=\"onLoadException($event)\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n [url]=\"convertedUrl\"\n [downloadUrl]=\"originalUrl\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [annotationSet]=\"enableAnnotations ? annotationSet : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"height\">\n</mv-pdf-viewer>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PdfViewerComponent, selector: "mv-pdf-viewer", inputs: ["downloadUrl", "url", "downloadFileName", "enableAnnotations", "enableRedactions", "enableICP", "annotationSet", "enableRedactSearch", "height", "caseId", "searchBarHidden"], outputs: ["mediaLoadStatus", "pdfViewerException", "documentTitle"] }], encapsulation: i0.ViewEncapsulation.None }); }
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConvertibleContentViewerComponent, decorators: [{
61
- type: Component,
62
- args: [{ selector: 'mv-conversion-viewer', encapsulation: ViewEncapsulation.None, template: "<mv-pdf-viewer *ngIf=\"convertedUrl\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (pdfViewerException)=\"onLoadException($event)\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n [url]=\"convertedUrl\"\n [downloadUrl]=\"originalUrl\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [annotationSet]=\"enableAnnotations ? annotationSet : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"height\">\n</mv-pdf-viewer>\n" }]
63
- }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { originalUrl: [{
64
- type: Input
65
- }], downloadFileName: [{
66
- type: Input
67
- }], height: [{
68
- type: Input
69
- }], enableAnnotations: [{
70
- type: Input
71
- }], enableRedactions: [{
72
- type: Input
73
- }], annotationSet: [{
74
- type: Input
75
- }], mediaLoadStatus: [{
76
- type: Output
77
- }], viewerException: [{
78
- type: Output
79
- }], documentTitle: [{
80
- type: Output
81
- }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGlibGUtY29udGVudC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdmlld2Vycy9jb252ZXJ0aWJsZS1jb250ZW50LXZpZXdlci9jb252ZXJ0aWJsZS1jb250ZW50LXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL2NvbnZlcnRpYmxlLWNvbnRlbnQtdmlld2VyL2NvbnZlcnRpYmxlLWNvbnRlbnQtdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxLQUFLLG1CQUFtQixNQUFNLHNDQUFzQyxDQUFDO0FBRTVFLE9BQU8sS0FBSyxhQUFhLE1BQU0sMENBQTBDLENBQUM7QUFFMUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQU94QyxNQUFNLE9BQU8saUNBQWlDO0lBbUI1QyxZQUFvQixLQUFxQztRQUFyQyxVQUFLLEdBQUwsS0FBSyxDQUFnQztRQVAvQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQ25ELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDdEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBTXJELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZHLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JCLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLFlBQVksSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2hILElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25HLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFvQjtRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQTBCO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCwwREFBMEQ7SUFDbEQsbUJBQW1CLENBQUMsR0FBVztRQUVyQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDO2FBQU0sSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDekMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztrSUFqRVUsaUNBQWlDO3NIQUFqQyxpQ0FBaUMsb1pDZjlDLHltQkFZQTs7NEZER2EsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLHNCQUFzQixpQkFFakIsaUJBQWlCLENBQUMsSUFBSTswRUFJNUIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFHSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzcG9uc2VUeXBlLCBWaWV3ZXJFeGNlcHRpb24gfSBmcm9tICcuLi92aWV3ZXItZXhjZXB0aW9uLm1vZGVsJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgKiBhcyBmcm9tU3RvcmUgZnJvbSAnLi4vLi4vc3RvcmUvcmVkdWNlcnMvZG9jdW1lbnQucmVkdWNlcic7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnRBY3Rpb25zIGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvZG9jdW1lbnQuYWN0aW9ucyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIGZyb21TZWxlY3RvcnMgZnJvbSAnLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uU2V0IH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1zZXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1jb252ZXJzaW9uLXZpZXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb252ZXJ0aWJsZS1jb250ZW50LXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQ29udmVydGlibGVDb250ZW50Vmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgb3JpZ2luYWxVcmw7XG4gIEBJbnB1dCgpIGRvd25sb2FkRmlsZU5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKSBoZWlnaHQ7XG5cbiAgQElucHV0KCkgZW5hYmxlQW5ub3RhdGlvbnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuYWJsZVJlZGFjdGlvbnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFubm90YXRpb25TZXQ6IEFubm90YXRpb25TZXQgfCBudWxsO1xuXG5cbiAgQE91dHB1dCgpIG1lZGlhTG9hZFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8UmVzcG9uc2VUeXBlPigpO1xuICBAT3V0cHV0KCkgdmlld2VyRXhjZXB0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxWaWV3ZXJFeGNlcHRpb24+KCk7XG4gIEBPdXRwdXQoKSBkb2N1bWVudFRpdGxlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHJpdmF0ZSAkc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGNvbnZlcnRlZFVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Eb2N1bWVudFN0YXRlPikge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tU2VsZWN0b3JzLmdldENvbnZlcnRlZERvY3VtZW50KSwgZmlsdGVyKHZhbHVlID0+ICEhdmFsdWUpKVxuICAgICAgLnN1YnNjcmliZSgoZG9jSW5mbykgPT4ge1xuICAgICAgICBpZiAoZG9jSW5mby51cmwpIHtcbiAgICAgICAgICB0aGlzLmNvbnZlcnRlZFVybCA9IGRvY0luZm8udXJsO1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Eb2N1bWVudEFjdGlvbnMuQ2xlYXJDb252ZXJ0RG9jVXJsKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub25Mb2FkRXhjZXB0aW9uKG5ldyBWaWV3ZXJFeGNlcHRpb24oZG9jSW5mby5lcnJvcikpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5vcmlnaW5hbFVybD8uY3VycmVudFZhbHVlICYmIGNoYW5nZXMub3JpZ2luYWxVcmwuY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLm9yaWdpbmFsVXJsLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Eb2N1bWVudEFjdGlvbnMuQ29udmVydCh0aGlzLmV4dHJhY3RETVN0b3JlRG9jSWQodGhpcy5vcmlnaW5hbFVybCkpKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uTWVkaWFMb2FkKHN0YXR1czogUmVzcG9uc2VUeXBlKSB7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChzdGF0dXMpO1xuICB9XG5cbiAgb25Mb2FkRXhjZXB0aW9uKGV4Y2VwdGlvbjogVmlld2VyRXhjZXB0aW9uKSB7XG4gICAgdGhpcy52aWV3ZXJFeGNlcHRpb24uZW1pdChleGNlcHRpb24pO1xuICB9XG5cbiAgb25Eb2N1bWVudFRpdGxlQ2hhbmdlKHRpdGxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRvY3VtZW50VGl0bGUuZW1pdCh0aXRsZSk7XG4gIH1cblxuICAvLyB0b2RvIG1vdmUgdGhpcyB0byBjb21tb24gcGxhY2UgZm9yIG1lZGlhIHZpZXdlciBhbmQgcGRmXG4gIHByaXZhdGUgZXh0cmFjdERNU3RvcmVEb2NJZCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG5cbiAgICBpZiAodXJsLmluY2x1ZGVzKCcvZG9jdW1lbnRzLycpKSB7XG4gICAgICB1cmwgPSB1cmwuc3BsaXQoJy9kb2N1bWVudHMvJylbMV07XG4gICAgfSBlbHNlIGlmICh1cmwuaW5jbHVkZXMoJy9kb2N1bWVudHN2Mi8nKSkge1xuICAgICAgdXJsID0gdXJsLnNwbGl0KCcvZG9jdW1lbnRzdjIvJylbMV07XG4gICAgfVxuICAgIHJldHVybiB1cmwucmVwbGFjZSgnL2JpbmFyeScsICcnKTtcbiAgfVxufVxuIiwiPG12LXBkZi12aWV3ZXIgKm5nSWY9XCJjb252ZXJ0ZWRVcmxcIlxuICAgICAgICAgICAgICAgKG1lZGlhTG9hZFN0YXR1cyk9XCJvbk1lZGlhTG9hZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIChwZGZWaWV3ZXJFeGNlcHRpb24pPVwib25Mb2FkRXhjZXB0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgICAgKGRvY3VtZW50VGl0bGUpPVwib25Eb2N1bWVudFRpdGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgW3VybF09XCJjb252ZXJ0ZWRVcmxcIlxuICAgICAgICAgICAgICAgW2Rvd25sb2FkVXJsXT1cIm9yaWdpbmFsVXJsXCJcbiAgICAgICAgICAgICAgIFtlbmFibGVBbm5vdGF0aW9uc109XCJlbmFibGVBbm5vdGF0aW9uc1wiXG4gICAgICAgICAgICAgICBbZW5hYmxlUmVkYWN0aW9uc109XCJlbmFibGVSZWRhY3Rpb25zXCJcbiAgICAgICAgICAgICAgIFthbm5vdGF0aW9uU2V0XT1cImVuYWJsZUFubm90YXRpb25zID8gYW5ub3RhdGlvblNldCA6IG51bGxcIlxuICAgICAgICAgICAgICAgW2Rvd25sb2FkRmlsZU5hbWVdPVwiZG93bmxvYWRGaWxlTmFtZVwiXG4gICAgICAgICAgICAgICBbaGVpZ2h0XT1cImhlaWdodFwiPlxuPC9tdi1wZGYtdmlld2VyPlxuIl19
@@ -1,22 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { of } from 'rxjs';
3
- import { catchError, map } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export class DocumentConversionApiService {
7
- constructor(httpClient) {
8
- this.httpClient = httpClient;
9
- this.documentConversionUrl = '/doc-assembly/convert';
10
- }
11
- convert(documentId) {
12
- return this.httpClient
13
- .post(`${this.documentConversionUrl}/${documentId}`, {}, { observe: 'response', withCredentials: true, responseType: 'blob' })
14
- .pipe(map(response => response), catchError(error => of(error)));
15
- }
16
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DocumentConversionApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
17
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DocumentConversionApiService }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DocumentConversionApiService, decorators: [{
20
- type: Injectable
21
- }], ctorParameters: () => [{ type: i1.HttpClient }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtY29udmVyc2lvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvY29udmVydGlibGUtY29udGVudC12aWV3ZXIvZG9jdW1lbnQtY29udmVyc2lvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR2pELE1BQU0sT0FBTyw0QkFBNEI7SUFJdkMsWUFBNkIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUYzQywwQkFBcUIsR0FBRyx1QkFBdUIsQ0FBQztJQUVGLENBQUM7SUFFaEQsT0FBTyxDQUFDLFVBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixJQUFJLENBQU8sR0FBRyxJQUFJLENBQUMscUJBQXFCLElBQUksVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUMzRCxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUcsZUFBZSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBZ0IsRUFBRSxDQUFDO2FBQ2pGLElBQUksQ0FDSCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFDekIsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQy9CLENBQUM7SUFDTixDQUFDO2tJQWRVLDRCQUE0QjtzSUFBNUIsNEJBQTRCOzs0RkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERvY3VtZW50Q29udmVyc2lvbkFwaVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgZG9jdW1lbnRDb252ZXJzaW9uVXJsID0gJy9kb2MtYXNzZW1ibHkvY29udmVydCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxuXG4gIHB1YmxpYyBjb252ZXJ0KGRvY3VtZW50SWQpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxCbG9iPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0PEJsb2I+KGAke3RoaXMuZG9jdW1lbnRDb252ZXJzaW9uVXJsfS8ke2RvY3VtZW50SWR9YCwge30sXG4gICAgICAgIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyAsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSwgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihlcnJvcikpXG4gICAgICApO1xuICB9XG59XG4iXX0=
@@ -1,57 +0,0 @@
1
- import { Directive, HostListener, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class GrabNDragDirective {
4
- constructor(el) {
5
- this.el = el;
6
- this.pointerDown = false;
7
- this.dragEnabled = false;
8
- }
9
- onPointerDown(event) {
10
- if (this.dragEnabled) {
11
- event.preventDefault();
12
- this.pointerDown = true;
13
- this.originalPosition = {
14
- left: event.clientX + this.el.nativeElement.scrollLeft,
15
- top: event.clientY + this.el.nativeElement.scrollTop,
16
- };
17
- }
18
- }
19
- onPointerMove(event) {
20
- if (this.pointerDown && this.dragEnabled) {
21
- event.preventDefault();
22
- const scrollDiff = {
23
- left: this.originalPosition.left - (event.clientX + this.el.nativeElement.scrollLeft),
24
- top: this.originalPosition.top - (event.clientY + this.el.nativeElement.scrollTop)
25
- };
26
- if (this.dragEnabled) {
27
- this.dragX.scrollLeft += scrollDiff.left;
28
- this.el.nativeElement.scrollTop += scrollDiff.top;
29
- }
30
- }
31
- }
32
- onWindowPointerUp() {
33
- this.pointerDown = false;
34
- }
35
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GrabNDragDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
36
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: GrabNDragDirective, selector: "[mvGrabNDrag]", inputs: { dragEnabled: "dragEnabled", dragX: "dragX" }, host: { listeners: { "pointerdown": "onPointerDown($event)", "window:pointermove": "onPointerMove($event)", "window:pointerup": "onWindowPointerUp()" } }, ngImport: i0 }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GrabNDragDirective, decorators: [{
39
- type: Directive,
40
- args: [{
41
- selector: '[mvGrabNDrag]'
42
- }]
43
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { dragEnabled: [{
44
- type: Input
45
- }], dragX: [{
46
- type: Input
47
- }], onPointerDown: [{
48
- type: HostListener,
49
- args: ['pointerdown', ['$event']]
50
- }], onPointerMove: [{
51
- type: HostListener,
52
- args: ['window:pointermove', ['$event']]
53
- }], onWindowPointerUp: [{
54
- type: HostListener,
55
- args: ['window:pointerup']
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhYi1uLWRyYWcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdmlld2Vycy9ncmFiLW4tZHJhZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zRSxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBTDFCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBSTdCLENBQUM7SUFHRCxhQUFhLENBQUMsS0FBbUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztnQkFDdEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVTtnQkFDdEQsR0FBRyxFQUFFLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUzthQUNyRCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFHRCxhQUFhLENBQUMsS0FBbUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsTUFBTSxVQUFVLEdBQUc7Z0JBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7Z0JBQ3JGLEdBQUcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7YUFDbkYsQ0FBQztZQUNGLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQztZQUNwRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFaUMsaUJBQWlCO1FBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7a0lBeENVLGtCQUFrQjtzSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUg5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjsrRUFNVSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFNTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWF2QyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZVosaUJBQWlCO3NCQUFsRCxZQUFZO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttdkdyYWJORHJhZ10nXG59KVxuZXhwb3J0IGNsYXNzIEdyYWJORHJhZ0RpcmVjdGl2ZSB7XG5cbiAgb3JpZ2luYWxQb3NpdGlvbjogeyBsZWZ0OiBudW1iZXI7IHRvcDogbnVtYmVyIH07XG4gIHByaXZhdGUgcG9pbnRlckRvd24gPSBmYWxzZTtcblxuICBASW5wdXQoKSBkcmFnRW5hYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkcmFnWDogRWxlbWVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVyZG93bicsIFsnJGV2ZW50J10pXG4gIG9uUG9pbnRlckRvd24oZXZlbnQ6IFBvaW50ZXJFdmVudCkge1xuICAgIGlmICh0aGlzLmRyYWdFbmFibGVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wb2ludGVyRG93biA9IHRydWU7XG4gICAgICB0aGlzLm9yaWdpbmFsUG9zaXRpb24gPSB7XG4gICAgICAgIGxlZnQ6IGV2ZW50LmNsaWVudFggKyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCxcbiAgICAgICAgdG9wOiBldmVudC5jbGllbnRZICsgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnBvaW50ZXJtb3ZlJywgWyckZXZlbnQnXSlcbiAgb25Qb2ludGVyTW92ZShldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgaWYgKHRoaXMucG9pbnRlckRvd24gJiYgdGhpcy5kcmFnRW5hYmxlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IHNjcm9sbERpZmYgPSB7XG4gICAgICAgIGxlZnQ6IHRoaXMub3JpZ2luYWxQb3NpdGlvbi5sZWZ0IC0gKGV2ZW50LmNsaWVudFggKyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCksXG4gICAgICAgIHRvcDogdGhpcy5vcmlnaW5hbFBvc2l0aW9uLnRvcCAtIChldmVudC5jbGllbnRZICsgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcClcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5kcmFnRW5hYmxlZCkge1xuICAgICAgICB0aGlzLmRyYWdYLnNjcm9sbExlZnQgKz0gc2Nyb2xsRGlmZi5sZWZ0O1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wICs9IHNjcm9sbERpZmYudG9wO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpwb2ludGVydXAnKSBvbldpbmRvd1BvaW50ZXJVcCgpIHtcbiAgICB0aGlzLnBvaW50ZXJEb3duID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
@@ -1,166 +0,0 @@
1
- import { Component, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
2
- import { ResponseType, ViewerException } from '../viewer-exception.model';
3
- import * as fromDocument from '../../store/actions/document.actions';
4
- import * as fromAnnotationActions from '../../store/actions/annotation.actions';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ngrx/store";
7
- import * as i2 from "../../print.service";
8
- import * as i3 from "../viewer-util.service";
9
- import * as i4 from "../../toolbar/toolbar-event.service";
10
- import * as i5 from "../../toolbar/toolbar-button-visibility.service";
11
- import * as i6 from "../viewer-event.service";
12
- import * as i7 from "@angular/common";
13
- import * as i8 from "../../annotations/comment-set/comment-set.component";
14
- import * as i9 from "../../annotations/comment-set/comment-set-header/comment-set-header.component";
15
- import * as i10 from "../../annotations/annotation-set/metadata-layer/metadata-layer.component";
16
- import * as i11 from "../grab-n-drag.directive";
17
- import * as i12 from "../../redaction/components/redaction.component";
18
- export class ImageViewerComponent {
19
- constructor(store, printService, viewerUtilService, toolbarEvents, toolbarButtons, viewerEvents) {
20
- this.store = store;
21
- this.printService = printService;
22
- this.viewerUtilService = viewerUtilService;
23
- this.toolbarEvents = toolbarEvents;
24
- this.toolbarButtons = toolbarButtons;
25
- this.viewerEvents = viewerEvents;
26
- this.mediaLoadStatus = new EventEmitter();
27
- this.imageViewerException = new EventEmitter();
28
- this.rotation = 0;
29
- this.zoom = 1;
30
- this.subscriptions = [];
31
- this.enableGrabNDrag = false;
32
- }
33
- ngOnInit() {
34
- 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));
35
- }
36
- onImageViewerClick(event) {
37
- const classNme = event.target.className;
38
- if (classNme.startsWith('pageContainer')) {
39
- this.store.dispatch(new fromAnnotationActions.SelectedAnnotation({
40
- annotationId: '',
41
- selected: false,
42
- editable: false,
43
- }));
44
- this.viewerEvents.clearCtxToolbar();
45
- }
46
- }
47
- ngOnDestroy() {
48
- this.subscriptions.filter(subscription => !subscription.closed)
49
- .forEach(subscription => subscription.unsubscribe());
50
- if (this.response) {
51
- this.response.unsubscribe();
52
- }
53
- }
54
- ngOnChanges(changes) {
55
- if (changes.url) {
56
- this.errorMessage = null;
57
- this.toolbarEvents.reset();
58
- }
59
- }
60
- rotateImage(rotation) {
61
- this.rotation = (this.rotation + rotation) % 360;
62
- this.initAnnoPage(this.img.nativeElement);
63
- }
64
- async setZoom(zoomFactor) {
65
- if (!isNaN(zoomFactor)) {
66
- await this.setZoomValue(this.calculateZoomValue(zoomFactor));
67
- this.img.nativeElement.width = this.img.nativeElement.naturalWidth * this.zoom;
68
- this.initAnnoPage(this.img.nativeElement);
69
- }
70
- }
71
- async stepZoom(zoomFactor) {
72
- if (!isNaN(zoomFactor)) {
73
- await this.setZoomValue(this.calculateZoomValue(this.zoom, zoomFactor));
74
- this.img.nativeElement.width = this.img.nativeElement.naturalWidth * this.zoom;
75
- this.initAnnoPage(this.img.nativeElement);
76
- }
77
- }
78
- download() {
79
- const a = document.createElement('a');
80
- document.body.appendChild(a);
81
- a.setAttribute('style', 'display: none');
82
- a.href = this.url;
83
- a.download = this.downloadFileName;
84
- a.click();
85
- a.remove();
86
- }
87
- // the returned promise is a work-around
88
- setZoomValue(zoomValue) {
89
- return new Promise((resolve) => {
90
- this.zoom = zoomValue;
91
- this.toolbarEvents.zoomValueSubject.next(zoomValue);
92
- resolve(true);
93
- });
94
- }
95
- calculateZoomValue(zoomValue, increment = 0) {
96
- const newZoomValue = zoomValue + increment;
97
- if (newZoomValue > 5) {
98
- return 5;
99
- }
100
- if (newZoomValue < 0.1) {
101
- return 0.1;
102
- }
103
- return +newZoomValue.toFixed(2);
104
- }
105
- onLoadError(url) {
106
- this.response = this.viewerUtilService.validateFile(url)
107
- .subscribe(next => next, error => {
108
- this.viewerException = new ViewerException(error.name, { httpResponseCode: error.status, message: error.message });
109
- });
110
- this.errorMessage = `Could not load the image "${this.url}"`;
111
- this.mediaLoadStatus.emit(ResponseType.FAILURE);
112
- this.imageViewerException.emit(this.viewerException);
113
- }
114
- onLoad(img) {
115
- this.mediaLoadStatus.emit(ResponseType.SUCCESS);
116
- this.initAnnoPage(img);
117
- }
118
- initAnnoPage(img) {
119
- this.imageHeight = this.rotation % 180 !== 0 ? img.offsetWidth : img.offsetHeight;
120
- this.imageWidth = this.rotation % 180 !== 0 ? img.offsetHeight : img.offsetWidth;
121
- this.imageLeft = this.rotation % 180 !== 0 ? img.offsetTop : img.offsetLeft;
122
- this.imageTop = this.rotation % 180 !== 0 ? img.offsetLeft : img.offsetTop;
123
- const payload = [{
124
- div: {
125
- scrollHeight: this.imageHeight,
126
- scrollWidth: this.imageWidth,
127
- offsetLeft: this.imageLeft,
128
- },
129
- pageNumber: 1,
130
- scale: this.zoom,
131
- rotation: this.rotation,
132
- id: 1
133
- }];
134
- this.store.dispatch(new fromDocument.AddPages(payload));
135
- }
136
- toggleCommentsSummary() {
137
- this.toolbarEvents.toggleCommentsSummary(!this.toolbarEvents.showCommentSummary.getValue());
138
- }
139
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageViewerComponent, deps: [{ token: i1.Store }, { token: i2.PrintService }, { token: i3.ViewerUtilService }, { token: i4.ToolbarEventService }, { token: i5.ToolbarButtonVisibilityService }, { token: i6.ViewerEventService }], target: i0.ɵɵFactoryTarget.Component }); }
140
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ImageViewerComponent, selector: "mv-image-viewer", inputs: { url: "url", downloadFileName: "downloadFileName", enableAnnotations: "enableAnnotations", annotationSet: "annotationSet", height: "height" }, outputs: { mediaLoadStatus: "mediaLoadStatus", imageViewerException: "imageViewerException" }, host: { listeners: { "mousedown": "onImageViewerClick($event)" } }, viewQueries: [{ propertyName: "img", first: true, predicate: ["img"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mv-comment-set-header\n [ngClass]=\"{ 'show-comments-panel': showCommentsPanel }\"\n [isHidden]=\"!showCommentsPanel\"\n [showCommentSummary]=\"toolbarButtons.showCommentSummary\"\n (showCommentSummaryDialog)=\"toggleCommentsSummary()\"\n>\n</mv-comment-set-header>\n<div\n id=\"viewer-wrapper\"\n [ngStyle]=\"{ height: height }\"\n [ngClass]=\"{ grabNDrag: enableGrabNDrag }\"\n *ngIf=\"url && !errorMessage\"\n>\n <div\n #imageContainer\n id=\"image-container\"\n mvGrabNDrag\n [dragX]=\"imageContainer\"\n [dragEnabled]=\"enableGrabNDrag\"\n (scroll)=\"($event)\"\n [ngClass]=\"{\n 'image-container': true,\n annotations: enableAnnotations,\n 'show-comments-panel': showCommentsPanel\n }\"\n >\n <img\n #img\n alt=\"\"\n [src]=\"url\"\n [ngClass]=\"'rot' + rotation\"\n (error)=\"onLoadError(url)\"\n (load)=\"onLoad(img)\"\n />\n <mv-redactions\n *ngIf=\"toolbarEvents.redactionMode | async; else annotationTemplate\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n ></mv-redactions>\n <ng-template #annotationTemplate>\n <mv-metadata-layer\n *ngIf=\"enableAnnotations && annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n >\n </mv-metadata-layer>\n </ng-template>\n </div>\n\n <mv-comment-set\n [contentScrollTop]=\"imageContainer.scrollTop\"\n *ngIf=\"\n enableAnnotations &&\n annotationSet &&\n (toolbarEvents.redactionMode | async) !== true\n \"\n [annotationSet]=\"annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [height]=\"imageHeight\"\n >\n </mv-comment-set>\n</div>\n", dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i8.CommentSetComponent, selector: "mv-comment-set", inputs: ["annotationSet", "zoom", "rotate", "height", "pageHeights", "contentScrollTop"] }, { kind: "component", type: i9.CommentSetHeaderComponent, selector: "mv-comment-set-header", inputs: ["showCommentSummary", "isHidden"], outputs: ["showCommentSummaryDialog"] }, { kind: "component", type: i10.MetadataLayerComponent, selector: "mv-metadata-layer", inputs: ["zoom", "rotate"] }, { kind: "directive", type: i11.GrabNDragDirective, selector: "[mvGrabNDrag]", inputs: ["dragEnabled", "dragX"] }, { kind: "component", type: i12.RedactionComponent, selector: "mv-redactions", inputs: ["zoom", "rotate"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] }); }
141
- }
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageViewerComponent, decorators: [{
143
- type: Component,
144
- args: [{ selector: 'mv-image-viewer', template: "<mv-comment-set-header\n [ngClass]=\"{ 'show-comments-panel': showCommentsPanel }\"\n [isHidden]=\"!showCommentsPanel\"\n [showCommentSummary]=\"toolbarButtons.showCommentSummary\"\n (showCommentSummaryDialog)=\"toggleCommentsSummary()\"\n>\n</mv-comment-set-header>\n<div\n id=\"viewer-wrapper\"\n [ngStyle]=\"{ height: height }\"\n [ngClass]=\"{ grabNDrag: enableGrabNDrag }\"\n *ngIf=\"url && !errorMessage\"\n>\n <div\n #imageContainer\n id=\"image-container\"\n mvGrabNDrag\n [dragX]=\"imageContainer\"\n [dragEnabled]=\"enableGrabNDrag\"\n (scroll)=\"($event)\"\n [ngClass]=\"{\n 'image-container': true,\n annotations: enableAnnotations,\n 'show-comments-panel': showCommentsPanel\n }\"\n >\n <img\n #img\n alt=\"\"\n [src]=\"url\"\n [ngClass]=\"'rot' + rotation\"\n (error)=\"onLoadError(url)\"\n (load)=\"onLoad(img)\"\n />\n <mv-redactions\n *ngIf=\"toolbarEvents.redactionMode | async; else annotationTemplate\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n ></mv-redactions>\n <ng-template #annotationTemplate>\n <mv-metadata-layer\n *ngIf=\"enableAnnotations && annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n >\n </mv-metadata-layer>\n </ng-template>\n </div>\n\n <mv-comment-set\n [contentScrollTop]=\"imageContainer.scrollTop\"\n *ngIf=\"\n enableAnnotations &&\n annotationSet &&\n (toolbarEvents.redactionMode | async) !== true\n \"\n [annotationSet]=\"annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [height]=\"imageHeight\"\n >\n </mv-comment-set>\n</div>\n" }]
145
- }], ctorParameters: () => [{ type: i1.Store }, { type: i2.PrintService }, { type: i3.ViewerUtilService }, { type: i4.ToolbarEventService }, { type: i5.ToolbarButtonVisibilityService }, { type: i6.ViewerEventService }], propDecorators: { url: [{
146
- type: Input
147
- }], downloadFileName: [{
148
- type: Input
149
- }], enableAnnotations: [{
150
- type: Input
151
- }], annotationSet: [{
152
- type: Input
153
- }], height: [{
154
- type: Input
155
- }], mediaLoadStatus: [{
156
- type: Output
157
- }], imageViewerException: [{
158
- type: Output
159
- }], img: [{
160
- type: ViewChild,
161
- args: ['img', { static: false }]
162
- }], onImageViewerClick: [{
163
- type: HostListener,
164
- args: ['mousedown', ['$event']]
165
- }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvaW1hZ2Utdmlld2VyL2ltYWdlLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL2ltYWdlLXZpZXdlci9pbWFnZS12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFLMUUsT0FBTyxLQUFLLFlBQVksTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEtBQUsscUJBQXFCLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBT2hGLE1BQU0sT0FBTyxvQkFBb0I7SUE4Qi9CLFlBQ1UsS0FBMEMsRUFDakMsWUFBMEIsRUFDMUIsaUJBQW9DLEVBQ3JDLGFBQWtDLEVBQ2xDLGNBQThDLEVBQ3RELFlBQWdDO1FBTGhDLFVBQUssR0FBTCxLQUFLLENBQXFDO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDckMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQztRQUN0RCxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUExQmhDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDbkQseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFLckUsYUFBUSxHQUFHLENBQUMs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QztnQkFDcEIsR0FBRyxFQUFFO29CQUNILFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVztvQkFDOUIsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVO29CQUM1QixVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVM7aUJBQzNCO2dCQUNELFVBQVUsRUFBRSxDQUFDO2dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixFQUFFLEVBQUUsQ0FBQzthQUNOLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO2tJQXpLVSxvQkFBb0I7c0hBQXBCLG9CQUFvQixtZUM5QmpDLHlwREErREE7OzRGRGpDYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0UsaUJBQWlCO3FQQUtsQixHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFJNEIsR0FBRztzQkFBckMsU0FBUzt1QkFBQyxLQUFLLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQXFDakMsa0JBQWtCO3NCQURqQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblNldCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tc2V0Lm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZVR5cGUsIFZpZXdlckV4Y2VwdGlvbiB9IGZyb20gJy4uL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgVmlld2VyVXRpbFNlcnZpY2UgfSBmcm9tICcuLi92aWV3ZXItdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm90YXRpb25BY3Rpb25zIGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uL3ZpZXdlci1ldmVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtaW1hZ2Utdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXZpZXdlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSB1cmw6IHN0cmluZztcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGVuYWJsZUFubm90YXRpb25zOiBib29sZWFuO1xuICBASW5wdXQoKSBhbm5vdGF0aW9uU2V0OiBBbm5vdGF0aW9uU2V0IHwgbnVsbDtcblxuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZztcblxuICBAT3V0cHV0KCkgbWVkaWFMb2FkU3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNwb25zZVR5cGU+KCk7XG4gIEBPdXRwdXQoKSBpbWFnZVZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ2ltZycsIHtzdGF0aWM6IGZhbHNlfSkgaW1nOiBFbGVtZW50UmVmO1xuICByb3RhdGlvbiA9IDA7XG4gIHpvb20gPSAxO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSB2aWV3ZXJFeGNlcHRpb246IFZpZXdlckV4Y2VwdGlvbjtcbiAgcHJpdmF0ZSByZXNwb25zZTogU3Vic2NyaXB0aW9uO1xuXG4gIHNob3dDb21tZW50c1BhbmVsOiBib29sZWFuO1xuICBlbmFibGVHcmFiTkRyYWcgPSBmYWxzZTtcbiAgaW1hZ2VIZWlnaHQ6IG51bWJlcjtcbiAgaW1hZ2VXaWR0aDogbnVtYmVyO1xuICBpbWFnZUxlZnQ6IG51bWJlcjtcbiAgaW1hZ2VUb3A6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuQW5ub3RhdGlvblNldFN0YXRlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld2VyVXRpbFNlcnZpY2U6IFZpZXdlclV0aWxTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld2VyRXZlbnRzOiBWaWV3ZXJFdmVudFNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yb3RhdGVTdWJqZWN0LnN1YnNjcmliZShyb3RhdGlvbiA9PiB0aGlzLnJvdGF0ZUltYWdlKHJvdGF0aW9uKSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuem9vbVN1YmplY3Quc3Vic2NyaWJlKHpvb20gPT4gdGhpcy5zZXRab29tKHpvb20pKSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zdGVwWm9vbVN1YmplY3Quc3Vic2NyaWJlKHpvb20gPT4gdGhpcy5zdGVwWm9vbSh6b29tKSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucHJpbnRTdWJqZWN0LnN1YnNjcmliZSgoKSA9PiB0aGlzLnByaW50U2VydmljZS5wcmludERvY3VtZW50TmF0aXZlbHkodGhpcy51cmwpKSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5kb3dubG9hZFN1YmplY3Quc3Vic2NyaWJlKCgpID0+IHRoaXMuZG93bmxvYWQoKSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuZ3JhYk5EcmFnLnN1YnNjcmliZShncmFiTkRyYWcgPT4gdGhpcy5lbmFibGVHcmFiTkRyYWcgPSBncmFiTkRyYWcpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmNvbW1lbnRzUGFuZWxWaXNpYmxlLnN1YnNjcmliZSh0b2dnbGUgPT4gdGhpcy5zaG93Q29tbWVudHNQYW5lbCA9IHRvZ2dsZSlcbiAgICApO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgb25JbWFnZVZpZXdlckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgY29uc3QgY2xhc3NObWUgPSAoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmNsYXNzTmFtZTtcbiAgICBpZiAoY2xhc3NObWUuc3RhcnRzV2l0aCgncGFnZUNvbnRhaW5lcicpKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBuZXcgZnJvbUFubm90YXRpb25BY3Rpb25zLlNlbGVjdGVkQW5ub3RhdGlvbih7XG4gICAgICAgICAgYW5ub3RhdGlvbklkOiAnJyxcbiAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMudmlld2VyRXZlbnRzLmNsZWFyQ3R4VG9vbGJhcigpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5maWx0ZXIoc3Vic2NyaXB0aW9uID0+ICFzdWJzY3JpcHRpb24uY2xvc2VkKVxuICAgICAgLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICBpZiAodGhpcy5yZXNwb25zZSkge1xuICAgICAgdGhpcy5yZXNwb25zZS51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy51cmwpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcm90YXRlSW1hZ2Uocm90YXRpb246IG51bWJlcikge1xuICAgIHRoaXMucm90YXRpb24gPSAodGhpcy5yb3RhdGlvbiArIHJvdGF0aW9uKSAlIDM2MDtcbiAgICB0aGlzLmluaXRBbm5vUGFnZSh0aGlzLmltZy5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2V0Wm9vbSh6b29tRmFjdG9yOiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmFOKHpvb21GYWN0b3IpKSB7XG4gICAgICBhd2FpdCB0aGlzLnNldFpvb21WYWx1ZSh0aGlzLmNhbGN1bGF0ZVpvb21WYWx1ZSh6b29tRmFjdG9yKSk7XG4gICAgICB0aGlzLmltZy5uYXRpdmVFbGVtZW50LndpZHRoID0gdGhpcy5pbWcubmF0aXZlRWxlbWVudC5uYXR1cmFsV2lkdGggKiB0aGlzLnpvb207XG4gICAgICB0aGlzLmluaXRBbm5vUGFnZSh0aGlzLmltZy5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHN0ZXBab29tKHpvb21GYWN0b3I6IG51bWJlcikge1xuICAgIGlmICghaXNOYU4oem9vbUZhY3RvcikpIHtcbiAgICAgIGF3YWl0IHRoaXMuc2V0Wm9vbVZhbHVlKHRoaXMuY2FsY3VsYXRlWm9vbVZhbHVlKHRoaXMuem9vbSwgem9vbUZhY3RvcikpO1xuICAgICAgdGhpcy5pbWcubmF0aXZlRWxlbWVudC53aWR0aCA9IHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQubmF0dXJhbFdpZHRoICogdGhpcy56b29tO1xuICAgICAgdGhpcy5pbml0QW5ub1BhZ2UodGhpcy5pbWcubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkb3dubG9hZCgpIHtcbiAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XG4gICAgYS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2Rpc3BsYXk6IG5vbmUnKTtcbiAgICBhLmhyZWYgPSB0aGlzLnVybDtcbiAgICBhLmRvd25sb2FkID0gdGhpcy5kb3dubG9hZEZpbGVOYW1lO1xuICAgIGEuY2xpY2soKTtcbiAgICBhLnJlbW92ZSgpO1xuICB9XG5cbiAgLy8gdGhlIHJldHVybmVkIHByb21pc2UgaXMgYSB3b3JrLWFyb3VuZFxuICBzZXRab29tVmFsdWUoem9vbVZhbHVlKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLnpvb20gPSB6b29tVmFsdWU7XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuem9vbVZhbHVlU3ViamVjdC5uZXh0KHpvb21WYWx1ZSk7XG4gICAgICByZXNvbHZlKHRydWUpO1xuICAgIH0pO1xuICB9XG5cbiAgY2FsY3VsYXRlWm9vbVZhbHVlKHpvb21WYWx1ZSwgaW5jcmVtZW50ID0gMCkge1xuICAgIGNvbnN0IG5ld1pvb21WYWx1ZSA9IHpvb21WYWx1ZSArIGluY3JlbWVudDtcbiAgICBpZiAobmV3Wm9vbVZhbHVlID4gNSkgeyByZXR1cm4gNTsgfVxuICAgIGlmIChuZXdab29tVmFsdWUgPCAwLjEpIHsgcmV0dXJuIDAuMTsgfVxuICAgIHJldHVybiArbmV3Wm9vbVZhbHVlLnRvRml4ZWQoMik7XG4gIH1cblxuICBvbkxvYWRFcnJvcih1cmwpIHtcbiAgICB0aGlzLnJlc3BvbnNlID0gdGhpcy52aWV3ZXJVdGlsU2VydmljZS52YWxpZGF0ZUZpbGUodXJsKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgbmV4dCA9PiBuZXh0LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy52aWV3ZXJFeGNlcHRpb24gPSBuZXcgVmlld2VyRXhjZXB0aW9uKGVycm9yLm5hbWUsXG4gICAgICAgICAgICB7IGh0dHBSZXNwb25zZUNvZGU6IGVycm9yLnN0YXR1cywgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB9KTtcbiAgICAgICAgfSk7XG5cbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGBDb3VsZCBub3QgbG9hZCB0aGUgaW1hZ2UgXCIke3RoaXMudXJsfVwiYDtcbiAgICB0aGlzLm1lZGlhTG9hZFN0YXR1cy5lbWl0KFJlc3BvbnNlVHlwZS5GQUlMVVJFKTtcbiAgICB0aGlzLmltYWdlVmlld2VyRXhjZXB0aW9uLmVtaXQodGhpcy52aWV3ZXJFeGNlcHRpb24pO1xuICB9XG5cbiAgb25Mb2FkKGltZzogYW55KSB7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuU1VDQ0VTUyk7XG4gICAgdGhpcy5pbml0QW5ub1BhZ2UoaW1nKTtcbiAgfVxuXG4gIGluaXRBbm5vUGFnZShpbWc6IGFueSkge1xuICAgIHRoaXMuaW1hZ2VIZWlnaHQgPSB0aGlzLnJvdGF0aW9uICUgMTgwICE9PSAwID8gaW1nLm9mZnNldFdpZHRoIDogaW1nLm9mZnNldEhlaWdodDtcbiAgICB0aGlzLmltYWdlV2lkdGggPSB0aGlzLnJvdGF0aW9uICUgMTgwICE9PSAwID8gaW1nLm9mZnNldEhlaWdodCA6IGltZy5vZmZzZXRXaWR0aDtcbiAgICB0aGlzLmltYWdlTGVmdCA9IHRoaXMucm90YXRpb24gJSAxODAgIT09IDAgPyBpbWcub2Zmc2V0VG9wIDogaW1nLm9mZnNldExlZnQ7XG4gICAgdGhpcy5pbWFnZVRvcCA9IHRoaXMucm90YXRpb24gJSAxODAgIT09IDAgPyBpbWcub2Zmc2V0TGVmdCA6IGltZy5vZmZzZXRUb3A7XG4gICAgY29uc3QgcGF5bG9hZDogYW55ID0gW3tcbiAgICAgIGRpdjoge1xuICAgICAgICBzY3JvbGxIZWlnaHQ6IHRoaXMuaW1hZ2VIZWlnaHQsXG4gICAgICAgIHNjcm9sbFdpZHRoOiB0aGlzLmltYWdlV2lkdGgsXG4gICAgICAgIG9mZnNldExlZnQ6IHRoaXMuaW1hZ2VMZWZ0LFxuICAgICAgfSxcbiAgICAgIHBhZ2VOdW1iZXI6IDEsXG4gICAgICBzY2FsZTogdGhpcy56b29tLFxuICAgICAgcm90YXRpb246IHRoaXMucm90YXRpb24sXG4gICAgICBpZDogMVxuICAgIH1dO1xuXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbURvY3VtZW50LkFkZFBhZ2VzKHBheWxvYWQpKTtcbiAgfVxuXG4gIHRvZ2dsZUNvbW1lbnRzU3VtbWFyeSgpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMudG9nZ2xlQ29tbWVudHNTdW1tYXJ5KCF0aGlzLnRvb2xiYXJFdmVudHMuc2hvd0NvbW1lbnRTdW1tYXJ5LmdldFZhbHVlKCkpO1xuICB9XG59XG4iLCI8bXYtY29tbWVudC1zZXQtaGVhZGVyXG4gIFtuZ0NsYXNzXT1cInsgJ3Nob3ctY29tbWVudHMtcGFuZWwnOiBzaG93Q29tbWVudHNQYW5lbCB9XCJcbiAgW2lzSGlkZGVuXT1cIiFzaG93Q29tbWVudHNQYW5lbFwiXG4gIFtzaG93Q29tbWVudFN1bW1hcnldPVwidG9vbGJhckJ1dHRvbnMuc2hvd0NvbW1lbnRTdW1tYXJ5XCJcbiAgKHNob3dDb21tZW50U3VtbWFyeURpYWxvZyk9XCJ0b2dnbGVDb21tZW50c1N1bW1hcnkoKVwiXG4+XG48L212LWNvbW1lbnQtc2V0LWhlYWRlcj5cbjxkaXZcbiAgaWQ9XCJ2aWV3ZXItd3JhcHBlclwiXG4gIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQgfVwiXG4gIFtuZ0NsYXNzXT1cInsgZ3JhYk5EcmFnOiBlbmFibGVHcmFiTkRyYWcgfVwiXG4gICpuZ0lmPVwidXJsICYmICFlcnJvck1lc3NhZ2VcIlxuPlxuICA8ZGl2XG4gICAgI2ltYWdlQ29udGFpbmVyXG4gICAgaWQ9XCJpbWFnZS1jb250YWluZXJcIlxuICAgIG12R3JhYk5EcmFnXG4gICAgW2RyYWdYXT1cImltYWdlQ29udGFpbmVyXCJcbiAgICBbZHJhZ0VuYWJsZWRdPVwiZW5hYmxlR3JhYk5EcmFnXCJcbiAgICAoc2Nyb2xsKT1cIigkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnaW1hZ2UtY29udGFpbmVyJzogdHJ1ZSxcbiAgICAgIGFubm90YXRpb25zOiBlbmFibGVBbm5vdGF0aW9ucyxcbiAgICAgICdzaG93LWNvbW1lbnRzLXBhbmVsJzogc2hvd0NvbW1lbnRzUGFuZWxcbiAgICB9XCJcbiAgPlxuICAgIDxpbWdcbiAgICAgICNpbWdcbiAgICAgIGFsdD1cIlwiXG4gICAgICBbc3JjXT1cInVybFwiXG4gICAgICBbbmdDbGFzc109XCIncm90JyArIHJvdGF0aW9uXCJcbiAgICAgIChlcnJvcik9XCJvbkxvYWRFcnJvcih1cmwpXCJcbiAgICAgIChsb2FkKT1cIm9uTG9hZChpbWcpXCJcbiAgICAvPlxuICAgIDxtdi1yZWRhY3Rpb25zXG4gICAgICAqbmdJZj1cInRvb2xiYXJFdmVudHMucmVkYWN0aW9uTW9kZSB8IGFzeW5jOyBlbHNlIGFubm90YXRpb25UZW1wbGF0ZVwiXG4gICAgICBbem9vbV09XCJ6b29tXCJcbiAgICAgIFtyb3RhdGVdPVwicm90YXRpb25cIlxuICAgID48L212LXJlZGFjdGlvbnM+XG4gICAgPG5nLXRlbXBsYXRlICNhbm5vdGF0aW9uVGVtcGxhdGU+XG4gICAgICA8bXYtbWV0YWRhdGEtbGF5ZXJcbiAgICAgICAgKm5nSWY9XCJlbmFibGVBbm5vdGF0aW9ucyAmJiBhbm5vdGF0aW9uU2V0XCJcbiAgICAgICAgW3pvb21dPVwiem9vbVwiXG4gICAgICAgIFtyb3RhdGVdPVwicm90YXRpb25cIlxuICAgICAgPlxuICAgICAgPC9tdi1tZXRhZGF0YS1sYXllcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cblxuICA8bXYtY29tbWVudC1zZXRcbiAgICBbY29udGVudFNjcm9sbFRvcF09XCJpbWFnZUNvbnRhaW5lci5zY3JvbGxUb3BcIlxuICAgICpuZ0lmPVwiXG4gICAgICBlbmFibGVBbm5vdGF0aW9ucyAmJlxuICAgICAgYW5ub3RhdGlvblNldCAmJlxuICAgICAgKHRvb2xiYXJFdmVudHMucmVkYWN0aW9uTW9kZSB8IGFzeW5jKSAhPT0gdHJ1ZVxuICAgIFwiXG4gICAgW2Fubm90YXRpb25TZXRdPVwiYW5ub3RhdGlvblNldFwiXG4gICAgW3pvb21dPVwiem9vbVwiXG4gICAgW3JvdGF0ZV09XCJyb3RhdGlvblwiXG4gICAgW2hlaWdodF09XCJpbWFnZUhlaWdodFwiXG4gID5cbiAgPC9tdi1jb21tZW50LXNldD5cbjwvZGl2PlxuIl19
@@ -1,59 +0,0 @@
1
- import { Component, Input, ViewChild, Output, EventEmitter } from '@angular/core';
2
- import { ResponseType } from '../viewer-exception.model';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../toolbar/toolbar-event.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "rpx-xui-translation";
7
- export class MultimediaPlayerComponent {
8
- constructor(toolbarEvents) {
9
- this.toolbarEvents = toolbarEvents;
10
- this.loadStatus = new EventEmitter();
11
- this.playbackMsg = 'loading';
12
- }
13
- ngOnInit() {
14
- this.subscription = this.toolbarEvents.downloadSubject
15
- .subscribe(() => this.downloadLink.nativeElement.click());
16
- this.loadStatus.emit(ResponseType.SUCCESS);
17
- }
18
- ngOnChanges(changes) {
19
- if (changes.url) {
20
- this.reloadVideo();
21
- }
22
- }
23
- ngOnDestroy() {
24
- this.subscription.unsubscribe();
25
- }
26
- reloadVideo() {
27
- if (this.videoPlayer) {
28
- this.playbackMsg = 'loading';
29
- this.videoPlayer.nativeElement.load();
30
- }
31
- }
32
- onSuccess() {
33
- this.playbackMsg = 'success';
34
- }
35
- onError() {
36
- this.playbackMsg = 'error';
37
- }
38
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultimediaPlayerComponent, deps: [{ token: i1.ToolbarEventService }], target: i0.ɵɵFactoryTarget.Component }); }
39
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MultimediaPlayerComponent, selector: "mv-multimedia-player", inputs: { url: "url", downloadFileName: "downloadFileName", multimediaOn: "multimediaOn" }, outputs: { loadStatus: "loadStatus" }, viewQueries: [{ propertyName: "downloadLink", first: true, predicate: ["downloadLink"], descendants: true }, { propertyName: "videoPlayer", first: true, predicate: ["videoPlayer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"govuk-width-container\">\n <div class=\"govuk-notification-banner__content\">\n <p>\n <span *ngIf=\"multimediaOn && playbackMsg === 'loading'\">{{\n \"Loading multimedia content ...\" | rpxTranslate\n }}</span>\n <span *ngIf=\"!multimediaOn\"\n >{{ \"Multimedia playback is not enabled, \" | rpxTranslate }}\n </span>\n <span *ngIf=\"multimediaOn && playbackMsg === 'success'\"\n >{{ \"Use the player to play to the file or\" | rpxTranslate }}\n </span>\n <span *ngIf=\"multimediaOn && playbackMsg === 'error'\"\n >{{ \"Mime type not supported.\" | rpxTranslate }}\n </span>\n <a\n *ngIf=\"!multimediaOn || playbackMsg !== 'loading'\"\n #downloadLink\n [href]=\"url\"\n [download]=\"downloadFileName\"\n >{{ \"Click here to download\" | rpxTranslate }}</a\n >\n </p>\n <video\n #videoPlayer\n *ngIf=\"multimediaOn\"\n width=\"100%\"\n height=\"100%\"\n preload=\"auto\"\n (canplay)=\"onSuccess()\"\n controls\n >\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/mp4\" />\n <source\n (error)=\"onError()\"\n [src]=\"url\"\n type=\"video/mp4; codecs='avc1, av01, hvc1, hev1, mp4v, mp4a.40.2, opus'\"\n />\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/ogg\" />\n <source\n (error)=\"onError()\"\n [src]=\"url\"\n type=\"video/ogg; codecs='theora, vp8, vp9, flac, opus, vorbis'\"\n />\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/webm\" />\n <source\n (error)=\"onError()\"\n [src]=\"url\"\n type=\"video/webm; codecs='vp8, vp9, vorbis, opus'\"\n />\n </video>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.RpxTranslatePipe, name: "rpxTranslate" }] }); }
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultimediaPlayerComponent, decorators: [{
42
- type: Component,
43
- args: [{ selector: 'mv-multimedia-player', template: "<div class=\"govuk-width-container\">\n <div class=\"govuk-notification-banner__content\">\n <p>\n <span *ngIf=\"multimediaOn && playbackMsg === 'loading'\">{{\n \"Loading multimedia content ...\" | rpxTranslate\n }}</span>\n <span *ngIf=\"!multimediaOn\"\n >{{ \"Multimedia playback is not enabled, \" | rpxTranslate }}\n </span>\n <span *ngIf=\"multimediaOn && playbackMsg === 'success'\"\n >{{ \"Use the player to play to the file or\" | rpxTranslate }}\n </span>\n <span *ngIf=\"multimediaOn && playbackMsg === 'error'\"\n >{{ \"Mime type not supported.\" | rpxTranslate }}\n </span>\n <a\n *ngIf=\"!multimediaOn || playbackMsg !== 'loading'\"\n #downloadLink\n [href]=\"url\"\n [download]=\"downloadFileName\"\n >{{ \"Click here to download\" | rpxTranslate }}</a\n >\n </p>\n <video\n #videoPlayer\n *ngIf=\"multimediaOn\"\n width=\"100%\"\n height=\"100%\"\n preload=\"auto\"\n (canplay)=\"onSuccess()\"\n controls\n >\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/mp4\" />\n <source\n (error)=\"onError()\"\n [src]=\"url\"\n type=\"video/mp4; codecs='avc1, av01, hvc1, hev1, mp4v, mp4a.40.2, opus'\"\n />\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/ogg\" />\n <source\n (error)=\"onError()\"\n [src]=\"url\"\n type=\"video/ogg; codecs='theora, vp8, vp9, flac, opus, vorbis'\"\n />\n <source (error)=\"onError()\" [src]=\"url\" type=\"video/webm\" />\n <source\n (error)=\"onError()\"\n [src]=\"url\"\n type=\"video/webm; codecs='vp8, vp9, vorbis, opus'\"\n />\n </video>\n </div>\n</div>\n" }]
44
- }], ctorParameters: () => [{ type: i1.ToolbarEventService }], propDecorators: { url: [{
45
- type: Input
46
- }], downloadFileName: [{
47
- type: Input
48
- }], multimediaOn: [{
49
- type: Input
50
- }], loadStatus: [{
51
- type: Output
52
- }], downloadLink: [{
53
- type: ViewChild,
54
- args: ['downloadLink', { static: false }]
55
- }], videoPlayer: [{
56
- type: ViewChild,
57
- args: ['videoPlayer', { static: false }]
58
- }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGltZWRpYS1wbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdmlld2Vycy9tdWx0aW1lZGlhLXBsYXllci9tdWx0aW1lZGlhLXBsYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL211bHRpbWVkaWEtcGxheWVyL211bHRpbWVkaWEtcGxheWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUVMLFNBQVMsRUFFVCxNQUFNLEVBQ04sWUFBWSxFQUdiLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFNekQsTUFBTSxPQUFPLHlCQUF5QjtJQWVwQyxZQUNrQixhQUFrQztRQUFsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFWMUMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBS3hELGdCQUFXLEdBQUcsU0FBUyxDQUFDO0lBTXJCLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7YUFDbkQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztZQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO0lBQzdCLENBQUM7a0lBaERVLHlCQUF5QjtzSEFBekIseUJBQXlCLCtaQ3BCdEMsd3dEQXFEQTs7NEZEakNhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSxzQkFBc0I7d0ZBS3ZCLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVxQyxZQUFZO3NCQUF2RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBQ0MsV0FBVztzQkFBckQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3BvbnNlVHlwZSB9IGZyb20gJy4uL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1tdWx0aW1lZGlhLXBsYXllcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aW1lZGlhLXBsYXllci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGltZWRpYVBsYXllckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHVybDogc3RyaW5nO1xuICBASW5wdXQoKSBkb3dubG9hZEZpbGVOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG11bHRpbWVkaWFPbjogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgbG9hZFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8UmVzcG9uc2VUeXBlPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2Rvd25sb2FkTGluaycsIHtzdGF0aWM6IGZhbHNlfSkgZG93bmxvYWRMaW5rOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCd2aWRlb1BsYXllcicsIHtzdGF0aWM6IGZhbHNlfSkgdmlkZW9QbGF5ZXI6IEVsZW1lbnRSZWY7XG5cbiAgcGxheWJhY2tNc2cgPSAnbG9hZGluZyc7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckV2ZW50czogVG9vbGJhckV2ZW50U2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbGJhckV2ZW50cy5kb3dubG9hZFN1YmplY3RcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kb3dubG9hZExpbmsubmF0aXZlRWxlbWVudC5jbGljaygpKTtcbiAgICB0aGlzLmxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuU1VDQ0VTUyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLnVybCkge1xuICAgICAgdGhpcy5yZWxvYWRWaWRlbygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICByZWxvYWRWaWRlbygpIHtcbiAgICBpZiAodGhpcy52aWRlb1BsYXllcikge1xuICAgICAgdGhpcy5wbGF5YmFja01zZyA9ICdsb2FkaW5nJztcbiAgICAgIHRoaXMudmlkZW9QbGF5ZXIubmF0aXZlRWxlbWVudC5sb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgb25TdWNjZXNzKCkge1xuICAgIHRoaXMucGxheWJhY2tNc2cgPSAnc3VjY2Vzcyc7XG4gIH1cblxuICBvbkVycm9yKCkge1xuICAgIHRoaXMucGxheWJhY2tNc2cgPSAnZXJyb3InO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19jb250ZW50XCI+XG4gICAgPHA+XG4gICAgICA8c3BhbiAqbmdJZj1cIm11bHRpbWVkaWFPbiAmJiBwbGF5YmFja01zZyA9PT0gJ2xvYWRpbmcnXCI+e3tcbiAgICAgICAgXCJMb2FkaW5nIG11bHRpbWVkaWEgY29udGVudCAuLi5cIiB8IHJweFRyYW5zbGF0ZVxuICAgICAgfX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFtdWx0aW1lZGlhT25cIlxuICAgICAgICA+e3sgXCJNdWx0aW1lZGlhIHBsYXliYWNrIGlzIG5vdCBlbmFibGVkLCBcIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJtdWx0aW1lZGlhT24gJiYgcGxheWJhY2tNc2cgPT09ICdzdWNjZXNzJ1wiXG4gICAgICAgID57eyBcIlVzZSB0aGUgcGxheWVyIHRvIHBsYXkgdG8gdGhlIGZpbGUgb3JcIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJtdWx0aW1lZGlhT24gJiYgcGxheWJhY2tNc2cgPT09ICdlcnJvcidcIlxuICAgICAgICA+e3sgXCJNaW1lIHR5cGUgbm90IHN1cHBvcnRlZC5cIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPGFcbiAgICAgICAgKm5nSWY9XCIhbXVsdGltZWRpYU9uIHx8IHBsYXliYWNrTXNnICE9PSAnbG9hZGluZydcIlxuICAgICAgICAjZG93bmxvYWRMaW5rXG4gICAgICAgIFtocmVmXT1cInVybFwiXG4gICAgICAgIFtkb3dubG9hZF09XCJkb3dubG9hZEZpbGVOYW1lXCJcbiAgICAgICAgPnt7IFwiQ2xpY2sgaGVyZSB0byBkb3dubG9hZFwiIHwgcnB4VHJhbnNsYXRlIH19PC9hXG4gICAgICA+XG4gICAgPC9wPlxuICAgIDx2aWRlb1xuICAgICAgI3ZpZGVvUGxheWVyXG4gICAgICAqbmdJZj1cIm11bHRpbWVkaWFPblwiXG4gICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICBwcmVsb2FkPVwiYXV0b1wiXG4gICAgICAoY2FucGxheSk9XCJvblN1Y2Nlc3MoKVwiXG4gICAgICBjb250cm9sc1xuICAgID5cbiAgICAgIDxzb3VyY2UgKGVycm9yKT1cIm9uRXJyb3IoKVwiIFtzcmNdPVwidXJsXCIgdHlwZT1cInZpZGVvL21wNFwiIC8+XG4gICAgICA8c291cmNlXG4gICAgICAgIChlcnJvcik9XCJvbkVycm9yKClcIlxuICAgICAgICBbc3JjXT1cInVybFwiXG4gICAgICAgIHR5cGU9XCJ2aWRlby9tcDQ7IGNvZGVjcz0nYXZjMSwgYXYwMSwgaHZjMSwgaGV2MSwgbXA0diwgbXA0YS40MC4yLCBvcHVzJ1wiXG4gICAgICAvPlxuICAgICAgPHNvdXJjZSAoZXJyb3IpPVwib25FcnJvcigpXCIgW3NyY109XCJ1cmxcIiB0eXBlPVwidmlkZW8vb2dnXCIgLz5cbiAgICAgIDxzb3VyY2VcbiAgICAgICAgKGVycm9yKT1cIm9uRXJyb3IoKVwiXG4gICAgICAgIFtzcmNdPVwidXJsXCJcbiAgICAgICAgdHlwZT1cInZpZGVvL29nZzsgY29kZWNzPSd0aGVvcmEsIHZwOCwgdnA5LCBmbGFjLCBvcHVzLCB2b3JiaXMnXCJcbiAgICAgIC8+XG4gICAgICA8c291cmNlIChlcnJvcik9XCJvbkVycm9yKClcIiBbc3JjXT1cInVybFwiIHR5cGU9XCJ2aWRlby93ZWJtXCIgLz5cbiAgICAgIDxzb3VyY2VcbiAgICAgICAgKGVycm9yKT1cIm9uRXJyb3IoKVwiXG4gICAgICAgIFtzcmNdPVwidXJsXCJcbiAgICAgICAgdHlwZT1cInZpZGVvL3dlYm07IGNvZGVjcz0ndnA4LCB2cDksIHZvcmJpcywgb3B1cydcIlxuICAgICAgLz5cbiAgICA8L3ZpZGVvPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19