Passed
Push — develop ( 9011bf...5a7fee )
by Endre
03:38
created

Action   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 21
dl 0
loc 26
ccs 5
cts 5
cp 1
rs 10
c 0
b 0
f 0
wmc 3

3 Functions

Rating   Name   Duplication   Size   Complexity  
A openGithubWindow 0 3 1
A switchMenuState 0 3 1
A closeMenu 0 3 1
1
import {IObserver} from '../Observer/Observer';
2
import {IAdapter} from './View/Application';
3
4
export default class Action {
5
  menuOpenState: IObserver<boolean>;
6
7
  constructor(menuOpenState: IObserver<boolean>) {
8 4
    this.menuOpenState = menuOpenState;
9
  }
10
11
  get adapter(): IAdapter {
12 4
    return {
13
      onGithubClick: this.openGithubWindow.bind(this),
14
      onMenuClick: this.switchMenuState.bind(this),
15
      onClose: this.closeMenu.bind(this)
16
    };
17
  }
18
19
  protected openGithubWindow(): void {
20 1
    window.open('https://github.com/enbock/Time-Tracker/', '_blank');
21
  }
22
23
  protected switchMenuState(): void {
24 1
    this.menuOpenState.value = !this.menuOpenState.value;
25
  }
26
27
  protected closeMenu(): void {
28 2
    this.menuOpenState.value = false;
29
  }
30
}
31