このExtJS4.1の例では、実際には左側の要素(患者)がビューから右側のグリッド(病院)に複製されています。右側のグリッドにドラッグアンドドロップしたときに左側のビューの患者を削除し、容量を追加します。アイテムを右のグリッドから左のビューに移動するには:
私は最初の部分(右に移動)をトリック(slideOut)で作成しました:これを使用して作成しました:
以前、関数initializePatientDragZoneで次を追加しました。
return v.dragData = {
sourceEl: sourceEl,
repairXY: Ext.fly(sourceEl).getXY(),
ddel: d,
patientData: v.getRecord(sourceEl).data,
patientElement: sourceEl //This part
};
次に、onNodeDrop関数で次のようなslideOutトリックを1つ追加しました。
onNodeDrop : function(target, dd, e, data){
var rowBody = Ext.fly(target).findParent('.x-grid-rowbody-tr', null, false),
mainRow = rowBody.previousSibling,
h = gridView.getRecord(mainRow),
targetEl = Ext.get(target);
targetEl.update(data.patientData.name + ', ' + targetEl.dom.innerHTML);
//this slideOut
Ext.get(data.patientElement).slideOut('t', {
easing: 'easeOut',
duration: 500,
remove: true,
useDisplay: true
});
return true;
}
あなたはそれが今どのように見えるかを見ることができます:このアニメーションで
次に、右側のグリッドのアイテムを左側のビューに移動します。