@hmcts/media-viewer 2.9.4-RC.8 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/assets/all.scss +1 -1
  2. package/assets/sass/tags.scss +1 -1
  3. package/assets/sass/toolbar/main-toolbar.scss +7 -6
  4. package/esm2020/hmcts-media-viewer.mjs +5 -0
  5. package/esm2020/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +116 -0
  6. package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +109 -0
  7. package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +75 -0
  8. package/esm2020/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
  9. package/esm2020/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
  10. package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
  11. package/esm2020/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +118 -0
  12. package/esm2020/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +87 -0
  13. package/esm2020/lib/annotations/annotations.module.mjs +158 -0
  14. package/esm2020/lib/annotations/comment-set/comment/comment.component.mjs +176 -0
  15. package/esm2020/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
  16. package/esm2020/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
  17. package/esm2020/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +31 -0
  18. package/esm2020/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
  19. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +61 -0
  20. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +53 -0
  21. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +68 -0
  22. package/esm2020/lib/annotations/comment-set/comment-set-render.service.mjs +54 -0
  23. package/esm2020/lib/annotations/comment-set/comment-set.component.mjs +123 -0
  24. package/esm2020/lib/annotations/comments-summary/comments-summary.component.mjs +113 -0
  25. package/esm2020/lib/annotations/pipes/date/date.pipe.mjs +26 -0
  26. package/esm2020/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
  27. package/esm2020/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +16 -0
  28. package/esm2020/lib/annotations/services/annotation-api/annotation-api.service.mjs +58 -0
  29. package/esm2020/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +45 -0
  30. package/esm2020/lib/annotations/services/tags/tags.services.mjs +41 -0
  31. package/esm2020/lib/annotations/tags/tags.component.mjs +53 -0
  32. package/esm2020/lib/bookmark/components/bookmark-icons.component.mjs +25 -0
  33. package/esm2020/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +22 -0
  34. package/esm2020/lib/icp/icp-follower.service.mjs +60 -0
  35. package/esm2020/lib/icp/icp-presenter.service.mjs +55 -0
  36. package/esm2020/lib/icp/icp-session-api.service.mjs +21 -0
  37. package/esm2020/lib/icp/icp-update.service.mjs +57 -0
  38. package/esm2020/lib/icp/icp.service.mjs +93 -0
  39. package/esm2020/lib/icp/participants-list/participants-list.component.mjs +30 -0
  40. package/esm2020/lib/icp/socket.service.mjs +118 -0
  41. package/esm2020/lib/media-viewer.component.mjs +244 -0
  42. package/esm2020/lib/media-viewer.module.mjs +151 -0
  43. package/esm2020/lib/print.service.mjs +30 -0
  44. package/esm2020/lib/redaction/components/redaction.component.mjs +91 -0
  45. package/esm2020/lib/redaction/services/redaction-api.service.mjs +50 -0
  46. package/esm2020/lib/shared/gov-uk-date/gov-uk-date.component.mjs +28 -0
  47. package/esm2020/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +34 -0
  48. package/esm2020/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +63 -0
  49. package/esm2020/lib/shared/gov-uk-label/gov-uk-label.component.mjs +44 -0
  50. package/esm2020/lib/shared/shared.module.mjs +53 -0
  51. package/esm2020/lib/shared/util/services/number.helper.service.mjs +23 -0
  52. package/{esm2015/lib/store/bookmarks-store-utils.js → esm2020/lib/store/bookmarks-store-utils.mjs} +1 -3
  53. package/esm2020/lib/store/effects/annotation.effects.mjs +44 -0
  54. package/esm2020/lib/store/effects/bookmarks.effects.mjs +44 -0
  55. package/esm2020/lib/store/effects/document.effects.mjs +44 -0
  56. package/esm2020/lib/store/effects/icp.effects.mjs +26 -0
  57. package/esm2020/lib/store/effects/redaction.effects.mjs +67 -0
  58. package/esm2020/lib/store/reducers/annotations.reducer.mjs +183 -0
  59. package/esm2020/lib/store/reducers/bookmarks.reducer.mjs +116 -0
  60. package/esm2020/lib/store/reducers/document.reducer.mjs +135 -0
  61. package/esm2020/lib/store/reducers/icp.reducer.mjs +56 -0
  62. package/esm2020/lib/store/reducers/redaction.reducer.mjs +116 -0
  63. package/esm2020/lib/store/reducers/tags.reducer.mjs +93 -0
  64. package/esm2020/lib/store/selectors/annotation.selectors.mjs +81 -0
  65. package/esm2020/lib/store/selectors/bookmark.selectors.mjs +36 -0
  66. package/{esm2015/lib/store/selectors/document.selectors.js → esm2020/lib/store/selectors/document.selectors.mjs} +3 -6
  67. package/esm2020/lib/store/selectors/icp.selectors.mjs +13 -0
  68. package/{esm2015/lib/store/selectors/redaction.selectors.js → esm2020/lib/store/selectors/redaction.selectors.mjs} +6 -10
  69. package/{esm2015/lib/store/selectors/tag.selectors.js → esm2020/lib/store/selectors/tag.selectors.mjs} +4 -7
  70. package/esm2020/lib/store/store-utils.mjs +131 -0
  71. package/esm2020/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +41 -0
  72. package/esm2020/lib/toolbar/main-toolbar/main-toolbar.component.mjs +188 -0
  73. package/esm2020/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +199 -0
  74. package/esm2020/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +66 -0
  75. package/esm2020/lib/toolbar/search-bar/search-bar.component.mjs +105 -0
  76. package/esm2020/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
  77. package/{esm2015/lib/toolbar/toolbar-event.service.js → esm2020/lib/toolbar/toolbar-event.service.mjs} +7 -5
  78. package/esm2020/lib/toolbar/toolbar.module.mjs +67 -0
  79. package/esm2020/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +78 -0
  80. package/esm2020/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +22 -0
  81. package/esm2020/lib/viewers/grab-n-drag.directive.mjs +57 -0
  82. package/esm2020/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
  83. package/esm2020/lib/viewers/multimedia-player/multimedia-player.component.mjs +58 -0
  84. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +193 -0
  85. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +40 -0
  86. package/esm2020/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +230 -0
  87. package/esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +192 -0
  88. package/esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
  89. package/esm2020/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +77 -0
  90. package/esm2020/lib/viewers/rotation-persist/rotation-api.service.mjs +27 -0
  91. package/esm2020/lib/viewers/rotation-persist/rotation-persist.directive.mjs +64 -0
  92. package/esm2020/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
  93. package/esm2020/lib/viewers/viewer-event.service.mjs +30 -0
  94. package/esm2020/lib/viewers/viewer-util.service.mjs +20 -0
  95. package/esm2020/public_api.mjs +32 -0
  96. package/fesm2015/hmcts-media-viewer.mjs +6602 -0
  97. package/fesm2015/hmcts-media-viewer.mjs.map +1 -0
  98. package/fesm2020/hmcts-media-viewer.mjs +6893 -0
  99. package/fesm2020/hmcts-media-viewer.mjs.map +1 -0
  100. package/hmcts-media-viewer.d.ts.map +1 -1
  101. package/index.d.ts +6 -0
  102. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +3 -0
  103. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -1
  104. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +3 -0
  105. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +1 -1
  106. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +3 -0
  107. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -1
  108. package/lib/annotations/annotation-set/annotation-set.component.d.ts +3 -0
  109. package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +1 -1
  110. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +3 -0
  111. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -1
  112. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +5 -2
  113. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +1 -1
  114. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +3 -0
  115. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +1 -1
  116. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +3 -0
  117. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -1
  118. package/lib/annotations/annotations.module.d.ts +32 -0
  119. package/lib/annotations/annotations.module.d.ts.map +1 -1
  120. package/lib/annotations/comment-set/comment/comment.component.d.ts +3 -0
  121. package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -1
  122. package/lib/annotations/comment-set/comment/comment.service.d.ts +5 -2
  123. package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -1
  124. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +3 -0
  125. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +1 -1
  126. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +3 -0
  127. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +1 -1
  128. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +3 -0
  129. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +1 -1
  130. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +6 -3
  131. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +1 -1
  132. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +3 -0
  133. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +1 -1
  134. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +3 -0
  135. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -1
  136. package/lib/annotations/comment-set/comment-set-render.service.d.ts +3 -0
  137. package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +1 -1
  138. package/lib/annotations/comment-set/comment-set.component.d.ts +3 -0
  139. package/lib/annotations/comment-set/comment-set.component.d.ts.map +1 -1
  140. package/lib/annotations/comments-summary/comments-summary.component.d.ts +6 -3
  141. package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +1 -1
  142. package/lib/annotations/pipes/date/date.pipe.d.ts +3 -0
  143. package/lib/annotations/pipes/date/date.pipe.d.ts.map +1 -1
  144. package/lib/annotations/pipes/filter/filter.pipe.d.ts +3 -0
  145. package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +1 -1
  146. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +3 -0
  147. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +1 -1
  148. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +3 -0
  149. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +1 -1
  150. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +3 -0
  151. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +1 -1
  152. package/lib/annotations/services/tags/tags.services.d.ts +3 -0
  153. package/lib/annotations/services/tags/tags.services.d.ts.map +1 -1
  154. package/lib/annotations/tags/tags.component.d.ts +6 -3
  155. package/lib/annotations/tags/tags.component.d.ts.map +1 -1
  156. package/lib/bookmark/components/bookmark-icons.component.d.ts +3 -0
  157. package/lib/bookmark/components/bookmark-icons.component.d.ts.map +1 -1
  158. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +3 -0
  159. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +1 -1
  160. package/lib/icp/icp-follower.service.d.ts +3 -0
  161. package/lib/icp/icp-follower.service.d.ts.map +1 -1
  162. package/lib/icp/icp-presenter.service.d.ts +3 -0
  163. package/lib/icp/icp-presenter.service.d.ts.map +1 -1
  164. package/lib/icp/icp-session-api.service.d.ts +3 -0
  165. package/lib/icp/icp-session-api.service.d.ts.map +1 -1
  166. package/lib/icp/icp-update.service.d.ts +3 -0
  167. package/lib/icp/icp-update.service.d.ts.map +1 -1
  168. package/lib/icp/icp.service.d.ts +3 -0
  169. package/lib/icp/icp.service.d.ts.map +1 -1
  170. package/lib/icp/participants-list/participants-list.component.d.ts +3 -0
  171. package/lib/icp/participants-list/participants-list.component.d.ts.map +1 -1
  172. package/lib/icp/socket.service.d.ts +3 -0
  173. package/lib/icp/socket.service.d.ts.map +1 -1
  174. package/lib/media-viewer.component.d.ts +3 -0
  175. package/lib/media-viewer.component.d.ts.map +1 -1
  176. package/lib/media-viewer.module.d.ts +31 -0
  177. package/lib/media-viewer.module.d.ts.map +1 -1
  178. package/lib/print.service.d.ts +3 -0
  179. package/lib/print.service.d.ts.map +1 -1
  180. package/lib/redaction/components/redaction.component.d.ts +3 -0
  181. package/lib/redaction/components/redaction.component.d.ts.map +1 -1
  182. package/lib/redaction/services/redaction-api.service.d.ts +3 -0
  183. package/lib/redaction/services/redaction-api.service.d.ts.map +1 -1
  184. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +3 -0
  185. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +1 -1
  186. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +3 -0
  187. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +1 -1
  188. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +3 -0
  189. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +1 -1
  190. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +3 -0
  191. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +1 -1
  192. package/lib/shared/shared.module.d.ts +11 -0
  193. package/lib/shared/shared.module.d.ts.map +1 -1
  194. package/lib/shared/util/services/number.helper.service.d.ts +3 -0
  195. package/lib/shared/util/services/number.helper.service.d.ts.map +1 -1
  196. package/lib/store/actions/annotation.actions.d.ts +1 -1
  197. package/lib/store/actions/annotation.actions.d.ts.map +1 -1
  198. package/lib/store/actions/bookmark.actions.d.ts +1 -1
  199. package/lib/store/actions/bookmark.actions.d.ts.map +1 -1
  200. package/lib/store/actions/document.actions.d.ts +1 -1
  201. package/lib/store/actions/document.actions.d.ts.map +1 -1
  202. package/lib/store/actions/icp.actions.d.ts +1 -1
  203. package/lib/store/actions/icp.actions.d.ts.map +1 -1
  204. package/lib/store/actions/redaction.actions.d.ts +1 -1
  205. package/lib/store/actions/redaction.actions.d.ts.map +1 -1
  206. package/lib/store/actions/tag.actions.d.ts +1 -1
  207. package/lib/store/actions/tag.actions.d.ts.map +1 -1
  208. package/lib/store/effects/annotation.effects.d.ts +6 -3
  209. package/lib/store/effects/annotation.effects.d.ts.map +1 -1
  210. package/lib/store/effects/bookmarks.effects.d.ts +8 -5
  211. package/lib/store/effects/bookmarks.effects.d.ts.map +1 -1
  212. package/lib/store/effects/document.effects.d.ts +6 -3
  213. package/lib/store/effects/document.effects.d.ts.map +1 -1
  214. package/lib/store/effects/icp.effects.d.ts +5 -2
  215. package/lib/store/effects/icp.effects.d.ts.map +1 -1
  216. package/lib/store/effects/redaction.effects.d.ts +9 -6
  217. package/lib/store/effects/redaction.effects.d.ts.map +1 -1
  218. package/lib/store/selectors/annotation.selectors.d.ts +70 -27
  219. package/lib/store/selectors/annotation.selectors.d.ts.map +1 -1
  220. package/lib/store/selectors/bookmark.selectors.d.ts +18 -10
  221. package/lib/store/selectors/bookmark.selectors.d.ts.map +1 -1
  222. package/lib/store/selectors/document.selectors.d.ts +13 -11
  223. package/lib/store/selectors/document.selectors.d.ts.map +1 -1
  224. package/lib/store/selectors/icp.selectors.d.ts +9 -8
  225. package/lib/store/selectors/icp.selectors.d.ts.map +1 -1
  226. package/lib/store/selectors/redaction.selectors.d.ts +17 -11
  227. package/lib/store/selectors/redaction.selectors.d.ts.map +1 -1
  228. package/lib/store/selectors/tag.selectors.d.ts +14 -12
  229. package/lib/store/selectors/tag.selectors.d.ts.map +1 -1
  230. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +3 -0
  231. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +1 -1
  232. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +4 -0
  233. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -1
  234. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +5 -2
  235. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +1 -1
  236. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +3 -0
  237. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -1
  238. package/lib/toolbar/search-bar/search-bar.component.d.ts +3 -0
  239. package/lib/toolbar/search-bar/search-bar.component.d.ts.map +1 -1
  240. package/lib/toolbar/toolbar-button-visibility.service.d.ts +3 -0
  241. package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +1 -1
  242. package/lib/toolbar/toolbar-event.service.d.ts +5 -2
  243. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
  244. package/lib/toolbar/toolbar.module.d.ts +13 -0
  245. package/lib/toolbar/toolbar.module.d.ts.map +1 -1
  246. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +3 -0
  247. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +1 -1
  248. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +3 -0
  249. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +1 -1
  250. package/lib/viewers/grab-n-drag.directive.d.ts +3 -0
  251. package/lib/viewers/grab-n-drag.directive.d.ts.map +1 -1
  252. package/lib/viewers/image-viewer/image-viewer.component.d.ts +3 -0
  253. package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +1 -1
  254. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +3 -0
  255. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +1 -1
  256. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +3 -0
  257. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +1 -1
  258. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +3 -0
  259. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -1
  260. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +5 -2
  261. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -1
  262. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +3 -0
  263. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -1
  264. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +3 -0
  265. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -1
  266. package/lib/viewers/rotation-persist/rotation-api.service.d.ts +3 -0
  267. package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +1 -1
  268. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +3 -0
  269. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +1 -1
  270. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +3 -0
  271. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +1 -1
  272. package/lib/viewers/viewer-event.service.d.ts +3 -0
  273. package/lib/viewers/viewer-event.service.d.ts.map +1 -1
  274. package/lib/viewers/viewer-util.service.d.ts +3 -0
  275. package/lib/viewers/viewer-util.service.d.ts.map +1 -1
  276. package/package.json +34 -22
  277. package/public_api.d.ts +1 -0
  278. package/public_api.d.ts.map +1 -1
  279. package/bundles/hmcts-media-viewer.umd.js +0 -7539
  280. package/bundles/hmcts-media-viewer.umd.js.map +0 -1
  281. package/bundles/hmcts-media-viewer.umd.min.js +0 -2
  282. package/bundles/hmcts-media-viewer.umd.min.js.map +0 -1
  283. package/esm2015/hmcts-media-viewer.js +0 -64
  284. package/esm2015/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +0 -113
  285. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +0 -111
  286. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +0 -61
  287. package/esm2015/lib/annotations/annotation-set/annotation-set.component.js +0 -47
  288. package/esm2015/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +0 -86
  289. package/esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.js +0 -108
  290. package/esm2015/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.js +0 -107
  291. package/esm2015/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +0 -81
  292. package/esm2015/lib/annotations/annotations.module.js +0 -103
  293. package/esm2015/lib/annotations/comment-set/comment/comment.component.js +0 -162
  294. package/esm2015/lib/annotations/comment-set/comment/comment.service.js +0 -47
  295. package/esm2015/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.js +0 -48
  296. package/esm2015/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.js +0 -31
  297. package/esm2015/lib/annotations/comment-set/comment-navigate/comments-navigate.component.js +0 -95
  298. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.js +0 -60
  299. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.js +0 -53
  300. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +0 -68
  301. package/esm2015/lib/annotations/comment-set/comment-set-render.service.js +0 -51
  302. package/esm2015/lib/annotations/comment-set/comment-set.component.js +0 -110
  303. package/esm2015/lib/annotations/comments-summary/comments-summary.component.js +0 -106
  304. package/esm2015/lib/annotations/pipes/date/date.pipe.js +0 -22
  305. package/esm2015/lib/annotations/pipes/filter/filter.pipe.js +0 -28
  306. package/esm2015/lib/annotations/pipes/unsnake/unsnake.pipe.js +0 -12
  307. package/esm2015/lib/annotations/services/annotation-api/annotation-api.service.js +0 -59
  308. package/esm2015/lib/annotations/services/bookmarks-api/bookmarks-api.service.js +0 -46
  309. package/esm2015/lib/annotations/services/tags/tags.services.js +0 -36
  310. package/esm2015/lib/annotations/tags/tags.component.js +0 -52
  311. package/esm2015/lib/bookmark/components/bookmark-icons.component.js +0 -26
  312. package/esm2015/lib/icp/confirm-exit/confirm-action-dialog.component.js +0 -25
  313. package/esm2015/lib/icp/icp-follower.service.js +0 -63
  314. package/esm2015/lib/icp/icp-presenter.service.js +0 -57
  315. package/esm2015/lib/icp/icp-session-api.service.js +0 -22
  316. package/esm2015/lib/icp/icp-update.service.js +0 -56
  317. package/esm2015/lib/icp/icp.service.js +0 -98
  318. package/esm2015/lib/icp/participants-list/participants-list.component.js +0 -32
  319. package/esm2015/lib/icp/socket.service.js +0 -117
  320. package/esm2015/lib/media-viewer.component.js +0 -210
  321. package/esm2015/lib/media-viewer.module.js +0 -102
  322. package/esm2015/lib/print.service.js +0 -25
  323. package/esm2015/lib/redaction/components/redaction.component.js +0 -97
  324. package/esm2015/lib/redaction/services/redaction-api.service.js +0 -51
  325. package/esm2015/lib/shared/gov-uk-date/gov-uk-date.component.js +0 -21
  326. package/esm2015/lib/shared/gov-uk-error-message/gov-uk-error-message.component.js +0 -27
  327. package/esm2015/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -42
  328. package/esm2015/lib/shared/gov-uk-label/gov-uk-label.component.js +0 -32
  329. package/esm2015/lib/shared/shared.module.js +0 -34
  330. package/esm2015/lib/shared/util/services/number.helper.service.js +0 -23
  331. package/esm2015/lib/store/effects/annotation.effects.js +0 -55
  332. package/esm2015/lib/store/effects/bookmarks.effects.js +0 -66
  333. package/esm2015/lib/store/effects/document.effects.js +0 -59
  334. package/esm2015/lib/store/effects/icp.effects.js +0 -37
  335. package/esm2015/lib/store/effects/redaction.effects.js +0 -94
  336. package/esm2015/lib/store/reducers/annotations.reducer.js +0 -115
  337. package/esm2015/lib/store/reducers/bookmarks.reducer.js +0 -80
  338. package/esm2015/lib/store/reducers/document.reducer.js +0 -100
  339. package/esm2015/lib/store/reducers/icp.reducer.js +0 -40
  340. package/esm2015/lib/store/reducers/redaction.reducer.js +0 -75
  341. package/esm2015/lib/store/reducers/tags.reducer.js +0 -67
  342. package/esm2015/lib/store/selectors/annotation.selectors.js +0 -84
  343. package/esm2015/lib/store/selectors/bookmark.selectors.js +0 -39
  344. package/esm2015/lib/store/selectors/icp.selectors.js +0 -18
  345. package/esm2015/lib/store/store-utils.js +0 -105
  346. package/esm2015/lib/toolbar/icp-toolbar/icp-toolbar.component.js +0 -43
  347. package/esm2015/lib/toolbar/main-toolbar/main-toolbar.component.js +0 -170
  348. package/esm2015/lib/toolbar/redaction-search-bar/redaction-search-bar.component.js +0 -201
  349. package/esm2015/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +0 -70
  350. package/esm2015/lib/toolbar/search-bar/search-bar.component.js +0 -102
  351. package/esm2015/lib/toolbar/toolbar-button-visibility.service.js +0 -92
  352. package/esm2015/lib/toolbar/toolbar.module.js +0 -45
  353. package/esm2015/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.js +0 -72
  354. package/esm2015/lib/viewers/convertible-content-viewer/document-conversion-api.service.js +0 -23
  355. package/esm2015/lib/viewers/grab-n-drag.directive.js +0 -51
  356. package/esm2015/lib/viewers/image-viewer/image-viewer.component.js +0 -164
  357. package/esm2015/lib/viewers/multimedia-player/multimedia-player.component.js +0 -54
  358. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +0 -203
  359. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.js +0 -43
  360. package/esm2015/lib/viewers/pdf-viewer/pdf-viewer.component.js +0 -220
  361. package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +0 -179
  362. package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +0 -44
  363. package/esm2015/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +0 -72
  364. package/esm2015/lib/viewers/rotation-persist/rotation-api.service.js +0 -28
  365. package/esm2015/lib/viewers/rotation-persist/rotation-persist.directive.js +0 -67
  366. package/esm2015/lib/viewers/unsupported-viewer/unsupported-viewer.component.js +0 -47
  367. package/esm2015/lib/viewers/viewer-event.service.js +0 -30
  368. package/esm2015/lib/viewers/viewer-util.service.js +0 -23
  369. package/esm2015/public_api.js +0 -31
  370. package/fesm2015/hmcts-media-viewer.js +0 -6572
  371. package/fesm2015/hmcts-media-viewer.js.map +0 -1
  372. package/hmcts-media-viewer.d.ts +0 -69
  373. package/hmcts-media-viewer.metadata.json +0 -1
  374. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.ngfactory.d.ts.map +0 -1
  375. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.ngfactory.d.ts.map +0 -1
  376. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.ngfactory.d.ts.map +0 -1
  377. package/lib/annotations/annotation-set/annotation-set.component.ngfactory.d.ts.map +0 -1
  378. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.ngfactory.d.ts.map +0 -1
  379. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.ngfactory.d.ts.map +0 -1
  380. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.ngfactory.d.ts.map +0 -1
  381. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.ngfactory.d.ts.map +0 -1
  382. package/lib/annotations/annotations.module.ngfactory.d.ts.map +0 -1
  383. package/lib/annotations/comment-set/comment/comment.component.ngfactory.d.ts.map +0 -1
  384. package/lib/annotations/comment-set/comment/comment.service.ngfactory.d.ts.map +0 -1
  385. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.ngfactory.d.ts.map +0 -1
  386. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.ngfactory.d.ts.map +0 -1
  387. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.ngfactory.d.ts.map +0 -1
  388. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.ngfactory.d.ts.map +0 -1
  389. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.ngfactory.d.ts.map +0 -1
  390. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.ngfactory.d.ts.map +0 -1
  391. package/lib/annotations/comment-set/comment-set-render.service.ngfactory.d.ts.map +0 -1
  392. package/lib/annotations/comment-set/comment-set.component.ngfactory.d.ts.map +0 -1
  393. package/lib/annotations/comments-summary/comments-summary.component.ngfactory.d.ts.map +0 -1
  394. package/lib/annotations/pipes/date/date.pipe.ngfactory.d.ts.map +0 -1
  395. package/lib/annotations/pipes/filter/filter.pipe.ngfactory.d.ts.map +0 -1
  396. package/lib/annotations/pipes/unsnake/unsnake.pipe.ngfactory.d.ts.map +0 -1
  397. package/lib/annotations/services/annotation-api/annotation-api.service.ngfactory.d.ts.map +0 -1
  398. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.ngfactory.d.ts.map +0 -1
  399. package/lib/annotations/services/tags/tags.services.ngfactory.d.ts.map +0 -1
  400. package/lib/annotations/tags/tags.component.ngfactory.d.ts.map +0 -1
  401. package/lib/bookmark/components/bookmark-icons.component.ngfactory.d.ts.map +0 -1
  402. package/lib/icp/confirm-exit/confirm-action-dialog.component.ngfactory.d.ts.map +0 -1
  403. package/lib/icp/icp-follower.service.ngfactory.d.ts.map +0 -1
  404. package/lib/icp/icp-presenter.service.ngfactory.d.ts.map +0 -1
  405. package/lib/icp/icp-session-api.service.ngfactory.d.ts.map +0 -1
  406. package/lib/icp/icp-update.service.ngfactory.d.ts.map +0 -1
  407. package/lib/icp/icp.service.ngfactory.d.ts.map +0 -1
  408. package/lib/icp/participants-list/participants-list.component.ngfactory.d.ts.map +0 -1
  409. package/lib/icp/socket.service.ngfactory.d.ts.map +0 -1
  410. package/lib/media-viewer.component.ngfactory.d.ts.map +0 -1
  411. package/lib/media-viewer.module.ngfactory.d.ts.map +0 -1
  412. package/lib/print.service.ngfactory.d.ts.map +0 -1
  413. package/lib/redaction/components/redaction.component.ngfactory.d.ts.map +0 -1
  414. package/lib/redaction/services/redaction-api.service.ngfactory.d.ts.map +0 -1
  415. package/lib/shared/gov-uk-date/gov-uk-date.component.ngfactory.d.ts.map +0 -1
  416. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.ngfactory.d.ts.map +0 -1
  417. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.ngfactory.d.ts.map +0 -1
  418. package/lib/shared/gov-uk-label/gov-uk-label.component.ngfactory.d.ts.map +0 -1
  419. package/lib/shared/shared.module.ngfactory.d.ts.map +0 -1
  420. package/lib/shared/util/services/number.helper.service.ngfactory.d.ts.map +0 -1
  421. package/lib/store/effects/annotation.effects.ngfactory.d.ts.map +0 -1
  422. package/lib/store/effects/bookmarks.effects.ngfactory.d.ts.map +0 -1
  423. package/lib/store/effects/document.effects.ngfactory.d.ts.map +0 -1
  424. package/lib/store/effects/icp.effects.ngfactory.d.ts.map +0 -1
  425. package/lib/store/effects/redaction.effects.ngfactory.d.ts.map +0 -1
  426. package/lib/toolbar/icp-toolbar/icp-toolbar.component.ngfactory.d.ts.map +0 -1
  427. package/lib/toolbar/main-toolbar/main-toolbar.component.ngfactory.d.ts.map +0 -1
  428. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.ngfactory.d.ts.map +0 -1
  429. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.scss.shim.ngstyle.d.ts.map +0 -1
  430. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.ngfactory.d.ts.map +0 -1
  431. package/lib/toolbar/search-bar/search-bar.component.ngfactory.d.ts.map +0 -1
  432. package/lib/toolbar/toolbar-button-visibility.service.ngfactory.d.ts.map +0 -1
  433. package/lib/toolbar/toolbar-event.service.ngfactory.d.ts.map +0 -1
  434. package/lib/toolbar/toolbar.module.ngfactory.d.ts.map +0 -1
  435. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.ngfactory.d.ts.map +0 -1
  436. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.ngfactory.d.ts.map +0 -1
  437. package/lib/viewers/grab-n-drag.directive.ngfactory.d.ts.map +0 -1
  438. package/lib/viewers/image-viewer/image-viewer.component.ngfactory.d.ts.map +0 -1
  439. package/lib/viewers/multimedia-player/multimedia-player.component.ngfactory.d.ts.map +0 -1
  440. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.ngfactory.d.ts.map +0 -1
  441. package/lib/viewers/pdf-viewer/pdf-viewer.component.ngfactory.d.ts.map +0 -1
  442. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.ngfactory.d.ts.map +0 -1
  443. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.ngfactory.d.ts.map +0 -1
  444. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.ngfactory.d.ts.map +0 -1
  445. package/lib/viewers/rotation-persist/rotation-api.service.ngfactory.d.ts.map +0 -1
  446. package/lib/viewers/rotation-persist/rotation-persist.directive.ngfactory.d.ts.map +0 -1
  447. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.ngfactory.d.ts.map +0 -1
  448. package/lib/viewers/viewer-event.service.ngfactory.d.ts.map +0 -1
  449. package/lib/viewers/viewer-util.service.ngfactory.d.ts.map +0 -1
  450. /package/{esm2015/lib/annotations/annotation-set/annotation-set.model.js → esm2020/lib/annotations/annotation-set/annotation-set.model.mjs} +0 -0
  451. /package/{esm2015/lib/annotations/annotation-set/annotation-view/annotation.model.js → esm2020/lib/annotations/annotation-set/annotation-view/annotation.model.mjs} +0 -0
  452. /package/{esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.js → esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs} +0 -0
  453. /package/{esm2015/lib/annotations/comment-set/comment/comment.model.js → esm2020/lib/annotations/comment-set/comment/comment.model.mjs} +0 -0
  454. /package/{esm2015/lib/annotations/models/api-persisted.model.js → esm2020/lib/annotations/models/api-persisted.model.mjs} +0 -0
  455. /package/{esm2015/lib/annotations/models/event-select.model.js → esm2020/lib/annotations/models/event-select.model.mjs} +0 -0
  456. /package/{esm2015/lib/annotations/models/tags.model.js → esm2020/lib/annotations/models/tags.model.mjs} +0 -0
  457. /package/{esm2015/lib/annotations/models/user.model.js → esm2020/lib/annotations/models/user.model.mjs} +0 -0
  458. /package/{esm2015/lib/icp/icp.events.js → esm2020/lib/icp/icp.events.mjs} +0 -0
  459. /package/{esm2015/lib/icp/icp.interfaces.js → esm2020/lib/icp/icp.interfaces.mjs} +0 -0
  460. /package/{esm2015/lib/redaction/services/redaction.model.js → esm2020/lib/redaction/services/redaction.model.mjs} +0 -0
  461. /package/{esm2015/lib/shared/util/helpers/html-templates.helper.js → esm2020/lib/shared/util/helpers/html-templates.helper.mjs} +0 -0
  462. /package/{esm2015/lib/store/actions/annotation.actions.js → esm2020/lib/store/actions/annotation.actions.mjs} +0 -0
  463. /package/{esm2015/lib/store/actions/bookmark.actions.js → esm2020/lib/store/actions/bookmark.actions.mjs} +0 -0
  464. /package/{esm2015/lib/store/actions/document.actions.js → esm2020/lib/store/actions/document.actions.mjs} +0 -0
  465. /package/{esm2015/lib/store/actions/icp.actions.js → esm2020/lib/store/actions/icp.actions.mjs} +0 -0
  466. /package/{esm2015/lib/store/actions/redaction.actions.js → esm2020/lib/store/actions/redaction.actions.mjs} +0 -0
  467. /package/{esm2015/lib/store/actions/tag.actions.js → esm2020/lib/store/actions/tag.actions.mjs} +0 -0
  468. /package/{esm2015/lib/store/effects/index.js → esm2020/lib/store/effects/index.mjs} +0 -0
  469. /package/{esm2015/lib/store/models/bookmarks.interface.js → esm2020/lib/store/models/bookmarks.interface.mjs} +0 -0
  470. /package/{esm2015/lib/store/models/filters.interface.js → esm2020/lib/store/models/filters.interface.mjs} +0 -0
  471. /package/{esm2015/lib/store/reducers/reducers.js → esm2020/lib/store/reducers/reducers.mjs} +0 -0
  472. /package/{esm2015/lib/toolbar/icp-event.service.js → esm2020/lib/toolbar/icp-event.service.mjs} +0 -0
  473. /package/{esm2015/lib/toolbar/redaction-search-bar/redaction-search.model.js → esm2020/lib/toolbar/redaction-search-bar/redaction-search.model.mjs} +0 -0
  474. /package/{esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.js → esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs} +0 -0
  475. /package/{esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.js → esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs} +0 -0
  476. /package/{esm2015/lib/viewers/rotation-persist/rotation.model.js → esm2020/lib/viewers/rotation-persist/rotation.model.mjs} +0 -0
  477. /package/{esm2015/lib/viewers/viewer-exception.model.js → esm2020/lib/viewers/viewer-exception.model.mjs} +0 -0
@@ -0,0 +1,135 @@
1
+ import * as fromActions from '../actions/document.actions';
2
+ export const initialDocumentState = {
3
+ convertedDocument: undefined,
4
+ documentId: undefined,
5
+ pdfPosition: undefined,
6
+ pages: {},
7
+ hasDifferentPageSize: false,
8
+ rotation: undefined,
9
+ rotationLoaded: false,
10
+ loading: false,
11
+ loaded: false
12
+ };
13
+ export function docReducer(state = initialDocumentState, action) {
14
+ switch (action.type) {
15
+ case fromActions.CONVERT_SUCCESS: {
16
+ const convertedDocument = {
17
+ url: action.payload,
18
+ error: undefined
19
+ };
20
+ return {
21
+ ...state,
22
+ convertedDocument
23
+ };
24
+ }
25
+ case fromActions.CONVERT_FAIL: {
26
+ const convertedDocument = {
27
+ url: undefined,
28
+ error: action.payload
29
+ };
30
+ return {
31
+ ...state,
32
+ convertedDocument
33
+ };
34
+ }
35
+ case fromActions.CLEAR_CONVERT_DOC_URL: {
36
+ const convertedDocument = undefined;
37
+ return {
38
+ ...state,
39
+ convertedDocument
40
+ };
41
+ }
42
+ case fromActions.LOAD_ROTATION: {
43
+ return {
44
+ ...state,
45
+ rotationLoaded: false
46
+ };
47
+ }
48
+ case fromActions.LOAD_ROTATION_SUCCESS: {
49
+ const metadata = action.payload;
50
+ const rotation = metadata ? metadata.rotationAngle : 0;
51
+ return {
52
+ ...state,
53
+ rotation,
54
+ rotationLoaded: true
55
+ };
56
+ }
57
+ case fromActions.LOAD_ROTATION_FAIL: {
58
+ return {
59
+ ...state,
60
+ rotation: 0,
61
+ rotationLoaded: true
62
+ };
63
+ }
64
+ case fromActions.SAVE_ROTATION_SUCCESS: {
65
+ const metadata = action.payload;
66
+ const rotation = metadata.rotationAngle;
67
+ return {
68
+ ...state,
69
+ rotation
70
+ };
71
+ }
72
+ case fromActions.SET_DOCUMENT_ID: {
73
+ return {
74
+ ...state,
75
+ documentId: action.payload
76
+ };
77
+ }
78
+ case fromActions.ADD_PAGES: {
79
+ const payload = action.payload;
80
+ let pages = {};
81
+ let pageHeight;
82
+ let pageWidth;
83
+ let hasDifferentPageSize = state.hasDifferentPageSize;
84
+ payload.forEach(page => {
85
+ if (!hasDifferentPageSize && pageHeight && pageWidth &&
86
+ (pageHeight !== page.div['scrollHeight'] || pageWidth !== page.div['scrollWidth'])) {
87
+ hasDifferentPageSize = true;
88
+ }
89
+ else {
90
+ pageHeight = page.div['scrollHeight'];
91
+ pageWidth = page.div['scrollWidth'];
92
+ }
93
+ const styles = {
94
+ left: page.div['offsetLeft'],
95
+ height: page.div['scrollHeight'],
96
+ width: page.div['scrollWidth']
97
+ };
98
+ const scaleRotation = {
99
+ scale: page.scale,
100
+ rotation: page.rotation
101
+ };
102
+ const p = {
103
+ styles,
104
+ scaleRotation,
105
+ viewportScale: page.viewportScale
106
+ };
107
+ pages = {
108
+ ...pages,
109
+ [page.id]: p
110
+ };
111
+ });
112
+ return {
113
+ ...state,
114
+ pages,
115
+ hasDifferentPageSize
116
+ };
117
+ }
118
+ case fromActions.POSITION_UPDATED: {
119
+ const pdfPosition = action.payload;
120
+ return {
121
+ ...state,
122
+ pdfPosition
123
+ };
124
+ }
125
+ }
126
+ return state;
127
+ }
128
+ export const getDocPages = (state) => state.pages;
129
+ export const getDocId = (state) => state.documentId;
130
+ export const getPdfPos = (state) => state.pdfPosition;
131
+ export const getHasDifferentPageSizes = (state) => state.hasDifferentPageSize;
132
+ export const getRotation = (state) => state.rotation;
133
+ export const rotationLoaded = (state) => state.rotationLoaded;
134
+ export const getConvertedDocument = (state) => state.convertedDocument;
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL3JlZHVjZXJzL2RvY3VtZW50LnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQztBQWdDM0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWtCO0lBQ2pELGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsVUFBVSxFQUFFLFNBQVM7SUFDckIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsS0FBSyxFQUFFLEVBQUU7SUFDVCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLEtBQUs7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLFVBQVUsQ0FBRSxLQUFLLEdBQUcsb0JBQW9CLEVBQzVCLE1BQW1DO0lBRTdELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUVuQixLQUFLLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNoQyxNQUFNLGlCQUFpQixHQUFHO2dCQUN4QixHQUFHLEVBQUUsTUFBTSxDQUFDLE9BQU87Z0JBQ25CLEtBQUssRUFBRSxTQUFTO2FBQ2pCLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixpQkFBaUI7YUFDbEIsQ0FBQztTQUNIO1FBRUQsS0FBSyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0IsTUFBTSxpQkFBaUIsR0FBRztnQkFDeEIsR0FBRyxFQUFFLFNBQVM7Z0JBQ2QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2FBQ3RCLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixpQkFBaUI7YUFDbEIsQ0FBQztTQUNIO1FBRUQsS0FB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QUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiLENBQUM7WUFFSixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLEtBQUs7Z0JBQ0wsb0JBQW9CO2FBQ3JCLENBQUM7U0FDSDtRQUVELEtBQUssV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDakMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNuQyxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixXQUFXO2FBQ1osQ0FBQztTQUNIO0tBQ0Y7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFDRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQztBQUM3RixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7QUFDN0UsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcm9tQWN0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50U3RhdGUge1xuICBjb252ZXJ0ZWREb2N1bWVudDoge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGVycm9yOiBzdHJpbmc7XG4gIH07XG4gIGRvY3VtZW50SWQ6IHN0cmluZztcbiAgcGRmUG9zaXRpb246IFBkZlBvc2l0aW9uO1xuICBwYWdlczoge1tpZDogc3RyaW5nXTogRG9jdW1lbnRQYWdlc307XG4gIGhhc0RpZmZlcmVudFBhZ2VTaXplOiBib29sZWFuO1xuICByb3RhdGlvbjogbnVtYmVyO1xuICByb3RhdGlvbkxvYWRlZDogYm9vbGVhbjtcbiAgbG9hZGVkOiBib29sZWFuO1xuICBsb2FkaW5nOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50UGFnZXMge1xuIG51bWJlck9mUGFnZXM6IG51bWJlcjtcbiBzdHlsZXM6IHsgbGVmdDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgd2lkdGg6IG51bWJlciB9O1xuIHNjYWxlUm90YXRpb246IHsgc2NhbGU6IHN0cmluZzsgcm90YXRpb246IHN0cmluZyB9O1xuIHZpZXdwb3J0U2NhbGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZGZQb3NpdGlvbiB7XG4gIHBhZ2VOdW1iZXI6IG51bWJlcjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgcm90YXRpb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxEb2N1bWVudFN0YXRlOiBEb2N1bWVudFN0YXRlID0ge1xuICBjb252ZXJ0ZWREb2N1bWVudDogdW5kZWZpbmVkLFxuICBkb2N1bWVudElkOiB1bmRlZmluZWQsXG4gIHBkZlBvc2l0aW9uOiB1bmRlZmluZWQsXG4gIHBhZ2VzOiB7fSxcbiAgaGFzRGlmZmVyZW50UGFnZVNpemU6IGZhbHNlLFxuICByb3RhdGlvbjogdW5kZWZpbmVkLFxuICByb3RhdGlvbkxvYWRlZDogZmFsc2UsXG4gIGxvYWRpbmc6IGZhbHNlLFxuICBsb2FkZWQ6IGZhbHNlXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZG9jUmVkdWNlciAoc3RhdGUgPSBpbml0aWFsRG9jdW1lbnRTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IGZyb21BY3Rpb25zLkRvY3VtZW50QWN0aW9ucyk6IERvY3VtZW50U3RhdGUge1xuXG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuQ09OVkVSVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWREb2N1bWVudCA9IHtcbiAgICAgICAgdXJsOiBhY3Rpb24ucGF5bG9hZCxcbiAgICAgICAgZXJyb3I6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb252ZXJ0ZWREb2N1bWVudFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21BY3Rpb25zLkNPTlZFUlRfRkFJTDoge1xuICAgICAgY29uc3QgY29udmVydGVkRG9jdW1lbnQgPSB7XG4gICAgICAgIHVybDogdW5kZWZpbmVkLFxuICAgICAgICBlcnJvcjogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgY29udmVydGVkRG9jdW1lbnRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5DTEVBUl9DT05WRVJUX0RPQ19VUkw6IHtcbiAgICAgIGNvbnN0IGNvbnZlcnRlZERvY3VtZW50ID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbnZlcnRlZERvY3VtZW50XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuTE9BRF9ST1RBVElPTjoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJvdGF0aW9uTG9hZGVkOiBmYWxzZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21BY3Rpb25zLkxPQURfUk9UQVRJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IHJvdGF0aW9uID0gbWV0YWRhdGEgPyBtZXRhZGF0YS5yb3RhdGlvbkFuZ2xlIDogMDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByb3RhdGlvbixcbiAgICAgICAgcm90YXRpb25Mb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5MT0FEX1JPVEFUSU9OX0ZBSUw6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByb3RhdGlvbjogMCxcbiAgICAgICAgcm90YXRpb25Mb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5TQVZFX1JPVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCByb3RhdGlvbiA9IG1ldGFkYXRhLnJvdGF0aW9uQW5nbGU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcm90YXRpb25cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5TRVRfRE9DVU1FTlRfSUQgOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgZG9jdW1lbnRJZDogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5BRERfUEFHRVM6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGxldCBwYWdlcyA9IHt9O1xuICAgICAgbGV0IHBhZ2VIZWlnaHQ7XG4gICAgICBsZXQgcGFnZVdpZHRoO1xuICAgICAgbGV0IGhhc0RpZmZlcmVudFBhZ2VTaXplID0gc3RhdGUuaGFzRGlmZmVyZW50UGFnZVNpemU7XG4gICAgICBwYXlsb2FkLmZvckVhY2gocGFnZSA9PiB7XG4gICAgICAgIGlmICghaGFzRGlmZmVyZW50UGFnZVNpemUgJiYgcGFnZUhlaWdodCAmJiBwYWdlV2lkdGggJiZcbiAgICAgICAgICAocGFnZUhlaWdodCAhPT0gcGFnZS5kaXZbJ3Njcm9sbEhlaWdodCddIHx8IHBhZ2VXaWR0aCAhPT0gcGFnZS5kaXZbJ3Njcm9sbFdpZHRoJ10pKSB7XG4gICAgICAgICAgICBoYXNEaWZmZXJlbnRQYWdlU2l6ZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGFnZUhlaWdodCA9IHBhZ2UuZGl2WydzY3JvbGxIZWlnaHQnXTtcbiAgICAgICAgICBwYWdlV2lkdGggPSBwYWdlLmRpdlsnc2Nyb2xsV2lkdGgnXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdHlsZXMgPSB7XG4gICAgICAgICAgbGVmdDogcGFnZS5kaXZbJ29mZnNldExlZnQnXSxcbiAgICAgICAgICBoZWlnaHQ6IHBhZ2UuZGl2WydzY3JvbGxIZWlnaHQnXSxcbiAgICAgICAgICB3aWR0aDogcGFnZS5kaXZbJ3Njcm9sbFdpZHRoJ11cbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzY2FsZVJvdGF0aW9uID0ge1xuICAgICAgICAgIHNjYWxlOiBwYWdlLnNjYWxlLFxuICAgICAgICAgIHJvdGF0aW9uOiBwYWdlLnJvdGF0aW9uXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgcCA9IHtcbiAgICAgICAgICBzdHlsZXMsXG4gICAgICAgICAgc2NhbGVSb3RhdGlvbixcbiAgICAgICAgICB2aWV3cG9ydFNjYWxlOiBwYWdlLnZpZXdwb3J0U2NhbGVcbiAgICAgICAgfTtcblxuICAgICAgICBwYWdlcyA9IHtcbiAgICAgICAgICAuLi5wYWdlcyxcbiAgICAgICAgICBbcGFnZS5pZF06IHBcbiAgICAgICAgfTtcblxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcGFnZXMsXG4gICAgICAgIGhhc0RpZmZlcmVudFBhZ2VTaXplXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuUE9TSVRJT05fVVBEQVRFRDoge1xuICAgICAgY29uc3QgcGRmUG9zaXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwZGZQb3NpdGlvblxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0YXRlO1xufVxuZXhwb3J0IGNvbnN0IGdldERvY1BhZ2VzID0gKHN0YXRlOiBEb2N1bWVudFN0YXRlKSA9PiBzdGF0ZS5wYWdlcztcbmV4cG9ydCBjb25zdCBnZXREb2NJZCA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuZG9jdW1lbnRJZDtcbmV4cG9ydCBjb25zdCBnZXRQZGZQb3MgPSAoc3RhdGU6IERvY3VtZW50U3RhdGUpID0+IHN0YXRlLnBkZlBvc2l0aW9uO1xuZXhwb3J0IGNvbnN0IGdldEhhc0RpZmZlcmVudFBhZ2VTaXplcyA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuaGFzRGlmZmVyZW50UGFnZVNpemU7XG5leHBvcnQgY29uc3QgZ2V0Um90YXRpb24gPSAoc3RhdGU6IERvY3VtZW50U3RhdGUpID0+IHN0YXRlLnJvdGF0aW9uO1xuZXhwb3J0IGNvbnN0IHJvdGF0aW9uTG9hZGVkID0gKHN0YXRlOiBEb2N1bWVudFN0YXRlKSA9PiBzdGF0ZS5yb3RhdGlvbkxvYWRlZDtcbmV4cG9ydCBjb25zdCBnZXRDb252ZXJ0ZWREb2N1bWVudCA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuY29udmVydGVkRG9jdW1lbnQ7XG4iXX0=
@@ -0,0 +1,56 @@
1
+ import * as fromIcpActions from '../actions/icp.actions';
2
+ export const initialIcpSessionState = {
3
+ session: null,
4
+ presenter: null,
5
+ client: null,
6
+ participants: []
7
+ };
8
+ export function icpReducer(state = initialIcpSessionState, action) {
9
+ switch (action.type) {
10
+ case fromIcpActions.SET_CASE_ID: {
11
+ const caseId = action.payload;
12
+ const session = { ...state.session, caseId };
13
+ return {
14
+ ...state,
15
+ session
16
+ };
17
+ }
18
+ case fromIcpActions.ICP_SOCKET_SESSION_JOINED: {
19
+ const session = action.payload.session;
20
+ const participantInfo = action.payload.participantInfo;
21
+ return {
22
+ ...state,
23
+ session,
24
+ client: participantInfo.client,
25
+ presenter: participantInfo.presenter,
26
+ };
27
+ }
28
+ case fromIcpActions.ICP_PARTICIPANT_LIST_UPDATED: {
29
+ const updatedParticipants = action.payload;
30
+ const participants = Object.keys(updatedParticipants)
31
+ .map(id => ({ id: id, username: updatedParticipants[id] }));
32
+ return {
33
+ ...state,
34
+ participants
35
+ };
36
+ }
37
+ case fromIcpActions.ICP_PRESENTER_UPDATED: {
38
+ const presenter = action.payload;
39
+ return {
40
+ ...state, presenter
41
+ };
42
+ }
43
+ case fromIcpActions.LEAVE_ICP_SOCKET_SESSION: {
44
+ return {
45
+ ...state,
46
+ ...initialIcpSessionState
47
+ };
48
+ }
49
+ }
50
+ return state;
51
+ }
52
+ export const getIcpSession = (state) => state.session;
53
+ export const getPresenter = (state) => state.presenter;
54
+ export const getClient = (state) => state.client;
55
+ export const getParticipants = (state) => state.participants;
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9pY3AucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssY0FBYyxNQUFNLHdCQUF3QixDQUFDO0FBR3pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFhO0lBQzlDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsSUFBSTtJQUNaLFlBQVksRUFBRSxFQUFFO0NBQ2pCLENBQUM7QUFFRixNQUFNLFVBQVUsVUFBVSxDQUFFLEtBQUssR0FBRyxzQkFBc0IsRUFDeEIsTUFBaUM7SUFFakUsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBRW5CLEtBQUssY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDOUIsTUFBTSxPQUFPLEdBQUcsRUFBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUM7WUFDM0MsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsT0FBTzthQUNSLENBQUM7U0FDSDtRQUVELEtBQUssY0FBYyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDN0MsTUFBTSxPQUFPLEdBQWUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDbkQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7WUFDdkQsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsT0FBTztnQkFDUCxNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU07Z0JBQzlCLFNBQVMsRUFBRSxlQUFlLENBQUMsU0FBUzthQUNyQyxDQUFDO1NBQ0g7UUFFRCxLQUFLLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sbUJBQW1CLEdBQVEsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNoRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO2lCQUNsRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUQsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsWUFBWTthQUNiLENBQUM7U0FDSDtRQUVELEtBQUssY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDekMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNqQyxPQUFPO2dCQUNMLEdBQUcsS0FBSyxFQUFFLFNBQVM7YUFDcEIsQ0FBQztTQUNIO1FBRUQsS0FBSyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUM1QyxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixHQUFHLHNCQUFzQjthQUMxQixDQUFDO1NBQ0g7S0FDRjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZyb21JY3BBY3Rpb25zIGZyb20gJy4uL2FjdGlvbnMvaWNwLmFjdGlvbnMnO1xuaW1wb3J0IHsgSWNwU2Vzc2lvbiwgSWNwU3RhdGUgfSBmcm9tICcuLi8uLi9pY3AvaWNwLmludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbEljcFNlc3Npb25TdGF0ZTogSWNwU3RhdGUgPSB7XG4gIHNlc3Npb246IG51bGwsXG4gIHByZXNlbnRlcjogbnVsbCxcbiAgY2xpZW50OiBudWxsLFxuICBwYXJ0aWNpcGFudHM6IFtdXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaWNwUmVkdWNlciAoc3RhdGUgPSBpbml0aWFsSWNwU2Vzc2lvblN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogZnJvbUljcEFjdGlvbnMuSWNwQWN0aW9ucyk6IEljcFN0YXRlIHtcblxuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG5cbiAgICBjYXNlIGZyb21JY3BBY3Rpb25zLlNFVF9DQVNFX0lEOiB7XG4gICAgICBjb25zdCBjYXNlSWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IHNlc3Npb24gPSB7Li4uc3RhdGUuc2Vzc2lvbiwgY2FzZUlkfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzZXNzaW9uXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUljcEFjdGlvbnMuSUNQX1NPQ0tFVF9TRVNTSU9OX0pPSU5FRDoge1xuICAgICAgY29uc3Qgc2Vzc2lvbjogSWNwU2Vzc2lvbiA9IGFjdGlvbi5wYXlsb2FkLnNlc3Npb247XG4gICAgICBjb25zdCBwYXJ0aWNpcGFudEluZm8gPSBhY3Rpb24ucGF5bG9hZC5wYXJ0aWNpcGFudEluZm87XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2Vzc2lvbixcbiAgICAgICAgY2xpZW50OiBwYXJ0aWNpcGFudEluZm8uY2xpZW50LFxuICAgICAgICBwcmVzZW50ZXI6IHBhcnRpY2lwYW50SW5mby5wcmVzZW50ZXIsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUljcEFjdGlvbnMuSUNQX1BBUlRJQ0lQQU5UX0xJU1RfVVBEQVRFRDoge1xuICAgICAgY29uc3QgdXBkYXRlZFBhcnRpY2lwYW50czogYW55ID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBwYXJ0aWNpcGFudHMgPSBPYmplY3Qua2V5cyh1cGRhdGVkUGFydGljaXBhbnRzKVxuICAgICAgICAubWFwKGlkID0+ICh7IGlkOiBpZCwgdXNlcm5hbWU6IHVwZGF0ZWRQYXJ0aWNpcGFudHNbaWRdIH0pKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwYXJ0aWNpcGFudHNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tSWNwQWN0aW9ucy5JQ1BfUFJFU0VOVEVSX1VQREFURUQ6IHtcbiAgICAgIGNvbnN0IHByZXNlbnRlciA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsIHByZXNlbnRlclxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21JY3BBY3Rpb25zLkxFQVZFX0lDUF9TT0NLRVRfU0VTU0lPTjoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIC4uLmluaXRpYWxJY3BTZXNzaW9uU3RhdGVcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGdldEljcFNlc3Npb24gPSAoc3RhdGU6IEljcFN0YXRlKSA9PiBzdGF0ZS5zZXNzaW9uO1xuZXhwb3J0IGNvbnN0IGdldFByZXNlbnRlciA9IChzdGF0ZTogSWNwU3RhdGUpID0+IHN0YXRlLnByZXNlbnRlcjtcbmV4cG9ydCBjb25zdCBnZXRDbGllbnQgPSAoc3RhdGU6IEljcFN0YXRlKSA9PiBzdGF0ZS5jbGllbnQ7XG5leHBvcnQgY29uc3QgZ2V0UGFydGljaXBhbnRzID0gKHN0YXRlOiBJY3BTdGF0ZSkgPT4gc3RhdGUucGFydGljaXBhbnRzO1xuIl19
@@ -0,0 +1,116 @@
1
+ import * as fromRedaction from '../actions/redaction.actions';
2
+ import * as fromAnnotations from '../actions/annotation.actions';
3
+ import { StoreUtils } from '../store-utils';
4
+ export const initialRedactionState = {
5
+ redactionEntities: {},
6
+ redactionPageEntities: {},
7
+ selectedRedaction: {},
8
+ redactedDocumentInfo: undefined,
9
+ documentId: undefined
10
+ };
11
+ export function redactionReducer(state = initialRedactionState, action) {
12
+ switch (action.type) {
13
+ case fromRedaction.LOAD_REDACTIONS: {
14
+ return {
15
+ ...state,
16
+ ...initialRedactionState
17
+ };
18
+ }
19
+ case fromRedaction.LOAD_REDACTION_SUCCESS: {
20
+ const payload = action.payload;
21
+ if (payload) {
22
+ const redactionEntities = StoreUtils.generateRedactionEntities(payload);
23
+ const redactionPageEntities = StoreUtils.groupByKeyEntities(payload, 'page');
24
+ return {
25
+ ...state,
26
+ redactionEntities,
27
+ redactionPageEntities
28
+ };
29
+ }
30
+ return {
31
+ ...state
32
+ };
33
+ }
34
+ case fromRedaction.SAVE_REDACTION_SUCCESS: {
35
+ const { payload } = action;
36
+ const redactionEntities = {
37
+ ...state.redactionEntities,
38
+ [payload.redactionId]: payload
39
+ };
40
+ const redactionArray = Object.keys(redactionEntities).map(key => redactionEntities[key]);
41
+ const redactionPageEntities = StoreUtils.groupByKeyEntities(redactionArray, 'page');
42
+ return {
43
+ ...state,
44
+ redactionEntities,
45
+ redactionPageEntities
46
+ };
47
+ }
48
+ case fromRedaction.SAVE_BULK_REDACTION_SUCCESS: {
49
+ const payloadResult = Object.assign({}, ...action.payload.searchRedactions.map((x) => ({ [x.redactionId]: x })));
50
+ const redactionEntities = {
51
+ ...state.redactionEntities,
52
+ ...payloadResult
53
+ };
54
+ const redactionArray = Object.keys(redactionEntities).map(key => redactionEntities[key]);
55
+ const redactionPageEntities = StoreUtils.groupByKeyEntities(redactionArray, 'page');
56
+ return {
57
+ ...state,
58
+ redactionEntities,
59
+ redactionPageEntities
60
+ };
61
+ }
62
+ case fromRedaction.SELECT_REDACTION:
63
+ case fromAnnotations.SELECT_ANNOTATION: {
64
+ return {
65
+ ...state,
66
+ selectedRedaction: action.payload
67
+ };
68
+ }
69
+ case fromRedaction.DELETE_REDACTION_SUCCESS: {
70
+ const page = action.payload.page;
71
+ const id = action.payload.redactionId;
72
+ const redactionEntities = {
73
+ ...state.redactionEntities
74
+ };
75
+ delete redactionEntities[id];
76
+ const pageRedactionRemoved = [
77
+ ...state.redactionPageEntities[page].filter(redaction => redaction.redactionId !== id)
78
+ ];
79
+ const redactionPageEntities = {
80
+ ...state.redactionPageEntities,
81
+ [page]: pageRedactionRemoved
82
+ };
83
+ return {
84
+ ...state,
85
+ redactionPageEntities,
86
+ redactionEntities,
87
+ };
88
+ }
89
+ case fromRedaction.REDACT_SUCCESS: {
90
+ const redactedDocumentInfo = action.payload;
91
+ return {
92
+ ...state,
93
+ ...initialRedactionState,
94
+ redactedDocumentInfo
95
+ };
96
+ }
97
+ case fromRedaction.RESET_REDACTED_DOCUMENT: {
98
+ return {
99
+ ...state,
100
+ redactedDocumentInfo: undefined
101
+ };
102
+ }
103
+ case fromRedaction.UNMARK_ALL_SUCCESS: {
104
+ return {
105
+ ...state,
106
+ ...initialRedactionState
107
+ };
108
+ }
109
+ }
110
+ return state;
111
+ }
112
+ export const getRedactionEnt = (state) => state.redactionEntities;
113
+ export const getPageEnt = (state) => state.redactionPageEntities;
114
+ export const getSelectedRedaction = (state) => state.selectedRedaction;
115
+ export const getRedactedDocInfo = (state) => state.redactedDocumentInfo;
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9yZWRhY3Rpb24ucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssYUFBYSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYTVDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFtQjtJQUNuRCxpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLHFCQUFxQixFQUFFLEVBQUU7SUFDekIsaUJBQWlCLEVBQUUsRUFBRTtJQUNyQixvQkFBb0IsRUFBRSxTQUFTO0lBQy9CLFVBQVUsRUFBRSxTQUFTO0NBQ3RCLENBQUM7QUFFRixNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEtBQUssR0FBRyxxQkFBcUIsRUFDN0IsTUFBMkU7SUFFM0UsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBRW5CLEtBQUssYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLEdBQUcscUJBQXFCO2FBQ3pCLENBQUM7U0FDSDtRQUVELEtBQUssYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUMvQixJQUFJLE9BQU8sRUFBRTtnQkFDWCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM3RSxPQUFPO29CQUNMLEdBQUcsS0FBSztv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QWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDNUMsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsR0FBRyxxQkFBcUI7Z0JBQ3hCLG9CQUFvQjthQUNyQixDQUFDO1NBQ0g7UUFFRCxLQUFLLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzFDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLG9CQUFvQixFQUFFLFNBQVM7YUFDaEMsQ0FBQztTQUNIO1FBRUQsS0FBSyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNyQyxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixHQUFHLHFCQUFxQjthQUN6QixDQUFDO1NBQ0g7S0FDRjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUdELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztBQUNsRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUM7QUFDakYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7QUFDdkYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgKiBhcyBmcm9tUmVkYWN0aW9uIGZyb20gJy4uL2FjdGlvbnMvcmVkYWN0aW9uLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm90YXRpb25zIGZyb20gJy4uL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IFN0b3JlVXRpbHMgfSBmcm9tICcuLi9zdG9yZS11dGlscyc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Bbm5vdGF0aW9uIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvbW9kZWxzL2V2ZW50LXNlbGVjdC5tb2RlbCc7XG5pbXBvcnQgeyBSZWRhY3Rpb24gfSBmcm9tICcuLi8uLi9yZWRhY3Rpb24vc2VydmljZXMvcmVkYWN0aW9uLm1vZGVsJzsgLy8gdG9kbyByZW5hbWVcblxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZGFjdGlvblN0YXRlIHtcbiAgcmVkYWN0aW9uRW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBSZWRhY3Rpb24gfTtcbiAgcmVkYWN0aW9uUGFnZUVudGl0aWVzOiB7IFtpZDogc3RyaW5nXTogYW55IH07XG4gIHNlbGVjdGVkUmVkYWN0aW9uOiBTZWxlY3Rpb25Bbm5vdGF0aW9uIHwge307XG4gIHJlZGFjdGVkRG9jdW1lbnRJbmZvOiB7IGJsb2I6IEJsb2IsIGZpbGVuYW1lOiBzdHJpbmcgfTtcbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFJlZGFjdGlvblN0YXRlOiBSZWRhY3Rpb25TdGF0ZSA9IHtcbiAgcmVkYWN0aW9uRW50aXRpZXM6IHt9LFxuICByZWRhY3Rpb25QYWdlRW50aXRpZXM6IHt9LFxuICBzZWxlY3RlZFJlZGFjdGlvbjoge30sXG4gIHJlZGFjdGVkRG9jdW1lbnRJbmZvOiB1bmRlZmluZWQsXG4gIGRvY3VtZW50SWQ6IHVuZGVmaW5lZFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGFjdGlvblJlZHVjZXIoXG4gIHN0YXRlID0gaW5pdGlhbFJlZGFjdGlvblN0YXRlLFxuICBhY3Rpb246IGZyb21SZWRhY3Rpb24uUmVkYWN0aW9uQWN0aW9ucyB8IGZyb21Bbm5vdGF0aW9ucy5Bbm5vdGF0aW9uc0FjdGlvbnNcbik6IFJlZGFjdGlvblN0YXRlIHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLkxPQURfUkVEQUNUSU9OUzoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIC4uLmluaXRpYWxSZWRhY3Rpb25TdGF0ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uTE9BRF9SRURBQ1RJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgaWYgKHBheWxvYWQpIHtcbiAgICAgICAgY29uc3QgcmVkYWN0aW9uRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdlbmVyYXRlUmVkYWN0aW9uRW50aXRpZXMocGF5bG9hZCk7XG4gICAgICAgIGNvbnN0IHJlZGFjdGlvblBhZ2VFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ3JvdXBCeUtleUVudGl0aWVzKHBheWxvYWQsICdwYWdlJyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgcmVkYWN0aW9uRW50aXRpZXMsXG4gICAgICAgICAgcmVkYWN0aW9uUGFnZUVudGl0aWVzXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uU0FWRV9SRURBQ1RJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICBjb25zdCByZWRhY3Rpb25FbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUucmVkYWN0aW9uRW50aXRpZXMsXG4gICAgICAgIFtwYXlsb2FkLnJlZGFjdGlvbklkXTogcGF5bG9hZFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlZGFjdGlvbkFycmF5ID0gT2JqZWN0LmtleXMocmVkYWN0aW9uRW50aXRpZXMpLm1hcChrZXkgPT4gcmVkYWN0aW9uRW50aXRpZXNba2V5XSk7XG4gICAgICBjb25zdCByZWRhY3Rpb25QYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhyZWRhY3Rpb25BcnJheSwgJ3BhZ2UnKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByZWRhY3Rpb25FbnRpdGllcyxcbiAgICAgICAgcmVkYWN0aW9uUGFnZUVudGl0aWVzXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uU0FWRV9CVUxLX1JFREFDVElPTl9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBwYXlsb2FkUmVzdWx0ID0gT2JqZWN0LmFzc2lnbih7fSwgLi4uYWN0aW9uLnBheWxvYWQuc2VhcmNoUmVkYWN0aW9ucy5tYXAoKHgpID0+ICh7IFt4LnJlZGFjdGlvbklkXTogeCB9KSkpO1xuICAgICAgY29uc3QgcmVkYWN0aW9uRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLnJlZGFjdGlvbkVudGl0aWVzLFxuICAgICAgICAuLi5wYXlsb2FkUmVzdWx0XG4gICAgICB9O1xuICAgICAgY29uc3QgcmVkYWN0aW9uQXJyYXkgPSBPYmplY3Qua2V5cyhyZWRhY3Rpb25FbnRpdGllcykubWFwKGtleSA9PiByZWRhY3Rpb25FbnRpdGllc1trZXldKTtcbiAgICAgIGNvbnN0IHJlZGFjdGlvblBhZ2VFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ3JvdXBCeUtleUVudGl0aWVzKHJlZGFjdGlvbkFycmF5LCAncGFnZScpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJlZGFjdGlvbkVudGl0aWVzLFxuICAgICAgICByZWRhY3Rpb25QYWdlRW50aXRpZXNcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5TRUxFQ1RfUkVEQUNUSU9OOlxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLlNFTEVDVF9BTk5PVEFUSU9OOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRSZWRhY3Rpb246IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5ERUxFVEVfUkVEQUNUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHBhZ2UgPSBhY3Rpb24ucGF5bG9hZC5wYWdlO1xuICAgICAgY29uc3QgaWQgPSBhY3Rpb24ucGF5bG9hZC5yZWRhY3Rpb25JZDtcbiAgICAgIGNvbnN0IHJlZGFjdGlvbkVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5yZWRhY3Rpb25FbnRpdGllc1xuICAgICAgfTtcbiAgICAgIGRlbGV0ZSByZWRhY3Rpb25FbnRpdGllc1tpZF07XG4gICAgICBjb25zdCBwYWdlUmVkYWN0aW9uUmVtb3ZlZCA9IFtcbiAgICAgICAgLi4uc3RhdGUucmVkYWN0aW9uUGFnZUVudGl0aWVzW3BhZ2VdLmZpbHRlcihyZWRhY3Rpb24gPT4gcmVkYWN0aW9uLnJlZGFjdGlvbklkICE9PSBpZClcbiAgICAgIF07XG4gICAgICBjb25zdCByZWRhY3Rpb25QYWdlRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLnJlZGFjdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgW3BhZ2VdOiBwYWdlUmVkYWN0aW9uUmVtb3ZlZFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJlZGFjdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgcmVkYWN0aW9uRW50aXRpZXMsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5SRURBQ1RfU1VDQ0VTUzoge1xuICAgICAgY29uc3QgcmVkYWN0ZWREb2N1bWVudEluZm8gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAuLi5pbml0aWFsUmVkYWN0aW9uU3RhdGUsXG4gICAgICAgIHJlZGFjdGVkRG9jdW1lbnRJbmZvXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5SRVNFVF9SRURBQ1RFRF9ET0NVTUVOVDoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJlZGFjdGVkRG9jdW1lbnRJbmZvOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLlVOTUFSS19BTExfU1VDQ0VTUzoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIC4uLmluaXRpYWxSZWRhY3Rpb25TdGF0ZVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG5cblxuZXhwb3J0IGNvbnN0IGdldFJlZGFjdGlvbkVudCA9IChzdGF0ZTogUmVkYWN0aW9uU3RhdGUpID0+IHN0YXRlLnJlZGFjdGlvbkVudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldFBhZ2VFbnQgPSAoc3RhdGU6IFJlZGFjdGlvblN0YXRlKSA9PiBzdGF0ZS5yZWRhY3Rpb25QYWdlRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRSZWRhY3Rpb24gPSAoc3RhdGU6IFJlZGFjdGlvblN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZFJlZGFjdGlvbjtcbmV4cG9ydCBjb25zdCBnZXRSZWRhY3RlZERvY0luZm8gPSAoc3RhdGU6IFJlZGFjdGlvblN0YXRlKSA9PiBzdGF0ZS5yZWRhY3RlZERvY3VtZW50SW5mbztcbiJdfQ==
@@ -0,0 +1,93 @@
1
+ import * as fromAnnotations from '../actions/annotation.actions';
2
+ import * as fromTags from '../actions/tag.actions';
3
+ import { StoreUtils } from '../store-utils';
4
+ export const initialTagState = {
5
+ tagNameEnt: {},
6
+ annotations: [],
7
+ filteredPageEntities: {},
8
+ filteredComments: {},
9
+ formFilterState: {},
10
+ filters: []
11
+ };
12
+ export function tagsReducer(state = initialTagState, action) {
13
+ switch (action.type) {
14
+ case fromAnnotations.LOAD_ANNOTATION_SET: {
15
+ return {
16
+ ...state,
17
+ ...initialTagState
18
+ };
19
+ }
20
+ case fromAnnotations.LOAD_ANNOTATION_SET_SUCCESS: {
21
+ const annotations = action.payload.body.annotations;
22
+ const tagNameEnt = StoreUtils.genTagNameEntities(annotations);
23
+ return {
24
+ ...state,
25
+ tagNameEnt,
26
+ annotations
27
+ };
28
+ }
29
+ case fromAnnotations.SAVE_ANNOTATION_SUCCESS: {
30
+ const payload = action.payload;
31
+ const anno = [...state.annotations].filter(a => a.id !== payload.id) || [];
32
+ const annotations = [...anno, payload];
33
+ const tagNameEnt = StoreUtils.genTagNameEntities(annotations);
34
+ return {
35
+ ...state,
36
+ annotations,
37
+ tagNameEnt
38
+ };
39
+ }
40
+ case fromAnnotations.DELETE_ANNOTATION_SUCCESS: {
41
+ const id = action.payload;
42
+ const annotations = [...state.annotations].filter(a => a.id !== id);
43
+ const tagNameEnt = StoreUtils.genTagNameEntities(annotations);
44
+ const filteredPageEntities = StoreUtils.groupByKeyEntities(annotations, 'page');
45
+ const filteredComments = {
46
+ ...state.filteredComments
47
+ };
48
+ delete filteredComments[id];
49
+ return {
50
+ ...state,
51
+ annotations,
52
+ tagNameEnt,
53
+ filteredComments,
54
+ filteredPageEntities,
55
+ filters: []
56
+ };
57
+ }
58
+ case fromTags.ADD_FILTER_TAGS: {
59
+ const formFilterState = action.payload;
60
+ const filters = Object.keys(formFilterState).reduce((arr, key) => {
61
+ return formFilterState[key] ? [...arr, key] : arr;
62
+ }, []);
63
+ const filteredComments = filters.reduce((obj, f) => {
64
+ return {
65
+ ...obj,
66
+ ...state.tagNameEnt[f]
67
+ };
68
+ }, {});
69
+ const annotations = Object.keys(filteredComments).map(key => state.annotations.filter(a => a.id === key)[0]);
70
+ const filteredPageEntities = StoreUtils.groupByKeyEntities(annotations, 'page');
71
+ return {
72
+ ...state,
73
+ filters,
74
+ filteredComments,
75
+ filteredPageEntities,
76
+ };
77
+ }
78
+ case fromTags.CLEAR_FILTER_TAGS: {
79
+ return {
80
+ ...state,
81
+ filters: [],
82
+ filteredComments: {},
83
+ filteredPageEntities: {},
84
+ };
85
+ }
86
+ }
87
+ return state;
88
+ }
89
+ export const getTagNameEnt = (state) => state.tagNameEnt;
90
+ export const getFilters = (state) => state.filters;
91
+ export const getFilteredComments = (state) => state.filteredComments;
92
+ export const getFilteredPageEnt = (state) => state.filteredPageEntities;
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvcmVkdWNlcnMvdGFncy5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxLQUFLLFFBQVEsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFZMUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFjO0lBQ3hDLFVBQVUsRUFBRSxFQUFFO0lBQ2QsV0FBVyxFQUFFLEVBQUU7SUFDZixvQkFBb0IsRUFBRSxFQUFFO0lBQ3hCLGdCQUFnQixFQUFFLEVBQUU7SUFDcEIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsT0FBTyxFQUFFLEVBQUU7Q0FDWixDQUFDO0FBRUYsTUFBTSxVQUFVLFdBQVcsQ0FDekIsS0FBSyxHQUFHLGVBQWUsRUFDdkIsTUFBaUU7SUFFakUsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUssZUFBZSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFFeEMsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsR0FBRyxlQUFlO2FBQ25CLENBQUM7U0FDSDtRQUNELEtBQUssZUFBZSxDQUFDLDJCQUEyQixDQUFDLENBQUM7WUFDaEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3BELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5RCxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixVQUFVO2dCQUNWLFdBQVc7YUFDWixDQUFDO1NBQ0g7UUFFRCxLQUFLLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzVD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TyxFQUFFLEVBQUU7Z0JBQ1gsZ0JBQWdCLEVBQUUsRUFBRTtnQkFDcEIsb0JBQW9CLEVBQUUsRUFBRTthQUN6QixDQUFDO1NBQ0g7S0FFRjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7QUFDcEUsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztBQUM5RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztBQUNoRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZyb21Bbm5vdGF0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tVGFncyBmcm9tICcuLi9hY3Rpb25zL3RhZy5hY3Rpb25zJztcbmltcG9ydCB7U3RvcmVVdGlsc30gZnJvbSAnLi4vc3RvcmUtdXRpbHMnO1xuaW1wb3J0IHtBbm5vdGF0aW9ufSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXZpZXcvYW5ub3RhdGlvbi5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFnc1N0YXRlIHtcbiAgdGFnTmFtZUVudDoge1tpZDogc3RyaW5nXTogc3RyaW5nW119O1xuICBmaWx0ZXJlZENvbW1lbnRzOiB7W2lkOiBzdHJpbmddOiBzdHJpbmdbXX07XG4gIGZpbHRlcmVkUGFnZUVudGl0aWVzOiB7W2lkOiBzdHJpbmddOiBBbm5vdGF0aW9uW119O1xuICBhbm5vdGF0aW9uczogQW5ub3RhdGlvbltdO1xuICBmb3JtRmlsdGVyU3RhdGU6IHtbaWQ6IHN0cmluZ106IGJvb2xlYW59O1xuICBmaWx0ZXJzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxUYWdTdGF0ZTogVGFnc1N0YXRlID0ge1xuICB0YWdOYW1lRW50OiB7fSxcbiAgYW5ub3RhdGlvbnM6IFtdLFxuICBmaWx0ZXJlZFBhZ2VFbnRpdGllczoge30sXG4gIGZpbHRlcmVkQ29tbWVudHM6IHt9LFxuICBmb3JtRmlsdGVyU3RhdGU6IHt9LFxuICBmaWx0ZXJzOiBbXVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRhZ3NSZWR1Y2VyIChcbiAgc3RhdGUgPSBpbml0aWFsVGFnU3RhdGUsXG4gIGFjdGlvbjogZnJvbUFubm90YXRpb25zLkFubm90YXRpb25zQWN0aW9ucyB8IGZyb21UYWdzLlRhZ3NBY3Rpb25zXG4pOiBUYWdzU3RhdGUge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuTE9BRF9BTk5PVEFUSU9OX1NFVDoge1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgLi4uaW5pdGlhbFRhZ1N0YXRlXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5MT0FEX0FOTk9UQVRJT05fU0VUX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGFubm90YXRpb25zID0gYWN0aW9uLnBheWxvYWQuYm9keS5hbm5vdGF0aW9ucztcbiAgICAgIGNvbnN0IHRhZ05hbWVFbnQgPSBTdG9yZVV0aWxzLmdlblRhZ05hbWVFbnRpdGllcyhhbm5vdGF0aW9ucyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgdGFnTmFtZUVudCxcbiAgICAgICAgYW5ub3RhdGlvbnNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0FWRV9BTk5PVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcblxuICAgICAgY29uc3QgYW5ubyA9IFsuLi5zdGF0ZS5hbm5vdGF0aW9uc10uZmlsdGVyKGEgPT4gYS5pZCAhPT0gcGF5bG9hZC5pZCkgfHwgW107XG4gICAgICBjb25zdCBhbm5vdGF0aW9ucyA9IFsuLi5hbm5vLCBwYXlsb2FkXTtcbiAgICAgIGNvbnN0IHRhZ05hbWVFbnQgPSAgU3RvcmVVdGlscy5nZW5UYWdOYW1lRW50aXRpZXMoYW5ub3RhdGlvbnMpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGFubm90YXRpb25zLFxuICAgICAgICB0YWdOYW1lRW50XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkRFTEVURV9BTk5PVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGlkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBhbm5vdGF0aW9ucyA9IFsuLi5zdGF0ZS5hbm5vdGF0aW9uc10uZmlsdGVyKGEgPT4gYS5pZCAhPT0gaWQpO1xuICAgICAgY29uc3QgdGFnTmFtZUVudCA9ICBTdG9yZVV0aWxzLmdlblRhZ05hbWVFbnRpdGllcyhhbm5vdGF0aW9ucyk7XG4gICAgICBjb25zdCBmaWx0ZXJlZFBhZ2VFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ3JvdXBCeUtleUVudGl0aWVzKGFubm90YXRpb25zLCAncGFnZScpO1xuICAgICAgY29uc3QgZmlsdGVyZWRDb21tZW50cyA9IHtcbiAgICAgICAgLi4uc3RhdGUuZmlsdGVyZWRDb21tZW50c1xuICAgICAgfTtcbiAgICAgIGRlbGV0ZSBmaWx0ZXJlZENvbW1lbnRzW2lkXTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9ucyxcbiAgICAgICAgdGFnTmFtZUVudCxcbiAgICAgICAgZmlsdGVyZWRDb21tZW50cyxcbiAgICAgICAgZmlsdGVyZWRQYWdlRW50aXRpZXMsXG4gICAgICAgIGZpbHRlcnM6IFtdXG4gICAgICB9O1xuICAgIH1cblxuXG4gICAgY2FzZSBmcm9tVGFncy5BRERfRklMVEVSX1RBR1M6IHtcbiAgICAgIGNvbnN0IGZvcm1GaWx0ZXJTdGF0ZSA9IGFjdGlvbi5wYXlsb2FkO1xuXG4gICAgICBjb25zdCBmaWx0ZXJzID0gT2JqZWN0LmtleXMoZm9ybUZpbHRlclN0YXRlKS5yZWR1Y2UoKGFycjogc3RyaW5nW10sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBmb3JtRmlsdGVyU3RhdGVba2V5XSA/IFsuLi5hcnIsIGtleV0gOiBhcnI7XG4gICAgICB9LCBbXSk7XG5cbiAgICAgIGNvbnN0IGZpbHRlcmVkQ29tbWVudHMgPSBmaWx0ZXJzLnJlZHVjZSgob2JqOiB7W2lkOiBzdHJpbmddOiBhbnl9LCBmKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ub2JqLFxuICAgICAgICAgIC4uLnN0YXRlLnRhZ05hbWVFbnRbZl1cbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcblxuICAgICAgY29uc3QgYW5ub3RhdGlvbnMgPSBPYmplY3Qua2V5cyhmaWx0ZXJlZENvbW1lbnRzKS5tYXAoa2V5ID0+IHN0YXRlLmFubm90YXRpb25zLmZpbHRlcihhID0+IGEuaWQgPT09IGtleSlbMF0pO1xuICAgICAgY29uc3QgZmlsdGVyZWRQYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhhbm5vdGF0aW9ucywgJ3BhZ2UnKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBmaWx0ZXJzLFxuICAgICAgICBmaWx0ZXJlZENvbW1lbnRzLFxuICAgICAgICBmaWx0ZXJlZFBhZ2VFbnRpdGllcyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tVGFncy5DTEVBUl9GSUxURVJfVEFHUzoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGZpbHRlcnM6IFtdLFxuICAgICAgICBmaWx0ZXJlZENvbW1lbnRzOiB7fSxcbiAgICAgICAgZmlsdGVyZWRQYWdlRW50aXRpZXM6IHt9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFRhZ05hbWVFbnQgPSAoc3RhdGU6IFRhZ3NTdGF0ZSkgPT4gc3RhdGUudGFnTmFtZUVudDtcbmV4cG9ydCBjb25zdCBnZXRGaWx0ZXJzID0gKHN0YXRlOiBUYWdzU3RhdGUpID0+IHN0YXRlLmZpbHRlcnM7XG5leHBvcnQgY29uc3QgZ2V0RmlsdGVyZWRDb21tZW50cyA9IChzdGF0ZTogVGFnc1N0YXRlKSA9PiBzdGF0ZS5maWx0ZXJlZENvbW1lbnRzO1xuZXhwb3J0IGNvbnN0IGdldEZpbHRlcmVkUGFnZUVudCA9IChzdGF0ZTogVGFnc1N0YXRlKSA9PiBzdGF0ZS5maWx0ZXJlZFBhZ2VFbnRpdGllcztcbiJdfQ==
@@ -0,0 +1,81 @@
1
+ import { createSelector } from '@ngrx/store';
2
+ import * as fromFeature from '../reducers/reducers';
3
+ import * as fromAnnotations from '../reducers/annotations.reducer';
4
+ import * as fromTags from './tag.selectors';
5
+ import * as fromDocument from './document.selectors';
6
+ import { StoreUtils } from '../store-utils';
7
+ import moment from 'moment-timezone';
8
+ export const getAnnotationsSetState = createSelector(fromFeature.getMVState, (state) => state.annotations);
9
+ export const getAnnotationEntities = createSelector(getAnnotationsSetState, fromAnnotations.getAnnoEnt);
10
+ export const getSet = createSelector(getAnnotationsSetState, fromAnnotations.getAnnoSet);
11
+ export const getDocumentIdSetId = createSelector(getSet, (annoSet) => {
12
+ return {
13
+ documentId: annoSet.documentId,
14
+ annotationSetId: annoSet.id
15
+ };
16
+ });
17
+ export const getAnnotationSet = createSelector(getAnnotationEntities, getSet, (entities, set) => {
18
+ return {
19
+ ...set,
20
+ annotations: Object.keys(entities).map(key => entities[key])
21
+ };
22
+ });
23
+ export const getSelectedAnnotation = createSelector(getAnnotationsSetState, fromAnnotations.getSelectedAnno);
24
+ export const getCommentEntities = createSelector(getAnnotationsSetState, fromAnnotations.getCommentEnts);
25
+ export const getPageEntities = createSelector(getAnnotationsSetState, fromAnnotations.getAnnoPageEnt);
26
+ export const getComponentSearchQueries = createSelector(getAnnotationsSetState, fromAnnotations.commentSearchQ);
27
+ export const getComponentSearchText = createSelector(getComponentSearchQueries, (queries) => queries.commentSearch);
28
+ export const getCommentSummaryFilters = createSelector(getAnnotationsSetState, fromAnnotations.getSummaryFilters);
29
+ export const getAnnoPerPage = createSelector(fromDocument.getPages, getPageEntities, fromTags.getFilteredPageEntities, (pages, pageEnt, filteredPageEnt) => {
30
+ const isFiltered = !!Object.keys(filteredPageEnt).length;
31
+ const entities = isFiltered ? filteredPageEnt : pageEnt;
32
+ if (pages) {
33
+ const arr = [];
34
+ Object.keys(pages).forEach(key => {
35
+ arr.push({
36
+ anno: entities[key] ? entities[key] : [],
37
+ styles: pages[key].styles
38
+ });
39
+ });
40
+ return arr;
41
+ }
42
+ });
43
+ export const getCommentsArray = createSelector(getCommentEntities, fromDocument.getPages, getAnnotationEntities, fromTags.getTagFiltered, (commentEnts, pages, annoEnts, filtered) => {
44
+ if (commentEnts && annoEnts && pages[1]) {
45
+ const isFiltered = !!Object.keys(filtered).length;
46
+ const com = isFiltered ? filtered : commentEnts;
47
+ return Object.keys(com).map(key => {
48
+ const page = annoEnts[key].page;
49
+ return {
50
+ ...commentEnts[key],
51
+ page,
52
+ pages
53
+ };
54
+ });
55
+ }
56
+ });
57
+ export const getCommentSummary = createSelector(getCommentsArray, getCommentSummaryFilters, (commentSummary = [], filters) => {
58
+ const comments = StoreUtils.filterCommentsSummary(commentSummary, filters.filters);
59
+ if (comments.length) {
60
+ const savedComments = comments.filter((comment) => {
61
+ return comment.createdByDetails !== undefined;
62
+ });
63
+ return savedComments.map((comment) => {
64
+ return {
65
+ page: comment.page,
66
+ user: comment.createdByDetails.forename.concat(' ').concat(comment.createdByDetails.surname),
67
+ date: moment(comment.lastModifiedDate).format('D MMMM YYYY'),
68
+ tags: comment.tags,
69
+ comment: comment.content
70
+ };
71
+ });
72
+ }
73
+ return [''];
74
+ });
75
+ export const getFilteredAnnotations = createSelector(getAnnotationEntities, fromTags.getTagFiltered, (annoEnt, filters) => {
76
+ const isFiltered = !!Object.keys(filters).length;
77
+ const anno = isFiltered ? filters : annoEnt;
78
+ return Object.keys(anno).map(key => annoEnt[key])
79
+ .filter(annotation => annotation.comments && annotation.comments.length > 0);
80
+ });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbi5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9zZWxlY3RvcnMvYW5ub3RhdGlvbi5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUUzQyxPQUFPLEtBQUssV0FBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxlQUFlLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEtBQUssWUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxjQUFjLENBQ2xELFdBQVcsQ0FBQyxVQUFVLEVBQ3RCLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUUsS0FBSyxDQUFDLFdBQVcsQ0FDakQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGNBQWMsQ0FDakQsc0JBQXNCLEVBQ3RCLGVBQWUsQ0FBQyxVQUFVLENBQzNCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUNsQyxzQkFBc0IsRUFDdEIsZUFBZSxDQUFDLFVBQVUsQ0FDM0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FDOUMsTUFBTSxFQUNOLENBQUMsT0FBTyxFQUFFLEVBQUU7SUFDVixPQUFPO1FBQ0wsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1FBQzlCLGVBQWUsRUFBRSxPQUFPLENBQUMsRUFBRTtLQUM1QixDQUFDO0FBQ0osQ0FBQyxD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QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87YUFDekIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFDRCxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDZCxDQUFDLENBQ0YsQ0FBQztBQUdGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FDbEQscUJBQXFCLEVBQ3JCLFFBQVEsQ0FBQyxjQUFjLEVBQ3ZCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ25CLE1BQU0sVUFBVSxHQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMxRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzVDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDOUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3JlYXRlU2VsZWN0b3J9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0ICogYXMgZnJvbUZlYXR1cmUgZnJvbSAnLi4vcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm90YXRpb25zIGZyb20gJy4uL3JlZHVjZXJzL2Fubm90YXRpb25zLnJlZHVjZXInO1xuaW1wb3J0ICogYXMgZnJvbVRhZ3MgZnJvbSAnLi90YWcuc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQge1N0b3JlVXRpbHN9IGZyb20gJy4uL3N0b3JlLXV0aWxzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmV4cG9ydCBjb25zdCBnZXRBbm5vdGF0aW9uc1NldFN0YXRlID0gY3JlYXRlU2VsZWN0b3IoXG4gIGZyb21GZWF0dXJlLmdldE1WU3RhdGUsXG4gIChzdGF0ZTogZnJvbUZlYXR1cmUuU3RhdGUpID0+ICBzdGF0ZS5hbm5vdGF0aW9uc1xuKTtcblxuZXhwb3J0IGNvbnN0IGdldEFubm90YXRpb25FbnRpdGllcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBbm5vdGF0aW9uc1NldFN0YXRlLFxuICBmcm9tQW5ub3RhdGlvbnMuZ2V0QW5ub0VudFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldFNldCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBbm5vdGF0aW9uc1NldFN0YXRlLFxuICBmcm9tQW5ub3RhdGlvbnMuZ2V0QW5ub1NldFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldERvY3VtZW50SWRTZXRJZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTZXQsXG4gIChhbm5vU2V0KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRvY3VtZW50SWQ6IGFubm9TZXQuZG9jdW1lbnRJZCxcbiAgICAgIGFubm90YXRpb25TZXRJZDogYW5ub1NldC5pZFxuICAgIH07XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRBbm5vdGF0aW9uU2V0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEFubm90YXRpb25FbnRpdGllcyxcbiAgZ2V0U2V0LFxuICAoZW50aXRpZXMsIHNldCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zZXQsXG4gICAgICBhbm5vdGF0aW9uczogT2JqZWN0LmtleXMoZW50aXRpZXMpLm1hcChrZXkgPT4gZW50aXRpZXNba2V5XSlcbiAgICB9O1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRBbm5vdGF0aW9uID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEFubm90YXRpb25zU2V0U3RhdGUsXG4gIGZyb21Bbm5vdGF0aW9ucy5nZXRTZWxlY3RlZEFubm9cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRDb21tZW50RW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QW5ub3RhdGlvbnNTZXRTdGF0ZSxcbiAgZnJvbUFubm90YXRpb25zLmdldENvbW1lbnRFbnRzXG4pO1xuXG5cbmV4cG9ydCBjb25zdCBnZXRQYWdlRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QW5ub3RhdGlvbnNTZXRTdGF0ZSxcbiAgZnJvbUFubm90YXRpb25zLmdldEFubm9QYWdlRW50XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29tcG9uZW50U2VhcmNoUXVlcmllcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBbm5vdGF0aW9uc1NldFN0YXRlLFxuICBmcm9tQW5ub3RhdGlvbnMuY29tbWVudFNlYXJjaFFcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRDb21wb25lbnRTZWFyY2hUZXh0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldENvbXBvbmVudFNlYXJjaFF1ZXJpZXMsXG4gIChxdWVyaWVzKSA9PiBxdWVyaWVzLmNvbW1lbnRTZWFyY2hcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRDb21tZW50U3VtbWFyeUZpbHRlcnMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QW5ub3RhdGlvbnNTZXRTdGF0ZSxcbiAgZnJvbUFubm90YXRpb25zLmdldFN1bW1hcnlGaWx0ZXJzXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0QW5ub1BlclBhZ2UgPSBjcmVhdGVTZWxlY3RvcihcbiAgZnJvbURvY3VtZW50LmdldFBhZ2VzLFxuICBnZXRQYWdlRW50aXRpZXMsXG4gIGZyb21UYWdzLmdldEZpbHRlcmVkUGFnZUVudGl0aWVzLFxuICAocGFnZXMsIHBhZ2VFbnQsIGZpbHRlcmVkUGFnZUVudCkgPT4ge1xuICAgIGNvbnN0IGlzRmlsdGVyZWQ6IGJvb2xlYW4gPSAhIU9iamVjdC5rZXlzKGZpbHRlcmVkUGFnZUVudCkubGVuZ3RoO1xuICAgIGNvbnN0IGVudGl0aWVzID0gaXNGaWx0ZXJlZCA/IGZpbHRlcmVkUGFnZUVudCA6IHBhZ2VFbnQ7XG4gICAgaWYgKHBhZ2VzKSB7XG4gICAgICBjb25zdCBhcnIgPSBbXTtcbiAgICAgIE9iamVjdC5rZXlzKHBhZ2VzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGFyci5wdXNoKHtcbiAgICAgICAgICBhbm5vOiBlbnRpdGllc1trZXldID8gZW50aXRpZXNba2V5XSA6IFtdLFxuICAgICAgICAgIHN0eWxlczogcGFnZXNba2V5XS5zdHlsZXNcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBhcnI7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29tbWVudHNBcnJheSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRDb21tZW50RW50aXRpZXMsXG4gIGZyb21Eb2N1bWVudC5nZXRQYWdlcyxcbiAgZ2V0QW5ub3RhdGlvbkVudGl0aWVzLFxuICBmcm9tVGFncy5nZXRUYWdGaWx0ZXJlZCxcbiAgKGNvbW1lbnRFbnRzLCBwYWdlcywgYW5ub0VudHMsIGZpbHRlcmVkKSA9PiB7XG4gICAgaWYgKGNvbW1lbnRFbnRzICYmIGFubm9FbnRzICYmIHBhZ2VzWzFdKSB7XG4gICAgICAgIGNvbnN0IGlzRmlsdGVyZWQ6IGJvb2xlYW4gPSAhIU9iamVjdC5rZXlzKGZpbHRlcmVkKS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGNvbSA9IGlzRmlsdGVyZWQgPyBmaWx0ZXJlZCA6IGNvbW1lbnRFbnRzO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoY29tKS5tYXAoa2V5ID0+IHtcbiAgICAgICAgICBjb25zdCBwYWdlID0gYW5ub0VudHNba2V5XS5wYWdlO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5jb21tZW50RW50c1trZXldLFxuICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIHBhZ2VzXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29tbWVudFN1bW1hcnkgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Q29tbWVudHNBcnJheSxcbiAgZ2V0Q29tbWVudFN1bW1hcnlGaWx0ZXJzLFxuICAoY29tbWVudFN1bW1hcnkgPSBbXSwgZmlsdGVycykgPT4ge1xuICAgIGNvbnN0IGNvbW1lbnRzID0gU3RvcmVVdGlscy5maWx0ZXJDb21tZW50c1N1bW1hcnkoY29tbWVudFN1bW1hcnksIGZpbHRlcnMuZmlsdGVycyk7XG4gICAgaWYgKGNvbW1lbnRzLmxlbmd0aCkge1xuICAgICAgY29uc3Qgc2F2ZWRDb21tZW50cyAgPSBjb21tZW50cy5maWx0ZXIoKGNvbW1lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1lbnQuY3JlYXRlZEJ5RGV0YWlscyAhPT0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiBzYXZlZENvbW1lbnRzLm1hcCgoY29tbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBhZ2U6IGNvbW1lbnQucGFnZSxcbiAgICAgICAgICB1c2VyOiBjb21tZW50LmNyZWF0ZWRCeURldGFpbHMuZm9yZW5hbWUuY29uY2F0KCcgJykuY29uY2F0KGNvbW1lbnQuY3JlYXRlZEJ5RGV0YWlscy5zdXJuYW1lKSxcbiAgICAgICAgICBkYXRlOiBtb21lbnQoY29tbWVudC5sYXN0TW9kaWZpZWREYXRlKS5mb3JtYXQoJ0QgTU1NTSBZWVlZJyksXG4gICAgICAgICAgdGFnczogY29tbWVudC50YWdzLFxuICAgICAgICAgIGNvbW1lbnQ6IGNvbW1lbnQuY29udGVudFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBbJyddO1xuICB9XG4pO1xuXG5cbmV4cG9ydCBjb25zdCBnZXRGaWx0ZXJlZEFubm90YXRpb25zID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEFubm90YXRpb25FbnRpdGllcyxcbiAgZnJvbVRhZ3MuZ2V0VGFnRmlsdGVyZWQsXG4gIChhbm5vRW50LCBmaWx0ZXJzKSA9PiB7XG4gICAgY29uc3QgaXNGaWx0ZXJlZDogYm9vbGVhbiA9ICEhT2JqZWN0LmtleXMoZmlsdGVycykubGVuZ3RoO1xuICAgIGNvbnN0IGFubm8gPSBpc0ZpbHRlcmVkID8gZmlsdGVycyA6IGFubm9FbnQ7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGFubm8pLm1hcChrZXkgPT4gYW5ub0VudFtrZXldKVxuICAgICAgLmZpbHRlcihhbm5vdGF0aW9uID0+IGFubm90YXRpb24uY29tbWVudHMgJiYgYW5ub3RhdGlvbi5jb21tZW50cy5sZW5ndGggPiAwKTtcbiAgfVxuKTtcbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { createSelector } from '@ngrx/store';
2
+ import * as fromFeature from '../reducers/reducers';
3
+ import * as fromBookmarks from '../reducers/bookmarks.reducer';
4
+ import { generateBookmarkNodes } from '../bookmarks-store-utils';
5
+ import * as fromDocument from './document.selectors';
6
+ export const getBookmarkState = createSelector(fromFeature.getMVState, (state) => state.bookmarks);
7
+ export const getBookmarkPages = createSelector(getBookmarkState, fromBookmarks.getBookmarkPageEnt);
8
+ export const getBookmarkEntities = createSelector(getBookmarkState, fromBookmarks.getBookmarkEnts);
9
+ export const getBookmarkNodes = createSelector(getBookmarkEntities, (entities) => generateBookmarkNodes(entities));
10
+ export const getEditableBookmark = createSelector(getBookmarkState, fromBookmarks.getEditBookmark);
11
+ export const getBookmarkInfo = createSelector(getBookmarkNodes, fromDocument.getDocumentId, fromDocument.getPdfPosition, fromDocument.getPages, (bookmarkNodes, docId, pdfPosition, pages) => {
12
+ return {
13
+ pageNumber: pdfPosition.pageNumber - 1,
14
+ xCoordinate: pdfPosition.left,
15
+ yCoordinate: ((pages[pdfPosition.pageNumber].styles.height)
16
+ - (pdfPosition.top * (pages[pdfPosition.pageNumber].viewportScale)))
17
+ / parseFloat(pages[pdfPosition.pageNumber].scaleRotation.scale),
18
+ previous: bookmarkNodes.length > 0 ? bookmarkNodes.sort((a, b) => a.index - b.index)[bookmarkNodes.length - 1].id : undefined,
19
+ documentId: docId
20
+ };
21
+ });
22
+ export const getBookmarksPerPage = createSelector(fromDocument.getPages, getBookmarkPages, (pages, pageEnt) => {
23
+ if (pages && pageEnt) {
24
+ const arr = [];
25
+ Object.keys(pages).forEach(key => {
26
+ const pageIdx = Number(key) - 1; // -1 as the thisPages array is 0 indexed
27
+ const thisPage = pageEnt[pageIdx];
28
+ arr.push({
29
+ bookmark: thisPage ? thisPage : [],
30
+ styles: pages[key].styles
31
+ });
32
+ });
33
+ return arr;
34
+ }
35
+ });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmsuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvc2VsZWN0b3JzL2Jvb2ttYXJrLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE9BQU8sS0FBSyxXQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGFBQWEsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEtBQUssWUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FDNUMsV0FBVyxDQUFDLFVBQVUsRUFDdEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUM5QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGtCQUFrQixDQUNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUMvQyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGVBQWUsQ0FDOUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FDNUMsbUJBQW1CLEVBQ25CLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FDOUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FDL0MsZ0JBQWdCLEVBQ2hCLGFBQWEsQ0FBQyxlQUFlLENBQzlCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUMzQyxnQkFBZ0IsRUFDaEIsWUFBWSxDQUFDLGFBQWEsRUFDMUIsWUFBWSxDQUFDLGNBQWMsRUFDM0IsWUFBWSxDQUFDLFFBQVEsRUFDckIsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUMzQyxPQUFPO1FBQ0wsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVLEdBQUcsQ0FBQztRQUN0QyxXQUFXLEVBQUUsV0FBVyxDQUFDLElBQUk7UUFDN0IsV0FBVyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Y0FDdkQsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2NBQ2xFLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDakUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDN0gsVUFBVSxFQUFFLEtBQUs7S0FDbEIsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUMvQyxZQUFZLENBQUMsUUFBUSxFQUNyQixnQkFBZ0IsRUFDaEIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDakIsSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyx5Q0FBeUM7WUFDMUUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ1AsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU07YUFDMUIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQztLQUNaO0FBQ0gsQ0FBQyxDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0ICogYXMgZnJvbUZlYXR1cmUgZnJvbSAnLi4vcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0ICogYXMgZnJvbUJvb2ttYXJrcyBmcm9tICcuLi9yZWR1Y2Vycy9ib29rbWFya3MucmVkdWNlcic7XG5pbXBvcnQgeyBnZW5lcmF0ZUJvb2ttYXJrTm9kZXMgfSBmcm9tICcuLi9ib29rbWFya3Mtc3RvcmUtdXRpbHMnO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50IGZyb20gJy4vZG9jdW1lbnQuc2VsZWN0b3JzJztcblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrU3RhdGUgPSBjcmVhdGVTZWxlY3RvcihcbiAgZnJvbUZlYXR1cmUuZ2V0TVZTdGF0ZSxcbiAgKHN0YXRlOiBmcm9tRmVhdHVyZS5TdGF0ZSkgPT4gc3RhdGUuYm9va21hcmtzXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtQYWdlcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRCb29rbWFya1N0YXRlLFxuICBmcm9tQm9va21hcmtzLmdldEJvb2ttYXJrUGFnZUVudFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRCb29rbWFya0VudHNcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya05vZGVzID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEJvb2ttYXJrRW50aXRpZXMsXG4gIChlbnRpdGllcykgPT4gZ2VuZXJhdGVCb29rbWFya05vZGVzKGVudGl0aWVzKVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEVkaXRhYmxlQm9va21hcmsgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRFZGl0Qm9va21hcmtcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya0luZm8gPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtOb2RlcyxcbiAgZnJvbURvY3VtZW50LmdldERvY3VtZW50SWQsXG4gIGZyb21Eb2N1bWVudC5nZXRQZGZQb3NpdGlvbixcbiAgZnJvbURvY3VtZW50LmdldFBhZ2VzLFxuICAoYm9va21hcmtOb2RlcywgZG9jSWQsIHBkZlBvc2l0aW9uLCBwYWdlcykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlTnVtYmVyOiBwZGZQb3NpdGlvbi5wYWdlTnVtYmVyIC0gMSxcbiAgICAgIHhDb29yZGluYXRlOiBwZGZQb3NpdGlvbi5sZWZ0LFxuICAgICAgeUNvb3JkaW5hdGU6ICgocGFnZXNbcGRmUG9zaXRpb24ucGFnZU51bWJlcl0uc3R5bGVzLmhlaWdodClcbiAgICAgICAgLSAocGRmUG9zaXRpb24udG9wICogKHBhZ2VzW3BkZlBvc2l0aW9uLnBhZ2VOdW1iZXJdLnZpZXdwb3J0U2NhbGUpKSlcbiAgICAgICAgLyBwYXJzZUZsb2F0KHBhZ2VzW3BkZlBvc2l0aW9uLnBhZ2VOdW1iZXJdLnNjYWxlUm90YXRpb24uc2NhbGUpLFxuICAgICAgcHJldmlvdXM6IGJvb2ttYXJrTm9kZXMubGVuZ3RoID4gMCA/IGJvb2ttYXJrTm9kZXMuc29ydCgoYSwgYikgPT4gYS5pbmRleCAtIGIuaW5kZXgpW2Jvb2ttYXJrTm9kZXMubGVuZ3RoIC0gMV0uaWQgOiB1bmRlZmluZWQsXG4gICAgICBkb2N1bWVudElkOiBkb2NJZFxuICAgIH07XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya3NQZXJQYWdlID0gY3JlYXRlU2VsZWN0b3IoXG4gIGZyb21Eb2N1bWVudC5nZXRQYWdlcyxcbiAgZ2V0Qm9va21hcmtQYWdlcyxcbiAgKHBhZ2VzLCBwYWdlRW50KSA9PiB7XG4gICAgaWYgKHBhZ2VzICYmIHBhZ2VFbnQpIHtcbiAgICAgIGNvbnN0IGFyciA9IFtdO1xuICAgICAgT2JqZWN0LmtleXMocGFnZXMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgY29uc3QgcGFnZUlkeCA9IE51bWJlcihrZXkpIC0gMTsgLy8gLTEgYXMgdGhlIHRoaXNQYWdlcyBhcnJheSBpcyAwIGluZGV4ZWRcbiAgICAgICAgY29uc3QgdGhpc1BhZ2UgPSBwYWdlRW50W3BhZ2VJZHhdO1xuICAgICAgICBhcnIucHVzaCh7XG4gICAgICAgICAgYm9va21hcms6IHRoaXNQYWdlID8gdGhpc1BhZ2UgOiBbXSxcbiAgICAgICAgICBzdHlsZXM6IHBhZ2VzW2tleV0uc3R5bGVzXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYXJyO1xuICAgIH1cbiAgfVxuKTtcbiJdfQ==