Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/core/DraggableList.js
| Show All 34 Lines | events : [ | ||||
| 'didEndDrag', | 'didEndDrag', | ||||
| 'didDrop', | 'didDrop', | ||||
| 'didSend', | 'didSend', | ||||
| 'didReceive'], | 'didReceive'], | ||||
| properties : { | properties : { | ||||
| findItemsHandler: null, | findItemsHandler: null, | ||||
| canDragX: false, | canDragX: false, | ||||
| outerContainer: null | outerContainer: null, | ||||
| hasInfiniteHeight: false | |||||
| }, | }, | ||||
| members : { | members : { | ||||
| _root : null, | _root : null, | ||||
| _dragging : null, | _dragging : null, | ||||
| _locked : 0, | _locked : 0, | ||||
| _target : null, | _target : null, | ||||
| _targets : null, | _targets : null, | ||||
| ▲ Show 20 Lines • Show All 229 Lines • ▼ Show 20 Lines | _dirtyTargetCache: function() { | ||||
| this._targets = null; | this._targets = null; | ||||
| } | } | ||||
| return this; | return this; | ||||
| }, | }, | ||||
| _getTargetList : function(p) { | _getTargetList : function(p) { | ||||
| var target_list; | var target_list; | ||||
| var infinity; | |||||
| if (this._hasGroup()) { | if (this._hasGroup()) { | ||||
| var group = this._group; | var group = this._group; | ||||
| for (var ii = 0; ii < group.length; ii++) { | for (var ii = 0; ii < group.length; ii++) { | ||||
| var root = group[ii].getRootNode(); | var root = group[ii].getRootNode(); | ||||
| var rp = JX.$V(root); | var rp = JX.$V(root); | ||||
| var rd = JX.Vector.getDim(root); | var rd = JX.Vector.getDim(root); | ||||
| if (group[ii].getHasInfiniteHeight()) { | |||||
| // The math doesn't work out quite right if we actually use | |||||
| // Math.Infinity, so approximate infinity as the document height. | |||||
| infinity = infinity || JX.Vector.getDocument().y; | |||||
| rp.y = 0; | |||||
| rd.y = infinity; | |||||
| } | |||||
| var is_target = false; | var is_target = false; | ||||
| if (p.x >= rp.x && p.y >= rp.y) { | if (p.x >= rp.x && p.y >= rp.y) { | ||||
| if (p.x <= (rp.x + rd.x) && p.y <= (rp.y + rd.y)) { | if (p.x <= (rp.x + rd.x) && p.y <= (rp.y + rd.y)) { | ||||
| is_target = true; | is_target = true; | ||||
| target_list = group[ii]; | target_list = group[ii]; | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 439 Lines • Show Last 20 Lines | |||||