@hmcts/media-viewer 3.0.4 → 4.0.0-RC.1

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 (195) hide show
  1. package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-set.component.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +4 -4
  6. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.mjs +143 -0
  7. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.mjs +2 -0
  8. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.mjs +2 -0
  9. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.mjs +2 -0
  10. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.mjs +32 -0
  11. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +117 -0
  12. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.mjs +65 -0
  13. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.mjs +127 -0
  14. package/{esm2020 → esm2022}/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +4 -4
  15. package/{esm2020 → esm2022}/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +4 -4
  16. package/esm2022/lib/annotations/annotations.module.mjs +162 -0
  17. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/comment.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/comment.service.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +4 -4
  24. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-render.service.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set.component.mjs +4 -4
  27. package/{esm2020 → esm2022}/lib/annotations/comments-summary/comments-summary.component.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/annotations/pipes/date/date.pipe.mjs +4 -4
  29. package/{esm2020 → esm2022}/lib/annotations/pipes/filter/filter.pipe.mjs +4 -4
  30. package/{esm2020 → esm2022}/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +4 -4
  31. package/{esm2020 → esm2022}/lib/annotations/services/annotation-api/annotation-api.service.mjs +4 -4
  32. package/{esm2020 → esm2022}/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +4 -4
  33. package/{esm2020 → esm2022}/lib/annotations/services/tags/tags.services.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/annotations/tags/tags.component.mjs +4 -4
  35. package/{esm2020 → esm2022}/lib/bookmark/components/bookmark-icons.component.mjs +4 -4
  36. package/{esm2020 → esm2022}/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +4 -4
  37. package/{esm2020 → esm2022}/lib/icp/icp-follower.service.mjs +4 -4
  38. package/{esm2020 → esm2022}/lib/icp/icp-presenter.service.mjs +4 -4
  39. package/{esm2020 → esm2022}/lib/icp/icp-session-api.service.mjs +4 -4
  40. package/{esm2020 → esm2022}/lib/icp/icp-update.service.mjs +4 -4
  41. package/{esm2020 → esm2022}/lib/icp/icp.service.mjs +4 -4
  42. package/{esm2020 → esm2022}/lib/icp/participants-list/participants-list.component.mjs +4 -4
  43. package/esm2022/lib/icp/socket.service.mjs +118 -0
  44. package/{esm2020 → esm2022}/lib/media-viewer.component.mjs +4 -4
  45. package/esm2022/lib/media-viewer.module.mjs +155 -0
  46. package/{esm2020 → esm2022}/lib/print.service.mjs +4 -4
  47. package/{esm2020 → esm2022}/lib/redaction/components/redaction.component.mjs +4 -4
  48. package/{esm2020 → esm2022}/lib/redaction/services/redaction-api.service.mjs +4 -4
  49. package/{esm2020 → esm2022}/lib/shared/gov-uk-date/gov-uk-date.component.mjs +4 -4
  50. package/{esm2020 → esm2022}/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +6 -6
  51. package/{esm2020 → esm2022}/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +6 -6
  52. package/{esm2020 → esm2022}/lib/shared/gov-uk-label/gov-uk-label.component.mjs +6 -6
  53. package/{esm2020 → esm2022}/lib/shared/shared.module.mjs +19 -19
  54. package/{esm2020 → esm2022}/lib/shared/util/services/number.helper.service.mjs +4 -4
  55. package/{esm2020 → esm2022}/lib/store/effects/annotation.effects.mjs +4 -4
  56. package/{esm2020 → esm2022}/lib/store/effects/bookmarks.effects.mjs +4 -4
  57. package/{esm2020 → esm2022}/lib/store/effects/document.effects.mjs +4 -4
  58. package/{esm2020 → esm2022}/lib/store/effects/icp.effects.mjs +4 -4
  59. package/{esm2020 → esm2022}/lib/store/effects/redaction.effects.mjs +4 -4
  60. package/{esm2020 → esm2022}/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +4 -4
  61. package/{esm2020 → esm2022}/lib/toolbar/icp-event.service.mjs +1 -1
  62. package/{esm2020 → esm2022}/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +4 -4
  63. package/{esm2020 → esm2022}/lib/toolbar/main-toolbar/main-toolbar.component.mjs +4 -4
  64. package/{esm2020 → esm2022}/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +4 -4
  65. package/{esm2020 → esm2022}/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +4 -4
  66. package/{esm2020 → esm2022}/lib/toolbar/search-bar/search-bar.component.mjs +4 -4
  67. package/{esm2020 → esm2022}/lib/toolbar/toolbar-button-visibility.service.mjs +4 -4
  68. package/{esm2020 → esm2022}/lib/toolbar/toolbar-event.service.mjs +4 -4
  69. package/{esm2020 → esm2022}/lib/toolbar/toolbar.module.mjs +25 -25
  70. package/{esm2020 → esm2022}/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +4 -4
  71. package/{esm2020 → esm2022}/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +4 -4
  72. package/{esm2020 → esm2022}/lib/viewers/grab-n-drag.directive.mjs +4 -4
  73. package/{esm2020 → esm2022}/lib/viewers/image-viewer/image-viewer.component.mjs +4 -4
  74. package/{esm2020 → esm2022}/lib/viewers/multimedia-player/multimedia-player.component.mjs +4 -4
  75. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +4 -4
  76. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +4 -4
  77. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +6 -6
  78. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +4 -4
  79. package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +4 -4
  80. package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation-api.service.mjs +4 -4
  81. package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation-persist.directive.mjs +4 -4
  82. package/{esm2020 → esm2022}/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +4 -4
  83. package/{esm2020 → esm2022}/lib/viewers/viewer-event.service.mjs +4 -4
  84. package/{esm2020 → esm2022}/lib/viewers/viewer-util.service.mjs +4 -4
  85. package/{fesm2020 → fesm2022}/hmcts-media-viewer.mjs +735 -385
  86. package/fesm2022/hmcts-media-viewer.mjs.map +1 -0
  87. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +1 -1
  88. package/lib/annotations/annotation-set/annotation-set.component.d.ts +1 -1
  89. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +1 -1
  90. package/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.d.ts +25 -0
  91. package/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.d.ts.map +1 -0
  92. package/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.d.ts +7 -0
  93. package/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.d.ts.map +1 -0
  94. package/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.d.ts +5 -0
  95. package/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.d.ts.map +1 -0
  96. package/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.d.ts +7 -0
  97. package/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.d.ts.map +1 -0
  98. package/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.d.ts +11 -0
  99. package/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.d.ts.map +1 -0
  100. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +1 -1
  101. package/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.d.ts +22 -0
  102. package/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.d.ts.map +1 -0
  103. package/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.d.ts +23 -0
  104. package/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.d.ts.map +1 -0
  105. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +1 -1
  106. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +1 -1
  107. package/lib/annotations/annotations.module.d.ts +1 -1
  108. package/lib/annotations/comment-set/comment/comment.component.d.ts +1 -1
  109. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +1 -1
  110. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +1 -1
  111. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +1 -1
  112. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +1 -1
  113. package/lib/annotations/comment-set/comment-set.component.d.ts +1 -1
  114. package/lib/annotations/comments-summary/comments-summary.component.d.ts +1 -1
  115. package/lib/annotations/tags/tags.component.d.ts +1 -1
  116. package/lib/bookmark/components/bookmark-icons.component.d.ts +1 -1
  117. package/lib/icp/socket.service.d.ts +6 -6
  118. package/lib/icp/socket.service.d.ts.map +1 -1
  119. package/lib/media-viewer.component.d.ts +1 -1
  120. package/lib/media-viewer.module.d.ts +2 -2
  121. package/lib/redaction/components/redaction.component.d.ts +1 -1
  122. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +1 -1
  123. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -1
  124. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -1
  125. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +1 -1
  126. package/lib/toolbar/icp-event.service.d.ts +4 -4
  127. package/lib/toolbar/icp-event.service.d.ts.map +1 -1
  128. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +1 -1
  129. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +1 -1
  130. package/lib/toolbar/toolbar-event.service.d.ts +6 -6
  131. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
  132. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +1 -1
  133. package/lib/viewers/grab-n-drag.directive.d.ts +1 -1
  134. package/lib/viewers/image-viewer/image-viewer.component.d.ts +1 -1
  135. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +1 -1
  136. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +1 -1
  137. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +2 -2
  138. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -1
  139. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +1 -1
  140. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +1 -1
  141. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +1 -1
  142. package/lib/viewers/viewer-event.service.d.ts +1 -1
  143. package/lib/viewers/viewer-event.service.d.ts.map +1 -1
  144. package/package.json +16 -22
  145. package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +0 -116
  146. package/esm2020/lib/annotations/annotations.module.mjs +0 -162
  147. package/esm2020/lib/icp/socket.service.mjs +0 -118
  148. package/esm2020/lib/media-viewer.module.mjs +0 -155
  149. package/fesm2015/hmcts-media-viewer.mjs +0 -6781
  150. package/fesm2015/hmcts-media-viewer.mjs.map +0 -1
  151. package/fesm2020/hmcts-media-viewer.mjs.map +0 -1
  152. /package/{esm2020 → esm2022}/hmcts-media-viewer.mjs +0 -0
  153. /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-set.model.mjs +0 -0
  154. /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +0 -0
  155. /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +0 -0
  156. /package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/comment.model.mjs +0 -0
  157. /package/{esm2020 → esm2022}/lib/annotations/models/api-persisted.model.mjs +0 -0
  158. /package/{esm2020 → esm2022}/lib/annotations/models/event-select.model.mjs +0 -0
  159. /package/{esm2020 → esm2022}/lib/annotations/models/tags.model.mjs +0 -0
  160. /package/{esm2020 → esm2022}/lib/annotations/models/user.model.mjs +0 -0
  161. /package/{esm2020 → esm2022}/lib/icp/icp.events.mjs +0 -0
  162. /package/{esm2020 → esm2022}/lib/icp/icp.interfaces.mjs +0 -0
  163. /package/{esm2020 → esm2022}/lib/redaction/services/redaction.model.mjs +0 -0
  164. /package/{esm2020 → esm2022}/lib/shared/util/helpers/html-templates.helper.mjs +0 -0
  165. /package/{esm2020 → esm2022}/lib/store/actions/annotation.actions.mjs +0 -0
  166. /package/{esm2020 → esm2022}/lib/store/actions/bookmark.actions.mjs +0 -0
  167. /package/{esm2020 → esm2022}/lib/store/actions/document.actions.mjs +0 -0
  168. /package/{esm2020 → esm2022}/lib/store/actions/icp.actions.mjs +0 -0
  169. /package/{esm2020 → esm2022}/lib/store/actions/redaction.actions.mjs +0 -0
  170. /package/{esm2020 → esm2022}/lib/store/actions/tag.actions.mjs +0 -0
  171. /package/{esm2020 → esm2022}/lib/store/bookmarks-store-utils.mjs +0 -0
  172. /package/{esm2020 → esm2022}/lib/store/effects/index.mjs +0 -0
  173. /package/{esm2020 → esm2022}/lib/store/models/bookmarks.interface.mjs +0 -0
  174. /package/{esm2020 → esm2022}/lib/store/models/filters.interface.mjs +0 -0
  175. /package/{esm2020 → esm2022}/lib/store/reducers/annotations.reducer.mjs +0 -0
  176. /package/{esm2020 → esm2022}/lib/store/reducers/bookmarks.reducer.mjs +0 -0
  177. /package/{esm2020 → esm2022}/lib/store/reducers/document.reducer.mjs +0 -0
  178. /package/{esm2020 → esm2022}/lib/store/reducers/icp.reducer.mjs +0 -0
  179. /package/{esm2020 → esm2022}/lib/store/reducers/redaction.reducer.mjs +0 -0
  180. /package/{esm2020 → esm2022}/lib/store/reducers/reducers.mjs +0 -0
  181. /package/{esm2020 → esm2022}/lib/store/reducers/tags.reducer.mjs +0 -0
  182. /package/{esm2020 → esm2022}/lib/store/selectors/annotation.selectors.mjs +0 -0
  183. /package/{esm2020 → esm2022}/lib/store/selectors/bookmark.selectors.mjs +0 -0
  184. /package/{esm2020 → esm2022}/lib/store/selectors/document.selectors.mjs +0 -0
  185. /package/{esm2020 → esm2022}/lib/store/selectors/icp.selectors.mjs +0 -0
  186. /package/{esm2020 → esm2022}/lib/store/selectors/redaction.selectors.mjs +0 -0
  187. /package/{esm2020 → esm2022}/lib/store/selectors/tag.selectors.mjs +0 -0
  188. /package/{esm2020 → esm2022}/lib/store/store-utils.mjs +0 -0
  189. /package/{esm2020 → esm2022}/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +0 -0
  190. /package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +0 -0
  191. /package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +0 -0
  192. /package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +0 -0
  193. /package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation.model.mjs +0 -0
  194. /package/{esm2020 → esm2022}/lib/viewers/viewer-exception.model.mjs +0 -0
  195. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { Store } from '@ngrx/store';
3
3
  import { Subscription } from 'rxjs';
4
- import { TreeComponent, TreeNode } from '@circlon/angular-tree-component';
4
+ import { TreeComponent, TreeNode } from '@ali-hm/angular-tree-component';
5
5
  import { Bookmark } from '../../../../store/models/bookmarks.interface';
6
6
  import { AnnotationSetState } from '../../../../store/reducers/annotations.reducer';
7
7
  import { DocumentPages } from '../../../../store/reducers/document.reducer';
@@ -47,6 +47,6 @@ export declare class BookmarksComponent implements OnInit, OnDestroy, OnChanges
47
47
  private getSibling;
48
48
  private scaledY;
49
49
  static ɵfac: i0.ɵɵFactoryDeclaration<BookmarksComponent, never>;
50
- static ɵcmp: i0.ɵɵComponentDeclaration<BookmarksComponent, "mv-bookmarks", never, { "bookmarkNodes": "bookmarkNodes"; "zoom": "zoom"; "rotate": "rotate"; }, { "goToDestination": "goToDestination"; }, never, never, false, never>;
50
+ static ɵcmp: i0.ɵɵComponentDeclaration<BookmarksComponent, "mv-bookmarks", never, { "bookmarkNodes": { "alias": "bookmarkNodes"; "required": false; }; "zoom": { "alias": "zoom"; "required": false; }; "rotate": { "alias": "rotate"; "required": false; }; }, { "goToDestination": "goToDestination"; }, never, never, false, never>;
51
51
  }
52
52
  //# sourceMappingURL=bookmarks.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bookmarks.component.d.ts","sourceRoot":"","sources":["../../../../../../../projects/media-viewer/src/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAS,SAAS,EAAE,SAAS,EAAE,MAAM,EAAU,aAAa,EAAa,MAAM,eAAe,CAAC;AAC/H,OAAO,EAAU,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAE5E,OAAO,KAAK,aAAa,MAAM,8CAA8C,CAAC;;AAK9E,qBAIa,kBAAmB,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IA0BzD,OAAO,CAAC,KAAK;IAxBhB,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACd,eAAe,sBAA6B;IAEtD,UAAU,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAM;IACrD,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,SAAM;IAEzB,OAAO;;;MAGL;IAEF,aAAa,EAAE,YAAY,CAAC;IAG5B,IAAI,EAAE,aAAa,CAAC;IAEpB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAY;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAc;gBAExB,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,GAAG,kBAAkB,CAAC;IAEnF,QAAQ,IAAI,IAAI;IAchB,WAAW,CAAC,OAAO,EAAE,aAAa;IAMlC,WAAW,IAAI,IAAI;IAInB,YAAY,CAAC,EAAE,KAAA;IAIf,kBAAkB;IASlB,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG;IAkBtC,cAAc,CAAC,IAAI,EAAE,QAAQ;IAiB7B,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,KAAA;IAWvC,YAAY,CAAC,QAAQ,EAAE,QAAQ;IA4B/B,IAAI,UAAU,WAEb;IAED,IAAI,YAAY,WAEf;IAED,IAAI,CAAC,IAAI,EAAE,MAAM;IAKjB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,OAAO;yCAjMJ,kBAAkB;2CAAlB,kBAAkB;CAqM9B"}
1
+ {"version":3,"file":"bookmarks.component.d.ts","sourceRoot":"","sources":["../../../../../../../projects/media-viewer/src/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAS,SAAS,EAAE,SAAS,EAAE,MAAM,EAAU,aAAa,EAAa,MAAM,eAAe,CAAC;AAC/H,OAAO,EAAU,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGzE,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAE5E,OAAO,KAAK,aAAa,MAAM,8CAA8C,CAAC;;AAK9E,qBAIa,kBAAmB,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IA0BzD,OAAO,CAAC,KAAK;IAxBhB,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACd,eAAe,sBAA6B;IAEtD,UAAU,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAM;IACrD,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,SAAM;IAEzB,OAAO;;;MAGL;IAEF,aAAa,EAAE,YAAY,CAAC;IAG5B,IAAI,EAAE,aAAa,CAAC;IAEpB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAY;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAc;gBAExB,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,GAAG,kBAAkB,CAAC;IAEnF,QAAQ,IAAI,IAAI;IAchB,WAAW,CAAC,OAAO,EAAE,aAAa;IAMlC,WAAW,IAAI,IAAI;IAInB,YAAY,CAAC,EAAE,KAAA;IAIf,kBAAkB;IASlB,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG;IAkBtC,cAAc,CAAC,IAAI,EAAE,QAAQ;IAiB7B,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,KAAA;IAWvC,YAAY,CAAC,QAAQ,EAAE,QAAQ;IA4B/B,IAAI,UAAU,WAEb;IAED,IAAI,YAAY,WAEf;IAED,IAAI,CAAC,IAAI,EAAE,MAAM;IAKjB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,OAAO;yCAjMJ,kBAAkB;2CAAlB,kBAAkB;CAqM9B"}
@@ -15,6 +15,6 @@ export declare class OutlineItemComponent implements OnInit {
15
15
  findEndPage(next: Outline): number;
16
16
  showHighlightOutlineCss(): "highlightedOutlineItem" | "outlineItem";
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<OutlineItemComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<OutlineItemComponent, "mv-outline-item", never, { "outline": "outline"; "currentPageNumber": "currentPageNumber"; "isCurrentSection": "isCurrentSection"; "endPage": "endPage"; }, { "navigationEvent": "navigationEvent"; }, never, never, false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<OutlineItemComponent, "mv-outline-item", never, { "outline": { "alias": "outline"; "required": false; }; "currentPageNumber": { "alias": "currentPageNumber"; "required": false; }; "isCurrentSection": { "alias": "isCurrentSection"; "required": false; }; "endPage": { "alias": "endPage"; "required": false; }; }, { "navigationEvent": "navigationEvent"; }, never, never, false, never>;
19
19
  }
20
20
  //# sourceMappingURL=outline-item.component.d.ts.map
@@ -31,6 +31,6 @@ export declare class SideBarComponent implements OnInit, OnChanges, OnDestroy {
31
31
  isViewedItem(current: Outline, next: Outline): boolean;
32
32
  findEndPage(next: Outline): number;
33
33
  static ɵfac: i0.ɵɵFactoryDeclaration<SideBarComponent, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<SideBarComponent, "mv-side-bar", never, { "annotationsEnabled": "annotationsEnabled"; "outline": "outline"; "url": "url"; "zoom": "zoom"; "rotate": "rotate"; "currentPageNumber": "currentPageNumber"; }, {}, never, never, false, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<SideBarComponent, "mv-side-bar", never, { "annotationsEnabled": { "alias": "annotationsEnabled"; "required": false; }; "outline": { "alias": "outline"; "required": false; }; "url": { "alias": "url"; "required": false; }; "zoom": { "alias": "zoom"; "required": false; }; "rotate": { "alias": "rotate"; "required": false; }; "currentPageNumber": { "alias": "currentPageNumber"; "required": false; }; }, {}, never, never, false, never>;
35
35
  }
36
36
  //# sourceMappingURL=side-bar.component.d.ts.map
@@ -18,6 +18,6 @@ export declare class UnsupportedViewerComponent implements OnInit, OnDestroy {
18
18
  ngOnInit(): void;
19
19
  ngOnDestroy(): void;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<UnsupportedViewerComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<UnsupportedViewerComponent, "mv-unsupported-viewer", never, { "url": "url"; "downloadFileName": "downloadFileName"; "typeException": "typeException"; }, { "loadStatus": "loadStatus"; "unsupportedViewerException": "unsupportedViewerException"; }, never, never, false, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<UnsupportedViewerComponent, "mv-unsupported-viewer", never, { "url": { "alias": "url"; "required": false; }; "downloadFileName": { "alias": "downloadFileName"; "required": false; }; "typeException": { "alias": "typeException"; "required": false; }; }, { "loadStatus": "loadStatus"; "unsupportedViewerException": "unsupportedViewerException"; }, never, never, false, never>;
22
22
  }
23
23
  //# sourceMappingURL=unsupported-viewer.component.d.ts.map
@@ -8,7 +8,7 @@ export interface Highlight {
8
8
  export declare class ViewerEventService {
9
9
  readonly textHighlight: Subject<Highlight>;
10
10
  readonly boxHighlight: Subject<Highlight>;
11
- readonly ctxToolbarCleared: Subject<unknown>;
11
+ readonly ctxToolbarCleared: Subject<void>;
12
12
  readonly navigationEvent: Subject<any[]>;
13
13
  constructor();
14
14
  textSelected(selectionData: Highlight): void;
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-event.service.d.ts","sourceRoot":"","sources":["../../../../projects/media-viewer/src/lib/viewers/viewer-event.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,yEAAyE,CAAC;;AAEpG,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,qBACa,kBAAkB;IAE7B,SAAgB,aAAa,qBAA4B;IACzD,SAAgB,YAAY,qBAA4B;IACxD,SAAgB,iBAAiB,mBAAiB;IAClD,SAAgB,eAAe,iBAAwB;;IAIhD,YAAY,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI;IAI5C,WAAW,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI;IAI3C,eAAe,IAAI,IAAI;IAKvB,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE;yCAtB9B,kBAAkB;6CAAlB,kBAAkB;CAyB9B"}
1
+ {"version":3,"file":"viewer-event.service.d.ts","sourceRoot":"","sources":["../../../../projects/media-viewer/src/lib/viewers/viewer-event.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,yEAAyE,CAAC;;AAEpG,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,qBACa,kBAAkB;IAE7B,SAAgB,aAAa,qBAA4B;IACzD,SAAgB,YAAY,qBAA4B;IACxD,SAAgB,iBAAiB,gBAAuB;IACxD,SAAgB,eAAe,iBAAwB;;IAIhD,YAAY,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI;IAI5C,WAAW,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI;IAI3C,eAAe,IAAI,IAAI;IAKvB,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE;yCAtB9B,kBAAkB;6CAAlB,kBAAkB;CAyB9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hmcts/media-viewer",
3
- "version": "3.0.4",
3
+ "version": "4.0.0-RC.1",
4
4
  "description": "Media Viewer",
5
5
  "keywords": [
6
6
  "Angular",
@@ -17,7 +17,6 @@
17
17
  "access": "public"
18
18
  },
19
19
  "dependencies": {
20
- "@circlon/angular-tree-component": "^11.0.4",
21
20
  "@swimlane/ngx-datatable": "^20.0.0",
22
21
  "hammerjs": "^2.0.8",
23
22
  "mutable-div": "^1.0.0",
@@ -27,23 +26,20 @@
27
26
  "uuid": "^3.4.0"
28
27
  },
29
28
  "peerDependencies": {
30
- "@angular/animations": "^15.2.9",
31
- "@angular/common": "^15.2.9",
32
- "@angular/core": "^15.2.9",
33
- "@angular/forms": "^15.2.9",
34
- "@angular/material": "^15.2.9",
35
- "@angular/platform-browser": "^15.2.9",
36
- "@ngrx/effects": "^15.0.0",
37
- "@ngrx/router-store": "^15.0.0",
38
- "@ngrx/store": "^15.0.0",
39
- "@ngrx/store-devtools": "^15.0.0"
29
+ "@ali-hm/angular-tree-component": "12.0.5",
30
+ "@angular/animations": "^16.2.14",
31
+ "@angular/common": "^16.2.14",
32
+ "@angular/core": "^16.2.9",
33
+ "@angular/forms": "^16.2.14",
34
+ "@angular/material": "^16.2.14",
35
+ "@angular/platform-browser": "^16.2.14",
36
+ "@ngrx/effects": "^16.0.0",
37
+ "@ngrx/router-store": "^16.0.0",
38
+ "@ngrx/store": "^16.0.0",
39
+ "@ngrx/store-devtools": "^16.0.0"
40
40
  },
41
41
  "packageManager": "yarn@3.6.4",
42
- "module": "fesm2015/hmcts-media-viewer.mjs",
43
- "es2020": "fesm2020/hmcts-media-viewer.mjs",
44
- "esm2020": "esm2020/hmcts-media-viewer.mjs",
45
- "fesm2020": "fesm2020/hmcts-media-viewer.mjs",
46
- "fesm2015": "fesm2015/hmcts-media-viewer.mjs",
42
+ "module": "fesm2022/hmcts-media-viewer.mjs",
47
43
  "typings": "index.d.ts",
48
44
  "exports": {
49
45
  "./package.json": {
@@ -51,11 +47,9 @@
51
47
  },
52
48
  ".": {
53
49
  "types": "./index.d.ts",
54
- "esm2020": "./esm2020/hmcts-media-viewer.mjs",
55
- "es2020": "./fesm2020/hmcts-media-viewer.mjs",
56
- "es2015": "./fesm2015/hmcts-media-viewer.mjs",
57
- "node": "./fesm2015/hmcts-media-viewer.mjs",
58
- "default": "./fesm2020/hmcts-media-viewer.mjs"
50
+ "esm2022": "./esm2022/hmcts-media-viewer.mjs",
51
+ "esm": "./esm2022/hmcts-media-viewer.mjs",
52
+ "default": "./fesm2022/hmcts-media-viewer.mjs"
59
53
  }
60
54
  },
61
55
  "sideEffects": false
@@ -1,116 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../../toolbar/toolbar-event.service";
4
- import * as i2 from "../../annotation-create/highlight-create/highlight-create.service";
5
- import * as i3 from "@angular/common";
6
- import * as i4 from "mutable-div";
7
- export class RectangleComponent {
8
- set annoRect(annoRect) {
9
- this._annoRect = { ...annoRect };
10
- this.height = +(annoRect.height * this.zoom).toFixed(2);
11
- this.width = +(annoRect.width * this.zoom).toFixed(2);
12
- this.left = +(annoRect.x * this.zoom).toFixed(2);
13
- this.top = +(annoRect.y * this.zoom).toFixed(2);
14
- }
15
- get annoRect() {
16
- return this._annoRect;
17
- }
18
- constructor(toolbarEvents, highlightService) {
19
- this.toolbarEvents = toolbarEvents;
20
- this.highlightService = highlightService;
21
- this.selectEvent = new EventEmitter();
22
- this.updateEvent = new EventEmitter();
23
- this.subscriptions = [];
24
- this.enableGrabNDrag = false;
25
- }
26
- ngOnChanges(changes) {
27
- if (changes.rotate) {
28
- this.adjustForRotation(this.rotate);
29
- }
30
- }
31
- ngAfterViewInit() {
32
- this.subscriptions.push(this.toolbarEvents.grabNDrag.subscribe(grabNDrag => this.enableGrabNDrag = grabNDrag));
33
- }
34
- ngOnDestroy() {
35
- this.subscriptions.filter(subscription => !subscription.closed)
36
- .forEach(subscription => subscription.unsubscribe());
37
- }
38
- set selected(selected) {
39
- this._selected = selected;
40
- if (this._selected && this.viewRect) {
41
- this.viewRect.nativeElement.focus();
42
- }
43
- }
44
- get selected() {
45
- return this._selected;
46
- }
47
- onClick() {
48
- this.selectEvent.emit(this.annoRect);
49
- }
50
- onUpdate(viewRect) {
51
- const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = viewRect;
52
- if (this.hasRectangleChanged(viewRect)) {
53
- let rectangle = this.highlightService
54
- .applyRotation(this.pageHeight, this.pageWidth, offsetHeight, offsetWidth, offsetTop, offsetLeft, this.rotate, this.zoom);
55
- rectangle = { ...this.annoRect, ...rectangle };
56
- this.updateEvent.emit({ ...rectangle });
57
- }
58
- }
59
- adjustForRotation(rotation) {
60
- const { top, left, height, width } = this;
61
- switch (rotation) {
62
- case 90:
63
- this.width = height;
64
- this.height = width;
65
- this.left = this.pageWidth - top - height;
66
- this.top = left;
67
- break;
68
- case 180:
69
- this.left = this.pageWidth - left - width;
70
- this.top = this.pageHeight - top - height;
71
- break;
72
- case 270:
73
- this.width = height;
74
- this.height = width;
75
- this.left = top;
76
- this.top = this.pageHeight - left - width;
77
- break;
78
- }
79
- }
80
- hasRectangleChanged(viewRect) {
81
- return this.left !== viewRect.offsetLeft ||
82
- this.top !== viewRect.offsetTop ||
83
- this.width !== viewRect.offsetWidth ||
84
- this.height !== viewRect.offsetHeight;
85
- }
86
- }
87
- /** @nocollapse */ RectangleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RectangleComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.HighlightCreateService }], target: i0.ɵɵFactoryTarget.Component });
88
- /** @nocollapse */ RectangleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RectangleComponent, selector: "mv-anno-rectangle", inputs: { color: "color", zoom: "zoom", rotate: "rotate", editable: "editable", pageHeight: "pageHeight", pageWidth: "pageWidth", annoRect: "annoRect", selected: "selected" }, outputs: { selectEvent: "selectEvent", updateEvent: "updateEvent" }, viewQueries: [{ propertyName: "viewRect", first: true, predicate: ["rectElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"editable; else nonEditable\">\n <div #rectElement\n class=\"rectangle\"\n draggable\n resizable\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected, 'grabNDrag': enableGrabNDrag }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height + 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n [rotate]=\"0\"\n [selected]=\"selected\"\n (click)=\"onClick()\"\n (stopped)=\"onUpdate(rectElement)\">\n </div>\n</div>\n<ng-template #nonEditable>\n <div #rectElement\n class=\"rectangle\"\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height+ 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n (click)=\"onClick()\">\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵa, selector: "[draggable]", inputs: ["rotate"], outputs: ["coordinates", "stopped"] }, { kind: "directive", type: i4.ɵb, selector: "[resizable]", inputs: ["rotate", "selected"], outputs: ["stopped"] }] });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RectangleComponent, decorators: [{
90
- type: Component,
91
- args: [{ selector: 'mv-anno-rectangle', template: "<div *ngIf=\"editable; else nonEditable\">\n <div #rectElement\n class=\"rectangle\"\n draggable\n resizable\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected, 'grabNDrag': enableGrabNDrag }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height + 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n [rotate]=\"0\"\n [selected]=\"selected\"\n (click)=\"onClick()\"\n (stopped)=\"onUpdate(rectElement)\">\n </div>\n</div>\n<ng-template #nonEditable>\n <div #rectElement\n class=\"rectangle\"\n [tabindex]=\"annoRect.id\"\n [ngClass]=\"{ 'selected': selected }\"\n [style.backgroundColor]=\"'#' + color\"\n [style.width]=\"width + 'px'\"\n [style.height]=\"height+ 'px'\"\n [style.left]=\"left + 'px'\"\n [style.top]=\"top + 'px'\"\n (click)=\"onClick()\">\n </div>\n</ng-template>\n" }]
92
- }], ctorParameters: function () { return [{ type: i1.ToolbarEventService }, { type: i2.HighlightCreateService }]; }, propDecorators: { color: [{
93
- type: Input
94
- }], zoom: [{
95
- type: Input
96
- }], rotate: [{
97
- type: Input
98
- }], editable: [{
99
- type: Input
100
- }], pageHeight: [{
101
- type: Input
102
- }], pageWidth: [{
103
- type: Input
104
- }], selectEvent: [{
105
- type: Output
106
- }], updateEvent: [{
107
- type: Output
108
- }], viewRect: [{
109
- type: ViewChild,
110
- args: ['rectElement', { static: false }]
111
- }], annoRect: [{
112
- type: Input
113
- }], selected: [{
114
- type: Input
115
- }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdGFuZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVjdGFuZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVjdGFuZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFVdkIsTUFBTSxPQUFPLGtCQUFrQjtJQXdCN0IsSUFDSSxRQUFRLENBQUMsUUFBbUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENB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QUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVvQyxRQUFRO3NCQUFsRCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBYXJDLFFBQVE7c0JBRFgsS0FBSztnQkFtQ0YsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWN0YW5nbGUgfSBmcm9tICcuL3JlY3RhbmdsZS5tb2RlbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbi1jcmVhdGUvaGlnaGxpZ2h0LWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1hbm5vLXJlY3RhbmdsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWN0YW5nbGUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFJlY3RhbmdsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBjb2xvcjogU3RyaW5nO1xuICBASW5wdXQoKSB6b29tOiBudW1iZXI7XG4gIEBJbnB1dCgpIHJvdGF0ZTogbnVtYmVyO1xuICBASW5wdXQoKSBlZGl0YWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgcGFnZUhlaWdodDogbnVtYmVyO1xuICBASW5wdXQoKSBwYWdlV2lkdGg6IG51bWJlcjtcblxuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY3RhbmdsZT4oKTtcbiAgQE91dHB1dCgpIHVwZGF0ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWN0YW5nbGU+KCk7XG5cbiAgQFZpZXdDaGlsZCgncmVjdEVsZW1lbnQnLCB7c3RhdGljOiBmYWxzZX0pIHZpZXdSZWN0OiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgX3NlbGVjdGVkOiBib29sZWFuO1xuICBlbmFibGVHcmFiTkRyYWcgPSBmYWxzZTtcblxuICBoZWlnaHQ6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcblxuICBfYW5ub1JlY3Q6IFJlY3RhbmdsZTtcbiAgQElucHV0KClcbiAgc2V0IGFubm9SZWN0KGFubm9SZWN0OiBSZWN0YW5nbGUpIHtcbiAgICB0aGlzLl9hbm5vUmVjdCA9IHsgLi4uYW5ub1JlY3QgfTtcbiAgICB0aGlzLmhlaWdodCA9ICsoYW5ub1JlY3QuaGVpZ2h0ICogdGhpcy56b29tKS50b0ZpeGVkKDIpO1xuICAgIHRoaXMud2lkdGggPSArKGFubm9SZWN0LndpZHRoICogdGhpcy56b29tKS50b0ZpeGVkKDIpO1xuICAgIHRoaXMubGVmdCA9ICsoYW5ub1JlY3QueCAqIHRoaXMuem9vbSkudG9GaXhlZCgyKTtcbiAgICB0aGlzLnRvcCA9ICsoYW5ub1JlY3QueSAqIHRoaXMuem9vbSkudG9GaXhlZCgyKTtcbiAgfVxuXG4gIGdldCBhbm5vUmVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYW5ub1JlY3Q7XG4gIH1cblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdG9vbGJhckV2ZW50czogVG9vbGJhckV2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBoaWdobGlnaHRTZXJ2aWNlOiBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5yb3RhdGUpIHtcbiAgICAgIHRoaXMuYWRqdXN0Rm9yUm90YXRpb24odGhpcy5yb3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5ncmFiTkRyYWcuc3Vic2NyaWJlKGdyYWJORHJhZyA9PiB0aGlzLmVuYWJsZUdyYWJORHJhZyA9IGdyYWJORHJhZylcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZpbHRlcihzdWJzY3JpcHRpb24gPT4gIXN1YnNjcmlwdGlvbi5jbG9zZWQpXG4gICAgICAuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWQgJiYgdGhpcy52aWV3UmVjdCkge1xuICAgICAgdGhpcy52aWV3UmVjdC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgfVxuXG4gIG9uQ2xpY2soKSB7XG4gICAgdGhpcy5zZWxlY3RFdmVudC5lbWl0KHRoaXMuYW5ub1JlY3QpO1xuICB9XG5cbiAgb25VcGRhdGUodmlld1JlY3Q6IGFueSkge1xuICAgIGNvbnN0IHsgb2Zmc2V0SGVpZ2h0LCBvZmZzZXRXaWR0aCwgb2Zmc2V0VG9wLCBvZmZzZXRMZWZ0IH0gPSB2aWV3UmVjdDtcbiAgICBpZiAodGhpcy5oYXNSZWN0YW5nbGVDaGFuZ2VkKHZpZXdSZWN0KSkge1xuICAgICAgbGV0IHJlY3RhbmdsZSA9IHRoaXMuaGlnaGxpZ2h0U2VydmljZVxuICAgICAgICAuYXBwbHlSb3RhdGlvbih0aGlzLnBhZ2VIZWlnaHQsIHRoaXMucGFnZVdpZHRoLCBvZmZzZXRIZWlnaHQsIG9mZnNldFdpZHRoLCBvZmZzZXRUb3AsIG9mZnNldExlZnQsIHRoaXMucm90YXRlLCB0aGlzLnpvb20pO1xuICAgICAgcmVjdGFuZ2xlID0geyAuLi50aGlzLmFubm9SZWN0LCAuLi5yZWN0YW5nbGUgfTtcbiAgICAgIHRoaXMudXBkYXRlRXZlbnQuZW1pdCh7IC4uLnJlY3RhbmdsZSB9KTtcbiAgICB9XG4gIH1cblxuICBhZGp1c3RGb3JSb3RhdGlvbihyb3RhdGlvbjogbnVtYmVyKSB7XG4gICAgY29uc3QgeyB0b3AsIGxlZnQsIGhlaWdodCwgd2lkdGggfSA9IHRoaXM7XG4gICAgc3dpdGNoIChyb3RhdGlvbikge1xuICAgICAgY2FzZSA5MDpcbiAgICAgICAgdGhpcy53aWR0aCA9IGhlaWdodDtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSB3aWR0aDtcbiAgICAgICAgdGhpcy5sZWZ0ID0gdGhpcy5wYWdlV2lkdGggIC0gdG9wIC0gaGVpZ2h0O1xuICAgICAgICB0aGlzLnRvcCA9IGxlZnQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxODA6XG4gICAgICAgIHRoaXMubGVmdCA9IHRoaXMucGFnZVdpZHRoIC0gbGVmdCAtIHdpZHRoO1xuICAgICAgICB0aGlzLnRvcCA9IHRoaXMucGFnZUhlaWdodCAtIHRvcCAtIGhlaWdodDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI3MDpcbiAgICAgICAgdGhpcy53aWR0aCA9IGhlaWdodDtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSB3aWR0aDtcbiAgICAgICAgdGhpcy5sZWZ0ID0gdG9wO1xuICAgICAgICB0aGlzLnRvcCA9IHRoaXMucGFnZUhlaWdodCAtIGxlZnQgLSB3aWR0aDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaGFzUmVjdGFuZ2xlQ2hhbmdlZCh2aWV3UmVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxlZnQgIT09IHZpZXdSZWN0Lm9mZnNldExlZnQgfHxcbiAgICAgIHRoaXMudG9wICE9PSB2aWV3UmVjdC5vZmZzZXRUb3AgfHxcbiAgICAgIHRoaXMud2lkdGggIT09IHZpZXdSZWN0Lm9mZnNldFdpZHRoIHx8XG4gICAgICB0aGlzLmhlaWdodCAhPT0gdmlld1JlY3Qub2Zmc2V0SGVpZ2h0O1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZWRpdGFibGU7IGVsc2Ugbm9uRWRpdGFibGVcIj5cbiAgPGRpdiAjcmVjdEVsZW1lbnRcbiAgICAgICBjbGFzcz1cInJlY3RhbmdsZVwiXG4gICAgICAgZHJhZ2dhYmxlXG4gICAgICAgcmVzaXphYmxlXG4gICAgICAgW3RhYmluZGV4XT1cImFubm9SZWN0LmlkXCJcbiAgICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3RlZCc6IHNlbGVjdGVkLCAnZ3JhYk5EcmFnJzogZW5hYmxlR3JhYk5EcmFnIH1cIlxuICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiJyMnICsgY29sb3JcIlxuICAgICAgIFtzdHlsZS53aWR0aF09XCJ3aWR0aCArICdweCdcIlxuICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0ICsgJ3B4J1wiXG4gICAgICAgW3N0eWxlLmxlZnRdPVwibGVmdCArICdweCdcIlxuICAgICAgIFtzdHlsZS50b3BdPVwidG9wICsgJ3B4J1wiXG4gICAgICAgW3JvdGF0ZV09XCIwXCJcbiAgICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxuICAgICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICAgICAgIChzdG9wcGVkKT1cIm9uVXBkYXRlKHJlY3RFbGVtZW50KVwiPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub25FZGl0YWJsZT5cbiAgPGRpdiAjcmVjdEVsZW1lbnRcbiAgICAgICBjbGFzcz1cInJlY3RhbmdsZVwiXG4gICAgICAgW3RhYmluZGV4XT1cImFubm9SZWN0LmlkXCJcbiAgICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3RlZCc6IHNlbGVjdGVkIH1cIlxuICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiJyMnICsgY29sb3JcIlxuICAgICAgIFtzdHlsZS53aWR0aF09XCJ3aWR0aCArICdweCdcIlxuICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0KyAncHgnXCJcbiAgICAgICBbc3R5bGUubGVmdF09XCJsZWZ0ICsgJ3B4J1wiXG4gICAgICAgW3N0eWxlLnRvcF09XCJ0b3AgKyAncHgnXCJcbiAgICAgICAoY2xpY2spPVwib25DbGljaygpXCI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,162 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { HttpClientModule } from '@angular/common/http';
5
- import { A11yModule } from '@angular/cdk/a11y';
6
- import { RouterModule } from '@angular/router';
7
- import { MutableDivModule } from 'mutable-div';
8
- import { TagInputModule } from 'ngx-chips';
9
- import { NgxDatatableModule } from '@swimlane/ngx-datatable';
10
- import { AnnotationApiService } from './services/annotation-api/annotation-api.service';
11
- import { AnnotationViewComponent } from './annotation-set/annotation-view/annotation-view.component';
12
- import { AnnotationSetComponent } from './annotation-set/annotation-set.component';
13
- import { RectangleComponent } from './annotation-set/annotation-view/rectangle/rectangle.component';
14
- import { CommentComponent } from './comment-set/comment/comment.component';
15
- import { CtxToolbarComponent } from './annotation-set/ctx-toolbar/ctx-toolbar.component';
16
- import { CommentSetComponent } from './comment-set/comment-set.component';
17
- import { TextareaAutoExpandDirective } from './comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive';
18
- import { CommentsSummaryComponent } from './comments-summary/comments-summary.component';
19
- import { CommentSetRenderService } from './comment-set/comment-set-render.service';
20
- import { BoxHighlightCreateComponent } from './annotation-set/annotation-create/box-highlight-create/box-highlight-create.component';
21
- import { HighlightCreateService } from './annotation-set/annotation-create/highlight-create/highlight-create.service';
22
- import { CommentSetHeaderComponent } from './comment-set/comment-set-header/comment-set-header.component';
23
- import { CommentSearchComponent } from './comment-set/comment-set-header/comment-search/comment-search.component';
24
- import { TextHighlightDirective } from './comment-set/comment/text-highlight/text-highlight.directive';
25
- import { TagsComponent } from './tags/tags.component';
26
- import { TagsServices } from './services/tags/tags.services';
27
- import { CommentsNavigateComponent } from './comment-set/comment-navigate/comments-navigate.component';
28
- import { CommentFilterComponent } from './comment-set/comment-set-header/comment-filter/comment-filter.component';
29
- import { MomentDatePipe } from './pipes/date/date.pipe';
30
- import { BookmarksApiService } from './services/bookmarks-api/bookmarks-api.service';
31
- import { FilterPipe } from './pipes/filter/filter.pipe';
32
- import { UnsnakePipe } from './pipes/unsnake/unsnake.pipe';
33
- import { SharedModule } from '../shared/shared.module';
34
- import { MetadataLayerComponent } from './annotation-set/metadata-layer/metadata-layer.component';
35
- import { CommentService } from './comment-set/comment/comment.service';
36
- import { RpxTranslationModule } from 'rpx-xui-translation';
37
- import * as i0 from "@angular/core";
38
- import * as i1 from "rpx-xui-translation";
39
- export class AnnotationsModule {
40
- }
41
- /** @nocollapse */ AnnotationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnotationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
42
- /** @nocollapse */ AnnotationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AnnotationsModule, declarations: [MetadataLayerComponent,
43
- AnnotationViewComponent,
44
- BoxHighlightCreateComponent,
45
- AnnotationSetComponent,
46
- RectangleComponent,
47
- CommentComponent,
48
- CommentSetHeaderComponent,
49
- CommentSearchComponent,
50
- TextHighlightDirective,
51
- CtxToolbarComponent,
52
- CommentSetComponent,
53
- CommentsNavigateComponent,
54
- TextareaAutoExpandDirective,
55
- CommentsSummaryComponent,
56
- TagsComponent,
57
- MomentDatePipe,
58
- CommentFilterComponent,
59
- FilterPipe,
60
- UnsnakePipe], imports: [A11yModule,
61
- CommonModule,
62
- FormsModule,
63
- HttpClientModule,
64
- MutableDivModule,
65
- TagInputModule,
66
- RouterModule,
67
- ReactiveFormsModule,
68
- NgxDatatableModule,
69
- SharedModule, i1.RpxTranslationModule], exports: [AnnotationViewComponent,
70
- BoxHighlightCreateComponent,
71
- AnnotationSetComponent,
72
- CommentSetComponent,
73
- CommentSetHeaderComponent,
74
- CommentSearchComponent,
75
- CommentsSummaryComponent,
76
- TagsComponent,
77
- CommentFilterComponent,
78
- MomentDatePipe,
79
- FilterPipe,
80
- UnsnakePipe,
81
- MetadataLayerComponent] });
82
- /** @nocollapse */ AnnotationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnotationsModule, providers: [
83
- AnnotationApiService,
84
- BookmarksApiService,
85
- CommentSetRenderService,
86
- HighlightCreateService,
87
- CommentService,
88
- TagsServices
89
- ], imports: [A11yModule,
90
- CommonModule,
91
- FormsModule,
92
- HttpClientModule,
93
- MutableDivModule,
94
- TagInputModule,
95
- RouterModule,
96
- ReactiveFormsModule,
97
- NgxDatatableModule,
98
- SharedModule,
99
- RpxTranslationModule.forChild()] });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnotationsModule, decorators: [{
101
- type: NgModule,
102
- args: [{
103
- imports: [
104
- A11yModule,
105
- CommonModule,
106
- FormsModule,
107
- HttpClientModule,
108
- MutableDivModule,
109
- TagInputModule,
110
- RouterModule,
111
- ReactiveFormsModule,
112
- NgxDatatableModule,
113
- SharedModule,
114
- RpxTranslationModule.forChild()
115
- ],
116
- declarations: [
117
- MetadataLayerComponent,
118
- AnnotationViewComponent,
119
- BoxHighlightCreateComponent,
120
- AnnotationSetComponent,
121
- RectangleComponent,
122
- CommentComponent,
123
- CommentSetHeaderComponent,
124
- CommentSearchComponent,
125
- TextHighlightDirective,
126
- CtxToolbarComponent,
127
- CommentSetComponent,
128
- CommentsNavigateComponent,
129
- TextareaAutoExpandDirective,
130
- CommentsSummaryComponent,
131
- TagsComponent,
132
- MomentDatePipe,
133
- CommentFilterComponent,
134
- FilterPipe,
135
- UnsnakePipe
136
- ],
137
- providers: [
138
- AnnotationApiService,
139
- BookmarksApiService,
140
- CommentSetRenderService,
141
- HighlightCreateService,
142
- CommentService,
143
- TagsServices
144
- ],
145
- exports: [
146
- AnnotationViewComponent,
147
- BoxHighlightCreateComponent,
148
- AnnotationSetComponent,
149
- CommentSetComponent,
150
- CommentSetHeaderComponent,
151
- CommentSearchComponent,
152
- CommentsSummaryComponent,
153
- TagsComponent,
154
- CommentFilterComponent,
155
- MomentDatePipe,
156
- FilterPipe,
157
- UnsnakePipe,
158
- MetadataLayerComponent
159
- ]
160
- }]
161
- }] });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8s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QUNkLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osb0JBQW9CLENBQUMsUUFBUSxFQUFFO3FCQUNoQztvQkFDRCxZQUFZLEVBQUU7d0JBQ1osc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0Isc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6QixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQix3QkFBd0I7d0JBQ3hCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxzQkFBc0I7d0JBQ3RCLFVBQVU7d0JBQ1YsV0FBVztxQkFDWjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Qsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0QixjQUFjO3dCQUNkLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6QixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixXQUFXO3dCQUNYLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBNdXRhYmxlRGl2TW9kdWxlIH0gZnJvbSAnbXV0YWJsZS1kaXYnO1xuaW1wb3J0IHsgVGFnSW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtY2hpcHMnO1xuaW1wb3J0IHsgTmd4RGF0YXRhYmxlTW9kdWxlIH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUnO1xuXG5pbXBvcnQgeyBBbm5vdGF0aW9uQXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYW5ub3RhdGlvbi1hcGkvYW5ub3RhdGlvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uVmlld0NvbXBvbmVudCB9IGZyb20gJy4vYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L2Fubm90YXRpb24tdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblNldENvbXBvbmVudCB9IGZyb20gJy4vYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1zZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFJlY3RhbmdsZUNvbXBvbmVudCB9IGZyb20gJy4vYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L3JlY3RhbmdsZS9yZWN0YW5nbGUuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbW1lbnQtc2V0L2NvbW1lbnQvY29tbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3R4VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vYW5ub3RhdGlvbi1zZXQvY3R4LXRvb2xiYXIvY3R4LXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1lbnRTZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbW1lbnQtc2V0L2NvbW1lbnQtc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0YXJlYUF1dG9FeHBhbmREaXJlY3RpdmUgfSBmcm9tICcuL2NvbW1lbnQtc2V0L2NvbW1lbnQvdGV4dGFyZWEtYXV0by1leHBhbmQvdGV4dGFyZWEtYXV0by1leHBhbmQuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbW1lbnRzU3VtbWFyeUNvbXBvbmVudCB9IGZyb20gJy4vY29tbWVudHMtc3VtbWFyeS9jb21tZW50cy1zdW1tYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tZW50U2V0UmVuZGVyU2VydmljZSB9IGZyb20gJy4vY29tbWVudC1zZXQvY29tbWVudC1zZXQtcmVuZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQm94SGlnaGxpZ2h0Q3JlYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLWNyZWF0ZS9ib3gtaGlnaGxpZ2h0LWNyZWF0ZS9ib3gtaGlnaGxpZ2h0LWNyZWF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGlnaGxpZ2h0Q3JlYXRlU2VydmljZSB9IGZyb20gJy4vYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1jcmVhdGUvaGlnaGxpZ2h0LWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbWVudFNldEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tbWVudC1zZXQvY29tbWVudC1zZXQtaGVhZGVyL2NvbW1lbnQtc2V0LWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbWVudFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vY29tbWVudC1zZXQvY29tbWVudC1zZXQtaGVhZGVyL2NvbW1lbnQtc2VhcmNoL2NvbW1lbnQtc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnLi9jb21tZW50LXNldC9jb21tZW50L3RleHQtaGlnaGxpZ2h0L3RleHQtaGlnaGxpZ2h0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUYWdzQ29tcG9uZW50IH0gZnJvbSAnLi90YWdzL3RhZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IFRhZ3NTZXJ2aWNlcyB9IGZyb20gJy4vc2VydmljZXMvdGFncy90YWdzLnNlcnZpY2VzJztcbmltcG9ydCB7IENvbW1lbnRzTmF2aWdhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbW1lbnQtc2V0L2NvbW1lbnQtbmF2aWdhdGUvY29tbWVudHMtbmF2aWdhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1lbnRGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbW1lbnQtc2V0L2NvbW1lbnQtc2V0LWhlYWRlci9jb21tZW50LWZpbHRlci9jb21tZW50LWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9tZW50RGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2RhdGUvZGF0ZS5waXBlJztcbmltcG9ydCB7IEJvb2ttYXJrc0FwaVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Jvb2ttYXJrcy1hcGkvYm9va21hcmtzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlclBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci9maWx0ZXIucGlwZSc7XG5pbXBvcnQgeyBVbnNuYWtlUGlwZSB9IGZyb20gJy4vcGlwZXMvdW5zbmFrZS91bnNuYWtlLnBpcGUnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgTWV0YWRhdGFMYXllckNvbXBvbmVudCB9IGZyb20gJy4vYW5ub3RhdGlvbi1zZXQvbWV0YWRhdGEtbGF5ZXIvbWV0YWRhdGEtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb21tZW50LXNldC9jb21tZW50L2NvbW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQTExeU1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBNdXRhYmxlRGl2TW9kdWxlLFxuICAgIFRhZ0lucHV0TW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5neERhdGF0YWJsZU1vZHVsZSxcbiAgICBTaGFyZWRNb2R1bGUsXG4gICAgUnB4VHJhbnNsYXRpb25Nb2R1bGUuZm9yQ2hpbGQoKVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNZXRhZGF0YUxheWVyQ29tcG9uZW50LFxuICAgIEFubm90YXRpb25WaWV3Q29tcG9uZW50LFxuICAgIEJveEhpZ2hsaWdodENyZWF0ZUNvbXBvbmVudCxcbiAgICBBbm5vdGF0aW9uU2V0Q29tcG9uZW50LFxuICAgIFJlY3RhbmdsZUNvbXBvbmVudCxcbiAgICBDb21tZW50Q29tcG9uZW50LFxuICAgIENvbW1lbnRTZXRIZWFkZXJDb21wb25lbnQsXG4gICAgQ29tbWVudFNlYXJjaENvbXBvbmVudCxcbiAgICBUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLFxuICAgIEN0eFRvb2xiYXJDb21wb25lbnQsXG4gICAgQ29tbWVudFNldENvbXBvbmVudCxcbiAgICBDb21tZW50c05hdmlnYXRlQ29tcG9uZW50LFxuICAgIFRleHRhcmVhQXV0b0V4cGFuZERpcmVjdGl2ZSxcbiAgICBDb21tZW50c1N1bW1hcnlDb21wb25lbnQsXG4gICAgVGFnc0NvbXBvbmVudCxcbiAgICBNb21lbnREYXRlUGlwZSxcbiAgICBDb21tZW50RmlsdGVyQ29tcG9uZW50LFxuICAgIEZpbHRlclBpcGUsXG4gICAgVW5zbmFrZVBpcGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQW5ub3RhdGlvbkFwaVNlcnZpY2UsXG4gICAgQm9va21hcmtzQXBpU2VydmljZSxcbiAgICBDb21tZW50U2V0UmVuZGVyU2VydmljZSxcbiAgICBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlLFxuICAgIENvbW1lbnRTZXJ2aWNlLFxuICAgIFRhZ3NTZXJ2aWNlc1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQW5ub3RhdGlvblZpZXdDb21wb25lbnQsXG4gICAgQm94SGlnaGxpZ2h0Q3JlYXRlQ29tcG9uZW50LFxuICAgIEFubm90YXRpb25TZXRDb21wb25lbnQsXG4gICAgQ29tbWVudFNldENvbXBvbmVudCxcbiAgICBDb21tZW50U2V0SGVhZGVyQ29tcG9uZW50LFxuICAgIENvbW1lbnRTZWFyY2hDb21wb25lbnQsXG4gICAgQ29tbWVudHNTdW1tYXJ5Q29tcG9uZW50LFxuICAgIFRhZ3NDb21wb25lbnQsXG4gICAgQ29tbWVudEZpbHRlckNvbXBvbmVudCxcbiAgICBNb21lbnREYXRlUGlwZSxcbiAgICBGaWx0ZXJQaXBlLFxuICAgIFVuc25ha2VQaXBlLFxuICAgIE1ldGFkYXRhTGF5ZXJDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBbm5vdGF0aW9uc01vZHVsZSB7IH1cbiJdfQ==
@@ -1,118 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject, of, Subject } from 'rxjs';
3
- import { IcpEvents } from './icp.events';
4
- import * as i0 from "@angular/core";
5
- export class SocketService {
6
- constructor() {
7
- this.connected$ = new BehaviorSubject(false);
8
- this.sessionJoined$ = new Subject();
9
- this.presenterUpdated$ = new Subject();
10
- this.clientDisconnected$ = new Subject();
11
- this.participantUpdated$ = new Subject();
12
- this.newParticipantJoined$ = new Subject();
13
- this.screenUpdated$ = new Subject();
14
- }
15
- ngOnDestroy() {
16
- this.subscription.unsubscribe();
17
- }
18
- connect(url) {
19
- return this.getSocketClient(url).subscribe((socket) => {
20
- socket.onopen = (event) => {
21
- this.connected$.next(true);
22
- };
23
- socket.onmessage = (event) => {
24
- console.log('onmessage');
25
- const eventData = JSON.parse(event.data);
26
- if (eventData.data && eventData.data.eventName) {
27
- this.messageEventHandller(eventData.data.eventName, eventData.data.data);
28
- }
29
- };
30
- socket.onerror = (event) => {
31
- console.log('onerror');
32
- };
33
- socket.onclose = (event) => {
34
- console.log('onclose');
35
- };
36
- });
37
- }
38
- connected() {
39
- return this.connected$.asObservable();
40
- }
41
- join(session) {
42
- this.emit(IcpEvents.SESSION_JOIN, session);
43
- }
44
- leave(session) {
45
- this.emit(IcpEvents.SESSION_LEAVE, session);
46
- this.subscription.unsubscribe();
47
- }
48
- emit(event, data) {
49
- this.socket.send(JSON.stringify({
50
- type: 'event',
51
- event,
52
- data
53
- }));
54
- }
55
- listen(event) {
56
- switch (event) {
57
- case IcpEvents.SESSION_JOINED: {
58
- return this.sessionJoined$.asObservable();
59
- }
60
- case IcpEvents.PRESENTER_UPDATED: {
61
- return this.presenterUpdated$.asObservable();
62
- }
63
- case IcpEvents.CLIENT_DISCONNECTED: {
64
- return this.clientDisconnected$.asObservable();
65
- }
66
- case IcpEvents.PARTICIPANTS_UPDATED: {
67
- return this.participantUpdated$.asObservable();
68
- }
69
- case IcpEvents.NEW_PARTICIPANT_JOINED: {
70
- return this.newParticipantJoined$.asObservable();
71
- }
72
- case IcpEvents.SCREEN_UPDATED: {
73
- return this.screenUpdated$.asObservable();
74
- }
75
- default: {
76
- break;
77
- }
78
- }
79
- }
80
- messageEventHandller(eventName, data) {
81
- switch (eventName) {
82
- case IcpEvents.SESSION_JOINED: {
83
- this.sessionJoined$.next(data);
84
- break;
85
- }
86
- case IcpEvents.PRESENTER_UPDATED: {
87
- this.presenterUpdated$.next(data);
88
- break;
89
- }
90
- case IcpEvents.CLIENT_DISCONNECTED: {
91
- this.clientDisconnected$.next();
92
- break;
93
- }
94
- case IcpEvents.PARTICIPANTS_UPDATED: {
95
- this.participantUpdated$.next(data);
96
- break;
97
- }
98
- case IcpEvents.NEW_PARTICIPANT_JOINED: {
99
- this.newParticipantJoined$.next();
100
- break;
101
- }
102
- case IcpEvents.SCREEN_UPDATED: {
103
- this.screenUpdated$.next(data);
104
- break;
105
- }
106
- }
107
- }
108
- getSocketClient(url) {
109
- this.socket = new WebSocket(url, 'json.webpubsub.azure.v1');
110
- return of(this.socket);
111
- }
112
- }
113
- /** @nocollapse */ SocketService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocketService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
114
- /** @nocollapse */ SocketService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocketService });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocketService, decorators: [{
116
- type: Injectable
117
- }], ctorParameters: function () { return []; } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9pY3Avc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFvQixFQUFFLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUl6QyxNQUFNLE9BQU8sYUFBYTtJQVl4QjtRQVJBLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqRCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDL0Isc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNsQyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLHdCQUFtQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDcEMsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN0QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFZixDQUFDO0lBRWpCLFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBaUIsRUFBRSxFQUFFO1lBRS9ELE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDO1lBRUYsTUFBTSxDQUFD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Q0QsS0FBSyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbEMsTUFBTTthQUNQO1lBQ0QsS0FBSyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNoQyxNQUFNO2FBQ1A7WUFDRCxLQUFLLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxNQUFNO2FBQ1A7WUFDRCxLQUFLLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xDLE1BQU07YUFDUDtZQUNELEtBQUssU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsTUFBTTthQUNQO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVc7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFNBQVMsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUM1RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7OEhBMUhVLGFBQWE7a0lBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb20sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEljcEV2ZW50cyB9IGZyb20gJy4vaWNwLmV2ZW50cyc7XG5pbXBvcnQgeyBJY3BQYXJ0aWNpcGFudCB9IGZyb20gJy4vaWNwLmludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU29ja2V0U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzb2NrZXQ6IFdlYlNvY2tldDtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGNvbm5lY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgc2Vzc2lvbkpvaW5lZCQgPSBuZXcgU3ViamVjdCgpO1xuICBwcmVzZW50ZXJVcGRhdGVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIGNsaWVudERpc2Nvbm5lY3RlZCQgPSBuZXcgU3ViamVjdCgpO1xuICBwYXJ0aWNpcGFudFVwZGF0ZWQkID0gbmV3IFN1YmplY3QoKTtcbiAgbmV3UGFydGljaXBhbnRKb2luZWQkID0gbmV3IFN1YmplY3QoKTtcbiAgc2NyZWVuVXBkYXRlZCQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNvbm5lY3QodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTb2NrZXRDbGllbnQodXJsKS5zdWJzY3JpYmUoKHNvY2tldDogV2ViU29ja2V0KSA9PiB7XG5cbiAgICAgIHNvY2tldC5vbm9wZW4gPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkJC5uZXh0KHRydWUpO1xuICAgICAgfTtcblxuICAgICAgc29ja2V0Lm9ubWVzc2FnZSA9IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdvbm1lc3NhZ2UnKTtcbiAgICAgICAgY29uc3QgZXZlbnREYXRhID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTtcbiAgICAgICAgaWYgKGV2ZW50RGF0YS5kYXRhICYmIGV2ZW50RGF0YS5kYXRhLmV2ZW50TmFtZSkge1xuICAgICAgICAgIHRoaXMubWVzc2FnZUV2ZW50SGFuZGxsZXIoZXZlbnREYXRhLmRhdGEuZXZlbnROYW1lLCBldmVudERhdGEuZGF0YS5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgc29ja2V0Lm9uZXJyb3IgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdvbmVycm9yJyk7XG4gICAgICB9O1xuXG4gICAgICBzb2NrZXQub25jbG9zZSA9IChldmVudDogQ2xvc2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnb25jbG9zZScpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbm5lY3RlZCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgam9pbihzZXNzaW9uKSB7XG4gICAgdGhpcy5lbWl0KEljcEV2ZW50cy5TRVNTSU9OX0pPSU4sIHNlc3Npb24pO1xuICB9XG5cbiAgbGVhdmUoc2Vzc2lvbikge1xuICAgIHRoaXMuZW1pdChJY3BFdmVudHMuU0VTU0lPTl9MRUFWRSwgc2Vzc2lvbik7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGVtaXQoZXZlbnQ6IHN0cmluZywgZGF0YTogYW55KSB7XG4gICAgdGhpcy5zb2NrZXQuc2VuZChKU09OLnN0cmluZ2lmeSh7XG4gICAgICB0eXBlOiAnZXZlbnQnLFxuICAgICAgZXZlbnQsXG4gICAgICBkYXRhXG4gICAgfSkpO1xuICB9XG5cbiAgbGlzdGVuKGV2ZW50OiBJY3BFdmVudHMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHN3aXRjaCAoZXZlbnQpIHtcbiAgICAgIGNhc2UgSWNwRXZlbnRzLlNFU1NJT05fSk9JTkVEOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb25Kb2luZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuUFJFU0VOVEVSX1VQREFURUQ6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJlc2VudGVyVXBkYXRlZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5DTElFTlRfRElTQ09OTkVDVEVEOiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNsaWVudERpc2Nvbm5lY3RlZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5QQVJUSUNJUEFOVFNfVVBEQVRFRDoge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJ0aWNpcGFudFVwZGF0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuTkVXX1BBUlRJQ0lQQU5UX0pPSU5FRDoge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXdQYXJ0aWNpcGFudEpvaW5lZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5TQ1JFRU5fVVBEQVRFRDoge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JlZW5VcGRhdGVkJC5hc09ic2VydmFibGUoKTtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbWVzc2FnZUV2ZW50SGFuZGxsZXIoZXZlbnROYW1lOiBzdHJpbmcsIGRhdGE6IGFueSkge1xuICAgIHN3aXRjaCAoZXZlbnROYW1lKSB7XG4gICAgICBjYXNlIEljcEV2ZW50cy5TRVNTSU9OX0pPSU5FRDoge1xuICAgICAgICB0aGlzLnNlc3Npb25Kb2luZWQkLm5leHQoZGF0YSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuUFJFU0VOVEVSX1VQREFURUQ6IHtcbiAgICAgICAgdGhpcy5wcmVzZW50ZXJVcGRhdGVkJC5uZXh0KGRhdGEpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgSWNwRXZlbnRzLkNMSUVOVF9ESVNDT05ORUNURUQ6IHtcbiAgICAgICAgdGhpcy5jbGllbnREaXNjb25uZWN0ZWQkLm5leHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5QQVJUSUNJUEFOVFNfVVBEQVRFRDoge1xuICAgICAgICB0aGlzLnBhcnRpY2lwYW50VXBkYXRlZCQubmV4dChkYXRhKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5ORVdfUEFSVElDSVBBTlRfSk9JTkVEOiB7XG4gICAgICAgIHRoaXMubmV3UGFydGljaXBhbnRKb2luZWQkLm5leHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5TQ1JFRU5fVVBEQVRFRDoge1xuICAgICAgICB0aGlzLnNjcmVlblVwZGF0ZWQkLm5leHQoZGF0YSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFNvY2tldENsaWVudCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8V2ViU29ja2V0PiB7XG4gICAgdGhpcy5zb2NrZXQgPSBuZXcgV2ViU29ja2V0KHVybCwgJ2pzb24ud2VicHVic3ViLmF6dXJlLnYxJyk7XG4gICAgcmV0dXJuIG9mKHRoaXMuc29ja2V0KTtcbiAgfVxufVxuIl19