2007年9月6日木曜日

ExtでDrag & Dropしたら要素が移動


Drag & Drop exampleを参考にして作ってみた。多分これがBox間の移動の基本だと思う。あとは適当にDragZoneに移行していこう。とりあえずDropTargetを用意してそこにDrag & Dropで要素が移動する。

// elmtは移動する要素
var ds = new Ext.dd.DragSource(elmt.id, {});
// ドラッグ対象の要素をいったん隠す
ds.onStartDrag=function(x, y) {
var srcEl = Ext.get(this.getEl());
srcEl.setStyle('visibility', 'hidden');
return true;
};
// ドラッグ対象の要素をドロップ対象に移す
ds.onDragDrop=function(e, id) {
var srcEl = Ext.get(this.getEl());
var destEl = Ext.get(id);
destEl.appendChild(srcEl);
this.hideProxy(true);
return true;
};
// ドラッグ対象の要素を再表示する
ds.onEndDrag=function(e) {
var srcEl = Ext.get(this.getEl());
srcEl.setStyle('visibility', '');
return true;
};

0 件のコメント: