Skip to content
Permalink
Browse files

droppable: greedy childs that dont accept the draggable dont block pr…

…opagation anymore, fixes #4570
  • Loading branch information...
Paul Bakaus
Paul Bakaus committed Aug 22, 2009
1 parent fefa5bd commit d28166805f72de1f76dcbc322e5c79ec50791882
Showing with 7 additions and 4 deletions.
  1. +7 −4 ui/ui.droppable.js
@@ -103,9 +103,13 @@ $.widget("ui.droppable", {
var childrenIntersection = false;
this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() {
var inst = $.data(this, 'droppable');
if(inst.options.greedy && $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)) {
childrenIntersection = true; return false;
}
if(
inst.options.greedy
&& !inst.options.disabled
&& inst.options.scope == draggable.options.scope
&& inst.accept.call(inst.element[0], (draggable.currentItem || draggable.element))
&& $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)
) { childrenIntersection = true; return false; }
});
if(childrenIntersection) return false;

@@ -239,7 +243,6 @@ $.ui.ddmanager = {
if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, event);

//Run through all droppables and check their positions based on specific tolerance options

$.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {

if(this.options.disabled || this.greedyChild || !this.visible) return;

0 comments on commit d281668

Please sign in to comment.
You can’t perform that action at this time.