Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#7753 closed bug (notabug)

Fix for nested mouse widgets breaks custom widgets

Reported by: harking Owned by: harking
Priority: minor Milestone: 1.9.0
Component: ui.mouse Version: 1.8.16
Keywords: Cc:
Blocked by: Blocking:


#4333 and the related commit use a private variable that can not be modified by sub-widgets of ui.mouse adds a getter/setter that is accessable to child plugins.

Change History (6)

comment:1 Changed 11 years ago by Scott González

Owner: set to harking
Status: newpending

This ticket doesn't describe a bug at all. Please provide details about the problem you're having.

comment:2 Changed 11 years ago by harking

Status: pendingnew

Previous to fix in e15c32d06763afd2376c61642397e7fc98338958 , plugins could check event.originalEvent.mouseHandled to see if the mouse had been handled already, and update it to allow other plugins to run. Now, plugins have no way of looking at this property or changing it.

In my plugin, which is patching ui.selectable to disable the drag-to-select behavior, I needed to set mouseHandled to false so that the ui.draggable plugin which is being used in conjunction, could still function on the click-and-drag of the mouse. The patch noted in this ticket adds the ability of inspecting the current mouseHandled status, and changing it.

comment:3 Changed 11 years ago by Scott González

Status: newpending

Why are you not using the actual API of _mouseStart()?

comment:4 Changed 11 years ago by harking

Status: pendingnew

I currently override _mouseStart, _mouseDrag, _mouseDown, and _mouseUp.

I probably could get away not using _mouseDown and instead use _mouseStart, but i definitely need to disable the _mouseDrag behavior in the parent ui.selectable and i use the _mouseUp to identify when click has completed so i can set the last-selected class on the last selected element.

Here is the current plugin. I'm no jquery ui expert, so if i should go about this another way, please let me know:

The main point of the plugin is to allow ui.droppable to operate on tr's of a table, in combination with selectable on the tr's of the table

comment:5 Changed 11 years ago by Scott González

Resolution: invalid
Status: newclosed

It sounds like you're doing something super hacky to work around bugs in our plugins.

comment:6 Changed 11 years ago by harking


Note: See TracTickets for help on using tickets.