Buttonset: Added items option and removed visible filter for adding rounded corners. Fixes #6262 - buttonset not applying ui-corner to invisible elements.

This commit is contained in:
Scott González 2010-11-12 10:28:55 -05:00
parent fce1f97f76
commit 5dad57e3c2
2 changed files with 25 additions and 15 deletions

View File

@ -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( "<div></div>" ).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 );

View File

@ -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();
},