@hmcts/media-viewer 4.1.9-cme-776-angular-20 → 4.1.9

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 (372) hide show
  1. package/assets/all.scss +1 -0
  2. package/assets/sass/tooltip.scss +50 -0
  3. package/esm2022/hmcts-media-viewer.mjs +5 -0
  4. package/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +122 -0
  5. package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +120 -0
  6. package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +101 -0
  7. package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
  8. package/esm2022/lib/annotations/annotation-set/annotation-set.model.mjs +2 -0
  9. package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
  10. package/esm2022/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +2 -0
  11. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
  12. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +2 -0
  13. package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +119 -0
  14. package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +86 -0
  15. package/esm2022/lib/annotations/annotations.module.mjs +162 -0
  16. package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +178 -0
  17. package/esm2022/lib/annotations/comment-set/comment/comment.model.mjs +2 -0
  18. package/esm2022/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
  19. package/esm2022/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
  20. package/esm2022/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +31 -0
  21. package/esm2022/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
  22. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +62 -0
  23. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +54 -0
  24. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +72 -0
  25. package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +55 -0
  26. package/esm2022/lib/annotations/comment-set/comment-set.component.mjs +123 -0
  27. package/esm2022/lib/annotations/comments-summary/comments-summary.component.mjs +120 -0
  28. package/esm2022/lib/annotations/models/api-persisted.model.mjs +2 -0
  29. package/esm2022/lib/annotations/models/event-select.model.mjs +2 -0
  30. package/esm2022/lib/annotations/models/tags.model.mjs +2 -0
  31. package/esm2022/lib/annotations/models/user.model.mjs +2 -0
  32. package/esm2022/lib/annotations/pipes/date/date.pipe.mjs +26 -0
  33. package/esm2022/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
  34. package/esm2022/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +16 -0
  35. package/esm2022/lib/annotations/services/annotation-api/annotation-api.service.mjs +58 -0
  36. package/esm2022/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +45 -0
  37. package/esm2022/lib/annotations/services/tags/tags.services.mjs +41 -0
  38. package/esm2022/lib/annotations/tags/tags.component.mjs +53 -0
  39. package/esm2022/lib/bookmark/components/bookmark-icons.component.mjs +25 -0
  40. package/esm2022/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +22 -0
  41. package/esm2022/lib/icp/icp-follower.service.mjs +65 -0
  42. package/esm2022/lib/icp/icp-presenter.service.mjs +56 -0
  43. package/esm2022/lib/icp/icp-session-api.service.mjs +28 -0
  44. package/esm2022/lib/icp/icp-update.service.mjs +73 -0
  45. package/esm2022/lib/icp/icp.events.mjs +15 -0
  46. package/esm2022/lib/icp/icp.interfaces.mjs +2 -0
  47. package/esm2022/lib/icp/icp.service.mjs +98 -0
  48. package/esm2022/lib/icp/participants-list/participants-list.component.mjs +32 -0
  49. package/esm2022/lib/icp/socket.service.mjs +128 -0
  50. package/esm2022/lib/media-viewer.component.mjs +247 -0
  51. package/esm2022/lib/media-viewer.module.mjs +139 -0
  52. package/esm2022/lib/print.service.mjs +32 -0
  53. package/esm2022/lib/redaction/components/redaction.component.mjs +91 -0
  54. package/esm2022/lib/redaction/services/redaction-api.service.mjs +50 -0
  55. package/esm2022/lib/redaction/services/redaction.model.mjs +2 -0
  56. package/esm2022/lib/shared/directives/tooltip-dismiss.directive.mjs +36 -0
  57. package/esm2022/lib/shared/gov-uk-date/gov-uk-date.component.mjs +28 -0
  58. package/esm2022/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +34 -0
  59. package/esm2022/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +63 -0
  60. package/esm2022/lib/shared/gov-uk-label/gov-uk-label.component.mjs +44 -0
  61. package/esm2022/lib/shared/shared.module.mjs +53 -0
  62. package/esm2022/lib/shared/util/helpers/html-templates.helper.mjs +29 -0
  63. package/esm2022/lib/shared/util/services/number.helper.service.mjs +23 -0
  64. package/esm2022/lib/store/actions/annotation.actions.mjs +119 -0
  65. package/esm2022/lib/store/actions/bookmark.actions.mjs +112 -0
  66. package/esm2022/lib/store/actions/document.actions.mjs +91 -0
  67. package/esm2022/lib/store/actions/icp.actions.mjs +56 -0
  68. package/esm2022/lib/store/actions/redaction.actions.mjs +132 -0
  69. package/esm2022/lib/store/actions/tag.actions.mjs +21 -0
  70. package/esm2022/lib/store/bookmarks-store-utils.mjs +49 -0
  71. package/esm2022/lib/store/effects/annotation.effects.mjs +51 -0
  72. package/esm2022/lib/store/effects/bookmarks.effects.mjs +44 -0
  73. package/esm2022/lib/store/effects/document.effects.mjs +44 -0
  74. package/esm2022/lib/store/effects/icp.effects.mjs +26 -0
  75. package/esm2022/lib/store/effects/index.mjs +7 -0
  76. package/esm2022/lib/store/effects/redaction.effects.mjs +67 -0
  77. package/esm2022/lib/store/models/bookmarks.interface.mjs +2 -0
  78. package/esm2022/lib/store/models/filters.interface.mjs +2 -0
  79. package/esm2022/lib/store/reducers/annotations.reducer.mjs +208 -0
  80. package/esm2022/lib/store/reducers/bookmarks.reducer.mjs +125 -0
  81. package/esm2022/lib/store/reducers/document.reducer.mjs +158 -0
  82. package/esm2022/lib/store/reducers/icp.reducer.mjs +56 -0
  83. package/esm2022/lib/store/reducers/redaction.reducer.mjs +116 -0
  84. package/esm2022/lib/store/reducers/reducers.mjs +23 -0
  85. package/esm2022/lib/store/reducers/tags.reducer.mjs +93 -0
  86. package/esm2022/lib/store/selectors/annotation.selectors.mjs +81 -0
  87. package/esm2022/lib/store/selectors/bookmark.selectors.mjs +37 -0
  88. package/esm2022/lib/store/selectors/document.selectors.mjs +13 -0
  89. package/esm2022/lib/store/selectors/icp.selectors.mjs +13 -0
  90. package/esm2022/lib/store/selectors/redaction.selectors.mjs +26 -0
  91. package/esm2022/lib/store/selectors/tag.selectors.mjs +15 -0
  92. package/esm2022/lib/store/store-utils.mjs +131 -0
  93. package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +46 -0
  94. package/esm2022/lib/toolbar/icp-event.service.mjs +44 -0
  95. package/esm2022/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +43 -0
  96. package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +207 -0
  97. package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +237 -0
  98. package/esm2022/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +2 -0
  99. package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +69 -0
  100. package/esm2022/lib/toolbar/search-bar/search-bar.component.mjs +109 -0
  101. package/esm2022/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
  102. package/esm2022/lib/toolbar/toolbar-event.service.mjs +178 -0
  103. package/esm2022/lib/toolbar/toolbar.module.mjs +75 -0
  104. package/esm2022/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +82 -0
  105. package/esm2022/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +22 -0
  106. package/esm2022/lib/viewers/grab-n-drag.directive.mjs +57 -0
  107. package/esm2022/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
  108. package/esm2022/lib/viewers/multimedia-player/multimedia-player.component.mjs +59 -0
  109. package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +266 -0
  110. package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +40 -0
  111. package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +242 -0
  112. package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +379 -0
  113. package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +2 -0
  114. package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
  115. package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +2 -0
  116. package/esm2022/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +99 -0
  117. package/esm2022/lib/viewers/rotation-persist/rotation-api.service.mjs +27 -0
  118. package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +61 -0
  119. package/esm2022/lib/viewers/rotation-persist/rotation.model.mjs +2 -0
  120. package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
  121. package/esm2022/lib/viewers/viewer-event.service.mjs +34 -0
  122. package/esm2022/lib/viewers/viewer-exception.model.mjs +13 -0
  123. package/esm2022/lib/viewers/viewer-util.service.mjs +20 -0
  124. package/esm2022/public_api.mjs +33 -0
  125. package/fesm2022/hmcts-media-viewer.mjs +320 -295
  126. package/fesm2022/hmcts-media-viewer.mjs.map +1 -1
  127. package/hmcts-media-viewer.d.ts.map +1 -0
  128. package/index.d.ts +4 -2305
  129. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +48 -0
  130. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -0
  131. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +32 -0
  132. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +1 -0
  133. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +18 -0
  134. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -0
  135. package/lib/annotations/annotation-set/annotation-set.component.d.ts +27 -0
  136. package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +1 -0
  137. package/lib/annotations/annotation-set/annotation-set.model.d.ts +7 -0
  138. package/lib/annotations/annotation-set/annotation-set.model.d.ts.map +1 -0
  139. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +34 -0
  140. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -0
  141. package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts +16 -0
  142. package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts.map +1 -0
  143. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +41 -0
  144. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +1 -0
  145. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts +9 -0
  146. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts.map +1 -0
  147. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +37 -0
  148. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +1 -0
  149. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +37 -0
  150. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -0
  151. package/lib/annotations/annotations.module.d.ts +36 -0
  152. package/lib/annotations/annotations.module.d.ts.map +1 -0
  153. package/lib/annotations/comment-set/comment/comment.component.d.ts +69 -0
  154. package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -0
  155. package/lib/annotations/comment-set/comment/comment.model.d.ts +13 -0
  156. package/lib/annotations/comment-set/comment/comment.model.d.ts.map +1 -0
  157. package/lib/annotations/comment-set/comment/comment.service.d.ts +22 -0
  158. package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -0
  159. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +14 -0
  160. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +1 -0
  161. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +12 -0
  162. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +1 -0
  163. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +28 -0
  164. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +1 -0
  165. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +26 -0
  166. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +1 -0
  167. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +21 -0
  168. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +1 -0
  169. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +36 -0
  170. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -0
  171. package/lib/annotations/comment-set/comment-set-render.service.d.ts +15 -0
  172. package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +1 -0
  173. package/lib/annotations/comment-set/comment-set.component.d.ts +56 -0
  174. package/lib/annotations/comment-set/comment-set.component.d.ts.map +1 -0
  175. package/lib/annotations/comments-summary/comments-summary.component.d.ts +42 -0
  176. package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +1 -0
  177. package/lib/annotations/models/api-persisted.model.d.ts +11 -0
  178. package/lib/annotations/models/api-persisted.model.d.ts.map +1 -0
  179. package/lib/annotations/models/event-select.model.d.ts +6 -0
  180. package/lib/annotations/models/event-select.model.d.ts.map +1 -0
  181. package/lib/annotations/models/tags.model.d.ts +7 -0
  182. package/lib/annotations/models/tags.model.d.ts.map +1 -0
  183. package/lib/annotations/models/user.model.d.ts +6 -0
  184. package/lib/annotations/models/user.model.d.ts.map +1 -0
  185. package/lib/annotations/pipes/date/date.pipe.d.ts +16 -0
  186. package/lib/annotations/pipes/date/date.pipe.d.ts.map +1 -0
  187. package/lib/annotations/pipes/filter/filter.pipe.d.ts +8 -0
  188. package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +1 -0
  189. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +8 -0
  190. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +1 -0
  191. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +28 -0
  192. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +1 -0
  193. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +21 -0
  194. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +1 -0
  195. package/lib/annotations/services/tags/tags.services.d.ts +18 -0
  196. package/lib/annotations/services/tags/tags.services.d.ts.map +1 -0
  197. package/lib/annotations/tags/tags.component.d.ts +28 -0
  198. package/lib/annotations/tags/tags.component.d.ts.map +1 -0
  199. package/lib/bookmark/components/bookmark-icons.component.d.ts +19 -0
  200. package/lib/bookmark/components/bookmark-icons.component.d.ts.map +1 -0
  201. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +11 -0
  202. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +1 -0
  203. package/lib/icp/icp-follower.service.d.ts +26 -0
  204. package/lib/icp/icp-follower.service.d.ts.map +1 -0
  205. package/lib/icp/icp-presenter.service.d.ts +25 -0
  206. package/lib/icp/icp-presenter.service.d.ts.map +1 -0
  207. package/lib/icp/icp-session-api.service.d.ts +15 -0
  208. package/lib/icp/icp-session-api.service.d.ts.map +1 -0
  209. package/lib/icp/icp-update.service.d.ts +22 -0
  210. package/lib/icp/icp-update.service.d.ts.map +1 -0
  211. package/lib/icp/icp.events.d.ts +14 -0
  212. package/lib/icp/icp.events.d.ts.map +1 -0
  213. package/lib/icp/icp.interfaces.d.ts +23 -0
  214. package/lib/icp/icp.interfaces.d.ts.map +1 -0
  215. package/lib/icp/icp.service.d.ts +40 -0
  216. package/lib/icp/icp.service.d.ts.map +1 -0
  217. package/lib/icp/participants-list/participants-list.component.d.ts +23 -0
  218. package/lib/icp/participants-list/participants-list.component.d.ts.map +1 -0
  219. package/lib/icp/socket.service.d.ts +29 -0
  220. package/lib/icp/socket.service.d.ts.map +1 -0
  221. package/lib/media-viewer.component.d.ts +72 -0
  222. package/lib/media-viewer.component.d.ts.map +1 -0
  223. package/lib/media-viewer.module.d.ts +36 -0
  224. package/lib/media-viewer.module.d.ts.map +1 -0
  225. package/lib/print.service.d.ts +8 -0
  226. package/lib/print.service.d.ts.map +1 -0
  227. package/lib/redaction/components/redaction.component.d.ts +42 -0
  228. package/lib/redaction/components/redaction.component.d.ts.map +1 -0
  229. package/lib/redaction/services/redaction-api.service.d.ts +20 -0
  230. package/lib/redaction/services/redaction-api.service.d.ts.map +1 -0
  231. package/lib/redaction/services/redaction.model.d.ts +11 -0
  232. package/lib/redaction/services/redaction.model.d.ts.map +1 -0
  233. package/lib/shared/directives/tooltip-dismiss.directive.d.ts +11 -0
  234. package/lib/shared/directives/tooltip-dismiss.directive.d.ts.map +1 -0
  235. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +15 -0
  236. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +1 -0
  237. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +11 -0
  238. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +1 -0
  239. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +16 -0
  240. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +1 -0
  241. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +14 -0
  242. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +1 -0
  243. package/lib/shared/shared.module.d.ts +14 -0
  244. package/lib/shared/shared.module.d.ts.map +1 -0
  245. package/lib/shared/util/helpers/html-templates.helper.d.ts +9 -0
  246. package/lib/shared/util/helpers/html-templates.helper.d.ts.map +1 -0
  247. package/lib/shared/util/services/number.helper.service.d.ts +11 -0
  248. package/lib/shared/util/services/number.helper.service.d.ts.map +1 -0
  249. package/lib/store/actions/annotation.actions.d.ts +126 -0
  250. package/lib/store/actions/annotation.actions.d.ts.map +1 -0
  251. package/lib/store/actions/bookmark.actions.d.ts +117 -0
  252. package/lib/store/actions/bookmark.actions.d.ts.map +1 -0
  253. package/lib/store/actions/document.actions.d.ts +90 -0
  254. package/lib/store/actions/document.actions.d.ts.map +1 -0
  255. package/lib/store/actions/icp.actions.d.ts +75 -0
  256. package/lib/store/actions/icp.actions.d.ts.map +1 -0
  257. package/lib/store/actions/redaction.actions.d.ts +127 -0
  258. package/lib/store/actions/redaction.actions.d.ts.map +1 -0
  259. package/lib/store/actions/tag.actions.d.ts +30 -0
  260. package/lib/store/actions/tag.actions.d.ts.map +1 -0
  261. package/lib/store/bookmarks-store-utils.d.ts +9 -0
  262. package/lib/store/bookmarks-store-utils.d.ts.map +1 -0
  263. package/lib/store/effects/annotation.effects.d.ts +16 -0
  264. package/lib/store/effects/annotation.effects.d.ts.map +1 -0
  265. package/lib/store/effects/bookmarks.effects.d.ts +21 -0
  266. package/lib/store/effects/bookmarks.effects.d.ts.map +1 -0
  267. package/lib/store/effects/document.effects.d.ts +17 -0
  268. package/lib/store/effects/document.effects.d.ts.map +1 -0
  269. package/lib/store/effects/icp.effects.d.ts +16 -0
  270. package/lib/store/effects/icp.effects.d.ts.map +1 -0
  271. package/lib/store/effects/index.d.ts +2 -0
  272. package/lib/store/effects/index.d.ts.map +1 -0
  273. package/lib/store/effects/redaction.effects.d.ts +20 -0
  274. package/lib/store/effects/redaction.effects.d.ts.map +1 -0
  275. package/lib/store/models/bookmarks.interface.d.ts +31 -0
  276. package/lib/store/models/bookmarks.interface.d.ts.map +1 -0
  277. package/lib/store/models/filters.interface.d.ts +8 -0
  278. package/lib/store/models/filters.interface.d.ts.map +1 -0
  279. package/lib/store/reducers/annotations.reducer.d.ts +48 -0
  280. package/lib/store/reducers/annotations.reducer.d.ts.map +1 -0
  281. package/lib/store/reducers/bookmarks.reducer.d.ts +27 -0
  282. package/lib/store/reducers/bookmarks.reducer.d.ts.map +1 -0
  283. package/lib/store/reducers/document.reducer.d.ts +52 -0
  284. package/lib/store/reducers/document.reducer.d.ts.map +1 -0
  285. package/lib/store/reducers/icp.reducer.d.ts +9 -0
  286. package/lib/store/reducers/icp.reducer.d.ts.map +1 -0
  287. package/lib/store/reducers/redaction.reducer.d.ts +32 -0
  288. package/lib/store/reducers/redaction.reducer.d.ts.map +1 -0
  289. package/lib/store/reducers/reducers.d.ts +24 -0
  290. package/lib/store/reducers/reducers.d.ts.map +1 -0
  291. package/lib/store/reducers/tags.reducer.d.ts +32 -0
  292. package/lib/store/reducers/tags.reducer.d.ts.map +1 -0
  293. package/lib/store/selectors/annotation.selectors.d.ts +136 -0
  294. package/lib/store/selectors/annotation.selectors.d.ts.map +1 -0
  295. package/lib/store/selectors/bookmark.selectors.d.ts +38 -0
  296. package/lib/store/selectors/bookmark.selectors.d.ts.map +1 -0
  297. package/lib/store/selectors/document.selectors.d.ts +23 -0
  298. package/lib/store/selectors/document.selectors.d.ts.map +1 -0
  299. package/lib/store/selectors/icp.selectors.d.ts +10 -0
  300. package/lib/store/selectors/icp.selectors.d.ts.map +1 -0
  301. package/lib/store/selectors/redaction.selectors.d.ts +35 -0
  302. package/lib/store/selectors/redaction.selectors.d.ts.map +1 -0
  303. package/lib/store/selectors/tag.selectors.d.ts +28 -0
  304. package/lib/store/selectors/tag.selectors.d.ts.map +1 -0
  305. package/lib/store/store-utils.d.ts +25 -0
  306. package/lib/store/store-utils.d.ts.map +1 -0
  307. package/lib/toolbar/highlight-toolbar/highlight-toolbar.component.d.ts +20 -0
  308. package/lib/toolbar/highlight-toolbar/highlight-toolbar.component.d.ts.map +1 -0
  309. package/lib/toolbar/icp-event.service.d.ts +21 -0
  310. package/lib/toolbar/icp-event.service.d.ts.map +1 -0
  311. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +24 -0
  312. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +1 -0
  313. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +69 -0
  314. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -0
  315. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +60 -0
  316. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +1 -0
  317. package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts +12 -0
  318. package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts.map +1 -0
  319. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +30 -0
  320. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -0
  321. package/lib/toolbar/search-bar/search-bar.component.d.ts +34 -0
  322. package/lib/toolbar/search-bar/search-bar.component.d.ts.map +1 -0
  323. package/lib/toolbar/toolbar-button-visibility.service.d.ts +67 -0
  324. package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +1 -0
  325. package/lib/toolbar/toolbar-event.service.d.ts +96 -0
  326. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -0
  327. package/lib/toolbar/toolbar.module.d.ts +20 -0
  328. package/lib/toolbar/toolbar.module.d.ts.map +1 -0
  329. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +31 -0
  330. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +1 -0
  331. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +12 -0
  332. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +1 -0
  333. package/lib/viewers/grab-n-drag.directive.d.ts +19 -0
  334. package/lib/viewers/grab-n-drag.directive.d.ts.map +1 -0
  335. package/lib/viewers/image-viewer/image-viewer.component.d.ts +57 -0
  336. package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +1 -0
  337. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +25 -0
  338. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +1 -0
  339. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts +69 -0
  340. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -0
  341. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +17 -0
  342. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +1 -0
  343. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +82 -0
  344. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -0
  345. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +82 -0
  346. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -0
  347. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts +22 -0
  348. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts.map +1 -0
  349. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +20 -0
  350. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -0
  351. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts +14 -0
  352. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts.map +1 -0
  353. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +42 -0
  354. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -0
  355. package/lib/viewers/rotation-persist/rotation-api.service.d.ts +14 -0
  356. package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +1 -0
  357. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +27 -0
  358. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +1 -0
  359. package/lib/viewers/rotation-persist/rotation.model.d.ts +5 -0
  360. package/lib/viewers/rotation-persist/rotation.model.d.ts.map +1 -0
  361. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +23 -0
  362. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +1 -0
  363. package/lib/viewers/viewer-event.service.d.ts +23 -0
  364. package/lib/viewers/viewer-event.service.d.ts.map +1 -0
  365. package/lib/viewers/viewer-exception.model.d.ts +15 -0
  366. package/lib/viewers/viewer-exception.model.d.ts.map +1 -0
  367. package/lib/viewers/viewer-util.service.d.ts +10 -0
  368. package/lib/viewers/viewer-util.service.d.ts.map +1 -0
  369. package/package.json +12 -10
  370. package/public_api.d.ts +30 -0
  371. package/public_api.d.ts.map +1 -0
  372. package/index.d.ts.map +0 -1
@@ -0,0 +1,99 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { select } from '@ngrx/store';
3
+ import * as bookmarksSelectors from '../../../store/selectors/bookmark.selectors';
4
+ import { LoadBookmarks } from '../../../store/actions/bookmark.actions';
5
+ import { BookmarksComponent } from './bookmarks/bookmarks.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../viewer-event.service";
8
+ import * as i2 from "@ngrx/store";
9
+ import * as i3 from "../../../toolbar/toolbar-event.service";
10
+ import * as i4 from "@angular/common";
11
+ import * as i5 from "@angular/cdk/scrolling";
12
+ import * as i6 from "./bookmarks/bookmarks.component";
13
+ import * as i7 from "./outline-item/outline-item.component";
14
+ import * as i8 from "rpx-xui-translation";
15
+ export class SideBarComponent {
16
+ constructor(viewerEvents, store, toolbarEvents) {
17
+ this.viewerEvents = viewerEvents;
18
+ this.store = store;
19
+ this.toolbarEvents = toolbarEvents;
20
+ this.treeChanged = false;
21
+ this.selectedView = 'outline';
22
+ this.subscriptions = [];
23
+ }
24
+ ngOnInit() {
25
+ this.bookmarkNodes$ = this.store.pipe(select(bookmarksSelectors.getBookmarkNodes));
26
+ this.subscriptions.push(this.store.pipe(select(bookmarksSelectors.getEditableBookmark))
27
+ .subscribe(editable => this.selectedView = editable ? 'bookmarks' : this.selectedView));
28
+ this.subscriptions.push(this.toolbarEvents.sidebarOutlineView.subscribe(toggle => {
29
+ this.selectedView = toggle ? 'outline' : 'bookmarks';
30
+ }), this.toolbarEvents.sidebarOpen.subscribe(toggle => {
31
+ this.sidebarOpen = toggle;
32
+ }));
33
+ this.subscriptions.push(this.store.pipe(select(bookmarksSelectors.getScrollTop)).subscribe(scrollTopValue => {
34
+ if (this.sidebarDiv?.nativeElement) {
35
+ this.sidebarDiv.nativeElement.scrollTop = scrollTopValue;
36
+ }
37
+ }));
38
+ }
39
+ ngOnChanges(changes) {
40
+ if (changes.url && this.url) {
41
+ this.store.dispatch(new LoadBookmarks());
42
+ }
43
+ }
44
+ ngOnDestroy() {
45
+ if (this.subscriptions.length > 0) {
46
+ this.subscriptions.forEach(subscription => subscription.unsubscribe());
47
+ }
48
+ }
49
+ onScroll(event) {
50
+ if (!this.treeChanged) {
51
+ this.scrollTop = event.srcElement.scrollTop;
52
+ }
53
+ this.treeChanged = false;
54
+ }
55
+ goToDestination(destination) {
56
+ this.viewerEvents.goToDestination(destination);
57
+ }
58
+ hasTreeChanged(value) {
59
+ this.treeChanged = value;
60
+ }
61
+ toggleSidebarView(sidebarView) {
62
+ this.selectedView = sidebarView;
63
+ }
64
+ isViewedItem(current, next) {
65
+ if (current.pageNumber === this.currentPageNumber) {
66
+ return true;
67
+ }
68
+ return next === undefined ? current.pageNumber <= this.currentPageNumber :
69
+ current.pageNumber <= this.currentPageNumber && (next.pageNumber > this.currentPageNumber);
70
+ }
71
+ findEndPage(next) {
72
+ return next === undefined ? Number.MAX_SAFE_INTEGER : next.pageNumber;
73
+ }
74
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SideBarComponent, deps: [{ token: i1.ViewerEventService }, { token: i2.Store }, { token: i3.ToolbarEventService }], target: i0.ɵɵFactoryTarget.Component }); }
75
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SideBarComponent, selector: "mv-side-bar", inputs: { annotationsEnabled: "annotationsEnabled", outline: "outline", url: "url", zoom: "zoom", rotate: "rotate", currentPageNumber: "currentPageNumber" }, viewQueries: [{ propertyName: "bookmarks", first: true, predicate: BookmarksComponent, descendants: true }, { propertyName: "sidebarDiv", first: true, predicate: ["sidebar"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"toolbarSidebar\">\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n class=\"splitToolbarButton toggled\"\n >\n <button\n id=\"sortBookmarkPosition\"\n class=\"splitToolbarButton left bookmark__sort__position\"\n (click)=\"bookmarks.sort(bookmarks.positionSort)\"\n title=\"Order by place in document\"\n aria-pressed=\"true\"\n ></button>\n <button\n id=\"sortBookmarkCustom\"\n class=\"splitToolbarButton left bookmark__sort__custom\"\n (click)=\"bookmarks.sort(bookmarks.customSort)\"\n title=\"Order manually\"\n aria-pressed=\"true\"\n ></button>\n </div>\n <div class=\"splitToolbarButtonSeparator\"></div>\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n class=\"splitToolbarButton right\"\n >\n <button\n id=\"addBookmark\"\n class=\"toolbarButton addBookmark\"\n (click)=\"bookmarks.onAddBookmarkClick()\"\n title=\"Add bookmark\"\n tabindex=\"3\"\n data-l10n-id=\"addBookmark\"\n >\n <span data-l10n-id=\"addBookmark_label\">{{\n \"Add bookmark\" | rpxTranslate\n }}</span>\n </button>\n </div>\n</div>\n<div #sidebar id=\"sidebarContent\" cdkScrollable (scroll)=\"onScroll($event)\" [hidden]=\"!sidebarOpen\">\n <div id=\"outlineView\" class=\"outlineWithDeepNesting\">\n <div class=\"outlineItem\" *ngIf=\"selectedView === 'outline'\">\n <mv-outline-item\n *ngFor=\"let outlineItem of outline; index as i\"\n [outline]=\"outlineItem\"\n [currentPageNumber]=\"currentPageNumber\"\n [isCurrentSection]=\"isViewedItem(outlineItem, outline[i + 1])\"\n [endPage]=\"findEndPage(outline[i + 1])\"\n (navigationEvent)=\"goToDestination($event)\"\n ></mv-outline-item>\n </div>\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n id=\"bookmarkContainer\"\n >\n <mv-bookmarks\n [bookmarkNodes]=\"bookmarkNodes$ | async\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [parentScrollTop]=\"scrollTop\"\n (goToDestination)=\"goToDestination($event)\"\n (treeHasChanged)=\"hasTreeChanged($event)\"\n ></mv-bookmarks>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i6.BookmarksComponent, selector: "mv-bookmarks", inputs: ["bookmarkNodes", "zoom", "rotate", "parentScrollTop"], outputs: ["goToDestination", "treeHasChanged"] }, { kind: "component", type: i7.OutlineItemComponent, selector: "mv-outline-item", inputs: ["outline", "currentPageNumber", "isCurrentSection", "endPage"], outputs: ["navigationEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.RpxTranslatePipe, name: "rpxTranslate" }] }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SideBarComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'mv-side-bar', template: "<div id=\"toolbarSidebar\">\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n class=\"splitToolbarButton toggled\"\n >\n <button\n id=\"sortBookmarkPosition\"\n class=\"splitToolbarButton left bookmark__sort__position\"\n (click)=\"bookmarks.sort(bookmarks.positionSort)\"\n title=\"Order by place in document\"\n aria-pressed=\"true\"\n ></button>\n <button\n id=\"sortBookmarkCustom\"\n class=\"splitToolbarButton left bookmark__sort__custom\"\n (click)=\"bookmarks.sort(bookmarks.customSort)\"\n title=\"Order manually\"\n aria-pressed=\"true\"\n ></button>\n </div>\n <div class=\"splitToolbarButtonSeparator\"></div>\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n class=\"splitToolbarButton right\"\n >\n <button\n id=\"addBookmark\"\n class=\"toolbarButton addBookmark\"\n (click)=\"bookmarks.onAddBookmarkClick()\"\n title=\"Add bookmark\"\n tabindex=\"3\"\n data-l10n-id=\"addBookmark\"\n >\n <span data-l10n-id=\"addBookmark_label\">{{\n \"Add bookmark\" | rpxTranslate\n }}</span>\n </button>\n </div>\n</div>\n<div #sidebar id=\"sidebarContent\" cdkScrollable (scroll)=\"onScroll($event)\" [hidden]=\"!sidebarOpen\">\n <div id=\"outlineView\" class=\"outlineWithDeepNesting\">\n <div class=\"outlineItem\" *ngIf=\"selectedView === 'outline'\">\n <mv-outline-item\n *ngFor=\"let outlineItem of outline; index as i\"\n [outline]=\"outlineItem\"\n [currentPageNumber]=\"currentPageNumber\"\n [isCurrentSection]=\"isViewedItem(outlineItem, outline[i + 1])\"\n [endPage]=\"findEndPage(outline[i + 1])\"\n (navigationEvent)=\"goToDestination($event)\"\n ></mv-outline-item>\n </div>\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n id=\"bookmarkContainer\"\n >\n <mv-bookmarks\n [bookmarkNodes]=\"bookmarkNodes$ | async\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [parentScrollTop]=\"scrollTop\"\n (goToDestination)=\"goToDestination($event)\"\n (treeHasChanged)=\"hasTreeChanged($event)\"\n ></mv-bookmarks>\n </div>\n </div>\n</div>\n" }]
80
+ }], ctorParameters: () => [{ type: i1.ViewerEventService }, { type: i2.Store }, { type: i3.ToolbarEventService }], propDecorators: { annotationsEnabled: [{
81
+ type: Input
82
+ }], outline: [{
83
+ type: Input
84
+ }], url: [{
85
+ type: Input
86
+ }], zoom: [{
87
+ type: Input
88
+ }], rotate: [{
89
+ type: Input
90
+ }], currentPageNumber: [{
91
+ type: Input
92
+ }], bookmarks: [{
93
+ type: ViewChild,
94
+ args: [BookmarksComponent]
95
+ }], sidebarDiv: [{
96
+ type: ViewChild,
97
+ args: ['sidebar']
98
+ }] } });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdmlld2Vycy9wZGYtdmlld2VyL3NpZGUtYmFyL3NpZGUtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9zaWRlLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBNEIsS0FBSyxFQUErQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEosT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEtBQUssa0JBQWtCLE1BQU0sNkNBQTZDLENBQUM7QUFFbEYsT0FBTyxFQUFrQixhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU14RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7OztBQU1yRSxNQUFNLE9BQU8sZ0JBQWdCO0lBb0IzQixZQUFvQixZQUFnQyxFQUMxQyxLQUE0QixFQUNuQixhQUFrQztRQUZqQyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDMUMsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBWHJELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBS2pCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQU12QyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUNwRixTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQzFHLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQTtZQUMxRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZSxDQUFDLFdBQWtCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBbUI7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFnQixFQUFFLElBQWE7UUFDMUMsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2xELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN4RSxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFhO1FBQ3ZCLE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3hFLENBQUM7a0lBckZVLGdCQUFnQjtzSEFBaEIsZ0JBQWdCLDRQQVNoQixrQkFBa0IsNkpDM0IvQix5dUVBa0VBOzs0RkRoRGEsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLGFBQWE7NklBS2Qsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR04sU0FBUztzQkFEUixTQUFTO3VCQUFDLGtCQUFrQjtnQkFTUCxVQUFVO3NCQUEvQixTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3V0bGluZSB9IGZyb20gJy4vb3V0bGluZS1pdGVtL291dGxpbmUubW9kZWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgYm9va21hcmtzU2VsZWN0b3JzIGZyb20gJy4uLy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9ib29rbWFyay5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQm9va21hcmtOb2RlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvbW9kZWxzL2Jvb2ttYXJrcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ3JlYXRlQm9va21hcmssIExvYWRCb29rbWFya3MgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9hY3Rpb25zL2Jvb2ttYXJrLmFjdGlvbnMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ZpZXdlci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEJvb2ttYXJrc1N0YXRlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcmVkdWNlcnMvYm9va21hcmtzLnJlZHVjZXInO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEJvb2ttYXJrc0NvbXBvbmVudCB9IGZyb20gJy4vYm9va21hcmtzL2Jvb2ttYXJrcy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1zaWRlLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLWJhci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2lkZUJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGFubm90YXRpb25zRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgb3V0bGluZTogT3V0bGluZTtcbiAgQElucHV0KCkgdXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHpvb206IG51bWJlcjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlTnVtYmVyOiBudW1iZXI7XG5cbiAgQFZpZXdDaGlsZChCb29rbWFya3NDb21wb25lbnQpXG4gIGJvb2ttYXJrczogQm9va21hcmtzQ29tcG9uZW50O1xuICB0cmVlQ2hhbmdlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RlZFZpZXcgPSAnb3V0bGluZSc7XG4gIGJvb2ttYXJrTm9kZXMkOiBPYnNlcnZhYmxlPEJvb2ttYXJrTm9kZVtdPjtcbiAgc2Nyb2xsVG9wOiBhbnk7XG4gIHNpZGViYXJPcGVuOiBhbnk7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBAVmlld0NoaWxkKCdzaWRlYmFyJykgc2lkZWJhckRpdjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdlckV2ZW50czogVmlld2VyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPEJvb2ttYXJrc1N0YXRlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ib29rbWFya05vZGVzJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoYm9va21hcmtzU2VsZWN0b3JzLmdldEJvb2ttYXJrTm9kZXMpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGJvb2ttYXJrc1NlbGVjdG9ycy5nZXRFZGl0YWJsZUJvb2ttYXJrKSlcbiAgICAgIC5zdWJzY3JpYmUoZWRpdGFibGUgPT4gdGhpcy5zZWxlY3RlZFZpZXcgPSBlZGl0YWJsZSA/ICdib29rbWFya3MnIDogdGhpcy5zZWxlY3RlZFZpZXcpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zaWRlYmFyT3V0bGluZVZpZXcuc3Vic2NyaWJlKHRvZ2dsZSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWaWV3ID0gdG9nZ2xlID8gJ291dGxpbmUnIDogJ2Jvb2ttYXJrcyc7XG4gICAgICB9KSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zaWRlYmFyT3Blbi5zdWJzY3JpYmUodG9nZ2xlID0+IHtcbiAgICAgICAgdGhpcy5zaWRlYmFyT3BlbiA9IHRvZ2dsZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGJvb2ttYXJrc1NlbGVjdG9ycy5nZXRTY3JvbGxUb3ApKS5zdWJzY3JpYmUoc2Nyb2xsVG9wVmFsdWUgPT4ge1xuICAgICAgaWYgKHRoaXMuc2lkZWJhckRpdj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICB0aGlzLnNpZGViYXJEaXYubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSBzY3JvbGxUb3BWYWx1ZVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy51cmwgJiYgdGhpcy51cmwpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IExvYWRCb29rbWFya3MoKSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblNjcm9sbChldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRyZWVDaGFuZ2VkKSB7XG4gICAgICB0aGlzLnNjcm9sbFRvcCA9IGV2ZW50LnNyY0VsZW1lbnQuc2Nyb2xsVG9wO1xuICAgIH1cbiAgICB0aGlzLnRyZWVDaGFuZ2VkID0gZmFsc2U7XG4gIH1cblxuICBnb1RvRGVzdGluYXRpb24oZGVzdGluYXRpb246IGFueVtdKSB7XG4gICAgdGhpcy52aWV3ZXJFdmVudHMuZ29Ub0Rlc3RpbmF0aW9uKGRlc3RpbmF0aW9uKTtcbiAgfVxuXG4gIGhhc1RyZWVDaGFuZ2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy50cmVlQ2hhbmdlZCA9IHZhbHVlO1xuICB9XG5cbiAgdG9nZ2xlU2lkZWJhclZpZXcoc2lkZWJhclZpZXc6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRWaWV3ID0gc2lkZWJhclZpZXc7XG4gIH1cblxuICBpc1ZpZXdlZEl0ZW0oY3VycmVudDogT3V0bGluZSwgbmV4dDogT3V0bGluZSk6IGJvb2xlYW4ge1xuICAgIGlmIChjdXJyZW50LnBhZ2VOdW1iZXIgPT09IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dCA9PT0gdW5kZWZpbmVkID8gY3VycmVudC5wYWdlTnVtYmVyIDw9IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIgOlxuICAgICAgY3VycmVudC5wYWdlTnVtYmVyIDw9IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIgJiYgKG5leHQucGFnZU51bWJlciA+IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIpO1xuICB9XG5cbiAgZmluZEVuZFBhZ2UobmV4dDogT3V0bGluZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIG5leHQgPT09IHVuZGVmaW5lZCA/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSIDogbmV4dC5wYWdlTnVtYmVyO1xuICB9XG59XG4iLCI8ZGl2IGlkPVwidG9vbGJhclNpZGViYXJcIj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiYW5ub3RhdGlvbnNFbmFibGVkICYmIHNlbGVjdGVkVmlldyA9PT0gJ2Jvb2ttYXJrcydcIlxuICAgIGNsYXNzPVwic3BsaXRUb29sYmFyQnV0dG9uIHRvZ2dsZWRcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgaWQ9XCJzb3J0Qm9va21hcmtQb3NpdGlvblwiXG4gICAgICBjbGFzcz1cInNwbGl0VG9vbGJhckJ1dHRvbiBsZWZ0IGJvb2ttYXJrX19zb3J0X19wb3NpdGlvblwiXG4gICAgICAoY2xpY2spPVwiYm9va21hcmtzLnNvcnQoYm9va21hcmtzLnBvc2l0aW9uU29ydClcIlxuICAgICAgdGl0bGU9XCJPcmRlciBieSBwbGFjZSBpbiBkb2N1bWVudFwiXG4gICAgICBhcmlhLXByZXNzZWQ9XCJ0cnVlXCJcbiAgICA+PC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgaWQ9XCJzb3J0Qm9va21hcmtDdXN0b21cIlxuICAgICAgY2xhc3M9XCJzcGxpdFRvb2xiYXJCdXR0b24gbGVmdCBib29rbWFya19fc29ydF9fY3VzdG9tXCJcbiAgICAgIChjbGljayk9XCJib29rbWFya3Muc29ydChib29rbWFya3MuY3VzdG9tU29ydClcIlxuICAgICAgdGl0bGU9XCJPcmRlciBtYW51YWxseVwiXG4gICAgICBhcmlhLXByZXNzZWQ9XCJ0cnVlXCJcbiAgICA+PC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3BsaXRUb29sYmFyQnV0dG9uU2VwYXJhdG9yXCI+PC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cImFubm90YXRpb25zRW5hYmxlZCAmJiBzZWxlY3RlZFZpZXcgPT09ICdib29rbWFya3MnXCJcbiAgICBjbGFzcz1cInNwbGl0VG9vbGJhckJ1dHRvbiByaWdodFwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBpZD1cImFkZEJvb2ttYXJrXCJcbiAgICAgIGNsYXNzPVwidG9vbGJhckJ1dHRvbiBhZGRCb29rbWFya1wiXG4gICAgICAoY2xpY2spPVwiYm9va21hcmtzLm9uQWRkQm9va21hcmtDbGljaygpXCJcbiAgICAgIHRpdGxlPVwiQWRkIGJvb2ttYXJrXCJcbiAgICAgIHRhYmluZGV4PVwiM1wiXG4gICAgICBkYXRhLWwxMG4taWQ9XCJhZGRCb29rbWFya1wiXG4gICAgPlxuICAgICAgPHNwYW4gZGF0YS1sMTBuLWlkPVwiYWRkQm9va21hcmtfbGFiZWxcIj57e1xuICAgICAgICBcIkFkZCBib29rbWFya1wiIHwgcnB4VHJhbnNsYXRlXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgI3NpZGViYXIgaWQ9XCJzaWRlYmFyQ29udGVudFwiIGNka1Njcm9sbGFibGUgKHNjcm9sbCk9XCJvblNjcm9sbCgkZXZlbnQpXCIgW2hpZGRlbl09XCIhc2lkZWJhck9wZW5cIj5cbiAgPGRpdiBpZD1cIm91dGxpbmVWaWV3XCIgY2xhc3M9XCJvdXRsaW5lV2l0aERlZXBOZXN0aW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cIm91dGxpbmVJdGVtXCIgKm5nSWY9XCJzZWxlY3RlZFZpZXcgPT09ICdvdXRsaW5lJ1wiPlxuICAgICAgPG12LW91dGxpbmUtaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgb3V0bGluZUl0ZW0gb2Ygb3V0bGluZTsgaW5kZXggYXMgaVwiXG4gICAgICAgIFtvdXRsaW5lXT1cIm91dGxpbmVJdGVtXCJcbiAgICAgICAgW2N1cnJlbnRQYWdlTnVtYmVyXT1cImN1cnJlbnRQYWdlTnVtYmVyXCJcbiAgICAgICAgW2lzQ3VycmVudFNlY3Rpb25dPVwiaXNWaWV3ZWRJdGVtKG91dGxpbmVJdGVtLCBvdXRsaW5lW2kgKyAxXSlcIlxuICAgICAgICBbZW5kUGFnZV09XCJmaW5kRW5kUGFnZShvdXRsaW5lW2kgKyAxXSlcIlxuICAgICAgICAobmF2aWdhdGlvbkV2ZW50KT1cImdvVG9EZXN0aW5hdGlvbigkZXZlbnQpXCJcbiAgICAgID48L212LW91dGxpbmUtaXRlbT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImFubm90YXRpb25zRW5hYmxlZCAmJiBzZWxlY3RlZFZpZXcgPT09ICdib29rbWFya3MnXCJcbiAgICAgIGlkPVwiYm9va21hcmtDb250YWluZXJcIlxuICAgID5cbiAgICAgIDxtdi1ib29rbWFya3NcbiAgICAgICAgW2Jvb2ttYXJrTm9kZXNdPVwiYm9va21hcmtOb2RlcyQgfCBhc3luY1wiXG4gICAgICAgIFt6b29tXT1cInpvb21cIlxuICAgICAgICBbcm90YXRlXT1cInJvdGF0ZVwiXG4gICAgICAgIFtwYXJlbnRTY3JvbGxUb3BdPVwic2Nyb2xsVG9wXCJcbiAgICAgICAgKGdvVG9EZXN0aW5hdGlvbik9XCJnb1RvRGVzdGluYXRpb24oJGV2ZW50KVwiXG4gICAgICAgICh0cmVlSGFzQ2hhbmdlZCk9XCJoYXNUcmVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgID48L212LWJvb2ttYXJrcz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { catchError, map } from 'rxjs/operators';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class RotationApiService {
6
+ constructor(httpClient) {
7
+ this.httpClient = httpClient;
8
+ this.rotationApiUrl = '/em-anno/metadata';
9
+ }
10
+ getRotation(documentId) {
11
+ const fixedUrl = `${this.rotationApiUrl}/${documentId}`;
12
+ return this.httpClient
13
+ .get(fixedUrl, { observe: 'response', withCredentials: true });
14
+ }
15
+ saveRotation(payload) {
16
+ const fixedUrl = `${this.rotationApiUrl}/`;
17
+ return this.httpClient
18
+ .post(fixedUrl, payload, { observe: 'response', withCredentials: true })
19
+ .pipe(map(response => response), catchError(() => []));
20
+ }
21
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RotationApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RotationApiService }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RotationApiService, decorators: [{
25
+ type: Injectable
26
+ }], ctorParameters: () => [{ type: i1.HttpClient }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpb24tYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3JvdGF0aW9uLXBlcnNpc3Qvcm90YXRpb24tYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFJakQsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUNtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSGxDLG1CQUFjLEdBQUcsbUJBQW1CLENBQUM7SUFJekMsQ0FBQztJQUVHLFdBQVcsQ0FBQyxVQUFrQjtRQUNuQyxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksVUFBVSxFQUFFLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixHQUFHLENBQVcsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sWUFBWSxDQUFDLE9BQWlCO1FBQ25DLE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsSUFBSSxDQUFNLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFHLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUM3RSxJQUFJLENBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDckIsQ0FBQztJQUNOLENBQUM7a0lBdEJVLGtCQUFrQjtzSUFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUm90YXRpb24gfSBmcm9tICcuL3JvdGF0aW9uLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJvdGF0aW9uQXBpU2VydmljZSB7XG5cbiAgcHVibGljIHJvdGF0aW9uQXBpVXJsID0gJy9lbS1hbm5vL21ldGFkYXRhJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnRcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXRSb3RhdGlvbihkb2N1bWVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxSb3RhdGlvbj4+IHtcbiAgICBjb25zdCBmaXhlZFVybCA9IGAke3RoaXMucm90YXRpb25BcGlVcmx9LyR7ZG9jdW1lbnRJZH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8Um90YXRpb24+KGZpeGVkVXJsLCB7IG9ic2VydmU6ICdyZXNwb25zZScgLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZVJvdGF0aW9uKHBheWxvYWQ6IFJvdGF0aW9uKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Um90YXRpb24+PiB7XG4gICAgY29uc3QgZml4ZWRVcmwgPSBgJHt0aGlzLnJvdGF0aW9uQXBpVXJsfS9gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0PGFueT4oZml4ZWRVcmwsIHBheWxvYWQsIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyAsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gW10pXG4gICAgICApO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import * as fromDocumentActions from '../../store/actions/document.actions';
3
+ import { select } from '@ngrx/store';
4
+ import * as fromDocuments from '../../store/selectors/document.selectors';
5
+ import { distinctUntilChanged, filter, take } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ngrx/store";
8
+ import * as i2 from "../../toolbar/toolbar-button-visibility.service";
9
+ import * as i3 from "../../toolbar/toolbar-event.service";
10
+ export class RotationPersistDirective {
11
+ constructor(el, store, toolbarButtons, toolbarEvents) {
12
+ this.el = el;
13
+ this.store = store;
14
+ this.toolbarButtons = toolbarButtons;
15
+ this.toolbarEvents = toolbarEvents;
16
+ this.rotation = 0;
17
+ this.savedRotation = 0;
18
+ }
19
+ ngOnInit() {
20
+ this.$subscriptions = this.toolbarEvents.rotateSubject.pipe(distinctUntilChanged()).subscribe(rotation => this.onRotate(rotation));
21
+ this.$subscriptions.add(this.toolbarEvents.saveRotationSubject.subscribe(() => this.saveRotation()));
22
+ this.$subscriptions.add(this.store.pipe(select(fromDocuments.getRotation)).subscribe(rotation => this.savedRotation = rotation));
23
+ this.$subscriptions.add(this.store.pipe(select(fromDocuments.getDocumentId)).subscribe(documentId => this.documentId = documentId));
24
+ }
25
+ ngOnDestroy() {
26
+ this.$subscriptions.unsubscribe();
27
+ }
28
+ onMediaLoad(status) {
29
+ this.rotation = 0;
30
+ this.store.dispatch(new fromDocumentActions.LoadRotation(this.documentId));
31
+ this.store.pipe(select(fromDocuments.rotationLoaded), filter(value => !!value), take(1))
32
+ .subscribe(() => {
33
+ if (this.savedRotation) {
34
+ this.toolbarEvents.rotateSubject.next(this.savedRotation);
35
+ }
36
+ });
37
+ }
38
+ onRotate(rotation) {
39
+ this.rotation = (this.rotation + rotation) % 360;
40
+ this.toolbarButtons.showSaveRotationButton = this.savedRotation !== this.rotation;
41
+ }
42
+ saveRotation() {
43
+ const payload = {
44
+ documentId: this.documentId,
45
+ rotationAngle: this.rotation
46
+ };
47
+ this.store.dispatch(new fromDocumentActions.SaveRotation(payload));
48
+ }
49
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RotationPersistDirective, deps: [{ token: i0.ElementRef }, { token: i1.Store }, { token: i2.ToolbarButtonVisibilityService }, { token: i3.ToolbarEventService }], target: i0.ɵɵFactoryTarget.Directive }); }
50
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: RotationPersistDirective, selector: "[mvRotationPersist]", host: { listeners: { "mediaLoadStatus": "onMediaLoad($event)" } }, ngImport: i0 }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RotationPersistDirective, decorators: [{
53
+ type: Directive,
54
+ args: [{
55
+ selector: '[mvRotationPersist]'
56
+ }]
57
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Store }, { type: i2.ToolbarButtonVisibilityService }, { type: i3.ToolbarEventService }], propDecorators: { onMediaLoad: [{
58
+ type: HostListener,
59
+ args: ['mediaLoadStatus', ['$event']]
60
+ }] } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpb24tcGVyc2lzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3JvdGF0aW9uLXBlcnNpc3Qvcm90YXRpb24tcGVyc2lzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxhQUFhLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFZcEUsTUFBTSxPQUFPLHdCQUF3QjtJQVFuQyxZQUFvQixFQUFjLEVBQ3hCLEtBQXFDLEVBQzdCLGNBQThDLEVBQ3RELGFBQWtDO1FBSHhCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0M7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQWdDO1FBQ3RELGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVI1QyxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2Isa0JBQWEsR0FBRyxDQUFDLENBQUM7SUFRbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRW5JLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNqSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3RJLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBR0QsV0FBVyxDQUFDLE1BQW9CO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQ2xELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFDeEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ1AsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxRQUFRLENBQUMsUUFBZ0I7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3BGLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sT0FBTyxHQUFhO1lBQ3hCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDN0IsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztrSUFuRFUsd0JBQXdCO3NIQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7a0xBNEJDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50QWN0aW9ucyBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudHMgZnJvbSAnLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUm90YXRpb24gfSBmcm9tICcuL3JvdGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IFJlc3BvbnNlVHlwZSB9IGZyb20gJy4uL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItYnV0dG9uLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbXZSb3RhdGlvblBlcnNpc3RdJ1xufSlcbmV4cG9ydCBjbGFzcyBSb3RhdGlvblBlcnNpc3REaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xuICByb3RhdGlvbiA9IDA7XG4gIHNhdmVkUm90YXRpb24gPSAwO1xuXG4gICRzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuRG9jdW1lbnRTdGF0ZT4sXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJCdXR0b25zOiBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zID0gdGhpcy50b29sYmFyRXZlbnRzLnJvdGF0ZVN1YmplY3QucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUocm90YXRpb24gPT4gdGhpcy5vblJvdGF0ZShyb3RhdGlvbikpO1xuXG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy5hZGQodGhpcy50b29sYmFyRXZlbnRzLnNhdmVSb3RhdGlvblN1YmplY3Quc3Vic2NyaWJlKCgpID0+IHRoaXMuc2F2ZVJvdGF0aW9uKCkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zLmFkZCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudHMuZ2V0Um90YXRpb24pKS5zdWJzY3JpYmUocm90YXRpb24gPT4gdGhpcy5zYXZlZFJvdGF0aW9uID0gcm90YXRpb24pKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zLmFkZCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudHMuZ2V0RG9jdW1lbnRJZCkpLnN1YnNjcmliZShkb2N1bWVudElkID0+IHRoaXMuZG9jdW1lbnRJZCA9IGRvY3VtZW50SWQpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21lZGlhTG9hZFN0YXR1cycsIFsnJGV2ZW50J10pXG4gIG9uTWVkaWFMb2FkKHN0YXR1czogUmVzcG9uc2VUeXBlKSB7XG4gICAgdGhpcy5yb3RhdGlvbiA9IDA7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbURvY3VtZW50QWN0aW9ucy5Mb2FkUm90YXRpb24odGhpcy5kb2N1bWVudElkKSk7XG4gICAgdGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tRG9jdW1lbnRzLnJvdGF0aW9uTG9hZGVkKSxcbiAgICAgIGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKSxcbiAgICAgIHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2F2ZWRSb3RhdGlvbikge1xuICAgICAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yb3RhdGVTdWJqZWN0Lm5leHQodGhpcy5zYXZlZFJvdGF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uUm90YXRlKHJvdGF0aW9uOiBudW1iZXIpIHtcbiAgICB0aGlzLnJvdGF0aW9uID0gKHRoaXMucm90YXRpb24gKyByb3RhdGlvbikgJSAzNjA7XG4gICAgdGhpcy50b29sYmFyQnV0dG9ucy5zaG93U2F2ZVJvdGF0aW9uQnV0dG9uID0gdGhpcy5zYXZlZFJvdGF0aW9uICE9PSB0aGlzLnJvdGF0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlUm90YXRpb24oKSB7XG4gICAgY29uc3QgcGF5bG9hZDogUm90YXRpb24gPSB7XG4gICAgICBkb2N1bWVudElkOiB0aGlzLmRvY3VtZW50SWQsXG4gICAgICByb3RhdGlvbkFuZ2xlOiB0aGlzLnJvdGF0aW9uXG4gICAgfTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tRG9jdW1lbnRBY3Rpb25zLlNhdmVSb3RhdGlvbihwYXlsb2FkKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3JvdGF0aW9uLXBlcnNpc3Qvcm90YXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUm90YXRpb24ge1xuICBkb2N1bWVudElkOiBzdHJpbmc7XG4gIHJvdGF0aW9uQW5nbGU6IG51bWJlcjtcbn1cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { Component, Input, ViewChild, Output, EventEmitter } from '@angular/core';
2
+ import { ResponseType, ViewerException } 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 "../viewer-util.service";
6
+ import * as i3 from "@angular/common";
7
+ export class UnsupportedViewerComponent {
8
+ constructor(toolbarEvents, viewerUtilService) {
9
+ this.toolbarEvents = toolbarEvents;
10
+ this.viewerUtilService = viewerUtilService;
11
+ this.loadStatus = new EventEmitter();
12
+ this.unsupportedViewerException = new EventEmitter();
13
+ this.subscriptions = [];
14
+ }
15
+ ngOnInit() {
16
+ this.subscriptions.push(this.toolbarEvents.downloadSubject.subscribe(() => this.downloadLink.nativeElement.click()), this.viewerUtilService.validateFile(this.url).subscribe(next => next, error => {
17
+ this.viewerException = new ViewerException(error.name, { httpResponseCode: error.status, message: error.message });
18
+ }));
19
+ this.loadStatus.emit(ResponseType.UNSUPPORTED);
20
+ if (!this.typeException) {
21
+ this.unsupportedViewerException.emit(this.viewerException);
22
+ }
23
+ }
24
+ ngOnDestroy() {
25
+ for (const subscription of this.subscriptions) {
26
+ subscription.unsubscribe();
27
+ }
28
+ }
29
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnsupportedViewerComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.ViewerUtilService }], target: i0.ɵɵFactoryTarget.Component }); }
30
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UnsupportedViewerComponent, selector: "mv-unsupported-viewer", inputs: { url: "url", downloadFileName: "downloadFileName", typeException: "typeException" }, outputs: { loadStatus: "loadStatus", unsupportedViewerException: "unsupportedViewerException" }, viewQueries: [{ propertyName: "downloadLink", first: true, predicate: ["downloadLink"], descendants: true }], ngImport: i0, template: "<div class=\"govuk-width-container\">\n <div class=\"govuk-notification-banner__content\">\n <p>\n <span *ngIf=\"typeException, else unsupported\">The document could not be displayed, or the file type is unsupported.</span>\n Please <a #downloadLink [href]=\"url\" [download]=\"downloadFileName\">click here to download</a>.\n </p>\n <ng-template #unsupported>\n <span>This file type is not supported by this viewer.</span>\n </ng-template>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnsupportedViewerComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'mv-unsupported-viewer', template: "<div class=\"govuk-width-container\">\n <div class=\"govuk-notification-banner__content\">\n <p>\n <span *ngIf=\"typeException, else unsupported\">The document could not be displayed, or the file type is unsupported.</span>\n Please <a #downloadLink [href]=\"url\" [download]=\"downloadFileName\">click here to download</a>.\n </p>\n <ng-template #unsupported>\n <span>This file type is not supported by this viewer.</span>\n </ng-template>\n </div>\n</div>\n" }]
35
+ }], ctorParameters: () => [{ type: i1.ToolbarEventService }, { type: i2.ViewerUtilService }], propDecorators: { url: [{
36
+ type: Input
37
+ }], downloadFileName: [{
38
+ type: Input
39
+ }], typeException: [{
40
+ type: Input
41
+ }], loadStatus: [{
42
+ type: Output
43
+ }], unsupportedViewerException: [{
44
+ type: Output
45
+ }], downloadLink: [{
46
+ type: ViewChild,
47
+ args: ['downloadLink', { static: false }]
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zdXBwb3J0ZWQtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvdW5zdXBwb3J0ZWQtdmlld2VyL3Vuc3VwcG9ydGVkLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3Vuc3VwcG9ydGVkLXZpZXdlci91bnN1cHBvcnRlZC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFhLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakgsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFPMUUsTUFBTSxPQUFPLDBCQUEwQjtJQWNyQyxZQUNrQixhQUFrQyxFQUNqQyxpQkFBb0M7UUFEckMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2pDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFWN0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQzlDLCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBSW5FLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQU14QyxDQUFDO0lBRUcsUUFBUTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsRUFDM0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUNyRCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFDWixLQUFLLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksRUFDbkQsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQ0YsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO2tJQTFDVSwwQkFBMEI7c0hBQTFCLDBCQUEwQiwwV0NWdkMsMGVBV0E7OzRGRERhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSx1QkFBdUI7d0hBS3hCLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLDBCQUEwQjtzQkFBbkMsTUFBTTtnQkFFcUMsWUFBWTtzQkFBdkQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3BvbnNlVHlwZSwgVmlld2VyRXhjZXB0aW9uIH0gZnJvbSAnLi4vdmlld2VyLWV4Y2VwdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBWaWV3ZXJVdGlsU2VydmljZSB9IGZyb20gJy4uL3ZpZXdlci11dGlsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi11bnN1cHBvcnRlZC12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdW5zdXBwb3J0ZWQtdmlld2VyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBVbnN1cHBvcnRlZFZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSB1cmw6IHN0cmluZztcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSB0eXBlRXhjZXB0aW9uOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBsb2FkU3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNwb25zZVR5cGU+KCk7XG4gIEBPdXRwdXQoKSB1bnN1cHBvcnRlZFZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2Rvd25sb2FkTGluaycsIHtzdGF0aWM6IGZhbHNlfSkgZG93bmxvYWRMaW5rOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSB2aWV3ZXJFeGNlcHRpb246IFZpZXdlckV4Y2VwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckV2ZW50czogVG9vbGJhckV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdlclV0aWxTZXJ2aWNlOiBWaWV3ZXJVdGlsU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5kb3dubG9hZFN1YmplY3Quc3Vic2NyaWJlKCgpID0+IHRoaXMuZG93bmxvYWRMaW5rLm5hdGl2ZUVsZW1lbnQuY2xpY2soKSksXG4gICAgICB0aGlzLnZpZXdlclV0aWxTZXJ2aWNlLnZhbGlkYXRlRmlsZSh0aGlzLnVybCkuc3Vic2NyaWJlKFxuICAgICAgICBuZXh0ID0+IG5leHQsXG4gICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLnZpZXdlckV4Y2VwdGlvbiA9IG5ldyBWaWV3ZXJFeGNlcHRpb24oZXJyb3IubmFtZSxcbiAgICAgICAgICAgIHsgaHR0cFJlc3BvbnNlQ29kZTogZXJyb3Iuc3RhdHVzLCBtZXNzYWdlOiBlcnJvci5tZXNzYWdlIH0pO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMubG9hZFN0YXR1cy5lbWl0KFJlc3BvbnNlVHlwZS5VTlNVUFBPUlRFRCk7XG5cbiAgICBpZiAoIXRoaXMudHlwZUV4Y2VwdGlvbikge1xuICAgICAgdGhpcy51bnN1cHBvcnRlZFZpZXdlckV4Y2VwdGlvbi5lbWl0KHRoaXMudmlld2VyRXhjZXB0aW9uKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19jb250ZW50XCI+XG4gICAgPHA+XG4gICAgICA8c3BhbiAqbmdJZj1cInR5cGVFeGNlcHRpb24sIGVsc2UgdW5zdXBwb3J0ZWRcIj5UaGUgZG9jdW1lbnQgY291bGQgbm90IGJlIGRpc3BsYXllZCwgb3IgdGhlIGZpbGUgdHlwZSBpcyB1bnN1cHBvcnRlZC48L3NwYW4+XG4gICAgICBQbGVhc2UgPGEgI2Rvd25sb2FkTGluayBbaHJlZl09XCJ1cmxcIiBbZG93bmxvYWRdPVwiZG93bmxvYWRGaWxlTmFtZVwiPmNsaWNrIGhlcmUgdG8gZG93bmxvYWQ8L2E+LlxuICAgIDwvcD5cbiAgICA8bmctdGVtcGxhdGUgI3Vuc3VwcG9ydGVkPlxuICAgICAgPHNwYW4+VGhpcyBmaWxlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIHZpZXdlci48L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class ViewerEventService {
5
+ constructor() {
6
+ this.textHighlight = new Subject();
7
+ this.boxHighlight = new Subject();
8
+ this.ctxToolbarCleared = new Subject();
9
+ this.navigationEvent = new Subject();
10
+ this.navigationEventICP = new Subject();
11
+ }
12
+ textSelected(selectionData) {
13
+ this.textHighlight.next(selectionData);
14
+ }
15
+ boxSelected(selectionData) {
16
+ this.boxHighlight.next(selectionData);
17
+ }
18
+ clearCtxToolbar() {
19
+ this.ctxToolbarCleared.next();
20
+ }
21
+ goToDestination(destination) {
22
+ this.navigationEvent.next(destination);
23
+ }
24
+ goToDestinationICP(destination) {
25
+ this.navigationEventICP.next(destination);
26
+ }
27
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerEventService, providedIn: 'root' }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerEventService, decorators: [{
31
+ type: Injectable,
32
+ args: [{ providedIn: 'root' }]
33
+ }], ctorParameters: () => [] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3ZpZXdlci1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFTL0IsTUFBTSxPQUFPLGtCQUFrQjtJQVE3QjtRQU5nQixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFhLENBQUM7UUFDekMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO1FBQ3hDLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDeEMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUyxDQUFDO1FBQ3ZDLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFTLENBQUM7SUFFMUMsQ0FBQztJQUVWLFlBQVksQ0FBQyxhQUF3QjtRQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sV0FBVyxDQUFDLGFBQXdCO1FBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBR00sZUFBZSxDQUFDLFdBQWtCO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxXQUFrQjtRQUMxQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7a0lBN0JVLGtCQUFrQjtzSUFBbEIsa0JBQWtCLGNBREwsTUFBTTs7NEZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZWN0YW5nbGUgfSBmcm9tICcuLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXZpZXcvcmVjdGFuZ2xlL3JlY3RhbmdsZS5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGlnaGxpZ2h0IHtcbiAgcGFnZTogbnVtYmVyO1xuICByZWN0YW5nbGVzOiBSZWN0YW5nbGVbXTtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBWaWV3ZXJFdmVudFNlcnZpY2Uge1xuXG4gIHB1YmxpYyByZWFkb25seSB0ZXh0SGlnaGxpZ2h0ID0gbmV3IFN1YmplY3Q8SGlnaGxpZ2h0PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYm94SGlnaGxpZ2h0ID0gbmV3IFN1YmplY3Q8SGlnaGxpZ2h0PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY3R4VG9vbGJhckNsZWFyZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgbmF2aWdhdGlvbkV2ZW50ID0gbmV3IFN1YmplY3Q8YW55W10+KCk7XG4gIHB1YmxpYyByZWFkb25seSBuYXZpZ2F0aW9uRXZlbnRJQ1AgPSBuZXcgU3ViamVjdDxhbnlbXT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyB0ZXh0U2VsZWN0ZWQoc2VsZWN0aW9uRGF0YTogSGlnaGxpZ2h0KTogdm9pZCB7XG4gICAgdGhpcy50ZXh0SGlnaGxpZ2h0Lm5leHQoc2VsZWN0aW9uRGF0YSk7XG4gIH1cblxuICBwdWJsaWMgYm94U2VsZWN0ZWQoc2VsZWN0aW9uRGF0YTogSGlnaGxpZ2h0KTogdm9pZCB7XG4gICAgdGhpcy5ib3hIaWdobGlnaHQubmV4dChzZWxlY3Rpb25EYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckN0eFRvb2xiYXIoKTogdm9pZCB7XG4gICAgdGhpcy5jdHhUb29sYmFyQ2xlYXJlZC5uZXh0KCk7XG4gIH1cblxuXG4gIHB1YmxpYyBnb1RvRGVzdGluYXRpb24oZGVzdGluYXRpb246IGFueVtdKSB7XG4gICAgdGhpcy5uYXZpZ2F0aW9uRXZlbnQubmV4dChkZXN0aW5hdGlvbik7XG4gIH1cblxuICBwdWJsaWMgZ29Ub0Rlc3RpbmF0aW9uSUNQKGRlc3RpbmF0aW9uOiBhbnlbXSkge1xuICAgIHRoaXMubmF2aWdhdGlvbkV2ZW50SUNQLm5leHQoZGVzdGluYXRpb24pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ export var ResponseType;
2
+ (function (ResponseType) {
3
+ ResponseType["SUCCESS"] = "SUCCESS";
4
+ ResponseType["FAILURE"] = "FAILURE";
5
+ ResponseType["UNSUPPORTED"] = "UNSUPPORTED";
6
+ })(ResponseType || (ResponseType = {}));
7
+ export class ViewerException {
8
+ constructor(exceptionType, detail) {
9
+ this.exceptionType = exceptionType;
10
+ this.detail = detail;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWV4Y2VwdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvdmlld2VyLWV4Y2VwdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3RCLG1DQUFtQixDQUFBO0lBQ25CLG1DQUFtQixDQUFBO0lBQ25CLDJDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFKVyxZQUFZLEtBQVosWUFBWSxRQUl2QjtBQU9ELE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQVksYUFBc0IsRUFBRSxNQUF3QjtRQUMxRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBSZXNwb25zZVR5cGUge1xuICBTVUNDRVNTID0gJ1NVQ0NFU1MnLFxuICBGQUlMVVJFID0gJ0ZBSUxVUkUnLFxuICBVTlNVUFBPUlRFRCA9ICdVTlNVUFBPUlRFRCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeGNlcHRpb25EZXRhaWwge1xuICBodHRwUmVzcG9uc2VDb2RlPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVmlld2VyRXhjZXB0aW9uIHtcbiAgZXhjZXB0aW9uVHlwZT86IHN0cmluZztcbiAgZGV0YWlsPzogRXhjZXB0aW9uRGV0YWlsO1xuXG4gIGNvbnN0cnVjdG9yKGV4Y2VwdGlvblR5cGU/OiBzdHJpbmcsIGRldGFpbD86IEV4Y2VwdGlvbkRldGFpbCkge1xuICAgIHRoaXMuZXhjZXB0aW9uVHlwZSA9IGV4Y2VwdGlvblR5cGU7XG4gICAgdGhpcy5kZXRhaWwgPSBkZXRhaWw7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common/http";
4
+ export class ViewerUtilService {
5
+ constructor(http) {
6
+ this.http = http;
7
+ }
8
+ validateFile(url) {
9
+ return this.http.head(url);
10
+ }
11
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerUtilService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
12
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerUtilService, providedIn: 'root' }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewerUtilService, decorators: [{
15
+ type: Injectable,
16
+ args: [{
17
+ providedIn: 'root'
18
+ }]
19
+ }], ctorParameters: () => [{ type: i1.HttpClient }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLXV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvdmlld2VyLXV0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUNVLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDMUIsQ0FBQztJQUVNLFlBQVksQ0FBQyxHQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztrSUFQVSxpQkFBaUI7c0lBQWpCLGlCQUFpQixjQUZoQixNQUFNOzs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVmlld2VyVXRpbFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZUZpbGUodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmhlYWQodXJsKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Public API Surface of media-viewer
3
+ */
4
+ export * from './lib/media-viewer.module';
5
+ export * from './lib/toolbar/toolbar.module';
6
+ export * from './lib/annotations/services/annotation-api/annotation-api.service';
7
+ export * from './lib/annotations/annotations.module';
8
+ export * from './lib/viewers/viewer-exception.model';
9
+ export * from './lib/store/reducers/annotations.reducer';
10
+ export * from './lib/store/selectors/annotation.selectors';
11
+ export * from './lib/store/actions/annotation.actions';
12
+ export * from './lib/store/effects/annotation.effects';
13
+ export * from './lib/media-viewer.component';
14
+ export * from './lib/toolbar/highlight-toolbar/highlight-toolbar.component';
15
+ export * from './lib/toolbar/main-toolbar/main-toolbar.component';
16
+ export * from './lib/toolbar/search-bar/search-bar.component';
17
+ export * from './lib/toolbar/redaction-toolbar/redaction-toolbar.component';
18
+ export * from './lib/toolbar/redaction-search-bar/redaction-search-bar.component';
19
+ export * from './lib/toolbar/icp-toolbar/icp-toolbar.component';
20
+ export * from './lib/annotations/annotation-set/annotation-view/annotation-view.component';
21
+ export * from './lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component';
22
+ export * from './lib/annotations/annotation-set/annotation-set.component';
23
+ export * from './lib/annotations/comment-set/comment-set.component';
24
+ export * from './lib/annotations/comment-set/comment-set-header/comment-set-header.component';
25
+ export * from './lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component';
26
+ export * from './lib/annotations/comments-summary/comments-summary.component';
27
+ export * from './lib/annotations/tags/tags.component';
28
+ export * from './lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component';
29
+ export * from './lib/annotations/annotation-set/metadata-layer/metadata-layer.component';
30
+ export * from './lib/annotations/pipes/filter/filter.pipe';
31
+ export * from './lib/annotations/pipes/unsnake/unsnake.pipe';
32
+ export * from './lib/annotations/pipes/date/date.pipe';
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw0RUFBNEUsQ0FBQztBQUMzRixjQUFjLHdHQUF3RyxDQUFDO0FBQ3ZILGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsMEZBQTBGLENBQUM7QUFDekcsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMEZBQTBGLENBQUM7QUFDekcsY0FBYywwRUFBMEUsQ0FBQztBQUN6RixjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbWVkaWEtdmlld2VyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVkaWEtdmlld2VyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sYmFyL3Rvb2xiYXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fubm90YXRpb25zL3NlcnZpY2VzL2Fubm90YXRpb24tYXBpL2Fubm90YXRpb24tYXBpLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZpZXdlcnMvdmlld2VyLWV4Y2VwdGlvbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yZS9yZWR1Y2Vycy9hbm5vdGF0aW9ucy5yZWR1Y2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0b3JlL3NlbGVjdG9ycy9hbm5vdGF0aW9uLnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yZS9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yZS9lZmZlY3RzL2Fubm90YXRpb24uZWZmZWN0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZWRpYS12aWV3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2xiYXIvaGlnaGxpZ2h0LXRvb2xiYXIvaGlnaGxpZ2h0LXRvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2xiYXIvbWFpbi10b29sYmFyL21haW4tdG9vbGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9vbGJhci9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2xiYXIvcmVkYWN0aW9uLXRvb2xiYXIvcmVkYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2xiYXIvcmVkYWN0aW9uLXNlYXJjaC1iYXIvcmVkYWN0aW9uLXNlYXJjaC1iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2xiYXIvaWNwLXRvb2xiYXIvaWNwLXRvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9hbm5vdGF0aW9uLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tY3JlYXRlL2JveC1oaWdobGlnaHQtY3JlYXRlL2JveC1oaWdobGlnaHQtY3JlYXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXNldC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5ub3RhdGlvbnMvY29tbWVudC1zZXQvY29tbWVudC1zZXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQtc2V0LWhlYWRlci9jb21tZW50LXNldC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQtc2V0LWhlYWRlci9jb21tZW50LXNlYXJjaC9jb21tZW50LXNlYXJjaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5ub3RhdGlvbnMvY29tbWVudHMtc3VtbWFyeS9jb21tZW50cy1zdW1tYXJ5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbm5vdGF0aW9ucy90YWdzL3RhZ3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQtc2V0LWhlYWRlci9jb21tZW50LWZpbHRlci9jb21tZW50LWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvbWV0YWRhdGEtbGF5ZXIvbWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fubm90YXRpb25zL3BpcGVzL2ZpbHRlci9maWx0ZXIucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbm5vdGF0aW9ucy9waXBlcy91bnNuYWtlL3Vuc25ha2UucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbm5vdGF0aW9ucy9waXBlcy9kYXRlL2RhdGUucGlwZSc7XG4iXX0=