Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/core/DraggableList.js
Show All 25 Lines | JX.install('DraggableList', { | ||||
events : [ | events : [ | ||||
'didLock', | 'didLock', | ||||
'didUnlock', | 'didUnlock', | ||||
'shouldBeginDrag', | 'shouldBeginDrag', | ||||
'didBeginDrag', | 'didBeginDrag', | ||||
'didCancelDrag', | 'didCancelDrag', | ||||
'didEndDrag', | 'didEndDrag', | ||||
'didDrop'], | 'didDrop', | ||||
'didSend', | |||||
'didReceive'], | |||||
properties : { | properties : { | ||||
findItemsHandler : null | findItemsHandler : null | ||||
}, | }, | ||||
members : { | members : { | ||||
_root : null, | _root : null, | ||||
_dragging : null, | _dragging : null, | ||||
▲ Show 20 Lines • Show All 330 Lines • ▼ Show 20 Lines | _onmove : function(e) { | ||||
e.kill(); | e.kill(); | ||||
}, | }, | ||||
_ondrop : function(e) { | _ondrop : function(e) { | ||||
if (!this._dragging) { | if (!this._dragging) { | ||||
return; | return; | ||||
} | } | ||||
var target = this._target; | var p = JX.$V(e); | ||||
var dragging = this._dragging; | |||||
var ghost = this.getGhostNode(); | |||||
var dragging = this._dragging; | |||||
this._dragging = null; | this._dragging = null; | ||||
var target = false; | |||||
var ghost = false; | |||||
var target_list = this._getTargetList(p); | |||||
if (target_list) { | |||||
target = target_list._target; | |||||
ghost = target_list.getGhostNode(); | |||||
} | |||||
JX.$V(0, 0).setPos(dragging); | JX.$V(0, 0).setPos(dragging); | ||||
if (target !== false) { | if (target !== false) { | ||||
JX.DOM.remove(dragging); | JX.DOM.remove(dragging); | ||||
JX.DOM.replace(ghost, dragging); | JX.DOM.replace(ghost, dragging); | ||||
this.invoke('didDrop', dragging, target); | this.invoke('didSend', dragging, target_list); | ||||
target_list.invoke('didReceive', dragging, this); | |||||
target_list.invoke('didDrop', dragging, target, this); | |||||
} else { | } else { | ||||
this.invoke('didCancelDrag', dragging); | this.invoke('didCancelDrag', dragging); | ||||
} | } | ||||
var group = this._group; | var group = this._group; | ||||
for (var ii = 0; ii < group.length; ii++) { | for (var ii = 0; ii < group.length; ii++) { | ||||
JX.DOM.alterClass(group[ii].getRootNode(), 'drag-target-list', false); | JX.DOM.alterClass(group[ii].getRootNode(), 'drag-target-list', false); | ||||
group[ii]._clearTarget(); | group[ii]._clearTarget(); | ||||
Show All 32 Lines |