@@ -43,14 +43,7 @@ export class MdSliderChange {
43
43
host : {
44
44
'(blur)' : '_onBlur()' ,
45
45
'(click)' : '_onClick($event)' ,
46
- '(keydown.arrowdown)' : '_increment($event, -1)' ,
47
- '(keydown.arrowleft)' : '_increment($event, -1)' ,
48
- '(keydown.arrowright)' : '_increment($event, 1)' ,
49
- '(keydown.arrowup)' : '_increment($event, 1)' ,
50
- '(keydown.end)' : '_onEndKeyPressed($event)' ,
51
- '(keydown.home)' : '_onHomeKeyPressed($event)' ,
52
- '(keydown.pagedown)' : '_increment($event, -10)' ,
53
- '(keydown.pageup)' : '_increment($event, 10)' ,
46
+ '(keydown)' : '_onKeydown($event)' ,
54
47
'(mouseenter)' : '_onMouseenter()' ,
55
48
'(slide)' : '_onSlide($event)' ,
56
49
'(slideend)' : '_onSlideEnd()' ,
@@ -263,28 +256,44 @@ export class MdSlider implements ControlValueAccessor {
263
256
this . onTouched ( ) ;
264
257
}
265
258
266
- /** Increments the slider by the given number of steps (negative number decrements). */
267
- _increment ( event : KeyboardEvent , numSteps : number ) {
259
+ _onKeydown ( event : KeyboardEvent ) {
268
260
if ( this . disabled ) { return ; }
269
261
270
- this . value = this . _clamp ( this . value + this . step * numSteps , this . min , this . max ) ;
271
- event . preventDefault ( ) ;
272
- }
273
-
274
- /** Handles end key pressed. */
275
- _onEndKeyPressed ( event : KeyboardEvent ) {
276
- if ( this . disabled ) { return ; }
262
+ switch ( event . keyCode ) {
263
+ case 33 : /* page up */
264
+ this . _increment ( 10 ) ;
265
+ break ;
266
+ case 34 : /* page down */
267
+ this . _increment ( - 10 ) ;
268
+ break ;
269
+ case 35 : /* end */
270
+ this . value = this . max ;
271
+ break ;
272
+ case 36 : /* home */
273
+ this . value = this . min ;
274
+ break ;
275
+ case 37 : /* left arrow */
276
+ this . _increment ( - 1 ) ;
277
+ break ;
278
+ case 38 : /* up arrow */
279
+ this . _increment ( 1 ) ;
280
+ break ;
281
+ case 39 : /* right arrow */
282
+ this . _increment ( 1 ) ;
283
+ break ;
284
+ case 40 : /* down arrow */
285
+ this . _increment ( - 1 ) ;
286
+ break ;
287
+ default :
288
+ return ;
289
+ }
277
290
278
- this . value = this . max ;
279
291
event . preventDefault ( ) ;
280
292
}
281
293
282
- /** Handles home key pressed. */
283
- _onHomeKeyPressed ( event : KeyboardEvent ) {
284
- if ( this . disabled ) { return ; }
285
-
286
- this . value = this . min ;
287
- event . preventDefault ( ) ;
294
+ /** Increments the slider by the given number of steps (negative number decrements). */
295
+ private _increment ( numSteps : number ) {
296
+ this . value = this . _clamp ( this . value + this . step * numSteps , this . min , this . max ) ;
288
297
}
289
298
290
299
/**
0 commit comments