ronds-metadata 1.1.5 → 1.1.8

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 (53) hide show
  1. package/es/comps/DynamicPorts/comps/ContextMenu.css +8 -0
  2. package/es/comps/DynamicPorts/comps/ContextMenu.d.ts +7 -0
  3. package/es/comps/DynamicPorts/comps/ContextMenu.js +44 -0
  4. package/es/comps/DynamicPorts/comps/DragNode.d.ts +7 -0
  5. package/es/comps/DynamicPorts/comps/DragNode.js +49 -0
  6. package/es/comps/DynamicPorts/comps/GraphHandler/index.css +27 -0
  7. package/es/comps/DynamicPorts/comps/GraphHandler/index.d.ts +11 -0
  8. package/es/comps/DynamicPorts/comps/GraphHandler/index.js +50 -0
  9. package/es/comps/DynamicPorts/comps/NodeElement.d.ts +6 -0
  10. package/es/comps/DynamicPorts/comps/NodeElement.js +26 -0
  11. package/es/comps/DynamicPorts/comps/contextMenu/EdgeContextMenu/index.css +5 -0
  12. package/es/comps/DynamicPorts/comps/contextMenu/EdgeContextMenu/index.d.ts +8 -0
  13. package/es/comps/DynamicPorts/comps/contextMenu/EdgeContextMenu/index.js +42 -0
  14. package/es/comps/DynamicPorts/comps/contextMenu/GraphContextMenu/index.css +21 -0
  15. package/es/comps/DynamicPorts/comps/contextMenu/GraphContextMenu/index.d.ts +8 -0
  16. package/es/comps/DynamicPorts/comps/contextMenu/GraphContextMenu/index.js +40 -0
  17. package/es/comps/DynamicPorts/comps/contextMenu/NodeContextMenu/index.css +23 -0
  18. package/es/comps/DynamicPorts/comps/contextMenu/NodeContextMenu/index.d.ts +7 -0
  19. package/es/comps/DynamicPorts/comps/contextMenu/NodeContextMenu/index.js +55 -0
  20. package/es/comps/DynamicPorts/comps/shape/connector.d.ts +1 -0
  21. package/es/comps/DynamicPorts/comps/shape/connector.js +19 -0
  22. package/es/comps/DynamicPorts/comps/shape/edge.css +4 -0
  23. package/es/comps/DynamicPorts/comps/shape/edge.d.ts +10 -0
  24. package/es/comps/DynamicPorts/comps/shape/edge.js +91 -0
  25. package/es/comps/DynamicPorts/comps/shape/node.d.ts +11 -0
  26. package/es/comps/DynamicPorts/comps/shape/node.js +190 -0
  27. package/es/comps/DynamicPorts/constant/index.d.ts +7 -0
  28. package/es/comps/DynamicPorts/constant/index.js +19 -0
  29. package/es/comps/DynamicPorts/graph.d.ts +62 -0
  30. package/es/comps/DynamicPorts/graph.js +584 -0
  31. package/es/comps/DynamicPorts/index.css +167 -0
  32. package/es/comps/DynamicPorts/index.d.ts +19 -0
  33. package/es/comps/DynamicPorts/index.js +141 -0
  34. package/es/comps/DynamicPorts/interface.d.ts +34 -0
  35. package/es/comps/DynamicPorts/interface.js +6 -0
  36. package/es/comps/DynamicPorts/utils.d.ts +100 -0
  37. package/es/comps/DynamicPorts/utils.js +127 -0
  38. package/es/comps/MetadataEdit/components/MetaPropsEdit.js +5 -3
  39. package/es/comps/MetadataForm/DataCell/Ref.js +45 -25
  40. package/es/comps/MetadataForm/DataCell/Select.js +7 -22
  41. package/es/comps/MetadataForm/DataCell/layout/TableArray.js +63 -25
  42. package/es/comps/MetadataForm/utils.d.ts +1 -0
  43. package/es/comps/MetadataForm/utils.js +10 -1
  44. package/es/framework/graph/index.css +12 -0
  45. package/es/framework/graph/index.d.ts +60 -0
  46. package/es/framework/graph/index.js +425 -0
  47. package/es/framework/rxjs-hooks/useObservableState.d.ts +3 -0
  48. package/es/framework/rxjs-hooks/useObservableState.js +45 -0
  49. package/es/index.d.ts +2 -0
  50. package/es/index.js +3 -1
  51. package/package.json +7 -1
  52. package/es/comps/RzGraph/index.d.ts +0 -2
  53. package/es/comps/RzGraph/index.js +0 -7
@@ -0,0 +1,584 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
5
+ import "antd/es/tooltip/style";
6
+ import _Tooltip from "antd/es/tooltip";
7
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
8
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
9
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
10
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
11
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
12
+ import _get from "@babel/runtime/helpers/esm/get";
13
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
14
+ import produce from 'immer';
15
+ import React from 'react';
16
+ import ReactDOM from 'react-dom';
17
+ import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
18
+ import { filter, take } from 'rxjs/operators';
19
+ import { GraphCore } from '../../framework/graph';
20
+ import NodeElement from './comps/NodeElement';
21
+ import { DPEdge } from './comps/shape/edge';
22
+ import { DPNode } from './comps/shape/node';
23
+ import { formatGraphData, formatNodeInfoToNodeMeta } from './utils';
24
+
25
+ var DPGraph = /*#__PURE__*/function (_GraphCore) {
26
+ _inherits(DPGraph, _GraphCore);
27
+
28
+ var _super = _createSuper(DPGraph);
29
+
30
+ // 图数据的订阅
31
+ function DPGraph(_graphData) {
32
+ var _thisSuper, _this;
33
+
34
+ _classCallCheck(this, DPGraph);
35
+
36
+ _this = _super.call(this, {
37
+ history: true,
38
+ frozen: true,
39
+ grid: true,
40
+ selecting: {
41
+ enabled: true,
42
+ rubberband: false,
43
+ multiple: true,
44
+ strict: true,
45
+ showNodeSelectionBox: false,
46
+ selectNodeOnMoved: false
47
+ },
48
+ keyboard: {
49
+ enabled: true
50
+ },
51
+ connecting: {
52
+ snap: {
53
+ radius: 10
54
+ },
55
+ allowBlank: false,
56
+ highlight: true,
57
+ connector: 'pai',
58
+ sourceAnchor: 'bottom',
59
+ targetAnchor: 'center',
60
+ connectionPoint: 'anchor',
61
+ createEdge: function createEdge() {
62
+ return new DPEdge({
63
+ attrs: {
64
+ line: {
65
+ strokeDasharray: '5 5',
66
+ stroke: '#808080',
67
+ strokeWidth: 1,
68
+ targetMarker: {
69
+ name: 'block',
70
+ args: {
71
+ size: '6'
72
+ }
73
+ }
74
+ }
75
+ }
76
+ });
77
+ },
78
+ validateEdge: function validateEdge(args) {
79
+ var _edge$target;
80
+
81
+ var edge = args.edge;
82
+ return !!(edge === null || edge === void 0 ? void 0 : (_edge$target = edge.target) === null || _edge$target === void 0 ? void 0 : _edge$target.port);
83
+ },
84
+ // 是否触发交互事件
85
+ validateMagnet: function validateMagnet(_ref) {
86
+ var magnet = _ref.magnet;
87
+ return magnet.getAttribute('port-group') !== 'in';
88
+ },
89
+ // 显示可用的链接桩
90
+ validateConnection: function validateConnection(_ref2) {
91
+ var sourceView = _ref2.sourceView,
92
+ targetView = _ref2.targetView,
93
+ sourceMagnet = _ref2.sourceMagnet,
94
+ targetMagnet = _ref2.targetMagnet;
95
+
96
+ // 不允许连接到自己
97
+ if (sourceView === targetView) {
98
+ return false;
99
+ } // 只能从输出链接桩创建连接
100
+
101
+
102
+ if (!sourceMagnet || sourceMagnet.getAttribute('port-group') === 'in') {
103
+ return false;
104
+ } // 只能连接到输入链接桩
105
+
106
+
107
+ if (!targetMagnet || targetMagnet.getAttribute('port-group') !== 'in') {
108
+ return false;
109
+ } // 判断目标链接桩是否可连接
110
+
111
+
112
+ var portId = targetMagnet.getAttribute('port');
113
+ var node = targetView.cell;
114
+ var port = node.getPort(portId);
115
+ return !(port && port.connected);
116
+ }
117
+ },
118
+ scroller: {
119
+ enabled: true,
120
+ pageVisible: false,
121
+ pageBreak: false,
122
+ pannable: true
123
+ },
124
+ highlighting: {
125
+ nodeAvailable: {
126
+ name: 'className',
127
+ args: {
128
+ className: 'available'
129
+ }
130
+ },
131
+ magnetAvailable: {
132
+ name: 'className',
133
+ args: {
134
+ className: 'available'
135
+ }
136
+ },
137
+ magnetAdsorbed: {
138
+ name: 'className',
139
+ args: {
140
+ className: 'adsorbed'
141
+ }
142
+ }
143
+ },
144
+ onPortRendered: function onPortRendered(args) {
145
+ var port = args.port;
146
+ var contentSelectors = args.contentSelectors;
147
+ var container = contentSelectors && contentSelectors.content;
148
+ var placement = port.group === 'in' ? 'top' : 'bottom';
149
+
150
+ if (container) {
151
+ ReactDOM.render( /*#__PURE__*/React.createElement(_Tooltip, {
152
+ title: port.name,
153
+ placement: placement
154
+ }, /*#__PURE__*/React.createElement("span", {
155
+ className: "dp-port ".concat(port.connected ? 'connected' : '')
156
+ })), container);
157
+ }
158
+ }
159
+ });
160
+ _this.factory$ = {
161
+ loading: new BehaviorSubject(false),
162
+ dpGraph: new BehaviorSubject(null),
163
+ selectedNodes: new BehaviorSubject([]),
164
+ contextMenuInfo: new BehaviorSubject(null)
165
+ };
166
+ _this.dpGraphSub = void 0;
167
+
168
+ _this.renderGraph = function (wrapper, container) {
169
+ _this.dpGraphSub = _this.factory$.dpGraph.pipe(filter(function (x) {
170
+ return !!x;
171
+ }), // 过滤出有效数据
172
+ take(1)).subscribe(function (graphData) {
173
+ if (!_this.graph) {
174
+ var _formatGraphData = formatGraphData(graphData),
175
+ nodes = _formatGraphData.nodes,
176
+ edges = _formatGraphData.edges;
177
+
178
+ _get((_thisSuper = _assertThisInitialized(_this), _getPrototypeOf(DPGraph.prototype)), "render", _thisSuper).call(_thisSuper, {
179
+ wrapper: wrapper,
180
+ container: container,
181
+ nodes: nodes,
182
+ edges: edges
183
+ });
184
+ }
185
+ });
186
+ };
187
+
188
+ _this.zoomGraph = function (factor) {
189
+ _this.zoom(factor);
190
+ };
191
+
192
+ _this.zoomGraphToFit = function () {
193
+ _this.zoom('fit');
194
+ };
195
+
196
+ _this.zoomGraphRealSize = function () {
197
+ _this.zoom('real');
198
+ };
199
+
200
+ _this.onDeleteNodes = function (ids) {
201
+ var nodeInstanceIds = [].concat(ids);
202
+
203
+ if (_this.graph && nodeInstanceIds.length) {
204
+ _this.deleteNodes(nodeInstanceIds);
205
+
206
+ _this.delDPGraphElement(nodeInstanceIds, []);
207
+ }
208
+ };
209
+
210
+ _this.onDeleteEdges = function (edges) {
211
+ var targetEdges = [].concat(edges);
212
+
213
+ _this.deleteEdges(targetEdges);
214
+
215
+ _this.delDPGraphElement([], targetEdges.map(function (cell) {
216
+ return cell.getData();
217
+ }));
218
+ };
219
+
220
+ _this.clearContextMenuInfo = function () {
221
+ _this.factory$.contextMenuInfo.next(null);
222
+ };
223
+
224
+ _this.initialize(_graphData);
225
+
226
+ return _this;
227
+ } // 获取实验和图及执行状态信息
228
+
229
+
230
+ _createClass(DPGraph, [{
231
+ key: "initialize",
232
+ value: function () {
233
+ var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(graphData) {
234
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
235
+ while (1) {
236
+ switch (_context.prev = _context.next) {
237
+ case 0:
238
+ this.factory$.loading.next(true);
239
+ _context.prev = 1;
240
+ _context.next = 4;
241
+ return this.loadDPGraph(graphData);
242
+
243
+ case 4:
244
+ this.factory$.loading.next(false);
245
+ _context.next = 11;
246
+ break;
247
+
248
+ case 7:
249
+ _context.prev = 7;
250
+ _context.t0 = _context["catch"](1);
251
+ this.factory$.loading.next(false);
252
+ console.error('加载实验错误', _context.t0);
253
+
254
+ case 11:
255
+ case "end":
256
+ return _context.stop();
257
+ }
258
+ }
259
+ }, _callee, this, [[1, 7]]);
260
+ }));
261
+
262
+ function initialize(_x) {
263
+ return _initialize.apply(this, arguments);
264
+ }
265
+
266
+ return initialize;
267
+ }() // 获取图
268
+
269
+ }, {
270
+ key: "loadDPGraph",
271
+ value: function () {
272
+ var _loadDPGraph = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(graphData) {
273
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
274
+ while (1) {
275
+ switch (_context2.prev = _context2.next) {
276
+ case 0:
277
+ this.factory$.dpGraph.next(graphData);
278
+
279
+ case 1:
280
+ case "end":
281
+ return _context2.stop();
282
+ }
283
+ }
284
+ }, _callee2, this);
285
+ }));
286
+
287
+ function loadDPGraph(_x2) {
288
+ return _loadDPGraph.apply(this, arguments);
289
+ }
290
+
291
+ return loadDPGraph;
292
+ }() // 判断画布是否准备完成
293
+
294
+ }, {
295
+ key: "isGraphReady",
296
+ value: function isGraphReady() {
297
+ return !!this.graph;
298
+ } // 渲染画布
299
+
300
+ }, {
301
+ key: "renderNode",
302
+ value: // 渲染节点
303
+ function renderNode(nodeMeta) {
304
+ var data = nodeMeta.data;
305
+ var type = data.type;
306
+
307
+ if (type === 'node') {
308
+ var node = this.graph.addNode(new DPNode(_objectSpread(_objectSpread({}, nodeMeta), {}, {
309
+ shape: 'dp-rect-port',
310
+ component: /*#__PURE__*/React.createElement(NodeElement, null)
311
+ })));
312
+ return node;
313
+ }
314
+
315
+ return undefined;
316
+ } // 渲染连线
317
+
318
+ }, {
319
+ key: "renderEdge",
320
+ value: function renderEdge(edgeMeta) {
321
+ return this.graph.addEdge(new DPEdge(edgeMeta));
322
+ } // 外部添加拖拽节点
323
+
324
+ }, {
325
+ key: "addDragNode",
326
+ value: function addDragNode(data) {
327
+ var graph = this.graph;
328
+
329
+ if (graph) {
330
+ var pos = this.graph.clientToLocal(data.x, data.y);
331
+
332
+ var _node = _objectSpread(_objectSpread({}, data), pos);
333
+
334
+ this.updateDPGraph([_node]);
335
+ var newNode = formatNodeInfoToNodeMeta(_node);
336
+ this.addNode(newNode);
337
+ }
338
+ } // 更新图信息
339
+
340
+ }, {
341
+ key: "updateDPGraph",
342
+ value: function () {
343
+ var _updateDPGraph = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
344
+ var nodes,
345
+ edges,
346
+ oldGraph,
347
+ newGraph,
348
+ _args3 = arguments;
349
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
350
+ while (1) {
351
+ switch (_context3.prev = _context3.next) {
352
+ case 0:
353
+ nodes = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : [];
354
+ edges = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : [];
355
+ oldGraph = this.factory$.dpGraph.getValue();
356
+ newGraph = produce(oldGraph, function (nextGraph) {
357
+ if (nodes.length) {
358
+ var _nextGraph$nodes;
359
+
360
+ (_nextGraph$nodes = nextGraph.nodes).push.apply(_nextGraph$nodes, _toConsumableArray(nodes));
361
+ }
362
+
363
+ if (edges.length) {
364
+ var _nextGraph$edges;
365
+
366
+ (_nextGraph$edges = nextGraph.edges).push.apply(_nextGraph$edges, _toConsumableArray(edges));
367
+ }
368
+ });
369
+ this.factory$.dpGraph.next(newGraph);
370
+
371
+ case 5:
372
+ case "end":
373
+ return _context3.stop();
374
+ }
375
+ }
376
+ }, _callee3, this);
377
+ }));
378
+
379
+ function updateDPGraph() {
380
+ return _updateDPGraph.apply(this, arguments);
381
+ }
382
+
383
+ return updateDPGraph;
384
+ }() // 删除图信息
385
+
386
+ }, {
387
+ key: "delDPGraphElement",
388
+ value: function () {
389
+ var _delDPGraphElement = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
390
+ var nodes,
391
+ edges,
392
+ oldGraph,
393
+ newGraph,
394
+ _args4 = arguments;
395
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
396
+ while (1) {
397
+ switch (_context4.prev = _context4.next) {
398
+ case 0:
399
+ nodes = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : [];
400
+ edges = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : [];
401
+ oldGraph = this.factory$.dpGraph.getValue();
402
+ newGraph = produce(oldGraph, function (nextGraph) {
403
+ if (nodes.length) {
404
+ nextGraph.nodes = oldGraph.nodes.filter(function (node) {
405
+ return !nodes.includes(node.id.toString());
406
+ });
407
+ nextGraph.edges = oldGraph.edges.filter(function (edge) {
408
+ return !nodes.find(function (node) {
409
+ return [edge.source.toString(), edge.target.toString()].includes(node);
410
+ });
411
+ });
412
+ } else {
413
+ nextGraph.edges = oldGraph.edges.filter(function (edge) {
414
+ return !edges.find(function (delEdge) {
415
+ return delEdge.inPortId.toString() === edge.inPortId.toString() && delEdge.outPortId.toString() === edge.outPortId.toString();
416
+ });
417
+ });
418
+ }
419
+ });
420
+ this.factory$.dpGraph.next(newGraph);
421
+
422
+ case 5:
423
+ case "end":
424
+ return _context4.stop();
425
+ }
426
+ }
427
+ }, _callee4, this);
428
+ }));
429
+
430
+ function delDPGraphElement() {
431
+ return _delDPGraphElement.apply(this, arguments);
432
+ }
433
+
434
+ return delDPGraphElement;
435
+ }() // 缩放特定比例
436
+
437
+ }, {
438
+ key: "onConnectNode",
439
+ value: // 处理连线事件
440
+ function () {
441
+ var _onConnectNode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(args) {
442
+ var _args$edge, edge, isNew, source, target, node, portId, data;
443
+
444
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
445
+ while (1) {
446
+ switch (_context5.prev = _context5.next) {
447
+ case 0:
448
+ _args$edge = args.edge, edge = _args$edge === void 0 ? {} : _args$edge, isNew = args.isNew;
449
+ source = edge.source, target = edge.target;
450
+
451
+ if (isNew) {
452
+ // 处理边虚线样式更新的问题。
453
+ node = args.currentCell;
454
+ portId = edge.getTargetPortId();
455
+
456
+ if (node && portId) {
457
+ // 触发 port 重新渲染
458
+ node.setPortProp(portId, 'connected', true); // 更新连线样式
459
+
460
+ edge.attr({
461
+ line: {
462
+ strokeDasharray: '',
463
+ targetMarker: '',
464
+ stroke: '#808080'
465
+ }
466
+ });
467
+ data = {
468
+ source: source.cell,
469
+ target: target.cell,
470
+ outPortId: source.port,
471
+ inPortId: target.port
472
+ };
473
+ edge.setData(data);
474
+ this.updateDPGraph([], [data]);
475
+ }
476
+ }
477
+
478
+ return _context5.abrupt("return", {
479
+ success: true
480
+ });
481
+
482
+ case 4:
483
+ case "end":
484
+ return _context5.stop();
485
+ }
486
+ }
487
+ }, _callee5, this);
488
+ }));
489
+
490
+ function onConnectNode(_x3) {
491
+ return _onConnectNode.apply(this, arguments);
492
+ }
493
+
494
+ return onConnectNode;
495
+ }() // 处理选择事件
496
+
497
+ }, {
498
+ key: "onSelectNodes",
499
+ value: function onSelectNodes(nodes) {
500
+ var selectedNodes = nodes.filter(function (cell) {
501
+ return cell.isNode() && !cell.isGroup();
502
+ });
503
+
504
+ if (selectedNodes.length === 1) {
505
+ // 当只选中了一个节点时,激活当前选中项
506
+ var cell = selectedNodes[0];
507
+ var nodeData = cell.getData();
508
+ this.factory$.selectedNodes.next([nodeData]);
509
+ } else {// todo
510
+ }
511
+ } // 处理连线删除事件
512
+
513
+ }, {
514
+ key: "onConnectionRemoved",
515
+ value: function onConnectionRemoved(args) {
516
+ try {
517
+ var edge = args.edge;
518
+ var target = edge.target;
519
+ var nodeId = target.cell,
520
+ portId = target.port;
521
+
522
+ if (nodeId) {
523
+ var targetCell = this.getNodeById(nodeId);
524
+
525
+ if (targetCell) {
526
+ // 触发 port 重新渲染
527
+ targetCell.setPortProp(portId, 'connected', false);
528
+ }
529
+ }
530
+ } catch (error) {
531
+ console.warn(error);
532
+ }
533
+ } //删除节点
534
+
535
+ }, {
536
+ key: "onDeleteNodeOrEdge",
537
+ value: // 按下删除键的回调,默认参数为当前选中的节点和边
538
+ function onDeleteNodeOrEdge(args) {
539
+ var nodes = args.nodes,
540
+ edges = args.edges;
541
+ var normalNodes = nodes.filter(function (node) {
542
+ return !node.isGroup();
543
+ });
544
+
545
+ if (normalNodes === null || normalNodes === void 0 ? void 0 : normalNodes.length) {
546
+ this.onDeleteNodes(normalNodes.map(function (node) {
547
+ return node.id;
548
+ }));
549
+ }
550
+
551
+ if (edges === null || edges === void 0 ? void 0 : edges.length) {
552
+ this.onDeleteEdges(edges);
553
+ }
554
+ } // 右击菜单
555
+
556
+ }, {
557
+ key: "onContextMenu",
558
+ value: function onContextMenu(data) {
559
+ this.factory$.contextMenuInfo.next(data);
560
+ } // 清空右键菜单信息
561
+
562
+ }, {
563
+ key: "dispose",
564
+ value: function dispose() {
565
+ _get(_getPrototypeOf(DPGraph.prototype), "dispose", this).call(this);
566
+ }
567
+ }]);
568
+
569
+ return DPGraph;
570
+ }(GraphCore);
571
+
572
+ export var gDPGraph; // 获取图的实例
573
+
574
+ export var useDPGraph = function useDPGraph(graphData) {
575
+ gDPGraph = new DPGraph(graphData);
576
+ return gDPGraph;
577
+ };
578
+ export var useUnmountDPGraph = function useUnmountDPGraph() {
579
+ React.useEffect(function () {
580
+ return function () {
581
+ gDPGraph.dispose();
582
+ };
583
+ }, []);
584
+ };