@hmcts/media-viewer 2.9.5 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/assets/all.scss +1 -1
  2. package/assets/sass/tags.scss +1 -1
  3. package/esm2020/hmcts-media-viewer.mjs +5 -0
  4. package/esm2020/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +116 -0
  5. package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +109 -0
  6. package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +75 -0
  7. package/esm2020/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
  8. package/esm2020/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
  9. package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
  10. package/esm2020/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +118 -0
  11. package/esm2020/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +87 -0
  12. package/esm2020/lib/annotations/annotations.module.mjs +158 -0
  13. package/esm2020/lib/annotations/comment-set/comment/comment.component.mjs +176 -0
  14. package/esm2020/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
  15. package/esm2020/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
  16. package/esm2020/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +31 -0
  17. package/esm2020/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
  18. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +61 -0
  19. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +53 -0
  20. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +68 -0
  21. package/esm2020/lib/annotations/comment-set/comment-set-render.service.mjs +54 -0
  22. package/esm2020/lib/annotations/comment-set/comment-set.component.mjs +123 -0
  23. package/esm2020/lib/annotations/comments-summary/comments-summary.component.mjs +113 -0
  24. package/esm2020/lib/annotations/pipes/date/date.pipe.mjs +26 -0
  25. package/esm2020/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
  26. package/esm2020/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +16 -0
  27. package/esm2020/lib/annotations/services/annotation-api/annotation-api.service.mjs +58 -0
  28. package/esm2020/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +45 -0
  29. package/esm2020/lib/annotations/services/tags/tags.services.mjs +41 -0
  30. package/esm2020/lib/annotations/tags/tags.component.mjs +53 -0
  31. package/esm2020/lib/bookmark/components/bookmark-icons.component.mjs +25 -0
  32. package/esm2020/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +22 -0
  33. package/esm2020/lib/icp/icp-follower.service.mjs +60 -0
  34. package/esm2020/lib/icp/icp-presenter.service.mjs +55 -0
  35. package/esm2020/lib/icp/icp-session-api.service.mjs +21 -0
  36. package/esm2020/lib/icp/icp-update.service.mjs +57 -0
  37. package/esm2020/lib/icp/icp.service.mjs +93 -0
  38. package/esm2020/lib/icp/participants-list/participants-list.component.mjs +30 -0
  39. package/esm2020/lib/icp/socket.service.mjs +118 -0
  40. package/esm2020/lib/media-viewer.component.mjs +244 -0
  41. package/esm2020/lib/media-viewer.module.mjs +151 -0
  42. package/{esm2015/lib/print.service.js → esm2020/lib/print.service.mjs} +9 -7
  43. package/esm2020/lib/redaction/components/redaction.component.mjs +91 -0
  44. package/esm2020/lib/redaction/services/redaction-api.service.mjs +50 -0
  45. package/esm2020/lib/shared/gov-uk-date/gov-uk-date.component.mjs +28 -0
  46. package/esm2020/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +34 -0
  47. package/esm2020/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +63 -0
  48. package/esm2020/lib/shared/gov-uk-label/gov-uk-label.component.mjs +44 -0
  49. package/esm2020/lib/shared/shared.module.mjs +53 -0
  50. package/esm2020/lib/shared/util/services/number.helper.service.mjs +23 -0
  51. package/{esm2015/lib/store/bookmarks-store-utils.js → esm2020/lib/store/bookmarks-store-utils.mjs} +1 -3
  52. package/esm2020/lib/store/effects/annotation.effects.mjs +44 -0
  53. package/esm2020/lib/store/effects/bookmarks.effects.mjs +44 -0
  54. package/esm2020/lib/store/effects/document.effects.mjs +44 -0
  55. package/esm2020/lib/store/effects/icp.effects.mjs +26 -0
  56. package/esm2020/lib/store/effects/redaction.effects.mjs +67 -0
  57. package/esm2020/lib/store/reducers/annotations.reducer.mjs +183 -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/esm2020/lib/store/selectors/bookmark.selectors.mjs +36 -0
  65. package/{esm2015/lib/store/selectors/document.selectors.js → esm2020/lib/store/selectors/document.selectors.mjs} +3 -6
  66. package/esm2020/lib/store/selectors/icp.selectors.mjs +13 -0
  67. package/{esm2015/lib/store/selectors/redaction.selectors.js → esm2020/lib/store/selectors/redaction.selectors.mjs} +6 -10
  68. package/{esm2015/lib/store/selectors/tag.selectors.js → esm2020/lib/store/selectors/tag.selectors.mjs} +4 -7
  69. package/esm2020/lib/store/store-utils.mjs +131 -0
  70. package/esm2020/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +41 -0
  71. package/esm2020/lib/toolbar/main-toolbar/main-toolbar.component.mjs +188 -0
  72. package/esm2020/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +199 -0
  73. package/esm2020/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +66 -0
  74. package/esm2020/lib/toolbar/search-bar/search-bar.component.mjs +105 -0
  75. package/esm2020/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
  76. package/{esm2015/lib/toolbar/toolbar-event.service.js → esm2020/lib/toolbar/toolbar-event.service.mjs} +7 -5
  77. package/esm2020/lib/toolbar/toolbar.module.mjs +67 -0
  78. package/esm2020/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +78 -0
  79. package/esm2020/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +22 -0
  80. package/esm2020/lib/viewers/grab-n-drag.directive.mjs +57 -0
  81. package/esm2020/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
  82. package/esm2020/lib/viewers/multimedia-player/multimedia-player.component.mjs +58 -0
  83. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +193 -0
  84. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +40 -0
  85. package/esm2020/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +230 -0
  86. package/esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +192 -0
  87. package/esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
  88. package/esm2020/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +77 -0
  89. package/esm2020/lib/viewers/rotation-persist/rotation-api.service.mjs +27 -0
  90. package/esm2020/lib/viewers/rotation-persist/rotation-persist.directive.mjs +64 -0
  91. package/esm2020/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
  92. package/esm2020/lib/viewers/viewer-event.service.mjs +30 -0
  93. package/esm2020/lib/viewers/viewer-util.service.mjs +20 -0
  94. package/esm2020/public_api.mjs +32 -0
  95. package/fesm2015/hmcts-media-viewer.mjs +6602 -0
  96. package/fesm2015/hmcts-media-viewer.mjs.map +1 -0
  97. package/fesm2020/hmcts-media-viewer.mjs +6893 -0
  98. package/fesm2020/hmcts-media-viewer.mjs.map +1 -0
  99. package/hmcts-media-viewer.d.ts.map +1 -1
  100. package/index.d.ts +6 -0
  101. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +3 -0
  102. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -1
  103. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +3 -0
  104. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +1 -1
  105. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +3 -0
  106. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -1
  107. package/lib/annotations/annotation-set/annotation-set.component.d.ts +3 -0
  108. package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +1 -1
  109. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +3 -0
  110. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -1
  111. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +5 -2
  112. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +1 -1
  113. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +3 -0
  114. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +1 -1
  115. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +3 -0
  116. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -1
  117. package/lib/annotations/annotations.module.d.ts +32 -0
  118. package/lib/annotations/annotations.module.d.ts.map +1 -1
  119. package/lib/annotations/comment-set/comment/comment.component.d.ts +3 -0
  120. package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -1
  121. package/lib/annotations/comment-set/comment/comment.service.d.ts +5 -2
  122. package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -1
  123. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +3 -0
  124. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +1 -1
  125. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +3 -0
  126. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +1 -1
  127. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +3 -0
  128. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +1 -1
  129. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +6 -3
  130. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +1 -1
  131. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +3 -0
  132. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +1 -1
  133. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +3 -0
  134. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -1
  135. package/lib/annotations/comment-set/comment-set-render.service.d.ts +3 -0
  136. package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +1 -1
  137. package/lib/annotations/comment-set/comment-set.component.d.ts +3 -0
  138. package/lib/annotations/comment-set/comment-set.component.d.ts.map +1 -1
  139. package/lib/annotations/comments-summary/comments-summary.component.d.ts +6 -3
  140. package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +1 -1
  141. package/lib/annotations/pipes/date/date.pipe.d.ts +3 -0
  142. package/lib/annotations/pipes/date/date.pipe.d.ts.map +1 -1
  143. package/lib/annotations/pipes/filter/filter.pipe.d.ts +3 -0
  144. package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +1 -1
  145. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +3 -0
  146. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +1 -1
  147. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +3 -0
  148. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +1 -1
  149. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +3 -0
  150. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +1 -1
  151. package/lib/annotations/services/tags/tags.services.d.ts +3 -0
  152. package/lib/annotations/services/tags/tags.services.d.ts.map +1 -1
  153. package/lib/annotations/tags/tags.component.d.ts +6 -3
  154. package/lib/annotations/tags/tags.component.d.ts.map +1 -1
  155. package/lib/bookmark/components/bookmark-icons.component.d.ts +3 -0
  156. package/lib/bookmark/components/bookmark-icons.component.d.ts.map +1 -1
  157. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +3 -0
  158. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +1 -1
  159. package/lib/icp/icp-follower.service.d.ts +3 -0
  160. package/lib/icp/icp-follower.service.d.ts.map +1 -1
  161. package/lib/icp/icp-presenter.service.d.ts +3 -0
  162. package/lib/icp/icp-presenter.service.d.ts.map +1 -1
  163. package/lib/icp/icp-session-api.service.d.ts +3 -0
  164. package/lib/icp/icp-session-api.service.d.ts.map +1 -1
  165. package/lib/icp/icp-update.service.d.ts +3 -0
  166. package/lib/icp/icp-update.service.d.ts.map +1 -1
  167. package/lib/icp/icp.service.d.ts +3 -0
  168. package/lib/icp/icp.service.d.ts.map +1 -1
  169. package/lib/icp/participants-list/participants-list.component.d.ts +3 -0
  170. package/lib/icp/participants-list/participants-list.component.d.ts.map +1 -1
  171. package/lib/icp/socket.service.d.ts +3 -0
  172. package/lib/icp/socket.service.d.ts.map +1 -1
  173. package/lib/media-viewer.component.d.ts +3 -0
  174. package/lib/media-viewer.component.d.ts.map +1 -1
  175. package/lib/media-viewer.module.d.ts +31 -0
  176. package/lib/media-viewer.module.d.ts.map +1 -1
  177. package/lib/print.service.d.ts +3 -0
  178. package/lib/print.service.d.ts.map +1 -1
  179. package/lib/redaction/components/redaction.component.d.ts +3 -0
  180. package/lib/redaction/components/redaction.component.d.ts.map +1 -1
  181. package/lib/redaction/services/redaction-api.service.d.ts +3 -0
  182. package/lib/redaction/services/redaction-api.service.d.ts.map +1 -1
  183. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +3 -0
  184. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +1 -1
  185. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +3 -0
  186. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +1 -1
  187. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +3 -0
  188. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +1 -1
  189. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +3 -0
  190. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +1 -1
  191. package/lib/shared/shared.module.d.ts +11 -0
  192. package/lib/shared/shared.module.d.ts.map +1 -1
  193. package/lib/shared/util/services/number.helper.service.d.ts +3 -0
  194. package/lib/shared/util/services/number.helper.service.d.ts.map +1 -1
  195. package/lib/store/actions/annotation.actions.d.ts +1 -1
  196. package/lib/store/actions/annotation.actions.d.ts.map +1 -1
  197. package/lib/store/actions/bookmark.actions.d.ts +1 -1
  198. package/lib/store/actions/bookmark.actions.d.ts.map +1 -1
  199. package/lib/store/actions/document.actions.d.ts +1 -1
  200. package/lib/store/actions/document.actions.d.ts.map +1 -1
  201. package/lib/store/actions/icp.actions.d.ts +1 -1
  202. package/lib/store/actions/icp.actions.d.ts.map +1 -1
  203. package/lib/store/actions/redaction.actions.d.ts +1 -1
  204. package/lib/store/actions/redaction.actions.d.ts.map +1 -1
  205. package/lib/store/actions/tag.actions.d.ts +1 -1
  206. package/lib/store/actions/tag.actions.d.ts.map +1 -1
  207. package/lib/store/effects/annotation.effects.d.ts +6 -3
  208. package/lib/store/effects/annotation.effects.d.ts.map +1 -1
  209. package/lib/store/effects/bookmarks.effects.d.ts +8 -5
  210. package/lib/store/effects/bookmarks.effects.d.ts.map +1 -1
  211. package/lib/store/effects/document.effects.d.ts +6 -3
  212. package/lib/store/effects/document.effects.d.ts.map +1 -1
  213. package/lib/store/effects/icp.effects.d.ts +5 -2
  214. package/lib/store/effects/icp.effects.d.ts.map +1 -1
  215. package/lib/store/effects/redaction.effects.d.ts +9 -6
  216. package/lib/store/effects/redaction.effects.d.ts.map +1 -1
  217. package/lib/store/selectors/annotation.selectors.d.ts +70 -27
  218. package/lib/store/selectors/annotation.selectors.d.ts.map +1 -1
  219. package/lib/store/selectors/bookmark.selectors.d.ts +18 -10
  220. package/lib/store/selectors/bookmark.selectors.d.ts.map +1 -1
  221. package/lib/store/selectors/document.selectors.d.ts +13 -11
  222. package/lib/store/selectors/document.selectors.d.ts.map +1 -1
  223. package/lib/store/selectors/icp.selectors.d.ts +9 -8
  224. package/lib/store/selectors/icp.selectors.d.ts.map +1 -1
  225. package/lib/store/selectors/redaction.selectors.d.ts +17 -11
  226. package/lib/store/selectors/redaction.selectors.d.ts.map +1 -1
  227. package/lib/store/selectors/tag.selectors.d.ts +14 -12
  228. package/lib/store/selectors/tag.selectors.d.ts.map +1 -1
  229. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +3 -0
  230. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +1 -1
  231. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +3 -0
  232. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -1
  233. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +5 -2
  234. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +1 -1
  235. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +3 -0
  236. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -1
  237. package/lib/toolbar/search-bar/search-bar.component.d.ts +3 -0
  238. package/lib/toolbar/search-bar/search-bar.component.d.ts.map +1 -1
  239. package/lib/toolbar/toolbar-button-visibility.service.d.ts +3 -0
  240. package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +1 -1
  241. package/lib/toolbar/toolbar-event.service.d.ts +5 -2
  242. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
  243. package/lib/toolbar/toolbar.module.d.ts +13 -0
  244. package/lib/toolbar/toolbar.module.d.ts.map +1 -1
  245. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +3 -0
  246. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +1 -1
  247. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +3 -0
  248. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +1 -1
  249. package/lib/viewers/grab-n-drag.directive.d.ts +3 -0
  250. package/lib/viewers/grab-n-drag.directive.d.ts.map +1 -1
  251. package/lib/viewers/image-viewer/image-viewer.component.d.ts +3 -0
  252. package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +1 -1
  253. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +3 -0
  254. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +1 -1
  255. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +3 -0
  256. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +1 -1
  257. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +3 -0
  258. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -1
  259. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +5 -2
  260. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -1
  261. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +3 -0
  262. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -1
  263. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +3 -0
  264. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -1
  265. package/lib/viewers/rotation-persist/rotation-api.service.d.ts +3 -0
  266. package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +1 -1
  267. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +3 -0
  268. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +1 -1
  269. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +3 -0
  270. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +1 -1
  271. package/lib/viewers/viewer-event.service.d.ts +3 -0
  272. package/lib/viewers/viewer-event.service.d.ts.map +1 -1
  273. package/lib/viewers/viewer-util.service.d.ts +3 -0
  274. package/lib/viewers/viewer-util.service.d.ts.map +1 -1
  275. package/package.json +34 -22
  276. package/public_api.d.ts +1 -0
  277. package/public_api.d.ts.map +1 -1
  278. package/bundles/hmcts-media-viewer.umd.js +0 -7552
  279. package/bundles/hmcts-media-viewer.umd.js.map +0 -1
  280. package/bundles/hmcts-media-viewer.umd.min.js +0 -2
  281. package/bundles/hmcts-media-viewer.umd.min.js.map +0 -1
  282. package/esm2015/hmcts-media-viewer.js +0 -64
  283. package/esm2015/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +0 -113
  284. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +0 -111
  285. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +0 -61
  286. package/esm2015/lib/annotations/annotation-set/annotation-set.component.js +0 -47
  287. package/esm2015/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +0 -86
  288. package/esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.js +0 -108
  289. package/esm2015/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.js +0 -107
  290. package/esm2015/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +0 -81
  291. package/esm2015/lib/annotations/annotations.module.js +0 -103
  292. package/esm2015/lib/annotations/comment-set/comment/comment.component.js +0 -162
  293. package/esm2015/lib/annotations/comment-set/comment/comment.service.js +0 -47
  294. package/esm2015/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.js +0 -48
  295. package/esm2015/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.js +0 -31
  296. package/esm2015/lib/annotations/comment-set/comment-navigate/comments-navigate.component.js +0 -95
  297. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.js +0 -60
  298. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.js +0 -53
  299. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +0 -68
  300. package/esm2015/lib/annotations/comment-set/comment-set-render.service.js +0 -51
  301. package/esm2015/lib/annotations/comment-set/comment-set.component.js +0 -110
  302. package/esm2015/lib/annotations/comments-summary/comments-summary.component.js +0 -106
  303. package/esm2015/lib/annotations/pipes/date/date.pipe.js +0 -22
  304. package/esm2015/lib/annotations/pipes/filter/filter.pipe.js +0 -28
  305. package/esm2015/lib/annotations/pipes/unsnake/unsnake.pipe.js +0 -12
  306. package/esm2015/lib/annotations/services/annotation-api/annotation-api.service.js +0 -59
  307. package/esm2015/lib/annotations/services/bookmarks-api/bookmarks-api.service.js +0 -46
  308. package/esm2015/lib/annotations/services/tags/tags.services.js +0 -36
  309. package/esm2015/lib/annotations/tags/tags.component.js +0 -52
  310. package/esm2015/lib/bookmark/components/bookmark-icons.component.js +0 -26
  311. package/esm2015/lib/icp/confirm-exit/confirm-action-dialog.component.js +0 -25
  312. package/esm2015/lib/icp/icp-follower.service.js +0 -63
  313. package/esm2015/lib/icp/icp-presenter.service.js +0 -57
  314. package/esm2015/lib/icp/icp-session-api.service.js +0 -22
  315. package/esm2015/lib/icp/icp-update.service.js +0 -56
  316. package/esm2015/lib/icp/icp.service.js +0 -98
  317. package/esm2015/lib/icp/participants-list/participants-list.component.js +0 -32
  318. package/esm2015/lib/icp/socket.service.js +0 -117
  319. package/esm2015/lib/media-viewer.component.js +0 -210
  320. package/esm2015/lib/media-viewer.module.js +0 -102
  321. package/esm2015/lib/redaction/components/redaction.component.js +0 -97
  322. package/esm2015/lib/redaction/services/redaction-api.service.js +0 -51
  323. package/esm2015/lib/shared/gov-uk-date/gov-uk-date.component.js +0 -21
  324. package/esm2015/lib/shared/gov-uk-error-message/gov-uk-error-message.component.js +0 -27
  325. package/esm2015/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -42
  326. package/esm2015/lib/shared/gov-uk-label/gov-uk-label.component.js +0 -32
  327. package/esm2015/lib/shared/shared.module.js +0 -34
  328. package/esm2015/lib/shared/util/services/number.helper.service.js +0 -23
  329. package/esm2015/lib/store/effects/annotation.effects.js +0 -58
  330. package/esm2015/lib/store/effects/bookmarks.effects.js +0 -66
  331. package/esm2015/lib/store/effects/document.effects.js +0 -59
  332. package/esm2015/lib/store/effects/icp.effects.js +0 -37
  333. package/esm2015/lib/store/effects/redaction.effects.js +0 -94
  334. package/esm2015/lib/store/reducers/annotations.reducer.js +0 -115
  335. package/esm2015/lib/store/reducers/bookmarks.reducer.js +0 -80
  336. package/esm2015/lib/store/reducers/document.reducer.js +0 -100
  337. package/esm2015/lib/store/reducers/icp.reducer.js +0 -40
  338. package/esm2015/lib/store/reducers/redaction.reducer.js +0 -75
  339. package/esm2015/lib/store/reducers/tags.reducer.js +0 -67
  340. package/esm2015/lib/store/selectors/annotation.selectors.js +0 -84
  341. package/esm2015/lib/store/selectors/bookmark.selectors.js +0 -41
  342. package/esm2015/lib/store/selectors/icp.selectors.js +0 -18
  343. package/esm2015/lib/store/store-utils.js +0 -105
  344. package/esm2015/lib/toolbar/icp-toolbar/icp-toolbar.component.js +0 -43
  345. package/esm2015/lib/toolbar/main-toolbar/main-toolbar.component.js +0 -175
  346. package/esm2015/lib/toolbar/redaction-search-bar/redaction-search-bar.component.js +0 -201
  347. package/esm2015/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +0 -70
  348. package/esm2015/lib/toolbar/search-bar/search-bar.component.js +0 -102
  349. package/esm2015/lib/toolbar/toolbar-button-visibility.service.js +0 -92
  350. package/esm2015/lib/toolbar/toolbar.module.js +0 -45
  351. package/esm2015/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.js +0 -72
  352. package/esm2015/lib/viewers/convertible-content-viewer/document-conversion-api.service.js +0 -23
  353. package/esm2015/lib/viewers/grab-n-drag.directive.js +0 -51
  354. package/esm2015/lib/viewers/image-viewer/image-viewer.component.js +0 -164
  355. package/esm2015/lib/viewers/multimedia-player/multimedia-player.component.js +0 -54
  356. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +0 -203
  357. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.js +0 -43
  358. package/esm2015/lib/viewers/pdf-viewer/pdf-viewer.component.js +0 -220
  359. package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +0 -179
  360. package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +0 -44
  361. package/esm2015/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +0 -72
  362. package/esm2015/lib/viewers/rotation-persist/rotation-api.service.js +0 -28
  363. package/esm2015/lib/viewers/rotation-persist/rotation-persist.directive.js +0 -67
  364. package/esm2015/lib/viewers/unsupported-viewer/unsupported-viewer.component.js +0 -47
  365. package/esm2015/lib/viewers/viewer-event.service.js +0 -30
  366. package/esm2015/lib/viewers/viewer-util.service.js +0 -23
  367. package/esm2015/public_api.js +0 -31
  368. package/fesm2015/hmcts-media-viewer.js +0 -6585
  369. package/fesm2015/hmcts-media-viewer.js.map +0 -1
  370. package/hmcts-media-viewer.d.ts +0 -69
  371. package/hmcts-media-viewer.metadata.json +0 -1
  372. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.ngfactory.d.ts.map +0 -1
  373. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.ngfactory.d.ts.map +0 -1
  374. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.ngfactory.d.ts.map +0 -1
  375. package/lib/annotations/annotation-set/annotation-set.component.ngfactory.d.ts.map +0 -1
  376. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.ngfactory.d.ts.map +0 -1
  377. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.ngfactory.d.ts.map +0 -1
  378. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.ngfactory.d.ts.map +0 -1
  379. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.ngfactory.d.ts.map +0 -1
  380. package/lib/annotations/annotations.module.ngfactory.d.ts.map +0 -1
  381. package/lib/annotations/comment-set/comment/comment.component.ngfactory.d.ts.map +0 -1
  382. package/lib/annotations/comment-set/comment/comment.service.ngfactory.d.ts.map +0 -1
  383. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.ngfactory.d.ts.map +0 -1
  384. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.ngfactory.d.ts.map +0 -1
  385. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.ngfactory.d.ts.map +0 -1
  386. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.ngfactory.d.ts.map +0 -1
  387. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.ngfactory.d.ts.map +0 -1
  388. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.ngfactory.d.ts.map +0 -1
  389. package/lib/annotations/comment-set/comment-set-render.service.ngfactory.d.ts.map +0 -1
  390. package/lib/annotations/comment-set/comment-set.component.ngfactory.d.ts.map +0 -1
  391. package/lib/annotations/comments-summary/comments-summary.component.ngfactory.d.ts.map +0 -1
  392. package/lib/annotations/pipes/date/date.pipe.ngfactory.d.ts.map +0 -1
  393. package/lib/annotations/pipes/filter/filter.pipe.ngfactory.d.ts.map +0 -1
  394. package/lib/annotations/pipes/unsnake/unsnake.pipe.ngfactory.d.ts.map +0 -1
  395. package/lib/annotations/services/annotation-api/annotation-api.service.ngfactory.d.ts.map +0 -1
  396. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.ngfactory.d.ts.map +0 -1
  397. package/lib/annotations/services/tags/tags.services.ngfactory.d.ts.map +0 -1
  398. package/lib/annotations/tags/tags.component.ngfactory.d.ts.map +0 -1
  399. package/lib/bookmark/components/bookmark-icons.component.ngfactory.d.ts.map +0 -1
  400. package/lib/icp/confirm-exit/confirm-action-dialog.component.ngfactory.d.ts.map +0 -1
  401. package/lib/icp/icp-follower.service.ngfactory.d.ts.map +0 -1
  402. package/lib/icp/icp-presenter.service.ngfactory.d.ts.map +0 -1
  403. package/lib/icp/icp-session-api.service.ngfactory.d.ts.map +0 -1
  404. package/lib/icp/icp-update.service.ngfactory.d.ts.map +0 -1
  405. package/lib/icp/icp.service.ngfactory.d.ts.map +0 -1
  406. package/lib/icp/participants-list/participants-list.component.ngfactory.d.ts.map +0 -1
  407. package/lib/icp/socket.service.ngfactory.d.ts.map +0 -1
  408. package/lib/media-viewer.component.ngfactory.d.ts.map +0 -1
  409. package/lib/media-viewer.module.ngfactory.d.ts.map +0 -1
  410. package/lib/print.service.ngfactory.d.ts.map +0 -1
  411. package/lib/redaction/components/redaction.component.ngfactory.d.ts.map +0 -1
  412. package/lib/redaction/services/redaction-api.service.ngfactory.d.ts.map +0 -1
  413. package/lib/shared/gov-uk-date/gov-uk-date.component.ngfactory.d.ts.map +0 -1
  414. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.ngfactory.d.ts.map +0 -1
  415. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.ngfactory.d.ts.map +0 -1
  416. package/lib/shared/gov-uk-label/gov-uk-label.component.ngfactory.d.ts.map +0 -1
  417. package/lib/shared/shared.module.ngfactory.d.ts.map +0 -1
  418. package/lib/shared/util/services/number.helper.service.ngfactory.d.ts.map +0 -1
  419. package/lib/store/effects/annotation.effects.ngfactory.d.ts.map +0 -1
  420. package/lib/store/effects/bookmarks.effects.ngfactory.d.ts.map +0 -1
  421. package/lib/store/effects/document.effects.ngfactory.d.ts.map +0 -1
  422. package/lib/store/effects/icp.effects.ngfactory.d.ts.map +0 -1
  423. package/lib/store/effects/redaction.effects.ngfactory.d.ts.map +0 -1
  424. package/lib/toolbar/icp-toolbar/icp-toolbar.component.ngfactory.d.ts.map +0 -1
  425. package/lib/toolbar/main-toolbar/main-toolbar.component.ngfactory.d.ts.map +0 -1
  426. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.ngfactory.d.ts.map +0 -1
  427. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.scss.shim.ngstyle.d.ts.map +0 -1
  428. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.ngfactory.d.ts.map +0 -1
  429. package/lib/toolbar/search-bar/search-bar.component.ngfactory.d.ts.map +0 -1
  430. package/lib/toolbar/toolbar-button-visibility.service.ngfactory.d.ts.map +0 -1
  431. package/lib/toolbar/toolbar-event.service.ngfactory.d.ts.map +0 -1
  432. package/lib/toolbar/toolbar.module.ngfactory.d.ts.map +0 -1
  433. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.ngfactory.d.ts.map +0 -1
  434. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.ngfactory.d.ts.map +0 -1
  435. package/lib/viewers/grab-n-drag.directive.ngfactory.d.ts.map +0 -1
  436. package/lib/viewers/image-viewer/image-viewer.component.ngfactory.d.ts.map +0 -1
  437. package/lib/viewers/multimedia-player/multimedia-player.component.ngfactory.d.ts.map +0 -1
  438. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.ngfactory.d.ts.map +0 -1
  439. package/lib/viewers/pdf-viewer/pdf-viewer.component.ngfactory.d.ts.map +0 -1
  440. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.ngfactory.d.ts.map +0 -1
  441. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.ngfactory.d.ts.map +0 -1
  442. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.ngfactory.d.ts.map +0 -1
  443. package/lib/viewers/rotation-persist/rotation-api.service.ngfactory.d.ts.map +0 -1
  444. package/lib/viewers/rotation-persist/rotation-persist.directive.ngfactory.d.ts.map +0 -1
  445. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.ngfactory.d.ts.map +0 -1
  446. package/lib/viewers/viewer-event.service.ngfactory.d.ts.map +0 -1
  447. package/lib/viewers/viewer-util.service.ngfactory.d.ts.map +0 -1
  448. /package/{esm2015/lib/annotations/annotation-set/annotation-set.model.js → esm2020/lib/annotations/annotation-set/annotation-set.model.mjs} +0 -0
  449. /package/{esm2015/lib/annotations/annotation-set/annotation-view/annotation.model.js → esm2020/lib/annotations/annotation-set/annotation-view/annotation.model.mjs} +0 -0
  450. /package/{esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.js → esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs} +0 -0
  451. /package/{esm2015/lib/annotations/comment-set/comment/comment.model.js → esm2020/lib/annotations/comment-set/comment/comment.model.mjs} +0 -0
  452. /package/{esm2015/lib/annotations/models/api-persisted.model.js → esm2020/lib/annotations/models/api-persisted.model.mjs} +0 -0
  453. /package/{esm2015/lib/annotations/models/event-select.model.js → esm2020/lib/annotations/models/event-select.model.mjs} +0 -0
  454. /package/{esm2015/lib/annotations/models/tags.model.js → esm2020/lib/annotations/models/tags.model.mjs} +0 -0
  455. /package/{esm2015/lib/annotations/models/user.model.js → esm2020/lib/annotations/models/user.model.mjs} +0 -0
  456. /package/{esm2015/lib/icp/icp.events.js → esm2020/lib/icp/icp.events.mjs} +0 -0
  457. /package/{esm2015/lib/icp/icp.interfaces.js → esm2020/lib/icp/icp.interfaces.mjs} +0 -0
  458. /package/{esm2015/lib/redaction/services/redaction.model.js → esm2020/lib/redaction/services/redaction.model.mjs} +0 -0
  459. /package/{esm2015/lib/shared/util/helpers/html-templates.helper.js → esm2020/lib/shared/util/helpers/html-templates.helper.mjs} +0 -0
  460. /package/{esm2015/lib/store/actions/annotation.actions.js → esm2020/lib/store/actions/annotation.actions.mjs} +0 -0
  461. /package/{esm2015/lib/store/actions/bookmark.actions.js → esm2020/lib/store/actions/bookmark.actions.mjs} +0 -0
  462. /package/{esm2015/lib/store/actions/document.actions.js → esm2020/lib/store/actions/document.actions.mjs} +0 -0
  463. /package/{esm2015/lib/store/actions/icp.actions.js → esm2020/lib/store/actions/icp.actions.mjs} +0 -0
  464. /package/{esm2015/lib/store/actions/redaction.actions.js → esm2020/lib/store/actions/redaction.actions.mjs} +0 -0
  465. /package/{esm2015/lib/store/actions/tag.actions.js → esm2020/lib/store/actions/tag.actions.mjs} +0 -0
  466. /package/{esm2015/lib/store/effects/index.js → esm2020/lib/store/effects/index.mjs} +0 -0
  467. /package/{esm2015/lib/store/models/bookmarks.interface.js → esm2020/lib/store/models/bookmarks.interface.mjs} +0 -0
  468. /package/{esm2015/lib/store/models/filters.interface.js → esm2020/lib/store/models/filters.interface.mjs} +0 -0
  469. /package/{esm2015/lib/store/reducers/reducers.js → esm2020/lib/store/reducers/reducers.mjs} +0 -0
  470. /package/{esm2015/lib/toolbar/icp-event.service.js → esm2020/lib/toolbar/icp-event.service.mjs} +0 -0
  471. /package/{esm2015/lib/toolbar/redaction-search-bar/redaction-search.model.js → esm2020/lib/toolbar/redaction-search-bar/redaction-search.model.mjs} +0 -0
  472. /package/{esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.js → esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs} +0 -0
  473. /package/{esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.js → esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs} +0 -0
  474. /package/{esm2015/lib/viewers/rotation-persist/rotation.model.js → esm2020/lib/viewers/rotation-persist/rotation.model.mjs} +0 -0
  475. /package/{esm2015/lib/viewers/viewer-exception.model.js → esm2020/lib/viewers/viewer-exception.model.mjs} +0 -0
@@ -0,0 +1,91 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { select } from '@ngrx/store';
3
+ import { v4 as uuid } from 'uuid';
4
+ import { filter, take } from 'rxjs/operators';
5
+ import * as fromSelectors from '../../store/selectors/redaction.selectors';
6
+ import * as fromRedaSelectors from '../../store/selectors/redaction.selectors';
7
+ import * as fromDocument from '../../store/selectors/document.selectors';
8
+ import * as fromActions from '../../store/actions/redaction.actions';
9
+ import * as fromRedactionActions from '../../store/actions/redaction.actions';
10
+ import * as fromRedaActions from '../../store/actions/redaction.actions';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@ngrx/store";
13
+ import * as i2 from "../../viewers/viewer-event.service";
14
+ import * as i3 from "../../toolbar/toolbar.module";
15
+ import * as i4 from "@angular/common";
16
+ import * as i5 from "../../annotations/annotation-set/annotation-view/annotation-view.component";
17
+ import * as i6 from "../../annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component";
18
+ export class RedactionComponent {
19
+ constructor(store, viewerEvents, toolbarEvents) {
20
+ this.store = store;
21
+ this.viewerEvents = viewerEvents;
22
+ this.toolbarEvents = toolbarEvents;
23
+ }
24
+ ngOnInit() {
25
+ this.redactionsPerPage$ = this.store.pipe(select(fromSelectors.getRedactionsPerPage));
26
+ this.selectedRedaction$ = this.store.pipe(select(fromSelectors.getSelected));
27
+ this.$subscription = this.toolbarEvents.drawModeSubject.subscribe(drawMode => this.drawMode = drawMode);
28
+ this.$subscription.add(this.store.pipe(select(fromSelectors.getRedactedDocumentInfo), filter(value => !!value))
29
+ .subscribe(redactedDocInfo => this.downloadDocument(redactedDocInfo)));
30
+ this.$subscription.add(this.store.pipe(select(fromDocument.getDocumentId)).subscribe(docId => this.documentId = docId));
31
+ this.$subscription.add(this.viewerEvents.textHighlight.subscribe(highlight => this.markTextRedaction(highlight)));
32
+ this.toolbarEvents.applyRedactToDocument.subscribe(() => {
33
+ this.store.pipe(select(fromRedaSelectors.getRedactionArray), take(1)).subscribe(redactions => {
34
+ this.store.dispatch(new fromRedaActions.Redact(redactions));
35
+ });
36
+ });
37
+ this.toolbarEvents.clearAllRedactMarkers.subscribe(() => {
38
+ this.store.dispatch(new fromRedaActions.UnmarkAll(this.documentId));
39
+ });
40
+ }
41
+ ngOnDestroy() {
42
+ this.$subscription.unsubscribe();
43
+ }
44
+ markTextRedaction(highlight) {
45
+ const redactionHighlight = highlight.rectangles;
46
+ if (redactionHighlight && redactionHighlight.length) {
47
+ this.saveRedaction(highlight.page, [...redactionHighlight]);
48
+ }
49
+ this.toolbarEvents.highlightModeSubject.next(false);
50
+ }
51
+ markBoxRedaction({ rectangles, page }) {
52
+ this.saveRedaction(page, rectangles);
53
+ this.toolbarEvents.drawModeSubject.next(false);
54
+ }
55
+ saveRedaction(page, rectangles) {
56
+ const redaction = { page, rectangles, redactionId: uuid(), documentId: this.documentId };
57
+ this.store.dispatch(new fromRedactionActions.SaveRedaction(redaction));
58
+ }
59
+ onMarkerDelete(event) {
60
+ this.store.dispatch(new fromActions.DeleteRedaction(event));
61
+ }
62
+ selectRedaction(event) {
63
+ this.store.dispatch(new fromActions.SelectRedaction(event));
64
+ }
65
+ onMarkerUpdate(redaction) {
66
+ this.store.dispatch(new fromActions.SaveRedaction(redaction));
67
+ }
68
+ downloadDocument({ blob, filename }) {
69
+ const url = URL.createObjectURL(blob);
70
+ const a = document.createElement('a');
71
+ document.body.appendChild(a);
72
+ a.setAttribute('style', 'display: none');
73
+ a.href = url;
74
+ a.download = filename;
75
+ a.click();
76
+ a.remove();
77
+ URL.revokeObjectURL(url);
78
+ this.store.dispatch(new fromRedactionActions.ResetRedactedDocument());
79
+ }
80
+ }
81
+ /** @nocollapse */ RedactionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RedactionComponent, deps: [{ token: i1.Store }, { token: i2.ViewerEventService }, { token: i3.ToolbarEventService }], target: i0.ɵɵFactoryTarget.Component });
82
+ /** @nocollapse */ RedactionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: RedactionComponent, selector: "mv-redactions", inputs: { zoom: "zoom", rotate: "rotate" }, ngImport: i0, template: "<div class=\"pageContainer\">\n <div *ngFor=\"let redaction of (redactionsPerPage$ | async); index as i\"\n class=\"pageContainer__page\"\n [ngStyle]=\"{\n 'width.px': redaction.styles.width,\n 'height.px': redaction.styles.height\n }\"\n [ngClass]=\"{ 'pageContainer__page--draw' : drawMode }\">\n <mv-box-highlight-create\n [page]=\"i + 1\"\n [pageHeight]=\"redaction.styles.height\"\n [pageWidth]=\"redaction.styles.width\"\n [rotate]=\"rotate\"\n [zoom]=\"zoom\"\n (saveSelection)=\"markBoxRedaction($event)\">\n </mv-box-highlight-create>\n <div class=\"pageContainer__page-item\">\n <ng-container *ngFor=\"let anno of redaction.anno\">\n <!-- TODO rename this to selection -->\n <mv-annotation [annotation]=\"anno\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [selectedAnnoId]=\"selectedRedaction$ | async\"\n [pageHeight]=\"redaction.styles.height\"\n [pageWidth]=\"redaction.styles.width\"\n (update)=\"onMarkerUpdate($event)\"\n (delete)=\"onMarkerDelete($event)\"\n (annotationClick)=\"selectRedaction($event)\">\n </mv-annotation>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.AnnotationViewComponent, selector: "mv-annotation", inputs: ["annotation", "zoom", "rotate", "selectedAnnoId", "pageHeight", "pageWidth"], outputs: ["update", "delete", "annotationClick"] }, { kind: "component", type: i6.BoxHighlightCreateComponent, selector: "mv-box-highlight-create", inputs: ["page", "pageHeight", "pageWidth", "rotate", "zoom", "container"], outputs: ["saveSelection"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RedactionComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ selector: 'mv-redactions', template: "<div class=\"pageContainer\">\n <div *ngFor=\"let redaction of (redactionsPerPage$ | async); index as i\"\n class=\"pageContainer__page\"\n [ngStyle]=\"{\n 'width.px': redaction.styles.width,\n 'height.px': redaction.styles.height\n }\"\n [ngClass]=\"{ 'pageContainer__page--draw' : drawMode }\">\n <mv-box-highlight-create\n [page]=\"i + 1\"\n [pageHeight]=\"redaction.styles.height\"\n [pageWidth]=\"redaction.styles.width\"\n [rotate]=\"rotate\"\n [zoom]=\"zoom\"\n (saveSelection)=\"markBoxRedaction($event)\">\n </mv-box-highlight-create>\n <div class=\"pageContainer__page-item\">\n <ng-container *ngFor=\"let anno of redaction.anno\">\n <!-- TODO rename this to selection -->\n <mv-annotation [annotation]=\"anno\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [selectedAnnoId]=\"selectedRedaction$ | async\"\n [pageHeight]=\"redaction.styles.height\"\n [pageWidth]=\"redaction.styles.width\"\n (update)=\"onMarkerUpdate($event)\"\n (delete)=\"onMarkerDelete($event)\"\n (annotationClick)=\"selectRedaction($event)\">\n </mv-annotation>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
86
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.ViewerEventService }, { type: i3.ToolbarEventService }]; }, propDecorators: { zoom: [{
87
+ type: Input
88
+ }], rotate: [{
89
+ type: Input
90
+ }] } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3JlZGFjdGlvbi9jb21wb25lbnRzL3JlZGFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9yZWRhY3Rpb24vY29tcG9uZW50cy9yZWRhY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk5QyxPQUFPLEtBQUssYUFBYSxNQUFNLDJDQUEyQyxDQUFDO0FBQzNFLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEtBQUssWUFBWSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxXQUFXLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxLQUFLLG9CQUFvQixNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sS0FBSyxlQUFlLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7O0FBVXpFLE1BQU0sT0FBTyxrQkFBa0I7SUFhN0IsWUFBb0IsS0FBNkIsRUFDOUIsWUFBZ0MsRUFDekMsYUFBa0M7UUFGeEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ3pDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtJQUFJLENBQUM7SUFFakQsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUN4RyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVHLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4SCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQzNGLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzlELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFTO1FBQ3pCLE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQztRQUNoRCxJQUFJLGtCQUFrQixJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtZQUNuRCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQztTQUM3RDtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWSxFQUFFLFVBQXVCO1FBQ2pELE1BQU0sU0FBUyxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN6RixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUFvQjtRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNWLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7a0lBaEZVLGtCQUFrQjtzSEFBbEIsa0JBQWtCLGlHQ3ZCL0IsZzJDQWlDQTsyRkRWYSxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0UsZUFBZTsrSkFLaEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFJlY3RhbmdsZSB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVjdGFuZ2xlLm1vZGVsJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tU2VsZWN0b3JzIGZyb20gJy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9yZWRhY3Rpb24uc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21SZWRhU2VsZWN0b3JzIGZyb20gJy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9yZWRhY3Rpb24uc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuLi8uLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21BY3Rpb25zIGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvcmVkYWN0aW9uLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbVJlZGFjdGlvbkFjdGlvbnMgZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9yZWRhY3Rpb24uYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tUmVkYUFjdGlvbnMgZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9yZWRhY3Rpb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Bbm5vdGF0aW9uIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvbW9kZWxzL2V2ZW50LXNlbGVjdC5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9vbGJhci90b29sYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBWaWV3ZXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi92aWV3ZXJzL3ZpZXdlci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZGFjdGlvbiB9IGZyb20gJy4uL3NlcnZpY2VzL3JlZGFjdGlvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LXJlZGFjdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVkYWN0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWRhY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgem9vbTogbnVtYmVyO1xuICBASW5wdXQoKSByb3RhdGU6IG51bWJlcjtcblxuICByZWRhY3Rpb25zUGVyUGFnZSQ6IE9ic2VydmFibGU8YW55PjsgLy8gdG9kbyBhZGQgdHlwZVxuICBzZWxlY3RlZFJlZGFjdGlvbiQ6IE9ic2VydmFibGU8U2VsZWN0aW9uQW5ub3RhdGlvbiB8IHt9PjtcbiAgcmVjdGFuZ2xlczogUmVjdGFuZ2xlW107XG4gIGRyYXdNb2RlOiBib29sZWFuO1xuICBkb2N1bWVudElkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSAkc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLlN0YXRlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdlckV2ZW50czogVmlld2VyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9vbGJhckV2ZW50czogVG9vbGJhckV2ZW50U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWRhY3Rpb25zUGVyUGFnZSQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21TZWxlY3RvcnMuZ2V0UmVkYWN0aW9uc1BlclBhZ2UpKTtcbiAgICB0aGlzLnNlbGVjdGVkUmVkYWN0aW9uJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbVNlbGVjdG9ycy5nZXRTZWxlY3RlZCkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbGJhckV2ZW50cy5kcmF3TW9kZVN1YmplY3Quc3Vic2NyaWJlKGRyYXdNb2RlID0+IHRoaXMuZHJhd01vZGUgPSBkcmF3TW9kZSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21TZWxlY3RvcnMuZ2V0UmVkYWN0ZWREb2N1bWVudEluZm8pLCBmaWx0ZXIodmFsdWUgPT4gISF2YWx1ZSkpXG4gICAgICAuc3Vic2NyaWJlKHJlZGFjdGVkRG9jSW5mbyA9PiB0aGlzLmRvd25sb2FkRG9jdW1lbnQocmVkYWN0ZWREb2NJbmZvKSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tRG9jdW1lbnQuZ2V0RG9jdW1lbnRJZCkpLnN1YnNjcmliZShkb2NJZCA9PiB0aGlzLmRvY3VtZW50SWQgPSBkb2NJZCkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy52aWV3ZXJFdmVudHMudGV4dEhpZ2hsaWdodC5zdWJzY3JpYmUoaGlnaGxpZ2h0ID0+IHRoaXMubWFya1RleHRSZWRhY3Rpb24oaGlnaGxpZ2h0KSkpO1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5hcHBseVJlZGFjdFRvRG9jdW1lbnQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbVJlZGFTZWxlY3RvcnMuZ2V0UmVkYWN0aW9uQXJyYXkpLCB0YWtlKDEpKS5zdWJzY3JpYmUocmVkYWN0aW9ucyA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21SZWRhQWN0aW9ucy5SZWRhY3QocmVkYWN0aW9ucykpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLmNsZWFyQWxsUmVkYWN0TWFya2Vycy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbVJlZGFBY3Rpb25zLlVubWFya0FsbCh0aGlzLmRvY3VtZW50SWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbWFya1RleHRSZWRhY3Rpb24oaGlnaGxpZ2h0KSB7XG4gICAgY29uc3QgcmVkYWN0aW9uSGlnaGxpZ2h0ID0gaGlnaGxpZ2h0LnJlY3RhbmdsZXM7XG4gICAgaWYgKHJlZGFjdGlvbkhpZ2hsaWdodCAmJiByZWRhY3Rpb25IaWdobGlnaHQubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNhdmVSZWRhY3Rpb24oaGlnaGxpZ2h0LnBhZ2UsIFsuLi5yZWRhY3Rpb25IaWdobGlnaHRdKTtcbiAgICB9XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLmhpZ2hsaWdodE1vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0JveFJlZGFjdGlvbih7IHJlY3RhbmdsZXMsIHBhZ2UgfSkge1xuICAgIHRoaXMuc2F2ZVJlZGFjdGlvbihwYWdlLCByZWN0YW5nbGVzKTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuZHJhd01vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICB9XG5cbiAgc2F2ZVJlZGFjdGlvbihwYWdlOiBudW1iZXIsIHJlY3RhbmdsZXM6IFJlY3RhbmdsZVtdKSB7XG4gICAgY29uc3QgcmVkYWN0aW9uID0geyBwYWdlLCByZWN0YW5nbGVzLCByZWRhY3Rpb25JZDogdXVpZCgpLCBkb2N1bWVudElkOiB0aGlzLmRvY3VtZW50SWQgfTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tUmVkYWN0aW9uQWN0aW9ucy5TYXZlUmVkYWN0aW9uKHJlZGFjdGlvbikpO1xuICB9XG5cbiAgb25NYXJrZXJEZWxldGUoZXZlbnQpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5EZWxldGVSZWRhY3Rpb24oZXZlbnQpKTtcbiAgfVxuXG4gIHNlbGVjdFJlZGFjdGlvbihldmVudCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21BY3Rpb25zLlNlbGVjdFJlZGFjdGlvbihldmVudCkpO1xuICB9XG5cbiAgb25NYXJrZXJVcGRhdGUocmVkYWN0aW9uOiBSZWRhY3Rpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5TYXZlUmVkYWN0aW9uKHJlZGFjdGlvbikpO1xuICB9XG5cbiAgZG93bmxvYWREb2N1bWVudCh7IGJsb2IsIGZpbGVuYW1lIH0pIHtcbiAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcbiAgICBhLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnZGlzcGxheTogbm9uZScpO1xuICAgIGEuaHJlZiA9IHVybDtcbiAgICBhLmRvd25sb2FkID0gZmlsZW5hbWU7XG4gICAgYS5jbGljaygpO1xuICAgIGEucmVtb3ZlKCk7XG4gICAgVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21SZWRhY3Rpb25BY3Rpb25zLlJlc2V0UmVkYWN0ZWREb2N1bWVudCgpKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhZ2VDb250YWluZXJcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgcmVkYWN0aW9uIG9mIChyZWRhY3Rpb25zUGVyUGFnZSQgfCBhc3luYyk7ICBpbmRleCBhcyBpXCJcbiAgICAgICBjbGFzcz1cInBhZ2VDb250YWluZXJfX3BhZ2VcIlxuICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAnd2lkdGgucHgnOiByZWRhY3Rpb24uc3R5bGVzLndpZHRoLFxuICAgICAgICdoZWlnaHQucHgnOiByZWRhY3Rpb24uc3R5bGVzLmhlaWdodFxuICAgICAgIH1cIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ3BhZ2VDb250YWluZXJfX3BhZ2UtLWRyYXcnIDogZHJhd01vZGUgfVwiPlxuICAgIDxtdi1ib3gtaGlnaGxpZ2h0LWNyZWF0ZVxuICAgICAgW3BhZ2VdPVwiaSArIDFcIlxuICAgICAgW3BhZ2VIZWlnaHRdPVwicmVkYWN0aW9uLnN0eWxlcy5oZWlnaHRcIlxuICAgICAgW3BhZ2VXaWR0aF09XCJyZWRhY3Rpb24uc3R5bGVzLndpZHRoXCJcbiAgICAgIFtyb3RhdGVdPVwicm90YXRlXCJcbiAgICAgIFt6b29tXT1cInpvb21cIlxuICAgICAgKHNhdmVTZWxlY3Rpb24pPVwibWFya0JveFJlZGFjdGlvbigkZXZlbnQpXCI+XG4gICAgPC9tdi1ib3gtaGlnaGxpZ2h0LWNyZWF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwicGFnZUNvbnRhaW5lcl9fcGFnZS1pdGVtXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhbm5vIG9mIHJlZGFjdGlvbi5hbm5vXCI+XG4gICAgICAgIDwhLS0gIFRPRE8gcmVuYW1lIHRoaXMgdG8gc2VsZWN0aW9uIC0tPlxuICAgICAgICA8bXYtYW5ub3RhdGlvbiBbYW5ub3RhdGlvbl09XCJhbm5vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3pvb21dPVwiem9vbVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtyb3RhdGVdPVwicm90YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkQW5ub0lkXT1cInNlbGVjdGVkUmVkYWN0aW9uJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VIZWlnaHRdPVwicmVkYWN0aW9uLnN0eWxlcy5oZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGFnZVdpZHRoXT1cInJlZGFjdGlvbi5zdHlsZXMud2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAodXBkYXRlKT1cIm9uTWFya2VyVXBkYXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlKT1cIm9uTWFya2VyRGVsZXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAoYW5ub3RhdGlvbkNsaWNrKT1cInNlbGVjdFJlZGFjdGlvbigkZXZlbnQpXCI+XG4gICAgICAgIDwvbXYtYW5ub3RhdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,50 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { catchError, map } from 'rxjs/operators';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class RedactionApiService {
6
+ constructor(httpClient) {
7
+ this.httpClient = httpClient;
8
+ this.markupsApiUrl = '/api/markups';
9
+ this.redactApiUrl = '/api/redaction';
10
+ this.markupsSearchApiUrl = '/api/markups/search';
11
+ }
12
+ getRedactions(documentId) {
13
+ const fixedUrl = `${this.markupsApiUrl}/${documentId}`;
14
+ return this.httpClient
15
+ .get(fixedUrl, { observe: 'response', withCredentials: true });
16
+ }
17
+ saveRedaction(body) {
18
+ return this.httpClient
19
+ .post(this.markupsApiUrl, body, { observe: 'response', withCredentials: true })
20
+ .pipe(map(response => response.body), catchError(() => []));
21
+ }
22
+ saveBulkRedaction(body) {
23
+ return this.httpClient
24
+ .post(this.markupsSearchApiUrl, body, { observe: 'response', withCredentials: true })
25
+ .pipe(map(response => response.body), catchError(() => []));
26
+ }
27
+ deleteRedaction(payload) {
28
+ const url = `${this.markupsApiUrl}/${payload.documentId}/${payload.redactionId}`;
29
+ return this.httpClient
30
+ .delete(url, { observe: 'response', withCredentials: true })
31
+ .pipe(map(response => response.body));
32
+ }
33
+ deleteAllMarkers(documentId) {
34
+ const url = `${this.markupsApiUrl}/${documentId}`;
35
+ return this.httpClient
36
+ .delete(url, { observe: 'response', withCredentials: true })
37
+ .pipe(map(response => response.body));
38
+ }
39
+ redact(payload) {
40
+ return this.httpClient
41
+ .post(this.redactApiUrl, payload, { observe: 'response', withCredentials: true, responseType: 'blob' })
42
+ .pipe(map(response => response), catchError(() => []));
43
+ }
44
+ }
45
+ /** @nocollapse */ RedactionApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RedactionApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
46
+ /** @nocollapse */ RedactionApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RedactionApiService });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RedactionApiService, decorators: [{
48
+ type: Injectable
49
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvcmVkYWN0aW9uL3NlcnZpY2VzL3JlZGFjdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUlqRCxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQ21CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFKakMsa0JBQWEsR0FBRyxjQUFjLENBQUM7UUFDL0IsaUJBQVksR0FBRyxnQkFBZ0IsQ0FBQztRQUNoQyx3QkFBbUIsR0FBRyxxQkFBcUIsQ0FBQztJQUdoRCxDQUFDO0lBRUUsYUFBYSxDQUFDLFVBQWtCO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUN2RCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLEdBQUcsQ0FBYyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFTSxhQUFhLENBQUMsSUFBSTtRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLElBQUksQ0FBWSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO2FBQ3pGLElBQUksQ0FDSCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQzlCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDckIsQ0FBQztJQUNOLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFJO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsSUFBSSxDQUFnQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDbkcsSUFBSSxDQUNILEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFDOUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNyQixDQUFDO0lBQ04sQ0FBQztJQUVNLGVBQWUsQ0FBQyxPQUFPO1FBQzVCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRixPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLE1BQU0sQ0FBTyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUNqRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFVBQVU7UUFDaEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRWxELE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsTUFBTSxDQUFPLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO2FBQ2pFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixJQUFJLENBQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQWdCLEVBQUUsQ0FBQzthQUN0SCxJQUFJLENBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDckIsQ0FBQztJQUNOLENBQUM7O21JQXZEVSxtQkFBbUI7dUlBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQnVsa1JlZGFjdGlvbiwgUmVkYWN0aW9uIH0gZnJvbSAnLi9yZWRhY3Rpb24ubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVkYWN0aW9uQXBpU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBtYXJrdXBzQXBpVXJsID0gJy9hcGkvbWFya3Vwcyc7XG4gIHByaXZhdGUgcmVkYWN0QXBpVXJsID0gJy9hcGkvcmVkYWN0aW9uJztcbiAgcHJpdmF0ZSBtYXJrdXBzU2VhcmNoQXBpVXJsID0gJy9hcGkvbWFya3Vwcy9zZWFyY2gnO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnRcbiAgKSB7IH1cblxuICBwdWJsaWMgZ2V0UmVkYWN0aW9ucyhkb2N1bWVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxSZWRhY3Rpb25bXT4+IHtcbiAgICBjb25zdCBmaXhlZFVybCA9IGAke3RoaXMubWFya3Vwc0FwaVVybH0vJHtkb2N1bWVudElkfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDxSZWRhY3Rpb25bXT4oZml4ZWRVcmwsIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJywgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIHNhdmVSZWRhY3Rpb24oYm9keSk6IE9ic2VydmFibGU8UmVkYWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3Q8UmVkYWN0aW9uPih0aGlzLm1hcmt1cHNBcGlVcmwsIGJvZHksIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJywgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmJvZHkpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IFtdKVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlQnVsa1JlZGFjdGlvbihib2R5KTogT2JzZXJ2YWJsZTxCdWxrUmVkYWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3Q8QnVsa1JlZGFjdGlvbj4odGhpcy5tYXJrdXBzU2VhcmNoQXBpVXJsLCBib2R5LCB7IG9ic2VydmU6ICdyZXNwb25zZScsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5ib2R5KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBbXSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlUmVkYWN0aW9uKHBheWxvYWQpOiBPYnNlcnZhYmxlPG51bGw+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLm1hcmt1cHNBcGlVcmx9LyR7cGF5bG9hZC5kb2N1bWVudElkfS8ke3BheWxvYWQucmVkYWN0aW9uSWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZGVsZXRlPG51bGw+KHVybCwgeyBvYnNlcnZlOiAncmVzcG9uc2UnLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5ib2R5KSk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQWxsTWFya2Vycyhkb2N1bWVudElkKTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5tYXJrdXBzQXBpVXJsfS8ke2RvY3VtZW50SWR9YDtcblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5kZWxldGU8bnVsbD4odXJsLCB7IG9ic2VydmU6ICdyZXNwb25zZScsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxuICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmJvZHkpKTtcbiAgfVxuXG4gIHB1YmxpYyByZWRhY3QocGF5bG9hZCk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEJsb2I+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3Q8QmxvYj4odGhpcy5yZWRhY3RBcGlVcmwsIHBheWxvYWQsIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJywgd2l0aENyZWRlbnRpYWxzOiB0cnVlLCByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IFtdKVxuICAgICAgKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/forms";
5
+ import * as i3 from "../gov-uk-error-message/gov-uk-error-message.component";
6
+ import * as i4 from "../gov-uk-fieldset/gov-uk-fieldset.component";
7
+ import * as i5 from "../gov-uk-label/gov-uk-label.component";
8
+ /*
9
+ * Gov UK Date Component
10
+ * Responsible for displaying 3 input fields:
11
+ * day / month / year
12
+ * displaying errorMessage messages
13
+ * */
14
+ export class GovUkDateComponent {
15
+ }
16
+ /** @nocollapse */ GovUkDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GovUkDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ /** @nocollapse */ GovUkDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GovUkDateComponent, selector: "mv-gov-uk-date", inputs: { config: "config", errorMessage: "errorMessage", formGroup: "formGroup" }, ngImport: i0, template: "<div class=\"govuk-form-group\" [ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\" [formGroup]=\"formGroup\">\n <mv-gov-uk-fieldset\n [config]=\"{legend: config.legend, classes: 'govuk-label--m', id: config.id, hint: ' For example, 12 11 2007'}\"\n [isHeading]=\"false\"\n [errorMessage]=\"errorMessage\">\n <mv-gov-uk-error-message\n [config]=\"{id: 'passport'}\"\n *ngIf=\"errorMessage\"\n [errorMessage]=\"errorMessage\">\n </mv-gov-uk-error-message>\n\n <div class=\"govuk-date-input\" [id]=\"config.id+'-date'\">\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <mv-gov-label\n [config]=\"{label: 'Day', name: config.id, id: config.id+'-day', classes: 'govuk-date-input__label'}\">\n </mv-gov-label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-2\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\"\n [name]=\"config.id+'-day'\" type=\"number\" value=\"\" pattern=\"[0-9]*\"\n [formControlName]=\"'day'\">\n </div>\n </div>\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <mv-gov-label\n [config]=\"{label: 'Month', name: config.id+'-month', id: config.id+'-month', classes: 'govuk-date-input__label'}\">\n </mv-gov-label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-2\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id+'-month'\"\n [name]=\"config.id+'-month'\" type=\"number\" value=\"\" pattern=\"[0-9]*\"\n [formControlName]=\"'month'\">\n </div>\n </div>\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <mv-gov-label\n [config]=\"{label: 'Year', name: config.id+'-year', id: config.id+'-year', classes: 'govuk-date-input__label'}\">\n </mv-gov-label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-4\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id+'-year'\"\n [name]=\"config.id+'-year'\" type=\"number\" value=\"\" pattern=\"[0-9]*\"\n [formControlName]=\"'year'\">\n </div>\n </div>\n </div>\n </mv-gov-uk-fieldset>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.GovUkErrorMessageComponent, selector: " mv-gov-uk-error-message", inputs: ["config", "errorMessage"] }, { kind: "component", type: i4.GovUkFieldsetComponent, selector: "mv-gov-uk-fieldset", inputs: ["config", "isHeading", "errorMessage"] }, { kind: "component", type: i5.GovUkLabelComponent, selector: "mv-gov-label", inputs: ["config"] }] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GovUkDateComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'mv-gov-uk-date', template: "<div class=\"govuk-form-group\" [ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\" [formGroup]=\"formGroup\">\n <mv-gov-uk-fieldset\n [config]=\"{legend: config.legend, classes: 'govuk-label--m', id: config.id, hint: ' For example, 12 11 2007'}\"\n [isHeading]=\"false\"\n [errorMessage]=\"errorMessage\">\n <mv-gov-uk-error-message\n [config]=\"{id: 'passport'}\"\n *ngIf=\"errorMessage\"\n [errorMessage]=\"errorMessage\">\n </mv-gov-uk-error-message>\n\n <div class=\"govuk-date-input\" [id]=\"config.id+'-date'\">\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <mv-gov-label\n [config]=\"{label: 'Day', name: config.id, id: config.id+'-day', classes: 'govuk-date-input__label'}\">\n </mv-gov-label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-2\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\"\n [name]=\"config.id+'-day'\" type=\"number\" value=\"\" pattern=\"[0-9]*\"\n [formControlName]=\"'day'\">\n </div>\n </div>\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <mv-gov-label\n [config]=\"{label: 'Month', name: config.id+'-month', id: config.id+'-month', classes: 'govuk-date-input__label'}\">\n </mv-gov-label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-2\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id+'-month'\"\n [name]=\"config.id+'-month'\" type=\"number\" value=\"\" pattern=\"[0-9]*\"\n [formControlName]=\"'month'\">\n </div>\n </div>\n <div class=\"govuk-date-input__item\">\n <div class=\"govuk-form-group\">\n <mv-gov-label\n [config]=\"{label: 'Year', name: config.id+'-year', id: config.id+'-year', classes: 'govuk-date-input__label'}\">\n </mv-gov-label>\n <input class=\"govuk-input govuk-date-input__input govuk-input--width-4\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id+'-year'\"\n [name]=\"config.id+'-year'\" type=\"number\" value=\"\" pattern=\"[0-9]*\"\n [formControlName]=\"'year'\">\n </div>\n </div>\n </div>\n </mv-gov-uk-fieldset>\n</div>\n" }]
21
+ }], propDecorators: { config: [{
22
+ type: Input
23
+ }], errorMessage: [{
24
+ type: Input
25
+ }], formGroup: [{
26
+ type: Input
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292LXVrLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc2hhcmVkL2dvdi11ay1kYXRlL2dvdi11ay1kYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3NoYXJlZC9nb3YtdWstZGF0ZS9nb3YtdWstZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQUMvQzs7Ozs7SUFLSTtBQUtKLE1BQU0sT0FBTyxrQkFBa0I7O2tJQUFsQixrQkFBa0I7c0hBQWxCLGtCQUFrQiwwSUNYL0Isay9FQW1EQTsyRkR4Q2Esa0JBQWtCO2tCQUo5QixTQUFTOytCQUNFLGdCQUFnQjs4QkFJakIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vKlxuKiBHb3YgVUsgRGF0ZSBDb21wb25lbnRcbiogUmVzcG9uc2libGUgZm9yIGRpc3BsYXlpbmcgMyBpbnB1dCBmaWVsZHM6XG4qIGRheSAvIG1vbnRoIC8geWVhclxuKiBkaXNwbGF5aW5nIGVycm9yTWVzc2FnZSBtZXNzYWdlc1xuKiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtZ292LXVrLWRhdGUnLFxudGVtcGxhdGVVcmw6ICcuL2dvdi11ay1kYXRlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBHb3ZVa0RhdGVDb21wb25lbnQge1xuICBASW5wdXQoKSBjb25maWc6IHsgaWQ6IHN0cmluZzsgbGVnZW5kOiBzdHJpbmcgfTtcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiB7aXNJbnZhbGlkOiBib29sZWFuOyBtZXNzYWdlczogc3RyaW5nW119O1xuICBASW5wdXQoKSBmb3JtR3JvdXA7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZ292dWstZm9ybS1ncm91cC0tZXJyb3InOiBlcnJvck1lc3NhZ2U/LmlzSW52YWxpZH1cIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8bXYtZ292LXVrLWZpZWxkc2V0XG4gICAgW2NvbmZpZ109XCJ7bGVnZW5kOiBjb25maWcubGVnZW5kLCBjbGFzc2VzOiAnZ292dWstbGFiZWwtLW0nLCBpZDogY29uZmlnLmlkLCBoaW50OiAnIEZvciBleGFtcGxlLCAxMiAxMSAyMDA3J31cIlxuICAgIFtpc0hlYWRpbmddPVwiZmFsc2VcIlxuICAgIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlXCI+XG4gICAgPG12LWdvdi11ay1lcnJvci1tZXNzYWdlXG4gICAgICBbY29uZmlnXT1cIntpZDogJ3Bhc3Nwb3J0J31cIlxuICAgICAgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIlxuICAgICAgW2Vycm9yTWVzc2FnZV09XCJlcnJvck1lc3NhZ2VcIj5cbiAgICA8L212LWdvdi11ay1lcnJvci1tZXNzYWdlPlxuXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWRhdGUtaW5wdXRcIiBbaWRdPVwiY29uZmlnLmlkKyctZGF0ZSdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1kYXRlLWlucHV0X19pdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPG12LWdvdi1sYWJlbFxuICAgICAgICAgICAgW2NvbmZpZ109XCJ7bGFiZWw6ICdEYXknLCBuYW1lOiBjb25maWcuaWQsIGlkOiBjb25maWcuaWQrJy1kYXknLCBjbGFzc2VzOiAnZ292dWstZGF0ZS1pbnB1dF9fbGFiZWwnfVwiPlxuICAgICAgICAgIDwvbXYtZ292LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWRhdGUtaW5wdXRfX2lucHV0IGdvdnVrLWlucHV0LS13aWR0aC0yXCJcbiAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydnb3Z1ay1pbnB1dC0tZXJyb3InOiBlcnJvck1lc3NhZ2U/LmlzSW52YWxpZH1cIlxuICAgICAgICAgICAgICAgICBbaWRdPVwiY29uZmlnLmlkXCJcbiAgICAgICAgICAgICAgICAgW25hbWVdPVwiY29uZmlnLmlkKyctZGF5J1wiIHR5cGU9XCJudW1iZXJcIiB2YWx1ZT1cIlwiIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidkYXknXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZGF0ZS1pbnB1dF9faXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxtdi1nb3YtbGFiZWxcbiAgICAgICAgICAgIFtjb25maWddPVwie2xhYmVsOiAnTW9udGgnLCBuYW1lOiBjb25maWcuaWQrJy1tb250aCcsIGlkOiBjb25maWcuaWQrJy1tb250aCcsIGNsYXNzZXM6ICdnb3Z1ay1kYXRlLWlucHV0X19sYWJlbCd9XCI+XG4gICAgICAgICAgPC9tdi1nb3YtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstaW5wdXQgZ292dWstZGF0ZS1pbnB1dF9faW5wdXQgZ292dWstaW5wdXQtLXdpZHRoLTJcIlxuICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWlucHV0LS1lcnJvcic6IGVycm9yTWVzc2FnZT8uaXNJbnZhbGlkfVwiXG4gICAgICAgICAgICAgICAgIFtpZF09XCJjb25maWcuaWQrJy1tb250aCdcIlxuICAgICAgICAgICAgICAgICBbbmFtZV09XCJjb25maWcuaWQrJy1tb250aCdcIiB0eXBlPVwibnVtYmVyXCIgdmFsdWU9XCJcIiBwYXR0ZXJuPVwiWzAtOV0qXCJcbiAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInbW9udGgnXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZGF0ZS1pbnB1dF9faXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxtdi1nb3YtbGFiZWxcbiAgICAgICAgICAgIFtjb25maWddPVwie2xhYmVsOiAnWWVhcicsIG5hbWU6IGNvbmZpZy5pZCsnLXllYXInLCBpZDogY29uZmlnLmlkKycteWVhcicsIGNsYXNzZXM6ICdnb3Z1ay1kYXRlLWlucHV0X19sYWJlbCd9XCI+XG4gICAgICAgICAgPC9tdi1nb3YtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstaW5wdXQgZ292dWstZGF0ZS1pbnB1dF9faW5wdXQgZ292dWstaW5wdXQtLXdpZHRoLTRcIlxuICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWlucHV0LS1lcnJvcic6IGVycm9yTWVzc2FnZT8uaXNJbnZhbGlkfVwiXG4gICAgICAgICAgICAgICAgIFtpZF09XCJjb25maWcuaWQrJy15ZWFyJ1wiXG4gICAgICAgICAgICAgICAgIFtuYW1lXT1cImNvbmZpZy5pZCsnLXllYXInXCIgdHlwZT1cIm51bWJlclwiIHZhbHVlPVwiXCIgcGF0dGVybj1cIlswLTldKlwiXG4gICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3llYXInXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbXYtZ292LXVrLWZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,34 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ /*
5
+ * Gov UK Error Message
6
+ * Responsible for displaying in-line error messages
7
+ * @prop config - obj with properties
8
+ * @prop errorMessage - all error bject with messages property that is arry of strings.
9
+ * */
10
+ export class GovUkErrorMessageComponent {
11
+ constructor() { }
12
+ }
13
+ /** @nocollapse */ GovUkErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GovUkErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ /** @nocollapse */ GovUkErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GovUkErrorMessageComponent, selector: " mv-gov-uk-error-message", inputs: { config: "config", errorMessage: "errorMessage" }, ngImport: i0, template: `
15
+ <span class="govuk-error-message" [id]="config.id + '-error'" *ngFor="let message of errorMessage?.messages">
16
+ <span class="govuk-visually-hidden">Error:</span>{{message}}
17
+ </span>
18
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GovUkErrorMessageComponent, decorators: [{
20
+ type: Component,
21
+ args: [{
22
+ selector: ' mv-gov-uk-error-message',
23
+ template: `
24
+ <span class="govuk-error-message" [id]="config.id + '-error'" *ngFor="let message of errorMessage?.messages">
25
+ <span class="govuk-visually-hidden">Error:</span>{{message}}
26
+ </span>
27
+ `
28
+ }]
29
+ }], ctorParameters: function () { return []; }, propDecorators: { config: [{
30
+ type: Input
31
+ }], errorMessage: [{
32
+ type: Input
33
+ }] } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292LXVrLWVycm9yLW1lc3NhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc2hhcmVkL2dvdi11ay1lcnJvci1tZXNzYWdlL2dvdi11ay1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFhLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBQzFEOzs7OztJQUtJO0FBU0osTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxnQkFBaUIsQ0FBQzs7MElBRFAsMEJBQTBCOzhIQUExQiwwQkFBMEIsNEhBTjNCOzs7O0dBSVQ7MkZBRVUsMEJBQTBCO2tCQVJ0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRTs7OztHQUlUO2lCQUNGOzBFQUdVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIERpcmVjdGl2ZSwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLypcbiogR292IFVLIEVycm9yIE1lc3NhZ2VcbiogUmVzcG9uc2libGUgZm9yIGRpc3BsYXlpbmcgaW4tbGluZSBlcnJvciBtZXNzYWdlc1xuKiBAcHJvcCBjb25maWcgLSBvYmogd2l0aCBwcm9wZXJ0aWVzXG4qIEBwcm9wIGVycm9yTWVzc2FnZSAtIGFsbCBlcnJvciBiamVjdCB3aXRoIG1lc3NhZ2VzIHByb3BlcnR5IHRoYXQgaXMgYXJyeSBvZiBzdHJpbmdzLlxuKiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnIG12LWdvdi11ay1lcnJvci1tZXNzYWdlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiBbaWRdPVwiY29uZmlnLmlkICsgJy1lcnJvcidcIiAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBlcnJvck1lc3NhZ2U/Lm1lc3NhZ2VzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj57e21lc3NhZ2V9fVxuICAgIDwvc3Bhbj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBHb3ZVa0Vycm9yTWVzc2FnZUNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yICgpIHsgfVxuICBASW5wdXQoKSBjb25maWc6IHsgaWQ6IHN0cmluZyB9O1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U7XG59XG4iXX0=
@@ -0,0 +1,63 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { HtmlTemplatesHelper } from '../util/helpers/html-templates.helper';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ /*
6
+ * Gov Uk Fieldset Component
7
+ * Used to wrap group fieldset elements
8
+ * it can conditionally display h1 tag
9
+ * @param config
10
+ * @param isHeading
11
+ * @param errorMessage - used for aria tag
12
+ * */
13
+ export class GovUkFieldsetComponent {
14
+ setDescribedBy() {
15
+ return HtmlTemplatesHelper.setDescribedBy(this.errorMessage, this.config);
16
+ }
17
+ }
18
+ /** @nocollapse */ GovUkFieldsetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GovUkFieldsetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ /** @nocollapse */ GovUkFieldsetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GovUkFieldsetComponent, selector: "mv-gov-uk-fieldset", inputs: { config: "config", isHeading: "isHeading", errorMessage: "errorMessage" }, ngImport: i0, template: `
20
+ <fieldset class="govuk-fieldset" [attr.aria-describedby]="setDescribedBy()">
21
+ <legend [class]="config.classes + ' govuk-fieldset__legend'" *ngIf="!isHeading">
22
+ {{config.legend}}
23
+ </legend>
24
+
25
+ <legend [class]="config.classes + ' govuk-fieldset__legend'" *ngIf="isHeading">
26
+ <h1>{{config.legend}}</h1>
27
+ </legend>
28
+
29
+ <span [id]="config.id+'-hint'" class="govuk-hint" *ngIf="config.hint">
30
+ {{config.hint}}
31
+ </span>
32
+ <ng-content></ng-content>
33
+ </fieldset>
34
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GovUkFieldsetComponent, decorators: [{
36
+ type: Component,
37
+ args: [{
38
+ selector: 'mv-gov-uk-fieldset',
39
+ template: `
40
+ <fieldset class="govuk-fieldset" [attr.aria-describedby]="setDescribedBy()">
41
+ <legend [class]="config.classes + ' govuk-fieldset__legend'" *ngIf="!isHeading">
42
+ {{config.legend}}
43
+ </legend>
44
+
45
+ <legend [class]="config.classes + ' govuk-fieldset__legend'" *ngIf="isHeading">
46
+ <h1>{{config.legend}}</h1>
47
+ </legend>
48
+
49
+ <span [id]="config.id+'-hint'" class="govuk-hint" *ngIf="config.hint">
50
+ {{config.hint}}
51
+ </span>
52
+ <ng-content></ng-content>
53
+ </fieldset>
54
+ `
55
+ }]
56
+ }], propDecorators: { config: [{
57
+ type: Input
58
+ }], isHeading: [{
59
+ type: Input
60
+ }], errorMessage: [{
61
+ type: Input
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292LXVrLWZpZWxkc2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3NoYXJlZC9nb3YtdWstZmllbGRzZXQvZ292LXVrLWZpZWxkc2V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBQzFFOzs7Ozs7O0lBT0k7QUFvQkosTUFBTSxPQUFPLHNCQUFzQjtJQUtqQyxjQUFjO1FBQ1osT0FBTyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUUsQ0FBQzs7c0lBUFUsc0JBQXNCOzBIQUF0QixzQkFBc0IsOElBakJ2Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQ7MkZBRVUsc0JBQXNCO2tCQW5CbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO2lCQUNGOzhCQUVVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdG1sVGVtcGxhdGVzSGVscGVyfSBmcm9tICcuLi91dGlsL2hlbHBlcnMvaHRtbC10ZW1wbGF0ZXMuaGVscGVyJztcbi8qXG4qIEdvdiBVayBGaWVsZHNldCBDb21wb25lbnRcbiogVXNlZCB0byB3cmFwIGdyb3VwIGZpZWxkc2V0IGVsZW1lbnRzXG4qIGl0IGNhbiBjb25kaXRpb25hbGx5IGRpc3BsYXkgaDEgdGFnXG4qIEBwYXJhbSBjb25maWdcbiogQHBhcmFtIGlzSGVhZGluZ1xuKiBAcGFyYW0gZXJyb3JNZXNzYWdlIC0gdXNlZCBmb3IgYXJpYSB0YWdcbiogKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWdvdi11ay1maWVsZHNldCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwic2V0RGVzY3JpYmVkQnkoKVwiPlxuICAgICAgICA8bGVnZW5kIFtjbGFzc109XCJjb25maWcuY2xhc3NlcyArICcgZ292dWstZmllbGRzZXRfX2xlZ2VuZCdcIiAqbmdJZj1cIiFpc0hlYWRpbmdcIj5cbiAgICAgICAgICB7e2NvbmZpZy5sZWdlbmR9fVxuICAgICAgICA8L2xlZ2VuZD5cblxuICAgICAgICA8bGVnZW5kIFtjbGFzc109XCJjb25maWcuY2xhc3NlcyArICcgZ292dWstZmllbGRzZXRfX2xlZ2VuZCdcIiAqbmdJZj1cImlzSGVhZGluZ1wiPlxuICAgICAgICAgIDxoMT57e2NvbmZpZy5sZWdlbmR9fTwvaDE+XG4gICAgICAgIDwvbGVnZW5kPlxuXG4gICAgICAgIDxzcGFuIFtpZF09XCJjb25maWcuaWQrJy1oaW50J1wiIGNsYXNzPVwiZ292dWstaGludFwiICpuZ0lmPVwiY29uZmlnLmhpbnRcIj5cbiAgICAgICAgICB7e2NvbmZpZy5oaW50fX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2ZpZWxkc2V0PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIEdvdlVrRmllbGRzZXRDb21wb25lbnQge1xuICBASW5wdXQoKSBjb25maWc6IHtsZWdlbmQ6IHN0cmluZzsgY2xhc3Nlczogc3RyaW5nLCBpZDogc3RyaW5nLCBoaW50OiBzdHJpbmcsIGtleTogc3RyaW5nfTtcbiAgQElucHV0KCkgaXNIZWFkaW5nOiBib29sZWFuO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U6IHN0cmluZ1tdO1xuXG4gIHNldERlc2NyaWJlZEJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEh0bWxUZW1wbGF0ZXNIZWxwZXIuc2V0RGVzY3JpYmVkQnkodGhpcy5lcnJvck1lc3NhZ2UsIHRoaXMuY29uZmlnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,44 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ /*
5
+ * Gov UK Label component
6
+ * Responsible for displaying label tag
7
+ * @prop isPageHading - boolean to display h1
8
+ * @prop config - obj with properties
9
+ * */
10
+ export class GovUkLabelComponent {
11
+ constructor() { }
12
+ }
13
+ /** @nocollapse */ GovUkLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GovUkLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ /** @nocollapse */ GovUkLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GovUkLabelComponent, selector: "mv-gov-label", inputs: { config: "config" }, ngImport: i0, template: `<h1 *ngIf="config.isPageHeading else noHeading">
15
+ <label *ngIf="config.label" [class]="config.classes + ' govuk-label'"
16
+ [for]="config.id" [innerHTML]="config.label">
17
+ </label>
18
+ </h1>
19
+ <ng-template #noHeading>
20
+ <label *ngIf="config.label" [class]="config.classes + ' govuk-label'"
21
+ [for]="config.id" [innerHTML]="config.label">
22
+ </label>
23
+ </ng-template>
24
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GovUkLabelComponent, decorators: [{
26
+ type: Component,
27
+ args: [{
28
+ selector: 'mv-gov-label',
29
+ template: `<h1 *ngIf="config.isPageHeading else noHeading">
30
+ <label *ngIf="config.label" [class]="config.classes + ' govuk-label'"
31
+ [for]="config.id" [innerHTML]="config.label">
32
+ </label>
33
+ </h1>
34
+ <ng-template #noHeading>
35
+ <label *ngIf="config.label" [class]="config.classes + ' govuk-label'"
36
+ [for]="config.id" [innerHTML]="config.label">
37
+ </label>
38
+ </ng-template>
39
+ `
40
+ }]
41
+ }], ctorParameters: function () { return []; }, propDecorators: { config: [{
42
+ type: Input
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292LXVrLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3NoYXJlZC9nb3YtdWstbGFiZWwvZ292LXVrLWxhYmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBRS9DOzs7OztJQUtJO0FBZUosTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixnQkFBaUIsQ0FBQzs7bUlBRFAsbUJBQW1CO3VIQUFuQixtQkFBbUIsa0ZBWnBCOzs7Ozs7Ozs7O0dBVVQ7MkZBRVUsbUJBQW1CO2tCQWQvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDtpQkFDRjswRUFHVSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKlxuKiBHb3YgVUsgTGFiZWwgY29tcG9uZW50XG4qIFJlc3BvbnNpYmxlIGZvciBkaXNwbGF5aW5nIGxhYmVsIHRhZ1xuKiBAcHJvcCBpc1BhZ2VIYWRpbmcgLSBib29sZWFuIHRvIGRpc3BsYXkgaDFcbiogQHByb3AgY29uZmlnIC0gb2JqIHdpdGggcHJvcGVydGllc1xuKiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtZ292LWxhYmVsJyxcbiAgdGVtcGxhdGU6IGA8aDEgKm5nSWY9XCJjb25maWcuaXNQYWdlSGVhZGluZyBlbHNlIG5vSGVhZGluZ1wiPlxuICAgICAgICAgIDxsYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiIFtjbGFzc109XCJjb25maWcuY2xhc3NlcyArICcgZ292dWstbGFiZWwnXCJcbiAgICAgICAgICAgICAgICAgW2Zvcl09XCJjb25maWcuaWRcIiBbaW5uZXJIVE1MXT1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvaDE+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9IZWFkaW5nPlxuICAgICAgICAgIDxsYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiIFtjbGFzc109XCJjb25maWcuY2xhc3NlcyArICcgZ292dWstbGFiZWwnXCJcbiAgICAgICAgICAgICAgICAgW2Zvcl09XCJjb25maWcuaWRcIiBbaW5uZXJIVE1MXT1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgR292VWtMYWJlbENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yICgpIHsgfVxuICBASW5wdXQoKSBjb25maWc6IHsgbGFiZWw6IHN0cmluZywgbmFtZTogc3RyaW5nOyBpZDogc3RyaW5nLCBpc1BhZ2VIZWFkaW5nLCBjbGFzc2VzOiBzdHJpbmcgfTtcblxufVxuIl19
@@ -0,0 +1,53 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { GovUkDateComponent } from './gov-uk-date/gov-uk-date.component';
4
+ import { GovUkErrorMessageComponent } from './gov-uk-error-message/gov-uk-error-message.component';
5
+ import { GovUkFieldsetComponent } from './gov-uk-fieldset/gov-uk-fieldset.component';
6
+ import { GovUkLabelComponent } from './gov-uk-label/gov-uk-label.component';
7
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
8
+ import { RouterModule } from '@angular/router';
9
+ import * as i0 from "@angular/core";
10
+ export class SharedModule {
11
+ }
12
+ /** @nocollapse */ SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ /** @nocollapse */ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SharedModule, declarations: [GovUkDateComponent,
14
+ GovUkErrorMessageComponent,
15
+ GovUkFieldsetComponent,
16
+ GovUkLabelComponent], imports: [CommonModule,
17
+ FormsModule,
18
+ ReactiveFormsModule,
19
+ CommonModule,
20
+ RouterModule], exports: [GovUkDateComponent,
21
+ GovUkErrorMessageComponent,
22
+ GovUkFieldsetComponent,
23
+ GovUkLabelComponent] });
24
+ /** @nocollapse */ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SharedModule, imports: [CommonModule,
25
+ FormsModule,
26
+ ReactiveFormsModule,
27
+ CommonModule,
28
+ RouterModule] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SharedModule, decorators: [{
30
+ type: NgModule,
31
+ args: [{
32
+ imports: [
33
+ CommonModule,
34
+ FormsModule,
35
+ ReactiveFormsModule,
36
+ CommonModule,
37
+ RouterModule
38
+ ],
39
+ declarations: [
40
+ GovUkDateComponent,
41
+ GovUkErrorMessageComponent,
42
+ GovUkFieldsetComponent,
43
+ GovUkLabelComponent
44
+ ],
45
+ exports: [
46
+ GovUkDateComponent,
47
+ GovUkErrorMessageComponent,
48
+ GovUkFieldsetComponent,
49
+ GovUkLabelComponent
50
+ ]
51
+ }]
52
+ }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3NoYXJlZC9zaGFyZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBMEI3QyxNQUFNLE9BQU8sWUFBWTs7NEhBQVosWUFBWTs2SEFBWixZQUFZLGlCQWJyQixrQkFBa0I7UUFDbEIsMEJBQTBCO1FBQzFCLHNCQUFzQjtRQUN0QixtQkFBbUIsYUFWbkIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLFlBQVksYUFVWixrQkFBa0I7UUFDbEIsMEJBQTBCO1FBQzFCLHNCQUFzQjtRQUN0QixtQkFBbUI7NkhBR1YsWUFBWSxZQXBCckIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLFlBQVk7MkZBZ0JILFlBQVk7a0JBdEJ4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLFlBQVk7cUJBQ2I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjtxQkFFcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7R292VWtEYXRlQ29tcG9uZW50fSBmcm9tICcuL2dvdi11ay1kYXRlL2dvdi11ay1kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0dvdlVrRXJyb3JNZXNzYWdlQ29tcG9uZW50fSBmcm9tICcuL2dvdi11ay1lcnJvci1tZXNzYWdlL2dvdi11ay1lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQge0dvdlVrRmllbGRzZXRDb21wb25lbnR9IGZyb20gJy4vZ292LXVrLWZpZWxkc2V0L2dvdi11ay1maWVsZHNldC5jb21wb25lbnQnO1xuaW1wb3J0IHtHb3ZVa0xhYmVsQ29tcG9uZW50fSBmcm9tICcuL2dvdi11ay1sYWJlbC9nb3YtdWstbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgR292VWtEYXRlQ29tcG9uZW50LFxuICAgIEdvdlVrRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgIEdvdlVrRmllbGRzZXRDb21wb25lbnQsXG4gICAgR292VWtMYWJlbENvbXBvbmVudFxuXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBHb3ZVa0RhdGVDb21wb25lbnQsXG4gICAgR292VWtFcnJvck1lc3NhZ2VDb21wb25lbnQsXG4gICAgR292VWtGaWVsZHNldENvbXBvbmVudCxcbiAgICBHb3ZVa0xhYmVsQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVkTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Number Helper Service
5
+ * */
6
+ export class NumberHelperService {
7
+ constructor() { }
8
+ isNumber(value) {
9
+ return (value !== null
10
+ && value !== undefined
11
+ && value !== ''
12
+ && !isNaN(Number(value.toString())));
13
+ }
14
+ }
15
+ /** @nocollapse */ NumberHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumberHelperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ /** @nocollapse */ NumberHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumberHelperService, providedIn: 'root' });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumberHelperService, decorators: [{
18
+ type: Injectable,
19
+ args: [{
20
+ providedIn: 'root'
21
+ }]
22
+ }], ctorParameters: function () { return []; } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc2hhcmVkL3V0aWwvc2VydmljZXMvbnVtYmVyLmhlbHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOztLQUVLO0FBS0wsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixnQkFBZ0IsQ0FBQztJQUVWLFFBQVEsQ0FBQyxLQUFzQjtRQUNsQyxPQUFPLENBQ0gsS0FBSyxLQUFLLElBQUk7ZUFDWCxLQUFLLEtBQUssU0FBUztlQUNuQixLQUFLLEtBQUssRUFBRTtlQUNaLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUN0QyxDQUFDO0lBQ04sQ0FBQzs7bUlBVlEsbUJBQW1CO3VJQUFuQixtQkFBbUIsY0FIaEIsTUFBTTsyRkFHVCxtQkFBbUI7a0JBSi9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIE51bWJlciBIZWxwZXIgU2VydmljZVxuICogKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBOdW1iZXJIZWxwZXJTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gICAgcHVibGljIGlzTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHZhbHVlICE9PSBudWxsXG4gICAgICAgICAgICAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAmJiB2YWx1ZSAhPT0gJydcbiAgICAgICAgICAgICYmICFpc05hTihOdW1iZXIodmFsdWUudG9TdHJpbmcoKSkpXG4gICAgICAgICk7XG4gICAgfVxuICB9XG4iXX0=
@@ -28,7 +28,6 @@ const indexEntities = (entities) => {
28
28
  keysToRemove = [];
29
29
  }
30
30
  };
31
- const ɵ0 = indexEntities;
32
31
  export const generateBookmarkNodes = (entities) => {
33
32
  const bookmarkEntities = JSON.parse(JSON.stringify(entities));
34
33
  indexEntities(bookmarkEntities);
@@ -47,5 +46,4 @@ export const generateBookmarkNodes = (entities) => {
47
46
  return nodes;
48
47
  }, []);
49
48
  };
50
- export { ɵ0 };
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLXN0b3JlLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvYm9va21hcmtzLXN0b3JlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBcUIsRUFBRSxFQUFFO0lBQzNELElBQUksU0FBUyxFQUFFO1FBQ2IsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzdDLElBQUksUUFBUSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sQ0FBQyxHQUFHLFFBQVEsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDOUU7WUFDRCxPQUFPLENBQUMsR0FBRyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUNSO1NBQU07UUFDTCxPQUFPLEVBQUUsQ0FBQztLQUNYO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxTQUFxQixFQUE0QixFQUFFO0lBQzFGLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FDckIsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFDOUQsRUFBRSxDQUFDLENBQUM7QUFDUixDQUFDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQW9DLEVBQUUsRUFBRTtJQUM3RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ2pELElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUU7Z0JBQ3JGLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUM1QixZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekUsWUFBWSxHQUFHLEVBQUUsQ0FBQztLQUNuQjtBQUNILENBQUMsQ0FBQzs7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFFBQW9DLEVBQUUsRUFBRTtJQUM1RSxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzlELGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTtRQUNoRSxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxJQUFJLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDekIsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO2dCQUMxQixZQUFZLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQzthQUM1QjtZQUNELFlBQVksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLGNBQWMsQ0FBQztTQUM5RDthQUFNO1lBQ0wsS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxjQUFjLENBQUM7U0FDOUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2ttYXJrIH0gZnJvbSAnLi4vdmlld2Vycy9wZGYtdmlld2VyL3NpZGUtYmFyL2Jvb2ttYXJrcy9ib29rbWFya3MuaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya0NoaWxkcmVuID0gKGJvb2ttYXJrczogQm9va21hcmtbXSkgPT4ge1xuICBpZiAoYm9va21hcmtzKSB7XG4gICAgcmV0dXJuIGJvb2ttYXJrcy5yZWR1Y2UoKGNoaWxkSWRzLCBib29rbWFyaykgPT4ge1xuICAgICAgaWYgKGJvb2ttYXJrLmNoaWxkcmVuICYmIGJvb2ttYXJrLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIFsuLi5jaGlsZElkcywgYm9va21hcmsuaWQsIC4uLmdldEJvb2ttYXJrQ2hpbGRyZW4oYm9va21hcmsuY2hpbGRyZW4pXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbLi4uY2hpbGRJZHMsIGJvb2ttYXJrLmlkXTtcbiAgICB9LCBbXSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVCb29rbWFya0VudGl0aWVzID0gKGJvb2ttYXJrczogQm9va21hcmtbXSk6IHtbaWQ6IHN0cmluZ106IEJvb2ttYXJrfSA9PiB7XG4gIHJldHVybiBib29rbWFya3MucmVkdWNlKFxuICAgIChib29rbWFya0VudGl0aWVzLCBib29rbWFyaykgPT5cbiAgICAgIE9iamVjdC5hc3NpZ24oYm9va21hcmtFbnRpdGllcywgeyBbYm9va21hcmsuaWRdOiBib29rbWFyayB9KSxcbiAgICB7fSk7XG59O1xuXG5jb25zdCBpbmRleEVudGl0aWVzID0gKGVudGl0aWVzOiB7IFtpZDogc3RyaW5nXTogQm9va21hcmsgfSkgPT4ge1xuICBjb25zdCBlbnRpdHlJZHMgPSBPYmplY3Qua2V5cyhlbnRpdGllcyk7XG4gIGZvciAobGV0IGluZGV4ID0gMDsgZW50aXR5SWRzLmxlbmd0aCA+IDA7IGluZGV4KyspIHtcbiAgICBsZXQga2V5c1RvUmVtb3ZlID0gW107XG4gICAgZW50aXR5SWRzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmICghZW50aXRpZXNba2V5XS5wcmV2aW91cyB8fCAhZW50aXR5SWRzLmluY2x1ZGVzKGVudGl0aWVzW2tleV0ucHJldmlvdXMudG9TdHJpbmcoKSkpIHtcbiAgICAgICAgZW50aXRpZXNba2V5XS5pbmRleCA9IGluZGV4O1xuICAgICAgICBrZXlzVG9SZW1vdmUucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGtleXNUb1JlbW92ZS5mb3JFYWNoKGtleSA9PiBlbnRpdHlJZHMuc3BsaWNlKGVudGl0eUlkcy5pbmRleE9mKGtleSksIDEpKTtcbiAgICBrZXlzVG9SZW1vdmUgPSBbXTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlQm9va21hcmtOb2RlcyA9IChlbnRpdGllczogeyBbaWQ6IHN0cmluZ106IEJvb2ttYXJrIH0pID0+IHtcbiAgY29uc3QgYm9va21hcmtFbnRpdGllcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZW50aXRpZXMpKTtcbiAgaW5kZXhFbnRpdGllcyhib29rbWFya0VudGl0aWVzKTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGJvb2ttYXJrRW50aXRpZXMpLnJlZHVjZSgobm9kZXMsIGJvb2ttYXJrSWQpID0+IHtcbiAgICBjb25zdCBib29rbWFya0VudGl0eSA9IGJvb2ttYXJrRW50aXRpZXNbYm9va21hcmtJZF07XG4gICAgaWYgKGJvb2ttYXJrRW50aXR5LnBhcmVudCkge1xuICAgICAgY29uc3QgcGFyZW50RW50aXR5ID0gYm9va21hcmtFbnRpdGllc1tib29rbWFya0VudGl0eS5wYXJlbnRdO1xuICAgICAgaWYgKCFwYXJlbnRFbnRpdHkuY2hpbGRyZW4pIHtcbiAgICAgICAgcGFyZW50RW50aXR5LmNoaWxkcmVuID0gW107XG4gICAgICB9XG4gICAgICBwYXJlbnRFbnRpdHkuY2hpbGRyZW5bYm9va21hcmtFbnRpdHkuaW5kZXhdID0gYm9va21hcmtFbnRpdHk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGVzW2Jvb2ttYXJrRW50aXR5LmluZGV4XSA9IGJvb2ttYXJrRW50aXR5O1xuICAgIH1cbiAgICByZXR1cm4gbm9kZXM7XG4gIH0sIFtdKTtcbn07XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLXN0b3JlLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvYm9va21hcmtzLXN0b3JlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBcUIsRUFBRSxFQUFFO0lBQzNELElBQUksU0FBUyxFQUFFO1FBQ2IsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzdDLElBQUksUUFBUSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sQ0FBQyxHQUFHLFFBQVEsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDOUU7WUFDRCxPQUFPLENBQUMsR0FBRyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUNSO1NBQU07UUFDTCxPQUFPLEVBQUUsQ0FBQztLQUNYO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxTQUFxQixFQUE0QixFQUFFO0lBQzFGLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FDckIsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFDOUQsRUFBRSxDQUFDLENBQUM7QUFDUixDQUFDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQW9DLEVBQUUsRUFBRTtJQUM3RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ2pELElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUU7Z0JBQ3JGLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUM1QixZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekUsWUFBWSxHQUFHLEVBQUUsQ0FBQztLQUNuQjtBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsUUFBb0MsRUFBRSxFQUFFO0lBQzVFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDOUQsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDaEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFO1FBQ2hFLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRTtZQUN6QixNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7Z0JBQzFCLFlBQVksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO2FBQzVCO1lBQ0QsWUFBWSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsY0FBYyxDQUFDO1NBQzlEO2FBQU07WUFDTCxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLGNBQWMsQ0FBQztTQUM5QztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9va21hcmsgfSBmcm9tICcuLi92aWV3ZXJzL3BkZi12aWV3ZXIvc2lkZS1iYXIvYm9va21hcmtzL2Jvb2ttYXJrcy5pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrQ2hpbGRyZW4gPSAoYm9va21hcmtzOiBCb29rbWFya1tdKSA9PiB7XG4gIGlmIChib29rbWFya3MpIHtcbiAgICByZXR1cm4gYm9va21hcmtzLnJlZHVjZSgoY2hpbGRJZHMsIGJvb2ttYXJrKSA9PiB7XG4gICAgICBpZiAoYm9va21hcmsuY2hpbGRyZW4gJiYgYm9va21hcmsuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gWy4uLmNoaWxkSWRzLCBib29rbWFyay5pZCwgLi4uZ2V0Qm9va21hcmtDaGlsZHJlbihib29rbWFyay5jaGlsZHJlbildO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFsuLi5jaGlsZElkcywgYm9va21hcmsuaWRdO1xuICAgIH0sIFtdKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW107XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUJvb2ttYXJrRW50aXRpZXMgPSAoYm9va21hcmtzOiBCb29rbWFya1tdKToge1tpZDogc3RyaW5nXTogQm9va21hcmt9ID0+IHtcbiAgcmV0dXJuIGJvb2ttYXJrcy5yZWR1Y2UoXG4gICAgKGJvb2ttYXJrRW50aXRpZXMsIGJvb2ttYXJrKSA9PlxuICAgICAgT2JqZWN0LmFzc2lnbihib29rbWFya0VudGl0aWVzLCB7IFtib29rbWFyay5pZF06IGJvb2ttYXJrIH0pLFxuICAgIHt9KTtcbn07XG5cbmNvbnN0IGluZGV4RW50aXRpZXMgPSAoZW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBCb29rbWFyayB9KSA9PiB7XG4gIGNvbnN0IGVudGl0eUlkcyA9IE9iamVjdC5rZXlzKGVudGl0aWVzKTtcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBlbnRpdHlJZHMubGVuZ3RoID4gMDsgaW5kZXgrKykge1xuICAgIGxldCBrZXlzVG9SZW1vdmUgPSBbXTtcbiAgICBlbnRpdHlJZHMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKCFlbnRpdGllc1trZXldLnByZXZpb3VzIHx8ICFlbnRpdHlJZHMuaW5jbHVkZXMoZW50aXRpZXNba2V5XS5wcmV2aW91cy50b1N0cmluZygpKSkge1xuICAgICAgICBlbnRpdGllc1trZXldLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIGtleXNUb1JlbW92ZS5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAga2V5c1RvUmVtb3ZlLmZvckVhY2goa2V5ID0+IGVudGl0eUlkcy5zcGxpY2UoZW50aXR5SWRzLmluZGV4T2Yoa2V5KSwgMSkpO1xuICAgIGtleXNUb1JlbW92ZSA9IFtdO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVCb29rbWFya05vZGVzID0gKGVudGl0aWVzOiB7IFtpZDogc3RyaW5nXTogQm9va21hcmsgfSkgPT4ge1xuICBjb25zdCBib29rbWFya0VudGl0aWVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShlbnRpdGllcykpO1xuICBpbmRleEVudGl0aWVzKGJvb2ttYXJrRW50aXRpZXMpO1xuICByZXR1cm4gT2JqZWN0LmtleXMoYm9va21hcmtFbnRpdGllcykucmVkdWNlKChub2RlcywgYm9va21hcmtJZCkgPT4ge1xuICAgIGNvbnN0IGJvb2ttYXJrRW50aXR5ID0gYm9va21hcmtFbnRpdGllc1tib29rbWFya0lkXTtcbiAgICBpZiAoYm9va21hcmtFbnRpdHkucGFyZW50KSB7XG4gICAgICBjb25zdCBwYXJlbnRFbnRpdHkgPSBib29rbWFya0VudGl0aWVzW2Jvb2ttYXJrRW50aXR5LnBhcmVudF07XG4gICAgICBpZiAoIXBhcmVudEVudGl0eS5jaGlsZHJlbikge1xuICAgICAgICBwYXJlbnRFbnRpdHkuY2hpbGRyZW4gPSBbXTtcbiAgICAgIH1cbiAgICAgIHBhcmVudEVudGl0eS5jaGlsZHJlbltib29rbWFya0VudGl0eS5pbmRleF0gPSBib29rbWFya0VudGl0eTtcbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZXNbYm9va21hcmtFbnRpdHkuaW5kZXhdID0gYm9va21hcmtFbnRpdHk7XG4gICAgfVxuICAgIHJldHVybiBub2RlcztcbiAgfSwgW10pO1xufTtcbiJdfQ==
@@ -0,0 +1,44 @@
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 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), map((action) => action.payload), exhaustMap((annotation) => {
24
+ return this.annotationApiService.postAnnotation(annotation).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
+ }
38
+ }
39
+ /** @nocollapse */ AnnotationEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnotationEffects, deps: [{ token: i1.Actions }, { token: i2.AnnotationApiService }], target: i0.ɵɵFactoryTarget.Injectable });
40
+ /** @nocollapse */ AnnotationEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnotationEffects });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnotationEffects, decorators: [{
42
+ type: Injectable
43
+ }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.AnnotationApiService }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbi5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9hbm5vdGF0aW9uLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQixPQUFPLEtBQUssa0JBQWtCLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFHcEUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUNVLFFBQWlCLEVBQ2pCLG9CQUEwQztRQUQxQyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFHcEQsb0JBQWUsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNsQixNQUFNLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsRUFDOUMsR0FBRyxDQUFDLENBQUMsTUFBNEMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUNyRSxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQ2hFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDUixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO29CQUN0QixPQUFPLElBQUksa0JBQWtCLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQzFEO2dCQUNELE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sRUFBRSxDQUFDLElBQUksa0JBQWtCLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FDSixDQUFDO1FBRUYsb0JBQWUsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNsQixNQUFNLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLEVBQzFDLEdBQUcsQ0FBQyxDQUFDLE1BQXlDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDbEUsVUFBVSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDOUQsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNoQixPQUFPLElBQUksa0JBQWtCLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbkUsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixPQUFPLEVBQUUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDakUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDLENBQ0osQ0FBQztRQUVGLHNCQUFpQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2xCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxFQUM1QyxHQUFHLENBQUMsQ0FBQyxNQUEyQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ3BFLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDaEUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNYLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwRSxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sRUFBRSxDQUFDLElBQUksa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNoRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FDSixDQUFDO0lBaERFLENBQUM7O2lJQUpNLGlCQUFpQjtxSUFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBleGhhdXN0TWFwLCBtYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7QW5ub3RhdGlvbkFwaVNlcnZpY2V9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL3NlcnZpY2VzL2Fubm90YXRpb24tYXBpL2Fubm90YXRpb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgYW5ub3RhdGlvbnNBY3Rpb25zIGZyb20gJy4uL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFubm90YXRpb25FZmZlY3RzIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIGFubm90YXRpb25BcGlTZXJ2aWNlOiBBbm5vdGF0aW9uQXBpU2VydmljZSxcbiAgKSB7IH1cblxuICBsb2FkQW5ub3RhdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGFubm90YXRpb25zQWN0aW9ucy5MT0FEX0FOTk9UQVRJT05fU0VUKSxcbiAgICBtYXAoKGFjdGlvbjogYW5ub3RhdGlvbnNBY3Rpb25zLkxvYWRBbm5vdGF0aW9uU2V0KSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgc3dpdGNoTWFwKChkb2N1bWVudElkKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5hbm5vdGF0aW9uQXBpU2VydmljZS5nZXRBbm5vdGF0aW9uU2V0KGRvY3VtZW50SWQpLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT4ge1xuICAgICAgICAgIGlmIChyZXMuc3RhdHVzID09PSAyMDQpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgYW5ub3RhdGlvbnNBY3Rpb25zLkxvYWRBbm5vdGF0aW9uU2V0RmFpbChyZXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IGFubm90YXRpb25zQWN0aW9ucy5Mb2FkQW5ub3RhdGlvblNldFN1Y2VzcyhyZXMpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKG5ldyBhbm5vdGF0aW9uc0FjdGlvbnMuTG9hZEFubm90YXRpb25TZXRGYWlsKGVycm9yKSk7XG4gICAgICAgIH0pKTtcbiAgICB9KSlcbiAgKTtcblxuICBwb3N0QW5ub3RhdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGFubm90YXRpb25zQWN0aW9ucy5TQVZFX0FOTk9UQVRJT04pLFxuICAgIG1hcCgoYWN0aW9uOiBhbm5vdGF0aW9uc0FjdGlvbnMuU2F2ZUFubm90YXRpb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICBleGhhdXN0TWFwKChhbm5vdGF0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5hbm5vdGF0aW9uQXBpU2VydmljZS5wb3N0QW5ub3RhdGlvbihhbm5vdGF0aW9uKS5waXBlKFxuICAgICAgICBtYXAoYW5ub3RhdGlvbnMgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgYW5ub3RhdGlvbnNBY3Rpb25zLlNhdmVBbm5vdGF0aW9uU3VjY2Vzcyhhbm5vdGF0aW9ucyk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YobmV3IGFubm90YXRpb25zQWN0aW9ucy5Mb2FkQW5ub3RhdGlvblNldEZhaWwoZXJyb3IpKTtcbiAgICAgICAgfSkpO1xuICAgIH0pKVxuICApO1xuXG4gIGRlbGV0ZUFubm90YXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShhbm5vdGF0aW9uc0FjdGlvbnMuREVMRVRFX0FOTk9UQVRJT04pLFxuICAgIG1hcCgoYWN0aW9uOiBhbm5vdGF0aW9uc0FjdGlvbnMuRGVsZXRlQW5ub3RhdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIGV4aGF1c3RNYXAoKGFubm90YXRpb24pID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmFubm90YXRpb25BcGlTZXJ2aWNlLmRlbGV0ZUFubm90YXRpb24oYW5ub3RhdGlvbikucGlwZShcbiAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBhbm5vdGF0aW9uc0FjdGlvbnMuRGVsZXRlQW5ub3RhdGlvblN1Y2Nlc3MoYW5ub3RhdGlvbik7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YobmV3IGFubm90YXRpb25zQWN0aW9ucy5EZWxldGVBbm5vdGF0aW9uRmFpbChlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpXG4gICk7XG59XG4iXX0=