@hmcts/media-viewer 4.0.0 → 4.0.2

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 (235) hide show
  1. package/esm2020/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +116 -0
  2. package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +109 -0
  3. package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +5 -5
  4. package/esm2020/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
  5. package/esm2020/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
  6. package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
  7. package/esm2020/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +118 -0
  8. package/esm2020/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +86 -0
  9. package/{esm2022 → esm2020}/lib/annotations/annotations.module.mjs +61 -61
  10. package/esm2020/lib/annotations/comment-set/comment/comment.component.mjs +177 -0
  11. package/esm2020/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
  12. package/esm2020/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
  13. package/{esm2022 → esm2020}/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +5 -5
  14. package/esm2020/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
  15. package/{esm2022 → esm2020}/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +5 -5
  16. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +54 -0
  17. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +68 -0
  18. package/esm2020/lib/annotations/comment-set/comment-set-render.service.mjs +54 -0
  19. package/esm2020/lib/annotations/comment-set/comment-set.component.mjs +123 -0
  20. package/esm2020/lib/annotations/comments-summary/comments-summary.component.mjs +120 -0
  21. package/{esm2022 → esm2020}/lib/annotations/pipes/date/date.pipe.mjs +4 -4
  22. package/esm2020/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
  23. package/{esm2022 → esm2020}/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +4 -4
  24. package/{esm2022 → esm2020}/lib/annotations/services/annotation-api/annotation-api.service.mjs +5 -5
  25. package/{esm2022 → esm2020}/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +5 -5
  26. package/{esm2022 → esm2020}/lib/annotations/services/tags/tags.services.mjs +5 -5
  27. package/esm2020/lib/annotations/tags/tags.component.mjs +53 -0
  28. package/{esm2022 → esm2020}/lib/bookmark/components/bookmark-icons.component.mjs +5 -5
  29. package/{esm2022 → esm2020}/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +5 -5
  30. package/esm2020/lib/icp/icp-follower.service.mjs +60 -0
  31. package/esm2020/lib/icp/icp-presenter.service.mjs +55 -0
  32. package/esm2020/lib/icp/icp-session-api.service.mjs +21 -0
  33. package/esm2020/lib/icp/icp-update.service.mjs +65 -0
  34. package/{esm2022 → esm2020}/lib/icp/icp.interfaces.mjs +1 -1
  35. package/esm2020/lib/icp/icp.service.mjs +95 -0
  36. package/{esm2022 → esm2020}/lib/icp/participants-list/participants-list.component.mjs +5 -5
  37. package/esm2020/lib/icp/socket.service.mjs +118 -0
  38. package/esm2020/lib/media-viewer.component.mjs +245 -0
  39. package/{esm2022 → esm2020}/lib/media-viewer.module.mjs +55 -55
  40. package/{esm2022 → esm2020}/lib/print.service.mjs +4 -4
  41. package/esm2020/lib/redaction/components/redaction.component.mjs +91 -0
  42. package/{esm2022 → esm2020}/lib/redaction/services/redaction-api.service.mjs +5 -5
  43. package/{esm2022 → esm2020}/lib/shared/gov-uk-date/gov-uk-date.component.mjs +4 -4
  44. package/{esm2022 → esm2020}/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +7 -7
  45. package/{esm2022 → esm2020}/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +6 -6
  46. package/{esm2022 → esm2020}/lib/shared/gov-uk-label/gov-uk-label.component.mjs +7 -7
  47. package/{esm2022 → esm2020}/lib/shared/shared.module.mjs +19 -19
  48. package/esm2020/lib/shared/util/helpers/html-templates.helper.mjs +18 -0
  49. package/{esm2022 → esm2020}/lib/shared/util/services/number.helper.service.mjs +5 -5
  50. package/esm2020/lib/store/actions/icp.actions.mjs +56 -0
  51. package/esm2020/lib/store/bookmarks-store-utils.mjs +49 -0
  52. package/esm2020/lib/store/effects/annotation.effects.mjs +51 -0
  53. package/{esm2022 → esm2020}/lib/store/effects/bookmarks.effects.mjs +5 -5
  54. package/{esm2022 → esm2020}/lib/store/effects/document.effects.mjs +5 -5
  55. package/esm2020/lib/store/effects/icp.effects.mjs +26 -0
  56. package/{esm2022 → esm2020}/lib/store/effects/redaction.effects.mjs +5 -5
  57. package/esm2020/lib/store/reducers/annotations.reducer.mjs +208 -0
  58. package/esm2020/lib/store/reducers/bookmarks.reducer.mjs +116 -0
  59. package/esm2020/lib/store/reducers/document.reducer.mjs +135 -0
  60. package/esm2020/lib/store/reducers/icp.reducer.mjs +56 -0
  61. package/esm2020/lib/store/reducers/redaction.reducer.mjs +116 -0
  62. package/esm2020/lib/store/reducers/tags.reducer.mjs +93 -0
  63. package/esm2020/lib/store/selectors/annotation.selectors.mjs +81 -0
  64. package/{esm2022 → esm2020}/lib/store/selectors/bookmark.selectors.mjs +1 -1
  65. package/{esm2022 → esm2020}/lib/store/selectors/redaction.selectors.mjs +1 -1
  66. package/esm2020/lib/store/store-utils.mjs +131 -0
  67. package/esm2020/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +44 -0
  68. package/{esm2022 → esm2020}/lib/toolbar/icp-event.service.mjs +1 -1
  69. package/{esm2022 → esm2020}/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +5 -5
  70. package/esm2020/lib/toolbar/main-toolbar/main-toolbar.component.mjs +189 -0
  71. package/esm2020/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +236 -0
  72. package/esm2020/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +68 -0
  73. package/esm2020/lib/toolbar/search-bar/search-bar.component.mjs +109 -0
  74. package/esm2020/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
  75. package/esm2020/lib/toolbar/toolbar-event.service.mjs +178 -0
  76. package/{esm2022 → esm2020}/lib/toolbar/toolbar.module.mjs +25 -25
  77. package/esm2020/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +82 -0
  78. package/{esm2022 → esm2020}/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +5 -5
  79. package/esm2020/lib/viewers/grab-n-drag.directive.mjs +57 -0
  80. package/esm2020/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
  81. package/esm2020/lib/viewers/multimedia-player/multimedia-player.component.mjs +59 -0
  82. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +209 -0
  83. package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +5 -5
  84. package/esm2020/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +236 -0
  85. package/esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +352 -0
  86. package/esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
  87. package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +5 -5
  88. package/{esm2022 → esm2020}/lib/viewers/rotation-persist/rotation-api.service.mjs +5 -5
  89. package/esm2020/lib/viewers/rotation-persist/rotation-persist.directive.mjs +61 -0
  90. package/esm2020/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
  91. package/{esm2022 → esm2020}/lib/viewers/viewer-event.service.mjs +5 -5
  92. package/{esm2022 → esm2020}/lib/viewers/viewer-util.service.mjs +5 -5
  93. package/fesm2015/hmcts-media-viewer.mjs +6953 -0
  94. package/fesm2015/hmcts-media-viewer.mjs.map +1 -0
  95. package/{fesm2022 → fesm2020}/hmcts-media-viewer.mjs +461 -451
  96. package/fesm2020/hmcts-media-viewer.mjs.map +1 -0
  97. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +1 -1
  98. package/lib/annotations/annotation-set/annotation-set.component.d.ts +1 -1
  99. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +1 -1
  100. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +1 -1
  101. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +1 -1
  102. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +1 -1
  103. package/lib/annotations/comment-set/comment/comment.component.d.ts +1 -1
  104. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +1 -1
  105. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +1 -1
  106. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +1 -1
  107. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +1 -1
  108. package/lib/annotations/comment-set/comment-set.component.d.ts +1 -1
  109. package/lib/annotations/comments-summary/comments-summary.component.d.ts +1 -1
  110. package/lib/annotations/tags/tags.component.d.ts +1 -1
  111. package/lib/bookmark/components/bookmark-icons.component.d.ts +1 -1
  112. package/lib/icp/icp-session-api.service.d.ts +4 -1
  113. package/lib/icp/icp-session-api.service.d.ts.map +1 -1
  114. package/lib/icp/icp-update.service.d.ts.map +1 -1
  115. package/lib/icp/icp.interfaces.d.ts +1 -0
  116. package/lib/icp/icp.interfaces.d.ts.map +1 -1
  117. package/lib/icp/icp.service.d.ts +1 -0
  118. package/lib/icp/icp.service.d.ts.map +1 -1
  119. package/lib/icp/socket.service.d.ts +6 -6
  120. package/lib/icp/socket.service.d.ts.map +1 -1
  121. package/lib/media-viewer.component.d.ts +2 -1
  122. package/lib/media-viewer.component.d.ts.map +1 -1
  123. package/lib/redaction/components/redaction.component.d.ts +1 -1
  124. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +1 -1
  125. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -1
  126. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -1
  127. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +1 -1
  128. package/lib/store/actions/icp.actions.d.ts +8 -2
  129. package/lib/store/actions/icp.actions.d.ts.map +1 -1
  130. package/lib/store/bookmarks-store-utils.d.ts.map +1 -1
  131. package/lib/store/effects/icp.effects.d.ts.map +1 -1
  132. package/lib/toolbar/icp-event.service.d.ts +4 -4
  133. package/lib/toolbar/icp-event.service.d.ts.map +1 -1
  134. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +1 -1
  135. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +1 -1
  136. package/lib/toolbar/toolbar-event.service.d.ts +6 -6
  137. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
  138. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +1 -1
  139. package/lib/viewers/grab-n-drag.directive.d.ts +1 -1
  140. package/lib/viewers/image-viewer/image-viewer.component.d.ts +1 -1
  141. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +1 -1
  142. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +1 -1
  143. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +1 -1
  144. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +1 -1
  145. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +1 -1
  146. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +1 -1
  147. package/lib/viewers/viewer-event.service.d.ts +1 -1
  148. package/lib/viewers/viewer-event.service.d.ts.map +1 -1
  149. package/package.json +23 -16
  150. package/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +0 -116
  151. package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +0 -109
  152. package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +0 -50
  153. package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +0 -94
  154. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +0 -116
  155. package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +0 -118
  156. package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +0 -86
  157. package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +0 -177
  158. package/esm2022/lib/annotations/comment-set/comment/comment.service.mjs +0 -50
  159. package/esm2022/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +0 -47
  160. package/esm2022/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +0 -91
  161. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +0 -54
  162. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +0 -68
  163. package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +0 -54
  164. package/esm2022/lib/annotations/comment-set/comment-set.component.mjs +0 -123
  165. package/esm2022/lib/annotations/comments-summary/comments-summary.component.mjs +0 -120
  166. package/esm2022/lib/annotations/pipes/filter/filter.pipe.mjs +0 -32
  167. package/esm2022/lib/annotations/tags/tags.component.mjs +0 -53
  168. package/esm2022/lib/icp/icp-follower.service.mjs +0 -60
  169. package/esm2022/lib/icp/icp-presenter.service.mjs +0 -55
  170. package/esm2022/lib/icp/icp-session-api.service.mjs +0 -21
  171. package/esm2022/lib/icp/icp-update.service.mjs +0 -57
  172. package/esm2022/lib/icp/icp.service.mjs +0 -93
  173. package/esm2022/lib/icp/socket.service.mjs +0 -118
  174. package/esm2022/lib/media-viewer.component.mjs +0 -244
  175. package/esm2022/lib/redaction/components/redaction.component.mjs +0 -91
  176. package/esm2022/lib/shared/util/helpers/html-templates.helper.mjs +0 -18
  177. package/esm2022/lib/store/actions/icp.actions.mjs +0 -56
  178. package/esm2022/lib/store/bookmarks-store-utils.mjs +0 -49
  179. package/esm2022/lib/store/effects/annotation.effects.mjs +0 -51
  180. package/esm2022/lib/store/effects/icp.effects.mjs +0 -26
  181. package/esm2022/lib/store/reducers/annotations.reducer.mjs +0 -208
  182. package/esm2022/lib/store/reducers/bookmarks.reducer.mjs +0 -116
  183. package/esm2022/lib/store/reducers/document.reducer.mjs +0 -135
  184. package/esm2022/lib/store/reducers/icp.reducer.mjs +0 -56
  185. package/esm2022/lib/store/reducers/redaction.reducer.mjs +0 -116
  186. package/esm2022/lib/store/reducers/tags.reducer.mjs +0 -93
  187. package/esm2022/lib/store/selectors/annotation.selectors.mjs +0 -81
  188. package/esm2022/lib/store/store-utils.mjs +0 -131
  189. package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +0 -44
  190. package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +0 -189
  191. package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +0 -236
  192. package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +0 -68
  193. package/esm2022/lib/toolbar/search-bar/search-bar.component.mjs +0 -109
  194. package/esm2022/lib/toolbar/toolbar-button-visibility.service.mjs +0 -94
  195. package/esm2022/lib/toolbar/toolbar-event.service.mjs +0 -178
  196. package/esm2022/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +0 -82
  197. package/esm2022/lib/viewers/grab-n-drag.directive.mjs +0 -57
  198. package/esm2022/lib/viewers/image-viewer/image-viewer.component.mjs +0 -166
  199. package/esm2022/lib/viewers/multimedia-player/multimedia-player.component.mjs +0 -59
  200. package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +0 -209
  201. package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +0 -236
  202. package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +0 -352
  203. package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +0 -49
  204. package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +0 -61
  205. package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +0 -49
  206. package/fesm2022/hmcts-media-viewer.mjs.map +0 -1
  207. /package/{esm2022 → esm2020}/hmcts-media-viewer.mjs +0 -0
  208. /package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-set.model.mjs +0 -0
  209. /package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +0 -0
  210. /package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +0 -0
  211. /package/{esm2022 → esm2020}/lib/annotations/comment-set/comment/comment.model.mjs +0 -0
  212. /package/{esm2022 → esm2020}/lib/annotations/models/api-persisted.model.mjs +0 -0
  213. /package/{esm2022 → esm2020}/lib/annotations/models/event-select.model.mjs +0 -0
  214. /package/{esm2022 → esm2020}/lib/annotations/models/tags.model.mjs +0 -0
  215. /package/{esm2022 → esm2020}/lib/annotations/models/user.model.mjs +0 -0
  216. /package/{esm2022 → esm2020}/lib/icp/icp.events.mjs +0 -0
  217. /package/{esm2022 → esm2020}/lib/redaction/services/redaction.model.mjs +0 -0
  218. /package/{esm2022 → esm2020}/lib/store/actions/annotation.actions.mjs +0 -0
  219. /package/{esm2022 → esm2020}/lib/store/actions/bookmark.actions.mjs +0 -0
  220. /package/{esm2022 → esm2020}/lib/store/actions/document.actions.mjs +0 -0
  221. /package/{esm2022 → esm2020}/lib/store/actions/redaction.actions.mjs +0 -0
  222. /package/{esm2022 → esm2020}/lib/store/actions/tag.actions.mjs +0 -0
  223. /package/{esm2022 → esm2020}/lib/store/effects/index.mjs +0 -0
  224. /package/{esm2022 → esm2020}/lib/store/models/bookmarks.interface.mjs +0 -0
  225. /package/{esm2022 → esm2020}/lib/store/models/filters.interface.mjs +0 -0
  226. /package/{esm2022 → esm2020}/lib/store/reducers/reducers.mjs +0 -0
  227. /package/{esm2022 → esm2020}/lib/store/selectors/document.selectors.mjs +0 -0
  228. /package/{esm2022 → esm2020}/lib/store/selectors/icp.selectors.mjs +0 -0
  229. /package/{esm2022 → esm2020}/lib/store/selectors/tag.selectors.mjs +0 -0
  230. /package/{esm2022 → esm2020}/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +0 -0
  231. /package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +0 -0
  232. /package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +0 -0
  233. /package/{esm2022 → esm2020}/lib/viewers/rotation-persist/rotation.model.mjs +0 -0
  234. /package/{esm2022 → esm2020}/lib/viewers/viewer-exception.model.mjs +0 -0
  235. /package/{esm2022 → esm2020}/public_api.mjs +0 -0
@@ -1,51 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { createEffect, ofType } from '@ngrx/effects';
3
- import { catchError, concatMap, exhaustMap, map, switchMap } from 'rxjs/operators';
4
- import { of } from 'rxjs';
5
- import * as annotationsActions from '../actions/annotation.actions';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ngrx/effects";
8
- import * as i2 from "../../annotations/services/annotation-api/annotation-api.service";
9
- export class AnnotationEffects {
10
- constructor(actions$, annotationApiService) {
11
- this.actions$ = actions$;
12
- this.annotationApiService = annotationApiService;
13
- this.loadAnnotation$ = createEffect(() => this.actions$.pipe(ofType(annotationsActions.LOAD_ANNOTATION_SET), map((action) => action.payload), switchMap((documentId) => {
14
- return this.annotationApiService.getAnnotationSet(documentId).pipe(map(res => {
15
- if (res.status === 204) {
16
- return new annotationsActions.LoadAnnotationSetFail(res);
17
- }
18
- return new annotationsActions.LoadAnnotationSetSucess(res);
19
- }), catchError(error => {
20
- return of(new annotationsActions.LoadAnnotationSetFail(error));
21
- }));
22
- })));
23
- this.postAnnotation$ = createEffect(() => this.actions$.pipe(ofType(annotationsActions.SAVE_ANNOTATION), concatMap((action) => {
24
- return this.annotationApiService.postAnnotation(action.payload).pipe(map(annotations => {
25
- return new annotationsActions.SaveAnnotationSuccess(annotations);
26
- }), catchError(error => {
27
- return of(new annotationsActions.LoadAnnotationSetFail(error));
28
- }));
29
- })));
30
- this.deleteAnnotation$ = createEffect(() => this.actions$.pipe(ofType(annotationsActions.DELETE_ANNOTATION), map((action) => action.payload), exhaustMap((annotation) => {
31
- return this.annotationApiService.deleteAnnotation(annotation).pipe(map(result => {
32
- return new annotationsActions.DeleteAnnotationSuccess(annotation);
33
- }), catchError(error => {
34
- return of(new annotationsActions.DeleteAnnotationFail(error));
35
- }));
36
- })));
37
- this.saveAnnotationSet$ = createEffect(() => this.actions$.pipe(ofType(annotationsActions.SAVE_ANNOTATION_SET), map((action) => action.payload), switchMap((annotationSet) => {
38
- return this.annotationApiService.postAnnotationSet(annotationSet).pipe(map(res => {
39
- return new annotationsActions.SaveAnnotationSetSuccess(res);
40
- }), catchError(error => {
41
- return of(new annotationsActions.SaveAnnotationSetFail(error));
42
- }));
43
- })));
44
- }
45
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: AnnotationEffects, deps: [{ token: i1.Actions }, { token: i2.AnnotationApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
46
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: AnnotationEffects }); }
47
- }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: AnnotationEffects, decorators: [{
49
- type: Injectable
50
- }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.AnnotationApiService }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbi5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9hbm5vdGF0aW9uLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsT0FBTyxLQUFLLGtCQUFrQixNQUFNLCtCQUErQixDQUFDOzs7O0FBR3BFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDVSxRQUFpQixFQUNqQixvQkFBMEM7UUFEMUMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBR3BELG9CQUFlLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbEIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLEVBQzlDLEdBQUcsQ0FBQyxDQUFDLE1BQTRDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDckUsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUNoRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO29C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QUNSLENBQUMsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQTlERSxDQUFDO2lJQUpNLGlCQUFpQjtxSUFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGNvbmNhdE1hcCwgZXhoYXVzdE1hcCwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW5ub3RhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9zZXJ2aWNlcy9hbm5vdGF0aW9uLWFwaS9hbm5vdGF0aW9uLWFwaS5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIGFubm90YXRpb25zQWN0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbm5vdGF0aW9uRWZmZWN0cyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSBhbm5vdGF0aW9uQXBpU2VydmljZTogQW5ub3RhdGlvbkFwaVNlcnZpY2UsXG4gICkgeyB9XG5cbiAgbG9hZEFubm90YXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShhbm5vdGF0aW9uc0FjdGlvbnMuTE9BRF9BTk5PVEFUSU9OX1NFVCksXG4gICAgbWFwKChhY3Rpb246IGFubm90YXRpb25zQWN0aW9ucy5Mb2FkQW5ub3RhdGlvblNldCkgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIHN3aXRjaE1hcCgoZG9jdW1lbnRJZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuYW5ub3RhdGlvbkFwaVNlcnZpY2UuZ2V0QW5ub3RhdGlvblNldChkb2N1bWVudElkKS5waXBlKFxuICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjA0KSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IGFubm90YXRpb25zQWN0aW9ucy5Mb2FkQW5ub3RhdGlvblNldEZhaWwocmVzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5ldyBhbm5vdGF0aW9uc0FjdGlvbnMuTG9hZEFubm90YXRpb25TZXRTdWNlc3MocmVzKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgYW5ub3RhdGlvbnNBY3Rpb25zLkxvYWRBbm5vdGF0aW9uU2V0RmFpbChlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpXG4gICk7XG5cbiAgcG9zdEFubm90YXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShhbm5vdGF0aW9uc0FjdGlvbnMuU0FWRV9BTk5PVEFUSU9OKSxcbiAgICBjb25jYXRNYXAoKGFjdGlvbjogYW5ub3RhdGlvbnNBY3Rpb25zLlNhdmVBbm5vdGF0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5hbm5vdGF0aW9uQXBpU2VydmljZS5wb3N0QW5ub3RhdGlvbihhY3Rpb24ucGF5bG9hZCkucGlwZShcbiAgICAgICAgbWFwKGFubm90YXRpb25zID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IGFubm90YXRpb25zQWN0aW9ucy5TYXZlQW5ub3RhdGlvblN1Y2Nlc3MoYW5ub3RhdGlvbnMpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKG5ldyBhbm5vdGF0aW9uc0FjdGlvbnMuTG9hZEFubm90YXRpb25TZXRGYWlsKGVycm9yKSk7XG4gICAgICAgIH0pKTtcbiAgICB9KSlcbiAgKTtcblxuICBkZWxldGVBbm5vdGF0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoYW5ub3RhdGlvbnNBY3Rpb25zLkRFTEVURV9BTk5PVEFUSU9OKSxcbiAgICBtYXAoKGFjdGlvbjogYW5ub3RhdGlvbnNBY3Rpb25zLkRlbGV0ZUFubm90YXRpb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICBleGhhdXN0TWFwKChhbm5vdGF0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5hbm5vdGF0aW9uQXBpU2VydmljZS5kZWxldGVBbm5vdGF0aW9uKGFubm90YXRpb24pLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgYW5ub3RhdGlvbnNBY3Rpb25zLkRlbGV0ZUFubm90YXRpb25TdWNjZXNzKGFubm90YXRpb24pO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKG5ldyBhbm5vdGF0aW9uc0FjdGlvbnMuRGVsZXRlQW5ub3RhdGlvbkZhaWwoZXJyb3IpKTtcbiAgICAgICAgfSkpO1xuICAgIH0pKVxuICApO1xuXG4gIHNhdmVBbm5vdGF0aW9uU2V0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoYW5ub3RhdGlvbnNBY3Rpb25zLlNBVkVfQU5OT1RBVElPTl9TRVQpLFxuICAgIG1hcCgoYWN0aW9uOiBhbm5vdGF0aW9uc0FjdGlvbnMuU2F2ZUFubm90YXRpb25TZXQpID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICBzd2l0Y2hNYXAoKGFubm90YXRpb25TZXQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmFubm90YXRpb25BcGlTZXJ2aWNlLnBvc3RBbm5vdGF0aW9uU2V0KGFubm90YXRpb25TZXQpLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgYW5ub3RhdGlvbnNBY3Rpb25zLlNhdmVBbm5vdGF0aW9uU2V0U3VjY2VzcyhyZXMpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKG5ldyBhbm5vdGF0aW9uc0FjdGlvbnMuU2F2ZUFubm90YXRpb25TZXRGYWlsKGVycm9yKSk7XG4gICAgICAgIH0pKTtcbiAgICB9KSlcbiAgKTtcbn1cbiJdfQ==
@@ -1,26 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { createEffect, ofType } from '@ngrx/effects';
3
- import { catchError, exhaustMap, map, switchMap } from 'rxjs/operators';
4
- import { of } from 'rxjs';
5
- import * as icpActions from '../actions/icp.actions';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ngrx/effects";
8
- import * as i2 from "../../icp/icp-session-api.service";
9
- import * as i3 from "../../icp/icp-update.service";
10
- export class IcpEffects {
11
- constructor(actions$, icpApiService, icpUpdateService) {
12
- this.actions$ = actions$;
13
- this.icpApiService = icpApiService;
14
- this.icpUpdateService = icpUpdateService;
15
- this.loadIcpSession$ = createEffect(() => this.actions$.pipe(ofType(icpActions.LOAD_ICP_SESSION), map((action) => action.payload), exhaustMap((caseId) => this.icpApiService.loadSession(caseId)
16
- .pipe(map(res => new icpActions.JoinIcpSocketSession(res)), catchError(error => of(new icpActions.LoadIcpSessionFailure(error)))))));
17
- this.joinIcpSocketSession$ = createEffect(() => this.actions$.pipe(ofType(icpActions.JOIN_ICP_SOCKET_SESSION), map((action) => action.payload), switchMap((res) => this.icpUpdateService.joinSession(res.username, res.session)
18
- .pipe(map(participants => new icpActions.IcpSocketSessionJoined({ session: res.session, participantInfo: participants }))))));
19
- }
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: IcpEffects, deps: [{ token: i1.Actions }, { token: i2.IcpSessionApiService }, { token: i3.IcpUpdateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
21
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: IcpEffects }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: IcpEffects, decorators: [{
24
- type: Injectable
25
- }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.IcpSessionApiService }, { type: i3.IcpUpdateService }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2ljcC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHMUIsT0FBTyxLQUFLLFVBQVUsTUFBTSx3QkFBd0IsQ0FBRTs7Ozs7QUFJdEQsTUFBTSxPQUFPLFVBQVU7SUFFckIsWUFBb0IsUUFBaUIsRUFDakIsYUFBbUMsRUFDbkMsZ0JBQWtDO1FBRmxDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFFdEQsb0JBQWUsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNsQixNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQ25DLEdBQUcsQ0FBQyxDQUFDLE1BQWlDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDMUQsVUFBVSxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO2FBQ25DLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNwRCxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNyRSxDQUNKLENBQUMsQ0FDSCxDQUFDO1FBR0YsMEJBQXFCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUMxQyxHQUFHLENBQUMsQ0FBQyxNQUF1QyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2hFLFNBQVMsQ0FBQyxDQUFDLEdBQTRDLEVBQUUsRUFBRSxDQUN6RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQzthQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsRUFBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQzNILENBQUMsQ0FDSCxDQUFDO0lBeEJ1RCxDQUFDO2lJQUovQyxVQUFVO3FJQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZXhoYXVzdE1hcCwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSWNwU2Vzc2lvbkFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9pY3AvaWNwLXNlc3Npb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNwVXBkYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2ljcC9pY3AtdXBkYXRlLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgaWNwQWN0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2ljcC5hY3Rpb25zJyA7XG5pbXBvcnQgeyBJY3BTZXNzaW9uIH0gZnJvbSAnLi4vLi4vaWNwL2ljcC5pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEljcEVmZmVjdHMge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgICAgICAgICAgIHByaXZhdGUgaWNwQXBpU2VydmljZTogSWNwU2Vzc2lvbkFwaVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgaWNwVXBkYXRlU2VydmljZTogSWNwVXBkYXRlU2VydmljZSkge31cblxuICBsb2FkSWNwU2Vzc2lvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGljcEFjdGlvbnMuTE9BRF9JQ1BfU0VTU0lPTiksXG4gICAgbWFwKChhY3Rpb246IGljcEFjdGlvbnMuTG9hZEljcFNlc3Npb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICBleGhhdXN0TWFwKChjYXNlSWQ6IHN0cmluZykgPT5cbiAgICAgIHRoaXMuaWNwQXBpU2VydmljZS5sb2FkU2Vzc2lvbihjYXNlSWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcChyZXMgPT4gbmV3IGljcEFjdGlvbnMuSm9pbkljcFNvY2tldFNlc3Npb24ocmVzKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihuZXcgaWNwQWN0aW9ucy5Mb2FkSWNwU2Vzc2lvbkZhaWx1cmUoZXJyb3IpKSlcbiAgICAgICAgKVxuICAgICkpXG4gICk7XG5cblxuICBqb2luSWNwU29ja2V0U2Vzc2lvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGljcEFjdGlvbnMuSk9JTl9JQ1BfU09DS0VUX1NFU1NJT04pLFxuICAgIG1hcCgoYWN0aW9uOiBpY3BBY3Rpb25zLkpvaW5JY3BTb2NrZXRTZXNzaW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgc3dpdGNoTWFwKChyZXM6IHt1c2VybmFtZTogc3RyaW5nLCBzZXNzaW9uOiBJY3BTZXNzaW9ufSkgPT5cbiAgICAgIHRoaXMuaWNwVXBkYXRlU2VydmljZS5qb2luU2Vzc2lvbihyZXMudXNlcm5hbWUsIHJlcy5zZXNzaW9uKVxuICAgICAgICAucGlwZShtYXAocGFydGljaXBhbnRzID0+IG5ldyBpY3BBY3Rpb25zLkljcFNvY2tldFNlc3Npb25Kb2luZWQoe3Nlc3Npb246IHJlcy5zZXNzaW9uLCBwYXJ0aWNpcGFudEluZm86IHBhcnRpY2lwYW50c30pKSlcbiAgICApKVxuICApO1xufVxuIl19
@@ -1,208 +0,0 @@
1
- import uuid from 'uuid/v4';
2
- import * as fromAnnotations from '../actions/annotation.actions';
3
- import { StoreUtils } from '../store-utils';
4
- export const initialState = {
5
- annotationSet: {},
6
- annotationEntities: {},
7
- commentEntities: {},
8
- annotationPageEntities: {},
9
- selectedAnnotation: null,
10
- commentSearchQueries: { commentSearch: '' },
11
- commentSummaryFilters: { hasFilter: false, filters: {} },
12
- loading: false,
13
- loaded: false,
14
- };
15
- export function reducer(state = initialState, action) {
16
- switch (action.type) {
17
- case fromAnnotations.LOAD_ANNOTATION_SET: {
18
- const annotationSet = {
19
- ...state.annotationSet,
20
- documentId: action.payload
21
- };
22
- return {
23
- ...initialState,
24
- annotationSet,
25
- loading: true
26
- };
27
- }
28
- case fromAnnotations.LOAD_ANNOTATION_SET_SUCCESS:
29
- case fromAnnotations.LOAD_ANNOTATION_SET_FAIL: {
30
- const annotationSet = action.payload.status === 200 ? action.payload.body :
31
- {
32
- ...state.annotationSet,
33
- annotations: [],
34
- id: uuid()
35
- };
36
- const annotationEntities = StoreUtils.generateAnnotationEntities(annotationSet.annotations);
37
- const annotationPageEntities = StoreUtils.groupByKeyEntities(annotationSet.annotations, 'page');
38
- const commentEntities = StoreUtils.generateCommentsEntities(annotationSet.annotations);
39
- return {
40
- ...state,
41
- annotationSet,
42
- annotationEntities,
43
- annotationPageEntities,
44
- commentEntities,
45
- loading: false,
46
- loaded: true
47
- };
48
- }
49
- case fromAnnotations.SAVE_ANNOTATION_SET_SUCCESS: {
50
- const anno = action.payload.annotations;
51
- const annEntities = {
52
- ...state.annotationEntities,
53
- ...anno
54
- };
55
- const annotArray = Object.keys(annEntities).map(key => annEntities[key]);
56
- const annotationEntities = StoreUtils.generateAnnotationEntities(annotArray);
57
- const annotationPageEntities = StoreUtils.groupByKeyEntities(annotArray, 'page');
58
- const commentEntities = StoreUtils.generateCommentsEntities(annotArray);
59
- const selectedAnnotation = {
60
- ...state.selectedAnnotation,
61
- ...anno,
62
- editable: false
63
- };
64
- return {
65
- ...state,
66
- annotationEntities,
67
- annotationPageEntities,
68
- commentEntities,
69
- selectedAnnotation,
70
- loading: false,
71
- loaded: true
72
- };
73
- }
74
- case fromAnnotations.SAVE_ANNOTATION_SUCCESS: {
75
- const anno = action.payload;
76
- const annEntities = {
77
- ...state.annotationEntities,
78
- [anno.id]: anno
79
- };
80
- const annotArray = Object.keys(annEntities).map(key => annEntities[key]);
81
- const annotationEntities = StoreUtils.generateAnnotationEntities(annotArray);
82
- const annotationPageEntities = StoreUtils.groupByKeyEntities(annotArray, 'page');
83
- const commentEntities = StoreUtils.generateCommentsEntities(annotArray);
84
- const selectedAnnotation = {
85
- ...state.selectedAnnotation,
86
- annotationId: anno.id,
87
- editable: false
88
- };
89
- return {
90
- ...state,
91
- annotationEntities,
92
- annotationPageEntities,
93
- commentEntities,
94
- selectedAnnotation,
95
- loading: false,
96
- loaded: true
97
- };
98
- }
99
- case fromAnnotations.DELETE_ANNOTATION_SUCCESS: {
100
- const id = action.payload;
101
- const page = state.annotationEntities[id].page;
102
- const annotationEntities = {
103
- ...state.annotationEntities
104
- };
105
- delete annotationEntities[id];
106
- const pageAnnotationsRemoved = [
107
- ...state.annotationPageEntities[page].filter(anno => anno.id !== id)
108
- ];
109
- const annotationPageEntities = {
110
- ...state.annotationPageEntities,
111
- [page]: pageAnnotationsRemoved
112
- };
113
- const commentEntities = {
114
- ...state.commentEntities
115
- };
116
- if (state.commentEntities[id]) {
117
- delete commentEntities[id];
118
- }
119
- return {
120
- ...state,
121
- annotationEntities,
122
- annotationPageEntities,
123
- commentEntities
124
- };
125
- }
126
- case fromAnnotations.ADD_OR_EDIT_COMMENT: {
127
- const comment = {
128
- [action.payload.annotationId]: action.payload
129
- };
130
- const comments = {
131
- ...state.commentEntities,
132
- ...comment
133
- };
134
- return {
135
- ...state,
136
- commentEntities: comments
137
- };
138
- }
139
- case fromAnnotations.SELECT_ANNOTATION: {
140
- const payload = action.payload;
141
- const commentEntity = {
142
- ...state.commentEntities[payload.annotationId],
143
- editable: payload.editable,
144
- selected: payload.selected
145
- };
146
- const resetCommentEntSelect = StoreUtils.resetCommentEntSelect({ ...state.commentEntities });
147
- const commentEntities = payload.annotationId && state.commentEntities[payload.annotationId] ? {
148
- ...resetCommentEntSelect,
149
- [payload.annotationId]: commentEntity
150
- } : { ...resetCommentEntSelect };
151
- return {
152
- ...state,
153
- commentEntities,
154
- selectedAnnotation: action.payload
155
- };
156
- }
157
- case fromAnnotations.SEARCH_COMMENT: {
158
- const commentSearchQueries = {
159
- ...state.commentSearchQueries,
160
- commentSearch: action.payload
161
- };
162
- const commentEntities = StoreUtils.resetCommentEntSelect({ ...state.commentEntities });
163
- return {
164
- ...state,
165
- commentEntities,
166
- commentSearchQueries
167
- };
168
- }
169
- case fromAnnotations.APPLY_COMMENT_SUMMARY_FILTER: {
170
- const payload = action.payload;
171
- const hasTagFilter = () => {
172
- let isFiltered = false;
173
- if (payload.tagFilters) {
174
- Object.keys(payload.tagFilters).map(filter => {
175
- if (payload.tagFilters[filter] && !isFiltered) {
176
- isFiltered = true;
177
- }
178
- });
179
- }
180
- return isFiltered;
181
- };
182
- const hasFilter = (hasTagFilter() || !!payload.dateRangeFrom || !!payload.dateRangeTo);
183
- const commentSummaryFilters = {
184
- hasFilter,
185
- filters: payload
186
- };
187
- return {
188
- ...state,
189
- commentSummaryFilters: commentSummaryFilters
190
- };
191
- }
192
- case fromAnnotations.CLEAR_COMMENT_SUMMARY_FILTER: {
193
- return {
194
- ...state,
195
- commentSummaryFilters: { ...initialState.commentSummaryFilters }
196
- };
197
- }
198
- }
199
- return state;
200
- }
201
- export const getAnnoSet = (state) => state.annotationSet;
202
- export const getCommentEnts = (state) => state.commentEntities;
203
- export const getAnnoPageEnt = (state) => state.annotationPageEntities;
204
- export const getAnnoEnt = (state) => state.annotationEntities;
205
- export const getSelectedAnno = (state) => state.selectedAnnotation;
206
- export const commentSearchQ = (state) => state.commentSearchQueries;
207
- export const getSummaryFilters = (state) => state.commentSummaryFilters;
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL3JlZHVjZXJzL2Fubm90YXRpb25zLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBQzNCLE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFHakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZ0I1QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXVCO0lBQzlDLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsc0JBQXNCLEVBQUUsRUFBRTtJQUMxQixrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLG9CQUFvQixFQUFFLEVBQUMsYUFBYSxFQUFFLEVBQUUsRUFBQztJQUN6QyxxQkFBcUIsRUFBRSxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBQztJQUN0RCxPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxLQUFLO0NBQ2QsQ0FBQztBQUVGLE1BQU0sVUFBVSxPQUFPLENBQ3JCLEtBQUssR0FBRyxZQUFZLEVBQ3BCLE1BQTBDO0lBRTFDLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXBCLEtBQUssZUFBZSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztZQUN6QyxNQUFNLGFBQWEsR0FBRztnQkFDcEIsR0FBRyxLQUFLLENBQUMsYUFBYTtnQkFDdEIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxPQUFPO2FBQzNCLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsWUFBWTtnQkFDZixhQUFhO2dCQUNiLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztRQUNKLENBQUM7UUFD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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXVpZCBmcm9tICd1dWlkL3Y0JztcbmltcG9ydCAqIGFzIGZyb21Bbm5vdGF0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L2Fubm90YXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWVudCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQvY29tbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBTdG9yZVV0aWxzIH0gZnJvbSAnLi4vc3RvcmUtdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQW5ub3RhdGlvbiB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL21vZGVscy9ldmVudC1zZWxlY3QubW9kZWwnO1xuaW1wb3J0IHsgRmlsdGVycyB9IGZyb20gJy4uL21vZGVscy9maWx0ZXJzLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5ub3RhdGlvblNldFN0YXRlIHtcbiAgYW5ub3RhdGlvblNldDogYW55O1xuICBhbm5vdGF0aW9uRW50aXRpZXM6IHtbaWQ6IHN0cmluZ106IGFueX07XG4gIGFubm90YXRpb25QYWdlRW50aXRpZXM6IHtbaWQ6IHN0cmluZ106IEFubm90YXRpb25bXX07XG4gIGNvbW1lbnRFbnRpdGllczoge1tpZDogc3RyaW5nXTogQ29tbWVudH07XG4gIHNlbGVjdGVkQW5ub3RhdGlvbjogU2VsZWN0aW9uQW5ub3RhdGlvbjtcbiAgY29tbWVudFNlYXJjaFF1ZXJpZXM6IHsgY29tbWVudFNlYXJjaDogc3RyaW5nIH07XG4gIGNvbW1lbnRTdW1tYXJ5RmlsdGVyczoge2hhc0ZpbHRlcjogYm9vbGVhbjsgZmlsdGVyczogRmlsdGVyc307XG4gIGxvYWRlZDogYm9vbGVhbjtcbiAgbG9hZGluZzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlID0ge1xuICBhbm5vdGF0aW9uU2V0OiB7fSxcbiAgYW5ub3RhdGlvbkVudGl0aWVzOiB7fSxcbiAgY29tbWVudEVudGl0aWVzOiB7fSxcbiAgYW5ub3RhdGlvblBhZ2VFbnRpdGllczoge30sXG4gIHNlbGVjdGVkQW5ub3RhdGlvbjogbnVsbCxcbiAgY29tbWVudFNlYXJjaFF1ZXJpZXM6IHtjb21tZW50U2VhcmNoOiAnJ30sXG4gIGNvbW1lbnRTdW1tYXJ5RmlsdGVyczoge2hhc0ZpbHRlcjogZmFsc2UsIGZpbHRlcnM6IHt9fSxcbiAgbG9hZGluZzogZmFsc2UsXG4gIGxvYWRlZDogZmFsc2UsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlciAoXG4gIHN0YXRlID0gaW5pdGlhbFN0YXRlLFxuICBhY3Rpb246IGZyb21Bbm5vdGF0aW9ucy5Bbm5vdGF0aW9uc0FjdGlvbnNcbik6IEFubm90YXRpb25TZXRTdGF0ZSB7XG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkxPQURfQU5OT1RBVElPTl9TRVQ6IHtcbiAgICAgIGNvbnN0IGFubm90YXRpb25TZXQgPSB7XG4gICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25TZXQsXG4gICAgICAgIGRvY3VtZW50SWQ6IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5pdGlhbFN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9uU2V0LFxuICAgICAgICBsb2FkaW5nOiB0cnVlXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5MT0FEX0FOTk9UQVRJT05fU0VUX1NVQ0NFU1M6XG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuTE9BRF9BTk5PVEFUSU9OX1NFVF9GQUlMOiB7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uU2V0ID0gYWN0aW9uLnBheWxvYWQuc3RhdHVzID09PSAyMDAgPyBhY3Rpb24ucGF5bG9hZC5ib2R5IDpcbiAgICAgICAge1xuICAgICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25TZXQsXG4gICAgICAgICAgYW5ub3RhdGlvbnM6IFtdLFxuICAgICAgICAgIGlkOiB1dWlkKClcbiAgICAgICAgfTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25FbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVBbm5vdGF0aW9uRW50aXRpZXMoYW5ub3RhdGlvblNldC5hbm5vdGF0aW9ucyk7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYW5ub3RhdGlvblNldC5hbm5vdGF0aW9ucywgJ3BhZ2UnKTtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVDb21tZW50c0VudGl0aWVzKGFubm90YXRpb25TZXQuYW5ub3RhdGlvbnMpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGFubm90YXRpb25TZXQsXG4gICAgICAgIGFubm90YXRpb25FbnRpdGllcyxcbiAgICAgICAgYW5ub3RhdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgY29tbWVudEVudGl0aWVzLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLlNBVkVfQU5OT1RBVElPTl9TRVRfU1VDQ0VTUzoge1xuICAgICAgY29uc3QgYW5ubyA9IGFjdGlvbi5wYXlsb2FkLmFubm90YXRpb25zO1xuICAgICAgY29uc3QgYW5uRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25FbnRpdGllcyxcbiAgICAgICAgLi4uYW5ub1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGFubm90QXJyYXkgPSBPYmplY3Qua2V5cyhhbm5FbnRpdGllcykubWFwKGtleSA9PiBhbm5FbnRpdGllc1trZXldKTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25FbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVBbm5vdGF0aW9uRW50aXRpZXMoYW5ub3RBcnJheSk7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYW5ub3RBcnJheSwgJ3BhZ2UnKTtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVDb21tZW50c0VudGl0aWVzKGFubm90QXJyYXkpO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRBbm5vdGF0aW9uID0ge1xuICAgICAgICAuLi5zdGF0ZS5zZWxlY3RlZEFubm90YXRpb24sXG4gICAgICAgIC4uLmFubm8sXG4gICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIGFubm90YXRpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllcyxcbiAgICAgICAgc2VsZWN0ZWRBbm5vdGF0aW9uLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuXG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0FWRV9BTk5PVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGFubm8gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGFubkVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5hbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIFthbm5vLmlkXTogYW5ub1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGFubm90QXJyYXkgPSBPYmplY3Qua2V5cyhhbm5FbnRpdGllcykubWFwKGtleSA9PiBhbm5FbnRpdGllc1trZXldKTtcbiAgICAgIGNvbnN0IGFubm90YXRpb25FbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVBbm5vdGF0aW9uRW50aXRpZXMoYW5ub3RBcnJheSk7XG4gICAgICBjb25zdCBhbm5vdGF0aW9uUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYW5ub3RBcnJheSwgJ3BhZ2UnKTtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ2VuZXJhdGVDb21tZW50c0VudGl0aWVzKGFubm90QXJyYXkpO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRBbm5vdGF0aW9uID0ge1xuICAgICAgICAuLi5zdGF0ZS5zZWxlY3RlZEFubm90YXRpb24sXG4gICAgICAgIGFubm90YXRpb25JZCA6IGFubm8uaWQsXG4gICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIGFubm90YXRpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllcyxcbiAgICAgICAgc2VsZWN0ZWRBbm5vdGF0aW9uLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkRFTEVURV9BTk5PVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGlkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBwYWdlID0gc3RhdGUuYW5ub3RhdGlvbkVudGl0aWVzW2lkXS5wYWdlO1xuICAgICAgY29uc3QgYW5ub3RhdGlvbkVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5hbm5vdGF0aW9uRW50aXRpZXNcbiAgICAgIH07XG4gICAgICBkZWxldGUgYW5ub3RhdGlvbkVudGl0aWVzW2lkXTtcbiAgICAgIGNvbnN0IHBhZ2VBbm5vdGF0aW9uc1JlbW92ZWQgPSBbXG4gICAgICAgIC4uLnN0YXRlLmFubm90YXRpb25QYWdlRW50aXRpZXNbcGFnZV0uZmlsdGVyKGFubm8gPT4gYW5uby5pZCAhPT0gaWQpXG4gICAgICBdO1xuICAgICAgY29uc3QgYW5ub3RhdGlvblBhZ2VFbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUuYW5ub3RhdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgW3BhZ2VdOiBwYWdlQW5ub3RhdGlvbnNSZW1vdmVkXG4gICAgICB9O1xuICAgICAgY29uc3QgY29tbWVudEVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5jb21tZW50RW50aXRpZXNcbiAgICAgIH07XG4gICAgICBpZiAoc3RhdGUuY29tbWVudEVudGl0aWVzW2lkXSkge1xuICAgICAgICBkZWxldGUgY29tbWVudEVudGl0aWVzW2lkXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9uRW50aXRpZXMsXG4gICAgICAgIGFubm90YXRpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllc1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5BRERfT1JfRURJVF9DT01NRU5UOiB7XG4gICAgICBjb25zdCBjb21tZW50ID0ge1xuICAgICAgICBbYWN0aW9uLnBheWxvYWQuYW5ub3RhdGlvbklkXTogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgICBjb25zdCBjb21tZW50cyA9IHtcbiAgICAgICAgLi4uc3RhdGUuY29tbWVudEVudGl0aWVzLFxuICAgICAgICAuLi5jb21tZW50XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbW1lbnRFbnRpdGllczogY29tbWVudHNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0VMRUNUX0FOTk9UQVRJT046IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdHkgPSB7XG4gICAgICAgIC4uLnN0YXRlLmNvbW1lbnRFbnRpdGllc1twYXlsb2FkLmFubm90YXRpb25JZF0sXG4gICAgICAgIGVkaXRhYmxlOiBwYXlsb2FkLmVkaXRhYmxlLFxuICAgICAgICBzZWxlY3RlZDogcGF5bG9hZC5zZWxlY3RlZFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzZXRDb21tZW50RW50U2VsZWN0ID0gU3RvcmVVdGlscy5yZXNldENvbW1lbnRFbnRTZWxlY3Qoey4uLnN0YXRlLmNvbW1lbnRFbnRpdGllc30pO1xuXG4gICAgICBjb25zdCBjb21tZW50RW50aXRpZXMgPSBwYXlsb2FkLmFubm90YXRpb25JZCAmJiBzdGF0ZS5jb21tZW50RW50aXRpZXNbcGF5bG9hZC5hbm5vdGF0aW9uSWRdID8ge1xuICAgICAgICAuLi5yZXNldENvbW1lbnRFbnRTZWxlY3QsXG4gICAgICBbcGF5bG9hZC5hbm5vdGF0aW9uSWRdOiBjb21tZW50RW50aXR5XG4gICAgICB9IDogey4uLnJlc2V0Q29tbWVudEVudFNlbGVjdH07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50RW50aXRpZXMsXG4gICAgICAgIHNlbGVjdGVkQW5ub3RhdGlvbjogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0VBUkNIX0NPTU1FTlQ6IHtcbiAgICAgIGNvbnN0IGNvbW1lbnRTZWFyY2hRdWVyaWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5jb21tZW50U2VhcmNoUXVlcmllcyxcbiAgICAgICAgY29tbWVudFNlYXJjaDogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGNvbW1lbnRFbnRpdGllcyA9IFN0b3JlVXRpbHMucmVzZXRDb21tZW50RW50U2VsZWN0KHsuLi5zdGF0ZS5jb21tZW50RW50aXRpZXN9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50RW50aXRpZXMsXG4gICAgICAgIGNvbW1lbnRTZWFyY2hRdWVyaWVzXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkFQUExZX0NPTU1FTlRfU1VNTUFSWV9GSUxURVI6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGhhc1RhZ0ZpbHRlciA9ICgpID0+IHtcbiAgICAgICAgbGV0IGlzRmlsdGVyZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHBheWxvYWQudGFnRmlsdGVycykge1xuICAgICAgICAgIE9iamVjdC5rZXlzKHBheWxvYWQudGFnRmlsdGVycykubWFwKGZpbHRlciA9PiB7XG4gICAgICAgICAgICBpZiAocGF5bG9hZC50YWdGaWx0ZXJzW2ZpbHRlcl0gJiYgIWlzRmlsdGVyZWQpIHtcbiAgICAgICAgICAgICAgaXNGaWx0ZXJlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzRmlsdGVyZWQ7XG4gICAgICB9O1xuICAgICAgY29uc3QgaGFzRmlsdGVyID0gKGhhc1RhZ0ZpbHRlcigpIHx8ICEhcGF5bG9hZC5kYXRlUmFuZ2VGcm9tIHx8ICEhcGF5bG9hZC5kYXRlUmFuZ2VUbyk7XG4gICAgICBjb25zdCBjb21tZW50U3VtbWFyeUZpbHRlcnMgPSB7XG4gICAgICAgIGhhc0ZpbHRlcixcbiAgICAgICAgZmlsdGVyczogcGF5bG9hZFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50U3VtbWFyeUZpbHRlcnM6IGNvbW1lbnRTdW1tYXJ5RmlsdGVyc1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5DTEVBUl9DT01NRU5UX1NVTU1BUllfRklMVEVSOiB7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb21tZW50U3VtbWFyeUZpbHRlcnMgOiB7Li4uaW5pdGlhbFN0YXRlLmNvbW1lbnRTdW1tYXJ5RmlsdGVyc31cbiAgICAgIH07XG4gICAgfVxuICB9XG5cblxuICByZXR1cm4gc3RhdGU7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRBbm5vU2V0ID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLmFubm90YXRpb25TZXQ7XG5leHBvcnQgY29uc3QgZ2V0Q29tbWVudEVudHMgPSAoc3RhdGU6IEFubm90YXRpb25TZXRTdGF0ZSkgPT4gc3RhdGUuY29tbWVudEVudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldEFubm9QYWdlRW50ID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLmFubm90YXRpb25QYWdlRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0QW5ub0VudCA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5hbm5vdGF0aW9uRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRBbm5vID0gKHN0YXRlOiBBbm5vdGF0aW9uU2V0U3RhdGUpID0+IHN0YXRlLnNlbGVjdGVkQW5ub3RhdGlvbjtcbmV4cG9ydCBjb25zdCBjb21tZW50U2VhcmNoUSA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5jb21tZW50U2VhcmNoUXVlcmllcztcbmV4cG9ydCBjb25zdCBnZXRTdW1tYXJ5RmlsdGVycyA9IChzdGF0ZTogQW5ub3RhdGlvblNldFN0YXRlKSA9PiBzdGF0ZS5jb21tZW50U3VtbWFyeUZpbHRlcnM7XG4iXX0=
@@ -1,116 +0,0 @@
1
- import * as fromBookmarks from '../actions/bookmark.actions';
2
- import { StoreUtils } from '../store-utils';
3
- import { generateBookmarkEntities } from '../bookmarks-store-utils';
4
- export const initialBookmarksState = {
5
- bookmarks: [],
6
- bookmarkEntities: {},
7
- bookmarkPageEntities: {},
8
- editableBookmark: undefined,
9
- loaded: false,
10
- loading: false
11
- };
12
- export function bookmarksReducer(state = initialBookmarksState, action) {
13
- switch (action.type) {
14
- case fromBookmarks.LOAD_BOOKMARKS: {
15
- return {
16
- ...state,
17
- loading: true
18
- };
19
- }
20
- case fromBookmarks.LOAD_BOOKMARKS_SUCCESS:
21
- case fromBookmarks.LOAD_BOOKMARKS_FAIL: {
22
- const bookmarks = action.payload.status === 200 ? action.payload.body : [];
23
- const bookmarkEntities = generateBookmarkEntities(bookmarks);
24
- const bookmarkPageEntities = StoreUtils.groupByKeyEntities(bookmarks, 'pageNumber');
25
- return {
26
- ...state,
27
- bookmarks,
28
- bookmarkEntities,
29
- bookmarkPageEntities,
30
- loaded: true
31
- };
32
- }
33
- case fromBookmarks.CREATE_BOOKMARK_SUCCESS: {
34
- const bookmark = action.payload;
35
- const bookmarkEntities = {
36
- ...state.bookmarkEntities,
37
- [bookmark.id]: bookmark,
38
- };
39
- const bookmarkArray = Object.keys(bookmarkEntities).map(key => bookmarkEntities[key]);
40
- const bookmarkPageEntities = StoreUtils.groupByKeyEntities(bookmarkArray, 'pageNumber');
41
- const editableBookmark = bookmark.id;
42
- return {
43
- ...state,
44
- bookmarkEntities,
45
- editableBookmark,
46
- bookmarkPageEntities,
47
- loading: false,
48
- loaded: true
49
- };
50
- }
51
- case fromBookmarks.MOVE_BOOKMARK_SUCCESS: {
52
- const movedBookmarks = generateBookmarkEntities(action.payload);
53
- const bookmarkEntities = {
54
- ...state.bookmarkEntities,
55
- ...movedBookmarks
56
- };
57
- return {
58
- ...state,
59
- bookmarkEntities,
60
- loading: false,
61
- loaded: true
62
- };
63
- }
64
- case fromBookmarks.DELETE_BOOKMARK_SUCCESS: {
65
- const bookmarkIds = action.payload;
66
- const bookmarkEntities = { ...state.bookmarkEntities };
67
- const bookmarkPageEntities = { ...state.bookmarkPageEntities };
68
- const removeBookmarksByPage = {};
69
- bookmarkIds.forEach(bookmarkId => {
70
- if (removeBookmarksByPage[bookmarkEntities[bookmarkId].pageNumber] !== undefined &&
71
- removeBookmarksByPage[bookmarkEntities[bookmarkId].pageNumber].length > 0) {
72
- removeBookmarksByPage[bookmarkEntities[bookmarkId].pageNumber].push(bookmarkId);
73
- }
74
- else {
75
- removeBookmarksByPage[bookmarkEntities[bookmarkId].pageNumber] = [bookmarkId];
76
- }
77
- delete bookmarkEntities[bookmarkId];
78
- });
79
- Object.entries(removeBookmarksByPage).forEach(([pageNumber, bmrkIds]) => {
80
- bookmarkPageEntities[pageNumber]
81
- = bookmarkPageEntities[pageNumber].filter(bookmark => !bmrkIds.includes(bookmark.id));
82
- });
83
- return {
84
- ...state,
85
- bookmarkEntities,
86
- bookmarkPageEntities,
87
- loading: false,
88
- loaded: true
89
- };
90
- }
91
- case fromBookmarks.UPDATE_BOOKMARK_SUCCESS: {
92
- const bookmark = action.payload;
93
- const bookmarkEntities = {
94
- ...state.bookmarkEntities,
95
- [bookmark.id]: { ...bookmark }
96
- };
97
- const bookmarkArray = Object.keys(bookmarkEntities).map(key => bookmarkEntities[key]);
98
- const bookmarkPageEntities = StoreUtils.groupByKeyEntities(bookmarkArray, 'pageNumber');
99
- const editableBookmark = undefined;
100
- return {
101
- ...state,
102
- bookmarkEntities,
103
- editableBookmark,
104
- bookmarkPageEntities,
105
- loading: false,
106
- loaded: true
107
- };
108
- }
109
- }
110
- return state;
111
- }
112
- export const getBookmarks = (state) => state.bookmarks;
113
- export const getBookmarkEnts = (state) => state.bookmarkEntities;
114
- export const getBookmarkPageEnt = (state) => state.bookmarkPageEntities;
115
- export const getEditBookmark = (state) => state.editableBookmark;
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9ib29rbWFya3MucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssYUFBYSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVdwRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBbUI7SUFDbkQsU0FBUyxFQUFFLEVBQUU7SUFDYixnQkFBZ0IsRUFBRSxFQUFFO0lBQ3BCLG9CQUFvQixFQUFFLEVBQUU7SUFDeEIsZ0JBQWdCLEVBQUUsU0FBUztJQUMzQixNQUFNLEVBQUUsS0FBSztJQUNiLE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQztBQUVGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBRSxLQUFLLEdBQUcscUJBQXFCLEVBQzdCLE1BQXNDO0lBRXRFLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXBCLEtBQUssYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDbEMsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDO1FBQ0osQ0FBQztRQUVELEtBQUssYUFBYSxDQUFDLHNCQUFzQixDQUFDO1FBQzFDLEtBQUssYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztZQUN2QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDM0UsTUFBTSxnQkFBZ0IsR0FBRyx3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Q0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7QUFDdkUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZyb21Cb29rbWFya3MgZnJvbSAnLi4vYWN0aW9ucy9ib29rbWFyay5hY3Rpb25zJztcbmltcG9ydCB7IEJvb2ttYXJrIH0gZnJvbSAnLi4vLi4vdmlld2Vycy9wZGYtdmlld2VyL3NpZGUtYmFyL2Jvb2ttYXJrcy9ib29rbWFya3MuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdG9yZVV0aWxzIH0gZnJvbSAnLi4vc3RvcmUtdXRpbHMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVCb29rbWFya0VudGl0aWVzIH0gZnJvbSAnLi4vYm9va21hcmtzLXN0b3JlLXV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBCb29rbWFya3NTdGF0ZSB7XG4gIGJvb2ttYXJrczogQm9va21hcmtbXTtcbiAgYm9va21hcmtFbnRpdGllczogeyBbaWQ6IHN0cmluZ106IEJvb2ttYXJrIH07XG4gIGJvb2ttYXJrUGFnZUVudGl0aWVzOiB7W2lkOiBzdHJpbmddOiBhbnl9O1xuICBlZGl0YWJsZUJvb2ttYXJrOiBzdHJpbmc7XG4gIGxvYWRlZDogYm9vbGVhbjtcbiAgbG9hZGluZzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxCb29rbWFya3NTdGF0ZTogQm9va21hcmtzU3RhdGUgPSB7XG4gIGJvb2ttYXJrczogW10sXG4gIGJvb2ttYXJrRW50aXRpZXM6IHt9LFxuICBib29rbWFya1BhZ2VFbnRpdGllczoge30sXG4gIGVkaXRhYmxlQm9va21hcms6IHVuZGVmaW5lZCxcbiAgbG9hZGVkOiBmYWxzZSxcbiAgbG9hZGluZzogZmFsc2Vcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBib29rbWFya3NSZWR1Y2VyIChzdGF0ZSA9IGluaXRpYWxCb29rbWFya3NTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IGZyb21Cb29rbWFya3MuQm9va21hcmtzQWN0aW9ucyk6IEJvb2ttYXJrc1N0YXRlIHtcblxuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG5cbiAgICBjYXNlIGZyb21Cb29rbWFya3MuTE9BRF9CT09LTUFSS1M6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkaW5nOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5MT0FEX0JPT0tNQVJLU19TVUNDRVNTOlxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5MT0FEX0JPT0tNQVJLU19GQUlMOiB7XG4gICAgICBjb25zdCBib29rbWFya3MgPSBhY3Rpb24ucGF5bG9hZC5zdGF0dXMgPT09IDIwMCA/IGFjdGlvbi5wYXlsb2FkLmJvZHkgOiBbXTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrRW50aXRpZXMgPSBnZW5lcmF0ZUJvb2ttYXJrRW50aXRpZXMoYm9va21hcmtzKTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYm9va21hcmtzLCAncGFnZU51bWJlcicpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYm9va21hcmtzLFxuICAgICAgICBib29rbWFya0VudGl0aWVzLFxuICAgICAgICBib29rbWFya1BhZ2VFbnRpdGllcyxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5DUkVBVEVfQk9PS01BUktfU1VDQ0VTUzoge1xuICAgICAgY29uc3QgYm9va21hcms6IEJvb2ttYXJrID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBib29rbWFya0VudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5ib29rbWFya0VudGl0aWVzLFxuICAgICAgICBbYm9va21hcmsuaWRdOiBib29rbWFyayxcbiAgICAgIH07XG4gICAgICBjb25zdCBib29rbWFya0FycmF5ID0gT2JqZWN0LmtleXMoYm9va21hcmtFbnRpdGllcykubWFwKGtleSA9PiBib29rbWFya0VudGl0aWVzW2tleV0pO1xuICAgICAgY29uc3QgYm9va21hcmtQYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhib29rbWFya0FycmF5LCAncGFnZU51bWJlcicpO1xuICAgICAgY29uc3QgZWRpdGFibGVCb29rbWFyayA9IGJvb2ttYXJrLmlkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIGVkaXRhYmxlQm9va21hcmssXG4gICAgICAgIGJvb2ttYXJrUGFnZUVudGl0aWVzLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5NT1ZFX0JPT0tNQVJLX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IG1vdmVkQm9va21hcmtzID0gZ2VuZXJhdGVCb29rbWFya0VudGl0aWVzKGFjdGlvbi5wYXlsb2FkKTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIC4uLm1vdmVkQm9va21hcmtzXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQm9va21hcmtzLkRFTEVURV9CT09LTUFSS19TVUNDRVNTOiB7XG4gICAgICBjb25zdCBib29rbWFya0lkczogc3RyaW5nW10gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGJvb2ttYXJrRW50aXRpZXMgPSB7IC4uLnN0YXRlLmJvb2ttYXJrRW50aXRpZXMgfTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrUGFnZUVudGl0aWVzID0geyAuLi5zdGF0ZS5ib29rbWFya1BhZ2VFbnRpdGllcyB9O1xuICAgICAgY29uc3QgcmVtb3ZlQm9va21hcmtzQnlQYWdlOiB7W3BhZ2VOdW1iZXI6IG51bWJlcl06IHN0cmluZ1tdfSA9IHt9O1xuICAgICAgYm9va21hcmtJZHMuZm9yRWFjaChib29rbWFya0lkID0+IHtcbiAgICAgICAgaWYgKHJlbW92ZUJvb2ttYXJrc0J5UGFnZVtib29rbWFya0VudGl0aWVzW2Jvb2ttYXJrSWRdLnBhZ2VOdW1iZXJdICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICByZW1vdmVCb29rbWFya3NCeVBhZ2VbYm9va21hcmtFbnRpdGllc1tib29rbWFya0lkXS5wYWdlTnVtYmVyXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmVtb3ZlQm9va21hcmtzQnlQYWdlW2Jvb2ttYXJrRW50aXRpZXNbYm9va21hcmtJZF0ucGFnZU51bWJlcl0ucHVzaChib29rbWFya0lkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZW1vdmVCb29rbWFya3NCeVBhZ2VbYm9va21hcmtFbnRpdGllc1tib29rbWFya0lkXS5wYWdlTnVtYmVyXSA9IFtib29rbWFya0lkXTtcbiAgICAgICAgfVxuICAgICAgICBkZWxldGUgYm9va21hcmtFbnRpdGllc1tib29rbWFya0lkXTtcbiAgICAgIH0pO1xuXG4gICAgICBPYmplY3QuZW50cmllcyhyZW1vdmVCb29rbWFya3NCeVBhZ2UpLmZvckVhY2goXG4gICAgICAgIChbcGFnZU51bWJlciwgYm1ya0lkc10pID0+IHtcbiAgICAgICAgICBib29rbWFya1BhZ2VFbnRpdGllc1twYWdlTnVtYmVyXVxuICAgICAgICAgID0gYm9va21hcmtQYWdlRW50aXRpZXNbcGFnZU51bWJlcl0uZmlsdGVyKGJvb2ttYXJrID0+ICFibXJrSWRzLmluY2x1ZGVzKGJvb2ttYXJrLmlkKSk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBib29rbWFya0VudGl0aWVzLFxuICAgICAgICBib29rbWFya1BhZ2VFbnRpdGllcyxcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGxvYWRlZDogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Cb29rbWFya3MuVVBEQVRFX0JPT0tNQVJLX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGJvb2ttYXJrOiBCb29rbWFyayA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgYm9va21hcmtFbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUuYm9va21hcmtFbnRpdGllcyxcbiAgICAgICAgW2Jvb2ttYXJrLmlkXTogeyAuLi5ib29rbWFyayB9XG4gICAgICB9O1xuICAgICAgY29uc3QgYm9va21hcmtBcnJheSA9IE9iamVjdC5rZXlzKGJvb2ttYXJrRW50aXRpZXMpLm1hcChrZXkgPT4gYm9va21hcmtFbnRpdGllc1trZXldKTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYm9va21hcmtBcnJheSwgJ3BhZ2VOdW1iZXInKTtcbiAgICAgIGNvbnN0IGVkaXRhYmxlQm9va21hcmsgPSB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYm9va21hcmtFbnRpdGllcyxcbiAgICAgICAgZWRpdGFibGVCb29rbWFyayxcbiAgICAgICAgYm9va21hcmtQYWdlRW50aXRpZXMsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrcyA9IChzdGF0ZTogQm9va21hcmtzU3RhdGUpID0+IHN0YXRlLmJvb2ttYXJrcztcbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya0VudHMgPSAoc3RhdGU6IEJvb2ttYXJrc1N0YXRlKSA9PiBzdGF0ZS5ib29rbWFya0VudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrUGFnZUVudCA9IChzdGF0ZTogQm9va21hcmtzU3RhdGUpID0+IHN0YXRlLmJvb2ttYXJrUGFnZUVudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldEVkaXRCb29rbWFyayA9IChzdGF0ZTogQm9va21hcmtzU3RhdGUpID0+IHN0YXRlLmVkaXRhYmxlQm9va21hcms7XG4iXX0=
@@ -1,135 +0,0 @@
1
- import * as fromActions from '../actions/document.actions';
2
- export const initialDocumentState = {
3
- convertedDocument: undefined,
4
- documentId: undefined,
5
- pdfPosition: undefined,
6
- pages: {},
7
- hasDifferentPageSize: false,
8
- rotation: undefined,
9
- rotationLoaded: false,
10
- loading: false,
11
- loaded: false
12
- };
13
- export function docReducer(state = initialDocumentState, action) {
14
- switch (action.type) {
15
- case fromActions.CONVERT_SUCCESS: {
16
- const convertedDocument = {
17
- url: action.payload,
18
- error: undefined
19
- };
20
- return {
21
- ...state,
22
- convertedDocument
23
- };
24
- }
25
- case fromActions.CONVERT_FAIL: {
26
- const convertedDocument = {
27
- url: undefined,
28
- error: action.payload
29
- };
30
- return {
31
- ...state,
32
- convertedDocument
33
- };
34
- }
35
- case fromActions.CLEAR_CONVERT_DOC_URL: {
36
- const convertedDocument = undefined;
37
- return {
38
- ...state,
39
- convertedDocument
40
- };
41
- }
42
- case fromActions.LOAD_ROTATION: {
43
- return {
44
- ...state,
45
- rotationLoaded: false
46
- };
47
- }
48
- case fromActions.LOAD_ROTATION_SUCCESS: {
49
- const metadata = action.payload;
50
- const rotation = metadata ? metadata.rotationAngle : 0;
51
- return {
52
- ...state,
53
- rotation,
54
- rotationLoaded: true
55
- };
56
- }
57
- case fromActions.LOAD_ROTATION_FAIL: {
58
- return {
59
- ...state,
60
- rotation: 0,
61
- rotationLoaded: true
62
- };
63
- }
64
- case fromActions.SAVE_ROTATION_SUCCESS: {
65
- const metadata = action.payload;
66
- const rotation = metadata.rotationAngle;
67
- return {
68
- ...state,
69
- rotation
70
- };
71
- }
72
- case fromActions.SET_DOCUMENT_ID: {
73
- return {
74
- ...state,
75
- documentId: action.payload
76
- };
77
- }
78
- case fromActions.ADD_PAGES: {
79
- const payload = action.payload;
80
- let pages = {};
81
- let pageHeight;
82
- let pageWidth;
83
- let hasDifferentPageSize = state.hasDifferentPageSize;
84
- payload.forEach(page => {
85
- if (!hasDifferentPageSize && pageHeight && pageWidth &&
86
- (pageHeight !== page.div['scrollHeight'] || pageWidth !== page.div['scrollWidth'])) {
87
- hasDifferentPageSize = true;
88
- }
89
- else {
90
- pageHeight = page.div['scrollHeight'];
91
- pageWidth = page.div['scrollWidth'];
92
- }
93
- const styles = {
94
- left: page.div['offsetLeft'],
95
- height: page.div['scrollHeight'],
96
- width: page.div['scrollWidth']
97
- };
98
- const scaleRotation = {
99
- scale: page.scale,
100
- rotation: page.rotation
101
- };
102
- const p = {
103
- styles,
104
- scaleRotation,
105
- viewportScale: page.viewportScale
106
- };
107
- pages = {
108
- ...pages,
109
- [page.id]: p
110
- };
111
- });
112
- return {
113
- ...state,
114
- pages,
115
- hasDifferentPageSize
116
- };
117
- }
118
- case fromActions.POSITION_UPDATED: {
119
- const pdfPosition = action.payload;
120
- return {
121
- ...state,
122
- pdfPosition
123
- };
124
- }
125
- }
126
- return state;
127
- }
128
- export const getDocPages = (state) => state.pages;
129
- export const getDocId = (state) => state.documentId;
130
- export const getPdfPos = (state) => state.pdfPosition;
131
- export const getHasDifferentPageSizes = (state) => state.hasDifferentPageSize;
132
- export const getRotation = (state) => state.rotation;
133
- export const rotationLoaded = (state) => state.rotationLoaded;
134
- export const getConvertedDocument = (state) => state.convertedDocument;
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL3JlZHVjZXJzL2RvY3VtZW50LnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQztBQWdDM0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWtCO0lBQ2pELGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsVUFBVSxFQUFFLFNBQVM7SUFDckIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsS0FBSyxFQUFFLEVBQUU7SUFDVCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLEtBQUs7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLFVBQVUsQ0FBRSxLQUFLLEdBQUcsb0JBQW9CLEVBQzVCLE1BQW1DO0lBRTdELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXBCLEtBQUssV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDakMsTUFBTSxpQkFBaUIsR0FBRztnQkFDeEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2dCQUNuQixLQUFLLEVBQUUsU0FBUzthQUNqQixDQUFDO1lBQ0YsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsaUJBQWlCO2FBQ2xCLENBQUM7UUFDSixDQUFDO1FBRUQsS0FBSyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLGlCQUFpQixHQUFHO2dCQUN4QixHQUFHLEVBQUUsU0FBUztnQkFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU87YUFDdEIsQ0FBQztZQUNGLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLGlCQUFpQjthQUNs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QUFvQixHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnJvbUFjdGlvbnMgZnJvbSAnLi4vYWN0aW9ucy9kb2N1bWVudC5hY3Rpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudFN0YXRlIHtcbiAgY29udmVydGVkRG9jdW1lbnQ6IHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBlcnJvcjogc3RyaW5nO1xuICB9O1xuICBkb2N1bWVudElkOiBzdHJpbmc7XG4gIHBkZlBvc2l0aW9uOiBQZGZQb3NpdGlvbjtcbiAgcGFnZXM6IHtbaWQ6IHN0cmluZ106IERvY3VtZW50UGFnZXN9O1xuICBoYXNEaWZmZXJlbnRQYWdlU2l6ZTogYm9vbGVhbjtcbiAgcm90YXRpb246IG51bWJlcjtcbiAgcm90YXRpb25Mb2FkZWQ6IGJvb2xlYW47XG4gIGxvYWRlZDogYm9vbGVhbjtcbiAgbG9hZGluZzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudFBhZ2VzIHtcbiBudW1iZXJPZlBhZ2VzOiBudW1iZXI7XG4gc3R5bGVzOiB7IGxlZnQ6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIsIHdpZHRoOiBudW1iZXIgfTtcbiBzY2FsZVJvdGF0aW9uOiB7IHNjYWxlOiBzdHJpbmc7IHJvdGF0aW9uOiBzdHJpbmcgfTtcbiB2aWV3cG9ydFNjYWxlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGRmUG9zaXRpb24ge1xuICBwYWdlTnVtYmVyOiBudW1iZXI7XG4gIHNjYWxlOiBudW1iZXI7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIHJvdGF0aW9uOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsRG9jdW1lbnRTdGF0ZTogRG9jdW1lbnRTdGF0ZSA9IHtcbiAgY29udmVydGVkRG9jdW1lbnQ6IHVuZGVmaW5lZCxcbiAgZG9jdW1lbnRJZDogdW5kZWZpbmVkLFxuICBwZGZQb3NpdGlvbjogdW5kZWZpbmVkLFxuICBwYWdlczoge30sXG4gIGhhc0RpZmZlcmVudFBhZ2VTaXplOiBmYWxzZSxcbiAgcm90YXRpb246IHVuZGVmaW5lZCxcbiAgcm90YXRpb25Mb2FkZWQ6IGZhbHNlLFxuICBsb2FkaW5nOiBmYWxzZSxcbiAgbG9hZGVkOiBmYWxzZVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRvY1JlZHVjZXIgKHN0YXRlID0gaW5pdGlhbERvY3VtZW50U3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBmcm9tQWN0aW9ucy5Eb2N1bWVudEFjdGlvbnMpOiBEb2N1bWVudFN0YXRlIHtcblxuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG5cbiAgICBjYXNlIGZyb21BY3Rpb25zLkNPTlZFUlRfU1VDQ0VTUzoge1xuICAgICAgY29uc3QgY29udmVydGVkRG9jdW1lbnQgPSB7XG4gICAgICAgIHVybDogYWN0aW9uLnBheWxvYWQsXG4gICAgICAgIGVycm9yOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgY29udmVydGVkRG9jdW1lbnRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5DT05WRVJUX0ZBSUw6IHtcbiAgICAgIGNvbnN0IGNvbnZlcnRlZERvY3VtZW50ID0ge1xuICAgICAgICB1cmw6IHVuZGVmaW5lZCxcbiAgICAgICAgZXJyb3I6IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbnZlcnRlZERvY3VtZW50XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuQ0xFQVJfQ09OVkVSVF9ET0NfVVJMOiB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWREb2N1bWVudCA9IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb252ZXJ0ZWREb2N1bWVudFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21BY3Rpb25zLkxPQURfUk9UQVRJT046IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByb3RhdGlvbkxvYWRlZDogZmFsc2VcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5MT0FEX1JPVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCByb3RhdGlvbiA9IG1ldGFkYXRhID8gbWV0YWRhdGEucm90YXRpb25BbmdsZSA6IDA7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcm90YXRpb24sXG4gICAgICAgIHJvdGF0aW9uTG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuTE9BRF9ST1RBVElPTl9GQUlMOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcm90YXRpb246IDAsXG4gICAgICAgIHJvdGF0aW9uTG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuU0FWRV9ST1RBVElPTl9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBtZXRhZGF0YSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3Qgcm90YXRpb24gPSBtZXRhZGF0YS5yb3RhdGlvbkFuZ2xlO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJvdGF0aW9uXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuU0VUX0RPQ1VNRU5UX0lEIDoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGRvY3VtZW50SWQ6IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuQUREX1BBR0VTOiB7XG4gICAgICBjb25zdCBwYXlsb2FkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBsZXQgcGFnZXMgPSB7fTtcbiAgICAgIGxldCBwYWdlSGVpZ2h0O1xuICAgICAgbGV0IHBhZ2VXaWR0aDtcbiAgICAgIGxldCBoYXNEaWZmZXJlbnRQYWdlU2l6ZSA9IHN0YXRlLmhhc0RpZmZlcmVudFBhZ2VTaXplO1xuICAgICAgcGF5bG9hZC5mb3JFYWNoKHBhZ2UgPT4ge1xuICAgICAgICBpZiAoIWhhc0RpZmZlcmVudFBhZ2VTaXplICYmIHBhZ2VIZWlnaHQgJiYgcGFnZVdpZHRoICYmXG4gICAgICAgICAgKHBhZ2VIZWlnaHQgIT09IHBhZ2UuZGl2WydzY3JvbGxIZWlnaHQnXSB8fCBwYWdlV2lkdGggIT09IHBhZ2UuZGl2WydzY3JvbGxXaWR0aCddKSkge1xuICAgICAgICAgICAgaGFzRGlmZmVyZW50UGFnZVNpemUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhZ2VIZWlnaHQgPSBwYWdlLmRpdlsnc2Nyb2xsSGVpZ2h0J107XG4gICAgICAgICAgcGFnZVdpZHRoID0gcGFnZS5kaXZbJ3Njcm9sbFdpZHRoJ107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3R5bGVzID0ge1xuICAgICAgICAgIGxlZnQ6IHBhZ2UuZGl2WydvZmZzZXRMZWZ0J10sXG4gICAgICAgICAgaGVpZ2h0OiBwYWdlLmRpdlsnc2Nyb2xsSGVpZ2h0J10sXG4gICAgICAgICAgd2lkdGg6IHBhZ2UuZGl2WydzY3JvbGxXaWR0aCddXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2NhbGVSb3RhdGlvbiA9IHtcbiAgICAgICAgICBzY2FsZTogcGFnZS5zY2FsZSxcbiAgICAgICAgICByb3RhdGlvbjogcGFnZS5yb3RhdGlvblxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHAgPSB7XG4gICAgICAgICAgc3R5bGVzLFxuICAgICAgICAgIHNjYWxlUm90YXRpb24sXG4gICAgICAgICAgdmlld3BvcnRTY2FsZTogcGFnZS52aWV3cG9ydFNjYWxlXG4gICAgICAgIH07XG5cbiAgICAgICAgcGFnZXMgPSB7XG4gICAgICAgICAgLi4ucGFnZXMsXG4gICAgICAgICAgW3BhZ2UuaWRdOiBwXG4gICAgICAgIH07XG5cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHBhZ2VzLFxuICAgICAgICBoYXNEaWZmZXJlbnRQYWdlU2l6ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21BY3Rpb25zLlBPU0lUSU9OX1VQREFURUQ6IHtcbiAgICAgIGNvbnN0IHBkZlBvc2l0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcGRmUG9zaXRpb25cbiAgICAgIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBzdGF0ZTtcbn1cbmV4cG9ydCBjb25zdCBnZXREb2NQYWdlcyA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUucGFnZXM7XG5leHBvcnQgY29uc3QgZ2V0RG9jSWQgPSAoc3RhdGU6IERvY3VtZW50U3RhdGUpID0+IHN0YXRlLmRvY3VtZW50SWQ7XG5leHBvcnQgY29uc3QgZ2V0UGRmUG9zID0gKHN0YXRlOiBEb2N1bWVudFN0YXRlKSA9PiBzdGF0ZS5wZGZQb3NpdGlvbjtcbmV4cG9ydCBjb25zdCBnZXRIYXNEaWZmZXJlbnRQYWdlU2l6ZXMgPSAoc3RhdGU6IERvY3VtZW50U3RhdGUpID0+IHN0YXRlLmhhc0RpZmZlcmVudFBhZ2VTaXplO1xuZXhwb3J0IGNvbnN0IGdldFJvdGF0aW9uID0gKHN0YXRlOiBEb2N1bWVudFN0YXRlKSA9PiBzdGF0ZS5yb3RhdGlvbjtcbmV4cG9ydCBjb25zdCByb3RhdGlvbkxvYWRlZCA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUucm90YXRpb25Mb2FkZWQ7XG5leHBvcnQgY29uc3QgZ2V0Q29udmVydGVkRG9jdW1lbnQgPSAoc3RhdGU6IERvY3VtZW50U3RhdGUpID0+IHN0YXRlLmNvbnZlcnRlZERvY3VtZW50O1xuIl19