@hmcts/media-viewer 3.0.3 → 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.
- package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-set.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +4 -4
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.mjs +143 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.mjs +2 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.mjs +2 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.mjs +2 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.mjs +32 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +117 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.mjs +65 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.mjs +127 -0
- package/{esm2020 → esm2022}/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +4 -4
- package/esm2022/lib/annotations/annotations.module.mjs +162 -0
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/comment.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/comment.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-render.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/comments-summary/comments-summary.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/pipes/date/date.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/pipes/filter/filter.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/services/annotation-api/annotation-api.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/services/tags/tags.services.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/tags/tags.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/bookmark/components/bookmark-icons.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/icp/icp-follower.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/icp/icp-presenter.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/icp/icp-session-api.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/icp/icp-update.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/icp/icp.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/icp/participants-list/participants-list.component.mjs +4 -4
- package/esm2022/lib/icp/socket.service.mjs +118 -0
- package/{esm2020 → esm2022}/lib/media-viewer.component.mjs +4 -4
- package/esm2022/lib/media-viewer.module.mjs +155 -0
- package/esm2022/lib/print.service.mjs +30 -0
- package/{esm2020 → esm2022}/lib/redaction/components/redaction.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/redaction/services/redaction-api.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/shared/gov-uk-date/gov-uk-date.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/shared/gov-uk-label/gov-uk-label.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/shared/shared.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/shared/util/services/number.helper.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/store/effects/annotation.effects.mjs +4 -4
- package/{esm2020 → esm2022}/lib/store/effects/bookmarks.effects.mjs +4 -4
- package/{esm2020 → esm2022}/lib/store/effects/document.effects.mjs +4 -4
- package/{esm2020 → esm2022}/lib/store/effects/icp.effects.mjs +4 -4
- package/{esm2020 → esm2022}/lib/store/effects/redaction.effects.mjs +4 -4
- package/{esm2020 → esm2022}/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/toolbar/icp-event.service.mjs +1 -1
- package/{esm2020 → esm2022}/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/toolbar/main-toolbar/main-toolbar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/toolbar/search-bar/search-bar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/toolbar/toolbar-button-visibility.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/toolbar/toolbar-event.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/toolbar/toolbar.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/grab-n-drag.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/image-viewer/image-viewer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/multimedia-player/multimedia-player.component.mjs +4 -4
- package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +209 -0
- package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation-api.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation-persist.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/viewer-event.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/viewers/viewer-util.service.mjs +4 -4
- package/{fesm2020 → fesm2022}/hmcts-media-viewer.mjs +737 -391
- package/fesm2022/hmcts-media-viewer.mjs.map +1 -0
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +1 -1
- package/lib/annotations/annotation-set/annotation-set.component.d.ts +1 -1
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +1 -1
- package/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.d.ts +25 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.d.ts +7 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.d.ts +5 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.d.ts +7 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.d.ts +11 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +1 -1
- package/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.d.ts +22 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.d.ts +23 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +1 -1
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +1 -1
- package/lib/annotations/annotations.module.d.ts +1 -1
- package/lib/annotations/comment-set/comment/comment.component.d.ts +1 -1
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +1 -1
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +1 -1
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +1 -1
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +1 -1
- package/lib/annotations/comment-set/comment-set.component.d.ts +1 -1
- package/lib/annotations/comments-summary/comments-summary.component.d.ts +1 -1
- package/lib/annotations/tags/tags.component.d.ts +1 -1
- package/lib/bookmark/components/bookmark-icons.component.d.ts +1 -1
- package/lib/icp/socket.service.d.ts +6 -6
- package/lib/icp/socket.service.d.ts.map +1 -1
- package/lib/media-viewer.component.d.ts +1 -1
- package/lib/media-viewer.module.d.ts +2 -2
- package/lib/print.service.d.ts.map +1 -1
- package/lib/redaction/components/redaction.component.d.ts +1 -1
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +1 -1
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -1
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -1
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +1 -1
- package/lib/toolbar/icp-event.service.d.ts +4 -4
- package/lib/toolbar/icp-event.service.d.ts.map +1 -1
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +1 -1
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +1 -1
- package/lib/toolbar/toolbar-event.service.d.ts +6 -6
- package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +1 -1
- package/lib/viewers/grab-n-drag.directive.d.ts +1 -1
- package/lib/viewers/image-viewer/image-viewer.component.d.ts +1 -1
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +1 -1
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +1 -1
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +2 -2
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +1 -1
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +1 -1
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +1 -1
- package/lib/viewers/viewer-event.service.d.ts +1 -1
- package/lib/viewers/viewer-event.service.d.ts.map +1 -1
- package/package.json +16 -22
- package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +0 -116
- package/esm2020/lib/annotations/annotations.module.mjs +0 -162
- package/esm2020/lib/icp/socket.service.mjs +0 -118
- package/esm2020/lib/media-viewer.module.mjs +0 -155
- package/esm2020/lib/print.service.mjs +0 -34
- package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +0 -209
- package/fesm2015/hmcts-media-viewer.mjs +0 -6785
- package/fesm2015/hmcts-media-viewer.mjs.map +0 -1
- package/fesm2020/hmcts-media-viewer.mjs.map +0 -1
- /package/{esm2020 → esm2022}/hmcts-media-viewer.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-set.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/comment.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/annotations/models/api-persisted.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/annotations/models/event-select.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/annotations/models/tags.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/annotations/models/user.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/icp/icp.events.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/icp/icp.interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/redaction/services/redaction.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/util/helpers/html-templates.helper.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/actions/annotation.actions.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/actions/bookmark.actions.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/actions/document.actions.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/actions/icp.actions.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/actions/redaction.actions.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/actions/tag.actions.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/bookmarks-store-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/effects/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/models/bookmarks.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/models/filters.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/reducers/annotations.reducer.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/reducers/bookmarks.reducer.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/reducers/document.reducer.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/reducers/icp.reducer.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/reducers/redaction.reducer.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/reducers/reducers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/reducers/tags.reducer.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/selectors/annotation.selectors.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/selectors/bookmark.selectors.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/selectors/document.selectors.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/selectors/icp.selectors.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/selectors/redaction.selectors.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/selectors/tag.selectors.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/store-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/viewers/viewer-exception.model.mjs +0 -0
- /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 '@
|
|
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,
|
|
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<
|
|
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,
|
|
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
|
+
"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
|
|
31
|
-
"@angular/
|
|
32
|
-
"@angular/
|
|
33
|
-
"@angular/
|
|
34
|
-
"@angular/
|
|
35
|
-
"@angular/
|
|
36
|
-
"@
|
|
37
|
-
"@ngrx/
|
|
38
|
-
"@ngrx/store": "^
|
|
39
|
-
"@ngrx/store
|
|
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": "
|
|
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
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
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
|
package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs
DELETED
|
@@ -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
|