diff options
Diffstat (limited to 'ui/widgets/selectmenu.js')
-rw-r--r-- | ui/widgets/selectmenu.js | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/ui/widgets/selectmenu.js b/ui/widgets/selectmenu.js index 30d8c71af..b251f04f1 100644 --- a/ui/widgets/selectmenu.js +++ b/ui/widgets/selectmenu.js @@ -12,9 +12,9 @@ //>>description: Duplicates and extends the functionality of a native HTML select element, allowing it to be customizable in behavior and appearance far beyond the limitations of a native select. //>>docs: http://api.jqueryui.com/selectmenu/ //>>demos: http://jqueryui.com/selectmenu/ -//>>css.structure: ../themes/base/core.css -//>>css.structure: ../themes/base/selectmenu.css -//>>css.theme: ../themes/base/theme.css +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/selectmenu.css, ../../themes/base/button.css +//>>css.theme: ../../themes/base/theme.css ( function( factory ) { if ( typeof define === "function" && define.amd ) { @@ -24,6 +24,7 @@ "jquery", "./menu", "../escape-selector", + "../form-reset-mixin", "../keycode", "../labels", "../position", @@ -38,7 +39,7 @@ } }( function( $ ) { -return $.widget( "ui.selectmenu", { +return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, { version: "@VERSION", defaultElement: "<select>", options: { @@ -76,13 +77,14 @@ return $.widget( "ui.selectmenu", { this._drawButton(); this._drawMenu(); + this._bindFormResetHandler(); this._rendered = false; this.menuItems = $(); }, _drawButton: function() { - var icon, + var icon, space, that = this, item = this._parseOption( this.element.find( "option:selected" ), @@ -115,10 +117,13 @@ return $.widget( "ui.selectmenu", { .insertAfter( this.element ); this._addClass( this.button, "ui-selectmenu-button ui-selectmenu-button-closed", - "ui-widget ui-state-default" ); + "ui-button ui-widget" ); icon = $( "<span>" ).prependTo( this.button ); + space = $( "<span> </span>" ); + this._addClass( space, "ui-selectmenu-icon-space" ); this._addClass( icon, null, "ui-icon " + this.options.icons.button ); + icon.after( space ); this.buttonItem = this._renderButtonItem( item ) .appendTo( this.button ); @@ -136,8 +141,6 @@ return $.widget( "ui.selectmenu", { that._refreshMenu(); } } ); - this._hoverable( this.button ); - this._focusable( this.button ); }, _drawMenu: function() { @@ -606,7 +609,7 @@ return $.widget( "ui.selectmenu", { // we always remove classes first and add them second, otherwise if both classes have the // same theme class, it will be removed after we add it. this._removeClass( this.button, "ui-selectmenu-button-" + - ( this.isOpen ? "closed" : "open" ) ) + ( this.isOpen ? "closed" : "open" ) ) ._addClass( this.button, "ui-selectmenu-button-" + ( this.isOpen ? "open" : "closed" ) ) ._toggleClass( this.menuWrap, "ui-selectmenu-open", null, this.isOpen ); @@ -674,12 +677,13 @@ return $.widget( "ui.selectmenu", { }, _destroy: function() { + this._unbindFormResetHandler(); this.menuWrap.remove(); this.button.remove(); this.element.show(); this.element.removeUniqueId(); this.labels.attr( "for", this.ids.element ); } -} ); +} ] ); } ) ); |