Skip to content

Commit 848ab48

Browse files
committed
Widget: Use existing widgetEventPrefix when extending. Fixes #8724 - widgetEventPrefix is lost when extending existing widget.
1 parent ba752cf commit 848ab48

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

tests/unit/widget/widget_core.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1240,6 +1240,21 @@ test( "redefine deep prototype chain", function() {
12401240
delete $.ui.testWidget2;
12411241
});
12421242

1243+
test( "redefine - widgetEventPrefix", function() {
1244+
expect( 2 );
1245+
1246+
$.widget( "ui.testWidget", {
1247+
widgetEventPrefix: "test"
1248+
});
1249+
equal( $.ui.testWidget.prototype.widgetEventPrefix, "test",
1250+
"cusotm prefix in original" );
1251+
1252+
$.widget( "ui.testWidget", $.ui.testWidget, {} );
1253+
equal( $.ui.testWidget.prototype.widgetEventPrefix, "test",
1254+
"cusotm prefix in extension" );
1255+
1256+
});
1257+
12431258
asyncTest( "_delay", function() {
12441259
expect( 6 );
12451260
var order = 0,

ui/jquery.ui.widget.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ $.widget = function( name, base, prototype ) {
101101
// TODO: remove support for widgetEventPrefix
102102
// always use the name + a colon as the prefix, e.g., draggable:start
103103
// don't prefix for widgets that aren't DOM-based
104-
widgetEventPrefix: name
104+
widgetEventPrefix: basePrototype.widgetEventPrefix || name
105105
}, prototype, {
106106
constructor: constructor,
107107
namespace: namespace,

0 commit comments

Comments
 (0)