From: Richard Worth Date: Wed, 17 Mar 2010 13:07:46 +0000 (+0000) Subject: Button: Added refresh method to buttonset, futher fixes #5278 - ui.buttons doesn... X-Git-Tag: 1.8~16 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2a8271c7016be902aed15cd2ccadc23164159a8d;p=jquery-ui.git Button: Added refresh method to buttonset, futher fixes #5278 - ui.buttons doesn't visually reset on form "reset" event or input "change" event --- diff --git a/ui/jquery.ui.button.js b/ui/jquery.ui.button.js index bb9aa4802..be0af7ecd 100644 --- a/ui/jquery.ui.button.js +++ b/ui/jquery.ui.button.js @@ -312,12 +312,33 @@ $.widget( "ui.button", { $.widget( "ui.buttonset", { _create: function() { this.element.addClass( "ui-button-set" ); + this._init(); + }, + + _init: function() { + this.refresh(); + }, + + _setOption: function( key, value ) { + if ( key === "disabled" ) { + this.buttons.button( "option", key, value ); + } + + $.Widget.prototype._setOption.apply( this, arguments ); + }, + + refresh: function() { this.buttons = this.element.find( ":button, :submit, :reset, :checkbox, :radio, a, :data(button)" ) - .button() + .filter( ":ui-button" ) + .button( "refresh" ) + .end() + .not( ":ui-button" ) + .button() + .end() .map(function() { return $( this ).button( "widget" )[ 0 ]; }) - .removeClass( "ui-corner-all" ) + .removeClass( "ui-corner-all ui-corner-left ui-corner-right" ) .filter( ":first" ) .addClass( "ui-corner-left" ) .end() @@ -327,14 +348,6 @@ $.widget( "ui.buttonset", { .end(); }, - _setOption: function( key, value ) { - if ( key === "disabled" ) { - this.buttons.button( "option", key, value ); - } - - $.Widget.prototype._setOption.apply( this, arguments ); - }, - destroy: function() { this.element.removeClass( "ui-button-set" ); this.buttons