Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #6919: dragdrop.js.diff

File dragdrop.js.diff, 1.4 kB (added by Riki_tiki_tavi, 2 years ago)

Ticket 6919 Patch

  • dragdrop.js

    old new  
    720720  onHover: function(element, dropon, overlap) { 
    721721    if(Element.isParent(dropon, element)) return; 
    722722 
    723     if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) { 
    724       return; 
     723    if(Sortable.options(dropon).tree && overlap > .1 && overlap < .86) { 
     724      if(overlap>0.1&&overlap<0.6) { 
     725        var oldParentNode = element.parentNode; 
     726        var droponOptions = Sortable.options(dropon); 
     727        var children = Sortable.findElements(dropon, {tag: droponOptions.treeTag, only: droponOptions.only}); 
     728        if(dropon.tagName.toUpperCase() == Sortable.options(dropon).tag.toUpperCase() && children.length==1){ 
     729          children[0].insertBefore(element, null); 
     730          Sortable.options(oldParentNode).onChange(element); 
     731          droponOptions.onChange(element); 
     732        } 
     733      } 
    725734    } else if(overlap>0.5) { 
    726735      Sortable.mark(dropon, 'before'); 
    727736      if(dropon.previousSibling != element) { 
     
    756765      var children = Sortable.findElements(dropon, {tag: droponOptions.tag, only: droponOptions.only}); 
    757766      var child = null; 
    758767             
    759       if(children) { 
     768      if(children.length) { 
    760769        var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap); 
    761770         
    762771        for (index = 0; index < children.length; index += 1) {