diff options
author | Scott González <scott.gonzalez@gmail.com> | 2015-09-16 12:54:12 -0400 |
---|---|---|
committer | Scott González <scott.gonzalez@gmail.com> | 2015-09-17 08:47:28 -0400 |
commit | e19d462f16f619dbc56824e00d5c409ccd677f8d (patch) | |
tree | e17de1040a8a689f3724915bd05b186c1af99353 | |
parent | afbcdbe47e46190529b4cf3a50753bae9606425c (diff) | |
download | jquery-ui-e19d462f16f619dbc56824e00d5c409ccd677f8d.tar.gz jquery-ui-e19d462f16f619dbc56824e00d5c409ccd677f8d.zip |
All: Delegate to base `_getCreateOptions()`.
Ensures that any extensions to the base widget will be handled properly by
individual widgets.
Closes gh-1598
-rw-r--r-- | tests/unit/widget/core.js | 5 | ||||
-rw-r--r-- | ui/widget.js | 4 | ||||
-rw-r--r-- | ui/widgets/selectmenu.js | 6 | ||||
-rw-r--r-- | ui/widgets/spinner.js | 4 |
4 files changed, 14 insertions, 5 deletions
diff --git a/tests/unit/widget/core.js b/tests/unit/widget/core.js index f62024108..6ad1e74fc 100644 --- a/tests/unit/widget/core.js +++ b/tests/unit/widget/core.js @@ -267,7 +267,7 @@ test( "merge multiple option arguments", function() { } ); test( "._getCreateOptions()", function() { - expect( 3 ); + expect( 4 ); $.widget( "ui.testWidget", { options: { option1: "valuex", @@ -275,6 +275,9 @@ test( "._getCreateOptions()", function() { option3: "value3" }, _getCreateOptions: function() { + var superOptions = this._super(); + + deepEqual( superOptions, {}, "Base implementation returns empty object" ); // Support: IE8 // Strict equality fails when comparing this.window in ie8 diff --git a/ui/widget.js b/ui/widget.js index eabeb3981..247759579 100644 --- a/ui/widget.js +++ b/ui/widget.js @@ -322,7 +322,9 @@ $.Widget.prototype = { this._init(); }, - _getCreateOptions: $.noop, + _getCreateOptions: function() { + return {}; + }, _getCreateEventData: $.noop, diff --git a/ui/widgets/selectmenu.js b/ui/widgets/selectmenu.js index 273e68594..820e68570 100644 --- a/ui/widgets/selectmenu.js +++ b/ui/widgets/selectmenu.js @@ -646,7 +646,11 @@ return $.widget( "ui.selectmenu", { }, _getCreateOptions: function() { - return { disabled: this.element.prop( "disabled" ) }; + var options = this._super(); + + options.disabled = this.element.prop( "disabled" ); + + return options; }, _parseOptions: function( options ) { diff --git a/ui/widgets/spinner.js b/ui/widgets/spinner.js index 381c052bd..369e29bd7 100644 --- a/ui/widgets/spinner.js +++ b/ui/widgets/spinner.js @@ -104,8 +104,8 @@ $.widget( "ui.spinner", { }, _getCreateOptions: function() { - var options = {}, - element = this.element; + var options = this._super(); + var element = this.element; $.each( [ "min", "max", "step" ], function( i, option ) { var value = element.attr( option ); |