aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2015-10-06 17:01:23 +0200
committerAlexander Schmitz <arschmitz@gmail.com>2015-10-08 14:03:00 -0400
commit52d9ec6c4d7402d5ef04b8c7959f812f8d095cef (patch)
tree3a628ce852b56c3371ecdf94fa81b20c03cb4dde
parent9ff3d8fb90b53731401744a9f077c78b27aef1e4 (diff)
downloadjquery-ui-52d9ec6c4d7402d5ef04b8c7959f812f8d095cef.tar.gz
jquery-ui-52d9ec6c4d7402d5ef04b8c7959f812f8d095cef.zip
Checkboxradio: Add ui-state-highlight class to icon on create
This was already toggled in _toggleClasses, but that isn't called on create.
-rw-r--r--tests/unit/checkboxradio/options.js22
-rw-r--r--ui/widgets/checkboxradio.js4
2 files changed, 18 insertions, 8 deletions
diff --git a/tests/unit/checkboxradio/options.js b/tests/unit/checkboxradio/options.js
index 1614994c4..56daf7445 100644
--- a/tests/unit/checkboxradio/options.js
+++ b/tests/unit/checkboxradio/options.js
@@ -67,6 +67,9 @@ function assertIcon( checkbox, icon, assert ) {
assert.hasClasses( iconElement, "ui-checkboxradio-icon ui-corner-all ui-icon " +
"ui-icon-background ui-icon-" + icon,
"Icon has proper classes" );
+ if ( icon === "blank" ) {
+ assert.lacksClasses( iconElement, "ui-icon-check ui-state-highlight" );
+ }
}
test( "icon - false on init", function() {
var checkbox = $( "#checkbox-option-icon" );
@@ -76,36 +79,43 @@ test( "icon - false on init", function() {
checkbox.checkboxradio( { icon: false } );
assertNoIcon( checkbox );
} );
-
test( "icon - default unchecked", function( assert ) {
var checkbox = $( "#checkbox-option-icon" );
- expect( 2 );
+ expect( 3 );
checkbox.checkboxradio();
assertIcon( checkbox, false, assert );
} );
+test( "icon - default checked", function( assert ) {
+ var checkbox = $( "#checkbox-option-icon" ).attr( "checked", true );
+
+ expect( 2 );
+
+ checkbox.checkboxradio();
+ assertIcon( checkbox, "check ui-state-highlight", assert );
+} );
test( "icon", function( assert ) {
var checkbox = $( "#checkbox-option-icon" );
- expect( 8 );
+ expect( 9 );
checkbox.prop( "checked", true );
checkbox.checkboxradio();
- assertIcon( checkbox, "check", assert );
+ assertIcon( checkbox, "check ui-state-highlight", assert );
checkbox.checkboxradio( "option", "icon", false );
assertNoIcon( checkbox );
checkbox.checkboxradio( "option", "icon", true );
- assertIcon( checkbox, "check", assert );
+ assertIcon( checkbox, "check ui-state-highlight", assert );
checkbox.checkboxradio( "option", "icon", false );
assertNoIcon( checkbox );
- checkbox.prop( "checked", false ).checkboxradio( "refresh" );
checkbox.checkboxradio( "option", "icon", true );
+ checkbox.prop( "checked", false ).checkboxradio( "refresh" );
assertIcon( checkbox, false, assert );
} );
diff --git a/ui/widgets/checkboxradio.js b/ui/widgets/checkboxradio.js
index 6bdd858db..769ab146f 100644
--- a/ui/widgets/checkboxradio.js
+++ b/ui/widgets/checkboxradio.js
@@ -226,14 +226,14 @@ $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
}
if ( this.type === "checkbox" ) {
- toAdd += checked ? "ui-icon-check" : "ui-icon-blank";
+ toAdd += checked ? "ui-icon-check ui-state-highlight" : "ui-icon-blank";
this._removeClass( this.icon, null, checked ? "ui-icon-blank" : "ui-icon-check" );
} else {
toAdd += "ui-icon-blank";
}
this._addClass( this.icon, "ui-checkboxradio-icon", toAdd );
if ( !checked ) {
- this._removeClass( this.icon, null, "ui-icon-check" );
+ this._removeClass( this.icon, null, "ui-icon-check ui-state-highlight" );
}
this.icon.prependTo( this.label ).after( this.iconSpace );
} else if ( this.icon !== undefined ) {