@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,131 @@
1
+ import moment from 'moment-timezone';
2
+ /*
3
+ @dynamic
4
+ marking class as dynamic to stop compiler throwing error for lambda in static function
5
+ see https://github.com/angular/angular/issues/19698#issuecomment-338340211
6
+ */
7
+ export class StoreUtils {
8
+ static groupByKeyEntities(annotations, key) {
9
+ return annotations.reduce((h, obj) => Object.assign(h, { [obj[key]]: (h[obj[key]] || []).concat(obj) }), {});
10
+ }
11
+ static generateCommentsEntities(annotations) {
12
+ return annotations.reduce((commentEntities, annotation) => {
13
+ if (annotation.comments.length) {
14
+ const comment = {
15
+ ...annotation.comments[0] || '',
16
+ tags: [...annotation.tags || []]
17
+ };
18
+ return {
19
+ ...commentEntities,
20
+ [annotation.id]: comment
21
+ };
22
+ }
23
+ return {
24
+ ...commentEntities
25
+ };
26
+ }, {});
27
+ }
28
+ static genTagNameEntities(annotations) {
29
+ const filterAnnoWithoutCommentsTags = annotations.filter(a => (a.comments.length && a.tags.length));
30
+ const allTags = filterAnnoWithoutCommentsTags.map(anno => this.groupByKeyEntities(anno.tags, 'name'));
31
+ const groupedByName = allTags.reduce((tagEntitiy, tagItem) => {
32
+ return {
33
+ ...tagEntitiy,
34
+ ...tagItem
35
+ };
36
+ }, {});
37
+ return this.genNameEnt(annotations, groupedByName);
38
+ }
39
+ static genNameEnt(annos, groupedByName) {
40
+ return Object.keys(groupedByName).reduce((tagNameEnt, key) => {
41
+ const readyAnno = annos.filter(anno => anno.tags.find(tag => tag.name === key))
42
+ .map(anno => anno.id)
43
+ .reduce((obj, anno) => ({ ...obj, [anno]: anno }), {});
44
+ return {
45
+ ...tagNameEnt,
46
+ [key]: readyAnno
47
+ };
48
+ }, {});
49
+ }
50
+ static generateAnnotationEntities(anno) {
51
+ return anno.reduce((annoEntities, annotation) => {
52
+ const annot = {
53
+ ...annotation,
54
+ positionTop: annotation.rectangles[0].y // todo remove this
55
+ };
56
+ return {
57
+ ...annoEntities,
58
+ [annotation.id]: annot
59
+ };
60
+ }, {});
61
+ }
62
+ static generateRedactionEntities(redactions) {
63
+ return redactions.reduce((redactEntities, redaction) => {
64
+ return {
65
+ ...redactEntities,
66
+ [redaction.redactionId]: redaction
67
+ };
68
+ }, {});
69
+ }
70
+ static resetCommentEntSelect(ent) {
71
+ return Object.keys(ent).reduce((object, key) => {
72
+ object[key] = {
73
+ ...ent[key],
74
+ editable: false,
75
+ selected: false
76
+ };
77
+ return object;
78
+ }, {});
79
+ }
80
+ static filterCommentsSummary(comments, filters) {
81
+ if (Object.keys(filters).length) {
82
+ const tagFilterApplied = Object.keys(filters.tagFilters)
83
+ .filter(key => filters.tagFilters[key] === true).length;
84
+ const dateFilterApplied = (filters.dateRangeFrom || filters.dateRangeTo);
85
+ const filteredComments = comments.filter(comment => {
86
+ let hasTagFilter = false;
87
+ let hasDateFilter = false;
88
+ // check tags
89
+ if (filters.hasOwnProperty('tagFilters')) {
90
+ Object.keys(filters.tagFilters).forEach(filter => {
91
+ const label = filters.tagFilters[filter];
92
+ if (label) {
93
+ return comment.tags.forEach(tag => {
94
+ if (tag.name === filter && !hasTagFilter) {
95
+ hasTagFilter = true;
96
+ }
97
+ });
98
+ }
99
+ });
100
+ }
101
+ // check for dates
102
+ if (dateFilterApplied) {
103
+ const commentDate = moment(comment.lastModifiedDate);
104
+ const dateFrom = filters.dateRangeFrom !== null ? moment(filters.dateRangeFrom) : undefined;
105
+ const dateTo = filters.dateRangeTo !== null ? moment(filters.dateRangeTo) : undefined;
106
+ if (dateTo && dateFrom) {
107
+ if (commentDate > dateFrom && commentDate < dateTo) {
108
+ hasDateFilter = true;
109
+ }
110
+ }
111
+ if (dateTo && !dateFrom) {
112
+ if (commentDate <= dateTo) {
113
+ hasDateFilter = true;
114
+ }
115
+ }
116
+ if (dateFrom && !dateTo) {
117
+ if (commentDate > dateFrom) {
118
+ hasDateFilter = true;
119
+ }
120
+ }
121
+ }
122
+ return (hasTagFilter || hasDateFilter);
123
+ });
124
+ return (tagFilterApplied || dateFilterApplied) ? filteredComments : comments;
125
+ }
126
+ else {
127
+ return comments;
128
+ }
129
+ }
130
+ }
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9zdG9yZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUtyQzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFFckIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxHQUFHO1FBQ3hDLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsTUFBTSxDQUFDLHdCQUF3QixDQUFDLFdBQVc7UUFDeEMsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUN4QixDQUFDLGVBQTZDLEVBQUUsVUFBc0IsRUFBRSxFQUFFO1lBQ3hFLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxPQUFPLEdBQUc7b0JBQ2QsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7b0JBQy9CLElBQUksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7aUJBQ2pDLENBQUM7Z0JBQ0YsT0FBTztvQkFDTCxHQUFHLGVBQWU7b0JBQ2xCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU87aUJBQ3pCLENBQUM7WUFDSixDQUFDO1lB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M0IsYUFBYSxHQUFHLElBQUksQ0FBQzt3QkFDdkIsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7Z0JBRUQsT0FBTyxDQUFDLFlBQVksSUFBSSxhQUFhLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQy9FLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFubm90YXRpb24gfSBmcm9tICcuLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXZpZXcvYW5ub3RhdGlvbi5tb2RlbCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBSZWRhY3Rpb24gfSBmcm9tICcuLi9yZWRhY3Rpb24vc2VydmljZXMvcmVkYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlcnMgfSBmcm9tICcuL21vZGVscy9maWx0ZXJzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tZW50IH0gZnJvbSAnLi4vYW5ub3RhdGlvbnMvY29tbWVudC1zZXQvY29tbWVudC9jb21tZW50Lm1vZGVsJztcblxuLypcbiAgQGR5bmFtaWNcbiAgbWFya2luZyBjbGFzcyBhcyBkeW5hbWljIHRvIHN0b3AgY29tcGlsZXIgdGhyb3dpbmcgZXJyb3IgZm9yIGxhbWJkYSBpbiBzdGF0aWMgZnVuY3Rpb25cbiAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE5Njk4I2lzc3VlY29tbWVudC0zMzgzNDAyMTFcbiAqL1xuZXhwb3J0IGNsYXNzIFN0b3JlVXRpbHMge1xuXG4gIHN0YXRpYyBncm91cEJ5S2V5RW50aXRpZXMoYW5ub3RhdGlvbnMsIGtleSk6IHtbaWQ6IHN0cmluZ106IGFueVtdfSB7XG4gICAgcmV0dXJuIGFubm90YXRpb25zLnJlZHVjZSgoaCwgb2JqKSA9PlxuICAgICAgT2JqZWN0LmFzc2lnbihoLCB7IFtvYmpba2V5XV06ICggaFtvYmpba2V5XV0gfHwgW10gKS5jb25jYXQob2JqKSB9KSwge30pO1xuICB9XG5cbiAgc3RhdGljIGdlbmVyYXRlQ29tbWVudHNFbnRpdGllcyhhbm5vdGF0aW9ucyk6IHtbaWQ6IHN0cmluZ106IENvbW1lbnR9IHtcbiAgICAgcmV0dXJuIGFubm90YXRpb25zLnJlZHVjZShcbiAgICAgIChjb21tZW50RW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBBbm5vdGF0aW9uIH0sIGFubm90YXRpb246IEFubm90YXRpb24pID0+IHtcbiAgICAgICAgaWYgKGFubm90YXRpb24uY29tbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgY29tbWVudCA9IHtcbiAgICAgICAgICAgIC4uLmFubm90YXRpb24uY29tbWVudHNbMF0gfHwgJycsXG4gICAgICAgICAgICB0YWdzOiBbLi4uYW5ub3RhdGlvbi50YWdzIHx8IFtdXVxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNvbW1lbnRFbnRpdGllcyxcbiAgICAgICAgICAgIFthbm5vdGF0aW9uLmlkXTogY29tbWVudFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5jb21tZW50RW50aXRpZXNcbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZW5UYWdOYW1lRW50aXRpZXMoYW5ub3RhdGlvbnMpIHtcbiAgICBjb25zdCBmaWx0ZXJBbm5vV2l0aG91dENvbW1lbnRzVGFncyA9IGFubm90YXRpb25zLmZpbHRlcihhID0+IChhLmNvbW1lbnRzLmxlbmd0aCAmJiBhLnRhZ3MubGVuZ3RoKSk7XG4gICAgY29uc3QgYWxsVGFncyA9IGZpbHRlckFubm9XaXRob3V0Q29tbWVudHNUYWdzLm1hcChhbm5vID0+IHRoaXMuZ3JvdXBCeUtleUVudGl0aWVzKGFubm8udGFncywgJ25hbWUnKSk7XG4gICAgY29uc3QgZ3JvdXBlZEJ5TmFtZSA9IGFsbFRhZ3MucmVkdWNlKFxuICAgICAgKHRhZ0VudGl0aXk6IHsgW2lkOiBzdHJpbmddOiBBbm5vdGF0aW9uIH0sIHRhZ0l0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50YWdFbnRpdGl5LFxuICAgICAgICAgIC4uLnRhZ0l0ZW1cbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcblxuICAgIHJldHVybiB0aGlzLmdlbk5hbWVFbnQoYW5ub3RhdGlvbnMsIGdyb3VwZWRCeU5hbWUpO1xuICB9XG5cbiAgc3RhdGljIGdlbk5hbWVFbnQoYW5ub3MsIGdyb3VwZWRCeU5hbWUpIHtcbiAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGdyb3VwZWRCeU5hbWUpLnJlZHVjZShcbiAgICAgICh0YWdOYW1lRW50LCBrZXkpID0+IHtcbiAgICAgICAgY29uc3QgcmVhZHlBbm5vID0gYW5ub3MuZmlsdGVyKGFubm8gPT4gYW5uby50YWdzLmZpbmQodGFnID0+IHRhZy5uYW1lID09PSBrZXkpKVxuICAgICAgICAgIC5tYXAoYW5ubyA9PiBhbm5vLmlkKVxuICAgICAgICAgIC5yZWR1Y2UoKG9iajoge1tpZDogc3RyaW5nXTogc3RyaW5nfSwgYW5ubzogc3RyaW5nKSA9PiAoeyAuLi5vYmosIFthbm5vXTogYW5ubyB9KSwge30pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udGFnTmFtZUVudCxcbiAgICAgICAgICBba2V5XTogcmVhZHlBbm5vXG4gICAgICAgIH07XG4gICAgICB9LCB7fSk7XG5cbiAgfVxuXG4gIHN0YXRpYyBnZW5lcmF0ZUFubm90YXRpb25FbnRpdGllcyhhbm5vKToge1tpZDogc3RyaW5nXTogQW5ub3RhdGlvbn0ge1xuICAgIHJldHVybiBhbm5vLnJlZHVjZShcbiAgICAgIChhbm5vRW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBBbm5vdGF0aW9uIH0sIGFubm90YXRpb246IEFubm90YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgYW5ub3QgPSB7XG4gICAgICAgICAgLi4uYW5ub3RhdGlvbixcbiAgICAgICAgICBwb3NpdGlvblRvcDogYW5ub3RhdGlvbi5yZWN0YW5nbGVzWzBdLnkgLy8gdG9kbyByZW1vdmUgdGhpc1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmFubm9FbnRpdGllcyxcbiAgICAgICAgICBbYW5ub3RhdGlvbi5pZF06IGFubm90XG4gICAgICAgIH07XG4gICAgICB9LCB7fSk7XG4gIH1cblxuICBzdGF0aWMgZ2VuZXJhdGVSZWRhY3Rpb25FbnRpdGllcyhyZWRhY3Rpb25zOiBSZWRhY3Rpb25bXSk6IHsgW2lkOiBzdHJpbmddOiBSZWRhY3Rpb24gfSB7XG4gICAgcmV0dXJuIHJlZGFjdGlvbnMucmVkdWNlKFxuICAgICAgKHJlZGFjdEVudGl0aWVzOiB7IFtpZDogc3RyaW5nXTogUmVkYWN0aW9uIH0sIHJlZGFjdGlvbjogUmVkYWN0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucmVkYWN0RW50aXRpZXMsXG4gICAgICAgICAgW3JlZGFjdGlvbi5yZWRhY3Rpb25JZF06IHJlZGFjdGlvblxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICB9XG5cbiAgc3RhdGljIHJlc2V0Q29tbWVudEVudFNlbGVjdChlbnQ6IHsgW2lkOiBzdHJpbmddOiBDb21tZW50IH0pIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZW50KS5yZWR1Y2UoKG9iamVjdCwga2V5KSA9PiB7XG4gICAgICBvYmplY3Rba2V5XSA9IHtcbiAgICAgICAgLi4uZW50W2tleV0sXG4gICAgICAgIGVkaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlXG4gICAgICB9O1xuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9LCB7fSk7XG4gIH1cblxuICBzdGF0aWMgZmlsdGVyQ29tbWVudHNTdW1tYXJ5KGNvbW1lbnRzOiBBcnJheTxDb21tZW50PiwgZmlsdGVyczogRmlsdGVycykge1xuICAgIGlmIChPYmplY3Qua2V5cyhmaWx0ZXJzKS5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHRhZ0ZpbHRlckFwcGxpZWQgPSBPYmplY3Qua2V5cyhmaWx0ZXJzLnRhZ0ZpbHRlcnMpXG4gICAgICAgIC5maWx0ZXIoa2V5ID0+IGZpbHRlcnMudGFnRmlsdGVyc1trZXldID09PSB0cnVlKS5sZW5ndGg7XG4gICAgICBjb25zdCBkYXRlRmlsdGVyQXBwbGllZCA9IChmaWx0ZXJzLmRhdGVSYW5nZUZyb20gfHwgZmlsdGVycy5kYXRlUmFuZ2VUbyk7XG4gICAgICBjb25zdCBmaWx0ZXJlZENvbW1lbnRzID0gY29tbWVudHMuZmlsdGVyKGNvbW1lbnQgPT4ge1xuICAgICAgICBsZXQgaGFzVGFnRmlsdGVyID0gZmFsc2U7XG4gICAgICAgIGxldCBoYXNEYXRlRmlsdGVyID0gZmFsc2U7XG4gICAgICAgIC8vIGNoZWNrIHRhZ3NcbiAgICAgICAgaWYgKGZpbHRlcnMuaGFzT3duUHJvcGVydHkoJ3RhZ0ZpbHRlcnMnKSkge1xuICAgICAgICAgIE9iamVjdC5rZXlzKGZpbHRlcnMudGFnRmlsdGVycykuZm9yRWFjaChmaWx0ZXIgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBmaWx0ZXJzLnRhZ0ZpbHRlcnNbZmlsdGVyXTtcbiAgICAgICAgICAgIGlmIChsYWJlbCkge1xuICAgICAgICAgICAgICByZXR1cm4gY29tbWVudC50YWdzLmZvckVhY2godGFnID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGFnLm5hbWUgPT09IGZpbHRlciAmJiAhaGFzVGFnRmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICBoYXNUYWdGaWx0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9fSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2hlY2sgZm9yIGRhdGVzXG4gICAgICAgIGlmIChkYXRlRmlsdGVyQXBwbGllZCkge1xuICAgICAgICAgIGNvbnN0IGNvbW1lbnREYXRlID0gbW9tZW50KGNvbW1lbnQubGFzdE1vZGlmaWVkRGF0ZSk7XG4gICAgICAgICAgY29uc3QgZGF0ZUZyb20gPSAgZmlsdGVycy5kYXRlUmFuZ2VGcm9tICE9PSBudWxsID8gbW9tZW50KGZpbHRlcnMuZGF0ZVJhbmdlRnJvbSkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgY29uc3QgZGF0ZVRvID0gZmlsdGVycy5kYXRlUmFuZ2VUbyAhPT0gbnVsbCA/IG1vbWVudChmaWx0ZXJzLmRhdGVSYW5nZVRvKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgIGlmIChkYXRlVG8gJiYgZGF0ZUZyb20pIHtcbiAgICAgICAgICAgIGlmIChjb21tZW50RGF0ZSA+IGRhdGVGcm9tICYmIGNvbW1lbnREYXRlIDwgZGF0ZVRvKSB7XG4gICAgICAgICAgICAgIGhhc0RhdGVGaWx0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZGF0ZVRvICYmICFkYXRlRnJvbSkge1xuICAgICAgICAgICAgaWYgKGNvbW1lbnREYXRlIDw9IGRhdGVUbykge1xuICAgICAgICAgICAgICBoYXNEYXRlRmlsdGVyID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRhdGVGcm9tICYmICFkYXRlVG8pIHtcbiAgICAgICAgICAgIGlmIChjb21tZW50RGF0ZSA+IGRhdGVGcm9tKSB7XG4gICAgICAgICAgICAgIGhhc0RhdGVGaWx0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoaGFzVGFnRmlsdGVyIHx8IGhhc0RhdGVGaWx0ZXIpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gKHRhZ0ZpbHRlckFwcGxpZWQgfHwgZGF0ZUZpbHRlckFwcGxpZWQpID8gZmlsdGVyZWRDb21tZW50cyA6IGNvbW1lbnRzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY29tbWVudHM7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { Component } from '@angular/core';
2
+ import { SearchType } from '../toolbar-event.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../toolbar-event.service";
5
+ import * as i2 from "../toolbar-button-visibility.service";
6
+ import * as i3 from "../../shared/directives/tooltip-dismiss.directive";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "rpx-xui-translation";
9
+ export class HighlightToolbarComponent {
10
+ constructor(toolbarEventService, toolbarButtons) {
11
+ this.toolbarEventService = toolbarEventService;
12
+ this.toolbarButtons = toolbarButtons;
13
+ this.subscriptions = [];
14
+ }
15
+ ngOnInit() {
16
+ this.subscriptions.push(this.toolbarEventService.redactAllInProgressSubject.subscribe(inprogress => {
17
+ this.redactionAllInProgress = inprogress;
18
+ }));
19
+ }
20
+ onAllSearch() {
21
+ this.toolbarEventService.openRedactionSearch.next({ modeType: SearchType.Highlight, isOpen: true });
22
+ }
23
+ onHighlight() {
24
+ this.toolbarEventService.toggleHighlightMode();
25
+ }
26
+ onClickDrawToggle() {
27
+ this.toolbarEventService.toggleDrawMode();
28
+ }
29
+ onClose() {
30
+ this.toolbarEventService.highlightToolbarSubject.next(false);
31
+ this.toolbarEventService.highlightModeSubject.next(false);
32
+ this.toolbarEventService.openRedactionSearch.next({ modeType: SearchType.Highlight, isOpen: false });
33
+ }
34
+ ngOnDestroy() {
35
+ for (const subscription of this.subscriptions) {
36
+ subscription.unsubscribe();
37
+ }
38
+ }
39
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HighlightToolbarComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.ToolbarButtonVisibilityService }], target: i0.ɵɵFactoryTarget.Component }); }
40
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HighlightToolbarComponent, selector: "mv-highlight-toolbar", ngImport: i0, template: "<div class=\"redaction\">\n <label class=\"govuk-label redaction-title\" data-l10n-id=\"redaction_options\"\n >{{ \"Highlight options\" | rpxTranslate }}</label\n >\n\n <button\n id=\"mvDrawBtn\"\n #mvDrawBtn\n class=\"mv-button mv-toolbar__menu-button--draw mv-tooltip\"\n [attr.data-tooltip]=\"'Draw a box' | rpxTranslate\"\n [class.toggled]=\"toolbarEventService.drawModeSubject | async\"\n aria-pressed=\"false\"\n data-l10n-id=\"mvDrawBtn\"\n (click)=\"onClickDrawToggle()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"draw_label\">{{ \"Draw a box\" | rpxTranslate }}</span>\n </button>\n\n <button\n id=\"highlightTextBtn\"\n class=\"mv-button mv-toolbar__menu-button--highlight mv-tooltip\"\n [attr.data-tooltip]=\"'Highlight text' | rpxTranslate\"\n data-l10n-id=\"highlightTextBtn\"\n (click)=\"onHighlight()\"\n [class.toggled]=\"toolbarEventService.highlightModeSubject | async\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"highlightTextBtn_label\">{{ \"Highlight text\" | rpxTranslate }}</span>\n </button>\n\n <button\n id=\"mvHighlightFromSearchBtn\"\n [attr.data-tooltip]=\"'From search' | rpxTranslate\"\n data-l10n-id=\"fromSearchButton\"\n class=\"mv-button redaction-button--search mv-tooltip\"\n (click)=\"onAllSearch()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span style=\"width: 5rem\" data-l10n-id=\"fromSearchButton_label\"\n >{{ \"From search\" | rpxTranslate }}</span\n >\n </button>\n\n <button\n id=\"mvCloseBtn\"\n #mvCloseBtn\n class=\"mv-button redaction-button--close mv-tooltip\"\n [attr.data-tooltip]=\"'Close highlight' | rpxTranslate\"\n data-l10n-id=\"mvRedactBtn\"\n (click)=\"onClose()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"Close Redaction\">{{ \"Close Highlight\" | rpxTranslate }}</span>\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.TooltipDismissDirective, selector: ".mv-tooltip, [mvTooltipDismiss]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.RpxTranslatePipe, name: "rpxTranslate" }] }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HighlightToolbarComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'mv-highlight-toolbar', template: "<div class=\"redaction\">\n <label class=\"govuk-label redaction-title\" data-l10n-id=\"redaction_options\"\n >{{ \"Highlight options\" | rpxTranslate }}</label\n >\n\n <button\n id=\"mvDrawBtn\"\n #mvDrawBtn\n class=\"mv-button mv-toolbar__menu-button--draw mv-tooltip\"\n [attr.data-tooltip]=\"'Draw a box' | rpxTranslate\"\n [class.toggled]=\"toolbarEventService.drawModeSubject | async\"\n aria-pressed=\"false\"\n data-l10n-id=\"mvDrawBtn\"\n (click)=\"onClickDrawToggle()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"draw_label\">{{ \"Draw a box\" | rpxTranslate }}</span>\n </button>\n\n <button\n id=\"highlightTextBtn\"\n class=\"mv-button mv-toolbar__menu-button--highlight mv-tooltip\"\n [attr.data-tooltip]=\"'Highlight text' | rpxTranslate\"\n data-l10n-id=\"highlightTextBtn\"\n (click)=\"onHighlight()\"\n [class.toggled]=\"toolbarEventService.highlightModeSubject | async\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"highlightTextBtn_label\">{{ \"Highlight text\" | rpxTranslate }}</span>\n </button>\n\n <button\n id=\"mvHighlightFromSearchBtn\"\n [attr.data-tooltip]=\"'From search' | rpxTranslate\"\n data-l10n-id=\"fromSearchButton\"\n class=\"mv-button redaction-button--search mv-tooltip\"\n (click)=\"onAllSearch()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span style=\"width: 5rem\" data-l10n-id=\"fromSearchButton_label\"\n >{{ \"From search\" | rpxTranslate }}</span\n >\n </button>\n\n <button\n id=\"mvCloseBtn\"\n #mvCloseBtn\n class=\"mv-button redaction-button--close mv-tooltip\"\n [attr.data-tooltip]=\"'Close highlight' | rpxTranslate\"\n data-l10n-id=\"mvRedactBtn\"\n (click)=\"onClose()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"Close Redaction\">{{ \"Close Highlight\" | rpxTranslate }}</span>\n </button>\n</div>\n" }]
45
+ }], ctorParameters: () => [{ type: i1.ToolbarEventService }, { type: i2.ToolbarButtonVisibilityService }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdG9vbGJhci9oaWdobGlnaHQtdG9vbGJhci9oaWdobGlnaHQtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi90b29sYmFyL2hpZ2hsaWdodC10b29sYmFyL2hpZ2hsaWdodC10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBYyxVQUFVLEVBQXVCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFZdkYsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQyxZQUE0QixtQkFBd0MsRUFDbEQsY0FBOEM7UUFEcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUNsRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0M7UUFKeEQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0lBSXlCLENBQUM7SUFFckUsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDakcsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBZ0IsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZ0IsQ0FBQyxDQUFDO0lBQ3JILENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO2tJQXBDVSx5QkFBeUI7c0hBQXpCLHlCQUF5Qiw0RENidEMseTZEQXdEQTs7NEZEM0NhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hNb2RlLCBTZWFyY2hUeXBlLCBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uL3Rvb2xiYXItYnV0dG9uLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBmcm9tU3RvcmUgZnJvbSAnLi4vLi4vc3RvcmUvcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0IHsgU3RvcmUsIHNlbGVjdCB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgZnJvbVJlZGFjdFNlbGVjdG9ycyBmcm9tICcuLi8uLi9zdG9yZS9zZWxlY3RvcnMvcmVkYWN0aW9uLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWhpZ2hsaWdodC10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hpZ2hsaWdodC10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGlnaGxpZ2h0LXRvb2xiYXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHRUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcmVkYWN0aW9uQWxsSW5Qcm9ncmVzczogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckV2ZW50U2VydmljZTogVG9vbGJhckV2ZW50U2VydmljZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckJ1dHRvbnM6IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy50b29sYmFyRXZlbnRTZXJ2aWNlLnJlZGFjdEFsbEluUHJvZ3Jlc3NTdWJqZWN0LnN1YnNjcmliZShpbnByb2dyZXNzID0+IHtcbiAgICAgIHRoaXMucmVkYWN0aW9uQWxsSW5Qcm9ncmVzcyA9IGlucHJvZ3Jlc3M7XG4gICAgfSkpO1xuICB9XG5cbiAgb25BbGxTZWFyY2goKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRTZXJ2aWNlLm9wZW5SZWRhY3Rpb25TZWFyY2gubmV4dCh7IG1vZGVUeXBlOiBTZWFyY2hUeXBlLkhpZ2hsaWdodCwgaXNPcGVuOiB0cnVlIH0gYXMgU2VhcmNoTW9kZSk7XG4gIH1cblxuICBvbkhpZ2hsaWdodCgpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudFNlcnZpY2UudG9nZ2xlSGlnaGxpZ2h0TW9kZSgpO1xuICB9XG5cbiAgb25DbGlja0RyYXdUb2dnbGUoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRTZXJ2aWNlLnRvZ2dsZURyYXdNb2RlKCk7XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50U2VydmljZS5oaWdobGlnaHRUb29sYmFyU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudFNlcnZpY2UuaGlnaGxpZ2h0TW9kZVN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgdGhpcy50b29sYmFyRXZlbnRTZXJ2aWNlLm9wZW5SZWRhY3Rpb25TZWFyY2gubmV4dCh7IG1vZGVUeXBlOiBTZWFyY2hUeXBlLkhpZ2hsaWdodCwgaXNPcGVuOiBmYWxzZSB9IGFzIFNlYXJjaE1vZGUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInJlZGFjdGlvblwiPlxuICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCByZWRhY3Rpb24tdGl0bGVcIiBkYXRhLWwxMG4taWQ9XCJyZWRhY3Rpb25fb3B0aW9uc1wiXG4gICAgPnt7IFwiSGlnaGxpZ2h0IG9wdGlvbnNcIiB8IHJweFRyYW5zbGF0ZSB9fTwvbGFiZWxcbiAgPlxuXG4gIDxidXR0b25cbiAgICBpZD1cIm12RHJhd0J0blwiXG4gICAgI212RHJhd0J0blxuICAgIGNsYXNzPVwibXYtYnV0dG9uIG12LXRvb2xiYXJfX21lbnUtYnV0dG9uLS1kcmF3IG12LXRvb2x0aXBcIlxuICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInRHJhdyBhIGJveCcgfCBycHhUcmFuc2xhdGVcIlxuICAgIFtjbGFzcy50b2dnbGVkXT1cInRvb2xiYXJFdmVudFNlcnZpY2UuZHJhd01vZGVTdWJqZWN0IHwgYXN5bmNcIlxuICAgIGFyaWEtcHJlc3NlZD1cImZhbHNlXCJcbiAgICBkYXRhLWwxMG4taWQ9XCJtdkRyYXdCdG5cIlxuICAgIChjbGljayk9XCJvbkNsaWNrRHJhd1RvZ2dsZSgpXCJcbiAgICBbZGlzYWJsZWRdPVwicmVkYWN0aW9uQWxsSW5Qcm9ncmVzc1wiXG4gID5cbiAgICA8c3BhbiBkYXRhLWwxMG4taWQ9XCJkcmF3X2xhYmVsXCI+e3sgXCJEcmF3IGEgYm94XCIgfCBycHhUcmFuc2xhdGUgfX08L3NwYW4+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b25cbiAgICBpZD1cImhpZ2hsaWdodFRleHRCdG5cIlxuICAgIGNsYXNzPVwibXYtYnV0dG9uIG12LXRvb2xiYXJfX21lbnUtYnV0dG9uLS1oaWdobGlnaHQgbXYtdG9vbHRpcFwiXG4gICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIidIaWdobGlnaHQgdGV4dCcgfCBycHhUcmFuc2xhdGVcIlxuICAgIGRhdGEtbDEwbi1pZD1cImhpZ2hsaWdodFRleHRCdG5cIlxuICAgIChjbGljayk9XCJvbkhpZ2hsaWdodCgpXCJcbiAgICBbY2xhc3MudG9nZ2xlZF09XCJ0b29sYmFyRXZlbnRTZXJ2aWNlLmhpZ2hsaWdodE1vZGVTdWJqZWN0IHwgYXN5bmNcIlxuICAgIFtkaXNhYmxlZF09XCJyZWRhY3Rpb25BbGxJblByb2dyZXNzXCJcbiAgPlxuICAgIDxzcGFuIGRhdGEtbDEwbi1pZD1cImhpZ2hsaWdodFRleHRCdG5fbGFiZWxcIj57eyBcIkhpZ2hsaWdodCB0ZXh0XCIgfCBycHhUcmFuc2xhdGUgfX08L3NwYW4+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b25cbiAgICBpZD1cIm12SGlnaGxpZ2h0RnJvbVNlYXJjaEJ0blwiXG4gICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIidGcm9tIHNlYXJjaCcgfCBycHhUcmFuc2xhdGVcIlxuICAgIGRhdGEtbDEwbi1pZD1cImZyb21TZWFyY2hCdXR0b25cIlxuICAgIGNsYXNzPVwibXYtYnV0dG9uIHJlZGFjdGlvbi1idXR0b24tLXNlYXJjaCBtdi10b29sdGlwXCJcbiAgICAoY2xpY2spPVwib25BbGxTZWFyY2goKVwiXG4gICAgW2Rpc2FibGVkXT1cInJlZGFjdGlvbkFsbEluUHJvZ3Jlc3NcIlxuICA+XG4gICAgPHNwYW4gc3R5bGU9XCJ3aWR0aDogNXJlbVwiIGRhdGEtbDEwbi1pZD1cImZyb21TZWFyY2hCdXR0b25fbGFiZWxcIlxuICAgICAgPnt7IFwiRnJvbSBzZWFyY2hcIiB8IHJweFRyYW5zbGF0ZSB9fTwvc3BhblxuICAgID5cbiAgPC9idXR0b24+XG5cbiAgPGJ1dHRvblxuICAgIGlkPVwibXZDbG9zZUJ0blwiXG4gICAgI212Q2xvc2VCdG5cbiAgICBjbGFzcz1cIm12LWJ1dHRvbiByZWRhY3Rpb24tYnV0dG9uLS1jbG9zZSBtdi10b29sdGlwXCJcbiAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiJ0Nsb3NlIGhpZ2hsaWdodCcgfCBycHhUcmFuc2xhdGVcIlxuICAgIGRhdGEtbDEwbi1pZD1cIm12UmVkYWN0QnRuXCJcbiAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICBbZGlzYWJsZWRdPVwicmVkYWN0aW9uQWxsSW5Qcm9ncmVzc1wiXG4gID5cbiAgICA8c3BhbiBkYXRhLWwxMG4taWQ9XCJDbG9zZSBSZWRhY3Rpb25cIj57eyBcIkNsb3NlIEhpZ2hsaWdodFwiIHwgcnB4VHJhbnNsYXRlIH19PC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,44 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject, Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class IcpEventService {
5
+ constructor() {
6
+ this.enabled = new BehaviorSubject(false);
7
+ this.sessionLaunch = new Subject();
8
+ this.becomingPresenter = new Subject();
9
+ this.stoppingPresenting = new Subject();
10
+ this.leavingSession = new BehaviorSubject(false);
11
+ this.sessionExitConfirmed = new Subject();
12
+ this.participantsListVisible = new BehaviorSubject(false);
13
+ this.launchSession = () => {
14
+ this.sessionLaunch.next();
15
+ };
16
+ this.enable = () => {
17
+ this.enabled.next(true);
18
+ this.launchSession();
19
+ };
20
+ this.becomePresenter = () => {
21
+ this.becomingPresenter.next();
22
+ };
23
+ this.stopPresenting = () => {
24
+ this.stoppingPresenting.next();
25
+ };
26
+ this.leaveSession = () => {
27
+ this.leavingSession.next(true);
28
+ };
29
+ this.confirmExit = () => {
30
+ this.sessionExitConfirmed.next();
31
+ this.participantsListVisible.next(false);
32
+ this.enabled.next(false);
33
+ };
34
+ }
35
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IcpEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IcpEventService, providedIn: 'root' }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IcpEventService, decorators: [{
39
+ type: Injectable,
40
+ args: [{
41
+ providedIn: 'root'
42
+ }]
43
+ }], ctorParameters: () => [] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi90b29sYmFyL2ljcC1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBS2hELE1BQU0sT0FBTyxlQUFlO0lBVTFCO1FBUkEsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3hDLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDekMsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1Qyx5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzNDLDRCQUF1QixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSXJELGtCQUFhLEdBQUcsR0FBRyxFQUFFO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDO1FBRUYsV0FBTSxHQUFHLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUM7UUFFRixvQkFBZSxHQUFHLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDO1FBRUYsbUJBQWMsR0FBRyxHQUFHLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQztRQUVGLGlCQUFZLEdBQUcsR0FBRyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQztRQUVGLGdCQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQztJQTNCYyxDQUFDO2tJQVZOLGVBQWU7c0lBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEljcEV2ZW50U2VydmljZSB7XG5cbiAgZW5hYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBzZXNzaW9uTGF1bmNoID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgYmVjb21pbmdQcmVzZW50ZXIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBzdG9wcGluZ1ByZXNlbnRpbmcgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBsZWF2aW5nU2Vzc2lvbiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBzZXNzaW9uRXhpdENvbmZpcm1lZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHBhcnRpY2lwYW50c0xpc3RWaXNpYmxlID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBsYXVuY2hTZXNzaW9uID0gKCkgPT4ge1xuICAgIHRoaXMuc2Vzc2lvbkxhdW5jaC5uZXh0KCk7XG4gIH07XG5cbiAgZW5hYmxlID0gKCkgPT4ge1xuICAgIHRoaXMuZW5hYmxlZC5uZXh0KHRydWUpO1xuICAgIHRoaXMubGF1bmNoU2Vzc2lvbigpO1xuICB9O1xuXG4gIGJlY29tZVByZXNlbnRlciA9ICgpID0+IHtcbiAgICB0aGlzLmJlY29taW5nUHJlc2VudGVyLm5leHQoKTtcbiAgfTtcblxuICBzdG9wUHJlc2VudGluZyA9ICgpID0+IHtcbiAgICB0aGlzLnN0b3BwaW5nUHJlc2VudGluZy5uZXh0KCk7XG4gIH07XG5cbiAgbGVhdmVTZXNzaW9uID0gKCkgPT4ge1xuICAgIHRoaXMubGVhdmluZ1Nlc3Npb24ubmV4dCh0cnVlKTtcbiAgfTtcblxuICBjb25maXJtRXhpdCA9ICgpID0+IHtcbiAgICB0aGlzLnNlc3Npb25FeGl0Q29uZmlybWVkLm5leHQoKTtcbiAgICB0aGlzLnBhcnRpY2lwYW50c0xpc3RWaXNpYmxlLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuZW5hYmxlZC5uZXh0KGZhbHNlKTtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { Component } from '@angular/core';
2
+ import { select } from '@ngrx/store';
3
+ import * as fromIcpSelectors from '../../store/selectors/icp.selectors';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../toolbar-event.service";
6
+ import * as i2 from "@ngrx/store";
7
+ import * as i3 from "../icp-event.service";
8
+ import * as i4 from "@angular/common";
9
+ export class IcpToolbarComponent {
10
+ constructor(toolbarEventService, store, icpEventService) {
11
+ this.toolbarEventService = toolbarEventService;
12
+ this.store = store;
13
+ this.icpEventService = icpEventService;
14
+ }
15
+ ngOnInit() {
16
+ this.$subscription = this.store.pipe(select(fromIcpSelectors.isPresenter))
17
+ .subscribe(isPresenter => this.isPresenter = isPresenter);
18
+ this.$subscription.add(this.store.pipe(select(fromIcpSelectors.getPresenterName))
19
+ .subscribe(name => this.presenterName = name));
20
+ }
21
+ ngOnDestroy() {
22
+ this.$subscription.unsubscribe();
23
+ }
24
+ present() {
25
+ this.icpEventService.becomePresenter();
26
+ }
27
+ stopPresenting() {
28
+ this.icpEventService.stopPresenting();
29
+ }
30
+ leaveIcpSession() {
31
+ this.icpEventService.leaveSession();
32
+ }
33
+ showParticipantsList() {
34
+ this.toolbarEventService.toggleParticipantsList(!this.icpEventService.participantsListVisible.getValue());
35
+ }
36
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IcpToolbarComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.Store }, { token: i3.IcpEventService }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IcpToolbarComponent, selector: "mv-icp-toolbar", ngImport: i0, template: "<div id=\"icp-toolbar\" class=\"icpMode\">\n <div id=\"toolbar-title\">\n <label class=\"govuk-label\" data-l10n-id=\"digitalEvidence_label\">Digital evidence presentation</label>\n </div>\n\n <div id=\"presentation-mode\">\n <div class=\"item-label\">\n <label class=\"govuk-label\" data-l10n-id=\"icpInfo_label\">You are in presentation mode</label>\n </div>\n <div class=\"item-button\">\n <button class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\" tabindex=\"0\"\n title=\"Leave presentation\" (click)=\"leaveIcpSession()\">\n <span data-l10n-id=\"icp-leave-presentation_label\">Leave presentation</span>\n </button>\n </div>\n </div>\n\n <div id=\"presenter-info\">\n <div class=\"item-label\">\n <label class=\"govuk-label\" *ngIf=\"!presenterName\" data-l10n-id=\"noPresenter_label\">Waiting for presenter</label>\n <label class=\"govuk-label\" *ngIf=\"presenterName && isPresenter\" data-l10n-id=\"isPresenter_label\">You are\n presenting</label>\n <label class=\"govuk-label\" *ngIf=\"presenterName && !isPresenter\"\n data-l10n-id=\"otherPresenter_label\">{{ presenterName | titlecase }}\n is presenting</label>\n </div>\n <div class=\"item-button\">\n <button *ngIf=\"!presenterName\" class=\"govuk-button\" id=\"icp-present\" tabindex=\"0\" title=\"Present\"\n (click)=\"present()\">\n <span data-l10n-id=\"icp-present_label\">Start presenting</span>\n </button>\n <button *ngIf=\"isPresenter\" class=\"govuk-button govuk-button--warning\" id=\"icp-stop-presenting\" tabindex=\"0\"\n title=\"Stop presenting\" (click)=\"stopPresenting()\">\n <span data-l10n-id=\"icp-stop-presenting_label\">Stop Presenting</span>\n </button>\n </div>\n </div>\n\n <div id=\"participant-list\">\n <button class=\"govuk-button govuk-button--secondary\" id=\"icp-participants-list\" tabindex=\"0\"\n title=\"Participants list\" (click)=\"showParticipantsList()\">\n <span\n data-l10n-id=\"icp-stop-presenting_label\">{{(icpEventService.participantsListVisible | async) ? 'Hide': 'Show'}}\n participants</span>\n </button>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }] }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IcpToolbarComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'mv-icp-toolbar', template: "<div id=\"icp-toolbar\" class=\"icpMode\">\n <div id=\"toolbar-title\">\n <label class=\"govuk-label\" data-l10n-id=\"digitalEvidence_label\">Digital evidence presentation</label>\n </div>\n\n <div id=\"presentation-mode\">\n <div class=\"item-label\">\n <label class=\"govuk-label\" data-l10n-id=\"icpInfo_label\">You are in presentation mode</label>\n </div>\n <div class=\"item-button\">\n <button class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\" tabindex=\"0\"\n title=\"Leave presentation\" (click)=\"leaveIcpSession()\">\n <span data-l10n-id=\"icp-leave-presentation_label\">Leave presentation</span>\n </button>\n </div>\n </div>\n\n <div id=\"presenter-info\">\n <div class=\"item-label\">\n <label class=\"govuk-label\" *ngIf=\"!presenterName\" data-l10n-id=\"noPresenter_label\">Waiting for presenter</label>\n <label class=\"govuk-label\" *ngIf=\"presenterName && isPresenter\" data-l10n-id=\"isPresenter_label\">You are\n presenting</label>\n <label class=\"govuk-label\" *ngIf=\"presenterName && !isPresenter\"\n data-l10n-id=\"otherPresenter_label\">{{ presenterName | titlecase }}\n is presenting</label>\n </div>\n <div class=\"item-button\">\n <button *ngIf=\"!presenterName\" class=\"govuk-button\" id=\"icp-present\" tabindex=\"0\" title=\"Present\"\n (click)=\"present()\">\n <span data-l10n-id=\"icp-present_label\">Start presenting</span>\n </button>\n <button *ngIf=\"isPresenter\" class=\"govuk-button govuk-button--warning\" id=\"icp-stop-presenting\" tabindex=\"0\"\n title=\"Stop presenting\" (click)=\"stopPresenting()\">\n <span data-l10n-id=\"icp-stop-presenting_label\">Stop Presenting</span>\n </button>\n </div>\n </div>\n\n <div id=\"participant-list\">\n <button class=\"govuk-button govuk-button--secondary\" id=\"icp-participants-list\" tabindex=\"0\"\n title=\"Participants list\" (click)=\"showParticipantsList()\">\n <span\n data-l10n-id=\"icp-stop-presenting_label\">{{(icpEventService.participantsListVisible | async) ? 'Hide': 'Show'}}\n participants</span>\n </button>\n </div>\n</div>" }]
42
+ }], ctorParameters: () => [{ type: i1.ToolbarEventService }, { type: i2.Store }, { type: i3.IcpEventService }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdG9vbGJhci9pY3AtdG9vbGJhci9pY3AtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi90b29sYmFyL2ljcC10b29sYmFyL2ljcC10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7QUFTeEUsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUE0QixtQkFBd0MsRUFDaEQsS0FBc0IsRUFDZCxlQUErQjtRQUYvQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ2hELFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQ2Qsb0JBQWUsR0FBZixlQUFlLENBQWdCO0lBQUcsQ0FBQztJQUUvRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDdkUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUM5RSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzVHLENBQUM7a0lBcENVLG1CQUFtQjtzSEFBbkIsbUJBQW1CLHNEQ1poQyw2ckVBOENNOzs0RkRsQ08sbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCAqIGFzIGZyb21JY3BTZWxlY3RvcnMgZnJvbSAnLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2ljcC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJY3BTdGF0ZSB9IGZyb20gJy4uLy4uL2ljcC9pY3AuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJY3BFdmVudFNlcnZpY2UgfSBmcm9tICcuLi9pY3AtZXZlbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWljcC10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljcC10b29sYmFyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJY3BUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByZXNlbnRlck5hbWU6IHN0cmluZztcbiAgaXNQcmVzZW50ZXI6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSAkc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHRvb2xiYXJFdmVudFNlcnZpY2U6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPEljcFN0YXRlPiwgXG4gICAgICAgICAgICAgIHB1YmxpYyByZWFkb25seSBpY3BFdmVudFNlcnZpY2U6SWNwRXZlbnRTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbiA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbUljcFNlbGVjdG9ycy5pc1ByZXNlbnRlcikpXG4gICAgICAuc3Vic2NyaWJlKGlzUHJlc2VudGVyID0+IHRoaXMuaXNQcmVzZW50ZXIgPSBpc1ByZXNlbnRlcik7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21JY3BTZWxlY3RvcnMuZ2V0UHJlc2VudGVyTmFtZSkpXG4gICAgICAuc3Vic2NyaWJlKG5hbWUgPT4gdGhpcy5wcmVzZW50ZXJOYW1lID0gbmFtZSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcmVzZW50KCkge1xuICAgIHRoaXMuaWNwRXZlbnRTZXJ2aWNlLmJlY29tZVByZXNlbnRlcigpO1xuICB9XG5cbiAgc3RvcFByZXNlbnRpbmcoKSB7XG4gICAgdGhpcy5pY3BFdmVudFNlcnZpY2Uuc3RvcFByZXNlbnRpbmcoKTtcbiAgfVxuXG4gIGxlYXZlSWNwU2Vzc2lvbigpIHtcbiAgICB0aGlzLmljcEV2ZW50U2VydmljZS5sZWF2ZVNlc3Npb24oKTtcbiAgfVxuXG4gIHNob3dQYXJ0aWNpcGFudHNMaXN0KCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50U2VydmljZS50b2dnbGVQYXJ0aWNpcGFudHNMaXN0KCF0aGlzLmljcEV2ZW50U2VydmljZS5wYXJ0aWNpcGFudHNMaXN0VmlzaWJsZS5nZXRWYWx1ZSgpKTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImljcC10b29sYmFyXCIgY2xhc3M9XCJpY3BNb2RlXCI+XG4gIDxkaXYgaWQ9XCJ0b29sYmFyLXRpdGxlXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWxcIiBkYXRhLWwxMG4taWQ9XCJkaWdpdGFsRXZpZGVuY2VfbGFiZWxcIj5EaWdpdGFsIGV2aWRlbmNlIHByZXNlbnRhdGlvbjwvbGFiZWw+XG4gIDwvZGl2PlxuXG4gIDxkaXYgaWQ9XCJwcmVzZW50YXRpb24tbW9kZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLWxhYmVsXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGRhdGEtbDEwbi1pZD1cImljcEluZm9fbGFiZWxcIj5Zb3UgYXJlIGluIHByZXNlbnRhdGlvbiBtb2RlPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbS1idXR0b25cIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIHRpdGxlPVwiTGVhdmUgcHJlc2VudGF0aW9uXCIgKGNsaWNrKT1cImxlYXZlSWNwU2Vzc2lvbigpXCI+XG4gICAgICAgIDxzcGFuIGRhdGEtbDEwbi1pZD1cImljcC1sZWF2ZS1wcmVzZW50YXRpb25fbGFiZWxcIj5MZWF2ZSBwcmVzZW50YXRpb248L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBpZD1cInByZXNlbnRlci1pbmZvXCI+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW0tbGFiZWxcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsXCIgKm5nSWY9XCIhcHJlc2VudGVyTmFtZVwiIGRhdGEtbDEwbi1pZD1cIm5vUHJlc2VudGVyX2xhYmVsXCI+V2FpdGluZyBmb3IgcHJlc2VudGVyPC9sYWJlbD5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsXCIgKm5nSWY9XCJwcmVzZW50ZXJOYW1lICYmIGlzUHJlc2VudGVyXCIgZGF0YS1sMTBuLWlkPVwiaXNQcmVzZW50ZXJfbGFiZWxcIj5Zb3UgYXJlXG4gICAgICAgIHByZXNlbnRpbmc8L2xhYmVsPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWxcIiAqbmdJZj1cInByZXNlbnRlck5hbWUgJiYgIWlzUHJlc2VudGVyXCJcbiAgICAgICAgZGF0YS1sMTBuLWlkPVwib3RoZXJQcmVzZW50ZXJfbGFiZWxcIj57eyBwcmVzZW50ZXJOYW1lIHwgdGl0bGVjYXNlIH19XG4gICAgICAgIGlzIHByZXNlbnRpbmc8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLWJ1dHRvblwiPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFwcmVzZW50ZXJOYW1lXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIiBpZD1cImljcC1wcmVzZW50XCIgdGFiaW5kZXg9XCIwXCIgdGl0bGU9XCJQcmVzZW50XCJcbiAgICAgICAgKGNsaWNrKT1cInByZXNlbnQoKVwiPlxuICAgICAgICA8c3BhbiBkYXRhLWwxMG4taWQ9XCJpY3AtcHJlc2VudF9sYWJlbFwiPlN0YXJ0IHByZXNlbnRpbmc8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJpc1ByZXNlbnRlclwiIGNsYXNzPVwiZ292dWstYnV0dG9uICBnb3Z1ay1idXR0b24tLXdhcm5pbmdcIiBpZD1cImljcC1zdG9wLXByZXNlbnRpbmdcIiB0YWJpbmRleD1cIjBcIlxuICAgICAgICB0aXRsZT1cIlN0b3AgcHJlc2VudGluZ1wiIChjbGljayk9XCJzdG9wUHJlc2VudGluZygpXCI+XG4gICAgICAgIDxzcGFuIGRhdGEtbDEwbi1pZD1cImljcC1zdG9wLXByZXNlbnRpbmdfbGFiZWxcIj5TdG9wIFByZXNlbnRpbmc8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBpZD1cInBhcnRpY2lwYW50LWxpc3RcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5XCIgaWQ9XCJpY3AtcGFydGljaXBhbnRzLWxpc3RcIiB0YWJpbmRleD1cIjBcIlxuICAgICAgdGl0bGU9XCJQYXJ0aWNpcGFudHMgbGlzdFwiIChjbGljayk9XCJzaG93UGFydGljaXBhbnRzTGlzdCgpXCI+XG4gICAgICA8c3BhblxuICAgICAgICBkYXRhLWwxMG4taWQ9XCJpY3Atc3RvcC1wcmVzZW50aW5nX2xhYmVsXCI+e3soaWNwRXZlbnRTZXJ2aWNlLnBhcnRpY2lwYW50c0xpc3RWaXNpYmxlIHwgYXN5bmMpID8gJ0hpZGUnOiAnU2hvdyd9fVxuICAgICAgICBwYXJ0aWNpcGFudHM8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+Il19