-
-
Notifications
You must be signed in to change notification settings - Fork 11
/
morse-code-encoding.component.ts
48 lines (39 loc) · 1.21 KB
/
morse-code-encoding.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
import {Component, ViewChildren} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {MorseCodeDecoderService} from '../../core/service/morse-code.service';
import {MorseDisplayComponent} from '../../shared/components/morse-display/morse-display.component';
@Component({
selector: 'morse-code-encoding',
templateUrl: './morse-code-encoding.component.html'
})
export class MorseCodeEncodingComponent {
isMuted = true;
@ViewChildren(MorseDisplayComponent)
morseCodeDisplaysQueryList
startEvents$: Observable<number>
stopEvents$: Observable<number>
morseChar$: Observable<string>
morseSymbol$: Observable<string>
morseLetter$: Observable<string>
constructor(public ms: MorseCodeDecoderService) {
this.startEvents$ = ms.startEvents$
this.stopEvents$ = ms.stopEvents$
this.morseChar$ = ms.morseChar$
this.morseSymbol$ = ms.morseSymbol$
this.morseLetter$ = ms.morseLetter$
}
sendStartSignal() {
this.ms.sendStartTime(Date.now())
}
sendStopSignal() {
this.ms.sendStopTime(Date.now())
}
toggleMuted() {
this.isMuted = !this.isMuted;
}
resetAll() {
this.morseCodeDisplaysQueryList.forEach((display) => {
display.reset()
})
}
}