Skip to content

Commit 5734628

Browse files
committed
Progressbar: use the _classes method.
Fixes #7053
1 parent 82c7e52 commit 5734628

File tree

3 files changed

+35
-8
lines changed

3 files changed

+35
-8
lines changed

tests/unit/progressbar/progressbar_common.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
TestHelpers.commonWidgetTests( "progressbar", {
22
defaults: {
3+
classes: {
4+
"ui-progressbar": "ui-corner-all",
5+
"ui-progressbar-value": "ui-corner-left",
6+
"ui-progressbar-overlay": null,
7+
"ui-progressbar-indeterminate": null,
8+
"ui-progressbar-complete": "ui-corner-right"
9+
},
310
disabled: false,
411
max: 100,
512
value: 0,

tests/unit/progressbar/progressbar_core.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
11
module( "progressbar: core" );
22

33
test( "markup structure", function() {
4-
expect( 5 );
5-
var element = $( "#progressbar" ).progressbar();
4+
expect( 12 );
5+
var element = $( "#progressbar" ).progressbar(),
6+
value = element.children().eq( 0 );
67
ok( element.hasClass( "ui-progressbar" ), "main element is .ui-progressbar" );
8+
ok( element.hasClass( "ui-widget" ), "main element is .ui-widget" );
9+
ok( element.hasClass( "ui-widget-content" ), "main element is .ui-widget-content" );
10+
ok( element.hasClass( "ui-corner-all" ), "main element is .ui-corner-all" );
11+
ok( !value.hasClass( "ui-progressbar-complete" ), "value is not .ui-progressbar-complete" );
12+
ok( !value.hasClass( "ui-corner-right" ), "value is not .ui-corner-right" );
13+
element.progressbar( "option", "value", 100 );
14+
ok( value.hasClass( "ui-progressbar-complete" ), "value is .ui-progressbar-complete" );
15+
ok( value.hasClass( "ui-corner-right" ), "value is .ui-corner-right" );
16+
717
ok( !element.hasClass( "ui-progressbar-indeterminate" ),
818
"main element is not .ui-progressbar-indeterminate" );
919
equal( element.children().length, 1, "main element contains one child" );

ui/progressbar.js

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,13 @@
2727
return $.widget( "ui.progressbar", {
2828
version: "@VERSION",
2929
options: {
30+
classes: {
31+
"ui-progressbar": "ui-corner-all",
32+
"ui-progressbar-value": "ui-corner-left",
33+
"ui-progressbar-overlay": null,
34+
"ui-progressbar-indeterminate": null,
35+
"ui-progressbar-complete": "ui-corner-right"
36+
},
3037
max: 100,
3138
value: 0,
3239

@@ -41,23 +48,24 @@ return $.widget( "ui.progressbar", {
4148
this.oldValue = this.options.value = this._constrainedValue();
4249

4350
this.element
44-
.addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
51+
.addClass( this._classes( "ui-progressbar" ) + " ui-widget ui-widget-content" )
4552
.attr({
4653
// Only set static values, aria-valuenow and aria-valuemax are
4754
// set inside _refreshValue()
4855
role: "progressbar",
4956
"aria-valuemin": this.min
5057
});
5158

52-
this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
59+
this.valueDiv = $( "<div>" )
60+
.addClass( this._classes( "ui-progressbar-value" ) + " ui-widget-header" )
5361
.appendTo( this.element );
5462

5563
this._refreshValue();
5664
},
5765

5866
_destroy: function() {
5967
this.element
60-
.removeClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
68+
.removeClass( this._classes( "ui-progressbar" ) + " ui-widget ui-widget-content" )
6169
.removeAttr( "role" )
6270
.removeAttr( "aria-valuemin" )
6371
.removeAttr( "aria-valuemax" )
@@ -125,15 +133,17 @@ return $.widget( "ui.progressbar", {
125133

126134
this.valueDiv
127135
.toggle( this.indeterminate || value > this.min )
128-
.toggleClass( "ui-corner-right", value === this.options.max )
136+
.toggleClass( this._classes( "ui-progressbar-complete" ), value === this.options.max )
129137
.width( percentage.toFixed(0) + "%" );
130138

131-
this.element.toggleClass( "ui-progressbar-indeterminate", this.indeterminate );
139+
this.element.toggleClass( this._classes( "ui-progressbar-indeterminate" ), this.indeterminate );
132140

133141
if ( this.indeterminate ) {
134142
this.element.removeAttr( "aria-valuenow" );
135143
if ( !this.overlayDiv ) {
136-
this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv );
144+
this.overlayDiv = $( "<div>" )
145+
.addClass( this._classes( "ui-progressbar-overlay" ) )
146+
.appendTo( this.valueDiv );
137147
}
138148
} else {
139149
this.element.attr({

0 commit comments

Comments
 (0)