Permalink
Browse files

Widget: Use existing widgetEventPrefix when extending. Fixes #8724 - …

…widgetEventPrefix is lost when extending existing widget.
  • Loading branch information...
1 parent ba752cf commit 848ab485839b6dd26f2b6c6680141d95cab32ceb @scottgonzalez scottgonzalez committed Oct 24, 2012
Showing with 16 additions and 1 deletion.
  1. +15 −0 tests/unit/widget/widget_core.js
  2. +1 −1 ui/jquery.ui.widget.js
View
15 tests/unit/widget/widget_core.js
@@ -1240,6 +1240,21 @@ test( "redefine deep prototype chain", function() {
delete $.ui.testWidget2;
});
+test( "redefine - widgetEventPrefix", function() {
+ expect( 2 );
+
+ $.widget( "ui.testWidget", {
+ widgetEventPrefix: "test"
+ });
+ equal( $.ui.testWidget.prototype.widgetEventPrefix, "test",
+ "cusotm prefix in original" );
+
+ $.widget( "ui.testWidget", $.ui.testWidget, {} );
+ equal( $.ui.testWidget.prototype.widgetEventPrefix, "test",
+ "cusotm prefix in extension" );
+
+});
+
asyncTest( "_delay", function() {
expect( 6 );
var order = 0,
View
2 ui/jquery.ui.widget.js
@@ -101,7 +101,7 @@ $.widget = function( name, base, prototype ) {
// TODO: remove support for widgetEventPrefix
// always use the name + a colon as the prefix, e.g., draggable:start
// don't prefix for widgets that aren't DOM-based
- widgetEventPrefix: name
+ widgetEventPrefix: basePrototype.widgetEventPrefix || name
}, prototype, {
constructor: constructor,
namespace: namespace,

0 comments on commit 848ab48

Please sign in to comment.