From: Scott González Date: Fri, 12 Nov 2010 15:28:55 +0000 (-0500) Subject: Buttonset: Added items option and removed visible filter for adding rounded corners... X-Git-Tag: 1.8.7~34 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5dad57e3c2001b6c644e3c39798198bc34fa1e5d;p=jquery-ui.git Buttonset: Added items option and removed visible filter for adding rounded corners. Fixes #6262 - buttonset not applying ui-corner to invisible elements. --- diff --git a/tests/unit/button/button_tickets.js b/tests/unit/button/button_tickets.js index 46002bdea..5c5053ded 100644 --- a/tests/unit/button/button_tickets.js +++ b/tests/unit/button/button_tickets.js @@ -1,15 +1,23 @@ /* * button_tickets.js */ -(function($) { +(function( $ ) { -module("button: tickets"); +module( "button: tickets" ); -test("#5946 - buttonset should ignore buttons that are not :visible", function() { - $( "#radio01" ).next().wrap( "
" ).parent().hide(); - var set = $( "#radio0" ).buttonset(); - ok( set.find( "label:eq(0)" ).is( ".ui-button:not(.ui-corner-left)" ) ); +test( "#5946 - buttonset should ignore buttons that are not :visible", function() { + $( "#radio01" ).next().andSelf().hide(); + var set = $( "#radio0" ).buttonset({ items: ":radio:visible" }); + ok( set.find( "label:eq(0)" ).is( ":not(.ui-button):not(.ui-corner-left)" ) ); ok( set.find( "label:eq(1)" ).is( ".ui-button.ui-corner-left" ) ); }); -})(jQuery); +test( "#6262 - buttonset not applying ui-corner to invisible elements", function() { + $( "#radio0" ).hide(); + var set = $( "#radio0" ).buttonset(); + ok( set.find( "label:eq(0)" ).is( ".ui-button.ui-corner-left" ) ); + ok( set.find( "label:eq(1)" ).is( ".ui-button" ) ); + ok( set.find( "label:eq(2)" ).is( ".ui-button.ui-corner-right" ) ); +}); + +})( jQuery ); diff --git a/ui/jquery.ui.button.js b/ui/jquery.ui.button.js index 912e45273..78134e308 100644 --- a/ui/jquery.ui.button.js +++ b/ui/jquery.ui.button.js @@ -315,6 +315,10 @@ $.widget( "ui.button", { }); $.widget( "ui.buttonset", { + options: { + items: ":button, :submit, :reset, :checkbox, :radio, a, :data(button)" + }, + _create: function() { this.element.addClass( "ui-buttonset" ); }, @@ -332,7 +336,7 @@ $.widget( "ui.buttonset", { }, refresh: function() { - this.buttons = this.element.find( ":button, :submit, :reset, :checkbox, :radio, a, :data(button)" ) + this.buttons = this.element.find( this.options.items ) .filter( ":ui-button" ) .button( "refresh" ) .end() @@ -343,13 +347,11 @@ $.widget( "ui.buttonset", { return $( this ).button( "widget" )[ 0 ]; }) .removeClass( "ui-corner-all ui-corner-left ui-corner-right" ) - .filter( ":visible" ) - .filter( ":first" ) - .addClass( "ui-corner-left" ) - .end() - .filter( ":last" ) - .addClass( "ui-corner-right" ) - .end() + .filter( ":first" ) + .addClass( "ui-corner-left" ) + .end() + .filter( ":last" ) + .addClass( "ui-corner-right" ) .end() .end(); },