3dviewer-sdk 1.0.21 → 1.0.23
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/index.d.mts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +36 -13
- package/dist/index.mjs +36 -13
- package/package.json +2 -2
- package/dist/contracts/events.d.ts +0 -97
- package/dist/contracts/events.js +0 -1
- package/dist/contracts/messages.d.ts +0 -159
- package/dist/contracts/messages.js +0 -50
- package/dist/core/emitter.d.ts +0 -7
- package/dist/core/emitter.js +0 -31
- package/dist/modules/camera.module.d.ts +0 -13
- package/dist/modules/camera.module.js +0 -18
- package/dist/modules/files.module.d.ts +0 -112
- package/dist/modules/files.module.js +0 -461
- package/dist/modules/interaction.module.d.ts +0 -28
- package/dist/modules/interaction.module.js +0 -63
- package/dist/modules/language.module.d.ts +0 -8
- package/dist/modules/language.module.js +0 -15
- package/dist/modules/markup.module.d.ts +0 -26
- package/dist/modules/markup.module.js +0 -96
- package/dist/modules/model-tree.module.d.ts +0 -12
- package/dist/modules/model-tree.module.js +0 -42
- package/dist/modules/node.module.d.ts +0 -11
- package/dist/modules/node.module.js +0 -6
- package/dist/modules/toolbar.module.d.ts +0 -93
- package/dist/modules/toolbar.module.js +0 -249
- package/dist/viewer.d.ts +0 -54
- package/dist/viewer.js +0 -290
package/dist/index.d.mts
CHANGED
|
@@ -40,6 +40,7 @@ declare enum ViewerMessageType {
|
|
|
40
40
|
STATES_OBJECTS_GET_LIST = "viewer-states-objects-get-list",
|
|
41
41
|
STATES_OBJECTS_LIST = "viewer-states-objects-list",
|
|
42
42
|
TREE_SELECT_NODE = "viewer-tree-select-node",
|
|
43
|
+
TREE_SET_NODE_VISIBILITY = "viewer-tree-set-node-visibility",
|
|
43
44
|
TREE_GET_NODE_IDS = "viewer-tree-get-node-ids",
|
|
44
45
|
TREE_NODE_IDS = "viewer-tree-node-ids",
|
|
45
46
|
TREE_GET_NODES = "viewer-tree-get-nodes",
|
|
@@ -409,7 +410,7 @@ declare class FilesModule {
|
|
|
409
410
|
private normalizeBaseUrl;
|
|
410
411
|
private resolveConversionUrl;
|
|
411
412
|
private resolveViewerPath;
|
|
412
|
-
private
|
|
413
|
+
private normalizeViewerPath;
|
|
413
414
|
private resolveViewerOrigin;
|
|
414
415
|
private resolveHostConversion;
|
|
415
416
|
private getUploadPath;
|
|
@@ -539,6 +540,9 @@ declare class ModelTreeModule {
|
|
|
539
540
|
constructor(viewer: Viewer3D);
|
|
540
541
|
open(): void;
|
|
541
542
|
selectNode(nodeId: string | number): void;
|
|
543
|
+
setNodeVisibility(nodeIds: Array<string | number>, visible: boolean): void;
|
|
544
|
+
hideNode(nodeIds: Array<string | number>): void;
|
|
545
|
+
showNode(nodeIds: Array<string | number>): void;
|
|
542
546
|
getNodeIds(options?: GetNodeIdsOptions): Promise<string[]>;
|
|
543
547
|
getNodes(options?: GetNodesOptions): Promise<ModelTreeNode[]>;
|
|
544
548
|
getTree(options?: GetNodesOptions): Promise<ModelTreeHierarchyNode[]>;
|
|
@@ -546,6 +550,7 @@ declare class ModelTreeModule {
|
|
|
546
550
|
private resolveTimeoutMs;
|
|
547
551
|
private postPanelOpen;
|
|
548
552
|
private postTreeSelectNode;
|
|
553
|
+
private postTreeSetNodeVisibility;
|
|
549
554
|
private postTreeGetNodeIds;
|
|
550
555
|
private postTreeGetNodes;
|
|
551
556
|
}
|
|
@@ -592,6 +597,7 @@ type ObjectPropertiesGetCurrentOptions = ObjectPropertiesWatchOptions & {
|
|
|
592
597
|
type ObjectPropertiesChangedEvent = ObjectPropertiesChangedPayload;
|
|
593
598
|
declare class ObjectPropertiesModule {
|
|
594
599
|
private viewer;
|
|
600
|
+
private pendingGetCurrent;
|
|
595
601
|
on: {
|
|
596
602
|
change: (cb: (payload: ObjectPropertiesChangedEvent) => void) => () => void;
|
|
597
603
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ declare enum ViewerMessageType {
|
|
|
40
40
|
STATES_OBJECTS_GET_LIST = "viewer-states-objects-get-list",
|
|
41
41
|
STATES_OBJECTS_LIST = "viewer-states-objects-list",
|
|
42
42
|
TREE_SELECT_NODE = "viewer-tree-select-node",
|
|
43
|
+
TREE_SET_NODE_VISIBILITY = "viewer-tree-set-node-visibility",
|
|
43
44
|
TREE_GET_NODE_IDS = "viewer-tree-get-node-ids",
|
|
44
45
|
TREE_NODE_IDS = "viewer-tree-node-ids",
|
|
45
46
|
TREE_GET_NODES = "viewer-tree-get-nodes",
|
|
@@ -409,7 +410,7 @@ declare class FilesModule {
|
|
|
409
410
|
private normalizeBaseUrl;
|
|
410
411
|
private resolveConversionUrl;
|
|
411
412
|
private resolveViewerPath;
|
|
412
|
-
private
|
|
413
|
+
private normalizeViewerPath;
|
|
413
414
|
private resolveViewerOrigin;
|
|
414
415
|
private resolveHostConversion;
|
|
415
416
|
private getUploadPath;
|
|
@@ -539,6 +540,9 @@ declare class ModelTreeModule {
|
|
|
539
540
|
constructor(viewer: Viewer3D);
|
|
540
541
|
open(): void;
|
|
541
542
|
selectNode(nodeId: string | number): void;
|
|
543
|
+
setNodeVisibility(nodeIds: Array<string | number>, visible: boolean): void;
|
|
544
|
+
hideNode(nodeIds: Array<string | number>): void;
|
|
545
|
+
showNode(nodeIds: Array<string | number>): void;
|
|
542
546
|
getNodeIds(options?: GetNodeIdsOptions): Promise<string[]>;
|
|
543
547
|
getNodes(options?: GetNodesOptions): Promise<ModelTreeNode[]>;
|
|
544
548
|
getTree(options?: GetNodesOptions): Promise<ModelTreeHierarchyNode[]>;
|
|
@@ -546,6 +550,7 @@ declare class ModelTreeModule {
|
|
|
546
550
|
private resolveTimeoutMs;
|
|
547
551
|
private postPanelOpen;
|
|
548
552
|
private postTreeSelectNode;
|
|
553
|
+
private postTreeSetNodeVisibility;
|
|
549
554
|
private postTreeGetNodeIds;
|
|
550
555
|
private postTreeGetNodes;
|
|
551
556
|
}
|
|
@@ -592,6 +597,7 @@ type ObjectPropertiesGetCurrentOptions = ObjectPropertiesWatchOptions & {
|
|
|
592
597
|
type ObjectPropertiesChangedEvent = ObjectPropertiesChangedPayload;
|
|
593
598
|
declare class ObjectPropertiesModule {
|
|
594
599
|
private viewer;
|
|
600
|
+
private pendingGetCurrent;
|
|
595
601
|
on: {
|
|
596
602
|
change: (cb: (payload: ObjectPropertiesChangedEvent) => void) => () => void;
|
|
597
603
|
};
|
package/dist/index.js
CHANGED
|
@@ -172,7 +172,6 @@ var NodeModule = class {
|
|
|
172
172
|
var DEFAULT_CONVERSION_URL = "https://dev.3dviewer.anybim.vn/service/conversion";
|
|
173
173
|
var DEFAULT_VIEWER_BASE_URL = "https://dev.3dviewer.anybim.vn";
|
|
174
174
|
var SDK_VIEWER_PATH = "/mainviewer-sdk";
|
|
175
|
-
var LEGACY_VIEWER_PATH = "/mainviewer";
|
|
176
175
|
var FilesModule = class {
|
|
177
176
|
constructor(viewer) {
|
|
178
177
|
this.viewer = viewer;
|
|
@@ -330,18 +329,17 @@ var FilesModule = class {
|
|
|
330
329
|
if (viewerUrl) {
|
|
331
330
|
try {
|
|
332
331
|
const pathname = new URL(viewerUrl, window.location.href).pathname;
|
|
333
|
-
if (pathname && pathname !== "/") return this.
|
|
332
|
+
if (pathname && pathname !== "/") return this.normalizeViewerPath(pathname);
|
|
334
333
|
} catch {
|
|
335
334
|
}
|
|
336
335
|
}
|
|
337
336
|
}
|
|
338
|
-
return this.
|
|
337
|
+
return this.normalizeViewerPath(configuredPath || SDK_VIEWER_PATH);
|
|
339
338
|
}
|
|
340
|
-
|
|
339
|
+
normalizeViewerPath(path) {
|
|
341
340
|
const p = path.trim();
|
|
342
|
-
if (!p
|
|
343
|
-
|
|
344
|
-
return normalized === LEGACY_VIEWER_PATH ? SDK_VIEWER_PATH : normalized;
|
|
341
|
+
if (!p) return SDK_VIEWER_PATH;
|
|
342
|
+
return p.startsWith("/") ? p : `/${p}`;
|
|
345
343
|
}
|
|
346
344
|
// Viewer host used to open iframe after conversion completes.
|
|
347
345
|
resolveViewerOrigin() {
|
|
@@ -962,6 +960,24 @@ var ModelTreeModule = class {
|
|
|
962
960
|
nodeId: String(nodeId)
|
|
963
961
|
});
|
|
964
962
|
}
|
|
963
|
+
setNodeVisibility(nodeIds, visible) {
|
|
964
|
+
const normalizedNodeIds = Array.from(
|
|
965
|
+
new Set(
|
|
966
|
+
nodeIds.map((nodeId) => String(nodeId).trim()).filter((nodeId) => nodeId !== "")
|
|
967
|
+
)
|
|
968
|
+
);
|
|
969
|
+
if (normalizedNodeIds.length === 0) return;
|
|
970
|
+
this.postTreeSetNodeVisibility({
|
|
971
|
+
nodeIds: normalizedNodeIds,
|
|
972
|
+
visible
|
|
973
|
+
});
|
|
974
|
+
}
|
|
975
|
+
hideNode(nodeIds) {
|
|
976
|
+
this.setNodeVisibility(nodeIds, false);
|
|
977
|
+
}
|
|
978
|
+
showNode(nodeIds) {
|
|
979
|
+
this.setNodeVisibility(nodeIds, true);
|
|
980
|
+
}
|
|
965
981
|
getNodeIds(options) {
|
|
966
982
|
const requestId = createRequestId3("tree");
|
|
967
983
|
const timeoutMs = this.resolveTimeoutMs(options);
|
|
@@ -1022,6 +1038,9 @@ var ModelTreeModule = class {
|
|
|
1022
1038
|
postTreeSelectNode(payload) {
|
|
1023
1039
|
this.viewer.postToViewer("viewer-tree-select-node" /* TREE_SELECT_NODE */, payload);
|
|
1024
1040
|
}
|
|
1041
|
+
postTreeSetNodeVisibility(payload) {
|
|
1042
|
+
this.viewer.postToViewer("viewer-tree-set-node-visibility" /* TREE_SET_NODE_VISIBILITY */, payload);
|
|
1043
|
+
}
|
|
1025
1044
|
postTreeGetNodeIds(payload) {
|
|
1026
1045
|
this.viewer.postToViewer("viewer-tree-get-node-ids" /* TREE_GET_NODE_IDS */, payload);
|
|
1027
1046
|
}
|
|
@@ -1167,19 +1186,28 @@ var ObjectPropertiesModule = class {
|
|
|
1167
1186
|
}
|
|
1168
1187
|
getCurrent(options) {
|
|
1169
1188
|
var _a;
|
|
1189
|
+
if (this.pendingGetCurrent) {
|
|
1190
|
+
clearTimeout(this.pendingGetCurrent.timer);
|
|
1191
|
+
this.pendingGetCurrent.off();
|
|
1192
|
+
this.pendingGetCurrent.reject(new Error("No object properties"));
|
|
1193
|
+
this.pendingGetCurrent = void 0;
|
|
1194
|
+
}
|
|
1170
1195
|
const requestId = createRequestId5("object_properties_current");
|
|
1171
1196
|
const timeoutMs = Math.max(1e3, (_a = options == null ? void 0 : options.timeoutMs) != null ? _a : 1e4);
|
|
1172
1197
|
return new Promise((resolve, reject) => {
|
|
1173
1198
|
const timer = setTimeout(() => {
|
|
1199
|
+
this.pendingGetCurrent = void 0;
|
|
1174
1200
|
off();
|
|
1175
|
-
reject(new Error("
|
|
1201
|
+
reject(new Error("No object properties"));
|
|
1176
1202
|
}, timeoutMs);
|
|
1177
1203
|
const off = this.viewer._on("object-properties:changed", (payload2) => {
|
|
1178
1204
|
if (payload2.requestId !== requestId) return;
|
|
1179
1205
|
clearTimeout(timer);
|
|
1206
|
+
this.pendingGetCurrent = void 0;
|
|
1180
1207
|
off();
|
|
1181
1208
|
resolve(payload2);
|
|
1182
1209
|
});
|
|
1210
|
+
this.pendingGetCurrent = { requestId, off, timer, reject };
|
|
1183
1211
|
const payload = { requestId };
|
|
1184
1212
|
if (typeof (options == null ? void 0 : options.includeSelectionMeta) === "boolean") {
|
|
1185
1213
|
payload.includeSelectionMeta = options.includeSelectionMeta;
|
|
@@ -1190,8 +1218,6 @@ var ObjectPropertiesModule = class {
|
|
|
1190
1218
|
};
|
|
1191
1219
|
|
|
1192
1220
|
// src/viewer.ts
|
|
1193
|
-
var SDK_VIEWER_PATH2 = "/mainviewer-sdk";
|
|
1194
|
-
var LEGACY_VIEWER_PATH2 = "/mainviewer";
|
|
1195
1221
|
var Viewer3D = class {
|
|
1196
1222
|
constructor(options) {
|
|
1197
1223
|
this.options = options;
|
|
@@ -1516,9 +1542,6 @@ var Viewer3D = class {
|
|
|
1516
1542
|
withInitialOptions(url) {
|
|
1517
1543
|
try {
|
|
1518
1544
|
const parsedUrl = new URL(url, window.location.href);
|
|
1519
|
-
if (parsedUrl.pathname === LEGACY_VIEWER_PATH2) {
|
|
1520
|
-
parsedUrl.pathname = SDK_VIEWER_PATH2;
|
|
1521
|
-
}
|
|
1522
1545
|
const initialToolbar = this.normalizeInitialToolbar();
|
|
1523
1546
|
if (initialToolbar) {
|
|
1524
1547
|
parsedUrl.searchParams.set("useToolbar", JSON.stringify(initialToolbar));
|
package/dist/index.mjs
CHANGED
|
@@ -146,7 +146,6 @@ var NodeModule = class {
|
|
|
146
146
|
var DEFAULT_CONVERSION_URL = "https://dev.3dviewer.anybim.vn/service/conversion";
|
|
147
147
|
var DEFAULT_VIEWER_BASE_URL = "https://dev.3dviewer.anybim.vn";
|
|
148
148
|
var SDK_VIEWER_PATH = "/mainviewer-sdk";
|
|
149
|
-
var LEGACY_VIEWER_PATH = "/mainviewer";
|
|
150
149
|
var FilesModule = class {
|
|
151
150
|
constructor(viewer) {
|
|
152
151
|
this.viewer = viewer;
|
|
@@ -304,18 +303,17 @@ var FilesModule = class {
|
|
|
304
303
|
if (viewerUrl) {
|
|
305
304
|
try {
|
|
306
305
|
const pathname = new URL(viewerUrl, window.location.href).pathname;
|
|
307
|
-
if (pathname && pathname !== "/") return this.
|
|
306
|
+
if (pathname && pathname !== "/") return this.normalizeViewerPath(pathname);
|
|
308
307
|
} catch {
|
|
309
308
|
}
|
|
310
309
|
}
|
|
311
310
|
}
|
|
312
|
-
return this.
|
|
311
|
+
return this.normalizeViewerPath(configuredPath || SDK_VIEWER_PATH);
|
|
313
312
|
}
|
|
314
|
-
|
|
313
|
+
normalizeViewerPath(path) {
|
|
315
314
|
const p = path.trim();
|
|
316
|
-
if (!p
|
|
317
|
-
|
|
318
|
-
return normalized === LEGACY_VIEWER_PATH ? SDK_VIEWER_PATH : normalized;
|
|
315
|
+
if (!p) return SDK_VIEWER_PATH;
|
|
316
|
+
return p.startsWith("/") ? p : `/${p}`;
|
|
319
317
|
}
|
|
320
318
|
// Viewer host used to open iframe after conversion completes.
|
|
321
319
|
resolveViewerOrigin() {
|
|
@@ -936,6 +934,24 @@ var ModelTreeModule = class {
|
|
|
936
934
|
nodeId: String(nodeId)
|
|
937
935
|
});
|
|
938
936
|
}
|
|
937
|
+
setNodeVisibility(nodeIds, visible) {
|
|
938
|
+
const normalizedNodeIds = Array.from(
|
|
939
|
+
new Set(
|
|
940
|
+
nodeIds.map((nodeId) => String(nodeId).trim()).filter((nodeId) => nodeId !== "")
|
|
941
|
+
)
|
|
942
|
+
);
|
|
943
|
+
if (normalizedNodeIds.length === 0) return;
|
|
944
|
+
this.postTreeSetNodeVisibility({
|
|
945
|
+
nodeIds: normalizedNodeIds,
|
|
946
|
+
visible
|
|
947
|
+
});
|
|
948
|
+
}
|
|
949
|
+
hideNode(nodeIds) {
|
|
950
|
+
this.setNodeVisibility(nodeIds, false);
|
|
951
|
+
}
|
|
952
|
+
showNode(nodeIds) {
|
|
953
|
+
this.setNodeVisibility(nodeIds, true);
|
|
954
|
+
}
|
|
939
955
|
getNodeIds(options) {
|
|
940
956
|
const requestId = createRequestId3("tree");
|
|
941
957
|
const timeoutMs = this.resolveTimeoutMs(options);
|
|
@@ -996,6 +1012,9 @@ var ModelTreeModule = class {
|
|
|
996
1012
|
postTreeSelectNode(payload) {
|
|
997
1013
|
this.viewer.postToViewer("viewer-tree-select-node" /* TREE_SELECT_NODE */, payload);
|
|
998
1014
|
}
|
|
1015
|
+
postTreeSetNodeVisibility(payload) {
|
|
1016
|
+
this.viewer.postToViewer("viewer-tree-set-node-visibility" /* TREE_SET_NODE_VISIBILITY */, payload);
|
|
1017
|
+
}
|
|
999
1018
|
postTreeGetNodeIds(payload) {
|
|
1000
1019
|
this.viewer.postToViewer("viewer-tree-get-node-ids" /* TREE_GET_NODE_IDS */, payload);
|
|
1001
1020
|
}
|
|
@@ -1141,19 +1160,28 @@ var ObjectPropertiesModule = class {
|
|
|
1141
1160
|
}
|
|
1142
1161
|
getCurrent(options) {
|
|
1143
1162
|
var _a;
|
|
1163
|
+
if (this.pendingGetCurrent) {
|
|
1164
|
+
clearTimeout(this.pendingGetCurrent.timer);
|
|
1165
|
+
this.pendingGetCurrent.off();
|
|
1166
|
+
this.pendingGetCurrent.reject(new Error("No object properties"));
|
|
1167
|
+
this.pendingGetCurrent = void 0;
|
|
1168
|
+
}
|
|
1144
1169
|
const requestId = createRequestId5("object_properties_current");
|
|
1145
1170
|
const timeoutMs = Math.max(1e3, (_a = options == null ? void 0 : options.timeoutMs) != null ? _a : 1e4);
|
|
1146
1171
|
return new Promise((resolve, reject) => {
|
|
1147
1172
|
const timer = setTimeout(() => {
|
|
1173
|
+
this.pendingGetCurrent = void 0;
|
|
1148
1174
|
off();
|
|
1149
|
-
reject(new Error("
|
|
1175
|
+
reject(new Error("No object properties"));
|
|
1150
1176
|
}, timeoutMs);
|
|
1151
1177
|
const off = this.viewer._on("object-properties:changed", (payload2) => {
|
|
1152
1178
|
if (payload2.requestId !== requestId) return;
|
|
1153
1179
|
clearTimeout(timer);
|
|
1180
|
+
this.pendingGetCurrent = void 0;
|
|
1154
1181
|
off();
|
|
1155
1182
|
resolve(payload2);
|
|
1156
1183
|
});
|
|
1184
|
+
this.pendingGetCurrent = { requestId, off, timer, reject };
|
|
1157
1185
|
const payload = { requestId };
|
|
1158
1186
|
if (typeof (options == null ? void 0 : options.includeSelectionMeta) === "boolean") {
|
|
1159
1187
|
payload.includeSelectionMeta = options.includeSelectionMeta;
|
|
@@ -1164,8 +1192,6 @@ var ObjectPropertiesModule = class {
|
|
|
1164
1192
|
};
|
|
1165
1193
|
|
|
1166
1194
|
// src/viewer.ts
|
|
1167
|
-
var SDK_VIEWER_PATH2 = "/mainviewer-sdk";
|
|
1168
|
-
var LEGACY_VIEWER_PATH2 = "/mainviewer";
|
|
1169
1195
|
var Viewer3D = class {
|
|
1170
1196
|
constructor(options) {
|
|
1171
1197
|
this.options = options;
|
|
@@ -1490,9 +1516,6 @@ var Viewer3D = class {
|
|
|
1490
1516
|
withInitialOptions(url) {
|
|
1491
1517
|
try {
|
|
1492
1518
|
const parsedUrl = new URL(url, window.location.href);
|
|
1493
|
-
if (parsedUrl.pathname === LEGACY_VIEWER_PATH2) {
|
|
1494
|
-
parsedUrl.pathname = SDK_VIEWER_PATH2;
|
|
1495
|
-
}
|
|
1496
1519
|
const initialToolbar = this.normalizeInitialToolbar();
|
|
1497
1520
|
if (initialToolbar) {
|
|
1498
1521
|
parsedUrl.searchParams.set("useToolbar", JSON.stringify(initialToolbar));
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "3dviewer-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.23",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
8
8
|
],
|
|
9
9
|
"scripts": {
|
|
10
|
-
"build": "tsup src/index.ts --format cjs,esm --dts --no-splitting",
|
|
10
|
+
"build": "tsup src/index.ts --format cjs,esm --dts --no-splitting --clean",
|
|
11
11
|
"test": "vitest run tests",
|
|
12
12
|
"test:watch": "vitest tests"
|
|
13
13
|
},
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import type { MarkupListItem, MarkupOperationResultPayload, PdfCurrentPagePayload, PdfModeEventPayload, PdfToolbarActionEventPayload } from "./messages";
|
|
2
|
-
export declare type ViewerEventMap = {
|
|
3
|
-
"camera:home": {
|
|
4
|
-
timestamp: number;
|
|
5
|
-
};
|
|
6
|
-
"node:select": {
|
|
7
|
-
nodeId: string;
|
|
8
|
-
timestamp: number;
|
|
9
|
-
};
|
|
10
|
-
"interaction:pan-change": {
|
|
11
|
-
enabled: boolean;
|
|
12
|
-
};
|
|
13
|
-
"toolbar:pdf-plan-mode": PdfModeEventPayload;
|
|
14
|
-
"toolbar:pdf-document-mode": PdfModeEventPayload;
|
|
15
|
-
"toolbar:pdf-first-page": PdfToolbarActionEventPayload;
|
|
16
|
-
"toolbar:pdf-previous-page": PdfToolbarActionEventPayload;
|
|
17
|
-
"toolbar:pdf-next-page": PdfToolbarActionEventPayload;
|
|
18
|
-
"toolbar:pdf-last-page": PdfToolbarActionEventPayload;
|
|
19
|
-
"toolbar:pdf-current-page": PdfCurrentPagePayload;
|
|
20
|
-
"modelTree:node-ids": {
|
|
21
|
-
requestId: string;
|
|
22
|
-
nodeIds: string[];
|
|
23
|
-
timestamp: number;
|
|
24
|
-
};
|
|
25
|
-
"sheets:list": {
|
|
26
|
-
requestId: string;
|
|
27
|
-
sheets: {
|
|
28
|
-
id: string | number;
|
|
29
|
-
name: string;
|
|
30
|
-
is3D?: boolean;
|
|
31
|
-
viewId?: string;
|
|
32
|
-
}[];
|
|
33
|
-
activeSheetId?: string | number | null;
|
|
34
|
-
timestamp: number;
|
|
35
|
-
};
|
|
36
|
-
"markup:list": {
|
|
37
|
-
requestId: string;
|
|
38
|
-
markups: MarkupListItem[];
|
|
39
|
-
timestamp: number;
|
|
40
|
-
};
|
|
41
|
-
"markup:save": MarkupOperationResultPayload;
|
|
42
|
-
"markup:cancel": MarkupOperationResultPayload;
|
|
43
|
-
};
|
|
44
|
-
export declare type LoadStage = "idle" | "uploading" | "converting" | "rendering" | "completed" | "error";
|
|
45
|
-
export declare type LoadStatePayload = {
|
|
46
|
-
isLoading: boolean;
|
|
47
|
-
stage: LoadStage;
|
|
48
|
-
message?: string;
|
|
49
|
-
elapsedMs?: number;
|
|
50
|
-
};
|
|
51
|
-
export declare type PreparedViewerData = {
|
|
52
|
-
baseFileId: string;
|
|
53
|
-
baseMajorRev: number;
|
|
54
|
-
baseMinorRev: number;
|
|
55
|
-
fileName: string;
|
|
56
|
-
query: string;
|
|
57
|
-
url: string;
|
|
58
|
-
};
|
|
59
|
-
export declare type FilesEventMap = {
|
|
60
|
-
"files:state": LoadStatePayload;
|
|
61
|
-
"files:upload:start": {
|
|
62
|
-
fileName: string;
|
|
63
|
-
};
|
|
64
|
-
"files:upload:success": {
|
|
65
|
-
fileName: string;
|
|
66
|
-
baseFileId: string;
|
|
67
|
-
};
|
|
68
|
-
"files:upload:error": {
|
|
69
|
-
fileName: string;
|
|
70
|
-
error: string;
|
|
71
|
-
};
|
|
72
|
-
"files:conversion:start": {
|
|
73
|
-
fileName: string;
|
|
74
|
-
};
|
|
75
|
-
"files:conversion:success": PreparedViewerData;
|
|
76
|
-
"files:conversion:error": {
|
|
77
|
-
fileName: string;
|
|
78
|
-
error: string;
|
|
79
|
-
};
|
|
80
|
-
"files:render:start": {
|
|
81
|
-
url: string;
|
|
82
|
-
};
|
|
83
|
-
"files:render:success": {
|
|
84
|
-
url: string;
|
|
85
|
-
};
|
|
86
|
-
"files:render:error": {
|
|
87
|
-
url?: string;
|
|
88
|
-
error: string;
|
|
89
|
-
};
|
|
90
|
-
"files:load:success": PreparedViewerData;
|
|
91
|
-
"files:load:error": {
|
|
92
|
-
error: string;
|
|
93
|
-
};
|
|
94
|
-
};
|
|
95
|
-
export declare type SdkEventMap = ViewerEventMap & FilesEventMap;
|
|
96
|
-
export declare type SdkEventKey = keyof SdkEventMap;
|
|
97
|
-
export declare type SdkEventPayload<K extends SdkEventKey> = SdkEventMap[K];
|
package/dist/contracts/events.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
export declare enum ViewerMessageType {
|
|
2
|
-
LANGUAGE_CHANGE = "viewer-language-change",
|
|
3
|
-
ZOOM = "viewer-zoom",
|
|
4
|
-
DRAW_MODE = "viewer-draw-mode",
|
|
5
|
-
EXPLODE = "viewer-explode",
|
|
6
|
-
MARKUP_ACTION = "viewer-markup-action",
|
|
7
|
-
MARKUP_SAVE = "viewer-markup-save",
|
|
8
|
-
MARKUP_CANCEL = "viewer-markup-cancel",
|
|
9
|
-
MARKUP_GET_LIST = "viewer-markup-get-list",
|
|
10
|
-
MARKUP_SAVE_RESULT = "viewer-markup-save-result",
|
|
11
|
-
MARKUP_CANCEL_RESULT = "viewer-markup-cancel-result",
|
|
12
|
-
MARKUP_LIST = "viewer-markup-list",
|
|
13
|
-
HOME = "viewer-home",
|
|
14
|
-
PAN_TOGGLE = "viewer-pan-toggle",
|
|
15
|
-
SELECT = "viewer-select",
|
|
16
|
-
AREA_SELECT = "viewer-area-select",
|
|
17
|
-
ORBIT = "viewer-orbit",
|
|
18
|
-
ROTATE_Z = "viewer-rotate-z",
|
|
19
|
-
WALK_THROUGH = "viewer-walk-through",
|
|
20
|
-
ZOOM_WINDOW = "viewer-zoom-window",
|
|
21
|
-
ZOOM_FIT = "viewer-zoom-fit",
|
|
22
|
-
TOOLBAR_CONFIG = "viewer-toolbar-config",
|
|
23
|
-
TOOLBAR_VISIBILITY = "viewer-toolbar-visibility",
|
|
24
|
-
PANEL_OPEN = "viewer-panel-open",
|
|
25
|
-
PANEL_CLOSE = "viewer-panel-close",
|
|
26
|
-
CUTTING_PLANE_ACTION = "viewer-cutting-plane-action",
|
|
27
|
-
SHEETS_GET_LIST = "viewer-sheets-get-list",
|
|
28
|
-
SHEETS_LIST = "viewer-sheets-list",
|
|
29
|
-
SHEETS_APPLY = "viewer-sheets-apply",
|
|
30
|
-
TREE_SELECT_NODE = "viewer-tree-select-node",
|
|
31
|
-
TREE_GET_NODE_IDS = "viewer-tree-get-node-ids",
|
|
32
|
-
TREE_NODE_IDS = "viewer-tree-node-ids",
|
|
33
|
-
PDF_PLAN_MODE = "viewer-pdf-plan-mode",
|
|
34
|
-
PDF_DOCUMENT_MODE = "viewer-pdf-document-mode",
|
|
35
|
-
PDF_FIRST_PAGE = "viewer-pdf-first-page",
|
|
36
|
-
PDF_PREVIOUS_PAGE = "viewer-pdf-previous-page",
|
|
37
|
-
PDF_NEXT_PAGE = "viewer-pdf-next-page",
|
|
38
|
-
PDF_LAST_PAGE = "viewer-pdf-last-page",
|
|
39
|
-
PDF_CURRENT_PAGE = "viewer-pdf-current-page",
|
|
40
|
-
HOME_CLICK = "viewer-home-click",
|
|
41
|
-
NODE_SELECT = "viewer-node-select",
|
|
42
|
-
PAN_CHANGE = "viewer-pan-change"
|
|
43
|
-
}
|
|
44
|
-
export declare enum ViewerMessageSource {
|
|
45
|
-
SDK = "HC_SDK",
|
|
46
|
-
VIEWER = "HC_VIEWER"
|
|
47
|
-
}
|
|
48
|
-
export declare type OutgoingMessage<T = unknown> = {
|
|
49
|
-
source: ViewerMessageSource.SDK;
|
|
50
|
-
type: ViewerMessageType;
|
|
51
|
-
payload?: T;
|
|
52
|
-
};
|
|
53
|
-
export declare type IncomingMessage<T = any> = {
|
|
54
|
-
source?: ViewerMessageSource | string;
|
|
55
|
-
type: ViewerMessageType;
|
|
56
|
-
payload?: T;
|
|
57
|
-
};
|
|
58
|
-
export declare type LanguageCode = "en" | "vn";
|
|
59
|
-
export declare type LanguageChangePayload = {
|
|
60
|
-
language: LanguageCode;
|
|
61
|
-
timestamp?: number;
|
|
62
|
-
};
|
|
63
|
-
export declare type DrawModeValue = "shaded" | "wireframe" | "hidden-line" | "shaded-wire" | "xray" | "ghosting";
|
|
64
|
-
export declare type DrawModePayload = {
|
|
65
|
-
mode: DrawModeValue;
|
|
66
|
-
};
|
|
67
|
-
export declare type ToolbarVisibilityTarget = "all" | "left" | "center" | "right";
|
|
68
|
-
export declare type ToolbarVisibilityPayload = {
|
|
69
|
-
visible: boolean;
|
|
70
|
-
target?: ToolbarVisibilityTarget;
|
|
71
|
-
};
|
|
72
|
-
export declare type ExplodePayload = {
|
|
73
|
-
magnitude: number;
|
|
74
|
-
};
|
|
75
|
-
export declare type MarkupAction = "line" | "arrow" | "circle" | "ellipse" | "rectangle" | "polygon" | "polyline" | "textbox" | "note" | "callout" | "cloud" | "freehand";
|
|
76
|
-
export declare type MarkupActionPayload = {
|
|
77
|
-
action: MarkupAction;
|
|
78
|
-
};
|
|
79
|
-
export declare type MarkupRequestPayload = {
|
|
80
|
-
requestId: string;
|
|
81
|
-
};
|
|
82
|
-
export declare type MarkupOperationResultPayload = {
|
|
83
|
-
requestId: string;
|
|
84
|
-
success: boolean;
|
|
85
|
-
timestamp: number;
|
|
86
|
-
error?: string;
|
|
87
|
-
};
|
|
88
|
-
export declare type MarkupListItem = {
|
|
89
|
-
id: string;
|
|
90
|
-
viewId: string;
|
|
91
|
-
viewName?: string;
|
|
92
|
-
title: string;
|
|
93
|
-
type: string;
|
|
94
|
-
shapeName?: string;
|
|
95
|
-
createdDate?: string;
|
|
96
|
-
modifiedDate?: string;
|
|
97
|
-
createdBy?: string;
|
|
98
|
-
lastModifiedBy?: string;
|
|
99
|
-
};
|
|
100
|
-
export declare type MarkupListPayload = {
|
|
101
|
-
requestId: string;
|
|
102
|
-
markups: MarkupListItem[];
|
|
103
|
-
timestamp: number;
|
|
104
|
-
};
|
|
105
|
-
export declare type PanelTarget = "clipping-commands" | "setting" | "statesObjects" | "linkedObjects" | "model-tree" | "sheets" | "object-properties";
|
|
106
|
-
export declare type PanelOpenPayload = {
|
|
107
|
-
panel: PanelTarget;
|
|
108
|
-
format?: "3d" | "pdf";
|
|
109
|
-
};
|
|
110
|
-
export declare type PanelClosePayload = {
|
|
111
|
-
panel: PanelTarget;
|
|
112
|
-
format?: "3d" | "pdf";
|
|
113
|
-
};
|
|
114
|
-
export declare type CuttingPlaneAction = "close" | "multi" | "toggle-section" | "toggle-plane" | "plane-x" | "plane-y" | "plane-z" | "plane-box" | "rotate-box" | "reverse-plane-x" | "reverse-plane-y" | "reverse-plane-z";
|
|
115
|
-
export declare type CuttingPlaneActionPayload = {
|
|
116
|
-
action: CuttingPlaneAction;
|
|
117
|
-
};
|
|
118
|
-
export declare type SheetsGetListPayload = {
|
|
119
|
-
requestId: string;
|
|
120
|
-
};
|
|
121
|
-
export declare type SheetListItem = {
|
|
122
|
-
id: string | number;
|
|
123
|
-
name: string;
|
|
124
|
-
is3D?: boolean;
|
|
125
|
-
viewId?: string;
|
|
126
|
-
};
|
|
127
|
-
export declare type SheetsListPayload = {
|
|
128
|
-
requestId: string;
|
|
129
|
-
sheets: SheetListItem[];
|
|
130
|
-
activeSheetId?: string | number | null;
|
|
131
|
-
timestamp: number;
|
|
132
|
-
};
|
|
133
|
-
export declare type SheetsApplyPayload = {
|
|
134
|
-
sheetId: string | number;
|
|
135
|
-
};
|
|
136
|
-
export declare type TreeSelectNodePayload = {
|
|
137
|
-
nodeId: string;
|
|
138
|
-
};
|
|
139
|
-
export declare type TreeGetNodeIdsPayload = {
|
|
140
|
-
requestId: string;
|
|
141
|
-
onlyRealNodes?: boolean;
|
|
142
|
-
};
|
|
143
|
-
export declare type TreeNodeIdsPayload = {
|
|
144
|
-
requestId: string;
|
|
145
|
-
nodeIds: string[];
|
|
146
|
-
timestamp: number;
|
|
147
|
-
};
|
|
148
|
-
export declare type PdfModeEventPayload = {
|
|
149
|
-
mode: "plan" | "document";
|
|
150
|
-
timestamp: number;
|
|
151
|
-
};
|
|
152
|
-
export declare type PdfToolbarActionEventPayload = {
|
|
153
|
-
timestamp: number;
|
|
154
|
-
};
|
|
155
|
-
export declare type PdfCurrentPagePayload = {
|
|
156
|
-
pageIndex: number;
|
|
157
|
-
pageNumber: number;
|
|
158
|
-
timestamp: number;
|
|
159
|
-
};
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// sdk/src/contracts/messages.ts
|
|
2
|
-
export var ViewerMessageType;
|
|
3
|
-
(function (ViewerMessageType) {
|
|
4
|
-
ViewerMessageType["LANGUAGE_CHANGE"] = "viewer-language-change";
|
|
5
|
-
ViewerMessageType["ZOOM"] = "viewer-zoom";
|
|
6
|
-
ViewerMessageType["DRAW_MODE"] = "viewer-draw-mode";
|
|
7
|
-
ViewerMessageType["EXPLODE"] = "viewer-explode";
|
|
8
|
-
ViewerMessageType["MARKUP_ACTION"] = "viewer-markup-action";
|
|
9
|
-
ViewerMessageType["MARKUP_SAVE"] = "viewer-markup-save";
|
|
10
|
-
ViewerMessageType["MARKUP_CANCEL"] = "viewer-markup-cancel";
|
|
11
|
-
ViewerMessageType["MARKUP_GET_LIST"] = "viewer-markup-get-list";
|
|
12
|
-
ViewerMessageType["MARKUP_SAVE_RESULT"] = "viewer-markup-save-result";
|
|
13
|
-
ViewerMessageType["MARKUP_CANCEL_RESULT"] = "viewer-markup-cancel-result";
|
|
14
|
-
ViewerMessageType["MARKUP_LIST"] = "viewer-markup-list";
|
|
15
|
-
ViewerMessageType["HOME"] = "viewer-home";
|
|
16
|
-
ViewerMessageType["PAN_TOGGLE"] = "viewer-pan-toggle";
|
|
17
|
-
ViewerMessageType["SELECT"] = "viewer-select";
|
|
18
|
-
ViewerMessageType["AREA_SELECT"] = "viewer-area-select";
|
|
19
|
-
ViewerMessageType["ORBIT"] = "viewer-orbit";
|
|
20
|
-
ViewerMessageType["ROTATE_Z"] = "viewer-rotate-z";
|
|
21
|
-
ViewerMessageType["WALK_THROUGH"] = "viewer-walk-through";
|
|
22
|
-
ViewerMessageType["ZOOM_WINDOW"] = "viewer-zoom-window";
|
|
23
|
-
ViewerMessageType["ZOOM_FIT"] = "viewer-zoom-fit";
|
|
24
|
-
ViewerMessageType["TOOLBAR_CONFIG"] = "viewer-toolbar-config";
|
|
25
|
-
ViewerMessageType["TOOLBAR_VISIBILITY"] = "viewer-toolbar-visibility";
|
|
26
|
-
ViewerMessageType["PANEL_OPEN"] = "viewer-panel-open";
|
|
27
|
-
ViewerMessageType["PANEL_CLOSE"] = "viewer-panel-close";
|
|
28
|
-
ViewerMessageType["CUTTING_PLANE_ACTION"] = "viewer-cutting-plane-action";
|
|
29
|
-
ViewerMessageType["SHEETS_GET_LIST"] = "viewer-sheets-get-list";
|
|
30
|
-
ViewerMessageType["SHEETS_LIST"] = "viewer-sheets-list";
|
|
31
|
-
ViewerMessageType["SHEETS_APPLY"] = "viewer-sheets-apply";
|
|
32
|
-
ViewerMessageType["TREE_SELECT_NODE"] = "viewer-tree-select-node";
|
|
33
|
-
ViewerMessageType["TREE_GET_NODE_IDS"] = "viewer-tree-get-node-ids";
|
|
34
|
-
ViewerMessageType["TREE_NODE_IDS"] = "viewer-tree-node-ids";
|
|
35
|
-
ViewerMessageType["PDF_PLAN_MODE"] = "viewer-pdf-plan-mode";
|
|
36
|
-
ViewerMessageType["PDF_DOCUMENT_MODE"] = "viewer-pdf-document-mode";
|
|
37
|
-
ViewerMessageType["PDF_FIRST_PAGE"] = "viewer-pdf-first-page";
|
|
38
|
-
ViewerMessageType["PDF_PREVIOUS_PAGE"] = "viewer-pdf-previous-page";
|
|
39
|
-
ViewerMessageType["PDF_NEXT_PAGE"] = "viewer-pdf-next-page";
|
|
40
|
-
ViewerMessageType["PDF_LAST_PAGE"] = "viewer-pdf-last-page";
|
|
41
|
-
ViewerMessageType["PDF_CURRENT_PAGE"] = "viewer-pdf-current-page";
|
|
42
|
-
ViewerMessageType["HOME_CLICK"] = "viewer-home-click";
|
|
43
|
-
ViewerMessageType["NODE_SELECT"] = "viewer-node-select";
|
|
44
|
-
ViewerMessageType["PAN_CHANGE"] = "viewer-pan-change";
|
|
45
|
-
})(ViewerMessageType || (ViewerMessageType = {}));
|
|
46
|
-
export var ViewerMessageSource;
|
|
47
|
-
(function (ViewerMessageSource) {
|
|
48
|
-
ViewerMessageSource["SDK"] = "HC_SDK";
|
|
49
|
-
ViewerMessageSource["VIEWER"] = "HC_VIEWER";
|
|
50
|
-
})(ViewerMessageSource || (ViewerMessageSource = {}));
|
package/dist/core/emitter.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare class Emitter<EventMap extends Record<string, any>> {
|
|
2
|
-
private listeners;
|
|
3
|
-
on<K extends keyof EventMap>(event: K, cb: (payload: EventMap[K]) => void): () => void;
|
|
4
|
-
off<K extends keyof EventMap>(event: K, cb: (payload: EventMap[K]) => void): void;
|
|
5
|
-
emit<K extends keyof EventMap>(event: K, payload: EventMap[K]): void;
|
|
6
|
-
clear(): void;
|
|
7
|
-
}
|
package/dist/core/emitter.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// sdk/src/core/emitter.ts
|
|
2
|
-
export class Emitter {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.listeners = {};
|
|
5
|
-
}
|
|
6
|
-
on(event, cb) {
|
|
7
|
-
if (!this.listeners[event]) {
|
|
8
|
-
this.listeners[event] = [];
|
|
9
|
-
}
|
|
10
|
-
const arr = this.listeners[event];
|
|
11
|
-
arr.push(cb);
|
|
12
|
-
return () => this.off(event, cb);
|
|
13
|
-
}
|
|
14
|
-
off(event, cb) {
|
|
15
|
-
const arr = this.listeners[event];
|
|
16
|
-
if (!arr)
|
|
17
|
-
return;
|
|
18
|
-
const idx = arr.indexOf(cb);
|
|
19
|
-
if (idx >= 0)
|
|
20
|
-
arr.splice(idx, 1);
|
|
21
|
-
if (arr.length === 0)
|
|
22
|
-
delete this.listeners[event];
|
|
23
|
-
}
|
|
24
|
-
emit(event, payload) {
|
|
25
|
-
var _a;
|
|
26
|
-
(_a = this.listeners[event]) === null || _a === void 0 ? void 0 : _a.forEach((cb) => cb(payload));
|
|
27
|
-
}
|
|
28
|
-
clear() {
|
|
29
|
-
this.listeners = {};
|
|
30
|
-
}
|
|
31
|
-
}
|