Skip to content
Permalink
Browse files

Widget factory: Support passing multiple option hashes on init. Fixes…

… #4784.
  • Loading branch information...
scottgonzalez committed Aug 26, 2009
1 parent 99d09ec commit 6c6218fa12cc25695d2203a536b2047879ad904d
Showing with 27 additions and 0 deletions.
  1. +22 −0 tests/unit/core/core.js
  2. +5 −0 ui/ui.core.js
@@ -57,4 +57,26 @@ test('zIndex', function() {
equals($('#zIndexAutoNoParent').zIndex(), 0, 'zIndex never explicitly set in hierarchy');
});

test('widget factory, merge multiple option arguments', function() {
expect(1);
$.widget("ui.widgetTest", {
_init: function() {
same(this.options, {
disabled: false,
option1: "value1",
option2: "value2",
option3: "value3"
});
}
});
$("#main > :first").widgetTest({
option1: "valuex",
option2: "valuex",
option3: "value3"
}, {
option1: "value1",
option2: "value2"
});
});

})(jQuery);
@@ -253,6 +253,11 @@ $.widget = function(name, prototype) {
args = Array.prototype.slice.call(arguments, 1),
returnValue = this;

// allow multiple hashes to be passed on init
options = !isMethodCall && args.length
? $.extend.apply(null, arguments)
: options;

// prevent calls to internal methods
if (isMethodCall && options.substring(0, 1) == '_') {
return returnValue;

0 comments on commit 6c6218f

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