@moxa/graph 3.0.0-beta.1 → 3.0.0-beta.11

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.
Files changed (124) hide show
  1. package/README.md +615 -114
  2. package/assets/icon-sprite.svg +1 -1
  3. package/behaviors/click-select/index.d.ts.map +1 -1
  4. package/behaviors/drag-element/index.d.ts.map +1 -1
  5. package/behaviors/drill-down/drill-down-manager.d.ts +55 -0
  6. package/behaviors/drill-down/drill-down-manager.d.ts.map +1 -0
  7. package/behaviors/drill-down/index.d.ts +71 -0
  8. package/behaviors/drill-down/index.d.ts.map +1 -0
  9. package/behaviors/drill-down/models/index.d.ts +7 -0
  10. package/behaviors/drill-down/models/index.d.ts.map +1 -0
  11. package/behaviors/hover-activate/index.d.ts.map +1 -1
  12. package/components/edge-arrow/transforms/index.d.ts.map +1 -1
  13. package/components/edge-label/index.d.ts +4 -4
  14. package/components/edge-label/index.d.ts.map +1 -1
  15. package/components/edge-label/utils/style.d.ts.map +1 -1
  16. package/components/edge-line/index.d.ts.map +1 -1
  17. package/components/edge-polyline/index.d.ts.map +1 -1
  18. package/components/edge-quadratic/index.d.ts.map +1 -1
  19. package/components/group-device/index.d.ts +34 -0
  20. package/components/group-device/index.d.ts.map +1 -1
  21. package/components/group-device/models/index.d.ts +11 -1
  22. package/components/group-device/models/index.d.ts.map +1 -1
  23. package/components/group-device/transforms/index.d.ts.map +1 -1
  24. package/components/group-device/utils/style.d.ts.map +1 -1
  25. package/components/node-device/models/index.d.ts +2 -0
  26. package/components/node-device/models/index.d.ts.map +1 -1
  27. package/components/node-device/utils/style.d.ts.map +1 -1
  28. package/components/node-label/index.d.ts +1 -1
  29. package/components/node-label/index.d.ts.map +1 -1
  30. package/components/shared/transforms/edge-transform.d.ts.map +1 -1
  31. package/components/shared/transforms/group-transform.d.ts.map +1 -1
  32. package/components/shared/transforms/node-transform.d.ts.map +1 -1
  33. package/components/shared/utils/edge-utils/index.d.ts +1 -0
  34. package/components/shared/utils/edge-utils/index.d.ts.map +1 -1
  35. package/components/shared/utils/edge-utils/state-style.d.ts +24 -0
  36. package/components/shared/utils/edge-utils/state-style.d.ts.map +1 -0
  37. package/components/shared/utils/edge-utils/style.d.ts +19 -1
  38. package/components/shared/utils/edge-utils/style.d.ts.map +1 -1
  39. package/components/shared/utils/group-utils/drill-icon.d.ts +10 -0
  40. package/components/shared/utils/group-utils/drill-icon.d.ts.map +1 -0
  41. package/components/shared/utils/group-utils/index.d.ts +3 -0
  42. package/components/shared/utils/group-utils/index.d.ts.map +1 -0
  43. package/components/shared/utils/group-utils/label-background.d.ts +10 -0
  44. package/components/shared/utils/group-utils/label-background.d.ts.map +1 -0
  45. package/components/shared/utils/index.d.ts +1 -0
  46. package/components/shared/utils/index.d.ts.map +1 -1
  47. package/components/shared/utils/node-utils/config.d.ts +27 -0
  48. package/components/shared/utils/node-utils/config.d.ts.map +1 -0
  49. package/components/shared/utils/node-utils/icon-style.d.ts.map +1 -1
  50. package/components/shared/utils/node-utils/index.d.ts +6 -5
  51. package/components/shared/utils/node-utils/index.d.ts.map +1 -1
  52. package/components/shared/utils/node-utils/label-background.d.ts.map +1 -1
  53. package/components/shared/utils/node-utils/offset.d.ts +2 -6
  54. package/components/shared/utils/node-utils/offset.d.ts.map +1 -1
  55. package/components/shared/utils/node-utils/state-styles.d.ts +64 -0
  56. package/components/shared/utils/node-utils/state-styles.d.ts.map +1 -0
  57. package/components/shared/utils/node-utils/status-style.d.ts.map +1 -1
  58. package/components/shared/utils/node-utils/text-style.d.ts.map +1 -1
  59. package/components/shared/utils/node-utils/theme.d.ts +1 -1
  60. package/components/shared/utils/node-utils/theme.d.ts.map +1 -1
  61. package/components/shared/utils/node-utils/title-style.d.ts.map +1 -1
  62. package/core/graph/graph.d.ts +218 -187
  63. package/core/graph/graph.d.ts.map +1 -1
  64. package/core/model/behavior.model.d.ts +6 -2
  65. package/core/model/behavior.model.d.ts.map +1 -1
  66. package/core/model/edge.model.d.ts +221 -0
  67. package/core/model/edge.model.d.ts.map +1 -1
  68. package/core/model/event.model.d.ts +7 -1
  69. package/core/model/event.model.d.ts.map +1 -1
  70. package/core/model/group.model.d.ts +57 -0
  71. package/core/model/group.model.d.ts.map +1 -1
  72. package/core/model/index.d.ts +1 -0
  73. package/core/model/index.d.ts.map +1 -1
  74. package/core/model/label.model.d.ts +2 -1
  75. package/core/model/label.model.d.ts.map +1 -1
  76. package/core/model/node.model.d.ts +106 -0
  77. package/core/model/node.model.d.ts.map +1 -1
  78. package/core/model/plugin.model.d.ts +6 -2
  79. package/core/model/plugin.model.d.ts.map +1 -1
  80. package/core/model/state.model.d.ts +1 -1
  81. package/core/model/state.model.d.ts.map +1 -1
  82. package/core/model/text.model.d.ts +5 -0
  83. package/core/model/text.model.d.ts.map +1 -0
  84. package/index.cjs +77 -77
  85. package/index.d.ts +1 -0
  86. package/index.d.ts.map +1 -1
  87. package/index.js +19959 -18690
  88. package/layouts/grid/index.d.ts.map +1 -1
  89. package/package.json +1 -1
  90. package/plugins/context-menu/index.d.ts +11 -1
  91. package/plugins/context-menu/index.d.ts.map +1 -1
  92. package/plugins/history/config/command-filter.d.ts +5 -0
  93. package/plugins/history/config/command-filter.d.ts.map +1 -0
  94. package/plugins/history/config/drill-integration.d.ts +7 -0
  95. package/plugins/history/config/drill-integration.d.ts.map +1 -0
  96. package/plugins/history/config/history-options.d.ts +4 -0
  97. package/plugins/history/config/history-options.d.ts.map +1 -0
  98. package/plugins/history/history.model.d.ts +5 -0
  99. package/plugins/history/history.model.d.ts.map +1 -0
  100. package/plugins/history/index.d.ts +8 -6
  101. package/plugins/history/index.d.ts.map +1 -1
  102. package/plugins/index.d.ts +10 -0
  103. package/plugins/index.d.ts.map +1 -0
  104. package/plugins/minimap/index.d.ts +3 -2
  105. package/plugins/minimap/index.d.ts.map +1 -1
  106. package/plugins/rich-tooltip/index.d.ts +11 -0
  107. package/plugins/rich-tooltip/index.d.ts.map +1 -0
  108. package/plugins/snapline/index.d.ts +130 -2
  109. package/plugins/snapline/index.d.ts.map +1 -1
  110. package/plugins/snapline/models/index.d.ts +1 -1
  111. package/plugins/snapline/models/index.d.ts.map +1 -1
  112. package/plugins/snapline/models/snapline-models.d.ts +61 -0
  113. package/plugins/snapline/models/snapline-models.d.ts.map +1 -0
  114. package/plugins/tooltip/index.d.ts +1 -2
  115. package/plugins/tooltip/index.d.ts.map +1 -1
  116. package/shared/transforms/behavior-transform.d.ts +1 -0
  117. package/shared/transforms/behavior-transform.d.ts.map +1 -1
  118. package/shared/transforms/graph-transform.d.ts.map +1 -1
  119. package/shared/transforms/plugin-transform.d.ts +5 -4
  120. package/shared/transforms/plugin-transform.d.ts.map +1 -1
  121. package/shared/utils/config-setter.d.ts +9 -0
  122. package/shared/utils/config-setter.d.ts.map +1 -0
  123. package/shared/utils/index.d.ts +3 -2
  124. package/shared/utils/index.d.ts.map +1 -1
@@ -4,91 +4,98 @@ import { DataController } from '@antv/g6/lib/runtime/data';
4
4
  import { ElementController } from '@antv/g6/lib/runtime/element';
5
5
  import { ViewportController } from '@antv/g6/lib/runtime/viewport';
6
6
  import { BehaviorConfig, DesignTokenConfig, EdgeData, ElementType, GraphConfig, GraphData, GraphRendererType, GroupData, LayoutConfig, NodeData, PartialEdgeData, PartialGroupData, PartialNodeData, PluginConfig, TokenConfig, TokenValues, UserThemeType, ZoomRange } from '../model';
7
+ import { DrillDownState } from '../../behaviors/drill-down';
7
8
  declare class Graph {
8
9
  private renderer;
9
10
  private dataManager;
10
11
  private configManager;
12
+ private historyDrillCleanup;
11
13
  graphReady: boolean;
12
14
  /**
13
- * 獲取圖形實例
14
- * @returns 圖形實例
15
+ * Get graph instance
16
+ * @returns Graph instance
15
17
  */
16
18
  get graph(): G6Graph;
17
19
  /**
18
- * 獲取容器元素
19
- * @returns 容器元素
20
+ * Get container element
21
+ * @returns Container element
20
22
  */
21
23
  get container(): HTMLElement;
22
24
  /**
23
- * 獲取畫布元素
24
- * @returns 畫布元素
25
+ * Get canvas element
26
+ * @returns Canvas element
25
27
  */
26
28
  get canvas(): HTMLCanvasElement | SVGAElement;
27
29
  /**
28
- * 獲取元素控制器
29
- * @returns 元素控制器
30
+ * Get element controller
31
+ * @returns Element controller
30
32
  */
31
33
  get elementController(): ElementController;
32
34
  /**
33
- * 獲取數據控制器
34
- * @returns 數據控制器
35
+ * Get data controller
36
+ * @returns Data controller
35
37
  */
36
38
  get dataController(): DataController;
37
39
  /**
38
- * 獲取行為控制器
39
- * @returns 行為控制器
40
+ * Get behavior controller
41
+ * @returns Behavior controller
40
42
  */
41
43
  get behaviorController(): BehaviorController;
42
44
  /**
43
- * 獲取視野控制器
44
- * @returns 視野控制器
45
+ * Get viewport controller
46
+ * @returns Viewport controller
45
47
  */
46
48
  get viewportController(): ViewportController;
47
49
  /**
48
- * 獲取代幣配置
49
- * @returns 代幣配置
50
+ * Get token config
51
+ * @returns Token config
50
52
  */
51
53
  get tokenConfig(): TokenConfig;
52
54
  /**
53
- * 獲取圖示精靈文字
54
- * @returns 圖示精靈文字
55
+ * Get icon sprite text
56
+ * @returns Icon sprite text
55
57
  */
56
58
  get iconSpriteText(): string;
57
59
  /**
58
- * 建構函數
59
- * @param config - 圖形配置
60
+ * Constructor
61
+ * @param config - Graph config
60
62
  */
61
63
  constructor(config: GraphConfig);
62
64
  /**
63
- * 初始化圖形
65
+ * Initialize graph
64
66
  */
65
67
  private initGraph;
66
68
  /**
67
- * 設置事件處理器
69
+ * Setup event handlers
68
70
  */
69
71
  private setupEventHandlers;
70
72
  /**
71
- * 檢查元素是否存在
72
- * @param id - 元素ID
73
- * @returns 元素是否存在
73
+ * Setup History and Drill-Down integration
74
+ * Each drill level has its own independent history stack
75
+ */
76
+ private setupHistoryDrillIntegration;
77
+ /**
78
+ * Check if element exists
79
+ * @param id - Element ID
80
+ * @returns Whether element exists
74
81
  */
75
82
  isElementExist(id: string): boolean;
76
83
  /**
77
- * 檢查元素是否顯示
78
- * @param id - 元素ID
79
- * @returns 元素是否顯示
84
+ * Check if element is visible
85
+ * @param id - Element ID
86
+ * @returns Whether element is visible
80
87
  */
81
88
  isElementShow(id: string): boolean;
82
89
  /**
83
- * 檢查元素是否在視野內
84
- * @param id - 元素ID
85
- * @returns 元素是否在視野內
90
+ * Check if element is in viewport
91
+ * @param id - Element ID
92
+ * @returns Whether element is in viewport
86
93
  */
87
94
  isElementInView(id: string): boolean;
88
95
  /**
89
- * 獲取元素的邊界框
90
- * @param id - 元素ID或元素ID列表
91
- * @returns 元素的邊界框
96
+ * Get element bounding box
97
+ * @param id - Element ID or array of element IDs
98
+ * @returns Element bounding box
92
99
  */
93
100
  getElementBoundingBox(id: string | string[]): {
94
101
  width: number;
@@ -99,121 +106,122 @@ declare class Graph {
99
106
  max: import('@antv/g').Tuple3Number;
100
107
  };
101
108
  /**
102
- * 獲取圖形配置
103
- * @returns 當前圖形配置
109
+ * Get graph config
110
+ * @returns Current graph config
104
111
  */
105
112
  getConfig(): GraphConfig;
106
113
  /**
107
- * 獲取圖形大小
108
- * @returns 圖形的寬度和高度
114
+ * Get graph size
115
+ * @returns Width and height of the graph
109
116
  */
110
117
  getSize(): {
111
118
  width: number;
112
119
  height: number;
113
120
  };
114
121
  /**
115
- * 獲取元素類型
116
- * @param id - 元素ID
117
- * @returns 元素類型
122
+ * Get element type
123
+ * @param id - Element ID
124
+ * @returns Element type
118
125
  */
119
126
  getElementType(id: string): ElementType | null;
120
127
  /**
121
- * 獲取元素狀態
122
- * @param id - 元素ID
123
- * @returns 元素狀態
128
+ * Get element state
129
+ * @param id - Element ID
130
+ * @returns Element state
124
131
  */
125
132
  getElementState(id: string): string[];
126
133
  /**
127
- * 根據狀態獲取元素
128
- * @param type - 元素類型
129
- * @param state - 元素狀態
130
- * @returns 元素數據
134
+ * Get elements by state
135
+ * @param type - Element type
136
+ * @param state - Element state
137
+ * @returns Element data
131
138
  */
132
139
  getElementByState(type: 'node', state: string): NodeData[];
133
140
  getElementByState(type: 'edge', state: string): EdgeData[];
134
141
  getElementByState(type: 'group', state: string): GroupData[];
135
142
  /**
136
- * 根據元素類型獲取元素數據
137
- * @param types - 元素類型列表
138
- * @returns 元素數據列表
143
+ * Get element data by types
144
+ * @param types - Element type list
145
+ * @returns Element data list
139
146
  */
140
147
  getElementByTypes(types: ElementType[]): (NodeData | EdgeData | GroupData)[];
141
148
  /**
142
- * 設置渲染器
143
- * @param renderer - 渲染器類型
149
+ * Set renderer
150
+ * @param renderer - Renderer type
144
151
  */
145
152
  setRenderer(renderer: GraphRendererType): void;
146
153
  /**
147
- * 獲取主題
148
- * @returns 當前主題
154
+ * Get theme
155
+ * @returns Current theme
149
156
  */
150
157
  getTheme(): UserThemeType;
151
158
  getThemeTokens(): TokenValues;
152
159
  /**
153
- * 設置主題
154
- * @param theme - 主題類型
160
+ * Set theme
161
+ * @param theme - Theme type
155
162
  */
156
163
  setTheme(theme: UserThemeType): void;
157
- setThemeTokens(config: DesignTokenConfig | any): void;
164
+ setThemeTokens(_config: DesignTokenConfig | any): void;
158
165
  /**
159
- * 獲取佈局配置
160
- * @returns 佈局配置
166
+ * Get layout config
167
+ * @returns Layout config
161
168
  */
162
169
  getLayout(): LayoutConfig;
163
170
  /**
164
- * 設置佈局配置
165
- * @param config - 佈局配置
171
+ * Set layout config
172
+ * @param config - Layout config
166
173
  */
167
174
  setLayout(config: LayoutConfig): void;
168
175
  /**
169
- * 執行佈局計算
170
- * @param layoutOptions - 可選的佈局配置,若提供則優先使用
176
+ * Execute layout
177
+ * @param layoutOptions - Optional layout config, takes priority if provided
171
178
  */
172
179
  layout(layoutOptions?: LayoutConfig): Promise<void>;
173
180
  /**
174
- * 調整圖形大小
175
- * @param width - 寬度
176
- * @param height - 高度
181
+ * Resize graph
182
+ * @param width - Width
183
+ * @param height - Height
177
184
  */
178
185
  resize(): void;
179
186
  resize(width?: number, height?: number): void;
180
187
  /**
181
- * 刷新圖形
188
+ * Refresh graph
182
189
  */
183
190
  refresh(): void;
184
191
  /**
185
- * 設置是否自動調整大小
186
- * @param auto - 是否自動調整大小
192
+ * Set auto size
193
+ * @param auto - Whether to auto size
187
194
  */
188
195
  autoSize(auto: boolean): void;
189
196
  /**
190
- * 縮放圖形
191
- * @param ratio - 縮放比例
197
+ * Zoom graph
198
+ * @param ratio - Zoom ratio
192
199
  */
193
200
  zoom(ratio: number): void;
194
201
  /**
195
- * 縮放到指定比例
196
- * @param ratio - 縮放比例
202
+ * Zoom to ratio
203
+ * @param ratio - Zoom ratio
197
204
  */
198
205
  zoomTo(ratio: number): void;
199
206
  /**
200
- * 獲取當前縮放比例
201
- * @returns 縮放比例
207
+ * Get current zoom ratio
208
+ * @returns Zoom ratio
202
209
  */
203
210
  getZoom(): number;
204
211
  /**
205
- * @param zoomRange - 設定縮放比例範圍
206
- * @example [0.5, 5] - [min, max] 包含最小和最大縮放比例
212
+ * Set zoom range
213
+ * @param zoomRange - Zoom range
214
+ * @example [0.5, 5] - [min, max] includes min and max zoom ratio
207
215
  */
208
216
  setZoomRange(zoomRange: ZoomRange): void;
209
217
  /**
210
- * 獲取縮放比例範圍
211
- * @returns {ZoomRange} 取得縮放比例範圍
218
+ * Get zoom range
219
+ * @returns {ZoomRange} Zoom range
212
220
  */
213
221
  getZoomRange(): ZoomRange;
214
222
  /**
215
- * 獲取常用點
216
- * @returns 常用點
223
+ * Get common points
224
+ * @returns Common points
217
225
  */
218
226
  getCommonPoints(): {
219
227
  middle: {
@@ -238,14 +246,14 @@ declare class Graph {
238
246
  };
239
247
  };
240
248
  /**
241
- * 獲取圖形邊界矩形
242
- * @returns 邊界矩形
249
+ * Get graph bounding rect
250
+ * @returns Bounding rect
243
251
  */
244
252
  getBoundingRect(): DOMRect;
245
253
  /**
246
- * 將畫布坐標轉換為視口坐標
247
- * @param point - 畫布坐標
248
- * @returns 視口坐標
254
+ * Convert canvas coordinates to viewport coordinates
255
+ * @param point - Canvas coordinates
256
+ * @returns Viewport coordinates
249
257
  */
250
258
  canvasToViewport(point: {
251
259
  x: number;
@@ -255,9 +263,9 @@ declare class Graph {
255
263
  y: number;
256
264
  };
257
265
  /**
258
- * 將視口坐標轉換為畫布坐標
259
- * @param point - 視口坐標
260
- * @returns 畫布坐標
266
+ * Convert viewport coordinates to canvas coordinates
267
+ * @param point - Viewport coordinates
268
+ * @returns Canvas coordinates
261
269
  */
262
270
  viewportToCanvas(point: {
263
271
  x: number;
@@ -267,197 +275,220 @@ declare class Graph {
267
275
  y: number;
268
276
  };
269
277
  /**
270
- * 適應視口
278
+ * Fit view
271
279
  */
272
280
  fitView(): void;
273
281
  /**
274
- * 適應中心
282
+ * Fit center
275
283
  */
276
284
  fitCenter(): void;
277
285
  /**
278
- * 聚焦元素
279
- * @param id - 元素ID
286
+ * Focus element
287
+ * @param id - Element ID
280
288
  */
281
289
  focusItem(id: string): void;
282
290
  /**
283
- * 撤銷上一步操作
291
+ * Undo last operation
284
292
  */
285
293
  undo(): void;
286
294
  /**
287
- * 重做上一步操作
295
+ * Redo last operation
288
296
  */
289
297
  redo(): void;
290
298
  /**
291
- * 渲染圖形
299
+ * Drill into specified group
300
+ * @param groupId - Group ID to drill into
301
+ */
302
+ drillIntoGroup(groupId: string): void;
303
+ /**
304
+ * Drill out of current group
305
+ */
306
+ drillOutOfGroup(): void;
307
+ /**
308
+ * Reset drill navigation to root level
309
+ */
310
+ resetDrill(): void;
311
+ /**
312
+ * Get current drill-down state
313
+ * @returns Current drill-down state, returns undefined if drill-down behavior is not enabled
314
+ */
315
+ getDrillDownState(): DrillDownState | undefined;
316
+ /**
317
+ * Set drill-down state
318
+ * @param state - New drill-down state
319
+ */
320
+ setDrillDownState(state: DrillDownState): void;
321
+ /**
322
+ * Render graph
292
323
  */
293
324
  render(): void;
294
325
  /**
295
- * 設置圖形數據
296
- * @param data - 圖形數據
326
+ * Set graph data
327
+ * @param data - Graph data
297
328
  */
298
329
  setData(data: GraphData): void;
299
330
  /**
300
- * 清空圖形
331
+ * Clear graph
301
332
  */
302
333
  clear(): Promise<void>;
303
334
  destroy(): Promise<void>;
304
335
  /**
305
- * 獲取事件
306
- * @returns 事件對象
336
+ * Get events
337
+ * @returns Event object
307
338
  */
308
339
  getEvent(): Record<string, any>;
309
340
  /**
310
- * 檢查是否有指定事件
311
- * @param eventName - 事件名稱
312
- * @returns 是否有指定事件
341
+ * Check if event exists
342
+ * @param eventName - Event name
343
+ * @returns Whether event exists
313
344
  */
314
345
  hasEvent(eventName: string): boolean;
315
346
  /**
316
- * 獲取行為配置
317
- * @returns BehaviorConfig 格式的行為配置
347
+ * Get behavior config
348
+ * @returns Behavior config in BehaviorConfig format
318
349
  */
319
350
  getBehavior(): BehaviorConfig;
320
351
  /**
321
- * 獲取行為實例
322
- * @param key - 行為的唯一識別符
323
- * @returns 行為實例
352
+ * Get behavior instance
353
+ * @param key - Unique identifier for behavior
354
+ * @returns Behavior instance
324
355
  */
325
356
  getBehaviorInstance<T extends BaseBehaviorOptions = any>(key: string): BaseBehavior<T>;
326
357
  /**
327
- * 設置行為配置
328
- * @param config - BehaviorConfig 行為配置
358
+ * Set behavior config
359
+ * @param config - BehaviorConfig behavior config
329
360
  */
330
361
  setBehavior(config: BehaviorConfig): void;
331
362
  /**
332
- * 監聽事件
333
- * @param eventName - 事件名稱
334
- * @param callback - 回調函數
363
+ * Listen to event
364
+ * @param eventName - Event name
365
+ * @param callback - Callback function
335
366
  */
336
367
  on<T extends IEvent>(eventName: string, callback: (e: T) => void): void;
337
368
  /**
338
- * 監聽事件(一次性)
339
- * @param eventName - 事件名稱
340
- * @param callback - 回調函數
369
+ * Listen to event (once)
370
+ * @param eventName - Event name
371
+ * @param callback - Callback function
341
372
  */
342
373
  once<T extends IEvent>(eventName: string, callback: (e: T) => void): void;
343
374
  /**
344
- * 取消監聽事件
345
- * @param eventName - 事件名稱
346
- * @param callback - 回調函數
375
+ * Remove event listener
376
+ * @param eventName - Event name
377
+ * @param callback - Callback function
347
378
  */
348
379
  off(): void;
349
380
  off(eventName: string): void;
350
381
  /**
351
- * 獲取節點數據
352
- * @param id - 節點ID
353
- * @returns 節點數據
382
+ * Get node data
383
+ * @param id - Node ID
384
+ * @returns Node data
354
385
  */
355
386
  getNodeData(): NodeData[];
356
387
  getNodeData(id: string): NodeData;
357
388
  getNodeData(id: string[]): NodeData[];
358
389
  /**
359
- * 添加節點
360
- * @param node - 節點數據
390
+ * Add node
391
+ * @param node - Node data
361
392
  */
362
393
  addNode(node: NodeData | NodeData[]): void;
363
394
  /**
364
- * 更新節點
365
- * @param node - 節點數據
395
+ * Update node
396
+ * @param node - Node data
366
397
  */
367
398
  updateNode(node: PartialNodeData | PartialNodeData[]): void;
368
399
  /**
369
- * 移除節點
370
- * @param id - 節點ID
400
+ * Remove node
401
+ * @param id - Node ID
371
402
  */
372
403
  removeNode(id: string | string[]): void;
373
404
  /**
374
- * 顯示元素
375
- * @param id - 元素ID
405
+ * Show element
406
+ * @param id - Element ID
376
407
  */
377
408
  showElement(id: string | string[]): void;
378
409
  /**
379
- * 隱藏元素
380
- * @param id - 元素ID
410
+ * Hide element
411
+ * @param id - Element ID
381
412
  */
382
413
  hideElement(id: string | string[]): void;
383
414
  /**
384
- * 移除任一元素
385
- * @param id - 元素ID,可以是字符串或字符串数组
415
+ * Remove element
416
+ * @param id - Element ID, can be string or string array
386
417
  */
387
418
  removeElement(id: string | string[]): void;
388
419
  /**
389
- * 設置元素狀態
390
- * @param stateMap - 狀態映射
420
+ * Set element state
421
+ * @param stateMap - State map
391
422
  */
392
423
  setElementState(stateMap: Record<string, State | State[]>): void;
393
424
  /**
394
- * 清除元素狀態
395
- * @param id - 元素ID
425
+ * Clear element state
426
+ * @param id - Element ID
396
427
  */
397
428
  clearElementState(id: string | string[]): void;
398
429
  /**
399
- * 獲取邊數據
400
- * @param id - ID
401
- * @returns 邊數據
430
+ * Get edge data
431
+ * @param id - Edge ID
432
+ * @returns Edge data
402
433
  */
403
434
  getEdgeData(): EdgeData[];
404
435
  getEdgeData(id: string): EdgeData;
405
436
  getEdgeData(id: string[]): EdgeData[];
406
437
  /**
407
- * 檢查節點是否孤立
408
- * @param nodeId - 節點ID
409
- * @returns 是否孤立
438
+ * Check if node is isolated
439
+ * @param nodeId - Node ID
440
+ * @returns Whether isolated
410
441
  */
411
442
  isIsolated(nodeId: string): boolean;
412
443
  /**
413
- * 添加邊
414
- * @param edge - 邊數據
444
+ * Add edge
445
+ * @param edge - Edge data
415
446
  */
416
447
  addEdge(edge: EdgeData | EdgeData[]): void;
417
448
  /**
418
- * 移除邊
419
- * @param id - ID
449
+ * Remove edge
450
+ * @param id - Edge ID
420
451
  */
421
452
  removeEdge(id: string | string[]): void;
422
453
  /**
423
- * 更新邊
424
- * @param edge - 邊數據
454
+ * Update edge
455
+ * @param edge - Edge data
425
456
  */
426
457
  updateEdge(edge: PartialEdgeData | PartialEdgeData[]): void;
427
458
  /**
428
- * 獲取組數據
429
- * @param id - ID
430
- * @returns 組數據
459
+ * Get group data
460
+ * @param id - Group ID
461
+ * @returns Group data
431
462
  */
432
463
  getGroupData(): GroupData[];
433
464
  getGroupData(id: string): GroupData;
434
465
  getGroupData(id: string[]): GroupData[];
435
466
  /**
436
- * 獲取子元素數據
437
- * @param id - 元素ID
438
- * @param option - 選項
439
- * @param option.level - 遞迴層級
440
- * @returns 子元素數據
467
+ * Get children data
468
+ * @param id - Element ID
469
+ * @param option - Options
470
+ * @param option.level - Recursive level
471
+ * @returns Children data
441
472
  */
442
473
  getChildrenData(id: string, option?: {
443
474
  level?: number;
444
475
  }): (NodeData | GroupData)[];
445
476
  /**
446
- * 添加組
447
- * @param group - 組數據
477
+ * Add group
478
+ * @param group - Group data
448
479
  */
449
480
  addGroup(group: GroupData | GroupData[]): void;
450
481
  /**
451
- * 將一組元素分配到指定的組。
482
+ * Assign elements to a specified group.
452
483
  *
453
- * 此方法將 `ids` 數組中每個元素的父組更新為提供的 `groupId`。它首先檢查 `ids` 數組中的任何元素是否是 `groupId` 的子元素,如果是,則記錄警告並退出而不進行任何更改。
484
+ * This method updates the parent group of each element in the `ids` array to the provided `groupId`. It first checks if any element in the `ids` array is a child of `groupId`, and if so, logs a warning and exits without making any changes.
454
485
  *
455
- * @param ids - 要分配到組的元素ID數組。
456
- * @param groupId - 要分配元素的組ID
486
+ * @param ids - Array of element IDs to assign to the group.
487
+ * @param groupId - Group ID to assign elements to.
457
488
  *
458
489
  * @remarks
459
- * - 如果 `ids` 數組中的某個元素已經是 `groupId` 的子元素,該方法將記錄警告並且不會對任何元素進行分配。
460
- * - 該方法確定每個元素的類型('node' 'group'),並相應地進行更新。
490
+ * - If an element in the `ids` array is already a child of `groupId`, the method will log a warning and not assign any elements.
491
+ * - The method determines the type of each element ('node' or 'group') and updates accordingly.
461
492
  *
462
493
  * @example
463
494
  * ```typescript
@@ -468,43 +499,43 @@ declare class Graph {
468
499
  */
469
500
  assignGroup(ids: string[], groupId: string): void;
470
501
  /**
471
- * 移除組
472
- * @param id - ID,可以是單個字符串或字符串数组
473
- * @param option - 選項
474
- * @param option.recursive - 是否遞迴移除子組,默認為false
502
+ * Remove group
503
+ * @param id - Group ID, can be single string or string array
504
+ * @param option - Options
505
+ * @param option.recursive - Whether to recursively remove child groups, defaults to false
475
506
  */
476
507
  removeGroup(id: string | string[], option?: {
477
508
  recursive?: boolean;
478
509
  }): void;
479
510
  /**
480
- * 更新組
481
- * @param group - 組數據
511
+ * Update group
512
+ * @param group - Group data
482
513
  */
483
514
  updateGroup(group: PartialGroupData | PartialGroupData[]): void;
484
515
  /**
485
- * 展開組
486
- * @param id - ID
516
+ * Expand group
517
+ * @param id - Group ID
487
518
  */
488
- expandGroup(id: string | string[]): void;
519
+ expandGroup(id: string | string[]): Promise<void>;
489
520
  /**
490
- * 折疊組
491
- * @param id - ID
521
+ * Collapse group
522
+ * @param id - Group ID
492
523
  */
493
- collapseGroup(id: string | string[]): void;
524
+ collapseGroup(id: string | string[]): Promise<void>;
494
525
  /**
495
- * 獲取插件配置
496
- * @returns PluginConfig 格式的插件配置
526
+ * Get plugin config
527
+ * @returns Plugin config in PluginConfig format
497
528
  */
498
529
  getPlugin(): PluginConfig;
499
530
  /**
500
- * 獲取插件實例
501
- * @param keyOrType - 插件的鍵或類型
502
- * @returns 插件實例
531
+ * Get plugin instance
532
+ * @param keyOrType - Plugin key or type
533
+ * @returns Plugin instance
503
534
  */
504
535
  getPluginInstance<T>(keyOrType: string): T;
505
536
  /**
506
- * 設置插件配置
507
- * @param config - PluginConfig 插件配置
537
+ * Set plugin config
538
+ * @param config - PluginConfig plugin config
508
539
  */
509
540
  setPlugin(config: PluginConfig): void;
510
541
  }