@vertexvis/viewer 0.18.2-testing.0 → 0.18.2-testing.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/dist/cjs/index-b99cd335.js +126 -1
- package/dist/esm/index-fd7d7b68.js +126 -1
- package/package.json +7 -7
- package/dist/components/_commonjsHelpers.js +0 -41
- package/dist/components/_commonjsHelpers.js.map +0 -1
- package/dist/components/browser.esm.js +0 -3173
- package/dist/components/browser.esm.js.map +0 -1
- package/dist/components/bundle.esm.js +0 -2250
- package/dist/components/bundle.esm.js.map +0 -1
- package/dist/components/bundle.esm2.js +0 -39740
- package/dist/components/bundle.esm2.js.map +0 -1
- package/dist/components/config.js +0 -81
- package/dist/components/config.js.map +0 -1
- package/dist/components/controller.js +0 -7627
- package/dist/components/controller.js.map +0 -1
- package/dist/components/controller2.js +0 -124
- package/dist/components/controller2.js.map +0 -1
- package/dist/components/controller3.js +0 -111
- package/dist/components/controller3.js.map +0 -1
- package/dist/components/cursors.js +0 -110
- package/dist/components/cursors.js.map +0 -1
- package/dist/components/dom.js +0 -43
- package/dist/components/dom.js.map +0 -1
- package/dist/components/dom2.js +0 -10
- package/dist/components/dom2.js.map +0 -1
- package/dist/components/elementRectObserver.js +0 -25
- package/dist/components/elementRectObserver.js.map +0 -1
- package/dist/components/entities.js +0 -179
- package/dist/components/entities.js.map +0 -1
- package/dist/components/errors.js +0 -80
- package/dist/components/errors.js.map +0 -1
- package/dist/components/events.js +0 -11
- package/dist/components/events.js.map +0 -1
- package/dist/components/index.d.ts +0 -26
- package/dist/components/index.js +0 -365
- package/dist/components/index.js.map +0 -1
- package/dist/components/index2.js +0 -63
- package/dist/components/index2.js.map +0 -1
- package/dist/components/interactions.js +0 -236
- package/dist/components/interactions.js.map +0 -1
- package/dist/components/mapper.js +0 -9811
- package/dist/components/mapper.js.map +0 -1
- package/dist/components/markup.js +0 -33
- package/dist/components/markup.js.map +0 -1
- package/dist/components/model.js +0 -134
- package/dist/components/model.js.map +0 -1
- package/dist/components/model2.js +0 -157
- package/dist/components/model2.js.map +0 -1
- package/dist/components/overlays.js +0 -76
- package/dist/components/overlays.js.map +0 -1
- package/dist/components/png-decoder.js +0 -2405
- package/dist/components/png-decoder.js.map +0 -1
- package/dist/components/regl-component.js +0 -12582
- package/dist/components/regl-component.js.map +0 -1
- package/dist/components/results.js +0 -24
- package/dist/components/results.js.map +0 -1
- package/dist/components/row.js +0 -32
- package/dist/components/row.js.map +0 -1
- package/dist/components/scene-tree-search.js +0 -146
- package/dist/components/scene-tree-search.js.map +0 -1
- package/dist/components/scene-tree-table-layout.js +0 -928
- package/dist/components/scene-tree-table-layout.js.map +0 -1
- package/dist/components/scene-tree-toolbar.js +0 -35
- package/dist/components/scene-tree-toolbar.js.map +0 -1
- package/dist/components/scene.js +0 -1508
- package/dist/components/scene.js.map +0 -1
- package/dist/components/stencil.js +0 -25
- package/dist/components/stencil.js.map +0 -1
- package/dist/components/streamAttributes.js +0 -40833
- package/dist/components/streamAttributes.js.map +0 -1
- package/dist/components/templates.js +0 -36
- package/dist/components/templates.js.map +0 -1
- package/dist/components/tslib.es6.js +0 -125
- package/dist/components/tslib.es6.js.map +0 -1
- package/dist/components/vertex-scene-tree-search.d.ts +0 -11
- package/dist/components/vertex-scene-tree-search.js +0 -11
- package/dist/components/vertex-scene-tree-search.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-cell.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-cell.js +0 -209
- package/dist/components/vertex-scene-tree-table-cell.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-column.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-column.js +0 -42
- package/dist/components/vertex-scene-tree-table-column.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-header.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-header.js +0 -38
- package/dist/components/vertex-scene-tree-table-header.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-layout.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-layout.js +0 -11
- package/dist/components/vertex-scene-tree-table-layout.js.map +0 -1
- package/dist/components/vertex-scene-tree-table-resize-divider.d.ts +0 -11
- package/dist/components/vertex-scene-tree-table-resize-divider.js +0 -57
- package/dist/components/vertex-scene-tree-table-resize-divider.js.map +0 -1
- package/dist/components/vertex-scene-tree-toolbar-group.d.ts +0 -11
- package/dist/components/vertex-scene-tree-toolbar-group.js +0 -38
- package/dist/components/vertex-scene-tree-toolbar-group.js.map +0 -1
- package/dist/components/vertex-scene-tree-toolbar.d.ts +0 -11
- package/dist/components/vertex-scene-tree-toolbar.js +0 -11
- package/dist/components/vertex-scene-tree-toolbar.js.map +0 -1
- package/dist/components/vertex-scene-tree.d.ts +0 -11
- package/dist/components/vertex-scene-tree.js +0 -803
- package/dist/components/vertex-scene-tree.js.map +0 -1
- package/dist/components/vertex-viewer-box-query-tool.d.ts +0 -11
- package/dist/components/vertex-viewer-box-query-tool.js +0 -352
- package/dist/components/vertex-viewer-box-query-tool.js.map +0 -1
- package/dist/components/vertex-viewer-button.d.ts +0 -11
- package/dist/components/vertex-viewer-button.js +0 -11
- package/dist/components/vertex-viewer-button.js.map +0 -1
- package/dist/components/vertex-viewer-default-toolbar.d.ts +0 -11
- package/dist/components/vertex-viewer-default-toolbar.js +0 -99
- package/dist/components/vertex-viewer-default-toolbar.js.map +0 -1
- package/dist/components/vertex-viewer-dom-element.d.ts +0 -11
- package/dist/components/vertex-viewer-dom-element.js +0 -11
- package/dist/components/vertex-viewer-dom-element.js.map +0 -1
- package/dist/components/vertex-viewer-dom-group.d.ts +0 -11
- package/dist/components/vertex-viewer-dom-group.js +0 -11
- package/dist/components/vertex-viewer-dom-group.js.map +0 -1
- package/dist/components/vertex-viewer-dom-renderer.d.ts +0 -11
- package/dist/components/vertex-viewer-dom-renderer.js +0 -11
- package/dist/components/vertex-viewer-dom-renderer.js.map +0 -1
- package/dist/components/vertex-viewer-hit-result-indicator.d.ts +0 -11
- package/dist/components/vertex-viewer-hit-result-indicator.js +0 -335
- package/dist/components/vertex-viewer-hit-result-indicator.js.map +0 -1
- package/dist/components/vertex-viewer-icon.d.ts +0 -11
- package/dist/components/vertex-viewer-icon.js +0 -11
- package/dist/components/vertex-viewer-icon.js.map +0 -1
- package/dist/components/vertex-viewer-layer.d.ts +0 -11
- package/dist/components/vertex-viewer-layer.js +0 -11
- package/dist/components/vertex-viewer-layer.js.map +0 -1
- package/dist/components/vertex-viewer-markup-arrow.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-arrow.js +0 -11
- package/dist/components/vertex-viewer-markup-arrow.js.map +0 -1
- package/dist/components/vertex-viewer-markup-circle.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-circle.js +0 -11
- package/dist/components/vertex-viewer-markup-circle.js.map +0 -1
- package/dist/components/vertex-viewer-markup-freeform.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-freeform.js +0 -11
- package/dist/components/vertex-viewer-markup-freeform.js.map +0 -1
- package/dist/components/vertex-viewer-markup-tool.d.ts +0 -11
- package/dist/components/vertex-viewer-markup-tool.js +0 -257
- package/dist/components/vertex-viewer-markup-tool.js.map +0 -1
- package/dist/components/vertex-viewer-markup.d.ts +0 -11
- package/dist/components/vertex-viewer-markup.js +0 -362
- package/dist/components/vertex-viewer-markup.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-details.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-details.js +0 -307
- package/dist/components/vertex-viewer-measurement-details.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-distance.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-distance.js +0 -1067
- package/dist/components/vertex-viewer-measurement-distance.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-line.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-line.js +0 -11
- package/dist/components/vertex-viewer-measurement-line.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-overlays.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-overlays.js +0 -11
- package/dist/components/vertex-viewer-measurement-overlays.js.map +0 -1
- package/dist/components/vertex-viewer-measurement-precise.d.ts +0 -11
- package/dist/components/vertex-viewer-measurement-precise.js +0 -362
- package/dist/components/vertex-viewer-measurement-precise.js.map +0 -1
- package/dist/components/vertex-viewer-pin-group.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-group.js +0 -11
- package/dist/components/vertex-viewer-pin-group.js.map +0 -1
- package/dist/components/vertex-viewer-pin-label-line.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-label-line.js +0 -11
- package/dist/components/vertex-viewer-pin-label-line.js.map +0 -1
- package/dist/components/vertex-viewer-pin-label.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-label.js +0 -11
- package/dist/components/vertex-viewer-pin-label.js.map +0 -1
- package/dist/components/vertex-viewer-pin-tool.d.ts +0 -11
- package/dist/components/vertex-viewer-pin-tool.js +0 -430
- package/dist/components/vertex-viewer-pin-tool.js.map +0 -1
- package/dist/components/vertex-viewer-spinner.d.ts +0 -11
- package/dist/components/vertex-viewer-spinner.js +0 -11
- package/dist/components/vertex-viewer-spinner.js.map +0 -1
- package/dist/components/vertex-viewer-toolbar-group.d.ts +0 -11
- package/dist/components/vertex-viewer-toolbar-group.js +0 -11
- package/dist/components/vertex-viewer-toolbar-group.js.map +0 -1
- package/dist/components/vertex-viewer-toolbar.d.ts +0 -11
- package/dist/components/vertex-viewer-toolbar.js +0 -11
- package/dist/components/vertex-viewer-toolbar.js.map +0 -1
- package/dist/components/vertex-viewer-transform-widget.d.ts +0 -11
- package/dist/components/vertex-viewer-transform-widget.js +0 -838
- package/dist/components/vertex-viewer-transform-widget.js.map +0 -1
- package/dist/components/vertex-viewer-view-cube.d.ts +0 -11
- package/dist/components/vertex-viewer-view-cube.js +0 -270
- package/dist/components/vertex-viewer-view-cube.js.map +0 -1
- package/dist/components/vertex-viewer.d.ts +0 -11
- package/dist/components/vertex-viewer.js +0 -3543
- package/dist/components/vertex-viewer.js.map +0 -1
- package/dist/components/viewer-button.js +0 -35
- package/dist/components/viewer-button.js.map +0 -1
- package/dist/components/viewer-dom-element.js +0 -250
- package/dist/components/viewer-dom-element.js.map +0 -1
- package/dist/components/viewer-dom-group.js +0 -214
- package/dist/components/viewer-dom-group.js.map +0 -1
- package/dist/components/viewer-dom-renderer.js +0 -295
- package/dist/components/viewer-dom-renderer.js.map +0 -1
- package/dist/components/viewer-icon.js +0 -87
- package/dist/components/viewer-icon.js.map +0 -1
- package/dist/components/viewer-layer.js +0 -46
- package/dist/components/viewer-layer.js.map +0 -1
- package/dist/components/viewer-markup-arrow.js +0 -235
- package/dist/components/viewer-markup-arrow.js.map +0 -1
- package/dist/components/viewer-markup-circle-components.js +0 -42
- package/dist/components/viewer-markup-circle-components.js.map +0 -1
- package/dist/components/viewer-markup-circle.js +0 -201
- package/dist/components/viewer-markup-circle.js.map +0 -1
- package/dist/components/viewer-markup-freeform.js +0 -251
- package/dist/components/viewer-markup-freeform.js.map +0 -1
- package/dist/components/viewer-measurement-line.js +0 -77
- package/dist/components/viewer-measurement-line.js.map +0 -1
- package/dist/components/viewer-measurement-overlays.js +0 -184
- package/dist/components/viewer-measurement-overlays.js.map +0 -1
- package/dist/components/viewer-pin-group.js +0 -207
- package/dist/components/viewer-pin-group.js.map +0 -1
- package/dist/components/viewer-pin-label-line.js +0 -43
- package/dist/components/viewer-pin-label-line.js.map +0 -1
- package/dist/components/viewer-pin-label.js +0 -427
- package/dist/components/viewer-pin-label.js.map +0 -1
- package/dist/components/viewer-spinner.js +0 -53
- package/dist/components/viewer-spinner.js.map +0 -1
- package/dist/components/viewer-toolbar-group.js +0 -42
- package/dist/components/viewer-toolbar-group.js.map +0 -1
- package/dist/components/viewer-toolbar.js +0 -61
- package/dist/components/viewer-toolbar.js.map +0 -1
- package/dist/components/viewport.js +0 -188
- package/dist/components/viewport.js.map +0 -1
- package/dist/components/wrappers_pb.js +0 -1926
- package/dist/components/wrappers_pb.js.map +0 -1
|
@@ -1,362 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2023 Vertex Software LLC. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { p as point } from './bundle.esm.js';
|
|
6
|
-
import { s as stampTemplateWithId } from './templates.js';
|
|
7
|
-
import { A as ArrowMarkup, C as CircleMarkup, F as FreeformMarkup } from './markup.js';
|
|
8
|
-
import { i as isVertexViewerArrowMarkup, a as isVertexViewerCircleMarkup, b as isVertexViewerFreeformMarkup } from './interactions.js';
|
|
9
|
-
import { d as defineCustomElement$4 } from './viewer-markup-arrow.js';
|
|
10
|
-
import { d as defineCustomElement$3 } from './viewer-markup-circle.js';
|
|
11
|
-
import { d as defineCustomElement$2 } from './viewer-markup-freeform.js';
|
|
12
|
-
|
|
13
|
-
const viewerMarkupCss = ":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}";
|
|
14
|
-
|
|
15
|
-
const ViewerMarkup = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
16
|
-
constructor() {
|
|
17
|
-
super();
|
|
18
|
-
this.__registerHost();
|
|
19
|
-
this.__attachShadow();
|
|
20
|
-
this.markupAdded = createEvent(this, "markupAdded", 7);
|
|
21
|
-
this.markupRemoved = createEvent(this, "markupRemoved", 7);
|
|
22
|
-
this.markupSelectionChanged = createEvent(this, "markupSelectionChanged", 7);
|
|
23
|
-
/**
|
|
24
|
-
* The type of markup to perform.
|
|
25
|
-
*/
|
|
26
|
-
this.tool = 'arrow';
|
|
27
|
-
/**
|
|
28
|
-
* If `true`, disables adding or editing of markup through user
|
|
29
|
-
* interaction.
|
|
30
|
-
*/
|
|
31
|
-
this.disabled = false;
|
|
32
|
-
/**
|
|
33
|
-
* Indicates if new markup should be automatically selected.
|
|
34
|
-
*/
|
|
35
|
-
this.selectNew = false;
|
|
36
|
-
this.handlePointerMove = (event) => {
|
|
37
|
-
if (this.pointerDownPosition != null &&
|
|
38
|
-
point.distance(this.pointerDownPosition, point.create(event.clientX, event.clientY)) > 2) {
|
|
39
|
-
this.toSelectMarkupId = undefined;
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
this.handlePointerUp = async (event) => {
|
|
43
|
-
if (!this.disabled) {
|
|
44
|
-
const el = event.target;
|
|
45
|
-
const markups = await this.getMarkupElements();
|
|
46
|
-
const markup = markups.find((m) => m === el);
|
|
47
|
-
if ((markup === null || markup === void 0 ? void 0 : markup.id) != null &&
|
|
48
|
-
markup.id !== '' &&
|
|
49
|
-
markup.id === this.toSelectMarkupId) {
|
|
50
|
-
this.selectedMarkupId = el.id;
|
|
51
|
-
}
|
|
52
|
-
else if (this.pointerDownPosition != null &&
|
|
53
|
-
point.distance(this.pointerDownPosition, point.create(event.clientX, event.clientY)) <= 2) {
|
|
54
|
-
this.selectedMarkupId = undefined;
|
|
55
|
-
}
|
|
56
|
-
this.toSelectMarkupId = undefined;
|
|
57
|
-
this.pointerDownPosition = undefined;
|
|
58
|
-
}
|
|
59
|
-
window.removeEventListener('pointerup', this.handlePointerUp);
|
|
60
|
-
window.removeEventListener('pointermove', this.handlePointerMove);
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
disconnectedCallback() {
|
|
64
|
-
window.removeEventListener('pointerup', this.handlePointerUp);
|
|
65
|
-
window.removeEventListener('pointermove', this.handlePointerMove);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Adds a new markup as a child to this component. A new markup
|
|
69
|
-
* component will be created from the template specified by
|
|
70
|
-
* `arrow-template-id`, `circle-template-id`, or if undefined
|
|
71
|
-
* a default element will be created.
|
|
72
|
-
*
|
|
73
|
-
* @param markup The markup to add.
|
|
74
|
-
* @returns The markup element that was created.
|
|
75
|
-
* @see {@link ViewerMarkups.arrowTemplateId}
|
|
76
|
-
* @see {@link ViewerMarkups.circleTemplateId}
|
|
77
|
-
*/
|
|
78
|
-
async addMarkup(markup) {
|
|
79
|
-
if (markup instanceof ArrowMarkup) {
|
|
80
|
-
const { start, end, id } = markup;
|
|
81
|
-
const el = this.createArrowMarkupElement();
|
|
82
|
-
el.id = id;
|
|
83
|
-
el.start = start;
|
|
84
|
-
el.end = end;
|
|
85
|
-
return this.appendMarkupElement(el);
|
|
86
|
-
}
|
|
87
|
-
else if (markup instanceof CircleMarkup) {
|
|
88
|
-
const { bounds, id } = markup;
|
|
89
|
-
const el = this.createCircleMarkupElement();
|
|
90
|
-
el.id = id;
|
|
91
|
-
el.bounds = bounds;
|
|
92
|
-
return this.appendMarkupElement(el);
|
|
93
|
-
}
|
|
94
|
-
else if (markup instanceof FreeformMarkup) {
|
|
95
|
-
const { bounds, points, id } = markup;
|
|
96
|
-
const el = this.createFreeformMarkupElement();
|
|
97
|
-
el.id = id;
|
|
98
|
-
el.points = points;
|
|
99
|
-
el.bounds = bounds;
|
|
100
|
-
return this.appendMarkupElement(el);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
throw new Error(`Cannot add markup. Unknown type '${markup}'.`);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Removes a markup with the given ID, and returns the HTML element
|
|
108
|
-
* associated to the markup. Returns `undefined` if no markup is
|
|
109
|
-
* found.
|
|
110
|
-
*
|
|
111
|
-
* @param id The ID of the markup to remove.
|
|
112
|
-
* @returns The markup element, or undefined.
|
|
113
|
-
*/
|
|
114
|
-
async removeMarkup(id) {
|
|
115
|
-
const markup = await this.getMarkupElement(id);
|
|
116
|
-
if (markup != null) {
|
|
117
|
-
markup.remove();
|
|
118
|
-
this.markupRemoved.emit(markup);
|
|
119
|
-
}
|
|
120
|
-
return markup;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Returns a list of markup elements that are children of this component.
|
|
124
|
-
*
|
|
125
|
-
* @returns A list of all markups.
|
|
126
|
-
* @see {@link ViewerMarkup.getMarkupElement}
|
|
127
|
-
*/
|
|
128
|
-
async getMarkupElements() {
|
|
129
|
-
return Array.from(this.hostEl.children).filter((e) => isVertexViewerArrowMarkup(e) ||
|
|
130
|
-
isVertexViewerCircleMarkup(e) ||
|
|
131
|
-
isVertexViewerFreeformMarkup(e));
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Returns the markup element associated to the given ID.
|
|
135
|
-
*
|
|
136
|
-
* @param id The ID of the markup element to return.
|
|
137
|
-
* @returns A markup element, or `undefined`.
|
|
138
|
-
* @see {@link ViewerMarkup.getMarkupElements}
|
|
139
|
-
*/
|
|
140
|
-
async getMarkupElement(id) {
|
|
141
|
-
const markup = await this.getMarkupElements();
|
|
142
|
-
return markup.find((el) => el.id === id);
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* @ignore
|
|
146
|
-
*/
|
|
147
|
-
async handleSelectedMarkupIdChanged() {
|
|
148
|
-
const markup = await this.getMarkupElements();
|
|
149
|
-
markup.forEach((m) => {
|
|
150
|
-
if (m.id === this.selectedMarkupId) {
|
|
151
|
-
m.mode = 'edit';
|
|
152
|
-
this.markupSelectionChanged.emit(m);
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
m.mode = '';
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
if (this.selectedMarkupId == null) {
|
|
159
|
-
this.markupSelectionChanged.emit(undefined);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* @ignore
|
|
164
|
-
*/
|
|
165
|
-
handleToolChanged() {
|
|
166
|
-
this.updatePropsOnMarkupTool();
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* @ignore
|
|
170
|
-
*/
|
|
171
|
-
handleArrowTemplateIdChanged() {
|
|
172
|
-
this.updatePropsOnMarkupTool();
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* @ignore
|
|
176
|
-
*/
|
|
177
|
-
handleCircleTemplateIdChanged() {
|
|
178
|
-
this.updatePropsOnMarkupTool();
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* @ignore
|
|
182
|
-
*/
|
|
183
|
-
handleFreeformTemplateIdChanged() {
|
|
184
|
-
this.updatePropsOnMarkupTool();
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* @ignore
|
|
188
|
-
*/
|
|
189
|
-
async handleViewerChanged(newViewer) {
|
|
190
|
-
this.updatePropsOnMarkupTool();
|
|
191
|
-
this.updatePropsOnMarkups();
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* @ignore
|
|
195
|
-
*/
|
|
196
|
-
handleDisabledChanged() {
|
|
197
|
-
this.updatePropsOnMarkupTool();
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* @ignore
|
|
201
|
-
*/
|
|
202
|
-
async handleMarkupEnd(event) {
|
|
203
|
-
var _a;
|
|
204
|
-
const e = event;
|
|
205
|
-
const el = await this.addMarkup(e.detail);
|
|
206
|
-
await new Promise((resolve) => {
|
|
207
|
-
const handleRender = () => {
|
|
208
|
-
el.removeEventListener('viewRendered', handleRender);
|
|
209
|
-
resolve();
|
|
210
|
-
};
|
|
211
|
-
el.addEventListener('viewRendered', handleRender);
|
|
212
|
-
});
|
|
213
|
-
if (this.selectNew) {
|
|
214
|
-
this.selectedMarkupId = e.detail.id;
|
|
215
|
-
}
|
|
216
|
-
(_a = this.getMarkupTool()) === null || _a === void 0 ? void 0 : _a.reset();
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* @ignore
|
|
220
|
-
*/
|
|
221
|
-
async handleMarkupPointerDown(event) {
|
|
222
|
-
if (!this.disabled) {
|
|
223
|
-
const el = event.target;
|
|
224
|
-
const markups = await this.getMarkupElements();
|
|
225
|
-
const markup = markups.find((m) => m === el);
|
|
226
|
-
if ((markup === null || markup === void 0 ? void 0 : markup.id) != null && (markup === null || markup === void 0 ? void 0 : markup.id) !== '') {
|
|
227
|
-
this.toSelectMarkupId = el.id;
|
|
228
|
-
}
|
|
229
|
-
this.pointerDownPosition = point.create(event.clientX, event.clientY);
|
|
230
|
-
window.addEventListener('pointermove', this.handlePointerMove);
|
|
231
|
-
window.addEventListener('pointerup', this.handlePointerUp);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* @ignore
|
|
236
|
-
*/
|
|
237
|
-
componentDidLoad() {
|
|
238
|
-
this.updatePropsOnMarkupTool();
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* @ignore
|
|
242
|
-
*/
|
|
243
|
-
render() {
|
|
244
|
-
return (h(Host, null, h("slot", null)));
|
|
245
|
-
}
|
|
246
|
-
appendMarkupElement(el) {
|
|
247
|
-
this.updatePropsOnMarkup(el);
|
|
248
|
-
this.hostEl.appendChild(el);
|
|
249
|
-
this.markupAdded.emit(el);
|
|
250
|
-
return el;
|
|
251
|
-
}
|
|
252
|
-
createArrowMarkupElement() {
|
|
253
|
-
if (this.arrowTemplateId != null) {
|
|
254
|
-
const element = stampTemplateWithId(window.document.body, this.arrowTemplateId, isVertexViewerArrowMarkup, () => console.warn(`Arrow template with ID ${this.arrowTemplateId} not found. Using default arrow element.`), () => console.warn(`Arrow template does not contain a vertex-viewer-markup-arrow. Using default arrow element.`));
|
|
255
|
-
if (element != null) {
|
|
256
|
-
return element;
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
return document.createElement('vertex-viewer-markup-arrow');
|
|
260
|
-
}
|
|
261
|
-
createCircleMarkupElement() {
|
|
262
|
-
if (this.circleTemplateId != null) {
|
|
263
|
-
const element = stampTemplateWithId(window.document.body, this.circleTemplateId, isVertexViewerCircleMarkup, () => console.warn(`Circle template with ID ${this.circleTemplateId} not found. Using default circle element.`), () => console.warn(`Circle template does not contain a vertex-viewer-markup-circle. Using default circle element.`));
|
|
264
|
-
if (element != null) {
|
|
265
|
-
return element;
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
return document.createElement('vertex-viewer-markup-circle');
|
|
269
|
-
}
|
|
270
|
-
createFreeformMarkupElement() {
|
|
271
|
-
if (this.freeformTemplateId != null) {
|
|
272
|
-
const element = stampTemplateWithId(window.document.body, this.freeformTemplateId, isVertexViewerFreeformMarkup, () => console.warn(`Freeform template with ID ${this.freeformTemplateId} not found. Using default freeform element.`), () => console.warn(`Freeform template does not contain a vertex-viewer-markup-freeform. Using default freeform element.`));
|
|
273
|
-
if (element != null) {
|
|
274
|
-
return element;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
return document.createElement('vertex-viewer-markup-freeform');
|
|
278
|
-
}
|
|
279
|
-
async updatePropsOnMarkups() {
|
|
280
|
-
const markup = await this.getMarkupElements();
|
|
281
|
-
markup.forEach((m) => this.updatePropsOnMarkup(m));
|
|
282
|
-
}
|
|
283
|
-
updatePropsOnMarkup(element) {
|
|
284
|
-
element.viewer = this.viewer;
|
|
285
|
-
element.classList.add('viewer-markup__markup');
|
|
286
|
-
}
|
|
287
|
-
updatePropsOnMarkupTool() {
|
|
288
|
-
const tool = this.getMarkupTool();
|
|
289
|
-
if (tool != null) {
|
|
290
|
-
tool.disabled = this.disabled;
|
|
291
|
-
tool.arrowTemplateId = this.arrowTemplateId;
|
|
292
|
-
tool.circleTemplateId = this.circleTemplateId;
|
|
293
|
-
tool.freeformTemplateId = this.freeformTemplateId;
|
|
294
|
-
tool.tool = this.tool;
|
|
295
|
-
tool.viewer = this.viewer;
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
getMarkupTool() {
|
|
299
|
-
return this.hostEl.querySelector('vertex-viewer-markup-tool');
|
|
300
|
-
}
|
|
301
|
-
get hostEl() { return this; }
|
|
302
|
-
static get watchers() { return {
|
|
303
|
-
"selectedMarkupId": ["handleSelectedMarkupIdChanged"],
|
|
304
|
-
"tool": ["handleToolChanged"],
|
|
305
|
-
"arrowTemplateId": ["handleArrowTemplateIdChanged"],
|
|
306
|
-
"circleTemplateId": ["handleCircleTemplateIdChanged"],
|
|
307
|
-
"freeformTemplateId": ["handleFreeformTemplateIdChanged"],
|
|
308
|
-
"viewer": ["handleViewerChanged"],
|
|
309
|
-
"disabled": ["handleDisabledChanged"]
|
|
310
|
-
}; }
|
|
311
|
-
static get style() { return viewerMarkupCss; }
|
|
312
|
-
}, [1, "vertex-viewer-markup", {
|
|
313
|
-
"arrowTemplateId": [1, "arrow-template-id"],
|
|
314
|
-
"circleTemplateId": [1, "circle-template-id"],
|
|
315
|
-
"freeformTemplateId": [1, "freeform-template-id"],
|
|
316
|
-
"tool": [1],
|
|
317
|
-
"disabled": [4],
|
|
318
|
-
"viewer": [16],
|
|
319
|
-
"selectedMarkupId": [1025, "selected-markup-id"],
|
|
320
|
-
"selectNew": [4, "select-new"],
|
|
321
|
-
"toSelectMarkupId": [32],
|
|
322
|
-
"pointerDownPosition": [32],
|
|
323
|
-
"addMarkup": [64],
|
|
324
|
-
"removeMarkup": [64],
|
|
325
|
-
"getMarkupElements": [64],
|
|
326
|
-
"getMarkupElement": [64]
|
|
327
|
-
}, [[0, "markupEnd", "handleMarkupEnd"], [1, "pointerdown", "handleMarkupPointerDown"]]]);
|
|
328
|
-
function defineCustomElement$1() {
|
|
329
|
-
if (typeof customElements === "undefined") {
|
|
330
|
-
return;
|
|
331
|
-
}
|
|
332
|
-
const components = ["vertex-viewer-markup", "vertex-viewer-markup-arrow", "vertex-viewer-markup-circle", "vertex-viewer-markup-freeform"];
|
|
333
|
-
components.forEach(tagName => { switch (tagName) {
|
|
334
|
-
case "vertex-viewer-markup":
|
|
335
|
-
if (!customElements.get(tagName)) {
|
|
336
|
-
customElements.define(tagName, ViewerMarkup);
|
|
337
|
-
}
|
|
338
|
-
break;
|
|
339
|
-
case "vertex-viewer-markup-arrow":
|
|
340
|
-
if (!customElements.get(tagName)) {
|
|
341
|
-
defineCustomElement$4();
|
|
342
|
-
}
|
|
343
|
-
break;
|
|
344
|
-
case "vertex-viewer-markup-circle":
|
|
345
|
-
if (!customElements.get(tagName)) {
|
|
346
|
-
defineCustomElement$3();
|
|
347
|
-
}
|
|
348
|
-
break;
|
|
349
|
-
case "vertex-viewer-markup-freeform":
|
|
350
|
-
if (!customElements.get(tagName)) {
|
|
351
|
-
defineCustomElement$2();
|
|
352
|
-
}
|
|
353
|
-
break;
|
|
354
|
-
} });
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
const VertexViewerMarkup = ViewerMarkup;
|
|
358
|
-
const defineCustomElement = defineCustomElement$1;
|
|
359
|
-
|
|
360
|
-
export { VertexViewerMarkup, defineCustomElement };
|
|
361
|
-
|
|
362
|
-
//# sourceMappingURL=vertex-viewer-markup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"vertex-viewer-markup.js","mappings":";;;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,0FAA0F;;MCgCrG,YAAY;EALzB;;;;;;;;;;IAkCS,SAAI,GAAyB,OAAO,CAAC;;;;;IAOrC,aAAQ,GAAG,KAAK,CAAC;;;;IAmBjB,cAAS,GAAG,KAAK,CAAC;IAkTjB,sBAAiB,GAAG,CAAC,KAAmB;MAC9C,IACE,IAAI,CAAC,mBAAmB,IAAI,IAAI;QAChCA,KAAK,CAAC,QAAQ,CACZ,IAAI,CAAC,mBAAmB,EACxBA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAC3C,GAAG,CAAC,EACL;QACA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;OACnC;KACF,CAAC;IAEM,oBAAe,GAAG,OAAO,KAAmB;MAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QAClB,MAAM,EAAE,GAAG,KAAK,CAAC,MAAiB,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7C,IACE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,KAAI,IAAI;UAClB,MAAM,CAAC,EAAE,KAAK,EAAE;UAChB,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,EACnC;UACA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,EAAE,CAAC;SAC/B;aAAM,IACL,IAAI,CAAC,mBAAmB,IAAI,IAAI;UAChCA,KAAK,CAAC,QAAQ,CACZ,IAAI,CAAC,mBAAmB,EACxBA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAC3C,IAAI,CAAC,EACN;UACA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;SACnC;QACD,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;OACtC;MAED,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;MAC9D,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACnE,CAAC;GAuHH;EAjaW,oBAAoB;IAC5B,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;GACnE;;;;;;;;;;;;EAcM,MAAM,SAAS,CACpB,MAAc;IAMd,IAAI,MAAM,YAAY,WAAW,EAAE;MACjC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;MAElC,MAAM,EAAE,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;MAC3C,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;MACX,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;MACjB,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC;MAEb,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;KACrC;SAAM,IAAI,MAAM,YAAY,YAAY,EAAE;MACzC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;MAE9B,MAAM,EAAE,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;MAC5C,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;MACX,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;MAEnB,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;KACrC;SAAM,IAAI,MAAM,YAAY,cAAc,EAAE;MAC3C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;MAEtC,MAAM,EAAE,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;MAC9C,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;MACX,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;MACnB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;MAEnB,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;KACrC;SAAM;MACL,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,IAAI,CAAC,CAAC;KACjE;GACF;;;;;;;;;EAWM,MAAM,YAAY,CACvB,EAAU;IAOV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAE/C,IAAI,MAAM,IAAI,IAAI,EAAE;MAClB,MAAM,CAAC,MAAM,EAAE,CAAC;MAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACjC;IAED,OAAO,MAAM,CAAC;GACf;;;;;;;EASM,MAAM,iBAAiB;IAO5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,KACA,yBAAyB,CAAC,CAAC,CAAC;MAC5B,0BAA0B,CAAC,CAAC,CAAC;MAC7B,4BAA4B,CAAC,CAAC,CAAC,CAKlC,CAAC;GACH;;;;;;;;EAUM,MAAM,gBAAgB,CAC3B,EAAU;IAOV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;GAC1C;;;;EAMS,MAAM,6BAA6B;IAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;MACf,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,EAAE;QAClC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;QAChB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;OACrC;WAAM;QACL,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;OACb;KACF,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;MACjC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC7C;GACF;;;;EAMS,iBAAiB;IACzB,IAAI,CAAC,uBAAuB,EAAE,CAAC;GAChC;;;;EAMS,4BAA4B;IACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;GAChC;;;;EAMS,6BAA6B;IACrC,IAAI,CAAC,uBAAuB,EAAE,CAAC;GAChC;;;;EAMS,+BAA+B;IACvC,IAAI,CAAC,uBAAuB,EAAE,CAAC;GAChC;;;;EAMS,MAAM,mBAAmB,CACjC,SAA8C;IAE9C,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;GAC7B;;;;EAMS,qBAAqB;IAC7B,IAAI,CAAC,uBAAuB,EAAE,CAAC;GAChC;;;;EAMS,MAAM,eAAe,CAAC,KAA0B;;IACxD,MAAM,CAAC,GAAG,KAA4B,CAAC;IACvC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE1C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO;MAC9B,MAAM,YAAY,GAAG;QACnB,EAAE,CAAC,mBAAmB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACrD,OAAO,EAAE,CAAC;OACX,CAAC;MAEF,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;KACnD,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,SAAS,EAAE;MAClB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KACrC;IAED,MAAA,IAAI,CAAC,aAAa,EAAE,0CAAE,KAAK,EAAE,CAAC;GAC/B;;;;EAMS,MAAM,uBAAuB,CAAC,KAAmB;IACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;MAClB,MAAM,EAAE,GAAG,KAAK,CAAC,MAAiB,CAAC;MACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;MAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;MAC7C,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,KAAI,IAAI,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,MAAK,EAAE,EAAE;QAC3C,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,EAAE,CAAC;OAC/B;MACD,IAAI,CAAC,mBAAmB,GAAGA,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;MAEtE,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;MAC/D,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;KAC5D;GACF;;;;EAKS,gBAAgB;IACxB,IAAI,CAAC,uBAAuB,EAAE,CAAC;GAChC;;;;EAKS,MAAM;IACd,QACE,EAAC,IAAI,QACH,eAAQ,CACH,EACP;GACH;EA0CO,mBAAmB,CACzB,EAGyC;IAKzC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE1B,OAAO,EAAE,CAAC;GACX;EAEO,wBAAwB;IAC9B,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;MAChC,MAAM,OAAO,GAAG,mBAAmB,CACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,EACpB,IAAI,CAAC,eAAe,EACpB,yBAAyB,EACzB,MACE,OAAO,CAAC,IAAI,CACV,0BAA0B,IAAI,CAAC,eAAe,0CAA0C,CACzF,EACH,MACE,OAAO,CAAC,IAAI,CACV,4FAA4F,CAC7F,CACJ,CAAC;MAEF,IAAI,OAAO,IAAI,IAAI,EAAE;QACnB,OAAO,OAAO,CAAC;OAChB;KACF;IAED,OAAO,QAAQ,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;GAC7D;EAEO,yBAAyB;IAC/B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;MACjC,MAAM,OAAO,GAAG,mBAAmB,CACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,EACpB,IAAI,CAAC,gBAAgB,EACrB,0BAA0B,EAC1B,MACE,OAAO,CAAC,IAAI,CACV,2BAA2B,IAAI,CAAC,gBAAgB,2CAA2C,CAC5F,EACH,MACE,OAAO,CAAC,IAAI,CACV,+FAA+F,CAChG,CACJ,CAAC;MAEF,IAAI,OAAO,IAAI,IAAI,EAAE;QACnB,OAAO,OAAO,CAAC;OAChB;KACF;IAED,OAAO,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;GAC9D;EAEO,2BAA2B;IACjC,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;MACnC,MAAM,OAAO,GAAG,mBAAmB,CACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,EACpB,IAAI,CAAC,kBAAkB,EACvB,4BAA4B,EAC5B,MACE,OAAO,CAAC,IAAI,CACV,6BAA6B,IAAI,CAAC,kBAAkB,6CAA6C,CAClG,EACH,MACE,OAAO,CAAC,IAAI,CACV,qGAAqG,CACtG,CACJ,CAAC;MAEF,IAAI,OAAO,IAAI,IAAI,EAAE;QACnB,OAAO,OAAO,CAAC;OAChB;KACF;IAED,OAAO,QAAQ,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;GAChE;EAEO,MAAM,oBAAoB;IAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;GACpD;EAEO,mBAAmB,CACzB,OAA2C;IAE3C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;GAChD;EAEO,uBAAuB;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAClC,IAAI,IAAI,IAAI,IAAI,EAAE;MAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;MAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;MAC5C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;MAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;MAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;MACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KAC3B;GACF;EAEO,aAAa;IACnB,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,2BAA2B,CAE/C,CAAC;GACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["Point"],"sources":["./src/components/viewer-markup/viewer-markup.css?tag=vertex-viewer-markup&encapsulation=shadow","./src/components/viewer-markup/viewer-markup.tsx"],"sourcesContent":[":host {\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { Point } from '@vertexvis/geometry';\n\nimport { stampTemplateWithId } from '../../lib/templates';\nimport {\n ArrowMarkup,\n CircleMarkup,\n FreeformMarkup,\n Markup,\n} from '../../lib/types/markup';\nimport { isVertexViewerArrowMarkup } from '../viewer-markup-arrow/utils';\nimport { isVertexViewerCircleMarkup } from '../viewer-markup-circle/utils';\nimport { isVertexViewerFreeformMarkup } from '../viewer-markup-freeform/utils';\nimport { ViewerMarkupToolType } from '../viewer-markup-tool/viewer-markup-tool';\n\n@Component({\n tag: 'vertex-viewer-markup',\n styleUrl: 'viewer-markup.css',\n shadow: true,\n})\nexport class ViewerMarkup {\n /**\n * An HTML template that describes the HTML to use for new arrow\n * markup. It's expected that the template contains a\n * `<vertex-viewer-markup-arrow>`.\n */\n @Prop()\n public arrowTemplateId?: string;\n\n /**\n * An HTML template that describes the HTML to use for new circle\n * markup. It's expected that the template contains a\n * `<vertex-viewer-markup-circle>`.\n */\n @Prop()\n public circleTemplateId?: string;\n\n /**\n * An HTML template that describes the HTML to use for new freeform\n * markup. It's expected that the template contains a\n * `<vertex-viewer-markup-freeform>`.\n */\n @Prop()\n public freeformTemplateId?: string;\n\n /**\n * The type of markup to perform.\n */\n @Prop()\n public tool: ViewerMarkupToolType = 'arrow';\n\n /**\n * If `true`, disables adding or editing of markup through user\n * interaction.\n */\n @Prop()\n public disabled = false;\n\n /**\n * The viewer to connect to markup. If nested within a <vertex-viewer>,\n * this property will be populated automatically.\n */\n @Prop()\n public viewer?: HTMLVertexViewerElement;\n\n /**\n * The ID of the markup that is selected.\n */\n @Prop({ mutable: true })\n public selectedMarkupId?: string;\n\n /**\n * Indicates if new markup should be automatically selected.\n */\n @Prop()\n public selectNew = false;\n\n /**\n * Dispatched when a new markup is added, either through user interaction\n * or programmatically.\n */\n @Event()\n public markupAdded!: EventEmitter<\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement\n >;\n\n /**\n * Dispatched when a markup is removed, either through user\n * interaction or programmatically.\n */\n @Event()\n public markupRemoved!: EventEmitter<\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement\n >;\n\n /**\n * Dispatched when markup selection changes. Will either be the\n * selected element or `undefined` indicating that selection\n * was cleared.\n */\n @Event()\n public markupSelectionChanged!: EventEmitter<\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement\n | undefined\n >;\n\n @Element()\n private hostEl!: HTMLElement;\n\n @State()\n private toSelectMarkupId?: string;\n\n @State()\n private pointerDownPosition?: Point.Point;\n\n protected disconnectedCallback(): void {\n window.removeEventListener('pointerup', this.handlePointerUp);\n window.removeEventListener('pointermove', this.handlePointerMove);\n }\n\n /**\n * Adds a new markup as a child to this component. A new markup\n * component will be created from the template specified by\n * `arrow-template-id`, `circle-template-id`, or if undefined\n * a default element will be created.\n *\n * @param markup The markup to add.\n * @returns The markup element that was created.\n * @see {@link ViewerMarkups.arrowTemplateId}\n * @see {@link ViewerMarkups.circleTemplateId}\n */\n @Method()\n public async addMarkup(\n markup: Markup\n ): Promise<\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement\n > {\n if (markup instanceof ArrowMarkup) {\n const { start, end, id } = markup;\n\n const el = this.createArrowMarkupElement();\n el.id = id;\n el.start = start;\n el.end = end;\n\n return this.appendMarkupElement(el);\n } else if (markup instanceof CircleMarkup) {\n const { bounds, id } = markup;\n\n const el = this.createCircleMarkupElement();\n el.id = id;\n el.bounds = bounds;\n\n return this.appendMarkupElement(el);\n } else if (markup instanceof FreeformMarkup) {\n const { bounds, points, id } = markup;\n\n const el = this.createFreeformMarkupElement();\n el.id = id;\n el.points = points;\n el.bounds = bounds;\n\n return this.appendMarkupElement(el);\n } else {\n throw new Error(`Cannot add markup. Unknown type '${markup}'.`);\n }\n }\n\n /**\n * Removes a markup with the given ID, and returns the HTML element\n * associated to the markup. Returns `undefined` if no markup is\n * found.\n *\n * @param id The ID of the markup to remove.\n * @returns The markup element, or undefined.\n */\n @Method()\n public async removeMarkup(\n id: string\n ): Promise<\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement\n | undefined\n > {\n const markup = await this.getMarkupElement(id);\n\n if (markup != null) {\n markup.remove();\n this.markupRemoved.emit(markup);\n }\n\n return markup;\n }\n\n /**\n * Returns a list of markup elements that are children of this component.\n *\n * @returns A list of all markups.\n * @see {@link ViewerMarkup.getMarkupElement}\n */\n @Method()\n public async getMarkupElements(): Promise<\n Array<\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement\n >\n > {\n return Array.from(this.hostEl.children).filter(\n (e) =>\n isVertexViewerArrowMarkup(e) ||\n isVertexViewerCircleMarkup(e) ||\n isVertexViewerFreeformMarkup(e)\n ) as Array<\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement\n >;\n }\n\n /**\n * Returns the markup element associated to the given ID.\n *\n * @param id The ID of the markup element to return.\n * @returns A markup element, or `undefined`.\n * @see {@link ViewerMarkup.getMarkupElements}\n */\n @Method()\n public async getMarkupElement(\n id: string\n ): Promise<\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupFreeformElement\n | undefined\n > {\n const markup = await this.getMarkupElements();\n return markup.find((el) => el.id === id);\n }\n\n /**\n * @ignore\n */\n @Watch('selectedMarkupId')\n protected async handleSelectedMarkupIdChanged(): Promise<void> {\n const markup = await this.getMarkupElements();\n markup.forEach((m) => {\n if (m.id === this.selectedMarkupId) {\n m.mode = 'edit';\n this.markupSelectionChanged.emit(m);\n } else {\n m.mode = '';\n }\n });\n\n if (this.selectedMarkupId == null) {\n this.markupSelectionChanged.emit(undefined);\n }\n }\n\n /**\n * @ignore\n */\n @Watch('tool')\n protected handleToolChanged(): void {\n this.updatePropsOnMarkupTool();\n }\n\n /**\n * @ignore\n */\n @Watch('arrowTemplateId')\n protected handleArrowTemplateIdChanged(): void {\n this.updatePropsOnMarkupTool();\n }\n\n /**\n * @ignore\n */\n @Watch('circleTemplateId')\n protected handleCircleTemplateIdChanged(): void {\n this.updatePropsOnMarkupTool();\n }\n\n /**\n * @ignore\n */\n @Watch('freeformTemplateId')\n protected handleFreeformTemplateIdChanged(): void {\n this.updatePropsOnMarkupTool();\n }\n\n /**\n * @ignore\n */\n @Watch('viewer')\n protected async handleViewerChanged(\n newViewer: HTMLVertexViewerElement | undefined\n ): Promise<void> {\n this.updatePropsOnMarkupTool();\n this.updatePropsOnMarkups();\n }\n\n /**\n * @ignore\n */\n @Watch('disabled')\n protected handleDisabledChanged(): void {\n this.updatePropsOnMarkupTool();\n }\n\n /**\n * @ignore\n */\n @Listen('markupEnd')\n protected async handleMarkupEnd(event: CustomEvent<Markup>): Promise<void> {\n const e = event as CustomEvent<Markup>;\n const el = await this.addMarkup(e.detail);\n\n await new Promise<void>((resolve) => {\n const handleRender = (): void => {\n el.removeEventListener('viewRendered', handleRender);\n resolve();\n };\n\n el.addEventListener('viewRendered', handleRender);\n });\n\n if (this.selectNew) {\n this.selectedMarkupId = e.detail.id;\n }\n\n this.getMarkupTool()?.reset();\n }\n\n /**\n * @ignore\n */\n @Listen('pointerdown')\n protected async handleMarkupPointerDown(event: PointerEvent): Promise<void> {\n if (!this.disabled) {\n const el = event.target as Element;\n const markups = await this.getMarkupElements();\n const markup = markups.find((m) => m === el);\n if (markup?.id != null && markup?.id !== '') {\n this.toSelectMarkupId = el.id;\n }\n this.pointerDownPosition = Point.create(event.clientX, event.clientY);\n\n window.addEventListener('pointermove', this.handlePointerMove);\n window.addEventListener('pointerup', this.handlePointerUp);\n }\n }\n\n /**\n * @ignore\n */\n protected componentDidLoad(): void {\n this.updatePropsOnMarkupTool();\n }\n\n /**\n * @ignore\n */\n protected render(): h.JSX.IntrinsicElements {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n\n private handlePointerMove = (event: PointerEvent): void => {\n if (\n this.pointerDownPosition != null &&\n Point.distance(\n this.pointerDownPosition,\n Point.create(event.clientX, event.clientY)\n ) > 2\n ) {\n this.toSelectMarkupId = undefined;\n }\n };\n\n private handlePointerUp = async (event: PointerEvent): Promise<void> => {\n if (!this.disabled) {\n const el = event.target as Element;\n const markups = await this.getMarkupElements();\n const markup = markups.find((m) => m === el);\n if (\n markup?.id != null &&\n markup.id !== '' &&\n markup.id === this.toSelectMarkupId\n ) {\n this.selectedMarkupId = el.id;\n } else if (\n this.pointerDownPosition != null &&\n Point.distance(\n this.pointerDownPosition,\n Point.create(event.clientX, event.clientY)\n ) <= 2\n ) {\n this.selectedMarkupId = undefined;\n }\n this.toSelectMarkupId = undefined;\n this.pointerDownPosition = undefined;\n }\n\n window.removeEventListener('pointerup', this.handlePointerUp);\n window.removeEventListener('pointermove', this.handlePointerMove);\n };\n\n private appendMarkupElement(\n el:\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupFreeformElement\n ):\n | HTMLVertexViewerMarkupCircleElement\n | HTMLVertexViewerMarkupArrowElement\n | HTMLVertexViewerMarkupFreeformElement {\n this.updatePropsOnMarkup(el);\n this.hostEl.appendChild(el);\n this.markupAdded.emit(el);\n\n return el;\n }\n\n private createArrowMarkupElement(): HTMLVertexViewerMarkupArrowElement {\n if (this.arrowTemplateId != null) {\n const element = stampTemplateWithId(\n window.document.body,\n this.arrowTemplateId,\n isVertexViewerArrowMarkup,\n () =>\n console.warn(\n `Arrow template with ID ${this.arrowTemplateId} not found. Using default arrow element.`\n ),\n () =>\n console.warn(\n `Arrow template does not contain a vertex-viewer-markup-arrow. Using default arrow element.`\n )\n );\n\n if (element != null) {\n return element;\n }\n }\n\n return document.createElement('vertex-viewer-markup-arrow');\n }\n\n private createCircleMarkupElement(): HTMLVertexViewerMarkupCircleElement {\n if (this.circleTemplateId != null) {\n const element = stampTemplateWithId(\n window.document.body,\n this.circleTemplateId,\n isVertexViewerCircleMarkup,\n () =>\n console.warn(\n `Circle template with ID ${this.circleTemplateId} not found. Using default circle element.`\n ),\n () =>\n console.warn(\n `Circle template does not contain a vertex-viewer-markup-circle. Using default circle element.`\n )\n );\n\n if (element != null) {\n return element;\n }\n }\n\n return document.createElement('vertex-viewer-markup-circle');\n }\n\n private createFreeformMarkupElement(): HTMLVertexViewerMarkupFreeformElement {\n if (this.freeformTemplateId != null) {\n const element = stampTemplateWithId(\n window.document.body,\n this.freeformTemplateId,\n isVertexViewerFreeformMarkup,\n () =>\n console.warn(\n `Freeform template with ID ${this.freeformTemplateId} not found. Using default freeform element.`\n ),\n () =>\n console.warn(\n `Freeform template does not contain a vertex-viewer-markup-freeform. Using default freeform element.`\n )\n );\n\n if (element != null) {\n return element;\n }\n }\n\n return document.createElement('vertex-viewer-markup-freeform');\n }\n\n private async updatePropsOnMarkups(): Promise<void> {\n const markup = await this.getMarkupElements();\n markup.forEach((m) => this.updatePropsOnMarkup(m));\n }\n\n private updatePropsOnMarkup(\n element: HTMLVertexViewerMarkupArrowElement\n ): void {\n element.viewer = this.viewer;\n element.classList.add('viewer-markup__markup');\n }\n\n private updatePropsOnMarkupTool(): void {\n const tool = this.getMarkupTool();\n if (tool != null) {\n tool.disabled = this.disabled;\n tool.arrowTemplateId = this.arrowTemplateId;\n tool.circleTemplateId = this.circleTemplateId;\n tool.freeformTemplateId = this.freeformTemplateId;\n tool.tool = this.tool;\n tool.viewer = this.viewer;\n }\n }\n\n private getMarkupTool(): HTMLVertexViewerMarkupToolElement | undefined {\n return this.hostEl.querySelector('vertex-viewer-markup-tool') as\n | HTMLVertexViewerMarkupToolElement\n | undefined;\n }\n}\n"],"version":3}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../types/regl-shape";
|
|
2
|
-
|
|
3
|
-
interface VertexViewerMeasurementDetails extends Components.VertexViewerMeasurementDetails, HTMLElement {}
|
|
4
|
-
export const VertexViewerMeasurementDetails: {
|
|
5
|
-
prototype: VertexViewerMeasurementDetails;
|
|
6
|
-
new (): VertexViewerMeasurementDetails;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|