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

src/Application/Action.ts   A

Complexity

Total Complexity 3
Complexity/F 1

Size

Lines of Code 31
Function Count 3

Duplication

Duplicated Lines 0
Ratio 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 23
dl 0
loc 31
ccs 5
cts 5
cp 1
rs 10
c 0
b 0
f 0
wmc 3
mnd 0
bc 0
fnc 3
bpm 0
cpm 1
noi 0

3 Functions

Rating   Name   Duplication   Size   Complexity  
A Action.openGithubWindow 0 3 1
A Action.switchMenuState 0 3 1
A Action.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