@hmcts/media-viewer 4.0.1 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/esm2020/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +116 -0
  2. package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +109 -0
  3. package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +5 -5
  4. package/esm2020/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
  5. package/esm2020/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
  6. package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
  7. package/esm2020/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +118 -0
  8. package/esm2020/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +86 -0
  9. package/{esm2022 → esm2020}/lib/annotations/annotations.module.mjs +61 -61
  10. package/esm2020/lib/annotations/comment-set/comment/comment.component.mjs +177 -0
  11. package/esm2020/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
  12. package/esm2020/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
  13. package/{esm2022 → esm2020}/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +5 -5
  14. package/esm2020/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
  15. package/{esm2022 → esm2020}/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +5 -5
  16. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +54 -0
  17. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +68 -0
  18. package/esm2020/lib/annotations/comment-set/comment-set-render.service.mjs +54 -0
  19. package/esm2020/lib/annotations/comment-set/comment-set.component.mjs +123 -0
  20. package/esm2020/lib/annotations/comments-summary/comments-summary.component.mjs +120 -0
  21. package/{esm2022 → esm2020}/lib/annotations/pipes/date/date.pipe.mjs +4 -4
  22. package/esm2020/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
  23. package/{esm2022 → esm2020}/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +4 -4
  24. package/{esm2022 → esm2020}/lib/annotations/services/annotation-api/annotation-api.service.mjs +5 -5
  25. package/{esm2022 → esm2020}/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +5 -5
  26. package/{esm2022 → esm2020}/lib/annotations/services/tags/tags.services.mjs +5 -5
  27. package/esm2020/lib/annotations/tags/tags.component.mjs +53 -0
  28. package/{esm2022 → esm2020}/lib/bookmark/components/bookmark-icons.component.mjs +5 -5
  29. package/{esm2022 → esm2020}/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +5 -5
  30. package/esm2020/lib/icp/icp-follower.service.mjs +60 -0
  31. package/esm2020/lib/icp/icp-presenter.service.mjs +55 -0
  32. package/esm2020/lib/icp/icp-session-api.service.mjs +21 -0
  33. package/esm2020/lib/icp/icp-update.service.mjs +65 -0
  34. package/{esm2022 → esm2020}/lib/icp/icp.interfaces.mjs +1 -1
  35. package/esm2020/lib/icp/icp.service.mjs +95 -0
  36. package/{esm2022 → esm2020}/lib/icp/participants-list/participants-list.component.mjs +5 -5
  37. package/esm2020/lib/icp/socket.service.mjs +118 -0
  38. package/esm2020/lib/media-viewer.component.mjs +245 -0
  39. package/{esm2022 → esm2020}/lib/media-viewer.module.mjs +55 -55
  40. package/{esm2022 → esm2020}/lib/print.service.mjs +4 -4
  41. package/esm2020/lib/redaction/components/redaction.component.mjs +91 -0
  42. package/{esm2022 → esm2020}/lib/redaction/services/redaction-api.service.mjs +5 -5
  43. package/{esm2022 → esm2020}/lib/shared/gov-uk-date/gov-uk-date.component.mjs +4 -4
  44. package/{esm2022 → esm2020}/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +7 -7
  45. package/{esm2022 → esm2020}/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +6 -6
  46. package/{esm2022 → esm2020}/lib/shared/gov-uk-label/gov-uk-label.component.mjs +7 -7
  47. package/{esm2022 → esm2020}/lib/shared/shared.module.mjs +19 -19
  48. package/esm2020/lib/shared/util/helpers/html-templates.helper.mjs +18 -0
  49. package/{esm2022 → esm2020}/lib/shared/util/services/number.helper.service.mjs +5 -5
  50. package/esm2020/lib/store/actions/icp.actions.mjs +56 -0
  51. package/esm2020/lib/store/bookmarks-store-utils.mjs +49 -0
  52. package/esm2020/lib/store/effects/annotation.effects.mjs +51 -0
  53. package/{esm2022 → esm2020}/lib/store/effects/bookmarks.effects.mjs +5 -5
  54. package/{esm2022 → esm2020}/lib/store/effects/document.effects.mjs +5 -5
  55. package/esm2020/lib/store/effects/icp.effects.mjs +26 -0
  56. package/{esm2022 → esm2020}/lib/store/effects/redaction.effects.mjs +5 -5
  57. package/esm2020/lib/store/reducers/annotations.reducer.mjs +208 -0
  58. package/esm2020/lib/store/reducers/bookmarks.reducer.mjs +116 -0
  59. package/esm2020/lib/store/reducers/document.reducer.mjs +135 -0
  60. package/esm2020/lib/store/reducers/icp.reducer.mjs +56 -0
  61. package/esm2020/lib/store/reducers/redaction.reducer.mjs +116 -0
  62. package/esm2020/lib/store/reducers/tags.reducer.mjs +93 -0
  63. package/esm2020/lib/store/selectors/annotation.selectors.mjs +81 -0
  64. package/{esm2022 → esm2020}/lib/store/selectors/bookmark.selectors.mjs +1 -1
  65. package/{esm2022 → esm2020}/lib/store/selectors/redaction.selectors.mjs +1 -1
  66. package/esm2020/lib/store/store-utils.mjs +131 -0
  67. package/esm2020/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +44 -0
  68. package/{esm2022 → esm2020}/lib/toolbar/icp-event.service.mjs +1 -1
  69. package/{esm2022 → esm2020}/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +5 -5
  70. package/esm2020/lib/toolbar/main-toolbar/main-toolbar.component.mjs +189 -0
  71. package/esm2020/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +236 -0
  72. package/esm2020/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +68 -0
  73. package/esm2020/lib/toolbar/search-bar/search-bar.component.mjs +109 -0
  74. package/esm2020/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
  75. package/esm2020/lib/toolbar/toolbar-event.service.mjs +178 -0
  76. package/{esm2022 → esm2020}/lib/toolbar/toolbar.module.mjs +25 -25
  77. package/esm2020/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +82 -0
  78. package/{esm2022 → esm2020}/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +5 -5
  79. package/esm2020/lib/viewers/grab-n-drag.directive.mjs +57 -0
  80. package/esm2020/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
  81. package/esm2020/lib/viewers/multimedia-player/multimedia-player.component.mjs +59 -0
  82. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +209 -0
  83. package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +5 -5
  84. package/esm2020/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +236 -0
  85. package/esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +352 -0
  86. package/esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
  87. package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +5 -5
  88. package/{esm2022 → esm2020}/lib/viewers/rotation-persist/rotation-api.service.mjs +5 -5
  89. package/esm2020/lib/viewers/rotation-persist/rotation-persist.directive.mjs +61 -0
  90. package/esm2020/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
  91. package/{esm2022 → esm2020}/lib/viewers/viewer-event.service.mjs +5 -5
  92. package/{esm2022 → esm2020}/lib/viewers/viewer-util.service.mjs +5 -5
  93. package/fesm2015/hmcts-media-viewer.mjs +6953 -0
  94. package/fesm2015/hmcts-media-viewer.mjs.map +1 -0
  95. package/{fesm2022 → fesm2020}/hmcts-media-viewer.mjs +462 -453
  96. package/fesm2020/hmcts-media-viewer.mjs.map +1 -0
  97. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +1 -1
  98. package/lib/annotations/annotation-set/annotation-set.component.d.ts +1 -1
  99. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +1 -1
  100. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +1 -1
  101. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +1 -1
  102. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +1 -1
  103. package/lib/annotations/comment-set/comment/comment.component.d.ts +1 -1
  104. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +1 -1
  105. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +1 -1
  106. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +1 -1
  107. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +1 -1
  108. package/lib/annotations/comment-set/comment-set.component.d.ts +1 -1
  109. package/lib/annotations/comments-summary/comments-summary.component.d.ts +1 -1
  110. package/lib/annotations/tags/tags.component.d.ts +1 -1
  111. package/lib/bookmark/components/bookmark-icons.component.d.ts +1 -1
  112. package/lib/icp/icp-session-api.service.d.ts +4 -1
  113. package/lib/icp/icp-session-api.service.d.ts.map +1 -1
  114. package/lib/icp/icp-update.service.d.ts.map +1 -1
  115. package/lib/icp/icp.interfaces.d.ts +1 -0
  116. package/lib/icp/icp.interfaces.d.ts.map +1 -1
  117. package/lib/icp/icp.service.d.ts +1 -0
  118. package/lib/icp/icp.service.d.ts.map +1 -1
  119. package/lib/icp/socket.service.d.ts +6 -6
  120. package/lib/icp/socket.service.d.ts.map +1 -1
  121. package/lib/media-viewer.component.d.ts +2 -1
  122. package/lib/media-viewer.component.d.ts.map +1 -1
  123. package/lib/redaction/components/redaction.component.d.ts +1 -1
  124. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +1 -1
  125. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -1
  126. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -1
  127. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +1 -1
  128. package/lib/store/actions/icp.actions.d.ts +8 -2
  129. package/lib/store/actions/icp.actions.d.ts.map +1 -1
  130. package/lib/store/bookmarks-store-utils.d.ts.map +1 -1
  131. package/lib/store/effects/icp.effects.d.ts.map +1 -1
  132. package/lib/toolbar/icp-event.service.d.ts +4 -4
  133. package/lib/toolbar/icp-event.service.d.ts.map +1 -1
  134. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +1 -1
  135. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +1 -1
  136. package/lib/toolbar/toolbar-event.service.d.ts +6 -6
  137. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
  138. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +1 -1
  139. package/lib/viewers/grab-n-drag.directive.d.ts +1 -1
  140. package/lib/viewers/image-viewer/image-viewer.component.d.ts +1 -1
  141. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +1 -1
  142. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -1
  143. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +1 -1
  144. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +1 -1
  145. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +1 -1
  146. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +1 -1
  147. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +1 -1
  148. package/lib/viewers/viewer-event.service.d.ts +1 -1
  149. package/lib/viewers/viewer-event.service.d.ts.map +1 -1
  150. package/package.json +23 -16
  151. package/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +0 -116
  152. package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +0 -109
  153. package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +0 -50
  154. package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +0 -94
  155. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +0 -116
  156. package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +0 -118
  157. package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +0 -86
  158. package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +0 -177
  159. package/esm2022/lib/annotations/comment-set/comment/comment.service.mjs +0 -50
  160. package/esm2022/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +0 -47
  161. package/esm2022/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +0 -91
  162. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +0 -54
  163. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +0 -68
  164. package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +0 -54
  165. package/esm2022/lib/annotations/comment-set/comment-set.component.mjs +0 -123
  166. package/esm2022/lib/annotations/comments-summary/comments-summary.component.mjs +0 -120
  167. package/esm2022/lib/annotations/pipes/filter/filter.pipe.mjs +0 -32
  168. package/esm2022/lib/annotations/tags/tags.component.mjs +0 -53
  169. package/esm2022/lib/icp/icp-follower.service.mjs +0 -60
  170. package/esm2022/lib/icp/icp-presenter.service.mjs +0 -55
  171. package/esm2022/lib/icp/icp-session-api.service.mjs +0 -21
  172. package/esm2022/lib/icp/icp-update.service.mjs +0 -57
  173. package/esm2022/lib/icp/icp.service.mjs +0 -93
  174. package/esm2022/lib/icp/socket.service.mjs +0 -118
  175. package/esm2022/lib/media-viewer.component.mjs +0 -244
  176. package/esm2022/lib/redaction/components/redaction.component.mjs +0 -91
  177. package/esm2022/lib/shared/util/helpers/html-templates.helper.mjs +0 -18
  178. package/esm2022/lib/store/actions/icp.actions.mjs +0 -56
  179. package/esm2022/lib/store/bookmarks-store-utils.mjs +0 -49
  180. package/esm2022/lib/store/effects/annotation.effects.mjs +0 -51
  181. package/esm2022/lib/store/effects/icp.effects.mjs +0 -26
  182. package/esm2022/lib/store/reducers/annotations.reducer.mjs +0 -208
  183. package/esm2022/lib/store/reducers/bookmarks.reducer.mjs +0 -116
  184. package/esm2022/lib/store/reducers/document.reducer.mjs +0 -135
  185. package/esm2022/lib/store/reducers/icp.reducer.mjs +0 -56
  186. package/esm2022/lib/store/reducers/redaction.reducer.mjs +0 -116
  187. package/esm2022/lib/store/reducers/tags.reducer.mjs +0 -93
  188. package/esm2022/lib/store/selectors/annotation.selectors.mjs +0 -81
  189. package/esm2022/lib/store/store-utils.mjs +0 -131
  190. package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +0 -44
  191. package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +0 -189
  192. package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +0 -236
  193. package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +0 -68
  194. package/esm2022/lib/toolbar/search-bar/search-bar.component.mjs +0 -109
  195. package/esm2022/lib/toolbar/toolbar-button-visibility.service.mjs +0 -94
  196. package/esm2022/lib/toolbar/toolbar-event.service.mjs +0 -178
  197. package/esm2022/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +0 -82
  198. package/esm2022/lib/viewers/grab-n-drag.directive.mjs +0 -57
  199. package/esm2022/lib/viewers/image-viewer/image-viewer.component.mjs +0 -166
  200. package/esm2022/lib/viewers/multimedia-player/multimedia-player.component.mjs +0 -59
  201. package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +0 -210
  202. package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +0 -236
  203. package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +0 -352
  204. package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +0 -49
  205. package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +0 -61
  206. package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +0 -49
  207. package/fesm2022/hmcts-media-viewer.mjs.map +0 -1
  208. /package/{esm2022 → esm2020}/hmcts-media-viewer.mjs +0 -0
  209. /package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-set.model.mjs +0 -0
  210. /package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +0 -0
  211. /package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +0 -0
  212. /package/{esm2022 → esm2020}/lib/annotations/comment-set/comment/comment.model.mjs +0 -0
  213. /package/{esm2022 → esm2020}/lib/annotations/models/api-persisted.model.mjs +0 -0
  214. /package/{esm2022 → esm2020}/lib/annotations/models/event-select.model.mjs +0 -0
  215. /package/{esm2022 → esm2020}/lib/annotations/models/tags.model.mjs +0 -0
  216. /package/{esm2022 → esm2020}/lib/annotations/models/user.model.mjs +0 -0
  217. /package/{esm2022 → esm2020}/lib/icp/icp.events.mjs +0 -0
  218. /package/{esm2022 → esm2020}/lib/redaction/services/redaction.model.mjs +0 -0
  219. /package/{esm2022 → esm2020}/lib/store/actions/annotation.actions.mjs +0 -0
  220. /package/{esm2022 → esm2020}/lib/store/actions/bookmark.actions.mjs +0 -0
  221. /package/{esm2022 → esm2020}/lib/store/actions/document.actions.mjs +0 -0
  222. /package/{esm2022 → esm2020}/lib/store/actions/redaction.actions.mjs +0 -0
  223. /package/{esm2022 → esm2020}/lib/store/actions/tag.actions.mjs +0 -0
  224. /package/{esm2022 → esm2020}/lib/store/effects/index.mjs +0 -0
  225. /package/{esm2022 → esm2020}/lib/store/models/bookmarks.interface.mjs +0 -0
  226. /package/{esm2022 → esm2020}/lib/store/models/filters.interface.mjs +0 -0
  227. /package/{esm2022 → esm2020}/lib/store/reducers/reducers.mjs +0 -0
  228. /package/{esm2022 → esm2020}/lib/store/selectors/document.selectors.mjs +0 -0
  229. /package/{esm2022 → esm2020}/lib/store/selectors/icp.selectors.mjs +0 -0
  230. /package/{esm2022 → esm2020}/lib/store/selectors/tag.selectors.mjs +0 -0
  231. /package/{esm2022 → esm2020}/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +0 -0
  232. /package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +0 -0
  233. /package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +0 -0
  234. /package/{esm2022 → esm2020}/lib/viewers/rotation-persist/rotation.model.mjs +0 -0
  235. /package/{esm2022 → esm2020}/lib/viewers/viewer-exception.model.mjs +0 -0
  236. /package/{esm2022 → esm2020}/public_api.mjs +0 -0
@@ -0,0 +1,116 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { v4 as uuid } from 'uuid';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../../toolbar/toolbar.module";
5
+ import * as i2 from "../highlight-create/highlight-create.service";
6
+ export class BoxHighlightCreateComponent {
7
+ constructor(toolbarEvents, highlightService) {
8
+ this.toolbarEvents = toolbarEvents;
9
+ this.highlightService = highlightService;
10
+ this.saveSelection = new EventEmitter();
11
+ this.drawStartX = -1;
12
+ this.drawStartY = -1;
13
+ this.backgroundColor = 'none';
14
+ this.subscriptions = [];
15
+ }
16
+ ngOnInit() {
17
+ this.subscriptions = [
18
+ this.toolbarEvents.drawModeSubject.subscribe(drawMode => {
19
+ this.defaultHeight = drawMode ? '100%' : '0px';
20
+ this.defaultWidth = drawMode ? '100%' : '0px';
21
+ }),
22
+ this.toolbarEvents.redactWholePage.subscribe(() => {
23
+ this.wholePage = true;
24
+ })
25
+ ];
26
+ }
27
+ ngOnDestroy() {
28
+ this.subscriptions.forEach(subscription => {
29
+ subscription.unsubscribe();
30
+ });
31
+ }
32
+ initHighlight({ offsetX, offsetY }) {
33
+ if (this.wholePage) {
34
+ this.highlightPage();
35
+ return;
36
+ }
37
+ this.position = 'absolute';
38
+ this.backgroundColor = 'yellow';
39
+ this.drawStartX = offsetX;
40
+ this.drawStartY = offsetY;
41
+ this.display = 'block';
42
+ this.height = 50;
43
+ this.width = 50;
44
+ this.top = this.drawStartY;
45
+ this.left = this.drawStartX;
46
+ switch (this.rotate) {
47
+ case 90:
48
+ this.top = this.drawStartY - this.height;
49
+ break;
50
+ case 180:
51
+ this.top = this.drawStartY - this.height;
52
+ this.left = this.drawStartX - this.width;
53
+ break;
54
+ case 270:
55
+ this.left = this.drawStartX - this.width;
56
+ break;
57
+ }
58
+ }
59
+ updateHighlight({ currentTarget, clientX, clientY }) {
60
+ const rect = currentTarget.getBoundingClientRect(), offsetX = clientX - rect.left, offsetY = clientY - rect.top;
61
+ if (this.drawStartX > 0 && this.drawStartY > 0) {
62
+ this.height = Math.abs(offsetY - this.drawStartY);
63
+ this.width = Math.abs(offsetX - this.drawStartX);
64
+ this.top = Math.min(offsetY, this.drawStartY);
65
+ this.left = Math.min(offsetX, this.drawStartX);
66
+ }
67
+ }
68
+ createHighlight() {
69
+ if (this.height / this.zoom > 5 || this.width / this.zoom > 5) {
70
+ let rectangle = this.highlightService
71
+ .applyRotation(this.pageHeight, this.pageWidth, this.height, this.width, this.top, this.left, this.rotate, this.zoom);
72
+ rectangle = { id: uuid(), ...rectangle };
73
+ this.saveSelection.emit({ rectangles: [rectangle], page: this.page });
74
+ this.resetHighlight();
75
+ }
76
+ }
77
+ resetHighlight() {
78
+ this.drawStartX = -1;
79
+ this.drawStartY = -1;
80
+ this.display = 'none';
81
+ this.width = 0;
82
+ this.height = 0;
83
+ this.wholePage = false;
84
+ }
85
+ highlightPage() {
86
+ this.height = this.pageHeight;
87
+ this.width = this.pageWidth;
88
+ this.top = 0;
89
+ this.left = 0;
90
+ this.createHighlight();
91
+ }
92
+ }
93
+ /** @nocollapse */ BoxHighlightCreateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BoxHighlightCreateComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.HighlightCreateService }], target: i0.ɵɵFactoryTarget.Component });
94
+ /** @nocollapse */ BoxHighlightCreateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BoxHighlightCreateComponent, selector: "mv-box-highlight-create", inputs: { page: "page", pageHeight: "pageHeight", pageWidth: "pageWidth", rotate: "rotate", zoom: "zoom", container: "container" }, outputs: { saveSelection: "saveSelection" }, viewQueries: [{ propertyName: "highlight", first: true, predicate: ["boxHighlight"], descendants: true }], ngImport: i0, template: "<div [style.height]=\"defaultHeight\"\n [style.width]=\"defaultWidth\"\n (mousedown)=\"initHighlight($event)\"\n (mousemove)=\"updateHighlight($event)\"\n (mouseup)=\"createHighlight()\">\n <div #boxHighlight\n class=\"box-highlight\"\n [style.display]=\"display\"\n [style.position]=\"position\"\n [style.background-color]=\"backgroundColor\"\n [style.height]=\"height ? height + 'px' : '100%'\"\n [style.width]=\"width ? width + 'px' : '100%'\"\n [style.top]=\"top + 'px'\"\n [style.left]=\"left + 'px'\">\n </div>\n</div>\n" });
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BoxHighlightCreateComponent, decorators: [{
96
+ type: Component,
97
+ args: [{ selector: 'mv-box-highlight-create', template: "<div [style.height]=\"defaultHeight\"\n [style.width]=\"defaultWidth\"\n (mousedown)=\"initHighlight($event)\"\n (mousemove)=\"updateHighlight($event)\"\n (mouseup)=\"createHighlight()\">\n <div #boxHighlight\n class=\"box-highlight\"\n [style.display]=\"display\"\n [style.position]=\"position\"\n [style.background-color]=\"backgroundColor\"\n [style.height]=\"height ? height + 'px' : '100%'\"\n [style.width]=\"width ? width + 'px' : '100%'\"\n [style.top]=\"top + 'px'\"\n [style.left]=\"left + 'px'\">\n </div>\n</div>\n" }]
98
+ }], ctorParameters: function () { return [{ type: i1.ToolbarEventService }, { type: i2.HighlightCreateService }]; }, propDecorators: { page: [{
99
+ type: Input
100
+ }], pageHeight: [{
101
+ type: Input
102
+ }], pageWidth: [{
103
+ type: Input
104
+ }], rotate: [{
105
+ type: Input
106
+ }], zoom: [{
107
+ type: Input
108
+ }], container: [{
109
+ type: Input
110
+ }], saveSelection: [{
111
+ type: Output
112
+ }], highlight: [{
113
+ type: ViewChild,
114
+ args: ['boxHighlight', { static: false }]
115
+ }] } });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWhpZ2hsaWdodC1jcmVhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1jcmVhdGUvYm94LWhpZ2hsaWdodC1jcmVhdGUvYm94LWhpZ2hsaWdodC1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1jcmVhdGUvYm94LWhpZ2hsaWdodC1jcmVhdGUvYm94LWhpZ2hsaWdodC1jcmVhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBVWxDLE1BQU0sT0FBTywyQkFBMkI7SUE2QnRDLFlBQTZCLGFBQWtDLEVBQzVDLGdCQUF3QztRQUQ5QixrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDNUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQXJCakQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBNkMsQ0FBQztRQUl4RixlQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEIsZUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBVWhCLG9CQUFlLEdBQUcsTUFBTSxDQUFDO1FBR2pCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUdvQixDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMs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QUN6QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7NElBdEhVLDJCQUEyQjtnSUFBM0IsMkJBQTJCLDJWQ1h4Qyxra0JBZ0JBOzRGRExhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx5QkFBeUI7K0lBSzFCLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBRXVDLFNBQVM7c0JBQXRELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi90b29sYmFyL3Rvb2xiYXIubW9kdWxlJztcbmltcG9ydCB7IFJlY3RhbmdsZSB9IGZyb20gJy4uLy4uL2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVjdGFuZ2xlLm1vZGVsJztcbmltcG9ydCB7IEhpZ2hsaWdodENyZWF0ZVNlcnZpY2UgfSBmcm9tICcuLi9oaWdobGlnaHQtY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWJveC1oaWdobGlnaHQtY3JlYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JveC1oaWdobGlnaHQtY3JlYXRlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQm94SGlnaGxpZ2h0Q3JlYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHBhZ2U6IG51bWJlcjtcbiAgQElucHV0KCkgcGFnZUhlaWdodDogbnVtYmVyO1xuICBASW5wdXQoKSBwYWdlV2lkdGg6IG51bWJlcjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBJbnB1dCgpIHpvb206IG51bWJlcjtcbiAgQElucHV0KCkgY29udGFpbmVyOiB7IHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIgfTtcblxuICBAT3V0cHV0KCkgc2F2ZVNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyByZWN0YW5nbGVzOiBSZWN0YW5nbGVbXSwgcGFnZTogbnVtYmVyIH0+KCk7XG5cbiAgQFZpZXdDaGlsZCgnYm94SGlnaGxpZ2h0JywgeyBzdGF0aWM6IGZhbHNlIH0pIGhpZ2hsaWdodDogRWxlbWVudFJlZjtcblxuICBkcmF3U3RhcnRYID0gLTE7XG4gIGRyYXdTdGFydFkgPSAtMTtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGRpc3BsYXk6IHN0cmluZztcbiAgZHJhd01vZGU6IGJvb2xlYW47XG4gIGRlZmF1bHRIZWlnaHQ6IHN0cmluZztcbiAgZGVmYXVsdFdpZHRoOiBzdHJpbmc7XG4gIHBvc2l0aW9uOiBzdHJpbmc7XG4gIGJhY2tncm91bmRDb2xvciA9ICdub25lJztcbiAgd2hvbGVQYWdlOiBib29sZWFuO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBoaWdobGlnaHRTZXJ2aWNlOiBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuZHJhd01vZGVTdWJqZWN0LnN1YnNjcmliZShkcmF3TW9kZSA9PiB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEhlaWdodCA9IGRyYXdNb2RlID8gJzEwMCUnIDogJzBweCc7XG4gICAgICAgIHRoaXMuZGVmYXVsdFdpZHRoID0gZHJhd01vZGUgPyAnMTAwJScgOiAnMHB4JztcbiAgICAgIH0pLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdFdob2xlUGFnZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLndob2xlUGFnZSA9IHRydWU7XG4gICAgICB9KVxuICAgIF07XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4ge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICBpbml0SGlnaGxpZ2h0KHsgb2Zmc2V0WCwgb2Zmc2V0WSB9KSB7XG4gICAgaWYgKHRoaXMud2hvbGVQYWdlKSB7XG4gICAgICB0aGlzLmhpZ2hsaWdodFBhZ2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPSAneWVsbG93JztcbiAgICB0aGlzLmRyYXdTdGFydFggPSBvZmZzZXRYO1xuICAgIHRoaXMuZHJhd1N0YXJ0WSA9IG9mZnNldFk7XG5cbiAgICB0aGlzLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgIHRoaXMuaGVpZ2h0ID0gNTA7XG4gICAgdGhpcy53aWR0aCA9IDUwO1xuXG4gICAgdGhpcy50b3AgPSB0aGlzLmRyYXdTdGFydFk7XG4gICAgdGhpcy5sZWZ0ID0gdGhpcy5kcmF3U3RhcnRYO1xuXG4gICAgc3dpdGNoICh0aGlzLnJvdGF0ZSkge1xuICAgICAgY2FzZSA5MDpcbiAgICAgICAgdGhpcy50b3AgPSB0aGlzLmRyYXdTdGFydFkgLSB0aGlzLmhlaWdodDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDE4MDpcbiAgICAgICAgdGhpcy50b3AgPSB0aGlzLmRyYXdTdGFydFkgLSB0aGlzLmhlaWdodDtcbiAgICAgICAgdGhpcy5sZWZ0ID0gdGhpcy5kcmF3U3RhcnRYIC0gdGhpcy53aWR0aDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI3MDpcbiAgICAgICAgdGhpcy5sZWZ0ID0gdGhpcy5kcmF3U3RhcnRYIC0gdGhpcy53aWR0aDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlSGlnaGxpZ2h0KHsgY3VycmVudFRhcmdldCwgY2xpZW50WCwgY2xpZW50WSB9KSB7XG4gICAgY29uc3QgcmVjdCA9IGN1cnJlbnRUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICBvZmZzZXRYID0gY2xpZW50WCAtIHJlY3QubGVmdCxcbiAgICAgIG9mZnNldFkgPSBjbGllbnRZIC0gcmVjdC50b3A7XG4gICAgaWYgKHRoaXMuZHJhd1N0YXJ0WCA+IDAgJiYgdGhpcy5kcmF3U3RhcnRZID4gMCkge1xuICAgICAgdGhpcy5oZWlnaHQgPSBNYXRoLmFicyhvZmZzZXRZIC0gdGhpcy5kcmF3U3RhcnRZKTtcbiAgICAgIHRoaXMud2lkdGggPSBNYXRoLmFicyhvZmZzZXRYIC0gdGhpcy5kcmF3U3RhcnRYKTtcbiAgICAgIHRoaXMudG9wID0gTWF0aC5taW4ob2Zmc2V0WSwgdGhpcy5kcmF3U3RhcnRZKTtcbiAgICAgIHRoaXMubGVmdCA9IE1hdGgubWluKG9mZnNldFgsIHRoaXMuZHJhd1N0YXJ0WCk7XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlSGlnaGxpZ2h0KCkge1xuICAgIGlmICh0aGlzLmhlaWdodCAvIHRoaXMuem9vbSA+IDUgfHwgdGhpcy53aWR0aCAvIHRoaXMuem9vbSA+IDUpIHtcbiAgICAgIGxldCByZWN0YW5nbGUgPSB0aGlzLmhpZ2hsaWdodFNlcnZpY2VcbiAgICAgICAgLmFwcGx5Um90YXRpb24odGhpcy5wYWdlSGVpZ2h0LCB0aGlzLnBhZ2VXaWR0aCwgdGhpcy5oZWlnaHQsIHRoaXMud2lkdGgsIHRoaXMudG9wLCB0aGlzLmxlZnQsIHRoaXMucm90YXRlLCB0aGlzLnpvb20pO1xuICAgICAgcmVjdGFuZ2xlID0geyBpZDogdXVpZCgpLCAuLi5yZWN0YW5nbGUgfSBhcyBhbnk7XG4gICAgICB0aGlzLnNhdmVTZWxlY3Rpb24uZW1pdCh7IHJlY3RhbmdsZXM6IFtyZWN0YW5nbGVdLCBwYWdlOiB0aGlzLnBhZ2UgfSk7XG4gICAgICB0aGlzLnJlc2V0SGlnaGxpZ2h0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldEhpZ2hsaWdodCgpIHtcbiAgICB0aGlzLmRyYXdTdGFydFggPSAtMTtcbiAgICB0aGlzLmRyYXdTdGFydFkgPSAtMTtcbiAgICB0aGlzLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgdGhpcy53aWR0aCA9IDA7XG4gICAgdGhpcy5oZWlnaHQgPSAwO1xuICAgIHRoaXMud2hvbGVQYWdlID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGhpZ2hsaWdodFBhZ2UoKSB7XG4gICAgdGhpcy5oZWlnaHQgPSB0aGlzLnBhZ2VIZWlnaHQ7XG4gICAgdGhpcy53aWR0aCA9IHRoaXMucGFnZVdpZHRoO1xuICAgIHRoaXMudG9wID0gMDtcbiAgICB0aGlzLmxlZnQgPSAwO1xuICAgIHRoaXMuY3JlYXRlSGlnaGxpZ2h0KCk7XG4gIH1cbn1cbiIsIjxkaXYgW3N0eWxlLmhlaWdodF09XCJkZWZhdWx0SGVpZ2h0XCJcbiAgICAgW3N0eWxlLndpZHRoXT1cImRlZmF1bHRXaWR0aFwiXG4gICAgIChtb3VzZWRvd24pPVwiaW5pdEhpZ2hsaWdodCgkZXZlbnQpXCJcbiAgICAgKG1vdXNlbW92ZSk9XCJ1cGRhdGVIaWdobGlnaHQoJGV2ZW50KVwiXG4gICAgIChtb3VzZXVwKT1cImNyZWF0ZUhpZ2hsaWdodCgpXCI+XG4gIDxkaXYgI2JveEhpZ2hsaWdodFxuICAgICBjbGFzcz1cImJveC1oaWdobGlnaHRcIlxuICAgICBbc3R5bGUuZGlzcGxheV09XCJkaXNwbGF5XCJcbiAgICAgW3N0eWxlLnBvc2l0aW9uXT1cInBvc2l0aW9uXCJcbiAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmFja2dyb3VuZENvbG9yXCJcbiAgICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHQgPyBoZWlnaHQgKyAncHgnIDogJzEwMCUnXCJcbiAgICAgW3N0eWxlLndpZHRoXT1cIndpZHRoID8gd2lkdGggKyAncHgnIDogJzEwMCUnXCJcbiAgICAgW3N0eWxlLnRvcF09XCJ0b3AgKyAncHgnXCJcbiAgICAgW3N0eWxlLmxlZnRdPVwibGVmdCArICdweCdcIj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,109 @@
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import { v4 as uuid } from 'uuid';
3
+ import * as fromDocument from '../../../../store/selectors/document.selectors';
4
+ import * as fromAnnotationActions from '../../../../store/actions/annotation.actions';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../../toolbar/toolbar.module";
7
+ import * as i2 from "../../../../viewers/viewer-event.service";
8
+ import * as i3 from "./highlight-create.service";
9
+ import * as i4 from "@ngrx/store";
10
+ export class HighlightCreateDirective {
11
+ constructor(element, toolbarEvents, viewerEvents, highlightService, store) {
12
+ this.element = element;
13
+ this.toolbarEvents = toolbarEvents;
14
+ this.viewerEvents = viewerEvents;
15
+ this.highlightService = highlightService;
16
+ this.store = store;
17
+ }
18
+ ngOnInit() {
19
+ this.$subscription = this.store.select(fromDocument.getPages).subscribe((pages) => {
20
+ if (pages[1]) {
21
+ this.allPages = pages;
22
+ }
23
+ });
24
+ }
25
+ ngOnDestroy() {
26
+ if (this.$subscription) {
27
+ this.$subscription.unsubscribe();
28
+ }
29
+ }
30
+ onMouseUp(mouseEvent) {
31
+ const pageElement = mouseEvent.target.offsetParent.offsetParent;
32
+ const page = parseInt(pageElement.getAttribute('data-page-number'), 10);
33
+ if (this.toolbarEvents.highlightModeSubject.getValue()) {
34
+ const rectangles = this.getRectangles(mouseEvent, page);
35
+ this.viewerEvents.textSelected({ page, rectangles });
36
+ }
37
+ }
38
+ onPdfViewerClick(event) {
39
+ this.store.dispatch(new fromAnnotationActions.SelectedAnnotation({
40
+ annotationId: '',
41
+ selected: false,
42
+ editable: false,
43
+ }));
44
+ this.viewerEvents.clearCtxToolbar();
45
+ }
46
+ getRectangles(event, page) {
47
+ this.pageHeight = this.allPages[page].styles.height;
48
+ this.pageWidth = this.allPages[page].styles.width;
49
+ this.zoom = parseFloat(this.allPages[page].scaleRotation.scale);
50
+ this.rotate = parseInt(this.allPages[page].scaleRotation.rotation, 10);
51
+ const selection = window.getSelection();
52
+ if (selection) {
53
+ const localElement = event.target;
54
+ this.removeEnhancedTextModeStyling(localElement);
55
+ if (selection.rangeCount && !selection.isCollapsed) {
56
+ const range = selection.getRangeAt(0).cloneRange();
57
+ const clientRects = range.getClientRects();
58
+ if (clientRects) {
59
+ const parentRect = localElement.parentElement.getBoundingClientRect();
60
+ const selectionRectangles = [];
61
+ for (let i = 0; i < clientRects.length; i++) {
62
+ const selectionRectangle = this.createTextRectangle(clientRects[i], parentRect);
63
+ const findSelecttionRectangle = selectionRectangles.find((rect) => rect.width === selectionRectangle.width && rect.x === selectionRectangle.x);
64
+ if (!findSelecttionRectangle) {
65
+ selectionRectangles.push(selectionRectangle);
66
+ }
67
+ }
68
+ return selectionRectangles;
69
+ }
70
+ }
71
+ }
72
+ }
73
+ createTextRectangle(rect, parentRect) {
74
+ const height = rect.bottom - rect.top;
75
+ const width = rect.right - rect.left;
76
+ const top = rect.top - parentRect.top;
77
+ const left = rect.left - parentRect.left;
78
+ let rectangle = this.highlightService.applyRotation(this.pageHeight, this.pageWidth, height, width, top, left, this.rotate, this.zoom);
79
+ rectangle = { id: uuid(), ...rectangle };
80
+ return rectangle;
81
+ }
82
+ removeEnhancedTextModeStyling(element) {
83
+ if (element.parentElement.children) {
84
+ for (let i = 0; i < element.parentElement.children.length; i++) {
85
+ const child = element.parentElement.children[i];
86
+ child.style.padding = '0';
87
+ // regex will be targeting the translate style in string
88
+ // e.g. scaleX(0.969918) translateX(-110.684px) translateY(-105.274px) will become scaleX(0.969918)
89
+ const translateCSSRegex = /translate[XYZ]\(-?\d*(\.\d+)?(px)?\)/g;
90
+ child.style.transform = child.style.transform.replace(translateCSSRegex, '').trim();
91
+ }
92
+ }
93
+ }
94
+ }
95
+ /** @nocollapse */ HighlightCreateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HighlightCreateDirective, deps: [{ token: i0.ElementRef }, { token: i1.ToolbarEventService }, { token: i2.ViewerEventService }, { token: i3.HighlightCreateService }, { token: i4.Store }], target: i0.ɵɵFactoryTarget.Directive });
96
+ /** @nocollapse */ HighlightCreateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: HighlightCreateDirective, selector: "[mvCreateTextHighlight]", host: { listeners: { "mouseup": "onMouseUp($event)", "mousedown": "onPdfViewerClick($event)" } }, ngImport: i0 });
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HighlightCreateDirective, decorators: [{
98
+ type: Directive,
99
+ args: [{
100
+ selector: '[mvCreateTextHighlight]'
101
+ }]
102
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ToolbarEventService }, { type: i2.ViewerEventService }, { type: i3.HighlightCreateService }, { type: i4.Store }]; }, propDecorators: { onMouseUp: [{
103
+ type: HostListener,
104
+ args: ['mouseup', ['$event']]
105
+ }], onPdfViewerClick: [{
106
+ type: HostListener,
107
+ args: ['mousedown', ['$event']]
108
+ }] } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LWNyZWF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU9sQyxPQUFPLEtBQUssWUFBWSxNQUFNLGdEQUFnRCxDQUFDO0FBRS9FLE9BQU8sS0FBSyxxQkFBcUIsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7O0FBTXRGLE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDVSxPQUFnQyxFQUNoQyxhQUFrQyxFQUNsQyxZQUFnQyxFQUNoQyxnQkFBd0MsRUFDeEMsS0FBMEM7UUFKMUMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBQ3hDLFVBQUssR0FBTCxLQUFLLENBQXFDO0lBQ2hELENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDaEYsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNM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TUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM5RCxNQUFNLEtBQUssR0FBZ0IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRTdELEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztnQkFDMUIsd0RBQXdEO2dCQUN4RCxtR0FBbUc7Z0JBQ25HLE1BQU0saUJBQWlCLEdBQUcsdUNBQXVDLENBQUM7Z0JBQ2xFLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNyRjtTQUNGO0lBQ0gsQ0FBQzs7eUlBeEhVLHdCQUF3Qjs2SEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtpQkFDcEM7Nk5BaUNDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBV25DLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbi12aWV3L3JlY3RhbmdsZS9yZWN0YW5nbGUubW9kZWwnO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXdlcnMvdmlld2VyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgZnJvbUFubm90YXRpb25BY3Rpb25zIGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IEhpZ2hsaWdodENyZWF0ZVNlcnZpY2UgfSBmcm9tICcuL2hpZ2hsaWdodC1jcmVhdGUuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttdkNyZWF0ZVRleHRIaWdobGlnaHRdJ1xufSlcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHRDcmVhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHBhZ2VIZWlnaHQ6IG51bWJlcjtcbiAgcGFnZVdpZHRoOiBudW1iZXI7XG4gIHpvb206IG51bWJlcjtcbiAgcm90YXRlOiBudW1iZXI7XG4gIGFsbFBhZ2VzOiBvYmplY3Q7XG5cbiAgJHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld2VyRXZlbnRzOiBWaWV3ZXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBoaWdobGlnaHRTZXJ2aWNlOiBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Bbm5vdGF0aW9uU2V0U3RhdGU+XG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uID0gdGhpcy5zdG9yZS5zZWxlY3QoZnJvbURvY3VtZW50LmdldFBhZ2VzKS5zdWJzY3JpYmUoKHBhZ2VzKSA9PiB7XG4gICAgICBpZiAocGFnZXNbMV0pIHtcbiAgICAgICAgdGhpcy5hbGxQYWdlcyA9IHBhZ2VzO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuJHN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4kc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2V1cCcsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VVcChtb3VzZUV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgY29uc3QgcGFnZUVsZW1lbnQgPSAoPEhUTUxFbGVtZW50Pihtb3VzZUV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkub2Zmc2V0UGFyZW50KS5vZmZzZXRQYXJlbnQ7XG4gICAgY29uc3QgcGFnZSA9IHBhcnNlSW50KHBhZ2VFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLW51bWJlcicpLCAxMCk7XG4gICAgaWYgKHRoaXMudG9vbGJhckV2ZW50cy5oaWdobGlnaHRNb2RlU3ViamVjdC5nZXRWYWx1ZSgpKSB7XG4gICAgICBjb25zdCByZWN0YW5nbGVzID0gdGhpcy5nZXRSZWN0YW5nbGVzKG1vdXNlRXZlbnQsIHBhZ2UpO1xuICAgICAgdGhpcy52aWV3ZXJFdmVudHMudGV4dFNlbGVjdGVkKHsgcGFnZSwgcmVjdGFuZ2xlcyB9KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBvblBkZlZpZXdlckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIG5ldyBmcm9tQW5ub3RhdGlvbkFjdGlvbnMuU2VsZWN0ZWRBbm5vdGF0aW9uKHtcbiAgICAgICAgYW5ub3RhdGlvbklkOiAnJyxcbiAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICBlZGl0YWJsZTogZmFsc2UsXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy52aWV3ZXJFdmVudHMuY2xlYXJDdHhUb29sYmFyKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlY3RhbmdsZXMoZXZlbnQ6IE1vdXNlRXZlbnQsIHBhZ2UpIHtcbiAgICB0aGlzLnBhZ2VIZWlnaHQgPSB0aGlzLmFsbFBhZ2VzW3BhZ2VdLnN0eWxlcy5oZWlnaHQ7XG4gICAgdGhpcy5wYWdlV2lkdGggPSB0aGlzLmFsbFBhZ2VzW3BhZ2VdLnN0eWxlcy53aWR0aDtcbiAgICB0aGlzLnpvb20gPSBwYXJzZUZsb2F0KHRoaXMuYWxsUGFnZXNbcGFnZV0uc2NhbGVSb3RhdGlvbi5zY2FsZSk7XG4gICAgdGhpcy5yb3RhdGUgPSBwYXJzZUludCh0aGlzLmFsbFBhZ2VzW3BhZ2VdLnNjYWxlUm90YXRpb24ucm90YXRpb24sIDEwKTtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9jYWxFbGVtZW50ID0gPEhUTUxFbGVtZW50PmV2ZW50LnRhcmdldDtcblxuICAgICAgdGhpcy5yZW1vdmVFbmhhbmNlZFRleHRNb2RlU3R5bGluZyhsb2NhbEVsZW1lbnQpO1xuXG4gICAgICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgJiYgIXNlbGVjdGlvbi5pc0NvbGxhcHNlZCkge1xuICAgICAgICBjb25zdCByYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmNsb25lUmFuZ2UoKTtcbiAgICAgICAgY29uc3QgY2xpZW50UmVjdHMgPSByYW5nZS5nZXRDbGllbnRSZWN0cygpO1xuXG4gICAgICAgIGlmIChjbGllbnRSZWN0cykge1xuXG4gICAgICAgICAgY29uc3QgcGFyZW50UmVjdCA9IGxvY2FsRWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGNvbnN0IHNlbGVjdGlvblJlY3RhbmdsZXM6IFJlY3RhbmdsZVtdID0gW107XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjbGllbnRSZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uUmVjdGFuZ2xlID0gdGhpcy5jcmVhdGVUZXh0UmVjdGFuZ2xlKGNsaWVudFJlY3RzW2ldLCBwYXJlbnRSZWN0KTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmRTZWxlY3R0aW9uUmVjdGFuZ2xlID0gc2VsZWN0aW9uUmVjdGFuZ2xlcy5maW5kKFxuICAgICAgICAgICAgICAocmVjdCkgPT4gcmVjdC53aWR0aCA9PT0gc2VsZWN0aW9uUmVjdGFuZ2xlLndpZHRoICYmIHJlY3QueCA9PT0gc2VsZWN0aW9uUmVjdGFuZ2xlLnhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIWZpbmRTZWxlY3R0aW9uUmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGlvblJlY3RhbmdsZXMucHVzaChzZWxlY3Rpb25SZWN0YW5nbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uUmVjdGFuZ2xlcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGV4dFJlY3RhbmdsZShyZWN0OiBhbnksIHBhcmVudFJlY3Q6IGFueSk6IFJlY3RhbmdsZSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gcmVjdC5ib3R0b20gLSByZWN0LnRvcDtcbiAgICBjb25zdCB3aWR0aCA9IHJlY3QucmlnaHQgLSByZWN0LmxlZnQ7XG4gICAgY29uc3QgdG9wID0gcmVjdC50b3AgLSBwYXJlbnRSZWN0LnRvcDtcbiAgICBjb25zdCBsZWZ0ID0gcmVjdC5sZWZ0IC0gcGFyZW50UmVjdC5sZWZ0O1xuXG4gICAgbGV0IHJlY3RhbmdsZSA9IHRoaXMuaGlnaGxpZ2h0U2VydmljZS5hcHBseVJvdGF0aW9uKFxuICAgICAgdGhpcy5wYWdlSGVpZ2h0LFxuICAgICAgdGhpcy5wYWdlV2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICB3aWR0aCxcbiAgICAgIHRvcCxcbiAgICAgIGxlZnQsXG4gICAgICB0aGlzLnJvdGF0ZSxcbiAgICAgIHRoaXMuem9vbVxuICAgICk7XG4gICAgcmVjdGFuZ2xlID0geyBpZDogdXVpZCgpLCAuLi5yZWN0YW5nbGUgfTtcblxuICAgIHJldHVybiByZWN0YW5nbGUgYXMgUmVjdGFuZ2xlO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVFbmhhbmNlZFRleHRNb2RlU3R5bGluZyhlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGlmIChlbGVtZW50LnBhcmVudEVsZW1lbnQuY2hpbGRyZW4pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudC5wYXJlbnRFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gPEhUTUxFbGVtZW50PmVsZW1lbnQucGFyZW50RWxlbWVudC5jaGlsZHJlbltpXTtcblxuICAgICAgICBjaGlsZC5zdHlsZS5wYWRkaW5nID0gJzAnO1xuICAgICAgICAvLyByZWdleCB3aWxsIGJlIHRhcmdldGluZyB0aGUgdHJhbnNsYXRlIHN0eWxlIGluIHN0cmluZ1xuICAgICAgICAvLyBlLmcuIHNjYWxlWCgwLjk2OTkxOCkgdHJhbnNsYXRlWCgtMTEwLjY4NHB4KSB0cmFuc2xhdGVZKC0xMDUuMjc0cHgpIHdpbGwgYmVjb21lIHNjYWxlWCgwLjk2OTkxOClcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlQ1NTUmVnZXggPSAvdHJhbnNsYXRlW1hZWl1cXCgtP1xcZCooXFwuXFxkKyk/KHB4KT9cXCkvZztcbiAgICAgICAgY2hpbGQuc3R5bGUudHJhbnNmb3JtID0gY2hpbGQuc3R5bGUudHJhbnNmb3JtLnJlcGxhY2UodHJhbnNsYXRlQ1NTUmVnZXgsICcnKS50cmltKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -91,10 +91,10 @@ export class HighlightCreateService {
91
91
  window.getSelection().removeAllRanges();
92
92
  this.toolBarEvents.highlightModeSubject.next(false);
93
93
  }
94
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: HighlightCreateService, deps: [{ token: i1.ToolbarEventService }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
95
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: HighlightCreateService }); }
96
94
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: HighlightCreateService, decorators: [{
95
+ /** @nocollapse */ HighlightCreateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HighlightCreateService, deps: [{ token: i1.ToolbarEventService }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable });
96
+ /** @nocollapse */ HighlightCreateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HighlightCreateService });
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HighlightCreateService, decorators: [{
98
98
  type: Injectable
99
- }], ctorParameters: () => [{ type: i1.ToolbarEventService }, { type: i2.Store }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LWNyZWF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1jcmVhdGUvaGlnaGxpZ2h0LWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUtyQyxPQUFPLEtBQUssYUFBYSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2xGLE9BQU8sS0FBSyxXQUFXLE1BQU0sOENBQThDLENBQUM7Ozs7QUFNNUUsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxZQUFvQixhQUFrQyxFQUM1QyxLQUEwQztRQURoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDNUMsVUFBSyxHQUFMLEtBQUssQ0FBcUM7SUFBSSxDQUFDO0lBRXpELGNBQWMsQ0FBQyxVQUF1QixFQUFFLElBQVk7UUFDbEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN6RixNQUFNLElBQUksR0FBZTtnQkFDdkIsRUFBRSxFQUFFLElBQUksRUFBRTtnQkFDVixLQUFLLEVBQUUsUUFBUTtnQkFDZixRQUFRLEVBQUUsRUFBRTtnQkFDWixJQUFJLEVBQUUsSUFBSTtnQkFDVixVQUFVLEVBQUUsVUFBVTtnQkFDdEIsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLEdBQUcsV0FBVztnQkFDZCxTQUFTLEVBQUUsRUFBRTtnQkFDYixnQkFBZ0IsRUFBRSxTQUFTO2dCQUMzQixXQUFXLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLEVBQUU7Z0JBQzNELGNBQWMsRUFBRSxFQUFFO2dCQUNsQixxQkFBcUIsRUFBRSxTQUFTO2dCQUNoQyxnQkFBZ0IsRUFBRSxFQUFFO2dCQUNwQixJQUFJLEVBQUUsRUFBRTthQUNULENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxnQkFBbUM7UUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN6RixNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZDLE9BQU87b0JBQ0wsRUFBRSxFQUFFLElBQUksRUFBRTtvQkFDVixLQUFLLEVBQUUsUUFBUTtvQkFDZixRQUFRLEVBQUUsRUFBRTtvQkFDWixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7b0JBQ1osVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVO29CQUN4QixJQUFJLEVBQUUsV0FBVztvQkFDakIsR0FBRyxXQUFXO29CQUNkLFNBQVMsRUFBRSxFQUFFO29CQUNiLGdCQUFnQixFQUFFLFNBQVM7b0JBQzNCLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsRUFBRTtvQkFDM0QsY0FBYyxFQUFFLEVBQUU7b0JBQ2xCLHFCQUFxQixFQUFFLFNBQVM7b0JBQ2hDLGdCQUFnQixFQUFFLEVBQUU7b0JBQ3BCLElBQUksRUFBRSxFQUFFO2lCQUNLLENBQUM7WUFDbEIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDcEQsRUFBRSxFQUFFLFdBQVcsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVU7YUFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDbkgsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsYUFBYSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJO1FBQ2pHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRztZQUM5QixDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDakMsS0FBSyxFQUFFLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN2QyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzFDLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzFDLFFBQVEsTUFBTSxFQUFFLENBQUM7WUFDZixLQUFLLEVBQUU7Z0JBQ0wsU0FBUyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7Z0JBQ3pCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDaEIsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxNQUFNO1lBQ1IsS0FBSyxHQUFHO2dCQUNOLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekQsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxNQUFNO1lBQ1IsS0FBSyxHQUFHO2dCQUNOLFNBQVMsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO2dCQUN6QixTQUFTLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDekIsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDaEIsTUFBTTtRQUNWLENBQUM7UUFDRCxPQUFPLFNBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztpSUFyRlUsc0JBQXNCO3FJQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuXG5cbmltcG9ydCB7IFJlY3RhbmdsZSB9IGZyb20gJy4uLy4uL2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVjdGFuZ2xlLm1vZGVsJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tU2VsZWN0b3JzIGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9hbm5vdGF0aW9uLnNlbGVjdG9ycyc7XG5pbXBvcnQgKiBhcyBmcm9tQWN0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbi12aWV3L2Fubm90YXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgUmVkYWN0UmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdG9vbGJhci9yZWRhY3Rpb24tc2VhcmNoLWJhci9yZWRhY3Rpb24tc2VhcmNoLm1vZGVsJztcbmltcG9ydCB7IEFubm90YXRpb25TZXQgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9uLXNldC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvb2xCYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLkFubm90YXRpb25TZXRTdGF0ZT4pIHsgfVxuXG4gIHNhdmVBbm5vdGF0aW9uKHJlY3RhbmdsZXM6IFJlY3RhbmdsZVtdLCBwYWdlOiBudW1iZXIpIHtcbiAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21TZWxlY3RvcnMuZ2V0RG9jdW1lbnRJZFNldElkKSwgdGFrZSgxKSkuc3Vic2NyaWJlKGFub1NldERvY0lkID0+IHtcbiAgICAgIGNvbnN0IGFubm86IEFubm90YXRpb24gPSB7XG4gICAgICAgIGlkOiB1dWlkKCksXG4gICAgICAgIGNvbG9yOiAnRkZGRjAwJyxcbiAgICAgICAgY29tbWVudHM6IFtdLFxuICAgICAgICBwYWdlOiBwYWdlLFxuICAgICAgICByZWN0YW5nbGVzOiByZWN0YW5nbGVzLFxuICAgICAgICB0eXBlOiAnaGlnaGxpZ2h0JyxcbiAgICAgICAgLi4uYW5vU2V0RG9jSWQsXG4gICAgICAgIGNyZWF0ZWRCeTogJycsXG4gICAgICAgIGNyZWF0ZWRCeURldGFpbHM6IHVuZGVmaW5lZCxcbiAgICAgICAgY3JlYXRlZERhdGU6IG1vbWVudC51dGMoKS50eignRXVyb3BlL0xvbmRvbicpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGxhc3RNb2RpZmllZEJ5OiAnJyxcbiAgICAgICAgbGFzdE1vZGlmaWVkQnlEZXRhaWxzOiB1bmRlZmluZWQsXG4gICAgICAgIGxhc3RNb2RpZmllZERhdGU6ICcnLFxuICAgICAgICB0YWdzOiBbXSxcbiAgICAgIH07XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5TYXZlQW5ub3RhdGlvbihhbm5vKSk7XG4gICAgfSk7XG4gIH1cblxuICBzYXZlQW5ub3RhdGlvblNldChzZWFyY2hSZWN0YW5nbGVzOiBSZWRhY3RSZWN0YW5nbGVbXSkge1xuICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbVNlbGVjdG9ycy5nZXREb2N1bWVudElkU2V0SWQpLCB0YWtlKDEpKS5zdWJzY3JpYmUoYW5vU2V0RG9jSWQgPT4ge1xuICAgICAgY29uc3QgYW5ub1NldCA9IHNlYXJjaFJlY3RhbmdsZXMubWFwKHggPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiB1dWlkKCksXG4gICAgICAgICAgY29sb3I6ICdGRkZGMDAnLFxuICAgICAgICAgIGNvbW1lbnRzOiBbXSxcbiAgICAgICAgICBwYWdlOiB4LnBhZ2UsXG4gICAgICAgICAgcmVjdGFuZ2xlczogeC5yZWN0YW5nbGVzLFxuICAgICAgICAgIHR5cGU6ICdoaWdobGlnaHQnLFxuICAgICAgICAgIC4uLmFub1NldERvY0lkLFxuICAgICAgICAgIGNyZWF0ZWRCeTogJycsXG4gICAgICAgICAgY3JlYXRlZEJ5RGV0YWlsczogdW5kZWZpbmVkLFxuICAgICAgICAgIGNyZWF0ZWREYXRlOiBtb21lbnQudXRjKCkudHooJ0V1cm9wZS9Mb25kb24nKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIGxhc3RNb2RpZmllZEJ5OiAnJyxcbiAgICAgICAgICBsYXN0TW9kaWZpZWRCeURldGFpbHM6IHVuZGVmaW5lZCxcbiAgICAgICAgICBsYXN0TW9kaWZpZWREYXRlOiAnJyxcbiAgICAgICAgICB0YWdzOiBbXSxcbiAgICAgICAgfSBhcyBBbm5vdGF0aW9uO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5TYXZlQW5ub3RhdGlvblNldCh7XG4gICAgICAgIGlkOiBhbm9TZXREb2NJZC5hbm5vdGF0aW9uU2V0SWQsIGFubm90YXRpb25zOiBhbm5vU2V0LCBkb2N1bWVudElkOiBhbm9TZXREb2NJZC5kb2N1bWVudElkIH0gYXMgQW5ub3RhdGlvblNldCkpO1xuICAgIH0pO1xuICB9XG5cblxuICBhcHBseVJvdGF0aW9uKHBhZ2VIZWlnaHQsIHBhZ2VXaWR0aCwgb2Zmc2V0SGVpZ2h0LCBvZmZzZXRXaWR0aCwgb2Zmc2V0VG9wLCBvZmZzZXRMZWZ0LCByb3RhdGUsIHpvb20pIHtcbiAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IHtcbiAgICAgIHg6ICsob2Zmc2V0TGVmdCAvIHpvb20pLnRvRml4ZWQoMiksXG4gICAgICB5OiArKG9mZnNldFRvcCAvIHpvb20pLnRvRml4ZWQoMiksXG4gICAgICB3aWR0aDogKyhvZmZzZXRXaWR0aCAvIHpvb20pLnRvRml4ZWQoMiksXG4gICAgICBoZWlnaHQ6ICsob2Zmc2V0SGVpZ2h0IC8gem9vbSkudG9GaXhlZCgyKVxuICAgIH07XG4gICAgY29uc3QgcmVjdGFuZ2xlID0geyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH07XG4gICAgc3dpdGNoIChyb3RhdGUpIHtcbiAgICAgIGNhc2UgOTA6XG4gICAgICAgIHJlY3RhbmdsZS53aWR0aCA9IGhlaWdodDtcbiAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCA9IHdpZHRoO1xuICAgICAgICByZWN0YW5nbGUueCA9IHk7XG4gICAgICAgIHJlY3RhbmdsZS55ID0gKyhwYWdlV2lkdGggLyB6b29tIC0geCAtIHdpZHRoKS50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTgwOlxuICAgICAgICByZWN0YW5nbGUueCA9ICsocGFnZVdpZHRoIC8gem9vbSAtIHggLSB3aWR0aCkudG9GaXhlZCgyKTtcbiAgICAgICAgcmVjdGFuZ2xlLnkgPSArKHBhZ2VIZWlnaHQgLyB6b29tIC0geSAtIGhlaWdodCkudG9GaXhlZCgyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI3MDpcbiAgICAgICAgcmVjdGFuZ2xlLndpZHRoID0gaGVpZ2h0O1xuICAgICAgICByZWN0YW5nbGUuaGVpZ2h0ID0gd2lkdGg7XG4gICAgICAgIHJlY3RhbmdsZS54ID0gKyhwYWdlSGVpZ2h0IC8gem9vbSAtIHkgLSBoZWlnaHQpLnRvRml4ZWQoMik7XG4gICAgICAgIHJlY3RhbmdsZS55ID0geDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiByZWN0YW5nbGUgYXMgYW55O1xuICB9XG5cbiAgcmVzZXRIaWdobGlnaHQoKSB7XG4gICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgIHRoaXMudG9vbEJhckV2ZW50cy5oaWdobGlnaHRNb2RlU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgfVxufVxuIl19
99
+ }], ctorParameters: function () { return [{ type: i1.ToolbarEventService }, { type: i2.Store }]; } });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LWNyZWF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1jcmVhdGUvaGlnaGxpZ2h0LWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUtyQyxPQUFPLEtBQUssYUFBYSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2xGLE9BQU8sS0FBSyxXQUFXLE1BQU0sOENBQThDLENBQUM7Ozs7QUFNNUUsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxZQUFvQixhQUFrQyxFQUM1QyxLQUEwQztRQURoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDNUMsVUFBSyxHQUFMLEtBQUssQ0FBcUM7SUFBSSxDQUFDO0lBRXpELGNBQWMsQ0FBQyxVQUF1QixFQUFFLElBQVk7UUFDbEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN6RixNQUFNLElBQUksR0FBZTtnQkFDdkIsRUFBRSxFQUFFLElBQUksRUFBRTtnQkFDVixLQUFLLEVBQUUsUUFBUTtnQkFDZixRQUFRLEVBQUUsRUFB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QixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLy4uLy4uLy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5cblxuaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbi12aWV3L3JlY3RhbmdsZS9yZWN0YW5nbGUubW9kZWwnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21TZWxlY3RvcnMgZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2Fubm90YXRpb24uc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21BY3Rpb25zIGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IEFubm90YXRpb24gfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9uLXZpZXcvYW5ub3RhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBSZWRhY3RSZWN0YW5nbGUgfSBmcm9tICcuLi8uLi8uLi8uLi90b29sYmFyL3JlZGFjdGlvbi1zZWFyY2gtYmFyL3JlZGFjdGlvbi1zZWFyY2gubW9kZWwnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblNldCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb24tc2V0Lm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodENyZWF0ZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdG9vbEJhckV2ZW50czogVG9vbGJhckV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuQW5ub3RhdGlvblNldFN0YXRlPikgeyB9XG5cbiAgc2F2ZUFubm90YXRpb24ocmVjdGFuZ2xlczogUmVjdGFuZ2xlW10sIHBhZ2U6IG51bWJlcikge1xuICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbVNlbGVjdG9ycy5nZXREb2N1bWVudElkU2V0SWQpLCB0YWtlKDEpKS5zdWJzY3JpYmUoYW5vU2V0RG9jSWQgPT4ge1xuICAgICAgY29uc3QgYW5ubzogQW5ub3RhdGlvbiA9IHtcbiAgICAgICAgaWQ6IHV1aWQoKSxcbiAgICAgICAgY29sb3I6ICdGRkZGMDAnLFxuICAgICAgICBjb21tZW50czogW10sXG4gICAgICAgIHBhZ2U6IHBhZ2UsXG4gICAgICAgIHJlY3RhbmdsZXM6IHJlY3RhbmdsZXMsXG4gICAgICAgIHR5cGU6ICdoaWdobGlnaHQnLFxuICAgICAgICAuLi5hbm9TZXREb2NJZCxcbiAgICAgICAgY3JlYXRlZEJ5OiAnJyxcbiAgICAgICAgY3JlYXRlZEJ5RGV0YWlsczogdW5kZWZpbmVkLFxuICAgICAgICBjcmVhdGVkRGF0ZTogbW9tZW50LnV0YygpLnR6KCdFdXJvcGUvTG9uZG9uJykudG9JU09TdHJpbmcoKSxcbiAgICAgICAgbGFzdE1vZGlmaWVkQnk6ICcnLFxuICAgICAgICBsYXN0TW9kaWZpZWRCeURldGFpbHM6IHVuZGVmaW5lZCxcbiAgICAgICAgbGFzdE1vZGlmaWVkRGF0ZTogJycsXG4gICAgICAgIHRhZ3M6IFtdLFxuICAgICAgfTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21BY3Rpb25zLlNhdmVBbm5vdGF0aW9uKGFubm8pKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNhdmVBbm5vdGF0aW9uU2V0KHNlYXJjaFJlY3RhbmdsZXM6IFJlZGFjdFJlY3RhbmdsZVtdKSB7XG4gICAgdGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tU2VsZWN0b3JzLmdldERvY3VtZW50SWRTZXRJZCksIHRha2UoMSkpLnN1YnNjcmliZShhbm9TZXREb2NJZCA9PiB7XG4gICAgICBjb25zdCBhbm5vU2V0ID0gc2VhcmNoUmVjdGFuZ2xlcy5tYXAoeCA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IHV1aWQoKSxcbiAgICAgICAgICBjb2xvcjogJ0ZGRkYwMCcsXG4gICAgICAgICAgY29tbWVudHM6IFtdLFxuICAgICAgICAgIHBhZ2U6IHgucGFnZSxcbiAgICAgICAgICByZWN0YW5nbGVzOiB4LnJlY3RhbmdsZXMsXG4gICAgICAgICAgdHlwZTogJ2hpZ2hsaWdodCcsXG4gICAgICAgICAgLi4uYW5vU2V0RG9jSWQsXG4gICAgICAgICAgY3JlYXRlZEJ5OiAnJyxcbiAgICAgICAgICBjcmVhdGVkQnlEZXRhaWxzOiB1bmRlZmluZWQsXG4gICAgICAgICAgY3JlYXRlZERhdGU6IG1vbWVudC51dGMoKS50eignRXVyb3BlL0xvbmRvbicpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgbGFzdE1vZGlmaWVkQnk6ICcnLFxuICAgICAgICAgIGxhc3RNb2RpZmllZEJ5RGV0YWlsczogdW5kZWZpbmVkLFxuICAgICAgICAgIGxhc3RNb2RpZmllZERhdGU6ICcnLFxuICAgICAgICAgIHRhZ3M6IFtdLFxuICAgICAgICB9IGFzIEFubm90YXRpb247XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21BY3Rpb25zLlNhdmVBbm5vdGF0aW9uU2V0KHtcbiAgICAgICAgaWQ6IGFub1NldERvY0lkLmFubm90YXRpb25TZXRJZCwgYW5ub3RhdGlvbnM6IGFubm9TZXQsIGRvY3VtZW50SWQ6IGFub1NldERvY0lkLmRvY3VtZW50SWQgfSBhcyBBbm5vdGF0aW9uU2V0KSk7XG4gICAgfSk7XG4gIH1cblxuXG4gIGFwcGx5Um90YXRpb24ocGFnZUhlaWdodCwgcGFnZVdpZHRoLCBvZmZzZXRIZWlnaHQsIG9mZnNldFdpZHRoLCBvZmZzZXRUb3AsIG9mZnNldExlZnQsIHJvdGF0ZSwgem9vbSkge1xuICAgIGNvbnN0IHsgeCwgeSwgd2lkdGgsIGhlaWdodCB9ID0ge1xuICAgICAgeDogKyhvZmZzZXRMZWZ0IC8gem9vbSkudG9GaXhlZCgyKSxcbiAgICAgIHk6ICsob2Zmc2V0VG9wIC8gem9vbSkudG9GaXhlZCgyKSxcbiAgICAgIHdpZHRoOiArKG9mZnNldFdpZHRoIC8gem9vbSkudG9GaXhlZCgyKSxcbiAgICAgIGhlaWdodDogKyhvZmZzZXRIZWlnaHQgLyB6b29tKS50b0ZpeGVkKDIpXG4gICAgfTtcbiAgICBjb25zdCByZWN0YW5nbGUgPSB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfTtcbiAgICBzd2l0Y2ggKHJvdGF0ZSkge1xuICAgICAgY2FzZSA5MDpcbiAgICAgICAgcmVjdGFuZ2xlLndpZHRoID0gaGVpZ2h0O1xuICAgICAgICByZWN0YW5nbGUuaGVpZ2h0ID0gd2lkdGg7XG4gICAgICAgIHJlY3RhbmdsZS54ID0geTtcbiAgICAgICAgcmVjdGFuZ2xlLnkgPSArKHBhZ2VXaWR0aCAvIHpvb20gLSB4IC0gd2lkdGgpLnRvRml4ZWQoMik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxODA6XG4gICAgICAgIHJlY3RhbmdsZS54ID0gKyhwYWdlV2lkdGggLyB6b29tIC0geCAtIHdpZHRoKS50b0ZpeGVkKDIpO1xuICAgICAgICByZWN0YW5nbGUueSA9ICsocGFnZUhlaWdodCAvIHpvb20gLSB5IC0gaGVpZ2h0KS50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjcwOlxuICAgICAgICByZWN0YW5nbGUud2lkdGggPSBoZWlnaHQ7XG4gICAgICAgIHJlY3RhbmdsZS5oZWlnaHQgPSB3aWR0aDtcbiAgICAgICAgcmVjdGFuZ2xlLnggPSArKHBhZ2VIZWlnaHQgLyB6b29tIC0geSAtIGhlaWdodCkudG9GaXhlZCgyKTtcbiAgICAgICAgcmVjdGFuZ2xlLnkgPSB4O1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHJlY3RhbmdsZSBhcyBhbnk7XG4gIH1cblxuICByZXNldEhpZ2hsaWdodCgpIHtcbiAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgdGhpcy50b29sQmFyRXZlbnRzLmhpZ2hsaWdodE1vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { select } from '@ngrx/store';
3
+ import * as fromActions from '../../store/actions/annotation.actions';
4
+ import * as fromSelectors from '../../store/selectors/annotation.selectors';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngrx/store";
7
+ import * as i2 from "../comment-set/comment/comment.service";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "./annotation-view/annotation-view.component";
10
+ export class AnnotationSetComponent {
11
+ constructor(store, commentService) {
12
+ this.store = store;
13
+ this.commentService = commentService;
14
+ this.annotations = [];
15
+ }
16
+ ngOnInit() {
17
+ this.selectedAnnotation$ = this.store.pipe(select(fromSelectors.getSelectedAnnotation));
18
+ }
19
+ onAnnotationUpdate(annotation) {
20
+ this.store.dispatch(new fromActions.SaveAnnotation(annotation));
21
+ }
22
+ onAnnotationDelete(annotation) {
23
+ if (annotation.comments.length > 0) {
24
+ this.commentService.updateUnsavedCommentsStatus(annotation, false);
25
+ }
26
+ this.store.dispatch(new fromActions.DeleteAnnotation(annotation.id));
27
+ }
28
+ selectAnnotation(selectedAnnotation) {
29
+ this.store.dispatch(new fromActions.SelectedAnnotation(selectedAnnotation));
30
+ }
31
+ }
32
+ /** @nocollapse */ AnnotationSetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnotationSetComponent, deps: [{ token: i1.Store }, { token: i2.CommentService }], target: i0.ɵɵFactoryTarget.Component });
33
+ /** @nocollapse */ AnnotationSetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AnnotationSetComponent, selector: "mv-annotation-set", inputs: { page: "page", annotations: "annotations", zoom: "zoom", rotate: "rotate", pageHeight: "pageHeight", pageWidth: "pageWidth" }, ngImport: i0, template: "<ng-container *ngFor=\"let annotation of annotations\">\n <mv-annotation [annotation]=\"annotation\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [selectedAnnoId]=\"selectedAnnotation$ | async\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n (update)=\"onAnnotationUpdate($event)\"\n (delete)=\"onAnnotationDelete($event)\"\n (annotationClick)=\"selectAnnotation($event)\">\n </mv-annotation>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.AnnotationViewComponent, selector: "mv-annotation", inputs: ["annotation", "zoom", "rotate", "selectedAnnoId", "pageHeight", "pageWidth"], outputs: ["update", "delete", "annotationClick"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnotationSetComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'mv-annotation-set', template: "<ng-container *ngFor=\"let annotation of annotations\">\n <mv-annotation [annotation]=\"annotation\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [selectedAnnoId]=\"selectedAnnotation$ | async\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n (update)=\"onAnnotationUpdate($event)\"\n (delete)=\"onAnnotationDelete($event)\"\n (annotationClick)=\"selectAnnotation($event)\">\n </mv-annotation>\n</ng-container>\n" }]
37
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.CommentService }]; }, propDecorators: { page: [{
38
+ type: Input
39
+ }], annotations: [{
40
+ type: Input
41
+ }], zoom: [{
42
+ type: Input
43
+ }], rotate: [{
44
+ type: Input
45
+ }], pageHeight: [{
46
+ type: Input
47
+ }], pageWidth: [{
48
+ type: Input
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbi1zZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1zZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1zZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFLekQsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEtBQUssV0FBVyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLE9BQU8sS0FBSyxhQUFhLE1BQU0sNENBQTRDLENBQUM7Ozs7OztBQU01RSxNQUFNLE9BQU8sc0JBQXNCO0lBV2pDLFlBQ1UsS0FBMEMsRUFDakMsY0FBOEI7UUFEdkMsVUFBSyxHQUFMLEtBQUssQ0FBcUM7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVnhDLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztJQVdyQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRU0sa0JBQWtCLENBQUMsVUFBc0I7UUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFVBQXNCO1FBQzlDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGdCQUFnQixDQUFDLGtCQUF1QztRQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQzs7dUlBakNVLHNCQUFzQjsySEFBdEIsc0JBQXNCLGlNQ2RuQyx5aUJBWUE7NEZERWEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLG1CQUFtQjt5SEFLcEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFubm90YXRpb24gfSBmcm9tICcuL2Fubm90YXRpb24tdmlldy9hbm5vdGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlbGVjdGlvbkFubm90YXRpb24gfSBmcm9tICcuLi9tb2RlbHMvZXZlbnQtc2VsZWN0Lm1vZGVsJztcbmltcG9ydCB7IENvbW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbWVudC1zZXQvY29tbWVudC9jb21tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tQWN0aW9ucyBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tU2VsZWN0b3JzIGZyb20gJy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9hbm5vdGF0aW9uLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWFubm90YXRpb24tc2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fubm90YXRpb24tc2V0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBbm5vdGF0aW9uU2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBwYWdlOiBudW1iZXI7XG4gIEBJbnB1dCgpIGFubm90YXRpb25zOiBBbm5vdGF0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgem9vbTogbnVtYmVyO1xuICBASW5wdXQoKSByb3RhdGU6IG51bWJlcjtcbiAgQElucHV0KCkgcGFnZUhlaWdodDogbnVtYmVyO1xuICBASW5wdXQoKSBwYWdlV2lkdGg6IG51bWJlcjtcblxuICBzZWxlY3RlZEFubm90YXRpb24kOiBPYnNlcnZhYmxlPFNlbGVjdGlvbkFubm90YXRpb24+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Bbm5vdGF0aW9uU2V0U3RhdGU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWVudFNlcnZpY2U6IENvbW1lbnRTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbiQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21TZWxlY3RvcnMuZ2V0U2VsZWN0ZWRBbm5vdGF0aW9uKSk7XG4gIH1cblxuICBwdWJsaWMgb25Bbm5vdGF0aW9uVXBkYXRlKGFubm90YXRpb246IEFubm90YXRpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5TYXZlQW5ub3RhdGlvbihhbm5vdGF0aW9uKSk7XG4gIH1cblxuICBwdWJsaWMgb25Bbm5vdGF0aW9uRGVsZXRlKGFubm90YXRpb246IEFubm90YXRpb24pIHtcbiAgICBpZiAoYW5ub3RhdGlvbi5jb21tZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNvbW1lbnRTZXJ2aWNlLnVwZGF0ZVVuc2F2ZWRDb21tZW50c1N0YXR1cyhhbm5vdGF0aW9uLCBmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21BY3Rpb25zLkRlbGV0ZUFubm90YXRpb24oYW5ub3RhdGlvbi5pZCkpO1xuICB9XG5cbiAgc2VsZWN0QW5ub3RhdGlvbihzZWxlY3RlZEFubm90YXRpb246IFNlbGVjdGlvbkFubm90YXRpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5TZWxlY3RlZEFubm90YXRpb24oc2VsZWN0ZWRBbm5vdGF0aW9uKSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFubm90YXRpb24gb2YgYW5ub3RhdGlvbnNcIj5cbiAgPG12LWFubm90YXRpb24gW2Fubm90YXRpb25dPVwiYW5ub3RhdGlvblwiXG4gICAgICAgICAgICAgICAgIFt6b29tXT1cInpvb21cIlxuICAgICAgICAgICAgICAgICBbcm90YXRlXT1cInJvdGF0ZVwiXG4gICAgICAgICAgICAgICAgIFtzZWxlY3RlZEFubm9JZF09XCJzZWxlY3RlZEFubm90YXRpb24kIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICBbcGFnZUhlaWdodF09XCJwYWdlSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgW3BhZ2VXaWR0aF09XCJwYWdlV2lkdGhcIlxuICAgICAgICAgICAgICAgICAodXBkYXRlKT1cIm9uQW5ub3RhdGlvblVwZGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGRlbGV0ZSk9XCJvbkFubm90YXRpb25EZWxldGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChhbm5vdGF0aW9uQ2xpY2spPVwic2VsZWN0QW5ub3RhdGlvbigkZXZlbnQpXCI+XG4gIDwvbXYtYW5ub3RhdGlvbj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,94 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { v4 as uuid } from 'uuid';
3
+ import moment from 'moment-timezone';
4
+ import * as fromActions from '../../../store/actions/annotation.actions';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../toolbar/toolbar-event.service";
7
+ import * as i2 from "@ngrx/store";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "./rectangle/rectangle.component";
10
+ import * as i5 from "../ctx-toolbar/ctx-toolbar.component";
11
+ export class AnnotationViewComponent {
12
+ set annotation(value) {
13
+ this.anno = { ...value };
14
+ }
15
+ set selectedAnnoId(selectedId) {
16
+ if (selectedId) {
17
+ const id = this.anno.id || this.anno.redactionId; // todo make it unique
18
+ this.selected = selectedId.annotationId ? (selectedId.annotationId === id) : false;
19
+ }
20
+ }
21
+ constructor(toolbarEvents, store) {
22
+ this.toolbarEvents = toolbarEvents;
23
+ this.store = store;
24
+ this.update = new EventEmitter();
25
+ this.delete = new EventEmitter();
26
+ this.annotationClick = new EventEmitter();
27
+ }
28
+ onSelect() {
29
+ const annotationId = this.anno.id || this.anno.redactionId;
30
+ this.annotationClick.emit({ annotationId, editable: false, selected: true });
31
+ }
32
+ onRectangleUpdate(rectangle) {
33
+ const annotation = { ...this.anno };
34
+ annotation.rectangles = annotation.rectangles.filter(r => r.id !== rectangle.id);
35
+ annotation.rectangles.push(rectangle);
36
+ this.update.emit(annotation);
37
+ }
38
+ deleteHighlight() {
39
+ this.delete.emit(this.anno);
40
+ }
41
+ addOrEditComment() {
42
+ if (this.anno.comments.length === 0) {
43
+ const comment = {
44
+ annotationId: this.anno.id,
45
+ content: '',
46
+ createdBy: this.anno.createdBy,
47
+ createdByDetails: undefined,
48
+ createdDate: moment.utc().tz('Europe/London').toISOString(),
49
+ id: uuid(),
50
+ lastModifiedBy: '',
51
+ lastModifiedByDetails: undefined,
52
+ lastModifiedDate: '',
53
+ tags: [],
54
+ page: null,
55
+ pages: {},
56
+ pageHeight: null,
57
+ selected: false,
58
+ editable: false
59
+ };
60
+ this.store.dispatch(new fromActions.AddOrEditComment(comment));
61
+ }
62
+ this.selected = true;
63
+ this.annotationClick.emit({ annotationId: this.anno.id, editable: true, selected: true });
64
+ this.toolbarEvents.toggleCommentsPanel(true);
65
+ }
66
+ }
67
+ /** @nocollapse */ AnnotationViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnotationViewComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Component });
68
+ /** @nocollapse */ AnnotationViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AnnotationViewComponent, selector: "mv-annotation", inputs: { annotation: "annotation", zoom: "zoom", rotate: "rotate", selectedAnnoId: "selectedAnnoId", pageHeight: "pageHeight", pageWidth: "pageWidth" }, outputs: { update: "update", delete: "delete", annotationClick: "annotationClick" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div #container [tabindex]=\"anno.id\">\n <mv-ctx-toolbar *ngIf=\"selected\"\n [canDelete]=\"true\" [canComment]=\"true\"\n [rectangles]=\"anno.rectangles\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n (deleteHighlightEvent)=\"deleteHighlight()\"\n (addOrEditCommentEvent)=\"addOrEditComment()\">\n </mv-ctx-toolbar>\n <ng-container *ngFor=\"let rectangle of anno.rectangles\">\n <mv-anno-rectangle\n (selectEvent)=\"onSelect()\"\n (updateEvent)=\"onRectangleUpdate($event)\"\n [selected]=\"selected\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n [editable]=\"anno.rectangles.length <= 1\"\n [annoRect]=\"rectangle\"\n [color]=\"anno.color\">\n </mv-anno-rectangle>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.RectangleComponent, selector: "mv-anno-rectangle", inputs: ["color", "zoom", "rotate", "editable", "pageHeight", "pageWidth", "annoRect", "selected"], outputs: ["selectEvent", "updateEvent"] }, { kind: "component", type: i5.CtxToolbarComponent, selector: "mv-ctx-toolbar", inputs: ["zoom", "rotate", "pageHeight", "pageWidth", "canHighlight", "canBookmark", "canComment", "canDelete", "rectangles"], outputs: ["createHighlightEvent", "deleteHighlightEvent", "addOrEditCommentEvent", "createBookmarkEvent"] }] });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnotationViewComponent, decorators: [{
70
+ type: Component,
71
+ args: [{ selector: 'mv-annotation', template: "<div #container [tabindex]=\"anno.id\">\n <mv-ctx-toolbar *ngIf=\"selected\"\n [canDelete]=\"true\" [canComment]=\"true\"\n [rectangles]=\"anno.rectangles\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n (deleteHighlightEvent)=\"deleteHighlight()\"\n (addOrEditCommentEvent)=\"addOrEditComment()\">\n </mv-ctx-toolbar>\n <ng-container *ngFor=\"let rectangle of anno.rectangles\">\n <mv-anno-rectangle\n (selectEvent)=\"onSelect()\"\n (updateEvent)=\"onRectangleUpdate($event)\"\n [selected]=\"selected\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n [editable]=\"anno.rectangles.length <= 1\"\n [annoRect]=\"rectangle\"\n [color]=\"anno.color\">\n </mv-anno-rectangle>\n </ng-container>\n</div>\n" }]
72
+ }], ctorParameters: function () { return [{ type: i1.ToolbarEventService }, { type: i2.Store }]; }, propDecorators: { annotation: [{
73
+ type: Input
74
+ }], zoom: [{
75
+ type: Input
76
+ }], rotate: [{
77
+ type: Input
78
+ }], selectedAnnoId: [{
79
+ type: Input
80
+ }], pageHeight: [{
81
+ type: Input
82
+ }], pageWidth: [{
83
+ type: Input
84
+ }], update: [{
85
+ type: Output
86
+ }], delete: [{
87
+ type: Output
88
+ }], annotationClick: [{
89
+ type: Output
90
+ }], container: [{
91
+ type: ViewChild,
92
+ args: ['container', { static: false }]
93
+ }] } });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbi12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9hbm5vdGF0aW9uLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L2Fubm90YXRpb24tdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdsQyxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUdyQyxPQUFPLEtBQUssV0FBVyxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7O0FBU3pFLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsSUFBYSxVQUFVLENBQUMsS0FBSztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBS0QsSUFBYSxjQUFjLENBQUMsVUFBb0M7UUFDOUQsSUFBSSxVQUFVLEVBQUU7WUFDZCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLHNCQUFzQjtZQUN4RSxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksS0FBSyxFQUFFLENB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QUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDTyxjQUFjO3NCQUExQixLQUFLO2dCQU1HLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRW9DLFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEFubm90YXRpb24gfSBmcm9tICcuL2Fubm90YXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi9yZWN0YW5nbGUvcmVjdGFuZ2xlLm1vZGVsJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21BY3Rpb25zIGZyb20gJy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IFNlbGVjdGlvbkFubm90YXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQtc2VsZWN0Lm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tZW50IH0gZnJvbSAnLi4vLi4vY29tbWVudC1zZXQvY29tbWVudC9jb21tZW50Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtYW5ub3RhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbm5vdGF0aW9uLXZpZXcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFubm90YXRpb25WaWV3Q29tcG9uZW50IHsgIC8vIHRvZG8gcmVuYW1lIHRoaXMgdG8gc2VsZWN0aW9uIHZldyBjXG5cbiAgQElucHV0KCkgc2V0IGFubm90YXRpb24odmFsdWUpIHtcbiAgICB0aGlzLmFubm8gPSB7IC4uLnZhbHVlIH07XG4gIH1cbiAgYW5ubzogQW5ub3RhdGlvbjtcbiAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHpvb206IG51bWJlcjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZEFubm9JZChzZWxlY3RlZElkOiB7IGFubm90YXRpb25JZDogc3RyaW5nIH0pIHtcbiAgICBpZiAoc2VsZWN0ZWRJZCkge1xuICAgICAgY29uc3QgaWQgPSB0aGlzLmFubm8uaWQgfHwgdGhpcy5hbm5vLnJlZGFjdGlvbklkOyAvLyB0b2RvIG1ha2UgaXQgdW5pcXVlXG4gICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWRJZC5hbm5vdGF0aW9uSWQgPyAoc2VsZWN0ZWRJZC5hbm5vdGF0aW9uSWQgPT09IGlkKSA6IGZhbHNlO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBwYWdlSGVpZ2h0OiBudW1iZXI7XG4gIEBJbnB1dCgpIHBhZ2VXaWR0aDogbnVtYmVyO1xuICBAT3V0cHV0KCkgdXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxBbm5vdGF0aW9uPigpO1xuICBAT3V0cHV0KCkgZGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxBbm5vdGF0aW9uPigpO1xuICBAT3V0cHV0KCkgYW5ub3RhdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25Bbm5vdGF0aW9uPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Bbm5vdGF0aW9uU2V0U3RhdGU+XG4gICkgeyB9XG5cbiAgcHVibGljIG9uU2VsZWN0KCkge1xuICAgIGNvbnN0IGFubm90YXRpb25JZCA9IHRoaXMuYW5uby5pZCB8fCB0aGlzLmFubm8ucmVkYWN0aW9uSWQ7XG4gICAgdGhpcy5hbm5vdGF0aW9uQ2xpY2suZW1pdCh7IGFubm90YXRpb25JZCwgZWRpdGFibGU6IGZhbHNlLCBzZWxlY3RlZDogdHJ1ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlY3RhbmdsZVVwZGF0ZShyZWN0YW5nbGU6IFJlY3RhbmdsZSkge1xuICAgIGNvbnN0IGFubm90YXRpb24gPSB7IC4uLnRoaXMuYW5ubyB9O1xuICAgIGFubm90YXRpb24ucmVjdGFuZ2xlcyA9IGFubm90YXRpb24ucmVjdGFuZ2xlcy5maWx0ZXIociA9PiByLmlkICE9PSByZWN0YW5nbGUuaWQpO1xuICAgIGFubm90YXRpb24ucmVjdGFuZ2xlcy5wdXNoKHJlY3RhbmdsZSk7XG4gICAgdGhpcy51cGRhdGUuZW1pdChhbm5vdGF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVIaWdobGlnaHQoKSB7XG4gICAgdGhpcy5kZWxldGUuZW1pdCh0aGlzLmFubm8pO1xuICB9XG5cbiAgcHVibGljIGFkZE9yRWRpdENvbW1lbnQoKSB7XG4gICAgaWYgKHRoaXMuYW5uby5jb21tZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IGNvbW1lbnQ6IENvbW1lbnQgPSB7XG4gICAgICAgIGFubm90YXRpb25JZDogdGhpcy5hbm5vLmlkLFxuICAgICAgICBjb250ZW50OiAnJyxcbiAgICAgICAgY3JlYXRlZEJ5OiB0aGlzLmFubm8uY3JlYXRlZEJ5LFxuICAgICAgICBjcmVhdGVkQnlEZXRhaWxzOiB1bmRlZmluZWQsXG4gICAgICAgIGNyZWF0ZWREYXRlOiBtb21lbnQudXRjKCkudHooJ0V1cm9wZS9Mb25kb24nKS50b0lTT1N0cmluZygpLFxuICAgICAgICBpZDogdXVpZCgpLFxuICAgICAgICBsYXN0TW9kaWZpZWRCeTogJycsXG4gICAgICAgIGxhc3RNb2RpZmllZEJ5RGV0YWlsczogdW5kZWZpbmVkLFxuICAgICAgICBsYXN0TW9kaWZpZWREYXRlOiAnJyxcbiAgICAgICAgdGFnczogW10sXG4gICAgICAgIHBhZ2U6IG51bGwsXG4gICAgICAgIHBhZ2VzOiB7fSxcbiAgICAgICAgcGFnZUhlaWdodDogbnVsbCxcbiAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICBlZGl0YWJsZTogZmFsc2VcbiAgICAgIH07XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5BZGRPckVkaXRDb21tZW50KGNvbW1lbnQpKTtcblxuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLmFubm90YXRpb25DbGljay5lbWl0KHsgYW5ub3RhdGlvbklkOiB0aGlzLmFubm8uaWQsIGVkaXRhYmxlOiB0cnVlLCBzZWxlY3RlZDogdHJ1ZSB9KTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMudG9nZ2xlQ29tbWVudHNQYW5lbCh0cnVlKTtcbiAgfVxufVxuIiwiPGRpdiAjY29udGFpbmVyIFt0YWJpbmRleF09XCJhbm5vLmlkXCI+XG4gIDxtdi1jdHgtdG9vbGJhciAqbmdJZj1cInNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgIFtjYW5EZWxldGVdPVwidHJ1ZVwiIFtjYW5Db21tZW50XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW3JlY3RhbmdsZXNdPVwiYW5uby5yZWN0YW5nbGVzXCJcbiAgICAgICAgICAgICAgICAgIFt6b29tXT1cInpvb21cIlxuICAgICAgICAgICAgICAgICAgW3JvdGF0ZV09XCJyb3RhdGVcIlxuICAgICAgICAgICAgICAgICAgW3BhZ2VIZWlnaHRdPVwicGFnZUhlaWdodFwiXG4gICAgICAgICAgICAgICAgICBbcGFnZVdpZHRoXT1cInBhZ2VXaWR0aFwiXG4gICAgICAgICAgICAgICAgICAoZGVsZXRlSGlnaGxpZ2h0RXZlbnQpPVwiZGVsZXRlSGlnaGxpZ2h0KClcIlxuICAgICAgICAgICAgICAgICAgKGFkZE9yRWRpdENvbW1lbnRFdmVudCk9XCJhZGRPckVkaXRDb21tZW50KClcIj5cbiAgPC9tdi1jdHgtdG9vbGJhcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVjdGFuZ2xlIG9mIGFubm8ucmVjdGFuZ2xlc1wiPlxuICAgIDxtdi1hbm5vLXJlY3RhbmdsZVxuICAgICAgKHNlbGVjdEV2ZW50KT1cIm9uU2VsZWN0KClcIlxuICAgICAgKHVwZGF0ZUV2ZW50KT1cIm9uUmVjdGFuZ2xlVXBkYXRlKCRldmVudClcIlxuICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgICAgIFt6b29tXT1cInpvb21cIlxuICAgICAgW3JvdGF0ZV09XCJyb3RhdGVcIlxuICAgICAgW3BhZ2VIZWlnaHRdPVwicGFnZUhlaWdodFwiXG4gICAgICBbcGFnZVdpZHRoXT1cInBhZ2VXaWR0aFwiXG4gICAgICBbZWRpdGFibGVdPVwiYW5uby5yZWN0YW5nbGVzLmxlbmd0aCA8PSAxXCJcbiAgICAgIFthbm5vUmVjdF09XCJyZWN0YW5nbGVcIlxuICAgICAgW2NvbG9yXT1cImFubm8uY29sb3JcIj5cbiAgICA8L212LWFubm8tcmVjdGFuZ2xlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19