This repository was archived by the owner on Dec 4, 2017. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 877
/
Copy pathapp.component.ts
66 lines (56 loc) · 2.14 KB
/
app.component.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// #docregion
import { Component } from '@angular/core';
// #docregion component
@Component({
selector: 'cb-app',
template: `
<input
(keydown.Enter)="handleKey('Enter')"
(keydown.Meta.Enter)="handleKey('Meta+Enter')"
(keydown.Shift.Enter)="handleKey('Shift+Enter')"
(keydown.Control.Enter)="handleKey('Control+Enter')"
(keydown.Alt.Enter)="handleKey('Alt+Enter')"
(keydown.Alt.Meta.Enter)="handleKey('Alt+Meta+Enter')"
(keydown.Shift.Meta.Enter)="handleKey('Shift+Meta+Alt+Enter')"
(keydown.Alt.Shift.Meta.Enter)="handleKey('Alt+Shift+Meta+Alt+Enter')"
(keydown.Control.Alt.Shift.Meta.Enter)="handleKey('Control+Alt+Shift+Meta+Alt+Enter')"
(keydown.Shift)="handleKey('Shift')"
(keydown.a)="handleKey('a')"
(keydown.Shift.a)="handleKey('A')"
(keydown.Shift.?)="handleKey('?')"
(keydown.Tab)="handleKey('Tab :: CANCELED', $event)"
(keydown.Space)="handleKey('Space')"
(keydown.Dot)="handleKey('Dot')"
(keydown.ArrowLeft)="handleKey('ArrowLeft')"
(keydown.ArrowUp)="handleKey('ArrowUp')"
(keydown.ArrowRight)="handleKey('ArrowRight')"
(keydown.ArrowDown)="handleKey('ArrowDown')"
(keydown.ArrowDown)="handleKey('ArrowDown')"
(keydown.End)="handleKey('End')"
(keydown.Home)="handleKey('Home')"
(keydown.PageDown)="handleKey('PageDown')"
(keydown.PageUp)="handleKey('PageUp')"
(keydown.Meta.s)="handleKey('Meta+S (Save) :: CANCELED', $event)"
(keydown.Meta.o)="handleKey('Meta+O (Open) :: CANCELED', $event)"
(keydown.Meta.p)="handleKey('Meta+P (Print) :: CANCELED', $event)"
(keydown.Meta.f)="handleKey('Meta+F (Find) :: CANCELED', $event)"
(keydown.Escape)="handleKey('Escape')"
autofocus>
<ul>
<li *ngFor="let item of logItems">
Key event: {{ item }}
</li>
</ul>
`
})
export class AppComponent {
logItems: string[] = [];
handleKey(description: string, event?: KeyboardEvent): void {
if (description === 'Escape') {
this.logItems = [];
}
this.logItems.push(description);
event && event.preventDefault();
}
}
// #enddocregion component