@hmcts/media-viewer 4.0.2 → 4.0.3

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 (223) hide show
  1. package/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +116 -0
  2. package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +109 -0
  3. package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +5 -5
  4. package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
  5. package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
  6. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
  7. package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +118 -0
  8. package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +86 -0
  9. package/{esm2020 → esm2022}/lib/annotations/annotations.module.mjs +61 -61
  10. package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +177 -0
  11. package/esm2022/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
  12. package/esm2022/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
  13. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +5 -5
  14. package/esm2022/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
  15. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +5 -5
  16. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +54 -0
  17. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +68 -0
  18. package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +54 -0
  19. package/esm2022/lib/annotations/comment-set/comment-set.component.mjs +123 -0
  20. package/esm2022/lib/annotations/comments-summary/comments-summary.component.mjs +120 -0
  21. package/{esm2020 → esm2022}/lib/annotations/pipes/date/date.pipe.mjs +4 -4
  22. package/esm2022/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
  23. package/{esm2020 → esm2022}/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +4 -4
  24. package/{esm2020 → esm2022}/lib/annotations/services/annotation-api/annotation-api.service.mjs +5 -5
  25. package/{esm2020 → esm2022}/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +5 -5
  26. package/{esm2020 → esm2022}/lib/annotations/services/tags/tags.services.mjs +5 -5
  27. package/esm2022/lib/annotations/tags/tags.component.mjs +53 -0
  28. package/{esm2020 → esm2022}/lib/bookmark/components/bookmark-icons.component.mjs +5 -5
  29. package/{esm2020 → esm2022}/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +5 -5
  30. package/esm2022/lib/icp/icp-follower.service.mjs +60 -0
  31. package/esm2022/lib/icp/icp-presenter.service.mjs +55 -0
  32. package/{esm2020 → esm2022}/lib/icp/icp-session-api.service.mjs +5 -5
  33. package/esm2022/lib/icp/icp-update.service.mjs +65 -0
  34. package/esm2022/lib/icp/icp.service.mjs +95 -0
  35. package/{esm2020 → esm2022}/lib/icp/participants-list/participants-list.component.mjs +5 -5
  36. package/esm2022/lib/icp/socket.service.mjs +118 -0
  37. package/esm2022/lib/media-viewer.component.mjs +244 -0
  38. package/{esm2020 → esm2022}/lib/media-viewer.module.mjs +55 -55
  39. package/{esm2020 → esm2022}/lib/print.service.mjs +4 -4
  40. package/esm2022/lib/redaction/components/redaction.component.mjs +91 -0
  41. package/{esm2020 → esm2022}/lib/redaction/services/redaction-api.service.mjs +5 -5
  42. package/{esm2020 → esm2022}/lib/shared/gov-uk-date/gov-uk-date.component.mjs +4 -4
  43. package/{esm2020 → esm2022}/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +7 -7
  44. package/{esm2020 → esm2022}/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +6 -6
  45. package/{esm2020 → esm2022}/lib/shared/gov-uk-label/gov-uk-label.component.mjs +7 -7
  46. package/{esm2020 → esm2022}/lib/shared/shared.module.mjs +19 -19
  47. package/esm2022/lib/shared/util/helpers/html-templates.helper.mjs +18 -0
  48. package/{esm2020 → esm2022}/lib/shared/util/services/number.helper.service.mjs +5 -5
  49. package/esm2022/lib/store/bookmarks-store-utils.mjs +49 -0
  50. package/esm2022/lib/store/effects/annotation.effects.mjs +51 -0
  51. package/{esm2020 → esm2022}/lib/store/effects/bookmarks.effects.mjs +5 -5
  52. package/{esm2020 → esm2022}/lib/store/effects/document.effects.mjs +5 -5
  53. package/{esm2020 → esm2022}/lib/store/effects/icp.effects.mjs +5 -5
  54. package/{esm2020 → esm2022}/lib/store/effects/redaction.effects.mjs +5 -5
  55. package/esm2022/lib/store/reducers/annotations.reducer.mjs +208 -0
  56. package/esm2022/lib/store/reducers/bookmarks.reducer.mjs +116 -0
  57. package/esm2022/lib/store/reducers/document.reducer.mjs +135 -0
  58. package/esm2022/lib/store/reducers/icp.reducer.mjs +56 -0
  59. package/esm2022/lib/store/reducers/redaction.reducer.mjs +116 -0
  60. package/esm2022/lib/store/reducers/tags.reducer.mjs +93 -0
  61. package/esm2022/lib/store/selectors/annotation.selectors.mjs +81 -0
  62. package/{esm2020 → esm2022}/lib/store/selectors/bookmark.selectors.mjs +1 -1
  63. package/{esm2020 → esm2022}/lib/store/selectors/redaction.selectors.mjs +1 -1
  64. package/esm2022/lib/store/store-utils.mjs +131 -0
  65. package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +44 -0
  66. package/{esm2020 → esm2022}/lib/toolbar/icp-event.service.mjs +1 -1
  67. package/{esm2020 → esm2022}/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +5 -5
  68. package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +189 -0
  69. package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +236 -0
  70. package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +68 -0
  71. package/esm2022/lib/toolbar/search-bar/search-bar.component.mjs +109 -0
  72. package/esm2022/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
  73. package/esm2022/lib/toolbar/toolbar-event.service.mjs +178 -0
  74. package/{esm2020 → esm2022}/lib/toolbar/toolbar.module.mjs +25 -25
  75. package/esm2022/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +82 -0
  76. package/{esm2020 → esm2022}/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +5 -5
  77. package/esm2022/lib/viewers/grab-n-drag.directive.mjs +57 -0
  78. package/esm2022/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
  79. package/esm2022/lib/viewers/multimedia-player/multimedia-player.component.mjs +59 -0
  80. package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +210 -0
  81. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +5 -5
  82. package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +236 -0
  83. package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +352 -0
  84. package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
  85. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +5 -5
  86. package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation-api.service.mjs +5 -5
  87. package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +61 -0
  88. package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
  89. package/{esm2020 → esm2022}/lib/viewers/viewer-event.service.mjs +5 -5
  90. package/{esm2020 → esm2022}/lib/viewers/viewer-util.service.mjs +5 -5
  91. package/{fesm2020 → fesm2022}/hmcts-media-viewer.mjs +445 -445
  92. package/fesm2022/hmcts-media-viewer.mjs.map +1 -0
  93. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +1 -1
  94. package/lib/annotations/annotation-set/annotation-set.component.d.ts +1 -1
  95. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +1 -1
  96. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +1 -1
  97. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +1 -1
  98. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +1 -1
  99. package/lib/annotations/comment-set/comment/comment.component.d.ts +1 -1
  100. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +1 -1
  101. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +1 -1
  102. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +1 -1
  103. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +1 -1
  104. package/lib/annotations/comment-set/comment-set.component.d.ts +1 -1
  105. package/lib/annotations/comments-summary/comments-summary.component.d.ts +1 -1
  106. package/lib/annotations/tags/tags.component.d.ts +1 -1
  107. package/lib/bookmark/components/bookmark-icons.component.d.ts +1 -1
  108. package/lib/icp/socket.service.d.ts +6 -6
  109. package/lib/icp/socket.service.d.ts.map +1 -1
  110. package/lib/media-viewer.component.d.ts +1 -2
  111. package/lib/media-viewer.component.d.ts.map +1 -1
  112. package/lib/redaction/components/redaction.component.d.ts +1 -1
  113. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +1 -1
  114. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -1
  115. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -1
  116. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +1 -1
  117. package/lib/store/bookmarks-store-utils.d.ts.map +1 -1
  118. package/lib/toolbar/icp-event.service.d.ts +4 -4
  119. package/lib/toolbar/icp-event.service.d.ts.map +1 -1
  120. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +1 -1
  121. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +1 -1
  122. package/lib/toolbar/toolbar-event.service.d.ts +6 -6
  123. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
  124. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +1 -1
  125. package/lib/viewers/grab-n-drag.directive.d.ts +1 -1
  126. package/lib/viewers/image-viewer/image-viewer.component.d.ts +1 -1
  127. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +1 -1
  128. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -1
  129. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +1 -1
  130. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +1 -1
  131. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +1 -1
  132. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +1 -1
  133. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +1 -1
  134. package/lib/viewers/viewer-event.service.d.ts +1 -1
  135. package/lib/viewers/viewer-event.service.d.ts.map +1 -1
  136. package/package.json +16 -23
  137. package/esm2020/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +0 -116
  138. package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +0 -109
  139. package/esm2020/lib/annotations/annotation-set/annotation-set.component.mjs +0 -50
  140. package/esm2020/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +0 -94
  141. package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +0 -116
  142. package/esm2020/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +0 -118
  143. package/esm2020/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +0 -86
  144. package/esm2020/lib/annotations/comment-set/comment/comment.component.mjs +0 -177
  145. package/esm2020/lib/annotations/comment-set/comment/comment.service.mjs +0 -50
  146. package/esm2020/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +0 -47
  147. package/esm2020/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +0 -91
  148. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +0 -54
  149. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +0 -68
  150. package/esm2020/lib/annotations/comment-set/comment-set-render.service.mjs +0 -54
  151. package/esm2020/lib/annotations/comment-set/comment-set.component.mjs +0 -123
  152. package/esm2020/lib/annotations/comments-summary/comments-summary.component.mjs +0 -120
  153. package/esm2020/lib/annotations/pipes/filter/filter.pipe.mjs +0 -32
  154. package/esm2020/lib/annotations/tags/tags.component.mjs +0 -53
  155. package/esm2020/lib/icp/icp-follower.service.mjs +0 -60
  156. package/esm2020/lib/icp/icp-presenter.service.mjs +0 -55
  157. package/esm2020/lib/icp/icp-update.service.mjs +0 -65
  158. package/esm2020/lib/icp/icp.service.mjs +0 -95
  159. package/esm2020/lib/icp/socket.service.mjs +0 -118
  160. package/esm2020/lib/media-viewer.component.mjs +0 -245
  161. package/esm2020/lib/redaction/components/redaction.component.mjs +0 -91
  162. package/esm2020/lib/shared/util/helpers/html-templates.helper.mjs +0 -18
  163. package/esm2020/lib/store/bookmarks-store-utils.mjs +0 -49
  164. package/esm2020/lib/store/effects/annotation.effects.mjs +0 -51
  165. package/esm2020/lib/store/reducers/annotations.reducer.mjs +0 -208
  166. package/esm2020/lib/store/reducers/bookmarks.reducer.mjs +0 -116
  167. package/esm2020/lib/store/reducers/document.reducer.mjs +0 -135
  168. package/esm2020/lib/store/reducers/icp.reducer.mjs +0 -56
  169. package/esm2020/lib/store/reducers/redaction.reducer.mjs +0 -116
  170. package/esm2020/lib/store/reducers/tags.reducer.mjs +0 -93
  171. package/esm2020/lib/store/selectors/annotation.selectors.mjs +0 -81
  172. package/esm2020/lib/store/store-utils.mjs +0 -131
  173. package/esm2020/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +0 -44
  174. package/esm2020/lib/toolbar/main-toolbar/main-toolbar.component.mjs +0 -189
  175. package/esm2020/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +0 -236
  176. package/esm2020/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +0 -68
  177. package/esm2020/lib/toolbar/search-bar/search-bar.component.mjs +0 -109
  178. package/esm2020/lib/toolbar/toolbar-button-visibility.service.mjs +0 -94
  179. package/esm2020/lib/toolbar/toolbar-event.service.mjs +0 -178
  180. package/esm2020/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +0 -82
  181. package/esm2020/lib/viewers/grab-n-drag.directive.mjs +0 -57
  182. package/esm2020/lib/viewers/image-viewer/image-viewer.component.mjs +0 -166
  183. package/esm2020/lib/viewers/multimedia-player/multimedia-player.component.mjs +0 -59
  184. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +0 -209
  185. package/esm2020/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +0 -236
  186. package/esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +0 -352
  187. package/esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +0 -49
  188. package/esm2020/lib/viewers/rotation-persist/rotation-persist.directive.mjs +0 -61
  189. package/esm2020/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +0 -49
  190. package/fesm2015/hmcts-media-viewer.mjs +0 -6953
  191. package/fesm2015/hmcts-media-viewer.mjs.map +0 -1
  192. package/fesm2020/hmcts-media-viewer.mjs.map +0 -1
  193. /package/{esm2020 → esm2022}/hmcts-media-viewer.mjs +0 -0
  194. /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-set.model.mjs +0 -0
  195. /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +0 -0
  196. /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +0 -0
  197. /package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/comment.model.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lib/annotations/models/api-persisted.model.mjs +0 -0
  199. /package/{esm2020 → esm2022}/lib/annotations/models/event-select.model.mjs +0 -0
  200. /package/{esm2020 → esm2022}/lib/annotations/models/tags.model.mjs +0 -0
  201. /package/{esm2020 → esm2022}/lib/annotations/models/user.model.mjs +0 -0
  202. /package/{esm2020 → esm2022}/lib/icp/icp.events.mjs +0 -0
  203. /package/{esm2020 → esm2022}/lib/icp/icp.interfaces.mjs +0 -0
  204. /package/{esm2020 → esm2022}/lib/redaction/services/redaction.model.mjs +0 -0
  205. /package/{esm2020 → esm2022}/lib/store/actions/annotation.actions.mjs +0 -0
  206. /package/{esm2020 → esm2022}/lib/store/actions/bookmark.actions.mjs +0 -0
  207. /package/{esm2020 → esm2022}/lib/store/actions/document.actions.mjs +0 -0
  208. /package/{esm2020 → esm2022}/lib/store/actions/icp.actions.mjs +0 -0
  209. /package/{esm2020 → esm2022}/lib/store/actions/redaction.actions.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/store/actions/tag.actions.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/store/effects/index.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/store/models/bookmarks.interface.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/store/models/filters.interface.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/store/reducers/reducers.mjs +0 -0
  215. /package/{esm2020 → esm2022}/lib/store/selectors/document.selectors.mjs +0 -0
  216. /package/{esm2020 → esm2022}/lib/store/selectors/icp.selectors.mjs +0 -0
  217. /package/{esm2020 → esm2022}/lib/store/selectors/tag.selectors.mjs +0 -0
  218. /package/{esm2020 → esm2022}/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +0 -0
  219. /package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +0 -0
  220. /package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +0 -0
  221. /package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation.model.mjs +0 -0
  222. /package/{esm2020 → esm2022}/lib/viewers/viewer-exception.model.mjs +0 -0
  223. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9yZWRhY3Rpb24ucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssYUFBYSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYTVDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFtQjtJQUNuRCxpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLHFCQUFxQixFQUFFLEVBQUU7SUFDekIsaUJBQWlCLEVBQUUsRUFBRTtJQUNyQixvQkFBb0IsRUFBRSxTQUFTO0lBQy9CLFVBQVUsRUFBRSxTQUFTO0NBQ3RCLENBQUM7QUFFRixNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEtBQUssR0FBRyxxQkFBcUIsRUFDN0IsTUFBMkU7SUFFM0UsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFcEIsS0FBSyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUNuQyxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixHQUFHLHFCQUFxQjthQUN6QixDQUFDO1FBQ0osQ0FBQztRQUVELEtBQUssYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztZQUMxQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQy9CLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3hFLE1BQU0scUJBQXFCLEdBQUcsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFD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QkFDTCxHQUFHLEtBQUs7Z0JBQ1IscUJBQXFCO2dCQUNyQixpQkFBaUI7YUFDbEIsQ0FBQztRQUNKLENBQUM7UUFFRCxLQUFLLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUM1QyxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixHQUFHLHFCQUFxQjtnQkFDeEIsb0JBQW9CO2FBQ3JCLENBQUM7UUFDSixDQUFDO1FBRUQsS0FBSyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1lBQzNDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLG9CQUFvQixFQUFFLFNBQVM7YUFDaEMsQ0FBQztRQUNKLENBQUM7UUFFRCxLQUFLLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDdEMsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsR0FBRyxxQkFBcUI7YUFDekIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBR0QsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQztBQUNqRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztBQUN2RixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCAqIGFzIGZyb21SZWRhY3Rpb24gZnJvbSAnLi4vYWN0aW9ucy9yZWRhY3Rpb24uYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tQW5ub3RhdGlvbnMgZnJvbSAnLi4vYWN0aW9ucy9hbm5vdGF0aW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgU3RvcmVVdGlscyB9IGZyb20gJy4uL3N0b3JlLXV0aWxzJztcbmltcG9ydCB7IFNlbGVjdGlvbkFubm90YXRpb24gfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9tb2RlbHMvZXZlbnQtc2VsZWN0Lm1vZGVsJztcbmltcG9ydCB7IFJlZGFjdGlvbiB9IGZyb20gJy4uLy4uL3JlZGFjdGlvbi9zZXJ2aWNlcy9yZWRhY3Rpb24ubW9kZWwnOyAvLyB0b2RvIHJlbmFtZVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVkYWN0aW9uU3RhdGUge1xuICByZWRhY3Rpb25FbnRpdGllczogeyBbaWQ6IHN0cmluZ106IFJlZGFjdGlvbiB9O1xuICByZWRhY3Rpb25QYWdlRW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBhbnkgfTtcbiAgc2VsZWN0ZWRSZWRhY3Rpb246IFNlbGVjdGlvbkFubm90YXRpb24gfCB7fTtcbiAgcmVkYWN0ZWREb2N1bWVudEluZm86IHsgYmxvYjogQmxvYiwgZmlsZW5hbWU6IHN0cmluZyB9O1xuICBkb2N1bWVudElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsUmVkYWN0aW9uU3RhdGU6IFJlZGFjdGlvblN0YXRlID0ge1xuICByZWRhY3Rpb25FbnRpdGllczoge30sXG4gIHJlZGFjdGlvblBhZ2VFbnRpdGllczoge30sXG4gIHNlbGVjdGVkUmVkYWN0aW9uOiB7fSxcbiAgcmVkYWN0ZWREb2N1bWVudEluZm86IHVuZGVmaW5lZCxcbiAgZG9jdW1lbnRJZDogdW5kZWZpbmVkXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVkYWN0aW9uUmVkdWNlcihcbiAgc3RhdGUgPSBpbml0aWFsUmVkYWN0aW9uU3RhdGUsXG4gIGFjdGlvbjogZnJvbVJlZGFjdGlvbi5SZWRhY3Rpb25BY3Rpb25zIHwgZnJvbUFubm90YXRpb25zLkFubm90YXRpb25zQWN0aW9uc1xuKTogUmVkYWN0aW9uU3RhdGUge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG5cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uTE9BRF9SRURBQ1RJT05TOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgLi4uaW5pdGlhbFJlZGFjdGlvblN0YXRlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5MT0FEX1JFREFDVElPTl9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBwYXlsb2FkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBpZiAocGF5bG9hZCkge1xuICAgICAgICBjb25zdCByZWRhY3Rpb25FbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVSZWRhY3Rpb25FbnRpdGllcyhwYXlsb2FkKTtcbiAgICAgICAgY29uc3QgcmVkYWN0aW9uUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMocGF5bG9hZCwgJ3BhZ2UnKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICByZWRhY3Rpb25FbnRpdGllcyxcbiAgICAgICAgICByZWRhY3Rpb25QYWdlRW50aXRpZXNcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5TQVZFX1JFREFDVElPTl9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgIGNvbnN0IHJlZGFjdGlvbkVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5yZWRhY3Rpb25FbnRpdGllcyxcbiAgICAgICAgW3BheWxvYWQucmVkYWN0aW9uSWRdOiBwYXlsb2FkXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVkYWN0aW9uQXJyYXkgPSBPYmplY3Qua2V5cyhyZWRhY3Rpb25FbnRpdGllcykubWFwKGtleSA9PiByZWRhY3Rpb25FbnRpdGllc1trZXldKTtcbiAgICAgIGNvbnN0IHJlZGFjdGlvblBhZ2VFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ3JvdXBCeUtleUVudGl0aWVzKHJlZGFjdGlvbkFycmF5LCAncGFnZScpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJlZGFjdGlvbkVudGl0aWVzLFxuICAgICAgICByZWRhY3Rpb25QYWdlRW50aXRpZXNcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5TQVZFX0JVTEtfUkVEQUNUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHBheWxvYWRSZXN1bHQgPSBPYmplY3QuYXNzaWduKHt9LCAuLi5hY3Rpb24ucGF5bG9hZC5zZWFyY2hSZWRhY3Rpb25zLm1hcCgoeCkgPT4gKHsgW3gucmVkYWN0aW9uSWRdOiB4IH0pKSk7XG4gICAgICBjb25zdCByZWRhY3Rpb25FbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUucmVkYWN0aW9uRW50aXRpZXMsXG4gICAgICAgIC4uLnBheWxvYWRSZXN1bHRcbiAgICAgIH07XG4gICAgICBjb25zdCByZWRhY3Rpb25BcnJheSA9IE9iamVjdC5rZXlzKHJlZGFjdGlvbkVudGl0aWVzKS5tYXAoa2V5ID0+IHJlZGFjdGlvbkVudGl0aWVzW2tleV0pO1xuICAgICAgY29uc3QgcmVkYWN0aW9uUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMocmVkYWN0aW9uQXJyYXksICdwYWdlJyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcmVkYWN0aW9uRW50aXRpZXMsXG4gICAgICAgIHJlZGFjdGlvblBhZ2VFbnRpdGllc1xuICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLlNFTEVDVF9SRURBQ1RJT046XG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0VMRUNUX0FOTk9UQVRJT046IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzZWxlY3RlZFJlZGFjdGlvbjogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLkRFTEVURV9SRURBQ1RJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgcGFnZSA9IGFjdGlvbi5wYXlsb2FkLnBhZ2U7XG4gICAgICBjb25zdCBpZCA9IGFjdGlvbi5wYXlsb2FkLnJlZGFjdGlvbklkO1xuICAgICAgY29uc3QgcmVkYWN0aW9uRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLnJlZGFjdGlvbkVudGl0aWVzXG4gICAgICB9O1xuICAgICAgZGVsZXRlIHJlZGFjdGlvbkVudGl0aWVzW2lkXTtcbiAgICAgIGNvbnN0IHBhZ2VSZWRhY3Rpb25SZW1vdmVkID0gW1xuICAgICAgICAuLi5zdGF0ZS5yZWRhY3Rpb25QYWdlRW50aXRpZXNbcGFnZV0uZmlsdGVyKHJlZGFjdGlvbiA9PiByZWRhY3Rpb24ucmVkYWN0aW9uSWQgIT09IGlkKVxuICAgICAgXTtcbiAgICAgIGNvbnN0IHJlZGFjdGlvblBhZ2VFbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUucmVkYWN0aW9uUGFnZUVudGl0aWVzLFxuICAgICAgICBbcGFnZV06IHBhZ2VSZWRhY3Rpb25SZW1vdmVkXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcmVkYWN0aW9uUGFnZUVudGl0aWVzLFxuICAgICAgICByZWRhY3Rpb25FbnRpdGllcyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLlJFREFDVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCByZWRhY3RlZERvY3VtZW50SW5mbyA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIC4uLmluaXRpYWxSZWRhY3Rpb25TdGF0ZSxcbiAgICAgICAgcmVkYWN0ZWREb2N1bWVudEluZm9cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLlJFU0VUX1JFREFDVEVEX0RPQ1VNRU5UOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcmVkYWN0ZWREb2N1bWVudEluZm86IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uVU5NQVJLX0FMTF9TVUNDRVNTOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgLi4uaW5pdGlhbFJlZGFjdGlvblN0YXRlXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn1cblxuXG5leHBvcnQgY29uc3QgZ2V0UmVkYWN0aW9uRW50ID0gKHN0YXRlOiBSZWRhY3Rpb25TdGF0ZSkgPT4gc3RhdGUucmVkYWN0aW9uRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0UGFnZUVudCA9IChzdGF0ZTogUmVkYWN0aW9uU3RhdGUpID0+IHN0YXRlLnJlZGFjdGlvblBhZ2VFbnRpdGllcztcbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZFJlZGFjdGlvbiA9IChzdGF0ZTogUmVkYWN0aW9uU3RhdGUpID0+IHN0YXRlLnNlbGVjdGVkUmVkYWN0aW9uO1xuZXhwb3J0IGNvbnN0IGdldFJlZGFjdGVkRG9jSW5mbyA9IChzdGF0ZTogUmVkYWN0aW9uU3RhdGUpID0+IHN0YXRlLnJlZGFjdGVkRG9jdW1lbnRJbmZvO1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvcmVkdWNlcnMvdGFncy5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxLQUFLLFFBQVEsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFZMUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFjO0lBQ3hDLFVBQVUsRUFBRSxFQUFFO0lBQ2QsV0FBVyxFQUFFLEVBQUU7SUFDZixvQkFBb0IsRUFBRSxFQUFFO0lBQ3hCLGdCQUFnQixFQUFFLEVBQUU7SUFDcEIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsT0FBTyxFQUFFLEVBQUU7Q0FDWixDQUFDO0FBRUYsTUFBTSxVQUFVLFdBQVcsQ0FDekIsS0FBSyxHQUFHLGVBQWUsRUFDdkIsTUFBaUU7SUFFakUsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsS0FBSyxlQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1lBRXpDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLEdBQUcsZUFBZTthQUNuQixDQUFDO1FBQ0osQ0FBQztRQUNELEtBQUssZUFBZSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQztZQUNqRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDcEQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlELE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLFVBQVU7Z0JBQ1YsV0FBVzthQUNaLENBQUM7UUFDSixDQUFDO1FBRUQsS0FBSyxlQUFlLENB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QyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDaEMsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsZ0JBQWdCLEVBQUUsRUFBRTtnQkFDcEIsb0JBQW9CLEVBQUUsRUFBRTthQUN6QixDQUFDO1FBQ0osQ0FBQztJQUVILENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7QUFDOUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7QUFDaEYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcm9tQW5ub3RhdGlvbnMgZnJvbSAnLi4vYWN0aW9ucy9hbm5vdGF0aW9uLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbVRhZ3MgZnJvbSAnLi4vYWN0aW9ucy90YWcuYWN0aW9ucyc7XG5pbXBvcnQge1N0b3JlVXRpbHN9IGZyb20gJy4uL3N0b3JlLXV0aWxzJztcbmltcG9ydCB7QW5ub3RhdGlvbn0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L2Fubm90YXRpb24ubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhZ3NTdGF0ZSB7XG4gIHRhZ05hbWVFbnQ6IHtbaWQ6IHN0cmluZ106IHN0cmluZ1tdfTtcbiAgZmlsdGVyZWRDb21tZW50czoge1tpZDogc3RyaW5nXTogc3RyaW5nW119O1xuICBmaWx0ZXJlZFBhZ2VFbnRpdGllczoge1tpZDogc3RyaW5nXTogQW5ub3RhdGlvbltdfTtcbiAgYW5ub3RhdGlvbnM6IEFubm90YXRpb25bXTtcbiAgZm9ybUZpbHRlclN0YXRlOiB7W2lkOiBzdHJpbmddOiBib29sZWFufTtcbiAgZmlsdGVyczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsVGFnU3RhdGU6IFRhZ3NTdGF0ZSA9IHtcbiAgdGFnTmFtZUVudDoge30sXG4gIGFubm90YXRpb25zOiBbXSxcbiAgZmlsdGVyZWRQYWdlRW50aXRpZXM6IHt9LFxuICBmaWx0ZXJlZENvbW1lbnRzOiB7fSxcbiAgZm9ybUZpbHRlclN0YXRlOiB7fSxcbiAgZmlsdGVyczogW11cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWdzUmVkdWNlciAoXG4gIHN0YXRlID0gaW5pdGlhbFRhZ1N0YXRlLFxuICBhY3Rpb246IGZyb21Bbm5vdGF0aW9ucy5Bbm5vdGF0aW9uc0FjdGlvbnMgfCBmcm9tVGFncy5UYWdzQWN0aW9uc1xuKTogVGFnc1N0YXRlIHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkxPQURfQU5OT1RBVElPTl9TRVQ6IHtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIC4uLmluaXRpYWxUYWdTdGF0ZVxuICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuTE9BRF9BTk5PVEFUSU9OX1NFVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBhbm5vdGF0aW9ucyA9IGFjdGlvbi5wYXlsb2FkLmJvZHkuYW5ub3RhdGlvbnM7XG4gICAgICBjb25zdCB0YWdOYW1lRW50ID0gU3RvcmVVdGlscy5nZW5UYWdOYW1lRW50aXRpZXMoYW5ub3RhdGlvbnMpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHRhZ05hbWVFbnQsXG4gICAgICAgIGFubm90YXRpb25zXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLlNBVkVfQU5OT1RBVElPTl9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBwYXlsb2FkID0gYWN0aW9uLnBheWxvYWQ7XG5cbiAgICAgIGNvbnN0IGFubm8gPSBbLi4uc3RhdGUuYW5ub3RhdGlvbnNdLmZpbHRlcihhID0+IGEuaWQgIT09IHBheWxvYWQuaWQpIHx8IFtdO1xuICAgICAgY29uc3QgYW5ub3RhdGlvbnMgPSBbLi4uYW5ubywgcGF5bG9hZF07XG4gICAgICBjb25zdCB0YWdOYW1lRW50ID0gIFN0b3JlVXRpbHMuZ2VuVGFnTmFtZUVudGl0aWVzKGFubm90YXRpb25zKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9ucyxcbiAgICAgICAgdGFnTmFtZUVudFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5ERUxFVEVfQU5OT1RBVElPTl9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBpZCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgYW5ub3RhdGlvbnMgPSBbLi4uc3RhdGUuYW5ub3RhdGlvbnNdLmZpbHRlcihhID0+IGEuaWQgIT09IGlkKTtcbiAgICAgIGNvbnN0IHRhZ05hbWVFbnQgPSAgU3RvcmVVdGlscy5nZW5UYWdOYW1lRW50aXRpZXMoYW5ub3RhdGlvbnMpO1xuICAgICAgY29uc3QgZmlsdGVyZWRQYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhhbm5vdGF0aW9ucywgJ3BhZ2UnKTtcbiAgICAgIGNvbnN0IGZpbHRlcmVkQ29tbWVudHMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmZpbHRlcmVkQ29tbWVudHNcbiAgICAgIH07XG4gICAgICBkZWxldGUgZmlsdGVyZWRDb21tZW50c1tpZF07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYW5ub3RhdGlvbnMsXG4gICAgICAgIHRhZ05hbWVFbnQsXG4gICAgICAgIGZpbHRlcmVkQ29tbWVudHMsXG4gICAgICAgIGZpbHRlcmVkUGFnZUVudGl0aWVzLFxuICAgICAgICBmaWx0ZXJzOiBbXVxuICAgICAgfTtcbiAgICB9XG5cblxuICAgIGNhc2UgZnJvbVRhZ3MuQUREX0ZJTFRFUl9UQUdTOiB7XG4gICAgICBjb25zdCBmb3JtRmlsdGVyU3RhdGUgPSBhY3Rpb24ucGF5bG9hZDtcblxuICAgICAgY29uc3QgZmlsdGVycyA9IE9iamVjdC5rZXlzKGZvcm1GaWx0ZXJTdGF0ZSkucmVkdWNlKChhcnI6IHN0cmluZ1tdLCBrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4gZm9ybUZpbHRlclN0YXRlW2tleV0gPyBbLi4uYXJyLCBrZXldIDogYXJyO1xuICAgICAgfSwgW10pO1xuXG4gICAgICBjb25zdCBmaWx0ZXJlZENvbW1lbnRzID0gZmlsdGVycy5yZWR1Y2UoKG9iajoge1tpZDogc3RyaW5nXTogYW55fSwgZikgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLm9iaixcbiAgICAgICAgICAuLi5zdGF0ZS50YWdOYW1lRW50W2ZdXG4gICAgICAgIH07XG4gICAgICB9LCB7fSk7XG5cbiAgICAgIGNvbnN0IGFubm90YXRpb25zID0gT2JqZWN0LmtleXMoZmlsdGVyZWRDb21tZW50cykubWFwKGtleSA9PiBzdGF0ZS5hbm5vdGF0aW9ucy5maWx0ZXIoYSA9PiBhLmlkID09PSBrZXkpWzBdKTtcbiAgICAgIGNvbnN0IGZpbHRlcmVkUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYW5ub3RhdGlvbnMsICdwYWdlJyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgZmlsdGVycyxcbiAgICAgICAgZmlsdGVyZWRDb21tZW50cyxcbiAgICAgICAgZmlsdGVyZWRQYWdlRW50aXRpZXMsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbVRhZ3MuQ0xFQVJfRklMVEVSX1RBR1M6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBmaWx0ZXJzOiBbXSxcbiAgICAgICAgZmlsdGVyZWRDb21tZW50czoge30sXG4gICAgICAgIGZpbHRlcmVkUGFnZUVudGl0aWVzOiB7fSxcbiAgICAgIH07XG4gICAgfVxuXG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRUYWdOYW1lRW50ID0gKHN0YXRlOiBUYWdzU3RhdGUpID0+IHN0YXRlLnRhZ05hbWVFbnQ7XG5leHBvcnQgY29uc3QgZ2V0RmlsdGVycyA9IChzdGF0ZTogVGFnc1N0YXRlKSA9PiBzdGF0ZS5maWx0ZXJzO1xuZXhwb3J0IGNvbnN0IGdldEZpbHRlcmVkQ29tbWVudHMgPSAoc3RhdGU6IFRhZ3NTdGF0ZSkgPT4gc3RhdGUuZmlsdGVyZWRDb21tZW50cztcbmV4cG9ydCBjb25zdCBnZXRGaWx0ZXJlZFBhZ2VFbnQgPSAoc3RhdGU6IFRhZ3NTdGF0ZSkgPT4gc3RhdGUuZmlsdGVyZWRQYWdlRW50aXRpZXM7XG4iXX0=
@@ -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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RUFBRSxPQUFPLENBQUMsSUFBSTtnQkFDbEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2FBQ3pCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDZCxDQUFDLENBQ0YsQ0FBQztBQUdGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FDbEQscUJBQXFCLEVBQ3JCLFFBQVEsQ0FBQyxjQUFjLEVBQ3ZCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ25CLE1BQU0sVUFBVSxHQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMxRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzVDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDOUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNqRixDQUFDLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3JlYXRlU2VsZWN0b3J9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0ICogYXMgZnJvbUZlYXR1cmUgZnJvbSAnLi4vcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm90YXRpb25zIGZyb20gJy4uL3JlZHVjZXJzL2Fubm90YXRpb25zLnJlZHVjZXInO1xuaW1wb3J0ICogYXMgZnJvbVRhZ3MgZnJvbSAnLi90YWcuc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQge1N0b3JlVXRpbHN9IGZyb20gJy4uL3N0b3JlLXV0aWxzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmV4cG9ydCBjb25zdCBnZXRBbm5vdGF0aW9uc1NldFN0YXRlID0gY3JlYXRlU2VsZWN0b3IoXG4gIGZyb21GZWF0dXJlLmdldE1WU3RhdGUsXG4gIChzdGF0ZTogZnJvbUZlYXR1cmUuU3RhdGUpID0+ICBzdGF0ZS5hbm5vdGF0aW9uc1xuKTtcblxuZXhwb3J0IGNvbnN0IGdldEFubm90YXRpb25FbnRpdGllcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBbm5vdGF0aW9uc1NldFN0YXRlLFxuICBmcm9tQW5ub3RhdGlvbnMuZ2V0QW5ub0VudFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldFNldCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBbm5vdGF0aW9uc1NldFN0YXRlLFxuICBmcm9tQW5ub3RhdGlvbnMuZ2V0QW5ub1NldFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldERvY3VtZW50SWRTZXRJZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRTZXQsXG4gIChhbm5vU2V0KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRvY3VtZW50SWQ6IGFubm9TZXQuZG9jdW1lbnRJZCxcbiAgICAgIGFubm90YXRpb25TZXRJZDogYW5ub1NldC5pZFxuICAgIH07XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRBbm5vdGF0aW9uU2V0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEFubm90YXRpb25FbnRpdGllcyxcbiAgZ2V0U2V0LFxuICAoZW50aXRpZXMsIHNldCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zZXQsXG4gICAgICBhbm5vdGF0aW9uczogT2JqZWN0LmtleXMoZW50aXRpZXMpLm1hcChrZXkgPT4gZW50aXRpZXNba2V5XSlcbiAgICB9O1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRBbm5vdGF0aW9uID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEFubm90YXRpb25zU2V0U3RhdGUsXG4gIGZyb21Bbm5vdGF0aW9ucy5nZXRTZWxlY3RlZEFubm9cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRDb21tZW50RW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QW5ub3RhdGlvbnNTZXRTdGF0ZSxcbiAgZnJvbUFubm90YXRpb25zLmdldENvbW1lbnRFbnRzXG4pO1xuXG5cbmV4cG9ydCBjb25zdCBnZXRQYWdlRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QW5ub3RhdGlvbnNTZXRTdGF0ZSxcbiAgZnJvbUFubm90YXRpb25zLmdldEFubm9QYWdlRW50XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29tcG9uZW50U2VhcmNoUXVlcmllcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRBbm5vdGF0aW9uc1NldFN0YXRlLFxuICBmcm9tQW5ub3RhdGlvbnMuY29tbWVudFNlYXJjaFFcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRDb21wb25lbnRTZWFyY2hUZXh0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldENvbXBvbmVudFNlYXJjaFF1ZXJpZXMsXG4gIChxdWVyaWVzKSA9PiBxdWVyaWVzLmNvbW1lbnRTZWFyY2hcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRDb21tZW50U3VtbWFyeUZpbHRlcnMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0QW5ub3RhdGlvbnNTZXRTdGF0ZSxcbiAgZnJvbUFubm90YXRpb25zLmdldFN1bW1hcnlGaWx0ZXJzXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0QW5ub1BlclBhZ2UgPSBjcmVhdGVTZWxlY3RvcihcbiAgZnJvbURvY3VtZW50LmdldFBhZ2VzLFxuICBnZXRQYWdlRW50aXRpZXMsXG4gIGZyb21UYWdzLmdldEZpbHRlcmVkUGFnZUVudGl0aWVzLFxuICAocGFnZXMsIHBhZ2VFbnQsIGZpbHRlcmVkUGFnZUVudCkgPT4ge1xuICAgIGNvbnN0IGlzRmlsdGVyZWQ6IGJvb2xlYW4gPSAhIU9iamVjdC5rZXlzKGZpbHRlcmVkUGFnZUVudCkubGVuZ3RoO1xuICAgIGNvbnN0IGVudGl0aWVzID0gaXNGaWx0ZXJlZCA/IGZpbHRlcmVkUGFnZUVudCA6IHBhZ2VFbnQ7XG4gICAgaWYgKHBhZ2VzKSB7XG4gICAgICBjb25zdCBhcnIgPSBbXTtcbiAgICAgIE9iamVjdC5rZXlzKHBhZ2VzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGFyci5wdXNoKHtcbiAgICAgICAgICBhbm5vOiBlbnRpdGllc1trZXldID8gZW50aXRpZXNba2V5XSA6IFtdLFxuICAgICAgICAgIHN0eWxlczogcGFnZXNba2V5XS5zdHlsZXNcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBhcnI7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29tbWVudHNBcnJheSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRDb21tZW50RW50aXRpZXMsXG4gIGZyb21Eb2N1bWVudC5nZXRQYWdlcyxcbiAgZ2V0QW5ub3RhdGlvbkVudGl0aWVzLFxuICBmcm9tVGFncy5nZXRUYWdGaWx0ZXJlZCxcbiAgKGNvbW1lbnRFbnRzLCBwYWdlcywgYW5ub0VudHMsIGZpbHRlcmVkKSA9PiB7XG4gICAgaWYgKGNvbW1lbnRFbnRzICYmIGFubm9FbnRzICYmIHBhZ2VzWzFdKSB7XG4gICAgICAgIGNvbnN0IGlzRmlsdGVyZWQ6IGJvb2xlYW4gPSAhIU9iamVjdC5rZXlzKGZpbHRlcmVkKS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGNvbSA9IGlzRmlsdGVyZWQgPyBmaWx0ZXJlZCA6IGNvbW1lbnRFbnRzO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoY29tKS5tYXAoa2V5ID0+IHtcbiAgICAgICAgICBjb25zdCBwYWdlID0gYW5ub0VudHNba2V5XS5wYWdlO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5jb21tZW50RW50c1trZXldLFxuICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIHBhZ2VzXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29tbWVudFN1bW1hcnkgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Q29tbWVudHNBcnJheSxcbiAgZ2V0Q29tbWVudFN1bW1hcnlGaWx0ZXJzLFxuICAoY29tbWVudFN1bW1hcnkgPSBbXSwgZmlsdGVycykgPT4ge1xuICAgIGNvbnN0IGNvbW1lbnRzID0gU3RvcmVVdGlscy5maWx0ZXJDb21tZW50c1N1bW1hcnkoY29tbWVudFN1bW1hcnksIGZpbHRlcnMuZmlsdGVycyk7XG4gICAgaWYgKGNvbW1lbnRzLmxlbmd0aCkge1xuICAgICAgY29uc3Qgc2F2ZWRDb21tZW50cyAgPSBjb21tZW50cy5maWx0ZXIoKGNvbW1lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbW1lbnQuY3JlYXRlZEJ5RGV0YWlscyAhPT0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiBzYXZlZENvbW1lbnRzLm1hcCgoY29tbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHBhZ2U6IGNvbW1lbnQucGFnZSxcbiAgICAgICAgICB1c2VyOiBjb21tZW50LmNyZWF0ZWRCeURldGFpbHMuZm9yZW5hbWUuY29uY2F0KCcgJykuY29uY2F0KGNvbW1lbnQuY3JlYXRlZEJ5RGV0YWlscy5zdXJuYW1lKSxcbiAgICAgICAgICBkYXRlOiBtb21lbnQoY29tbWVudC5sYXN0TW9kaWZpZWREYXRlKS5mb3JtYXQoJ0QgTU1NTSBZWVlZJyksXG4gICAgICAgICAgdGFnczogY29tbWVudC50YWdzLFxuICAgICAgICAgIGNvbW1lbnQ6IGNvbW1lbnQuY29udGVudFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBbJyddO1xuICB9XG4pO1xuXG5cbmV4cG9ydCBjb25zdCBnZXRGaWx0ZXJlZEFubm90YXRpb25zID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEFubm90YXRpb25FbnRpdGllcyxcbiAgZnJvbVRhZ3MuZ2V0VGFnRmlsdGVyZWQsXG4gIChhbm5vRW50LCBmaWx0ZXJzKSA9PiB7XG4gICAgY29uc3QgaXNGaWx0ZXJlZDogYm9vbGVhbiA9ICEhT2JqZWN0LmtleXMoZmlsdGVycykubGVuZ3RoO1xuICAgIGNvbnN0IGFubm8gPSBpc0ZpbHRlcmVkID8gZmlsdGVycyA6IGFubm9FbnQ7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGFubm8pLm1hcChrZXkgPT4gYW5ub0VudFtrZXldKVxuICAgICAgLmZpbHRlcihhbm5vdGF0aW9uID0+IGFubm90YXRpb24uY29tbWVudHMgJiYgYW5ub3RhdGlvbi5jb21tZW50cy5sZW5ndGggPiAwKTtcbiAgfVxuKTtcbiJdfQ==
@@ -33,4 +33,4 @@ export const getBookmarksPerPage = createSelector(fromDocument.getPages, getBook
33
33
  return arr;
34
34
  }
35
35
  });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmsuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvc2VsZWN0b3JzL2Jvb2ttYXJrLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE9BQU8sS0FBSyxXQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGFBQWEsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEtBQUssWUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FDNUMsV0FBVyxDQUFDLFVBQVUsRUFDdEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUM5QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGtCQUFrQixDQUNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUMvQyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGVBQWUsQ0FDOUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FDNUMsbUJBQW1CLEVBQ25CLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FDOUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FDL0MsZ0JBQWdCLEVBQ2hCLGFBQWEsQ0FBQyxlQUFlLENBQzlCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUMzQyxnQkFBZ0IsRUFDaEIsWUFBWSxDQUFDLGFBQWEsRUFDMUIsWUFBWSxDQUFDLGNBQWMsRUFDM0IsWUFBWSxDQUFDLFFBQVEsRUFDckIsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUMzQyxPQUFPO1FBQ0wsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVLEdBQUcsQ0FBQztRQUN0QyxXQUFXLEVBQUUsV0FBVyxDQUFDLElBQUk7UUFDN0IsV0FBVyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Y0FDdkQsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2NBQ2xFLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDakUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDN0gsVUFBVSxFQUFFLEtBQUs7S0FDbEIsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUMvQyxZQUFZLENBQUMsUUFBUSxFQUNyQixnQkFBZ0IsRUFDaEIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDakIsSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyx5Q0FBeUM7WUFDMUUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ1AsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU07YUFDMUIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQztLQUNaO0FBQ0gsQ0FBQyxDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0ICogYXMgZnJvbUZlYXR1cmUgZnJvbSAnLi4vcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0ICogYXMgZnJvbUJvb2ttYXJrcyBmcm9tICcuLi9yZWR1Y2Vycy9ib29rbWFya3MucmVkdWNlcic7XG5pbXBvcnQgeyBnZW5lcmF0ZUJvb2ttYXJrTm9kZXMgfSBmcm9tICcuLi9ib29rbWFya3Mtc3RvcmUtdXRpbHMnO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50IGZyb20gJy4vZG9jdW1lbnQuc2VsZWN0b3JzJztcblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrU3RhdGUgPSBjcmVhdGVTZWxlY3RvcihcbiAgZnJvbUZlYXR1cmUuZ2V0TVZTdGF0ZSxcbiAgKHN0YXRlOiBmcm9tRmVhdHVyZS5TdGF0ZSkgPT4gc3RhdGUuYm9va21hcmtzXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtQYWdlcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRCb29rbWFya1N0YXRlLFxuICBmcm9tQm9va21hcmtzLmdldEJvb2ttYXJrUGFnZUVudFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRCb29rbWFya0VudHNcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya05vZGVzID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEJvb2ttYXJrRW50aXRpZXMsXG4gIChlbnRpdGllcykgPT4gZ2VuZXJhdGVCb29rbWFya05vZGVzKGVudGl0aWVzKVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEVkaXRhYmxlQm9va21hcmsgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRFZGl0Qm9va21hcmtcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya0luZm8gPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtOb2RlcyxcbiAgZnJvbURvY3VtZW50LmdldERvY3VtZW50SWQsXG4gIGZyb21Eb2N1bWVudC5nZXRQZGZQb3NpdGlvbixcbiAgZnJvbURvY3VtZW50LmdldFBhZ2VzLFxuICAoYm9va21hcmtOb2RlcywgZG9jSWQsIHBkZlBvc2l0aW9uLCBwYWdlcykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlTnVtYmVyOiBwZGZQb3NpdGlvbi5wYWdlTnVtYmVyIC0gMSxcbiAgICAgIHhDb29yZGluYXRlOiBwZGZQb3NpdGlvbi5sZWZ0LFxuICAgICAgeUNvb3JkaW5hdGU6ICgocGFnZXNbcGRmUG9zaXRpb24ucGFnZU51bWJlcl0uc3R5bGVzLmhlaWdodClcbiAgICAgICAgLSAocGRmUG9zaXRpb24udG9wICogKHBhZ2VzW3BkZlBvc2l0aW9uLnBhZ2VOdW1iZXJdLnZpZXdwb3J0U2NhbGUpKSlcbiAgICAgICAgLyBwYXJzZUZsb2F0KHBhZ2VzW3BkZlBvc2l0aW9uLnBhZ2VOdW1iZXJdLnNjYWxlUm90YXRpb24uc2NhbGUpLFxuICAgICAgcHJldmlvdXM6IGJvb2ttYXJrTm9kZXMubGVuZ3RoID4gMCA/IGJvb2ttYXJrTm9kZXMuc29ydCgoYSwgYikgPT4gYS5pbmRleCAtIGIuaW5kZXgpW2Jvb2ttYXJrTm9kZXMubGVuZ3RoIC0gMV0uaWQgOiB1bmRlZmluZWQsXG4gICAgICBkb2N1bWVudElkOiBkb2NJZFxuICAgIH07XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya3NQZXJQYWdlID0gY3JlYXRlU2VsZWN0b3IoXG4gIGZyb21Eb2N1bWVudC5nZXRQYWdlcyxcbiAgZ2V0Qm9va21hcmtQYWdlcyxcbiAgKHBhZ2VzLCBwYWdlRW50KSA9PiB7XG4gICAgaWYgKHBhZ2VzICYmIHBhZ2VFbnQpIHtcbiAgICAgIGNvbnN0IGFyciA9IFtdO1xuICAgICAgT2JqZWN0LmtleXMocGFnZXMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgY29uc3QgcGFnZUlkeCA9IE51bWJlcihrZXkpIC0gMTsgLy8gLTEgYXMgdGhlIHRoaXNQYWdlcyBhcnJheSBpcyAwIGluZGV4ZWRcbiAgICAgICAgY29uc3QgdGhpc1BhZ2UgPSBwYWdlRW50W3BhZ2VJZHhdO1xuICAgICAgICBhcnIucHVzaCh7XG4gICAgICAgICAgYm9va21hcms6IHRoaXNQYWdlID8gdGhpc1BhZ2UgOiBbXSxcbiAgICAgICAgICBzdHlsZXM6IHBhZ2VzW2tleV0uc3R5bGVzXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYXJyO1xuICAgIH1cbiAgfVxuKTtcbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmsuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvc2VsZWN0b3JzL2Jvb2ttYXJrLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE9BQU8sS0FBSyxXQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGFBQWEsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEtBQUssWUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FDNUMsV0FBVyxDQUFDLFVBQVUsRUFDdEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUM5QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGtCQUFrQixDQUNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUMvQyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGVBQWUsQ0FDOUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FDNUMsbUJBQW1CLEVBQ25CLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FDOUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FDL0MsZ0JBQWdCLEVBQ2hCLGFBQWEsQ0FBQyxlQUFlLENBQzlCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUMzQyxnQkFBZ0IsRUFDaEIsWUFBWSxDQUFDLGFBQWEsRUFDMUIsWUFBWSxDQUFDLGNBQWMsRUFDM0IsWUFBWSxDQUFDLFFBQVEsRUFDckIsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUMzQyxPQUFPO1FBQ0wsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVLEdBQUcsQ0FBQztRQUN0QyxXQUFXLEVBQUUsV0FBVyxDQUFDLElBQUk7UUFDN0IsV0FBVyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Y0FDdkQsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2NBQ2xFLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDakUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDN0gsVUFBVSxFQUFFLEtBQUs7S0FDbEIsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUMvQyxZQUFZLENBQUMsUUFBUSxFQUNyQixnQkFBZ0IsRUFDaEIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDakIsSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7UUFDckIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDL0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHlDQUF5QztZQUMxRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDUCxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTTthQUMxQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCAqIGFzIGZyb21GZWF0dXJlIGZyb20gJy4uL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Cb29rbWFya3MgZnJvbSAnLi4vcmVkdWNlcnMvYm9va21hcmtzLnJlZHVjZXInO1xuaW1wb3J0IHsgZ2VuZXJhdGVCb29rbWFya05vZGVzIH0gZnJvbSAnLi4vYm9va21hcmtzLXN0b3JlLXV0aWxzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya1N0YXRlID0gY3JlYXRlU2VsZWN0b3IoXG4gIGZyb21GZWF0dXJlLmdldE1WU3RhdGUsXG4gIChzdGF0ZTogZnJvbUZlYXR1cmUuU3RhdGUpID0+IHN0YXRlLmJvb2ttYXJrc1xuKTtcblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrUGFnZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRCb29rbWFya1BhZ2VFbnRcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya0VudGl0aWVzID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEJvb2ttYXJrU3RhdGUsXG4gIGZyb21Cb29rbWFya3MuZ2V0Qm9va21hcmtFbnRzXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtOb2RlcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRCb29rbWFya0VudGl0aWVzLFxuICAoZW50aXRpZXMpID0+IGdlbmVyYXRlQm9va21hcmtOb2RlcyhlbnRpdGllcylcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRFZGl0YWJsZUJvb2ttYXJrID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEJvb2ttYXJrU3RhdGUsXG4gIGZyb21Cb29rbWFya3MuZ2V0RWRpdEJvb2ttYXJrXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtJbmZvID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEJvb2ttYXJrTm9kZXMsXG4gIGZyb21Eb2N1bWVudC5nZXREb2N1bWVudElkLFxuICBmcm9tRG9jdW1lbnQuZ2V0UGRmUG9zaXRpb24sXG4gIGZyb21Eb2N1bWVudC5nZXRQYWdlcyxcbiAgKGJvb2ttYXJrTm9kZXMsIGRvY0lkLCBwZGZQb3NpdGlvbiwgcGFnZXMpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZU51bWJlcjogcGRmUG9zaXRpb24ucGFnZU51bWJlciAtIDEsXG4gICAgICB4Q29vcmRpbmF0ZTogcGRmUG9zaXRpb24ubGVmdCxcbiAgICAgIHlDb29yZGluYXRlOiAoKHBhZ2VzW3BkZlBvc2l0aW9uLnBhZ2VOdW1iZXJdLnN0eWxlcy5oZWlnaHQpXG4gICAgICAgIC0gKHBkZlBvc2l0aW9uLnRvcCAqIChwYWdlc1twZGZQb3NpdGlvbi5wYWdlTnVtYmVyXS52aWV3cG9ydFNjYWxlKSkpXG4gICAgICAgIC8gcGFyc2VGbG9hdChwYWdlc1twZGZQb3NpdGlvbi5wYWdlTnVtYmVyXS5zY2FsZVJvdGF0aW9uLnNjYWxlKSxcbiAgICAgIHByZXZpb3VzOiBib29rbWFya05vZGVzLmxlbmd0aCA+IDAgPyBib29rbWFya05vZGVzLnNvcnQoKGEsIGIpID0+IGEuaW5kZXggLSBiLmluZGV4KVtib29rbWFya05vZGVzLmxlbmd0aCAtIDFdLmlkIDogdW5kZWZpbmVkLFxuICAgICAgZG9jdW1lbnRJZDogZG9jSWRcbiAgICB9O1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtzUGVyUGFnZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBmcm9tRG9jdW1lbnQuZ2V0UGFnZXMsXG4gIGdldEJvb2ttYXJrUGFnZXMsXG4gIChwYWdlcywgcGFnZUVudCkgPT4ge1xuICAgIGlmIChwYWdlcyAmJiBwYWdlRW50KSB7XG4gICAgICBjb25zdCBhcnIgPSBbXTtcbiAgICAgIE9iamVjdC5rZXlzKHBhZ2VzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2VJZHggPSBOdW1iZXIoa2V5KSAtIDE7IC8vIC0xIGFzIHRoZSB0aGlzUGFnZXMgYXJyYXkgaXMgMCBpbmRleGVkXG4gICAgICAgIGNvbnN0IHRoaXNQYWdlID0gcGFnZUVudFtwYWdlSWR4XTtcbiAgICAgICAgYXJyLnB1c2goe1xuICAgICAgICAgIGJvb2ttYXJrOiB0aGlzUGFnZSA/IHRoaXNQYWdlIDogW10sXG4gICAgICAgICAgc3R5bGVzOiBwYWdlc1trZXldLnN0eWxlc1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG4gIH1cbik7XG4iXX0=
@@ -23,4 +23,4 @@ export const getRedactionsPerPage = createSelector(fromDocument.getPages, getRed
23
23
  return arr;
24
24
  }
25
25
  });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL3NlbGVjdG9ycy9yZWRhY3Rpb24uc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxLQUFLLFdBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssY0FBYyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxZQUFZLE1BQU0sc0JBQXNCLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUM3QyxXQUFXLENBQUMsVUFBVSxFQUN0QixDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFFLEtBQUssQ0FBQyxVQUFVLENBQ2hELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQzdDLGlCQUFpQixFQUNqQixjQUFjLENBQUMsVUFBVSxDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FDdkMsaUJBQWlCLEVBQ2pCLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDcEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLGNBQWMsQ0FDbkQsaUJBQWlCLEVBQ2pCLGNBQWMsQ0FBQyxrQkFBa0IsQ0FDbEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQzNDLGlCQUFpQixFQUNqQixjQUFjLENBQUMsZUFBZSxDQUMvQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUM3QyxlQUFlLEVBQ2YsWUFBWSxDQUFDLGFBQWEsRUFDMUIsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUU7SUFDbEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQ3BDLENBQUMsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxDQUNoRCxZQUFZLENBQUMsUUFBUSxFQUNyQixpQkFBaUIsRUFDakIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDakIsSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ1AsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN0QyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU07YUFDMUIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQztLQUNaO0FBQ0gsQ0FBQyxDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgKiBhcyBmcm9tRmVhdHVyZSBmcm9tICcuLi9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tUmVkYWN0aW9ucyBmcm9tICcuLi9yZWR1Y2Vycy9yZWRhY3Rpb24ucmVkdWNlcic7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnQgZnJvbSAnLi9kb2N1bWVudC5zZWxlY3RvcnMnO1xuXG5leHBvcnQgY29uc3QgZ2V0UmVkYWN0aW9uU3RhdGUgPSBjcmVhdGVTZWxlY3RvcihcbiAgZnJvbUZlYXR1cmUuZ2V0TVZTdGF0ZSxcbiAgKHN0YXRlOiBmcm9tRmVhdHVyZS5TdGF0ZSkgPT4gIHN0YXRlLnJlZGFjdGlvbnNcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRSZWRhY3Rpb25QYWdlcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRSZWRhY3Rpb25TdGF0ZSxcbiAgZnJvbVJlZGFjdGlvbnMuZ2V0UGFnZUVudFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldFJlZGFjdGlvblN0YXRlLFxuICBmcm9tUmVkYWN0aW9ucy5nZXRTZWxlY3RlZFJlZGFjdGlvblxuKTtcblxuZXhwb3J0IGNvbnN0IGdldFJlZGFjdGVkRG9jdW1lbnRJbmZvID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldFJlZGFjdGlvblN0YXRlLFxuICBmcm9tUmVkYWN0aW9ucy5nZXRSZWRhY3RlZERvY0luZm9cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRSZWRhY3Rpb25FbnQgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0UmVkYWN0aW9uU3RhdGUsXG4gIGZyb21SZWRhY3Rpb25zLmdldFJlZGFjdGlvbkVudFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldFJlZGFjdGlvbkFycmF5ID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldFJlZGFjdGlvbkVudCxcbiAgZnJvbURvY3VtZW50LmdldERvY3VtZW50SWQsXG4gIChlbnQsIGRvY3VtZW50SWQpID0+IHtcbiAgICBjb25zdCByZWRhY3Rpb25zID0gT2JqZWN0LmtleXMoZW50KS5tYXAoa2V5ID0+IGVudFtrZXldKTtcbiAgICByZXR1cm4geyByZWRhY3Rpb25zLCBkb2N1bWVudElkIH07XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRSZWRhY3Rpb25zUGVyUGFnZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBmcm9tRG9jdW1lbnQuZ2V0UGFnZXMsXG4gIGdldFJlZGFjdGlvblBhZ2VzLFxuICAocGFnZXMsIHBhZ2VFbnQpID0+IHtcbiAgICBpZiAocGFnZXMgJiYgcGFnZUVudCkge1xuICAgICAgY29uc3QgYXJyID0gW107XG4gICAgICBPYmplY3Qua2V5cyhwYWdlcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBhcnIucHVzaCh7XG4gICAgICAgICAgYW5ubzogcGFnZUVudFtrZXldID8gcGFnZUVudFtrZXldIDogW10sXG4gICAgICAgICAgc3R5bGVzOiBwYWdlc1trZXldLnN0eWxlc1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYXJyO1xuICAgIH1cbiAgfVxuKTtcblxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL3NlbGVjdG9ycy9yZWRhY3Rpb24uc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDM0MsT0FBTyxLQUFLLFdBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssY0FBYyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxZQUFZLE1BQU0sc0JBQXNCLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUM3QyxXQUFXLENBQUMsVUFBVSxFQUN0QixDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFFLEtBQUssQ0FBQyxVQUFVLENBQ2hELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQzdDLGlCQUFpQixFQUNqQixjQUFjLENBQUMsVUFBVSxDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FDdkMsaUJBQWlCLEVBQ2pCLGNBQWMsQ0FBQyxvQkFBb0IsQ0FDcEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLGNBQWMsQ0FDbkQsaUJBQWlCLEVBQ2pCLGNBQWMsQ0FBQyxrQkFBa0IsQ0FDbEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQzNDLGlCQUFpQixFQUNqQixjQUFjLENBQUMsZUFBZSxDQUMvQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUM3QyxlQUFlLEVBQ2YsWUFBWSxDQUFDLGFBQWEsRUFDMUIsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUU7SUFDbEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQ3BDLENBQUMsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxDQUNoRCxZQUFZLENBQUMsUUFBUSxFQUNyQixpQkFBaUIsRUFDakIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDakIsSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7UUFDckIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDL0IsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDUCxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3RDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTTthQUMxQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgZnJvbUZlYXR1cmUgZnJvbSAnLi4vcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0ICogYXMgZnJvbVJlZGFjdGlvbnMgZnJvbSAnLi4vcmVkdWNlcnMvcmVkYWN0aW9uLnJlZHVjZXInO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50IGZyb20gJy4vZG9jdW1lbnQuc2VsZWN0b3JzJztcblxuZXhwb3J0IGNvbnN0IGdldFJlZGFjdGlvblN0YXRlID0gY3JlYXRlU2VsZWN0b3IoXG4gIGZyb21GZWF0dXJlLmdldE1WU3RhdGUsXG4gIChzdGF0ZTogZnJvbUZlYXR1cmUuU3RhdGUpID0+ICBzdGF0ZS5yZWRhY3Rpb25zXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0UmVkYWN0aW9uUGFnZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0UmVkYWN0aW9uU3RhdGUsXG4gIGZyb21SZWRhY3Rpb25zLmdldFBhZ2VFbnRcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRSZWRhY3Rpb25TdGF0ZSxcbiAgZnJvbVJlZGFjdGlvbnMuZ2V0U2VsZWN0ZWRSZWRhY3Rpb25cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRSZWRhY3RlZERvY3VtZW50SW5mbyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRSZWRhY3Rpb25TdGF0ZSxcbiAgZnJvbVJlZGFjdGlvbnMuZ2V0UmVkYWN0ZWREb2NJbmZvXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0UmVkYWN0aW9uRW50ID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldFJlZGFjdGlvblN0YXRlLFxuICBmcm9tUmVkYWN0aW9ucy5nZXRSZWRhY3Rpb25FbnRcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRSZWRhY3Rpb25BcnJheSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRSZWRhY3Rpb25FbnQsXG4gIGZyb21Eb2N1bWVudC5nZXREb2N1bWVudElkLFxuICAoZW50LCBkb2N1bWVudElkKSA9PiB7XG4gICAgY29uc3QgcmVkYWN0aW9ucyA9IE9iamVjdC5rZXlzKGVudCkubWFwKGtleSA9PiBlbnRba2V5XSk7XG4gICAgcmV0dXJuIHsgcmVkYWN0aW9ucywgZG9jdW1lbnRJZCB9O1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0UmVkYWN0aW9uc1BlclBhZ2UgPSBjcmVhdGVTZWxlY3RvcihcbiAgZnJvbURvY3VtZW50LmdldFBhZ2VzLFxuICBnZXRSZWRhY3Rpb25QYWdlcyxcbiAgKHBhZ2VzLCBwYWdlRW50KSA9PiB7XG4gICAgaWYgKHBhZ2VzICYmIHBhZ2VFbnQpIHtcbiAgICAgIGNvbnN0IGFyciA9IFtdO1xuICAgICAgT2JqZWN0LmtleXMocGFnZXMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgYXJyLnB1c2goe1xuICAgICAgICAgIGFubm86IHBhZ2VFbnRba2V5XSA/IHBhZ2VFbnRba2V5XSA6IFtdLFxuICAgICAgICAgIHN0eWxlczogcGFnZXNba2V5XS5zdHlsZXNcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG4gIH1cbik7XG5cbiJdfQ==
@@ -0,0 +1,131 @@
1
+ import moment from 'moment-timezone';
2
+ /*
3
+ @dynamic
4
+ marking class as dynamic to stop compiler throwing error for lambda in static function
5
+ see https://github.com/angular/angular/issues/19698#issuecomment-338340211
6
+ */
7
+ export class StoreUtils {
8
+ static groupByKeyEntities(annotations, key) {
9
+ return annotations.reduce((h, obj) => Object.assign(h, { [obj[key]]: (h[obj[key]] || []).concat(obj) }), {});
10
+ }
11
+ static generateCommentsEntities(annotations) {
12
+ return annotations.reduce((commentEntities, annotation) => {
13
+ if (annotation.comments.length) {
14
+ const comment = {
15
+ ...annotation.comments[0] || '',
16
+ tags: [...annotation.tags || []]
17
+ };
18
+ return {
19
+ ...commentEntities,
20
+ [annotation.id]: comment
21
+ };
22
+ }
23
+ return {
24
+ ...commentEntities
25
+ };
26
+ }, {});
27
+ }
28
+ static genTagNameEntities(annotations) {
29
+ const filterAnnoWithoutCommentsTags = annotations.filter(a => (a.comments.length && a.tags.length));
30
+ const allTags = filterAnnoWithoutCommentsTags.map(anno => this.groupByKeyEntities(anno.tags, 'name'));
31
+ const groupedByName = allTags.reduce((tagEntitiy, tagItem) => {
32
+ return {
33
+ ...tagEntitiy,
34
+ ...tagItem
35
+ };
36
+ }, {});
37
+ return this.genNameEnt(annotations, groupedByName);
38
+ }
39
+ static genNameEnt(annos, groupedByName) {
40
+ return Object.keys(groupedByName).reduce((tagNameEnt, key) => {
41
+ const readyAnno = annos.filter(anno => anno.tags.find(tag => tag.name === key))
42
+ .map(anno => anno.id)
43
+ .reduce((obj, anno) => ({ ...obj, [anno]: anno }), {});
44
+ return {
45
+ ...tagNameEnt,
46
+ [key]: readyAnno
47
+ };
48
+ }, {});
49
+ }
50
+ static generateAnnotationEntities(anno) {
51
+ return anno.reduce((annoEntities, annotation) => {
52
+ const annot = {
53
+ ...annotation,
54
+ positionTop: annotation.rectangles[0].y // todo remove this
55
+ };
56
+ return {
57
+ ...annoEntities,
58
+ [annotation.id]: annot
59
+ };
60
+ }, {});
61
+ }
62
+ static generateRedactionEntities(redactions) {
63
+ return redactions.reduce((redactEntities, redaction) => {
64
+ return {
65
+ ...redactEntities,
66
+ [redaction.redactionId]: redaction
67
+ };
68
+ }, {});
69
+ }
70
+ static resetCommentEntSelect(ent) {
71
+ return Object.keys(ent).reduce((object, key) => {
72
+ object[key] = {
73
+ ...ent[key],
74
+ editable: false,
75
+ selected: false
76
+ };
77
+ return object;
78
+ }, {});
79
+ }
80
+ static filterCommentsSummary(comments, filters) {
81
+ if (Object.keys(filters).length) {
82
+ const tagFilterApplied = Object.keys(filters.tagFilters)
83
+ .filter(key => filters.tagFilters[key] === true).length;
84
+ const dateFilterApplied = (filters.dateRangeFrom || filters.dateRangeTo);
85
+ const filteredComments = comments.filter(comment => {
86
+ let hasTagFilter = false;
87
+ let hasDateFilter = false;
88
+ // check tags
89
+ if (filters.hasOwnProperty('tagFilters')) {
90
+ Object.keys(filters.tagFilters).forEach(filter => {
91
+ const label = filters.tagFilters[filter];
92
+ if (label) {
93
+ return comment.tags.forEach(tag => {
94
+ if (tag.name === filter && !hasTagFilter) {
95
+ hasTagFilter = true;
96
+ }
97
+ });
98
+ }
99
+ });
100
+ }
101
+ // check for dates
102
+ if (dateFilterApplied) {
103
+ const commentDate = moment(comment.lastModifiedDate);
104
+ const dateFrom = filters.dateRangeFrom !== null ? moment(filters.dateRangeFrom) : undefined;
105
+ const dateTo = filters.dateRangeTo !== null ? moment(filters.dateRangeTo) : undefined;
106
+ if (dateTo && dateFrom) {
107
+ if (commentDate > dateFrom && commentDate < dateTo) {
108
+ hasDateFilter = true;
109
+ }
110
+ }
111
+ if (dateTo && !dateFrom) {
112
+ if (commentDate <= dateTo) {
113
+ hasDateFilter = true;
114
+ }
115
+ }
116
+ if (dateFrom && !dateTo) {
117
+ if (commentDate > dateFrom) {
118
+ hasDateFilter = true;
119
+ }
120
+ }
121
+ }
122
+ return (hasTagFilter || hasDateFilter);
123
+ });
124
+ return (tagFilterApplied || dateFilterApplied) ? filteredComments : comments;
125
+ }
126
+ else {
127
+ return comments;
128
+ }
129
+ }
130
+ }
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9zdG9yZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUtyQzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFFckIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxHQUFHO1FBQ3hDLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsTUFBTSxDQUFDLHdCQUF3QixDQUFDLFdBQVc7UUFDeEMsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUN4QixDQUFDLGVBQTZDLEVBQUUsVUFBc0IsRUFBRSxFQUFFO1lBQ3hFLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxPQUFPLEdBQUc7b0JBQ2QsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7b0JBQy9CLElBQUksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7aUJBQ2pDLENBQUM7Z0JBQ0YsT0FBTztvQkFDTCxHQUFHLGVBQWU7b0JBQ2xCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU87aUJBQ3pCLENBQUM7WUFDSixDQUFDO1lB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M0IsYUFBYSxHQUFHLElBQUksQ0FBQzt3QkFDdkIsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7Z0JBRUQsT0FBTyxDQUFDLFlBQVksSUFBSSxhQUFhLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQy9FLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFubm90YXRpb24gfSBmcm9tICcuLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXZpZXcvYW5ub3RhdGlvbi5tb2RlbCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBSZWRhY3Rpb24gfSBmcm9tICcuLi9yZWRhY3Rpb24vc2VydmljZXMvcmVkYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlcnMgfSBmcm9tICcuL21vZGVscy9maWx0ZXJzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tZW50IH0gZnJvbSAnLi4vYW5ub3RhdGlvbnMvY29tbWVudC1zZXQvY29tbWVudC9jb21tZW50Lm1vZGVsJztcblxuLypcbiAgQGR5bmFtaWNcbiAgbWFya2luZyBjbGFzcyBhcyBkeW5hbWljIHRvIHN0b3AgY29tcGlsZXIgdGhyb3dpbmcgZXJyb3IgZm9yIGxhbWJkYSBpbiBzdGF0aWMgZnVuY3Rpb25cbiAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE5Njk4I2lzc3VlY29tbWVudC0zMzgzNDAyMTFcbiAqL1xuZXhwb3J0IGNsYXNzIFN0b3JlVXRpbHMge1xuXG4gIHN0YXRpYyBncm91cEJ5S2V5RW50aXRpZXMoYW5ub3RhdGlvbnMsIGtleSk6IHtbaWQ6IHN0cmluZ106IGFueVtdfSB7XG4gICAgcmV0dXJuIGFubm90YXRpb25zLnJlZHVjZSgoaCwgb2JqKSA9PlxuICAgICAgT2JqZWN0LmFzc2lnbihoLCB7IFtvYmpba2V5XV06ICggaFtvYmpba2V5XV0gfHwgW10gKS5jb25jYXQob2JqKSB9KSwge30pO1xuICB9XG5cbiAgc3RhdGljIGdlbmVyYXRlQ29tbWVudHNFbnRpdGllcyhhbm5vdGF0aW9ucyk6IHtbaWQ6IHN0cmluZ106IENvbW1lbnR9IHtcbiAgICAgcmV0dXJuIGFubm90YXRpb25zLnJlZHVjZShcbiAgICAgIChjb21tZW50RW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBBbm5vdGF0aW9uIH0sIGFubm90YXRpb246IEFubm90YXRpb24pID0+IHtcbiAgICAgICAgaWYgKGFubm90YXRpb24uY29tbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgY29tbWVudCA9IHtcbiAgICAgICAgICAgIC4uLmFubm90YXRpb24uY29tbWVudHNbMF0gfHwgJycsXG4gICAgICAgICAgICB0YWdzOiBbLi4uYW5ub3RhdGlvbi50YWdzIHx8IFtdXVxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNvbW1lbnRFbnRpdGllcyxcbiAgICAgICAgICAgIFthbm5vdGF0aW9uLmlkXTogY29tbWVudFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5jb21tZW50RW50aXRpZXNcbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZW5UYWdOYW1lRW50aXRpZXMoYW5ub3RhdGlvbnMpIHtcbiAgICBjb25zdCBmaWx0ZXJBbm5vV2l0aG91dENvbW1lbnRzVGFncyA9IGFubm90YXRpb25zLmZpbHRlcihhID0+IChhLmNvbW1lbnRzLmxlbmd0aCAmJiBhLnRhZ3MubGVuZ3RoKSk7XG4gICAgY29uc3QgYWxsVGFncyA9IGZpbHRlckFubm9XaXRob3V0Q29tbWVudHNUYWdzLm1hcChhbm5vID0+IHRoaXMuZ3JvdXBCeUtleUVudGl0aWVzKGFubm8udGFncywgJ25hbWUnKSk7XG4gICAgY29uc3QgZ3JvdXBlZEJ5TmFtZSA9IGFsbFRhZ3MucmVkdWNlKFxuICAgICAgKHRhZ0VudGl0aXk6IHsgW2lkOiBzdHJpbmddOiBBbm5vdGF0aW9uIH0sIHRhZ0l0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50YWdFbnRpdGl5LFxuICAgICAgICAgIC4uLnRhZ0l0ZW1cbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcblxuICAgIHJldHVybiB0aGlzLmdlbk5hbWVFbnQoYW5ub3RhdGlvbnMsIGdyb3VwZWRCeU5hbWUpO1xuICB9XG5cbiAgc3RhdGljIGdlbk5hbWVFbnQoYW5ub3MsIGdyb3VwZWRCeU5hbWUpIHtcbiAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGdyb3VwZWRCeU5hbWUpLnJlZHVjZShcbiAgICAgICh0YWdOYW1lRW50LCBrZXkpID0+IHtcbiAgICAgICAgY29uc3QgcmVhZHlBbm5vID0gYW5ub3MuZmlsdGVyKGFubm8gPT4gYW5uby50YWdzLmZpbmQodGFnID0+IHRhZy5uYW1lID09PSBrZXkpKVxuICAgICAgICAgIC5tYXAoYW5ubyA9PiBhbm5vLmlkKVxuICAgICAgICAgIC5yZWR1Y2UoKG9iajoge1tpZDogc3RyaW5nXTogc3RyaW5nfSwgYW5ubzogc3RyaW5nKSA9PiAoeyAuLi5vYmosIFthbm5vXTogYW5ubyB9KSwge30pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udGFnTmFtZUVudCxcbiAgICAgICAgICBba2V5XTogcmVhZHlBbm5vXG4gICAgICAgIH07XG4gICAgICB9LCB7fSk7XG5cbiAgfVxuXG4gIHN0YXRpYyBnZW5lcmF0ZUFubm90YXRpb25FbnRpdGllcyhhbm5vKToge1tpZDogc3RyaW5nXTogQW5ub3RhdGlvbn0ge1xuICAgIHJldHVybiBhbm5vLnJlZHVjZShcbiAgICAgIChhbm5vRW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBBbm5vdGF0aW9uIH0sIGFubm90YXRpb246IEFubm90YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgYW5ub3QgPSB7XG4gICAgICAgICAgLi4uYW5ub3RhdGlvbixcbiAgICAgICAgICBwb3NpdGlvblRvcDogYW5ub3RhdGlvbi5yZWN0YW5nbGVzWzBdLnkgLy8gdG9kbyByZW1vdmUgdGhpc1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmFubm9FbnRpdGllcyxcbiAgICAgICAgICBbYW5ub3RhdGlvbi5pZF06IGFubm90XG4gICAgICAgIH07XG4gICAgICB9LCB7fSk7XG4gIH1cblxuICBzdGF0aWMgZ2VuZXJhdGVSZWRhY3Rpb25FbnRpdGllcyhyZWRhY3Rpb25zOiBSZWRhY3Rpb25bXSk6IHsgW2lkOiBzdHJpbmddOiBSZWRhY3Rpb24gfSB7XG4gICAgcmV0dXJuIHJlZGFjdGlvbnMucmVkdWNlKFxuICAgICAgKHJlZGFjdEVudGl0aWVzOiB7IFtpZDogc3RyaW5nXTogUmVkYWN0aW9uIH0sIHJlZGFjdGlvbjogUmVkYWN0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucmVkYWN0RW50aXRpZXMsXG4gICAgICAgICAgW3JlZGFjdGlvbi5yZWRhY3Rpb25JZF06IHJlZGFjdGlvblxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICB9XG5cbiAgc3RhdGljIHJlc2V0Q29tbWVudEVudFNlbGVjdChlbnQ6IHsgW2lkOiBzdHJpbmddOiBDb21tZW50IH0pIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZW50KS5yZWR1Y2UoKG9iamVjdCwga2V5KSA9PiB7XG4gICAgICBvYmplY3Rba2V5XSA9IHtcbiAgICAgICAgLi4uZW50W2tleV0sXG4gICAgICAgIGVkaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlXG4gICAgICB9O1xuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9LCB7fSk7XG4gIH1cblxuICBzdGF0aWMgZmlsdGVyQ29tbWVudHNTdW1tYXJ5KGNvbW1lbnRzOiBBcnJheTxDb21tZW50PiwgZmlsdGVyczogRmlsdGVycykge1xuICAgIGlmIChPYmplY3Qua2V5cyhmaWx0ZXJzKS5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHRhZ0ZpbHRlckFwcGxpZWQgPSBPYmplY3Qua2V5cyhmaWx0ZXJzLnRhZ0ZpbHRlcnMpXG4gICAgICAgIC5maWx0ZXIoa2V5ID0+IGZpbHRlcnMudGFnRmlsdGVyc1trZXldID09PSB0cnVlKS5sZW5ndGg7XG4gICAgICBjb25zdCBkYXRlRmlsdGVyQXBwbGllZCA9IChmaWx0ZXJzLmRhdGVSYW5nZUZyb20gfHwgZmlsdGVycy5kYXRlUmFuZ2VUbyk7XG4gICAgICBjb25zdCBmaWx0ZXJlZENvbW1lbnRzID0gY29tbWVudHMuZmlsdGVyKGNvbW1lbnQgPT4ge1xuICAgICAgICBsZXQgaGFzVGFnRmlsdGVyID0gZmFsc2U7XG4gICAgICAgIGxldCBoYXNEYXRlRmlsdGVyID0gZmFsc2U7XG4gICAgICAgIC8vIGNoZWNrIHRhZ3NcbiAgICAgICAgaWYgKGZpbHRlcnMuaGFzT3duUHJvcGVydHkoJ3RhZ0ZpbHRlcnMnKSkge1xuICAgICAgICAgIE9iamVjdC5rZXlzKGZpbHRlcnMudGFnRmlsdGVycykuZm9yRWFjaChmaWx0ZXIgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBmaWx0ZXJzLnRhZ0ZpbHRlcnNbZmlsdGVyXTtcbiAgICAgICAgICAgIGlmIChsYWJlbCkge1xuICAgICAgICAgICAgICByZXR1cm4gY29tbWVudC50YWdzLmZvckVhY2godGFnID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGFnLm5hbWUgPT09IGZpbHRlciAmJiAhaGFzVGFnRmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICBoYXNUYWdGaWx0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9fSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2hlY2sgZm9yIGRhdGVzXG4gICAgICAgIGlmIChkYXRlRmlsdGVyQXBwbGllZCkge1xuICAgICAgICAgIGNvbnN0IGNvbW1lbnREYXRlID0gbW9tZW50KGNvbW1lbnQubGFzdE1vZGlmaWVkRGF0ZSk7XG4gICAgICAgICAgY29uc3QgZGF0ZUZyb20gPSAgZmlsdGVycy5kYXRlUmFuZ2VGcm9tICE9PSBudWxsID8gbW9tZW50KGZpbHRlcnMuZGF0ZVJhbmdlRnJvbSkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgY29uc3QgZGF0ZVRvID0gZmlsdGVycy5kYXRlUmFuZ2VUbyAhPT0gbnVsbCA/IG1vbWVudChmaWx0ZXJzLmRhdGVSYW5nZVRvKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgIGlmIChkYXRlVG8gJiYgZGF0ZUZyb20pIHtcbiAgICAgICAgICAgIGlmIChjb21tZW50RGF0ZSA+IGRhdGVGcm9tICYmIGNvbW1lbnREYXRlIDwgZGF0ZVRvKSB7XG4gICAgICAgICAgICAgIGhhc0RhdGVGaWx0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZGF0ZVRvICYmICFkYXRlRnJvbSkge1xuICAgICAgICAgICAgaWYgKGNvbW1lbnREYXRlIDw9IGRhdGVUbykge1xuICAgICAgICAgICAgICBoYXNEYXRlRmlsdGVyID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRhdGVGcm9tICYmICFkYXRlVG8pIHtcbiAgICAgICAgICAgIGlmIChjb21tZW50RGF0ZSA+IGRhdGVGcm9tKSB7XG4gICAgICAgICAgICAgIGhhc0RhdGVGaWx0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoaGFzVGFnRmlsdGVyIHx8IGhhc0RhdGVGaWx0ZXIpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gKHRhZ0ZpbHRlckFwcGxpZWQgfHwgZGF0ZUZpbHRlckFwcGxpZWQpID8gZmlsdGVyZWRDb21tZW50cyA6IGNvbW1lbnRzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY29tbWVudHM7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { Component } from '@angular/core';
2
+ import { SearchType } from '../toolbar-event.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../toolbar-event.service";
5
+ import * as i2 from "../toolbar-button-visibility.service";
6
+ import * as i3 from "@angular/common";
7
+ export class HighlightToolbarComponent {
8
+ constructor(toolbarEventService, toolbarButtons) {
9
+ this.toolbarEventService = toolbarEventService;
10
+ this.toolbarButtons = toolbarButtons;
11
+ this.subscriptions = [];
12
+ }
13
+ ngOnInit() {
14
+ this.subscriptions.push(this.toolbarEventService.redactAllInProgressSubject.subscribe(inprogress => {
15
+ this.redactionAllInProgress = inprogress;
16
+ }));
17
+ }
18
+ onAllSearch() {
19
+ this.toolbarEventService.openRedactionSearch.next({ modeType: SearchType.Highlight, isOpen: true });
20
+ }
21
+ onHighlight() {
22
+ this.toolbarEventService.toggleHighlightMode();
23
+ }
24
+ onClickDrawToggle() {
25
+ this.toolbarEventService.toggleDrawMode();
26
+ }
27
+ onClose() {
28
+ this.toolbarEventService.highlightToolbarSubject.next(false);
29
+ this.toolbarEventService.highlightModeSubject.next(false);
30
+ this.toolbarEventService.openRedactionSearch.next({ modeType: SearchType.Highlight, isOpen: false });
31
+ }
32
+ ngOnDestroy() {
33
+ for (const subscription of this.subscriptions) {
34
+ subscription.unsubscribe();
35
+ }
36
+ }
37
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: HighlightToolbarComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.ToolbarButtonVisibilityService }], target: i0.ɵɵFactoryTarget.Component }); }
38
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: HighlightToolbarComponent, selector: "mv-highlight-toolbar", ngImport: i0, template: "<div class=\"redaction\">\n <label class=\"govuk-label redaction-title\" data-l10n-id=\"redaction_options\"\n >Highlight options</label\n >\n\n <button\n id=\"mvDrawBtn\"\n #mvDrawBtn\n class=\"mv-button mv-toolbar__menu-button--draw\"\n title=\"Draw a box\"\n [class.toggled]=\"toolbarEventService.drawModeSubject | async\"\n aria-pressed=\"false\"\n data-l10n-id=\"mvDrawBtn\"\n (click)=\"onClickDrawToggle()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"draw_label\">Draw a box</span>\n </button>\n\n <button\n id=\"highlightTextBtn\"\n class=\"mv-button mv-toolbar__menu-button--highlight\"\n title=\"Highlight text\"\n data-l10n-id=\"highlightTextBtn\"\n (click)=\"onHighlight()\"\n [class.toggled]=\"toolbarEventService.highlightModeSubject | async\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"highlightTextBtn_label\">Highlight text</span>\n </button>\n\n <button\n id=\"mvHighlightFromSearchBtn\"\n title=\"From search\"\n data-l10n-id=\"fromSearchButton\"\n class=\"mv-button redaction-button--search\"\n (click)=\"onAllSearch()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span style=\"width: 5rem\" data-l10n-id=\"fromSearchButton_label\"\n >From search</span\n >\n </button>\n\n <button\n id=\"mvCloseBtn\"\n #mvCloseBtn\n class=\"mv-button redaction-button--close\"\n title=\"Close Redaction\"\n data-l10n-id=\"mvRedactBtn\"\n (click)=\"onClose()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"Close Redaction\">Close Highlight</span>\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: HighlightToolbarComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'mv-highlight-toolbar', template: "<div class=\"redaction\">\n <label class=\"govuk-label redaction-title\" data-l10n-id=\"redaction_options\"\n >Highlight options</label\n >\n\n <button\n id=\"mvDrawBtn\"\n #mvDrawBtn\n class=\"mv-button mv-toolbar__menu-button--draw\"\n title=\"Draw a box\"\n [class.toggled]=\"toolbarEventService.drawModeSubject | async\"\n aria-pressed=\"false\"\n data-l10n-id=\"mvDrawBtn\"\n (click)=\"onClickDrawToggle()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"draw_label\">Draw a box</span>\n </button>\n\n <button\n id=\"highlightTextBtn\"\n class=\"mv-button mv-toolbar__menu-button--highlight\"\n title=\"Highlight text\"\n data-l10n-id=\"highlightTextBtn\"\n (click)=\"onHighlight()\"\n [class.toggled]=\"toolbarEventService.highlightModeSubject | async\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"highlightTextBtn_label\">Highlight text</span>\n </button>\n\n <button\n id=\"mvHighlightFromSearchBtn\"\n title=\"From search\"\n data-l10n-id=\"fromSearchButton\"\n class=\"mv-button redaction-button--search\"\n (click)=\"onAllSearch()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span style=\"width: 5rem\" data-l10n-id=\"fromSearchButton_label\"\n >From search</span\n >\n </button>\n\n <button\n id=\"mvCloseBtn\"\n #mvCloseBtn\n class=\"mv-button redaction-button--close\"\n title=\"Close Redaction\"\n data-l10n-id=\"mvRedactBtn\"\n (click)=\"onClose()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"Close Redaction\">Close Highlight</span>\n </button>\n</div>\n" }]
43
+ }], ctorParameters: () => [{ type: i1.ToolbarEventService }, { type: i2.ToolbarButtonVisibilityService }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdG9vbGJhci9oaWdobGlnaHQtdG9vbGJhci9oaWdobGlnaHQtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi90b29sYmFyL2hpZ2hsaWdodC10b29sYmFyL2hpZ2hsaWdodC10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBYyxVQUFVLEVBQXVCLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBWXZGLE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsWUFBNEIsbUJBQXdDLEVBQ2xELGNBQThDO1FBRHBDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDbEQsbUJBQWMsR0FBZCxjQUFjLENBQWdDO1FBSnhELGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUl5QixDQUFDO0lBRXJFLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pHLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWdCLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsbUJBQW1CLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWdCLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssTUFBTSxZQUFZLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzlDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztpSUFwQ1UseUJBQXlCO3FIQUF6Qix5QkFBeUIsNERDYnRDLG9vREF3REE7OzJGRDNDYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VhcmNoTW9kZSwgU2VhcmNoVHlwZSwgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi90b29sYmFyLWJ1dHRvbi12aXNpYmlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCB7IFN0b3JlLCBzZWxlY3QgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIGZyb21SZWRhY3RTZWxlY3RvcnMgZnJvbSAnLi4vLi4vc3RvcmUvc2VsZWN0b3JzL3JlZGFjdGlvbi5zZWxlY3RvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1oaWdobGlnaHQtdG9vbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oaWdobGlnaHQtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hpZ2hsaWdodC10b29sYmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSGlnaGxpZ2h0VG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHJlZGFjdGlvbkFsbEluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHRvb2xiYXJFdmVudFNlcnZpY2U6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJCdXR0b25zOiBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMudG9vbGJhckV2ZW50U2VydmljZS5yZWRhY3RBbGxJblByb2dyZXNzU3ViamVjdC5zdWJzY3JpYmUoaW5wcm9ncmVzcyA9PiB7XG4gICAgICB0aGlzLnJlZGFjdGlvbkFsbEluUHJvZ3Jlc3MgPSBpbnByb2dyZXNzO1xuICAgIH0pKTtcbiAgfVxuXG4gIG9uQWxsU2VhcmNoKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50U2VydmljZS5vcGVuUmVkYWN0aW9uU2VhcmNoLm5leHQoeyBtb2RlVHlwZTogU2VhcmNoVHlwZS5IaWdobGlnaHQsIGlzT3BlbjogdHJ1ZSB9IGFzIFNlYXJjaE1vZGUpO1xuICB9XG5cbiAgb25IaWdobGlnaHQoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRTZXJ2aWNlLnRvZ2dsZUhpZ2hsaWdodE1vZGUoKTtcbiAgfVxuXG4gIG9uQ2xpY2tEcmF3VG9nZ2xlKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50U2VydmljZS50b2dnbGVEcmF3TW9kZSgpO1xuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudFNlcnZpY2UuaGlnaGxpZ2h0VG9vbGJhclN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgdGhpcy50b29sYmFyRXZlbnRTZXJ2aWNlLmhpZ2hsaWdodE1vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIHRoaXMudG9vbGJhckV2ZW50U2VydmljZS5vcGVuUmVkYWN0aW9uU2VhcmNoLm5leHQoeyBtb2RlVHlwZTogU2VhcmNoVHlwZS5IaWdobGlnaHQsIGlzT3BlbjogZmFsc2UgfSBhcyBTZWFyY2hNb2RlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWRhY3Rpb25cIj5cbiAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgcmVkYWN0aW9uLXRpdGxlXCIgZGF0YS1sMTBuLWlkPVwicmVkYWN0aW9uX29wdGlvbnNcIlxuICAgID5IaWdobGlnaHQgb3B0aW9uczwvbGFiZWxcbiAgPlxuXG4gIDxidXR0b25cbiAgICBpZD1cIm12RHJhd0J0blwiXG4gICAgI212RHJhd0J0blxuICAgIGNsYXNzPVwibXYtYnV0dG9uIG12LXRvb2xiYXJfX21lbnUtYnV0dG9uLS1kcmF3XCJcbiAgICB0aXRsZT1cIkRyYXcgYSBib3hcIlxuICAgIFtjbGFzcy50b2dnbGVkXT1cInRvb2xiYXJFdmVudFNlcnZpY2UuZHJhd01vZGVTdWJqZWN0IHwgYXN5bmNcIlxuICAgIGFyaWEtcHJlc3NlZD1cImZhbHNlXCJcbiAgICBkYXRhLWwxMG4taWQ9XCJtdkRyYXdCdG5cIlxuICAgIChjbGljayk9XCJvbkNsaWNrRHJhd1RvZ2dsZSgpXCJcbiAgICBbZGlzYWJsZWRdPVwicmVkYWN0aW9uQWxsSW5Qcm9ncmVzc1wiXG4gID5cbiAgICA8c3BhbiBkYXRhLWwxMG4taWQ9XCJkcmF3X2xhYmVsXCI+RHJhdyBhIGJveDwvc3Bhbj5cbiAgPC9idXR0b24+XG5cbiAgPGJ1dHRvblxuICAgIGlkPVwiaGlnaGxpZ2h0VGV4dEJ0blwiXG4gICAgY2xhc3M9XCJtdi1idXR0b24gbXYtdG9vbGJhcl9fbWVudS1idXR0b24tLWhpZ2hsaWdodFwiXG4gICAgdGl0bGU9XCJIaWdobGlnaHQgdGV4dFwiXG4gICAgZGF0YS1sMTBuLWlkPVwiaGlnaGxpZ2h0VGV4dEJ0blwiXG4gICAgKGNsaWNrKT1cIm9uSGlnaGxpZ2h0KClcIlxuICAgIFtjbGFzcy50b2dnbGVkXT1cInRvb2xiYXJFdmVudFNlcnZpY2UuaGlnaGxpZ2h0TW9kZVN1YmplY3QgfCBhc3luY1wiXG4gICAgW2Rpc2FibGVkXT1cInJlZGFjdGlvbkFsbEluUHJvZ3Jlc3NcIlxuICA+XG4gICAgPHNwYW4gZGF0YS1sMTBuLWlkPVwiaGlnaGxpZ2h0VGV4dEJ0bl9sYWJlbFwiPkhpZ2hsaWdodCB0ZXh0PC9zcGFuPlxuICA8L2J1dHRvbj5cblxuICA8YnV0dG9uXG4gICAgaWQ9XCJtdkhpZ2hsaWdodEZyb21TZWFyY2hCdG5cIlxuICAgIHRpdGxlPVwiRnJvbSBzZWFyY2hcIlxuICAgIGRhdGEtbDEwbi1pZD1cImZyb21TZWFyY2hCdXR0b25cIlxuICAgIGNsYXNzPVwibXYtYnV0dG9uIHJlZGFjdGlvbi1idXR0b24tLXNlYXJjaFwiXG4gICAgKGNsaWNrKT1cIm9uQWxsU2VhcmNoKClcIlxuICAgIFtkaXNhYmxlZF09XCJyZWRhY3Rpb25BbGxJblByb2dyZXNzXCJcbiAgPlxuICAgIDxzcGFuIHN0eWxlPVwid2lkdGg6IDVyZW1cIiBkYXRhLWwxMG4taWQ9XCJmcm9tU2VhcmNoQnV0dG9uX2xhYmVsXCJcbiAgICAgID5Gcm9tIHNlYXJjaDwvc3BhblxuICAgID5cbiAgPC9idXR0b24+XG5cbiAgPGJ1dHRvblxuICAgIGlkPVwibXZDbG9zZUJ0blwiXG4gICAgI212Q2xvc2VCdG5cbiAgICBjbGFzcz1cIm12LWJ1dHRvbiByZWRhY3Rpb24tYnV0dG9uLS1jbG9zZVwiXG4gICAgdGl0bGU9XCJDbG9zZSBSZWRhY3Rpb25cIlxuICAgIGRhdGEtbDEwbi1pZD1cIm12UmVkYWN0QnRuXCJcbiAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICBbZGlzYWJsZWRdPVwicmVkYWN0aW9uQWxsSW5Qcm9ncmVzc1wiXG4gID5cbiAgICA8c3BhbiBkYXRhLWwxMG4taWQ9XCJDbG9zZSBSZWRhY3Rpb25cIj5DbG9zZSBIaWdobGlnaHQ8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=