Skip to content
This repository was archived by the owner on Oct 8, 2021. It is now read-only.

Commit e31e599

Browse files
cgackarschmitz
authored andcommitted
Rangeslider: trigger slidestart on first handle
Fixes gh-7597 Closes gh-7637 (cherry picked from commit 588cf5b)
1 parent 0036b44 commit e31e599

File tree

3 files changed

+42
-0
lines changed

3 files changed

+42
-0
lines changed

js/widgets/forms/rangeslider.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ define( [ "jquery",
9191
//if the first handle is dragged send the event to the first slider
9292
$.data( this._inputFirst.get(0), "mobile-slider" ).dragging = true;
9393
$.data( this._inputFirst.get(0), "mobile-slider" ).refresh( event );
94+
$.data( this._inputFirst.get(0), "mobile-slider" )._trigger( "start" );
9495
return false;
9596
},
9697

tests/unit/rangeslider/index.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@
5252
<input type="range" name="rangeslider-last" id="rangeslider-extreams-last" value="55" min="0" max="100" data-nstest-theme="b" data-nstest-track-theme="a" />
5353
</div>
5454
</div>
55+
<div data-nstest-role="fieldcontain">
56+
<div data-nstest-role="rangeslider" id="rangeslider-startstop">
57+
<input type="range" name="rangeslider-first" id="rangeslider-startstop-first" value="0" min="0" max="100" data-nstest-theme="b" data-nstest-track-theme="a" />
58+
<input type="range" name="rangeslider-last" id="rangeslider-startstop-last" value="100" min="0" max="100" data-nstest-theme="b" data-nstest-track-theme="a" />
59+
</div>
60+
</div>
5561
</form>
5662
</div>
5763

tests/unit/rangeslider/rangeslider_core.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,4 +95,39 @@
9595
);
9696
});
9797

98+
asyncTest( "fire slidestart and slidestop on both handles", function() {
99+
var rangeslider = $( "#rangeslider-startstop" ),
100+
widget = rangeslider.data( "mobile-rangeslider" ),
101+
sliders = widget._sliders,
102+
handleFirst = sliders.find( ".ui-slider-handle" ).first(),
103+
handleLast = sliders.find( ".ui-slider-handle" ).last();
104+
105+
$.testHelper.eventCascade([
106+
function() {
107+
handleFirst.mousedown();
108+
},
109+
110+
"slidestart", function(timeout) {
111+
ok( !timeout, "slidestart on first handle fired" );
112+
handleFirst.mouseup();
113+
},
114+
115+
"slidestop", function(timeout) {
116+
ok( !timeout, "slidestop on first handle fired" );
117+
handleLast.mousedown();
118+
},
119+
120+
"slidestart", function(timeout) {
121+
ok( !timeout, "slidestart on last handle fired" );
122+
handleLast.mouseup();
123+
},
124+
125+
"slidestop", function(timeout) {
126+
ok( !timeout, "slidestop on last handle fired" );
127+
start();
128+
}
129+
130+
], 50)
131+
});
132+
98133
})( jQuery );

0 commit comments

Comments
 (0)