ToolManDragSort
これは、各種ドラッグイベントについての動作を設定する
dragstart
なぜか空の_onDragStartを設定し、別のところ(makeListSortable)で、リストの座標の計算を行っている。
dragmove
ドラッグ中の要素を取得
マウスのオフセットの取得
1つ上の要素を取得。
1つ上の要素の右下隅の座標に対し、
X座標が手前(マウスが左にはみ出していない)
Y座標が上(1つ上の要素に掛かった)
場合、前のものと入れ替える
これをそれを満たさなくなるまで続ける
入れ替えが必要な時は、DOMをいじって入れ替え(多分)処理を終了する。
逆に下への移動も、次の要素の左上隅と座標を比較して行う。
dragend
ドラッグ終了時には、
ToolMan.coordinates().create(0, 0).reposition(dragEvent.group.element)
を実行する。