Skip to content

Commit 04d668b

Browse files
committed
Spinner: Update button icons when option changes. Fixes #8926 - Spinner: Can't change icons option after init
1 parent 0d4022b commit 04d668b

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

tests/unit/spinner/spinner_options.js

+11-4
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,17 @@ module( "spinner: options" );
55
// culture is tested after numberFormat, since it depends on numberFormat
66

77
test( "icons: default ", function() {
8-
expect( 2 );
9-
var element = $( "#spin" ).val( 0 ).spinner().spinner( "widget" );
10-
equal( element.find( ".ui-icon:first" ).attr( "class" ), "ui-icon ui-icon-triangle-1-n" );
11-
equal( element.find( ".ui-icon:last" ).attr( "class" ), "ui-icon ui-icon-triangle-1-s" );
8+
expect( 4 );
9+
var element = $( "#spin" ).val( 0 ).spinner();
10+
equal( element.spinner( "widget" ).find( ".ui-icon:first" ).attr( "class" ), "ui-icon ui-icon-triangle-1-n" );
11+
equal( element.spinner( "widget" ).find( ".ui-icon:last" ).attr( "class" ), "ui-icon ui-icon-triangle-1-s" );
12+
13+
element.spinner( "option", "icons", {
14+
up: "ui-icon-carat-1-n",
15+
down: "ui-icon-carat-1-s"
16+
});
17+
equal( element.spinner( "widget" ).find( ".ui-icon:first" ).attr( "class" ), "ui-icon ui-icon-carat-1-n" );
18+
equal( element.spinner( "widget" ).find( ".ui-icon:last" ).attr( "class" ), "ui-icon ui-icon-carat-1-s" );
1219
});
1320

1421
test( "icons: custom ", function() {

ui/jquery.ui.spinner.js

+8
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,14 @@ $.widget( "ui.spinner", {
368368
value = this._parse( value );
369369
}
370370
}
371+
if ( key === "icons" ) {
372+
this.buttons.first().find( ".ui-icon" )
373+
.removeClass( this.options.icons.up )
374+
.addClass( value.up );
375+
this.buttons.last().find( ".ui-icon" )
376+
.removeClass( this.options.icons.down )
377+
.addClass( value.down );
378+
}
371379

372380
this._super( key, value );
373381

0 commit comments

Comments
 (0)