我需要帮助找出如何根据船体组拖放一组节点。
具体来说,
我可以拖放船体,随之移动节点和链接。基本上,小组中的一切都在一起移动,这正是我正在寻找的。
如果我拖放节点而我不移动船体,节点的拖动行为将按预期工作。
如果我拖放船体然后尝试拖放节点,则拖放行为无法按预期方式运行。
更新 我终于弄清楚了船体和节点上的拖放行为。我在这里发了一个工作小提琴。我希望将来对其他人有用。
http://jsfiddle.net/mbgw2ooc/2/
我遇到问题的方法如下:
Vis.prototype.moveNodeGroup = function(iGroup, iPath){
var path = d3.select(iPath);
var nodes = path.data()[0].values;
var translate = d3.transform(iPath.getAttribute("transform")).translate;
var dx = d3.event.dx + translate[0];
var dy = d3.event.dy + translate[1];
path.attr("transform", "translate(" + dx + "," + dy + ")");
//How to move the hulls, nodes and links permanently so the update
//redraws properly
};
提前感谢您推进正确的方向。
雷