butterfly-dag
Advanced tools
Comparing version 2.1.8 to 2.1.9
{ | ||
"name": "butterfly-dag", | ||
"version": "2.1.8", | ||
"version": "2.1.9", | ||
"description": "一个基于数据驱动的节点式编排组件库,让你有方便快捷定制可视化流程图表", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -208,2 +208,4 @@ | ||
_nodeObj._init(); | ||
// 一定要比group的addNode执行的之前,不然会重复把node加到this.nodes里面 | ||
this.nodes.push(_nodeObj); | ||
@@ -213,7 +215,6 @@ // 假如节点存在group,即放进对应的节点组里 | ||
if (existGroup) { | ||
existGroup.addNode(_nodeObj, existGroup.id); | ||
existGroup.addNode(_nodeObj, true); | ||
} else { | ||
_canvasFragment.appendChild(_nodeObj.dom); | ||
} | ||
this.nodes.push(_nodeObj); | ||
return _nodeObj; | ||
@@ -1008,2 +1009,20 @@ }); | ||
this.removeGroup(data.data.id); | ||
} else if (data.type === 'group:addNodes') { | ||
_.get(data.nodes, []).forEach((item) => { | ||
let _hasNode = _.find(this.nodes, (_node) => { | ||
return item.id === _node.id; | ||
}); | ||
if (!hasNodes) { | ||
this.nodes.push(item); | ||
} | ||
}); | ||
} else if (data.type === 'group:removeNodes') { | ||
_.get(data.nodes, []).forEach((item) => { | ||
let _nodeIndex = _.findIndex(this.nodes, (_node) => { | ||
return item.id === _node.id; | ||
}); | ||
if (_nodeIndex !== -1) { | ||
this.nodes.splice(_nodeIndex, 1); | ||
} | ||
}); | ||
} | ||
@@ -1438,9 +1457,9 @@ }); | ||
this.emit('events', { | ||
type: 'system.group.removeMember', | ||
type: 'system.group.removeMembers', | ||
group: sourceGroup, | ||
node: rmNode | ||
nodes: [rmNode] | ||
}); | ||
this.emit('system.group.removeMember', { | ||
this.emit('system.group.removeMembers', { | ||
group: sourceGroup, | ||
node: rmNode | ||
nodes: [rmNode] | ||
}); | ||
@@ -1454,8 +1473,8 @@ | ||
this.emit('events', { | ||
type: 'system.group.addMember', | ||
node: rmNode, | ||
type: 'system.group.addMembers', | ||
nodes: [rmNode], | ||
group: targetGroup | ||
}); | ||
this.emit('system.group.addMember', { | ||
node: rmNode, | ||
this.emit('system.group.addMembers', { | ||
nodes: [rmNode], | ||
group: targetGroup | ||
@@ -1479,8 +1498,8 @@ }); | ||
this.emit('events', { | ||
type: 'system.group.addMember', | ||
node: rmNode, | ||
type: 'system.group.addMembers', | ||
nodes: [rmNode], | ||
group: targetGroup | ||
}); | ||
this.emit('system.group.addMember', { | ||
node: rmNode, | ||
this.emit('system.group.addMembers', { | ||
nodes: [rmNode], | ||
group: targetGroup | ||
@@ -1487,0 +1506,0 @@ }); |
@@ -16,3 +16,2 @@ | ||
this.type = opts.type; | ||
// @无惟,一定要注意这个值的影响面 | ||
this.nodeId = _.get(opts, '_node.id'); | ||
@@ -19,0 +18,0 @@ this.groupId = _.get(opts, '_group.id'); |
@@ -86,8 +86,24 @@ 'use strict'; | ||
} | ||
addNodes(nodes = []) { | ||
addNodes(nodes = [], noEvent) { | ||
nodes.forEach((item) => { | ||
item._group = this; | ||
item.group = this.id; | ||
$(this.dom).append(item.dom); | ||
this.nodes.push(item); | ||
}); | ||
this._emit('InnerEvents', { | ||
type: 'group:addNodes', | ||
nodes: nodes | ||
}); | ||
if (!noEvent) { | ||
this.emit('events', { | ||
type: 'system.group.addMembers', | ||
nodes: nodes, | ||
group: this | ||
}); | ||
this.emit('system.group.addMembers', { | ||
nodes: nodes, | ||
group: this | ||
}); | ||
} | ||
} | ||
@@ -97,3 +113,3 @@ addNode(node) { | ||
} | ||
removeNodes(nodes = []) { | ||
removeNodes(nodes = [], noEvent) { | ||
let rmNodes = []; | ||
@@ -109,2 +125,17 @@ this.nodes.forEach((item) => { | ||
}); | ||
this._emit('InnerEvents', { | ||
type: 'group:removeNodes', | ||
nodes: rmNodes | ||
}); | ||
if (!noEvent) { | ||
this.emit('events', { | ||
type: 'system.group.addMembers', | ||
nodes: [rmNode], | ||
group: targetGroup | ||
}); | ||
this.emit('system.group.addMembers', { | ||
nodes: [rmNode], | ||
group: targetGroup | ||
}); | ||
} | ||
return rmNodes; | ||
@@ -111,0 +142,0 @@ } |
1161139
33505