有没有办法复制包含DraggingTool
Part.containingGroup
的{{1}}节点?我知道CommandHandler
有一个属性copiesGroupKey
,但我在DraggingTool
中找不到任何类似的功能。
如果有办法检测复制的节点被丢弃以设置新的containingGroup
,可能会更好吗?
是否有要在删除复制节点时订阅的事件?
我也注意到这里的“游泳车道”样本存在同样的问题
http://gojs.net/latest/samples/swimLanes.html
通过CommandHandler
复制节点可以正常工作,但是如果您“控制 - 拖动”它们,它们将被放置在任何组之外,根据该示例,我认为这根本不可能吗?!
答案 0 :(得分:0)
你的意思是你是(CTRL)拖动组内的节点,你想复制组吗?您必须将组添加到被拖动的集合中。您可以通过覆盖DraggingTool.computeEffectiveCollection来完成此操作。也许是这样的:
myDiagram.toolManager.draggingTool.computeEffectiveCollection = function (parts) {
var map = go.DraggingTool.prototype.computeEffectiveCollection.call(this, parts);
// add more stuff to map
var it = parts.iterator;
while (it.next()) {
var p = it.value;
if (p.containingGroup !== null) {
var group = p.containingGroup;
map.add(group, new go.DraggingInfo(group.location));
}
}
return map;
}