Skip to content

Commit cb748b4

Browse files
Samuel Bovéemikesherov
Samuel Bovée
authored andcommitted
Slider: factorize code with Widget method call. Fixed #8772 - Wrong slider UI state when disabled at init
1 parent f13b5df commit cb748b4

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

tests/unit/slider/slider_methods.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ test("enable", function() {
4141
equal(actual, expected, 'enable is chainable');
4242

4343
el = $('<div></div>').slider({ disabled: true });
44-
ok(el.hasClass('ui-disabled'), 'slider has ui-disabled class before enable method call');
44+
ok(el.hasClass('ui-state-disabled'), 'slider has ui-state-disabled class before enable method call');
4545
ok(el.hasClass('ui-slider-disabled'), 'slider has ui-slider-disabled class before enable method call');
4646
el.slider('enable');
47-
ok(!el.hasClass('ui-disabled'), 'slider does not have ui-disabled class after enable method call');
47+
ok(!el.hasClass('ui-state-disabled'), 'slider does not have ui-state-disabled class after enable method call');
4848
ok(!el.hasClass('ui-slider-disabled'), 'slider does not have ui-slider-disabled class after enable method call');
4949
});
5050

@@ -56,10 +56,10 @@ test("disable", function() {
5656
equal(actual, expected, 'disable is chainable');
5757

5858
el = $('<div></div>').slider({ disabled: false });
59-
ok(!el.hasClass('ui-disabled'), 'slider does not have ui-disabled class before disabled method call');
59+
ok(!el.hasClass('ui-state-disabled'), 'slider does not have ui-state-disabled class before disabled method call');
6060
ok(!el.hasClass('ui-slider-disabled'), 'slider does not have ui-slider-disabled class before disable method call');
6161
el.slider('disable');
62-
ok(el.hasClass('ui-disabled'), 'slider has ui-disabled class after disable method call');
62+
ok(el.hasClass('ui-state-disabled'), 'slider has ui-state-disabled class after disable method call');
6363
ok(el.hasClass('ui-slider-disabled'), 'slider has ui-slider-disabled class after disable method call');
6464
});
6565

ui/jquery.ui.slider.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ $.widget( "ui.slider", $.ui.mouse, {
5454
" ui-slider-" + this.orientation +
5555
" ui-widget" +
5656
" ui-widget-content" +
57-
" ui-corner-all" +
58-
( o.disabled ? " ui-slider-disabled ui-disabled" : "" ) );
57+
" ui-corner-all");
5958

6059
this.range = $([]);
6160

@@ -116,6 +115,8 @@ $.widget( "ui.slider", $.ui.mouse, {
116115
$( this ).data( "ui-slider-handle-index", i );
117116
});
118117

118+
this._setOption( "disabled", o.disabled );
119+
119120
this._on( this.handles, {
120121
keydown: function( event ) {
121122
var allowed, curVal, newVal, step,
@@ -205,7 +206,6 @@ $.widget( "ui.slider", $.ui.mouse, {
205206
.removeClass( "ui-slider" +
206207
" ui-slider-horizontal" +
207208
" ui-slider-vertical" +
208-
" ui-slider-disabled" +
209209
" ui-widget" +
210210
" ui-widget-content" +
211211
" ui-corner-all" );
@@ -480,10 +480,8 @@ $.widget( "ui.slider", $.ui.mouse, {
480480
this.handles.filter( ".ui-state-focus" ).blur();
481481
this.handles.removeClass( "ui-state-hover" );
482482
this.handles.prop( "disabled", true );
483-
this.element.addClass( "ui-disabled" );
484483
} else {
485484
this.handles.prop( "disabled", false );
486-
this.element.removeClass( "ui-disabled" );
487485
}
488486
break;
489487
case "orientation":

0 commit comments

Comments
 (0)