Skip to content

Commit 165e5ac

Browse files
committed
switch to event.keyCode
1 parent d7cafeb commit 165e5ac

File tree

1 file changed

+33
-24
lines changed

1 file changed

+33
-24
lines changed

Diff for: src/lib/slider/slider.ts

+33-24
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,7 @@ export class MdSliderChange {
4343
host: {
4444
'(blur)': '_onBlur()',
4545
'(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)',
5447
'(mouseenter)': '_onMouseenter()',
5548
'(slide)': '_onSlide($event)',
5649
'(slideend)': '_onSlideEnd()',
@@ -263,28 +256,44 @@ export class MdSlider implements ControlValueAccessor {
263256
this.onTouched();
264257
}
265258

266-
/** Increments the slider by the given number of steps (negative number decrements). */
267-
_increment(event: KeyboardEvent, numSteps: number) {
259+
_onKeydown(event: KeyboardEvent) {
268260
if (this.disabled) { return; }
269261

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+
}
277290

278-
this.value = this.max;
279291
event.preventDefault();
280292
}
281293

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);
288297
}
289298

290299
/**

0 commit comments

Comments
 (0)