Skip to main content

Search and Top Navigation

#2704 closed bug (fixed)

Opened April 17, 2008 01:16PM UTC

Closed May 03, 2008 07:13AM UTC

Last modified February 26, 2009 12:05PM UTC

ui.droppable.js and removing droppables

Reported by: colin.johnson Owned by: eduardo
Priority: major Milestone: 1.5
Component: ui.core Version: 1.2.3
Keywords: Cc:
Blocked by: Blocking:
Description

I have come across an error when trying to remove a droppable when I have finished with it. I am allowing an <li> element to be dragged onto another <li> element that is a droppable.

If I setup something like this:

$(this).droppable({
	drop: function(ev, ui) {
		// move the dragging element before the droppable
		$(ui.draggable).insertBefore($(this));
		$(REFERENCE_TO_A_DROPPABLE_LI_ELEMENT).remove();
	}
});

I get the following error:

this.items has no properties

This is raised on line 236:

if (!this.item.options.disabled && $.ui.intersect(draggable, this, this.item.options.tolerance))

and line 239:

if (!this.item.options.disabled && this.item.options.accept.call(this.item.element,(draggable.currentItem || draggable.element))) {

If I check that this.items exists then the error can be prevented

if (this.item && !this.item.options.disabled && $.ui.intersect(draggable, this, this.item.options.tolerance))

However, I have not got any knowledge of the impact of this change, and tried to actually resolve it without this change with no success. I think some of the issue is around now having a bind on the remove event (line 54) which means the removed elements are correctly taken out of the $.ui.ddmanager.droppables array but perhaps they are still referenced in the array loop starting on line 234?

I have attached an example of the failure, if you try and drag "Node 2" into the very top land area, it will raise the error.

Attachments (0)
Change History (7)

Changed April 17, 2008 01:19PM UTC by colin.johnson comment:1

Sorry, this should not be listed as a 'Major' priority...can't see how to change that now

Changed April 17, 2008 01:27PM UTC by colin.johnson comment:2

Replying to [comment:1 colin.johnson]:

Sorry, this should not be listed as a 'Major' priority...can't see how to change that now

Sorry, accidentally submitted this before changing the component to 'ui' as well.

Changed April 18, 2008 03:17AM UTC by davidserduke comment:3

component: coreui
owner: → paul

Changed April 23, 2008 09:53AM UTC by paul comment:4

owner: paulbraeker

Changed May 03, 2008 07:13AM UTC by paul comment:5

resolution: → fixed
status: newclosed

I don't know the cause, but I implemented a simple check wether this.options is available in the drop. This should fix it.

Changed May 24, 2008 03:39AM UTC by comment:6

milestone: 1.2.4

Milestone 1.2.4 deleted

Changed February 26, 2009 12:05PM UTC by paul comment:7

milestone: → 1.5