1
- import { Component , OnInit } from '@angular/core' ;
1
+ import { Component , EventEmitter , OnInit , Output } from '@angular/core' ;
2
2
import { PatternFretMaps , PatternModeSelectors } from '../../../util/constants' ;
3
3
import { Mode } from '../../../util/types' ;
4
4
@@ -8,9 +8,15 @@ import { Mode } from '../../../util/types';
8
8
styleUrls : [ './patterns-index.component.scss' ]
9
9
} )
10
10
export class PatternsIndexComponent implements OnInit {
11
+ @Output ( ) expandFretboard = new EventEmitter < MouseEvent > ( ) ;
11
12
modeSelectors = PatternModeSelectors ;
12
13
selectedMode = Mode . ionian ;
13
14
selectedFretMap = PatternFretMaps . ionian ;
15
+ modesRequiringExpansion = [
16
+ Mode . mixolydian ,
17
+ Mode . aolian ,
18
+ Mode . locrian
19
+ ] ;
14
20
15
21
constructor ( ) {
16
22
}
@@ -21,6 +27,16 @@ export class PatternsIndexComponent implements OnInit {
21
27
setPattern ( mode : Mode ) {
22
28
this . selectedMode = mode ;
23
29
this . selectedFretMap = PatternFretMaps [ mode ] ;
30
+
31
+ if ( this . modesRequiringExpansion . indexOf ( mode ) > - 1 ) {
32
+ this . expandFretboardHere ( ) ;
33
+ }
24
34
}
25
35
36
+ expandFretboardHere ( ) {
37
+ //JIM I JUST CANNOT WORK OUT WHERE TO PUT THIS DIRECTIVE
38
+ // IS IT ON THE INSTANCE OF FRETBOARD ON PATTERNS-INDEX?
39
+ // IS IN IN THE FRETBOARD HTML?
40
+ this . expandFretboard . emit ( ) ;
41
+ }
26
42
}
0 commit comments