@logicflow/extension 2.0.10 → 2.0.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.
- package/.turbo/turbo-build.log +34 -34
- package/CHANGELOG.md +23 -0
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/es/dynamic-group/model.js +1 -5
- package/es/dynamic-group/node.d.ts +8 -1
- package/es/dynamic-group/node.js +87 -22
- package/lib/dynamic-group/model.js +1 -5
- package/lib/dynamic-group/node.d.ts +8 -1
- package/lib/dynamic-group/node.js +87 -22
- package/package.json +3 -3
- package/src/dynamic-group/model.ts +1 -6
- package/src/dynamic-group/node.ts +136 -85
- package/stats.html +1 -1
|
@@ -114,10 +114,6 @@ var DynamicGroupNodeModel = /** @class */ (function (_super) {
|
|
|
114
114
|
};
|
|
115
115
|
DynamicGroupNodeModel.prototype.setAttributes = function () {
|
|
116
116
|
_super.prototype.setAttributes.call(this);
|
|
117
|
-
// 初始化时,如果 this.isCollapsed 为 true,则主动触发一次折叠操作
|
|
118
|
-
if (this.isCollapsed) {
|
|
119
|
-
this.toggleCollapse(true);
|
|
120
|
-
}
|
|
121
117
|
};
|
|
122
118
|
DynamicGroupNodeModel.prototype.getData = function () {
|
|
123
119
|
var _this = this;
|
|
@@ -342,8 +338,8 @@ var DynamicGroupNodeModel = /** @class */ (function (_super) {
|
|
|
342
338
|
* TODO: 如何重写该方法呢?
|
|
343
339
|
* @param _nodeData
|
|
344
340
|
*/
|
|
341
|
+
// eslint-disable-next-line
|
|
345
342
|
DynamicGroupNodeModel.prototype.isAllowAppendIn = function (_nodeData) {
|
|
346
|
-
console.info('_nodeData', _nodeData);
|
|
347
343
|
// TODO: 此处使用 this.properties.groupAddable 还是 this.groupAddable
|
|
348
344
|
// this.groupAddable 是否存在更新不及时的问题
|
|
349
345
|
return true;
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
import { GraphModel, h, RectNode } from '@logicflow/core';
|
|
1
|
+
import LogicFlow, { GraphModel, h, RectNode, CallbackArgs } from '@logicflow/core';
|
|
2
2
|
import { DynamicGroupNodeModel } from './model';
|
|
3
|
+
import Position = LogicFlow.Position;
|
|
3
4
|
export interface IDynamicGroupNodeProps {
|
|
4
5
|
model: DynamicGroupNodeModel;
|
|
5
6
|
graphModel: GraphModel;
|
|
6
7
|
}
|
|
7
8
|
export declare class DynamicGroupNode<P extends IDynamicGroupNodeProps = IDynamicGroupNodeProps> extends RectNode<P> {
|
|
9
|
+
childrenPositionMap: Map<string, Position>;
|
|
10
|
+
onNodeRotate: ({ model, }: Omit<CallbackArgs<'node:rotate'>, 'e' | 'position'>) => void;
|
|
11
|
+
onNodeResize: ({ deltaX, deltaY, index, model, preData, }: Omit<CallbackArgs<'node:resize'>, 'e' | 'position'>) => void;
|
|
12
|
+
onNodeMouseMove: ({ deltaX, deltaY, data, }: Omit<CallbackArgs<'node:mousemove'>, 'e' | 'position'>) => void;
|
|
13
|
+
graphRendered: () => void;
|
|
8
14
|
componentDidMount(): void;
|
|
15
|
+
componentWillUnmount(): void;
|
|
9
16
|
/**
|
|
10
17
|
* 获取分组内的节点
|
|
11
18
|
* @param groupModel
|
package/es/dynamic-group/node.js
CHANGED
|
@@ -24,24 +24,44 @@ var __assign = (this && this.__assign) || function () {
|
|
|
24
24
|
};
|
|
25
25
|
return __assign.apply(this, arguments);
|
|
26
26
|
};
|
|
27
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
28
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
29
|
+
if (!m) return o;
|
|
30
|
+
var i = m.call(o), r, ar = [], e;
|
|
31
|
+
try {
|
|
32
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
33
|
+
}
|
|
34
|
+
catch (error) { e = { error: error }; }
|
|
35
|
+
finally {
|
|
36
|
+
try {
|
|
37
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
38
|
+
}
|
|
39
|
+
finally { if (e) throw e.error; }
|
|
40
|
+
}
|
|
41
|
+
return ar;
|
|
42
|
+
};
|
|
43
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
44
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
45
|
+
if (ar || !(i in from)) {
|
|
46
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
47
|
+
ar[i] = from[i];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
51
|
+
};
|
|
27
52
|
import { h, RectNode, handleResize, } from '@logicflow/core';
|
|
28
53
|
import { forEach } from 'lodash-es';
|
|
29
54
|
import { rotatePointAroundCenter } from '../tools/label/utils';
|
|
30
55
|
var DynamicGroupNode = /** @class */ (function (_super) {
|
|
31
56
|
__extends(DynamicGroupNode, _super);
|
|
32
57
|
function DynamicGroupNode() {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
var _this = this;
|
|
37
|
-
_super.prototype.componentDidMount.call(this);
|
|
38
|
-
var _a = this.props, curGroup = _a.model, graphModel = _a.graphModel;
|
|
39
|
-
var eventCenter = graphModel.eventCenter;
|
|
40
|
-
var childrenPositionMap = new Map();
|
|
41
|
-
// 在 group 旋转时,对组内的所有子节点也进行对应的旋转计算
|
|
42
|
-
eventCenter.on('node:rotate', function (_a) {
|
|
58
|
+
var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
|
|
59
|
+
_this.childrenPositionMap = new Map();
|
|
60
|
+
_this.onNodeRotate = function (_a) {
|
|
43
61
|
var model = _a.model;
|
|
44
|
-
var _b = _this.props
|
|
62
|
+
var _b = _this.props, curGroup = _b.model, graphModel = _b.graphModel;
|
|
63
|
+
var transformWithContainer = curGroup.transformWithContainer, isRestrict = curGroup.isRestrict;
|
|
64
|
+
var childrenPositionMap = _this.childrenPositionMap;
|
|
45
65
|
if (!transformWithContainer || isRestrict) {
|
|
46
66
|
// isRestrict限制模式下,当前model resize时不能小于占地面积
|
|
47
67
|
// 由于parent:resize=>child:resize计算复杂,需要根据child:resize的判定结果来递归判断parent能否resize
|
|
@@ -75,11 +95,11 @@ var DynamicGroupNode = /** @class */ (function (_super) {
|
|
|
75
95
|
}
|
|
76
96
|
});
|
|
77
97
|
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
eventCenter.on('node:resize', function (_a) {
|
|
98
|
+
};
|
|
99
|
+
_this.onNodeResize = function (_a) {
|
|
81
100
|
var deltaX = _a.deltaX, deltaY = _a.deltaY, index = _a.index, model = _a.model, preData = _a.preData;
|
|
82
|
-
var _b = _this.props
|
|
101
|
+
var _b = _this.props, curGroup = _b.model, graphModel = _b.graphModel;
|
|
102
|
+
var transformWithContainer = curGroup.transformWithContainer, isRestrict = curGroup.isRestrict;
|
|
83
103
|
if (!transformWithContainer || isRestrict) {
|
|
84
104
|
// isRestrict限制模式下,当前model resize时不能小于占地面积
|
|
85
105
|
// 由于parent:resize=>child:resize计算复杂,需要根据child:resize的判定结果来递归判断parent能否resize
|
|
@@ -110,16 +130,61 @@ var DynamicGroupNode = /** @class */ (function (_super) {
|
|
|
110
130
|
}
|
|
111
131
|
});
|
|
112
132
|
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
eventCenter.on('node:mousemove', function (_a) {
|
|
133
|
+
};
|
|
134
|
+
_this.onNodeMouseMove = function (_a) {
|
|
116
135
|
var deltaX = _a.deltaX, deltaY = _a.deltaY, data = _a.data;
|
|
136
|
+
var _b = _this.props, curGroup = _b.model, graphModel = _b.graphModel;
|
|
137
|
+
var transformModel = graphModel.transformModel;
|
|
138
|
+
var SCALE_X = transformModel.SCALE_X, SCALE_Y = transformModel.SCALE_Y;
|
|
117
139
|
if (data.id === curGroup.id) {
|
|
118
|
-
var
|
|
119
|
-
|
|
120
|
-
|
|
140
|
+
var nodeIds = _this.getNodesInGroup(curGroup, graphModel);
|
|
141
|
+
// https://github.com/didi/LogicFlow/issues/1914
|
|
142
|
+
// 当调用lf.fitView()时,会改变整体的SCALE_X和SCALE_Y
|
|
143
|
+
// 由于group的mousemove是在drag.ts的this.onDragging()处理的,在onDragging()里面进行SCALE的处理
|
|
144
|
+
// 而"node:mousemove"emit出来跟onDragging()是同时的,也就是emit出来的数据是没有经过SCALE处理的坐标
|
|
145
|
+
// 因此这里需要增加SCALE的处理
|
|
146
|
+
graphModel.moveNodes(nodeIds, deltaX / SCALE_X, deltaY / SCALE_Y, true);
|
|
121
147
|
}
|
|
122
|
-
}
|
|
148
|
+
};
|
|
149
|
+
_this.graphRendered = function () {
|
|
150
|
+
var model = _this.props.model;
|
|
151
|
+
// 初始化时,如果 this.isCollapsed 为 true,则主动触发一次折叠操作
|
|
152
|
+
if (model.isCollapsed) {
|
|
153
|
+
// https://github.com/didi/LogicFlow/issues/1918
|
|
154
|
+
// 当lf.render({nodes:[{分组节点}, {普通节点}]})时,由于是顺序遍历
|
|
155
|
+
// 会先触发分组Group节点的new Model => toggleCollapse()
|
|
156
|
+
// => 此时在graphModel.elementsModelMap找不到它的children,因为还没初始化,因此无法正确折叠子元素
|
|
157
|
+
// --------------------
|
|
158
|
+
// 当lf.render({nodes:[{普通节点}, {分组节点}]})时,
|
|
159
|
+
// 会先触发普通节点的new Model => graphModel.elementsModelMap.set(id, new Model())
|
|
160
|
+
// 然后再触发分组Group节点的new Model => toggleCollapse() =>
|
|
161
|
+
// 此时在graphModel.elementsModelMap能找到它的children了,因此可以正确折叠子元素
|
|
162
|
+
// --------------------
|
|
163
|
+
// 因此将整个初始化判断是否【主动触发一次折叠操作】放在"graph:rendered"全部渲染完成后再执行
|
|
164
|
+
model.toggleCollapse(true);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
return _this;
|
|
168
|
+
}
|
|
169
|
+
DynamicGroupNode.prototype.componentDidMount = function () {
|
|
170
|
+
_super.prototype.componentDidMount.call(this);
|
|
171
|
+
var eventCenter = this.props.graphModel.eventCenter;
|
|
172
|
+
// 在 group 旋转时,对组内的所有子节点也进行对应的旋转计算
|
|
173
|
+
eventCenter.on('node:rotate', this.onNodeRotate);
|
|
174
|
+
// 在 group 缩放时,对组内的所有子节点也进行对应的缩放计算
|
|
175
|
+
eventCenter.on('node:resize', this.onNodeResize);
|
|
176
|
+
// 在 group 移动时,对组内的所有子节点也进行对应的移动计算
|
|
177
|
+
eventCenter.on('node:mousemove', this.onNodeMouseMove);
|
|
178
|
+
// 全部渲染完成后,判断是否【主动触发一次折叠操作】
|
|
179
|
+
eventCenter.on('graph:rendered', this.graphRendered);
|
|
180
|
+
};
|
|
181
|
+
DynamicGroupNode.prototype.componentWillUnmount = function () {
|
|
182
|
+
_super.prototype.componentWillUnmount.call(this);
|
|
183
|
+
var eventCenter = this.props.graphModel.eventCenter;
|
|
184
|
+
eventCenter.off('node:rotate', this.onNodeRotate);
|
|
185
|
+
eventCenter.off('node:resize', this.onNodeResize);
|
|
186
|
+
eventCenter.off('node:mousemove', this.onNodeMouseMove);
|
|
187
|
+
eventCenter.off('graph:rendered', this.graphRendered);
|
|
123
188
|
};
|
|
124
189
|
/**
|
|
125
190
|
* 获取分组内的节点
|
|
@@ -117,10 +117,6 @@ var DynamicGroupNodeModel = /** @class */ (function (_super) {
|
|
|
117
117
|
};
|
|
118
118
|
DynamicGroupNodeModel.prototype.setAttributes = function () {
|
|
119
119
|
_super.prototype.setAttributes.call(this);
|
|
120
|
-
// 初始化时,如果 this.isCollapsed 为 true,则主动触发一次折叠操作
|
|
121
|
-
if (this.isCollapsed) {
|
|
122
|
-
this.toggleCollapse(true);
|
|
123
|
-
}
|
|
124
120
|
};
|
|
125
121
|
DynamicGroupNodeModel.prototype.getData = function () {
|
|
126
122
|
var _this = this;
|
|
@@ -345,8 +341,8 @@ var DynamicGroupNodeModel = /** @class */ (function (_super) {
|
|
|
345
341
|
* TODO: 如何重写该方法呢?
|
|
346
342
|
* @param _nodeData
|
|
347
343
|
*/
|
|
344
|
+
// eslint-disable-next-line
|
|
348
345
|
DynamicGroupNodeModel.prototype.isAllowAppendIn = function (_nodeData) {
|
|
349
|
-
console.info('_nodeData', _nodeData);
|
|
350
346
|
// TODO: 此处使用 this.properties.groupAddable 还是 this.groupAddable
|
|
351
347
|
// this.groupAddable 是否存在更新不及时的问题
|
|
352
348
|
return true;
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
import { GraphModel, h, RectNode } from '@logicflow/core';
|
|
1
|
+
import LogicFlow, { GraphModel, h, RectNode, CallbackArgs } from '@logicflow/core';
|
|
2
2
|
import { DynamicGroupNodeModel } from './model';
|
|
3
|
+
import Position = LogicFlow.Position;
|
|
3
4
|
export interface IDynamicGroupNodeProps {
|
|
4
5
|
model: DynamicGroupNodeModel;
|
|
5
6
|
graphModel: GraphModel;
|
|
6
7
|
}
|
|
7
8
|
export declare class DynamicGroupNode<P extends IDynamicGroupNodeProps = IDynamicGroupNodeProps> extends RectNode<P> {
|
|
9
|
+
childrenPositionMap: Map<string, Position>;
|
|
10
|
+
onNodeRotate: ({ model, }: Omit<CallbackArgs<'node:rotate'>, 'e' | 'position'>) => void;
|
|
11
|
+
onNodeResize: ({ deltaX, deltaY, index, model, preData, }: Omit<CallbackArgs<'node:resize'>, 'e' | 'position'>) => void;
|
|
12
|
+
onNodeMouseMove: ({ deltaX, deltaY, data, }: Omit<CallbackArgs<'node:mousemove'>, 'e' | 'position'>) => void;
|
|
13
|
+
graphRendered: () => void;
|
|
8
14
|
componentDidMount(): void;
|
|
15
|
+
componentWillUnmount(): void;
|
|
9
16
|
/**
|
|
10
17
|
* 获取分组内的节点
|
|
11
18
|
* @param groupModel
|
|
@@ -25,6 +25,31 @@ var __assign = (this && this.__assign) || function () {
|
|
|
25
25
|
};
|
|
26
26
|
return __assign.apply(this, arguments);
|
|
27
27
|
};
|
|
28
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
29
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
30
|
+
if (!m) return o;
|
|
31
|
+
var i = m.call(o), r, ar = [], e;
|
|
32
|
+
try {
|
|
33
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
34
|
+
}
|
|
35
|
+
catch (error) { e = { error: error }; }
|
|
36
|
+
finally {
|
|
37
|
+
try {
|
|
38
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
39
|
+
}
|
|
40
|
+
finally { if (e) throw e.error; }
|
|
41
|
+
}
|
|
42
|
+
return ar;
|
|
43
|
+
};
|
|
44
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
45
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
46
|
+
if (ar || !(i in from)) {
|
|
47
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
48
|
+
ar[i] = from[i];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
52
|
+
};
|
|
28
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
54
|
exports.DynamicGroupNode = void 0;
|
|
30
55
|
var core_1 = require("@logicflow/core");
|
|
@@ -33,18 +58,13 @@ var utils_1 = require("../tools/label/utils");
|
|
|
33
58
|
var DynamicGroupNode = /** @class */ (function (_super) {
|
|
34
59
|
__extends(DynamicGroupNode, _super);
|
|
35
60
|
function DynamicGroupNode() {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
var _this = this;
|
|
40
|
-
_super.prototype.componentDidMount.call(this);
|
|
41
|
-
var _a = this.props, curGroup = _a.model, graphModel = _a.graphModel;
|
|
42
|
-
var eventCenter = graphModel.eventCenter;
|
|
43
|
-
var childrenPositionMap = new Map();
|
|
44
|
-
// 在 group 旋转时,对组内的所有子节点也进行对应的旋转计算
|
|
45
|
-
eventCenter.on('node:rotate', function (_a) {
|
|
61
|
+
var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
|
|
62
|
+
_this.childrenPositionMap = new Map();
|
|
63
|
+
_this.onNodeRotate = function (_a) {
|
|
46
64
|
var model = _a.model;
|
|
47
|
-
var _b = _this.props
|
|
65
|
+
var _b = _this.props, curGroup = _b.model, graphModel = _b.graphModel;
|
|
66
|
+
var transformWithContainer = curGroup.transformWithContainer, isRestrict = curGroup.isRestrict;
|
|
67
|
+
var childrenPositionMap = _this.childrenPositionMap;
|
|
48
68
|
if (!transformWithContainer || isRestrict) {
|
|
49
69
|
// isRestrict限制模式下,当前model resize时不能小于占地面积
|
|
50
70
|
// 由于parent:resize=>child:resize计算复杂,需要根据child:resize的判定结果来递归判断parent能否resize
|
|
@@ -78,11 +98,11 @@ var DynamicGroupNode = /** @class */ (function (_super) {
|
|
|
78
98
|
}
|
|
79
99
|
});
|
|
80
100
|
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
eventCenter.on('node:resize', function (_a) {
|
|
101
|
+
};
|
|
102
|
+
_this.onNodeResize = function (_a) {
|
|
84
103
|
var deltaX = _a.deltaX, deltaY = _a.deltaY, index = _a.index, model = _a.model, preData = _a.preData;
|
|
85
|
-
var _b = _this.props
|
|
104
|
+
var _b = _this.props, curGroup = _b.model, graphModel = _b.graphModel;
|
|
105
|
+
var transformWithContainer = curGroup.transformWithContainer, isRestrict = curGroup.isRestrict;
|
|
86
106
|
if (!transformWithContainer || isRestrict) {
|
|
87
107
|
// isRestrict限制模式下,当前model resize时不能小于占地面积
|
|
88
108
|
// 由于parent:resize=>child:resize计算复杂,需要根据child:resize的判定结果来递归判断parent能否resize
|
|
@@ -113,16 +133,61 @@ var DynamicGroupNode = /** @class */ (function (_super) {
|
|
|
113
133
|
}
|
|
114
134
|
});
|
|
115
135
|
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
eventCenter.on('node:mousemove', function (_a) {
|
|
136
|
+
};
|
|
137
|
+
_this.onNodeMouseMove = function (_a) {
|
|
119
138
|
var deltaX = _a.deltaX, deltaY = _a.deltaY, data = _a.data;
|
|
139
|
+
var _b = _this.props, curGroup = _b.model, graphModel = _b.graphModel;
|
|
140
|
+
var transformModel = graphModel.transformModel;
|
|
141
|
+
var SCALE_X = transformModel.SCALE_X, SCALE_Y = transformModel.SCALE_Y;
|
|
120
142
|
if (data.id === curGroup.id) {
|
|
121
|
-
var
|
|
122
|
-
|
|
123
|
-
|
|
143
|
+
var nodeIds = _this.getNodesInGroup(curGroup, graphModel);
|
|
144
|
+
// https://github.com/didi/LogicFlow/issues/1914
|
|
145
|
+
// 当调用lf.fitView()时,会改变整体的SCALE_X和SCALE_Y
|
|
146
|
+
// 由于group的mousemove是在drag.ts的this.onDragging()处理的,在onDragging()里面进行SCALE的处理
|
|
147
|
+
// 而"node:mousemove"emit出来跟onDragging()是同时的,也就是emit出来的数据是没有经过SCALE处理的坐标
|
|
148
|
+
// 因此这里需要增加SCALE的处理
|
|
149
|
+
graphModel.moveNodes(nodeIds, deltaX / SCALE_X, deltaY / SCALE_Y, true);
|
|
124
150
|
}
|
|
125
|
-
}
|
|
151
|
+
};
|
|
152
|
+
_this.graphRendered = function () {
|
|
153
|
+
var model = _this.props.model;
|
|
154
|
+
// 初始化时,如果 this.isCollapsed 为 true,则主动触发一次折叠操作
|
|
155
|
+
if (model.isCollapsed) {
|
|
156
|
+
// https://github.com/didi/LogicFlow/issues/1918
|
|
157
|
+
// 当lf.render({nodes:[{分组节点}, {普通节点}]})时,由于是顺序遍历
|
|
158
|
+
// 会先触发分组Group节点的new Model => toggleCollapse()
|
|
159
|
+
// => 此时在graphModel.elementsModelMap找不到它的children,因为还没初始化,因此无法正确折叠子元素
|
|
160
|
+
// --------------------
|
|
161
|
+
// 当lf.render({nodes:[{普通节点}, {分组节点}]})时,
|
|
162
|
+
// 会先触发普通节点的new Model => graphModel.elementsModelMap.set(id, new Model())
|
|
163
|
+
// 然后再触发分组Group节点的new Model => toggleCollapse() =>
|
|
164
|
+
// 此时在graphModel.elementsModelMap能找到它的children了,因此可以正确折叠子元素
|
|
165
|
+
// --------------------
|
|
166
|
+
// 因此将整个初始化判断是否【主动触发一次折叠操作】放在"graph:rendered"全部渲染完成后再执行
|
|
167
|
+
model.toggleCollapse(true);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
return _this;
|
|
171
|
+
}
|
|
172
|
+
DynamicGroupNode.prototype.componentDidMount = function () {
|
|
173
|
+
_super.prototype.componentDidMount.call(this);
|
|
174
|
+
var eventCenter = this.props.graphModel.eventCenter;
|
|
175
|
+
// 在 group 旋转时,对组内的所有子节点也进行对应的旋转计算
|
|
176
|
+
eventCenter.on('node:rotate', this.onNodeRotate);
|
|
177
|
+
// 在 group 缩放时,对组内的所有子节点也进行对应的缩放计算
|
|
178
|
+
eventCenter.on('node:resize', this.onNodeResize);
|
|
179
|
+
// 在 group 移动时,对组内的所有子节点也进行对应的移动计算
|
|
180
|
+
eventCenter.on('node:mousemove', this.onNodeMouseMove);
|
|
181
|
+
// 全部渲染完成后,判断是否【主动触发一次折叠操作】
|
|
182
|
+
eventCenter.on('graph:rendered', this.graphRendered);
|
|
183
|
+
};
|
|
184
|
+
DynamicGroupNode.prototype.componentWillUnmount = function () {
|
|
185
|
+
_super.prototype.componentWillUnmount.call(this);
|
|
186
|
+
var eventCenter = this.props.graphModel.eventCenter;
|
|
187
|
+
eventCenter.off('node:rotate', this.onNodeRotate);
|
|
188
|
+
eventCenter.off('node:resize', this.onNodeResize);
|
|
189
|
+
eventCenter.off('node:mousemove', this.onNodeMouseMove);
|
|
190
|
+
eventCenter.off('graph:rendered', this.graphRendered);
|
|
126
191
|
};
|
|
127
192
|
/**
|
|
128
193
|
* 获取分组内的节点
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@logicflow/extension",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.11",
|
|
4
4
|
"description": "LogicFlow Extensions",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"author": "Logicflow-Team",
|
|
21
21
|
"license": "Apache-2.0",
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@logicflow/core": "2.0.
|
|
23
|
+
"@logicflow/core": "2.0.7"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@antv/hierarchy": "^0.6.11",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"preact": "^10.17.1",
|
|
32
32
|
"rangy": "^1.3.1",
|
|
33
33
|
"vanilla-picker": "^2.12.3",
|
|
34
|
-
"@logicflow/core": "2.0.
|
|
34
|
+
"@logicflow/core": "2.0.7"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"less": "^4.1.1",
|
|
@@ -159,11 +159,6 @@ export class DynamicGroupNodeModel extends RectNodeModel<IGroupNodeProperties> {
|
|
|
159
159
|
|
|
160
160
|
setAttributes() {
|
|
161
161
|
super.setAttributes()
|
|
162
|
-
|
|
163
|
-
// 初始化时,如果 this.isCollapsed 为 true,则主动触发一次折叠操作
|
|
164
|
-
if (this.isCollapsed) {
|
|
165
|
-
this.toggleCollapse(true)
|
|
166
|
-
}
|
|
167
162
|
}
|
|
168
163
|
|
|
169
164
|
getData(): NodeData {
|
|
@@ -445,8 +440,8 @@ export class DynamicGroupNodeModel extends RectNodeModel<IGroupNodeProperties> {
|
|
|
445
440
|
* TODO: 如何重写该方法呢?
|
|
446
441
|
* @param _nodeData
|
|
447
442
|
*/
|
|
443
|
+
// eslint-disable-next-line
|
|
448
444
|
isAllowAppendIn(_nodeData: NodeData) {
|
|
449
|
-
console.info('_nodeData', _nodeData)
|
|
450
445
|
// TODO: 此处使用 this.properties.groupAddable 还是 this.groupAddable
|
|
451
446
|
// this.groupAddable 是否存在更新不及时的问题
|
|
452
447
|
return true
|