@hmcts/media-viewer 4.0.2 → 4.0.4
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/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +116 -0
- package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +109 -0
- package/{esm2020 → esm2022}/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +5 -5
- package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
- package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +118 -0
- package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +86 -0
- package/{esm2020 → esm2022}/lib/annotations/annotations.module.mjs +61 -61
- package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +177 -0
- package/esm2022/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
- package/esm2022/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +5 -5
- package/esm2022/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
- package/{esm2020 → esm2022}/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +5 -5
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +54 -0
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +68 -0
- package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +54 -0
- package/esm2022/lib/annotations/comment-set/comment-set.component.mjs +123 -0
- package/esm2022/lib/annotations/comments-summary/comments-summary.component.mjs +120 -0
- package/{esm2020 → esm2022}/lib/annotations/pipes/date/date.pipe.mjs +4 -4
- package/esm2022/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
- package/{esm2020 → esm2022}/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/annotations/services/annotation-api/annotation-api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/annotations/services/tags/tags.services.mjs +5 -5
- package/esm2022/lib/annotations/tags/tags.component.mjs +53 -0
- package/{esm2020 → esm2022}/lib/bookmark/components/bookmark-icons.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +5 -5
- package/esm2022/lib/icp/icp-follower.service.mjs +60 -0
- package/esm2022/lib/icp/icp-presenter.service.mjs +55 -0
- package/{esm2020 → esm2022}/lib/icp/icp-session-api.service.mjs +5 -5
- package/esm2022/lib/icp/icp-update.service.mjs +65 -0
- package/esm2022/lib/icp/icp.service.mjs +95 -0
- package/{esm2020 → esm2022}/lib/icp/participants-list/participants-list.component.mjs +5 -5
- package/esm2022/lib/icp/socket.service.mjs +118 -0
- package/esm2022/lib/media-viewer.component.mjs +244 -0
- package/{esm2020 → esm2022}/lib/media-viewer.module.mjs +55 -55
- package/{esm2020 → esm2022}/lib/print.service.mjs +4 -4
- package/esm2022/lib/redaction/components/redaction.component.mjs +91 -0
- package/{esm2020 → esm2022}/lib/redaction/services/redaction-api.service.mjs +5 -5
- 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 +7 -7
- 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 +7 -7
- package/{esm2020 → esm2022}/lib/shared/shared.module.mjs +19 -19
- package/esm2022/lib/shared/util/helpers/html-templates.helper.mjs +18 -0
- package/{esm2020 → esm2022}/lib/shared/util/services/number.helper.service.mjs +5 -5
- package/esm2022/lib/store/bookmarks-store-utils.mjs +49 -0
- package/esm2022/lib/store/effects/annotation.effects.mjs +51 -0
- package/esm2022/lib/store/effects/bookmarks.effects.mjs +44 -0
- package/{esm2020 → esm2022}/lib/store/effects/document.effects.mjs +5 -5
- package/{esm2020 → esm2022}/lib/store/effects/icp.effects.mjs +5 -5
- package/{esm2020 → esm2022}/lib/store/effects/redaction.effects.mjs +5 -5
- package/esm2022/lib/store/reducers/annotations.reducer.mjs +208 -0
- package/esm2022/lib/store/reducers/bookmarks.reducer.mjs +116 -0
- package/esm2022/lib/store/reducers/document.reducer.mjs +135 -0
- package/esm2022/lib/store/reducers/icp.reducer.mjs +56 -0
- package/esm2022/lib/store/reducers/redaction.reducer.mjs +116 -0
- package/esm2022/lib/store/reducers/tags.reducer.mjs +93 -0
- package/esm2022/lib/store/selectors/annotation.selectors.mjs +81 -0
- package/{esm2020 → esm2022}/lib/store/selectors/bookmark.selectors.mjs +1 -1
- package/{esm2020 → esm2022}/lib/store/selectors/redaction.selectors.mjs +1 -1
- package/esm2022/lib/store/store-utils.mjs +131 -0
- package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +44 -0
- package/{esm2020 → esm2022}/lib/toolbar/icp-event.service.mjs +1 -1
- package/{esm2020 → esm2022}/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +5 -5
- package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +189 -0
- package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +236 -0
- package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +68 -0
- package/esm2022/lib/toolbar/search-bar/search-bar.component.mjs +109 -0
- package/esm2022/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
- package/esm2022/lib/toolbar/toolbar-event.service.mjs +178 -0
- package/{esm2020 → esm2022}/lib/toolbar/toolbar.module.mjs +25 -25
- package/esm2022/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +82 -0
- package/{esm2020 → esm2022}/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +5 -5
- package/esm2022/lib/viewers/grab-n-drag.directive.mjs +57 -0
- package/esm2022/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
- package/esm2022/lib/viewers/multimedia-player/multimedia-player.component.mjs +59 -0
- package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +210 -0
- package/{esm2020 → esm2022}/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +5 -5
- package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +236 -0
- package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +352 -0
- package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
- package/esm2022/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +78 -0
- package/{esm2020 → esm2022}/lib/viewers/rotation-persist/rotation-api.service.mjs +5 -5
- package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +61 -0
- package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/viewers/viewer-event.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/viewers/viewer-util.service.mjs +5 -5
- package/{fesm2020 → fesm2022}/hmcts-media-viewer.mjs +445 -445
- 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/rectangle.component.d.ts +1 -1
- 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/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 -2
- package/lib/media-viewer.component.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/store/bookmarks-store-utils.d.ts.map +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-js/pdf-js-wrapper.d.ts.map +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 +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 -23
- package/esm2020/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +0 -116
- package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +0 -109
- package/esm2020/lib/annotations/annotation-set/annotation-set.component.mjs +0 -50
- package/esm2020/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +0 -94
- package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +0 -116
- package/esm2020/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +0 -118
- package/esm2020/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +0 -86
- package/esm2020/lib/annotations/comment-set/comment/comment.component.mjs +0 -177
- package/esm2020/lib/annotations/comment-set/comment/comment.service.mjs +0 -50
- package/esm2020/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +0 -47
- package/esm2020/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +0 -91
- package/esm2020/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +0 -54
- package/esm2020/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +0 -68
- package/esm2020/lib/annotations/comment-set/comment-set-render.service.mjs +0 -54
- package/esm2020/lib/annotations/comment-set/comment-set.component.mjs +0 -123
- package/esm2020/lib/annotations/comments-summary/comments-summary.component.mjs +0 -120
- package/esm2020/lib/annotations/pipes/filter/filter.pipe.mjs +0 -32
- package/esm2020/lib/annotations/tags/tags.component.mjs +0 -53
- package/esm2020/lib/icp/icp-follower.service.mjs +0 -60
- package/esm2020/lib/icp/icp-presenter.service.mjs +0 -55
- package/esm2020/lib/icp/icp-update.service.mjs +0 -65
- package/esm2020/lib/icp/icp.service.mjs +0 -95
- package/esm2020/lib/icp/socket.service.mjs +0 -118
- package/esm2020/lib/media-viewer.component.mjs +0 -245
- package/esm2020/lib/redaction/components/redaction.component.mjs +0 -91
- package/esm2020/lib/shared/util/helpers/html-templates.helper.mjs +0 -18
- package/esm2020/lib/store/bookmarks-store-utils.mjs +0 -49
- package/esm2020/lib/store/effects/annotation.effects.mjs +0 -51
- package/esm2020/lib/store/effects/bookmarks.effects.mjs +0 -44
- package/esm2020/lib/store/reducers/annotations.reducer.mjs +0 -208
- package/esm2020/lib/store/reducers/bookmarks.reducer.mjs +0 -116
- package/esm2020/lib/store/reducers/document.reducer.mjs +0 -135
- package/esm2020/lib/store/reducers/icp.reducer.mjs +0 -56
- package/esm2020/lib/store/reducers/redaction.reducer.mjs +0 -116
- package/esm2020/lib/store/reducers/tags.reducer.mjs +0 -93
- package/esm2020/lib/store/selectors/annotation.selectors.mjs +0 -81
- package/esm2020/lib/store/store-utils.mjs +0 -131
- package/esm2020/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +0 -44
- package/esm2020/lib/toolbar/main-toolbar/main-toolbar.component.mjs +0 -189
- package/esm2020/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +0 -236
- package/esm2020/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +0 -68
- package/esm2020/lib/toolbar/search-bar/search-bar.component.mjs +0 -109
- package/esm2020/lib/toolbar/toolbar-button-visibility.service.mjs +0 -94
- package/esm2020/lib/toolbar/toolbar-event.service.mjs +0 -178
- package/esm2020/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +0 -82
- package/esm2020/lib/viewers/grab-n-drag.directive.mjs +0 -57
- package/esm2020/lib/viewers/image-viewer/image-viewer.component.mjs +0 -166
- package/esm2020/lib/viewers/multimedia-player/multimedia-player.component.mjs +0 -59
- package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +0 -209
- package/esm2020/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +0 -236
- package/esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +0 -352
- package/esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +0 -49
- package/esm2020/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +0 -78
- package/esm2020/lib/viewers/rotation-persist/rotation-persist.directive.mjs +0 -61
- package/esm2020/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +0 -49
- package/fesm2015/hmcts-media-viewer.mjs +0 -6953
- 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/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/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/reducers.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/tag.selectors.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,116 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { v4 as uuid } from 'uuid';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../../../toolbar/toolbar.module";
|
|
5
|
-
import * as i2 from "../highlight-create/highlight-create.service";
|
|
6
|
-
export class BoxHighlightCreateComponent {
|
|
7
|
-
constructor(toolbarEvents, highlightService) {
|
|
8
|
-
this.toolbarEvents = toolbarEvents;
|
|
9
|
-
this.highlightService = highlightService;
|
|
10
|
-
this.saveSelection = new EventEmitter();
|
|
11
|
-
this.drawStartX = -1;
|
|
12
|
-
this.drawStartY = -1;
|
|
13
|
-
this.backgroundColor = 'none';
|
|
14
|
-
this.subscriptions = [];
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
this.subscriptions = [
|
|
18
|
-
this.toolbarEvents.drawModeSubject.subscribe(drawMode => {
|
|
19
|
-
this.defaultHeight = drawMode ? '100%' : '0px';
|
|
20
|
-
this.defaultWidth = drawMode ? '100%' : '0px';
|
|
21
|
-
}),
|
|
22
|
-
this.toolbarEvents.redactWholePage.subscribe(() => {
|
|
23
|
-
this.wholePage = true;
|
|
24
|
-
})
|
|
25
|
-
];
|
|
26
|
-
}
|
|
27
|
-
ngOnDestroy() {
|
|
28
|
-
this.subscriptions.forEach(subscription => {
|
|
29
|
-
subscription.unsubscribe();
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
initHighlight({ offsetX, offsetY }) {
|
|
33
|
-
if (this.wholePage) {
|
|
34
|
-
this.highlightPage();
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
this.position = 'absolute';
|
|
38
|
-
this.backgroundColor = 'yellow';
|
|
39
|
-
this.drawStartX = offsetX;
|
|
40
|
-
this.drawStartY = offsetY;
|
|
41
|
-
this.display = 'block';
|
|
42
|
-
this.height = 50;
|
|
43
|
-
this.width = 50;
|
|
44
|
-
this.top = this.drawStartY;
|
|
45
|
-
this.left = this.drawStartX;
|
|
46
|
-
switch (this.rotate) {
|
|
47
|
-
case 90:
|
|
48
|
-
this.top = this.drawStartY - this.height;
|
|
49
|
-
break;
|
|
50
|
-
case 180:
|
|
51
|
-
this.top = this.drawStartY - this.height;
|
|
52
|
-
this.left = this.drawStartX - this.width;
|
|
53
|
-
break;
|
|
54
|
-
case 270:
|
|
55
|
-
this.left = this.drawStartX - this.width;
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
updateHighlight({ currentTarget, clientX, clientY }) {
|
|
60
|
-
const rect = currentTarget.getBoundingClientRect(), offsetX = clientX - rect.left, offsetY = clientY - rect.top;
|
|
61
|
-
if (this.drawStartX > 0 && this.drawStartY > 0) {
|
|
62
|
-
this.height = Math.abs(offsetY - this.drawStartY);
|
|
63
|
-
this.width = Math.abs(offsetX - this.drawStartX);
|
|
64
|
-
this.top = Math.min(offsetY, this.drawStartY);
|
|
65
|
-
this.left = Math.min(offsetX, this.drawStartX);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
createHighlight() {
|
|
69
|
-
if (this.height / this.zoom > 5 || this.width / this.zoom > 5) {
|
|
70
|
-
let rectangle = this.highlightService
|
|
71
|
-
.applyRotation(this.pageHeight, this.pageWidth, this.height, this.width, this.top, this.left, this.rotate, this.zoom);
|
|
72
|
-
rectangle = { id: uuid(), ...rectangle };
|
|
73
|
-
this.saveSelection.emit({ rectangles: [rectangle], page: this.page });
|
|
74
|
-
this.resetHighlight();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
resetHighlight() {
|
|
78
|
-
this.drawStartX = -1;
|
|
79
|
-
this.drawStartY = -1;
|
|
80
|
-
this.display = 'none';
|
|
81
|
-
this.width = 0;
|
|
82
|
-
this.height = 0;
|
|
83
|
-
this.wholePage = false;
|
|
84
|
-
}
|
|
85
|
-
highlightPage() {
|
|
86
|
-
this.height = this.pageHeight;
|
|
87
|
-
this.width = this.pageWidth;
|
|
88
|
-
this.top = 0;
|
|
89
|
-
this.left = 0;
|
|
90
|
-
this.createHighlight();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/** @nocollapse */ BoxHighlightCreateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BoxHighlightCreateComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.HighlightCreateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
-
/** @nocollapse */ BoxHighlightCreateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BoxHighlightCreateComponent, selector: "mv-box-highlight-create", inputs: { page: "page", pageHeight: "pageHeight", pageWidth: "pageWidth", rotate: "rotate", zoom: "zoom", container: "container" }, outputs: { saveSelection: "saveSelection" }, viewQueries: [{ propertyName: "highlight", first: true, predicate: ["boxHighlight"], descendants: true }], ngImport: i0, template: "<div [style.height]=\"defaultHeight\"\n [style.width]=\"defaultWidth\"\n (mousedown)=\"initHighlight($event)\"\n (mousemove)=\"updateHighlight($event)\"\n (mouseup)=\"createHighlight()\">\n <div #boxHighlight\n class=\"box-highlight\"\n [style.display]=\"display\"\n [style.position]=\"position\"\n [style.background-color]=\"backgroundColor\"\n [style.height]=\"height ? height + 'px' : '100%'\"\n [style.width]=\"width ? width + 'px' : '100%'\"\n [style.top]=\"top + 'px'\"\n [style.left]=\"left + 'px'\">\n </div>\n</div>\n" });
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BoxHighlightCreateComponent, decorators: [{
|
|
96
|
-
type: Component,
|
|
97
|
-
args: [{ selector: 'mv-box-highlight-create', template: "<div [style.height]=\"defaultHeight\"\n [style.width]=\"defaultWidth\"\n (mousedown)=\"initHighlight($event)\"\n (mousemove)=\"updateHighlight($event)\"\n (mouseup)=\"createHighlight()\">\n <div #boxHighlight\n class=\"box-highlight\"\n [style.display]=\"display\"\n [style.position]=\"position\"\n [style.background-color]=\"backgroundColor\"\n [style.height]=\"height ? height + 'px' : '100%'\"\n [style.width]=\"width ? width + 'px' : '100%'\"\n [style.top]=\"top + 'px'\"\n [style.left]=\"left + 'px'\">\n </div>\n</div>\n" }]
|
|
98
|
-
}], ctorParameters: function () { return [{ type: i1.ToolbarEventService }, { type: i2.HighlightCreateService }]; }, propDecorators: { page: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], pageHeight: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], pageWidth: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], rotate: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], zoom: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], container: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], saveSelection: [{
|
|
111
|
-
type: Output
|
|
112
|
-
}], highlight: [{
|
|
113
|
-
type: ViewChild,
|
|
114
|
-
args: ['boxHighlight', { static: false }]
|
|
115
|
-
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWhpZ2hsaWdodC1jcmVhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1jcmVhdGUvYm94LWhpZ2hsaWdodC1jcmVhdGUvYm94LWhpZ2hsaWdodC1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1jcmVhdGUvYm94LWhpZ2hsaWdodC1jcmVhdGUvYm94LWhpZ2hsaWdodC1jcmVhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBVWxDLE1BQU0sT0FBTywyQkFBMkI7SUE2QnRDLFlBQTZCLGFBQWtDLEVBQzVDLGdCQUF3QztRQUQ5QixrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDNUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQXJCakQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBNkMsQ0FBQztRQUl4RixlQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEIsZUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBVWhCLG9CQUFlLEdBQUcsTUFBTSxDQUFDO1FBR2pCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUdvQixDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMs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QUN6QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7NElBdEhVLDJCQUEyQjtnSUFBM0IsMkJBQTJCLDJWQ1h4Qyxra0JBZ0JBOzRGRExhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx5QkFBeUI7K0lBSzFCLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBRXVDLFNBQVM7c0JBQXRELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi90b29sYmFyL3Rvb2xiYXIubW9kdWxlJztcbmltcG9ydCB7IFJlY3RhbmdsZSB9IGZyb20gJy4uLy4uL2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVjdGFuZ2xlLm1vZGVsJztcbmltcG9ydCB7IEhpZ2hsaWdodENyZWF0ZVNlcnZpY2UgfSBmcm9tICcuLi9oaWdobGlnaHQtY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWJveC1oaWdobGlnaHQtY3JlYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JveC1oaWdobGlnaHQtY3JlYXRlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQm94SGlnaGxpZ2h0Q3JlYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHBhZ2U6IG51bWJlcjtcbiAgQElucHV0KCkgcGFnZUhlaWdodDogbnVtYmVyO1xuICBASW5wdXQoKSBwYWdlV2lkdGg6IG51bWJlcjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBJbnB1dCgpIHpvb206IG51bWJlcjtcbiAgQElucHV0KCkgY29udGFpbmVyOiB7IHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIgfTtcblxuICBAT3V0cHV0KCkgc2F2ZVNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyByZWN0YW5nbGVzOiBSZWN0YW5nbGVbXSwgcGFnZTogbnVtYmVyIH0+KCk7XG5cbiAgQFZpZXdDaGlsZCgnYm94SGlnaGxpZ2h0JywgeyBzdGF0aWM6IGZhbHNlIH0pIGhpZ2hsaWdodDogRWxlbWVudFJlZjtcblxuICBkcmF3U3RhcnRYID0gLTE7XG4gIGRyYXdTdGFydFkgPSAtMTtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGRpc3BsYXk6IHN0cmluZztcbiAgZHJhd01vZGU6IGJvb2xlYW47XG4gIGRlZmF1bHRIZWlnaHQ6IHN0cmluZztcbiAgZGVmYXVsdFdpZHRoOiBzdHJpbmc7XG4gIHBvc2l0aW9uOiBzdHJpbmc7XG4gIGJhY2tncm91bmRDb2xvciA9ICdub25lJztcbiAgd2hvbGVQYWdlOiBib29sZWFuO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBoaWdobGlnaHRTZXJ2aWNlOiBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuZHJhd01vZGVTdWJqZWN0LnN1YnNjcmliZShkcmF3TW9kZSA9PiB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEhlaWdodCA9IGRyYXdNb2RlID8gJzEwMCUnIDogJzBweCc7XG4gICAgICAgIHRoaXMuZGVmYXVsdFdpZHRoID0gZHJhd01vZGUgPyAnMTAwJScgOiAnMHB4JztcbiAgICAgIH0pLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdFdob2xlUGFnZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLndob2xlUGFnZSA9IHRydWU7XG4gICAgICB9KVxuICAgIF07XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4ge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICBpbml0SGlnaGxpZ2h0KHsgb2Zmc2V0WCwgb2Zmc2V0WSB9KSB7XG4gICAgaWYgKHRoaXMud2hvbGVQYWdlKSB7XG4gICAgICB0aGlzLmhpZ2hsaWdodFBhZ2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPSAneWVsbG93JztcbiAgICB0aGlzLmRyYXdTdGFydFggPSBvZmZzZXRYO1xuICAgIHRoaXMuZHJhd1N0YXJ0WSA9IG9mZnNldFk7XG5cbiAgICB0aGlzLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgIHRoaXMuaGVpZ2h0ID0gNTA7XG4gICAgdGhpcy53aWR0aCA9IDUwO1xuXG4gICAgdGhpcy50b3AgPSB0aGlzLmRyYXdTdGFydFk7XG4gICAgdGhpcy5sZWZ0ID0gdGhpcy5kcmF3U3RhcnRYO1xuXG4gICAgc3dpdGNoICh0aGlzLnJvdGF0ZSkge1xuICAgICAgY2FzZSA5MDpcbiAgICAgICAgdGhpcy50b3AgPSB0aGlzLmRyYXdTdGFydFkgLSB0aGlzLmhlaWdodDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDE4MDpcbiAgICAgICAgdGhpcy50b3AgPSB0aGlzLmRyYXdTdGFydFkgLSB0aGlzLmhlaWdodDtcbiAgICAgICAgdGhpcy5sZWZ0ID0gdGhpcy5kcmF3U3RhcnRYIC0gdGhpcy53aWR0aDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI3MDpcbiAgICAgICAgdGhpcy5sZWZ0ID0gdGhpcy5kcmF3U3RhcnRYIC0gdGhpcy53aWR0aDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlSGlnaGxpZ2h0KHsgY3VycmVudFRhcmdldCwgY2xpZW50WCwgY2xpZW50WSB9KSB7XG4gICAgY29uc3QgcmVjdCA9IGN1cnJlbnRUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICBvZmZzZXRYID0gY2xpZW50WCAtIHJlY3QubGVmdCxcbiAgICAgIG9mZnNldFkgPSBjbGllbnRZIC0gcmVjdC50b3A7XG4gICAgaWYgKHRoaXMuZHJhd1N0YXJ0WCA+IDAgJiYgdGhpcy5kcmF3U3RhcnRZID4gMCkge1xuICAgICAgdGhpcy5oZWlnaHQgPSBNYXRoLmFicyhvZmZzZXRZIC0gdGhpcy5kcmF3U3RhcnRZKTtcbiAgICAgIHRoaXMud2lkdGggPSBNYXRoLmFicyhvZmZzZXRYIC0gdGhpcy5kcmF3U3RhcnRYKTtcbiAgICAgIHRoaXMudG9wID0gTWF0aC5taW4ob2Zmc2V0WSwgdGhpcy5kcmF3U3RhcnRZKTtcbiAgICAgIHRoaXMubGVmdCA9IE1hdGgubWluKG9mZnNldFgsIHRoaXMuZHJhd1N0YXJ0WCk7XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlSGlnaGxpZ2h0KCkge1xuICAgIGlmICh0aGlzLmhlaWdodCAvIHRoaXMuem9vbSA+IDUgfHwgdGhpcy53aWR0aCAvIHRoaXMuem9vbSA+IDUpIHtcbiAgICAgIGxldCByZWN0YW5nbGUgPSB0aGlzLmhpZ2hsaWdodFNlcnZpY2VcbiAgICAgICAgLmFwcGx5Um90YXRpb24odGhpcy5wYWdlSGVpZ2h0LCB0aGlzLnBhZ2VXaWR0aCwgdGhpcy5oZWlnaHQsIHRoaXMud2lkdGgsIHRoaXMudG9wLCB0aGlzLmxlZnQsIHRoaXMucm90YXRlLCB0aGlzLnpvb20pO1xuICAgICAgcmVjdGFuZ2xlID0geyBpZDogdXVpZCgpLCAuLi5yZWN0YW5nbGUgfSBhcyBhbnk7XG4gICAgICB0aGlzLnNhdmVTZWxlY3Rpb24uZW1pdCh7IHJlY3RhbmdsZXM6IFtyZWN0YW5nbGVdLCBwYWdlOiB0aGlzLnBhZ2UgfSk7XG4gICAgICB0aGlzLnJlc2V0SGlnaGxpZ2h0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldEhpZ2hsaWdodCgpIHtcbiAgICB0aGlzLmRyYXdTdGFydFggPSAtMTtcbiAgICB0aGlzLmRyYXdTdGFydFkgPSAtMTtcbiAgICB0aGlzLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgdGhpcy53aWR0aCA9IDA7XG4gICAgdGhpcy5oZWlnaHQgPSAwO1xuICAgIHRoaXMud2hvbGVQYWdlID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGhpZ2hsaWdodFBhZ2UoKSB7XG4gICAgdGhpcy5oZWlnaHQgPSB0aGlzLnBhZ2VIZWlnaHQ7XG4gICAgdGhpcy53aWR0aCA9IHRoaXMucGFnZVdpZHRoO1xuICAgIHRoaXMudG9wID0gMDtcbiAgICB0aGlzLmxlZnQgPSAwO1xuICAgIHRoaXMuY3JlYXRlSGlnaGxpZ2h0KCk7XG4gIH1cbn1cbiIsIjxkaXYgW3N0eWxlLmhlaWdodF09XCJkZWZhdWx0SGVpZ2h0XCJcbiAgICAgW3N0eWxlLndpZHRoXT1cImRlZmF1bHRXaWR0aFwiXG4gICAgIChtb3VzZWRvd24pPVwiaW5pdEhpZ2hsaWdodCgkZXZlbnQpXCJcbiAgICAgKG1vdXNlbW92ZSk9XCJ1cGRhdGVIaWdobGlnaHQoJGV2ZW50KVwiXG4gICAgIChtb3VzZXVwKT1cImNyZWF0ZUhpZ2hsaWdodCgpXCI+XG4gIDxkaXYgI2JveEhpZ2hsaWdodFxuICAgICBjbGFzcz1cImJveC1oaWdobGlnaHRcIlxuICAgICBbc3R5bGUuZGlzcGxheV09XCJkaXNwbGF5XCJcbiAgICAgW3N0eWxlLnBvc2l0aW9uXT1cInBvc2l0aW9uXCJcbiAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmFja2dyb3VuZENvbG9yXCJcbiAgICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHQgPyBoZWlnaHQgKyAncHgnIDogJzEwMCUnXCJcbiAgICAgW3N0eWxlLndpZHRoXT1cIndpZHRoID8gd2lkdGggKyAncHgnIDogJzEwMCUnXCJcbiAgICAgW3N0eWxlLnRvcF09XCJ0b3AgKyAncHgnXCJcbiAgICAgW3N0eWxlLmxlZnRdPVwibGVmdCArICdweCdcIj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener } from '@angular/core';
|
|
2
|
-
import { v4 as uuid } from 'uuid';
|
|
3
|
-
import * as fromDocument from '../../../../store/selectors/document.selectors';
|
|
4
|
-
import * as fromAnnotationActions from '../../../../store/actions/annotation.actions';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../../../toolbar/toolbar.module";
|
|
7
|
-
import * as i2 from "../../../../viewers/viewer-event.service";
|
|
8
|
-
import * as i3 from "./highlight-create.service";
|
|
9
|
-
import * as i4 from "@ngrx/store";
|
|
10
|
-
export class HighlightCreateDirective {
|
|
11
|
-
constructor(element, toolbarEvents, viewerEvents, highlightService, store) {
|
|
12
|
-
this.element = element;
|
|
13
|
-
this.toolbarEvents = toolbarEvents;
|
|
14
|
-
this.viewerEvents = viewerEvents;
|
|
15
|
-
this.highlightService = highlightService;
|
|
16
|
-
this.store = store;
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
this.$subscription = this.store.select(fromDocument.getPages).subscribe((pages) => {
|
|
20
|
-
if (pages[1]) {
|
|
21
|
-
this.allPages = pages;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
ngOnDestroy() {
|
|
26
|
-
if (this.$subscription) {
|
|
27
|
-
this.$subscription.unsubscribe();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
onMouseUp(mouseEvent) {
|
|
31
|
-
const pageElement = mouseEvent.target.offsetParent.offsetParent;
|
|
32
|
-
const page = parseInt(pageElement.getAttribute('data-page-number'), 10);
|
|
33
|
-
if (this.toolbarEvents.highlightModeSubject.getValue()) {
|
|
34
|
-
const rectangles = this.getRectangles(mouseEvent, page);
|
|
35
|
-
this.viewerEvents.textSelected({ page, rectangles });
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
onPdfViewerClick(event) {
|
|
39
|
-
this.store.dispatch(new fromAnnotationActions.SelectedAnnotation({
|
|
40
|
-
annotationId: '',
|
|
41
|
-
selected: false,
|
|
42
|
-
editable: false,
|
|
43
|
-
}));
|
|
44
|
-
this.viewerEvents.clearCtxToolbar();
|
|
45
|
-
}
|
|
46
|
-
getRectangles(event, page) {
|
|
47
|
-
this.pageHeight = this.allPages[page].styles.height;
|
|
48
|
-
this.pageWidth = this.allPages[page].styles.width;
|
|
49
|
-
this.zoom = parseFloat(this.allPages[page].scaleRotation.scale);
|
|
50
|
-
this.rotate = parseInt(this.allPages[page].scaleRotation.rotation, 10);
|
|
51
|
-
const selection = window.getSelection();
|
|
52
|
-
if (selection) {
|
|
53
|
-
const localElement = event.target;
|
|
54
|
-
this.removeEnhancedTextModeStyling(localElement);
|
|
55
|
-
if (selection.rangeCount && !selection.isCollapsed) {
|
|
56
|
-
const range = selection.getRangeAt(0).cloneRange();
|
|
57
|
-
const clientRects = range.getClientRects();
|
|
58
|
-
if (clientRects) {
|
|
59
|
-
const parentRect = localElement.parentElement.getBoundingClientRect();
|
|
60
|
-
const selectionRectangles = [];
|
|
61
|
-
for (let i = 0; i < clientRects.length; i++) {
|
|
62
|
-
const selectionRectangle = this.createTextRectangle(clientRects[i], parentRect);
|
|
63
|
-
const findSelecttionRectangle = selectionRectangles.find((rect) => rect.width === selectionRectangle.width && rect.x === selectionRectangle.x);
|
|
64
|
-
if (!findSelecttionRectangle) {
|
|
65
|
-
selectionRectangles.push(selectionRectangle);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return selectionRectangles;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
createTextRectangle(rect, parentRect) {
|
|
74
|
-
const height = rect.bottom - rect.top;
|
|
75
|
-
const width = rect.right - rect.left;
|
|
76
|
-
const top = rect.top - parentRect.top;
|
|
77
|
-
const left = rect.left - parentRect.left;
|
|
78
|
-
let rectangle = this.highlightService.applyRotation(this.pageHeight, this.pageWidth, height, width, top, left, this.rotate, this.zoom);
|
|
79
|
-
rectangle = { id: uuid(), ...rectangle };
|
|
80
|
-
return rectangle;
|
|
81
|
-
}
|
|
82
|
-
removeEnhancedTextModeStyling(element) {
|
|
83
|
-
if (element.parentElement.children) {
|
|
84
|
-
for (let i = 0; i < element.parentElement.children.length; i++) {
|
|
85
|
-
const child = element.parentElement.children[i];
|
|
86
|
-
child.style.padding = '0';
|
|
87
|
-
// regex will be targeting the translate style in string
|
|
88
|
-
// e.g. scaleX(0.969918) translateX(-110.684px) translateY(-105.274px) will become scaleX(0.969918)
|
|
89
|
-
const translateCSSRegex = /translate[XYZ]\(-?\d*(\.\d+)?(px)?\)/g;
|
|
90
|
-
child.style.transform = child.style.transform.replace(translateCSSRegex, '').trim();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/** @nocollapse */ HighlightCreateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HighlightCreateDirective, deps: [{ token: i0.ElementRef }, { token: i1.ToolbarEventService }, { token: i2.ViewerEventService }, { token: i3.HighlightCreateService }, { token: i4.Store }], target: i0.ɵɵFactoryTarget.Directive });
|
|
96
|
-
/** @nocollapse */ HighlightCreateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: HighlightCreateDirective, selector: "[mvCreateTextHighlight]", host: { listeners: { "mouseup": "onMouseUp($event)", "mousedown": "onPdfViewerClick($event)" } }, ngImport: i0 });
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HighlightCreateDirective, decorators: [{
|
|
98
|
-
type: Directive,
|
|
99
|
-
args: [{
|
|
100
|
-
selector: '[mvCreateTextHighlight]'
|
|
101
|
-
}]
|
|
102
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ToolbarEventService }, { type: i2.ViewerEventService }, { type: i3.HighlightCreateService }, { type: i4.Store }]; }, propDecorators: { onMouseUp: [{
|
|
103
|
-
type: HostListener,
|
|
104
|
-
args: ['mouseup', ['$event']]
|
|
105
|
-
}], onPdfViewerClick: [{
|
|
106
|
-
type: HostListener,
|
|
107
|
-
args: ['mousedown', ['$event']]
|
|
108
|
-
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LWNyZWF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU9sQyxPQUFPLEtBQUssWUFBWSxNQUFNLGdEQUFnRCxDQUFDO0FBRS9FLE9BQU8sS0FBSyxxQkFBcUIsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7O0FBTXRGLE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDVSxPQUFnQyxFQUNoQyxhQUFrQyxFQUNsQyxZQUFnQyxFQUNoQyxnQkFBd0MsRUFDeEMsS0FBMEM7UUFKMUMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBQ3hDLFVBQUssR0FBTCxLQUFLLENBQXFDO0lBQ2hELENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDaEYsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNM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TUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM5RCxNQUFNLEtBQUssR0FBZ0IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRTdELEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztnQkFDMUIsd0RBQXdEO2dCQUN4RCxtR0FBbUc7Z0JBQ25HLE1BQU0saUJBQWlCLEdBQUcsdUNBQXVDLENBQUM7Z0JBQ2xFLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNyRjtTQUNGO0lBQ0gsQ0FBQzs7eUlBeEhVLHdCQUF3Qjs2SEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtpQkFDcEM7Nk5BaUNDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBV25DLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbi12aWV3L3JlY3RhbmdsZS9yZWN0YW5nbGUubW9kZWwnO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXdlcnMvdmlld2VyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgZnJvbUFubm90YXRpb25BY3Rpb25zIGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IEhpZ2hsaWdodENyZWF0ZVNlcnZpY2UgfSBmcm9tICcuL2hpZ2hsaWdodC1jcmVhdGUuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttdkNyZWF0ZVRleHRIaWdobGlnaHRdJ1xufSlcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHRDcmVhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHBhZ2VIZWlnaHQ6IG51bWJlcjtcbiAgcGFnZVdpZHRoOiBudW1iZXI7XG4gIHpvb206IG51bWJlcjtcbiAgcm90YXRlOiBudW1iZXI7XG4gIGFsbFBhZ2VzOiBvYmplY3Q7XG5cbiAgJHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld2VyRXZlbnRzOiBWaWV3ZXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBoaWdobGlnaHRTZXJ2aWNlOiBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Bbm5vdGF0aW9uU2V0U3RhdGU+XG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uID0gdGhpcy5zdG9yZS5zZWxlY3QoZnJvbURvY3VtZW50LmdldFBhZ2VzKS5zdWJzY3JpYmUoKHBhZ2VzKSA9PiB7XG4gICAgICBpZiAocGFnZXNbMV0pIHtcbiAgICAgICAgdGhpcy5hbGxQYWdlcyA9IHBhZ2VzO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuJHN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4kc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2V1cCcsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VVcChtb3VzZUV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgY29uc3QgcGFnZUVsZW1lbnQgPSAoPEhUTUxFbGVtZW50Pihtb3VzZUV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkub2Zmc2V0UGFyZW50KS5vZmZzZXRQYXJlbnQ7XG4gICAgY29uc3QgcGFnZSA9IHBhcnNlSW50KHBhZ2VFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLW51bWJlcicpLCAxMCk7XG4gICAgaWYgKHRoaXMudG9vbGJhckV2ZW50cy5oaWdobGlnaHRNb2RlU3ViamVjdC5nZXRWYWx1ZSgpKSB7XG4gICAgICBjb25zdCByZWN0YW5nbGVzID0gdGhpcy5nZXRSZWN0YW5nbGVzKG1vdXNlRXZlbnQsIHBhZ2UpO1xuICAgICAgdGhpcy52aWV3ZXJFdmVudHMudGV4dFNlbGVjdGVkKHsgcGFnZSwgcmVjdGFuZ2xlcyB9KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBvblBkZlZpZXdlckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIG5ldyBmcm9tQW5ub3RhdGlvbkFjdGlvbnMuU2VsZWN0ZWRBbm5vdGF0aW9uKHtcbiAgICAgICAgYW5ub3RhdGlvbklkOiAnJyxcbiAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICBlZGl0YWJsZTogZmFsc2UsXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy52aWV3ZXJFdmVudHMuY2xlYXJDdHhUb29sYmFyKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlY3RhbmdsZXMoZXZlbnQ6IE1vdXNlRXZlbnQsIHBhZ2UpIHtcbiAgICB0aGlzLnBhZ2VIZWlnaHQgPSB0aGlzLmFsbFBhZ2VzW3BhZ2VdLnN0eWxlcy5oZWlnaHQ7XG4gICAgdGhpcy5wYWdlV2lkdGggPSB0aGlzLmFsbFBhZ2VzW3BhZ2VdLnN0eWxlcy53aWR0aDtcbiAgICB0aGlzLnpvb20gPSBwYXJzZUZsb2F0KHRoaXMuYWxsUGFnZXNbcGFnZV0uc2NhbGVSb3RhdGlvbi5zY2FsZSk7XG4gICAgdGhpcy5yb3RhdGUgPSBwYXJzZUludCh0aGlzLmFsbFBhZ2VzW3BhZ2VdLnNjYWxlUm90YXRpb24ucm90YXRpb24sIDEwKTtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9jYWxFbGVtZW50ID0gPEhUTUxFbGVtZW50PmV2ZW50LnRhcmdldDtcblxuICAgICAgdGhpcy5yZW1vdmVFbmhhbmNlZFRleHRNb2RlU3R5bGluZyhsb2NhbEVsZW1lbnQpO1xuXG4gICAgICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgJiYgIXNlbGVjdGlvbi5pc0NvbGxhcHNlZCkge1xuICAgICAgICBjb25zdCByYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmNsb25lUmFuZ2UoKTtcbiAgICAgICAgY29uc3QgY2xpZW50UmVjdHMgPSByYW5nZS5nZXRDbGllbnRSZWN0cygpO1xuXG4gICAgICAgIGlmIChjbGllbnRSZWN0cykge1xuXG4gICAgICAgICAgY29uc3QgcGFyZW50UmVjdCA9IGxvY2FsRWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGNvbnN0IHNlbGVjdGlvblJlY3RhbmdsZXM6IFJlY3RhbmdsZVtdID0gW107XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjbGllbnRSZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uUmVjdGFuZ2xlID0gdGhpcy5jcmVhdGVUZXh0UmVjdGFuZ2xlKGNsaWVudFJlY3RzW2ldLCBwYXJlbnRSZWN0KTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmRTZWxlY3R0aW9uUmVjdGFuZ2xlID0gc2VsZWN0aW9uUmVjdGFuZ2xlcy5maW5kKFxuICAgICAgICAgICAgICAocmVjdCkgPT4gcmVjdC53aWR0aCA9PT0gc2VsZWN0aW9uUmVjdGFuZ2xlLndpZHRoICYmIHJlY3QueCA9PT0gc2VsZWN0aW9uUmVjdGFuZ2xlLnhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIWZpbmRTZWxlY3R0aW9uUmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGlvblJlY3RhbmdsZXMucHVzaChzZWxlY3Rpb25SZWN0YW5nbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uUmVjdGFuZ2xlcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGV4dFJlY3RhbmdsZShyZWN0OiBhbnksIHBhcmVudFJlY3Q6IGFueSk6IFJlY3RhbmdsZSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gcmVjdC5ib3R0b20gLSByZWN0LnRvcDtcbiAgICBjb25zdCB3aWR0aCA9IHJlY3QucmlnaHQgLSByZWN0LmxlZnQ7XG4gICAgY29uc3QgdG9wID0gcmVjdC50b3AgLSBwYXJlbnRSZWN0LnRvcDtcbiAgICBjb25zdCBsZWZ0ID0gcmVjdC5sZWZ0IC0gcGFyZW50UmVjdC5sZWZ0O1xuXG4gICAgbGV0IHJlY3RhbmdsZSA9IHRoaXMuaGlnaGxpZ2h0U2VydmljZS5hcHBseVJvdGF0aW9uKFxuICAgICAgdGhpcy5wYWdlSGVpZ2h0LFxuICAgICAgdGhpcy5wYWdlV2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICB3aWR0aCxcbiAgICAgIHRvcCxcbiAgICAgIGxlZnQsXG4gICAgICB0aGlzLnJvdGF0ZSxcbiAgICAgIHRoaXMuem9vbVxuICAgICk7XG4gICAgcmVjdGFuZ2xlID0geyBpZDogdXVpZCgpLCAuLi5yZWN0YW5nbGUgfTtcblxuICAgIHJldHVybiByZWN0YW5nbGUgYXMgUmVjdGFuZ2xlO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVFbmhhbmNlZFRleHRNb2RlU3R5bGluZyhlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGlmIChlbGVtZW50LnBhcmVudEVsZW1lbnQuY2hpbGRyZW4pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudC5wYXJlbnRFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gPEhUTUxFbGVtZW50PmVsZW1lbnQucGFyZW50RWxlbWVudC5jaGlsZHJlbltpXTtcblxuICAgICAgICBjaGlsZC5zdHlsZS5wYWRkaW5nID0gJzAnO1xuICAgICAgICAvLyByZWdleCB3aWxsIGJlIHRhcmdldGluZyB0aGUgdHJhbnNsYXRlIHN0eWxlIGluIHN0cmluZ1xuICAgICAgICAvLyBlLmcuIHNjYWxlWCgwLjk2OTkxOCkgdHJhbnNsYXRlWCgtMTEwLjY4NHB4KSB0cmFuc2xhdGVZKC0xMDUuMjc0cHgpIHdpbGwgYmVjb21lIHNjYWxlWCgwLjk2OTkxOClcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlQ1NTUmVnZXggPSAvdHJhbnNsYXRlW1hZWl1cXCgtP1xcZCooXFwuXFxkKyk/KHB4KT9cXCkvZztcbiAgICAgICAgY2hpbGQuc3R5bGUudHJhbnNmb3JtID0gY2hpbGQuc3R5bGUudHJhbnNmb3JtLnJlcGxhY2UodHJhbnNsYXRlQ1NTUmVnZXgsICcnKS50cmltKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { select } from '@ngrx/store';
|
|
3
|
-
import * as fromActions from '../../store/actions/annotation.actions';
|
|
4
|
-
import * as fromSelectors from '../../store/selectors/annotation.selectors';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@ngrx/store";
|
|
7
|
-
import * as i2 from "../comment-set/comment/comment.service";
|
|
8
|
-
import * as i3 from "@angular/common";
|
|
9
|
-
import * as i4 from "./annotation-view/annotation-view.component";
|
|
10
|
-
export class AnnotationSetComponent {
|
|
11
|
-
constructor(store, commentService) {
|
|
12
|
-
this.store = store;
|
|
13
|
-
this.commentService = commentService;
|
|
14
|
-
this.annotations = [];
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
this.selectedAnnotation$ = this.store.pipe(select(fromSelectors.getSelectedAnnotation));
|
|
18
|
-
}
|
|
19
|
-
onAnnotationUpdate(annotation) {
|
|
20
|
-
this.store.dispatch(new fromActions.SaveAnnotation(annotation));
|
|
21
|
-
}
|
|
22
|
-
onAnnotationDelete(annotation) {
|
|
23
|
-
if (annotation.comments.length > 0) {
|
|
24
|
-
this.commentService.updateUnsavedCommentsStatus(annotation, false);
|
|
25
|
-
}
|
|
26
|
-
this.store.dispatch(new fromActions.DeleteAnnotation(annotation.id));
|
|
27
|
-
}
|
|
28
|
-
selectAnnotation(selectedAnnotation) {
|
|
29
|
-
this.store.dispatch(new fromActions.SelectedAnnotation(selectedAnnotation));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/** @nocollapse */ AnnotationSetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnotationSetComponent, deps: [{ token: i1.Store }, { token: i2.CommentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
/** @nocollapse */ AnnotationSetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AnnotationSetComponent, selector: "mv-annotation-set", inputs: { page: "page", annotations: "annotations", zoom: "zoom", rotate: "rotate", pageHeight: "pageHeight", pageWidth: "pageWidth" }, ngImport: i0, template: "<ng-container *ngFor=\"let annotation of annotations\">\n <mv-annotation [annotation]=\"annotation\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [selectedAnnoId]=\"selectedAnnotation$ | async\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n (update)=\"onAnnotationUpdate($event)\"\n (delete)=\"onAnnotationDelete($event)\"\n (annotationClick)=\"selectAnnotation($event)\">\n </mv-annotation>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.AnnotationViewComponent, selector: "mv-annotation", inputs: ["annotation", "zoom", "rotate", "selectedAnnoId", "pageHeight", "pageWidth"], outputs: ["update", "delete", "annotationClick"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnotationSetComponent, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{ selector: 'mv-annotation-set', template: "<ng-container *ngFor=\"let annotation of annotations\">\n <mv-annotation [annotation]=\"annotation\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [selectedAnnoId]=\"selectedAnnotation$ | async\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n (update)=\"onAnnotationUpdate($event)\"\n (delete)=\"onAnnotationDelete($event)\"\n (annotationClick)=\"selectAnnotation($event)\">\n </mv-annotation>\n</ng-container>\n" }]
|
|
37
|
-
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.CommentService }]; }, propDecorators: { page: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}], annotations: [{
|
|
40
|
-
type: Input
|
|
41
|
-
}], zoom: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], rotate: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], pageHeight: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], pageWidth: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbi1zZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1zZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1zZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFLekQsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEtBQUssV0FBVyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLE9BQU8sS0FBSyxhQUFhLE1BQU0sNENBQTRDLENBQUM7Ozs7OztBQU01RSxNQUFNLE9BQU8sc0JBQXNCO0lBV2pDLFlBQ1UsS0FBMEMsRUFDakMsY0FBOEI7UUFEdkMsVUFBSyxHQUFMLEtBQUssQ0FBcUM7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVnhDLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztJQVdyQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRU0sa0JBQWtCLENBQUMsVUFBc0I7UUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFVBQXNCO1FBQzlDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGdCQUFnQixDQUFDLGtCQUF1QztRQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQzs7dUlBakNVLHNCQUFzQjsySEFBdEIsc0JBQXNCLGlNQ2RuQyx5aUJBWUE7NEZERWEsc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNFLG1CQUFtQjt5SEFLcEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFubm90YXRpb24gfSBmcm9tICcuL2Fubm90YXRpb24tdmlldy9hbm5vdGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlbGVjdGlvbkFubm90YXRpb24gfSBmcm9tICcuLi9tb2RlbHMvZXZlbnQtc2VsZWN0Lm1vZGVsJztcbmltcG9ydCB7IENvbW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbWVudC1zZXQvY29tbWVudC9jb21tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tQWN0aW9ucyBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tU2VsZWN0b3JzIGZyb20gJy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9hbm5vdGF0aW9uLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWFubm90YXRpb24tc2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fubm90YXRpb24tc2V0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBbm5vdGF0aW9uU2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBwYWdlOiBudW1iZXI7XG4gIEBJbnB1dCgpIGFubm90YXRpb25zOiBBbm5vdGF0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgem9vbTogbnVtYmVyO1xuICBASW5wdXQoKSByb3RhdGU6IG51bWJlcjtcbiAgQElucHV0KCkgcGFnZUhlaWdodDogbnVtYmVyO1xuICBASW5wdXQoKSBwYWdlV2lkdGg6IG51bWJlcjtcblxuICBzZWxlY3RlZEFubm90YXRpb24kOiBPYnNlcnZhYmxlPFNlbGVjdGlvbkFubm90YXRpb24+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Bbm5vdGF0aW9uU2V0U3RhdGU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWVudFNlcnZpY2U6IENvbW1lbnRTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbiQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21TZWxlY3RvcnMuZ2V0U2VsZWN0ZWRBbm5vdGF0aW9uKSk7XG4gIH1cblxuICBwdWJsaWMgb25Bbm5vdGF0aW9uVXBkYXRlKGFubm90YXRpb246IEFubm90YXRpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5TYXZlQW5ub3RhdGlvbihhbm5vdGF0aW9uKSk7XG4gIH1cblxuICBwdWJsaWMgb25Bbm5vdGF0aW9uRGVsZXRlKGFubm90YXRpb246IEFubm90YXRpb24pIHtcbiAgICBpZiAoYW5ub3RhdGlvbi5jb21tZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNvbW1lbnRTZXJ2aWNlLnVwZGF0ZVVuc2F2ZWRDb21tZW50c1N0YXR1cyhhbm5vdGF0aW9uLCBmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21BY3Rpb25zLkRlbGV0ZUFubm90YXRpb24oYW5ub3RhdGlvbi5pZCkpO1xuICB9XG5cbiAgc2VsZWN0QW5ub3RhdGlvbihzZWxlY3RlZEFubm90YXRpb246IFNlbGVjdGlvbkFubm90YXRpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5TZWxlY3RlZEFubm90YXRpb24oc2VsZWN0ZWRBbm5vdGF0aW9uKSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFubm90YXRpb24gb2YgYW5ub3RhdGlvbnNcIj5cbiAgPG12LWFubm90YXRpb24gW2Fubm90YXRpb25dPVwiYW5ub3RhdGlvblwiXG4gICAgICAgICAgICAgICAgIFt6b29tXT1cInpvb21cIlxuICAgICAgICAgICAgICAgICBbcm90YXRlXT1cInJvdGF0ZVwiXG4gICAgICAgICAgICAgICAgIFtzZWxlY3RlZEFubm9JZF09XCJzZWxlY3RlZEFubm90YXRpb24kIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICBbcGFnZUhlaWdodF09XCJwYWdlSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgW3BhZ2VXaWR0aF09XCJwYWdlV2lkdGhcIlxuICAgICAgICAgICAgICAgICAodXBkYXRlKT1cIm9uQW5ub3RhdGlvblVwZGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGRlbGV0ZSk9XCJvbkFubm90YXRpb25EZWxldGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChhbm5vdGF0aW9uQ2xpY2spPVwic2VsZWN0QW5ub3RhdGlvbigkZXZlbnQpXCI+XG4gIDwvbXYtYW5ub3RhdGlvbj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
package/esm2020/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { v4 as uuid } from 'uuid';
|
|
3
|
-
import moment from 'moment-timezone';
|
|
4
|
-
import * as fromActions from '../../../store/actions/annotation.actions';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../../toolbar/toolbar-event.service";
|
|
7
|
-
import * as i2 from "@ngrx/store";
|
|
8
|
-
import * as i3 from "@angular/common";
|
|
9
|
-
import * as i4 from "./rectangle/rectangle.component";
|
|
10
|
-
import * as i5 from "../ctx-toolbar/ctx-toolbar.component";
|
|
11
|
-
export class AnnotationViewComponent {
|
|
12
|
-
set annotation(value) {
|
|
13
|
-
this.anno = { ...value };
|
|
14
|
-
}
|
|
15
|
-
set selectedAnnoId(selectedId) {
|
|
16
|
-
if (selectedId) {
|
|
17
|
-
const id = this.anno.id || this.anno.redactionId; // todo make it unique
|
|
18
|
-
this.selected = selectedId.annotationId ? (selectedId.annotationId === id) : false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
constructor(toolbarEvents, store) {
|
|
22
|
-
this.toolbarEvents = toolbarEvents;
|
|
23
|
-
this.store = store;
|
|
24
|
-
this.update = new EventEmitter();
|
|
25
|
-
this.delete = new EventEmitter();
|
|
26
|
-
this.annotationClick = new EventEmitter();
|
|
27
|
-
}
|
|
28
|
-
onSelect() {
|
|
29
|
-
const annotationId = this.anno.id || this.anno.redactionId;
|
|
30
|
-
this.annotationClick.emit({ annotationId, editable: false, selected: true });
|
|
31
|
-
}
|
|
32
|
-
onRectangleUpdate(rectangle) {
|
|
33
|
-
const annotation = { ...this.anno };
|
|
34
|
-
annotation.rectangles = annotation.rectangles.filter(r => r.id !== rectangle.id);
|
|
35
|
-
annotation.rectangles.push(rectangle);
|
|
36
|
-
this.update.emit(annotation);
|
|
37
|
-
}
|
|
38
|
-
deleteHighlight() {
|
|
39
|
-
this.delete.emit(this.anno);
|
|
40
|
-
}
|
|
41
|
-
addOrEditComment() {
|
|
42
|
-
if (this.anno.comments.length === 0) {
|
|
43
|
-
const comment = {
|
|
44
|
-
annotationId: this.anno.id,
|
|
45
|
-
content: '',
|
|
46
|
-
createdBy: this.anno.createdBy,
|
|
47
|
-
createdByDetails: undefined,
|
|
48
|
-
createdDate: moment.utc().tz('Europe/London').toISOString(),
|
|
49
|
-
id: uuid(),
|
|
50
|
-
lastModifiedBy: '',
|
|
51
|
-
lastModifiedByDetails: undefined,
|
|
52
|
-
lastModifiedDate: '',
|
|
53
|
-
tags: [],
|
|
54
|
-
page: null,
|
|
55
|
-
pages: {},
|
|
56
|
-
pageHeight: null,
|
|
57
|
-
selected: false,
|
|
58
|
-
editable: false
|
|
59
|
-
};
|
|
60
|
-
this.store.dispatch(new fromActions.AddOrEditComment(comment));
|
|
61
|
-
}
|
|
62
|
-
this.selected = true;
|
|
63
|
-
this.annotationClick.emit({ annotationId: this.anno.id, editable: true, selected: true });
|
|
64
|
-
this.toolbarEvents.toggleCommentsPanel(true);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/** @nocollapse */ AnnotationViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnotationViewComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
-
/** @nocollapse */ AnnotationViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AnnotationViewComponent, selector: "mv-annotation", inputs: { annotation: "annotation", zoom: "zoom", rotate: "rotate", selectedAnnoId: "selectedAnnoId", pageHeight: "pageHeight", pageWidth: "pageWidth" }, outputs: { update: "update", delete: "delete", annotationClick: "annotationClick" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div #container [tabindex]=\"anno.id\">\n <mv-ctx-toolbar *ngIf=\"selected\"\n [canDelete]=\"true\" [canComment]=\"true\"\n [rectangles]=\"anno.rectangles\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n (deleteHighlightEvent)=\"deleteHighlight()\"\n (addOrEditCommentEvent)=\"addOrEditComment()\">\n </mv-ctx-toolbar>\n <ng-container *ngFor=\"let rectangle of anno.rectangles\">\n <mv-anno-rectangle\n (selectEvent)=\"onSelect()\"\n (updateEvent)=\"onRectangleUpdate($event)\"\n [selected]=\"selected\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n [editable]=\"anno.rectangles.length <= 1\"\n [annoRect]=\"rectangle\"\n [color]=\"anno.color\">\n </mv-anno-rectangle>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.RectangleComponent, selector: "mv-anno-rectangle", inputs: ["color", "zoom", "rotate", "editable", "pageHeight", "pageWidth", "annoRect", "selected"], outputs: ["selectEvent", "updateEvent"] }, { kind: "component", type: i5.CtxToolbarComponent, selector: "mv-ctx-toolbar", inputs: ["zoom", "rotate", "pageHeight", "pageWidth", "canHighlight", "canBookmark", "canComment", "canDelete", "rectangles"], outputs: ["createHighlightEvent", "deleteHighlightEvent", "addOrEditCommentEvent", "createBookmarkEvent"] }] });
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AnnotationViewComponent, decorators: [{
|
|
70
|
-
type: Component,
|
|
71
|
-
args: [{ selector: 'mv-annotation', template: "<div #container [tabindex]=\"anno.id\">\n <mv-ctx-toolbar *ngIf=\"selected\"\n [canDelete]=\"true\" [canComment]=\"true\"\n [rectangles]=\"anno.rectangles\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n (deleteHighlightEvent)=\"deleteHighlight()\"\n (addOrEditCommentEvent)=\"addOrEditComment()\">\n </mv-ctx-toolbar>\n <ng-container *ngFor=\"let rectangle of anno.rectangles\">\n <mv-anno-rectangle\n (selectEvent)=\"onSelect()\"\n (updateEvent)=\"onRectangleUpdate($event)\"\n [selected]=\"selected\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [pageHeight]=\"pageHeight\"\n [pageWidth]=\"pageWidth\"\n [editable]=\"anno.rectangles.length <= 1\"\n [annoRect]=\"rectangle\"\n [color]=\"anno.color\">\n </mv-anno-rectangle>\n </ng-container>\n</div>\n" }]
|
|
72
|
-
}], ctorParameters: function () { return [{ type: i1.ToolbarEventService }, { type: i2.Store }]; }, propDecorators: { annotation: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], zoom: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], rotate: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], selectedAnnoId: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], pageHeight: [{
|
|
81
|
-
type: Input
|
|
82
|
-
}], pageWidth: [{
|
|
83
|
-
type: Input
|
|
84
|
-
}], update: [{
|
|
85
|
-
type: Output
|
|
86
|
-
}], delete: [{
|
|
87
|
-
type: Output
|
|
88
|
-
}], annotationClick: [{
|
|
89
|
-
type: Output
|
|
90
|
-
}], container: [{
|
|
91
|
-
type: ViewChild,
|
|
92
|
-
args: ['container', { static: false }]
|
|
93
|
-
}] } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbi12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9hbm5vdGF0aW9uLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L2Fubm90YXRpb24tdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdsQyxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUdyQyxPQUFPLEtBQUssV0FBVyxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7O0FBU3pFLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsSUFBYSxVQUFVLENBQUMsS0FBSztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBS0QsSUFBYSxjQUFjLENBQUMsVUFBb0M7UUFDOUQsSUFBSSxVQUFVLEVBQUU7WUFDZCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLHNCQUFzQjtZQUN4RSxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksS0FBSyxFQUFFLENB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QUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDTyxjQUFjO3NCQUExQixLQUFLO2dCQU1HLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRW9DLFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEFubm90YXRpb24gfSBmcm9tICcuL2Fubm90YXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi9yZWN0YW5nbGUvcmVjdGFuZ2xlLm1vZGVsJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21BY3Rpb25zIGZyb20gJy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IFNlbGVjdGlvbkFubm90YXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQtc2VsZWN0Lm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tZW50IH0gZnJvbSAnLi4vLi4vY29tbWVudC1zZXQvY29tbWVudC9jb21tZW50Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtYW5ub3RhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbm5vdGF0aW9uLXZpZXcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFubm90YXRpb25WaWV3Q29tcG9uZW50IHsgIC8vIHRvZG8gcmVuYW1lIHRoaXMgdG8gc2VsZWN0aW9uIHZldyBjXG5cbiAgQElucHV0KCkgc2V0IGFubm90YXRpb24odmFsdWUpIHtcbiAgICB0aGlzLmFubm8gPSB7IC4uLnZhbHVlIH07XG4gIH1cbiAgYW5ubzogQW5ub3RhdGlvbjtcbiAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHpvb206IG51bWJlcjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZEFubm9JZChzZWxlY3RlZElkOiB7IGFubm90YXRpb25JZDogc3RyaW5nIH0pIHtcbiAgICBpZiAoc2VsZWN0ZWRJZCkge1xuICAgICAgY29uc3QgaWQgPSB0aGlzLmFubm8uaWQgfHwgdGhpcy5hbm5vLnJlZGFjdGlvbklkOyAvLyB0b2RvIG1ha2UgaXQgdW5pcXVlXG4gICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWRJZC5hbm5vdGF0aW9uSWQgPyAoc2VsZWN0ZWRJZC5hbm5vdGF0aW9uSWQgPT09IGlkKSA6IGZhbHNlO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBwYWdlSGVpZ2h0OiBudW1iZXI7XG4gIEBJbnB1dCgpIHBhZ2VXaWR0aDogbnVtYmVyO1xuICBAT3V0cHV0KCkgdXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxBbm5vdGF0aW9uPigpO1xuICBAT3V0cHV0KCkgZGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxBbm5vdGF0aW9uPigpO1xuICBAT3V0cHV0KCkgYW5ub3RhdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25Bbm5vdGF0aW9uPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Bbm5vdGF0aW9uU2V0U3RhdGU+XG4gICkgeyB9XG5cbiAgcHVibGljIG9uU2VsZWN0KCkge1xuICAgIGNvbnN0IGFubm90YXRpb25JZCA9IHRoaXMuYW5uby5pZCB8fCB0aGlzLmFubm8ucmVkYWN0aW9uSWQ7XG4gICAgdGhpcy5hbm5vdGF0aW9uQ2xpY2suZW1pdCh7IGFubm90YXRpb25JZCwgZWRpdGFibGU6IGZhbHNlLCBzZWxlY3RlZDogdHJ1ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlY3RhbmdsZVVwZGF0ZShyZWN0YW5nbGU6IFJlY3RhbmdsZSkge1xuICAgIGNvbnN0IGFubm90YXRpb24gPSB7IC4uLnRoaXMuYW5ubyB9O1xuICAgIGFubm90YXRpb24ucmVjdGFuZ2xlcyA9IGFubm90YXRpb24ucmVjdGFuZ2xlcy5maWx0ZXIociA9PiByLmlkICE9PSByZWN0YW5nbGUuaWQpO1xuICAgIGFubm90YXRpb24ucmVjdGFuZ2xlcy5wdXNoKHJlY3RhbmdsZSk7XG4gICAgdGhpcy51cGRhdGUuZW1pdChhbm5vdGF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVIaWdobGlnaHQoKSB7XG4gICAgdGhpcy5kZWxldGUuZW1pdCh0aGlzLmFubm8pO1xuICB9XG5cbiAgcHVibGljIGFkZE9yRWRpdENvbW1lbnQoKSB7XG4gICAgaWYgKHRoaXMuYW5uby5jb21tZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IGNvbW1lbnQ6IENvbW1lbnQgPSB7XG4gICAgICAgIGFubm90YXRpb25JZDogdGhpcy5hbm5vLmlkLFxuICAgICAgICBjb250ZW50OiAnJyxcbiAgICAgICAgY3JlYXRlZEJ5OiB0aGlzLmFubm8uY3JlYXRlZEJ5LFxuICAgICAgICBjcmVhdGVkQnlEZXRhaWxzOiB1bmRlZmluZWQsXG4gICAgICAgIGNyZWF0ZWREYXRlOiBtb21lbnQudXRjKCkudHooJ0V1cm9wZS9Mb25kb24nKS50b0lTT1N0cmluZygpLFxuICAgICAgICBpZDogdXVpZCgpLFxuICAgICAgICBsYXN0TW9kaWZpZWRCeTogJycsXG4gICAgICAgIGxhc3RNb2RpZmllZEJ5RGV0YWlsczogdW5kZWZpbmVkLFxuICAgICAgICBsYXN0TW9kaWZpZWREYXRlOiAnJyxcbiAgICAgICAgdGFnczogW10sXG4gICAgICAgIHBhZ2U6IG51bGwsXG4gICAgICAgIHBhZ2VzOiB7fSxcbiAgICAgICAgcGFnZUhlaWdodDogbnVsbCxcbiAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICBlZGl0YWJsZTogZmFsc2VcbiAgICAgIH07XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5BZGRPckVkaXRDb21tZW50KGNvbW1lbnQpKTtcblxuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLmFubm90YXRpb25DbGljay5lbWl0KHsgYW5ub3RhdGlvbklkOiB0aGlzLmFubm8uaWQsIGVkaXRhYmxlOiB0cnVlLCBzZWxlY3RlZDogdHJ1ZSB9KTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMudG9nZ2xlQ29tbWVudHNQYW5lbCh0cnVlKTtcbiAgfVxufVxuIiwiPGRpdiAjY29udGFpbmVyIFt0YWJpbmRleF09XCJhbm5vLmlkXCI+XG4gIDxtdi1jdHgtdG9vbGJhciAqbmdJZj1cInNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgIFtjYW5EZWxldGVdPVwidHJ1ZVwiIFtjYW5Db21tZW50XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW3JlY3RhbmdsZXNdPVwiYW5uby5yZWN0YW5nbGVzXCJcbiAgICAgICAgICAgICAgICAgIFt6b29tXT1cInpvb21cIlxuICAgICAgICAgICAgICAgICAgW3JvdGF0ZV09XCJyb3RhdGVcIlxuICAgICAgICAgICAgICAgICAgW3BhZ2VIZWlnaHRdPVwicGFnZUhlaWdodFwiXG4gICAgICAgICAgICAgICAgICBbcGFnZVdpZHRoXT1cInBhZ2VXaWR0aFwiXG4gICAgICAgICAgICAgICAgICAoZGVsZXRlSGlnaGxpZ2h0RXZlbnQpPVwiZGVsZXRlSGlnaGxpZ2h0KClcIlxuICAgICAgICAgICAgICAgICAgKGFkZE9yRWRpdENvbW1lbnRFdmVudCk9XCJhZGRPckVkaXRDb21tZW50KClcIj5cbiAgPC9tdi1jdHgtdG9vbGJhcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVjdGFuZ2xlIG9mIGFubm8ucmVjdGFuZ2xlc1wiPlxuICAgIDxtdi1hbm5vLXJlY3RhbmdsZVxuICAgICAgKHNlbGVjdEV2ZW50KT1cIm9uU2VsZWN0KClcIlxuICAgICAgKHVwZGF0ZUV2ZW50KT1cIm9uUmVjdGFuZ2xlVXBkYXRlKCRldmVudClcIlxuICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgICAgIFt6b29tXT1cInpvb21cIlxuICAgICAgW3JvdGF0ZV09XCJyb3RhdGVcIlxuICAgICAgW3BhZ2VIZWlnaHRdPVwicGFnZUhlaWdodFwiXG4gICAgICBbcGFnZVdpZHRoXT1cInBhZ2VXaWR0aFwiXG4gICAgICBbZWRpdGFibGVdPVwiYW5uby5yZWN0YW5nbGVzLmxlbmd0aCA8PSAxXCJcbiAgICAgIFthbm5vUmVjdF09XCJyZWN0YW5nbGVcIlxuICAgICAgW2NvbG9yXT1cImFubm8uY29sb3JcIj5cbiAgICA8L212LWFubm8tcmVjdGFuZ2xlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
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==
|