Skip to content
Permalink
Browse files

Widget: Allow instantiation without the new keyword.

  • Loading branch information...
scottgonzalez committed Jan 23, 2011
1 parent 3a0b617 commit 244eebe74dbc7bb35141e58e52ef9eaa21bd35f1
Showing with 13 additions and 1 deletion.
  1. +13 −1 ui/jquery.ui.widget.js
@@ -37,7 +37,13 @@ $.widget = function( name, base, prototype ) {

$[ namespace ] = $[ namespace ] || {};
$[ namespace ][ name ] = function( options, element ) {
// allow instantiation without "new" keyword
if ( !this._createWidget ) {
return new $[ namespace ][ name ]( options, element );
}

// allow instantiation without initializing for simple inheritance
// must use "new" keyword (the code above always passes args)
if ( arguments.length ) {
this._createWidget( options, element );
}
@@ -97,7 +103,7 @@ $.widget.bridge = function( name, object ) {
if ( instance ) {
instance.option( options || {} )._init();
} else {
$.data( this, name, new object( options, this ) );
object( options, this );
}
});
}
@@ -107,7 +113,13 @@ $.widget.bridge = function( name, object ) {
};

$.Widget = function( options, element ) {
// allow instantiation without "new" keyword
if ( !this._createWidget ) {
return new $[ namespace ][ name ]( options, element );
}

// allow instantiation without initializing for simple inheritance
// must use "new" keyword (the code above always passes args)
if ( arguments.length ) {
this._createWidget( options, element );
}

0 comments on commit 244eebe

Please sign in to comment.
You can’t perform that action at this time.