First posted on google groups Here, Thomas Fuchs said it might be a bug so i'll open a ticket.
Ive seen this posted numerous times all over the web, but noone seems to have a solution.
In short, if there are droppables inside a scrollable div (overflow auto or scroll), all the 'hidden' divs in that scroll (not viewable unless you scroll down to them) are still present as invisible drop targets. Its kind of hard to explain, heres a simple example as i dont know how to post code.
Theres a Scrolling div with height 1 line. It has 3 'lines' of divs in it. Like:
<div style="overflow:auto; height: 1em">
<div id=l1> line1 </div>
<div id=l2> line2 </div>
<div id=l3> line3 </div>
</div>
<div id=dragme> Drag me </div>
So when it loads only "line1" is visible. Cool so far.
Then you make l1-l3 droppables and dragme a draggable.
The problem is "dragme" can be dropped onto line2 and line3, even when they are not visible, just by letting go of the draggable underneath the scrolling box.
You shouldn't be able to drop onto something that isn't supposed to be there!
Major problem when using d&d with a database app, as you can inadvertently move a record somewhere by accident quite easily.
I think its something to do with the isAffected method, somehow the checking to see whether the drag element is inside the drop elements' parent's scrolling viewport is not working. I dont know enough js to fix it though. I have tried replacing
Position.within
with
Position.withinIncludingScrolloffsets
Dosent seem to help, even with a Position.prepare before hand. I have like wise tried many fixes in other scrolling related d&d tickets, none help.