3dviewer-sdk 1.0.15 → 1.0.17
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/contracts/events.d.ts +97 -0
- package/dist/contracts/events.js +1 -0
- package/dist/contracts/messages.d.ts +159 -0
- package/dist/contracts/messages.js +50 -0
- package/dist/core/emitter.d.ts +7 -0
- package/dist/core/emitter.js +31 -0
- package/dist/index.d.mts +39 -5
- package/dist/index.d.ts +39 -5
- package/dist/index.js +110 -13
- package/dist/index.mjs +110 -13
- package/dist/modules/camera.module.d.ts +13 -0
- package/dist/modules/camera.module.js +18 -0
- package/dist/modules/files.module.d.ts +112 -0
- package/dist/modules/files.module.js +461 -0
- package/dist/modules/interaction.module.d.ts +28 -0
- package/dist/modules/interaction.module.js +63 -0
- package/dist/modules/language.module.d.ts +8 -0
- package/dist/modules/language.module.js +15 -0
- package/dist/modules/markup.module.d.ts +26 -0
- package/dist/modules/markup.module.js +96 -0
- package/dist/modules/model-tree.module.d.ts +12 -0
- package/dist/modules/model-tree.module.js +42 -0
- package/dist/modules/node.module.d.ts +11 -0
- package/dist/modules/node.module.js +6 -0
- package/dist/modules/toolbar.module.d.ts +93 -0
- package/dist/modules/toolbar.module.js +249 -0
- package/dist/viewer.d.ts +54 -0
- package/dist/viewer.js +290 -0
- package/package.json +1 -1
|
@@ -0,0 +1,97 @@
|
|
|
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];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,159 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
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 = {}));
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
}
|
package/dist/index.d.mts
CHANGED
|
@@ -36,6 +36,8 @@ declare enum ViewerMessageType {
|
|
|
36
36
|
TREE_SELECT_NODE = "viewer-tree-select-node",
|
|
37
37
|
TREE_GET_NODE_IDS = "viewer-tree-get-node-ids",
|
|
38
38
|
TREE_NODE_IDS = "viewer-tree-node-ids",
|
|
39
|
+
TREE_GET_NODES = "viewer-tree-get-nodes",
|
|
40
|
+
TREE_NODES = "viewer-tree-nodes",
|
|
39
41
|
PDF_PLAN_MODE = "viewer-pdf-plan-mode",
|
|
40
42
|
PDF_DOCUMENT_MODE = "viewer-pdf-document-mode",
|
|
41
43
|
PDF_FIRST_PAGE = "viewer-pdf-first-page",
|
|
@@ -91,6 +93,19 @@ type StateObjectItem = {
|
|
|
91
93
|
type: string;
|
|
92
94
|
};
|
|
93
95
|
};
|
|
96
|
+
type TreeNodeItem = {
|
|
97
|
+
id: string;
|
|
98
|
+
name: string;
|
|
99
|
+
type: number;
|
|
100
|
+
parent?: string;
|
|
101
|
+
childs?: string[];
|
|
102
|
+
modelFileId?: string;
|
|
103
|
+
persistentId?: string;
|
|
104
|
+
categoryName?: string;
|
|
105
|
+
familyName?: string;
|
|
106
|
+
typeName?: string;
|
|
107
|
+
isRealNode: boolean;
|
|
108
|
+
};
|
|
94
109
|
type PdfModeEventPayload = {
|
|
95
110
|
mode: "plan" | "document";
|
|
96
111
|
timestamp: number;
|
|
@@ -127,6 +142,12 @@ type ViewerEventMap = {
|
|
|
127
142
|
nodeIds: string[];
|
|
128
143
|
timestamp: number;
|
|
129
144
|
};
|
|
145
|
+
"modelTree:nodes": {
|
|
146
|
+
requestId: string;
|
|
147
|
+
nodes: TreeNodeItem[];
|
|
148
|
+
rootNodeIds?: string[];
|
|
149
|
+
timestamp: number;
|
|
150
|
+
};
|
|
130
151
|
"sheets:list": {
|
|
131
152
|
requestId: string;
|
|
132
153
|
sheets: {
|
|
@@ -237,8 +258,7 @@ declare class InteractionModule {
|
|
|
237
258
|
}) => void) => () => void;
|
|
238
259
|
};
|
|
239
260
|
constructor(viewer: Viewer3D);
|
|
240
|
-
|
|
241
|
-
disablePan(): void;
|
|
261
|
+
pan(): void;
|
|
242
262
|
select(): void;
|
|
243
263
|
areaSelect(): void;
|
|
244
264
|
orbit(): void;
|
|
@@ -281,8 +301,8 @@ type ConvertV2Options = {
|
|
|
281
301
|
filename: string;
|
|
282
302
|
originalFilePath: string;
|
|
283
303
|
downloadUrl: string;
|
|
284
|
-
workflowId
|
|
285
|
-
taskId
|
|
304
|
+
workflowId?: string;
|
|
305
|
+
taskId?: string;
|
|
286
306
|
baseFileId: string;
|
|
287
307
|
baseMajorRev?: number;
|
|
288
308
|
baseMinorRev?: number;
|
|
@@ -476,16 +496,30 @@ declare class ToolbarModule {
|
|
|
476
496
|
private postStatesObjectsGetList;
|
|
477
497
|
}
|
|
478
498
|
|
|
479
|
-
type
|
|
499
|
+
type ModelTreeRequestOptions = {
|
|
480
500
|
onlyRealNodes?: boolean;
|
|
481
501
|
timeoutMs?: number;
|
|
482
502
|
};
|
|
503
|
+
type GetNodeIdsOptions = ModelTreeRequestOptions;
|
|
504
|
+
type GetNodesOptions = ModelTreeRequestOptions;
|
|
505
|
+
type ModelTreeNode = TreeNodeItem;
|
|
506
|
+
type ModelTreeHierarchyNode = ModelTreeNode & {
|
|
507
|
+
children: ModelTreeHierarchyNode[];
|
|
508
|
+
};
|
|
483
509
|
declare class ModelTreeModule {
|
|
484
510
|
private viewer;
|
|
485
511
|
constructor(viewer: Viewer3D);
|
|
486
512
|
open(): void;
|
|
487
513
|
selectNode(nodeId: string | number): void;
|
|
488
514
|
getNodeIds(options?: GetNodeIdsOptions): Promise<string[]>;
|
|
515
|
+
getNodes(options?: GetNodesOptions): Promise<ModelTreeNode[]>;
|
|
516
|
+
getTree(options?: GetNodesOptions): Promise<ModelTreeHierarchyNode[]>;
|
|
517
|
+
private requestNodes;
|
|
518
|
+
private resolveTimeoutMs;
|
|
519
|
+
private postPanelOpen;
|
|
520
|
+
private postTreeSelectNode;
|
|
521
|
+
private postTreeGetNodeIds;
|
|
522
|
+
private postTreeGetNodes;
|
|
489
523
|
}
|
|
490
524
|
|
|
491
525
|
type MarkupRequestOptions = {
|
package/dist/index.d.ts
CHANGED
|
@@ -36,6 +36,8 @@ declare enum ViewerMessageType {
|
|
|
36
36
|
TREE_SELECT_NODE = "viewer-tree-select-node",
|
|
37
37
|
TREE_GET_NODE_IDS = "viewer-tree-get-node-ids",
|
|
38
38
|
TREE_NODE_IDS = "viewer-tree-node-ids",
|
|
39
|
+
TREE_GET_NODES = "viewer-tree-get-nodes",
|
|
40
|
+
TREE_NODES = "viewer-tree-nodes",
|
|
39
41
|
PDF_PLAN_MODE = "viewer-pdf-plan-mode",
|
|
40
42
|
PDF_DOCUMENT_MODE = "viewer-pdf-document-mode",
|
|
41
43
|
PDF_FIRST_PAGE = "viewer-pdf-first-page",
|
|
@@ -91,6 +93,19 @@ type StateObjectItem = {
|
|
|
91
93
|
type: string;
|
|
92
94
|
};
|
|
93
95
|
};
|
|
96
|
+
type TreeNodeItem = {
|
|
97
|
+
id: string;
|
|
98
|
+
name: string;
|
|
99
|
+
type: number;
|
|
100
|
+
parent?: string;
|
|
101
|
+
childs?: string[];
|
|
102
|
+
modelFileId?: string;
|
|
103
|
+
persistentId?: string;
|
|
104
|
+
categoryName?: string;
|
|
105
|
+
familyName?: string;
|
|
106
|
+
typeName?: string;
|
|
107
|
+
isRealNode: boolean;
|
|
108
|
+
};
|
|
94
109
|
type PdfModeEventPayload = {
|
|
95
110
|
mode: "plan" | "document";
|
|
96
111
|
timestamp: number;
|
|
@@ -127,6 +142,12 @@ type ViewerEventMap = {
|
|
|
127
142
|
nodeIds: string[];
|
|
128
143
|
timestamp: number;
|
|
129
144
|
};
|
|
145
|
+
"modelTree:nodes": {
|
|
146
|
+
requestId: string;
|
|
147
|
+
nodes: TreeNodeItem[];
|
|
148
|
+
rootNodeIds?: string[];
|
|
149
|
+
timestamp: number;
|
|
150
|
+
};
|
|
130
151
|
"sheets:list": {
|
|
131
152
|
requestId: string;
|
|
132
153
|
sheets: {
|
|
@@ -237,8 +258,7 @@ declare class InteractionModule {
|
|
|
237
258
|
}) => void) => () => void;
|
|
238
259
|
};
|
|
239
260
|
constructor(viewer: Viewer3D);
|
|
240
|
-
|
|
241
|
-
disablePan(): void;
|
|
261
|
+
pan(): void;
|
|
242
262
|
select(): void;
|
|
243
263
|
areaSelect(): void;
|
|
244
264
|
orbit(): void;
|
|
@@ -281,8 +301,8 @@ type ConvertV2Options = {
|
|
|
281
301
|
filename: string;
|
|
282
302
|
originalFilePath: string;
|
|
283
303
|
downloadUrl: string;
|
|
284
|
-
workflowId
|
|
285
|
-
taskId
|
|
304
|
+
workflowId?: string;
|
|
305
|
+
taskId?: string;
|
|
286
306
|
baseFileId: string;
|
|
287
307
|
baseMajorRev?: number;
|
|
288
308
|
baseMinorRev?: number;
|
|
@@ -476,16 +496,30 @@ declare class ToolbarModule {
|
|
|
476
496
|
private postStatesObjectsGetList;
|
|
477
497
|
}
|
|
478
498
|
|
|
479
|
-
type
|
|
499
|
+
type ModelTreeRequestOptions = {
|
|
480
500
|
onlyRealNodes?: boolean;
|
|
481
501
|
timeoutMs?: number;
|
|
482
502
|
};
|
|
503
|
+
type GetNodeIdsOptions = ModelTreeRequestOptions;
|
|
504
|
+
type GetNodesOptions = ModelTreeRequestOptions;
|
|
505
|
+
type ModelTreeNode = TreeNodeItem;
|
|
506
|
+
type ModelTreeHierarchyNode = ModelTreeNode & {
|
|
507
|
+
children: ModelTreeHierarchyNode[];
|
|
508
|
+
};
|
|
483
509
|
declare class ModelTreeModule {
|
|
484
510
|
private viewer;
|
|
485
511
|
constructor(viewer: Viewer3D);
|
|
486
512
|
open(): void;
|
|
487
513
|
selectNode(nodeId: string | number): void;
|
|
488
514
|
getNodeIds(options?: GetNodeIdsOptions): Promise<string[]>;
|
|
515
|
+
getNodes(options?: GetNodesOptions): Promise<ModelTreeNode[]>;
|
|
516
|
+
getTree(options?: GetNodesOptions): Promise<ModelTreeHierarchyNode[]>;
|
|
517
|
+
private requestNodes;
|
|
518
|
+
private resolveTimeoutMs;
|
|
519
|
+
private postPanelOpen;
|
|
520
|
+
private postTreeSelectNode;
|
|
521
|
+
private postTreeGetNodeIds;
|
|
522
|
+
private postTreeGetNodes;
|
|
489
523
|
}
|
|
490
524
|
|
|
491
525
|
type MarkupRequestOptions = {
|