aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2015-09-16 12:54:12 -0400
committerScott González <scott.gonzalez@gmail.com>2015-09-17 08:47:28 -0400
commite19d462f16f619dbc56824e00d5c409ccd677f8d (patch)
treee17de1040a8a689f3724915bd05b186c1af99353
parentafbcdbe47e46190529b4cf3a50753bae9606425c (diff)
downloadjquery-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.js5
-rw-r--r--ui/widget.js4
-rw-r--r--ui/widgets/selectmenu.js6
-rw-r--r--ui/widgets/spinner.js4
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 );