Skip to content
Permalink
Browse files

Button: Batched class changes to improve performance. Fixes #6934. Bu…

…tton: Batch class changes to improve performance.
  • Loading branch information
Adovenmuehle authored and scottgonzalez committed Feb 11, 2011
1 parent 92bae28 commit 5b104dbcefdfa708d80e8babea0539617167012d
Showing with 12 additions and 7 deletions.
  1. +12 −7 ui/jquery.ui.button.js
@@ -289,27 +289,32 @@ $.widget( "ui.button", {
.appendTo( buttonElement.empty() )
.text(),
icons = this.options.icons,
multipleIcons = icons.primary && icons.secondary;
multipleIcons = icons.primary && icons.secondary,
buttonClasses = [];

if ( icons.primary || icons.secondary ) {
buttonElement.addClass( "ui-button-text-icon" +
( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) );
buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) );

if ( icons.primary ) {
buttonElement.prepend( "<span class='ui-button-icon-primary ui-icon " + icons.primary + "'></span>" );
}

if ( icons.secondary ) {
buttonElement.append( "<span class='ui-button-icon-secondary ui-icon " + icons.secondary + "'></span>" );
}

if ( !this.options.text ) {
buttonElement
.addClass( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" )
.removeClass( "ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary" );
buttonClasses.push( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" );
buttonElement.removeClass( "ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary" );

if ( !this.hasTitle ) {
buttonElement.attr( "title", buttonText );
}
}
} else {
buttonElement.addClass( "ui-button-text-only" );
buttonClasses.push( "ui-button-text-only" );
}
buttonElement.addClass( buttonClasses.join( " " ) );
}
});

0 comments on commit 5b104db

Please sign in to comment.
You can’t perform that action at this time.