Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#11578 closed bug (cantfix)

Widgets can't find other widgets by the following selector ":data(ui-widgetName)" if the searched widget has been extended

Reported by: daniatic Owned by:
Priority: minor Milestone: none
Component: ui.widget Version:
Keywords: Cc:
Blocked by: Blocking:

Description

Please check my following question and answer on stackoverflow http://stackoverflow.com/questions/29150100/jquery-uis-droppables-greedy-option-not-working-when-extending-with-widget-fac/29167568#29167568. It provides all needed information and a jsbin.

I wasn't sure where this ticket belongs to, because it affects all widgets which use a hard coded key for the data attribute to find widgets. On the other side it comes from extending widgets which affects ui.widget.

Change History (3)

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

Resolution: cantfix
Status: newclosed

Well, this is definitely not a bug in the widget factory or the base widget. We've never claimed to support any form of polymorphism. See #9241 and #8721 for related discussions.

It's also worth noting that the terminology being used is incorrect. Extended widgets work just fine. It's subclassed widgets that won't work.

Over the past several years, this has come up maybe once per year. Nobody has ever provided a plausible implementation. We're happy to listen to ideas, but right now there's nothing we can do about this. You're much more likely to be able to solve individual problems than the polymorphism problem, so feel free to file bugs about specific uses of data selectors.

Last edited 5 years ago by Scott González (previous) (diff)

comment:2 Changed 5 years ago by daniatic

A plausible implementation is every implementation where the ui.droppable widget is extended and used with the option greedy set to true. In this case greedy isn't working any more because parent droppables can't be found.

PS: I'm sorry for using the wrong terminology.

comment:3 in reply to:  2 Changed 5 years ago by Scott González

Replying to daniatic:

A plausible implementation is every implementation where the ui.droppable widget is extended and used with the option greedy set to true. In this case greedy isn't working any more because parent droppables can't be found.

That's a plausible *use case* that's affected by this. It's not a plausible *implementation* of polymorphism.

Note: See TracTickets for help on using tickets.