アクターまたはユースケースをドラッグするときに接続線を再配置することで、アクターとユースケースを接続したままにすることができます。
3 つのキネティック ノードまたはグループがあるとします。
- アクターノード、
- ユースケース ノード、
- それらをつなぐ専用のキネティックライン。
アクターとユースケースのドラッグムーブ イベント ハンドラーをセットアップします。
// when the actor is dragged, reposition the connecting line
actor.on('dragmove', function () {
connectThem(actor,useCase,connectingLine);
});
// when the useCase is dragged, reposition the connecting line
useCase.on('dragmove', function () {
connectThem(actor,useCase,connectingLine);
});
dragmove ハンドラーで、アクターと useCase の位置を取得し、接続線を再配置します。
// reposition the line to connect the actor & useCase
function connectThem(actor,useCase,connectingLine){
// get the XY of the actor+useCase to connect
var x1 = actor.getX();
var y1 = actor.getY();
var x2 = useCase.getX();
var y2 = useCase.getY();
// reposition the connecting line
connectingLine.setPoints([x1,y1,x2,y2]);
// send the connecting line to the back
connectingLine.setZIndex(0);
// redraw the layer
layer.draw();
};