Widget: Use existing widgetEventPrefix when extending. Fixes #8724 - widgetEventPrefix is lost when extending existing widget.

This commit is contained in:
Scott González 2012-10-24 10:13:14 -04:00
parent ba752cf7ed
commit 848ab48583
2 changed files with 16 additions and 1 deletions

View File

@ -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 File

@ -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,