Skip to content

Commit 996f16c

Browse files
author
Salma Alam-Naylor
committed
Toggle fretboard on modes that need expansion
1 parent 00d58a9 commit 996f16c

File tree

3 files changed

+9
-13
lines changed

3 files changed

+9
-13
lines changed

apps/fretonator-web/src/app/common/fretonator/fretboard/fretboard.component.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Component, Input, OnInit } from '@angular/core';
1+
import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';
22
import { FretMap, Mode } from '../../../util/types';
33
import { NotePlaybackService } from '../../playback/note-playback.service';
44

@@ -17,7 +17,8 @@ const FretReturner = {
1717
templateUrl: './fretboard.component.html',
1818
styleUrls: ['./fretboard.component.scss']
1919
})
20-
export class FretboardComponent implements OnInit {
20+
export class FretboardComponent implements OnChanges {
21+
@Output() loadExpandedChange = new EventEmitter<Boolean>()
2122
@Input() fretMap: FretMap;
2223
@Input() mode: Mode;
2324
@Input() stringNamesAreCaseSensitive = false;
@@ -28,7 +29,7 @@ export class FretboardComponent implements OnInit {
2829
constructor(public playbackService: NotePlaybackService) {
2930
}
3031

31-
ngOnInit(): void {
32+
ngOnChanges(): void {
3233
if (this.loadExpanded) {
3334
this.setFretMode(FretMode.twentyFour);
3435
}
@@ -41,6 +42,8 @@ export class FretboardComponent implements OnInit {
4142
setFretMode(fretMode: FretMode) {
4243
this.fretMode = fretMode;
4344
this.frets = FretReturner[fretMode];
45+
46+
this.loadExpandedChange.emit(fretMode === FretMode.twentyFour);
4447
}
4548

4649
}

apps/fretonator-web/src/app/pages/learn/patterns-index/patterns-index.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ <h1 class="patterns__subtitle">The 3 note per string method</h1>
2020
<app-fretboard
2121
[fretMap]="selectedFretMap"
2222
[stringNamesAreCaseSensitive]="true"
23-
[loadExpanded]="true"></app-fretboard>
23+
[(loadExpanded)]="shouldExpand"></app-fretboard>

apps/fretonator-web/src/app/pages/learn/patterns-index/patterns-index.component.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ import { Mode } from '../../../util/types';
88
styleUrls: ['./patterns-index.component.scss']
99
})
1010
export class PatternsIndexComponent implements OnInit {
11-
@Output() expandFretboard = new EventEmitter<MouseEvent>();
1211
modeSelectors = PatternModeSelectors;
1312
selectedMode = Mode.ionian;
1413
selectedFretMap = PatternFretMaps.ionian;
14+
shouldExpand = true;
1515
modesRequiringExpansion = [
1616
Mode.mixolydian,
1717
Mode.aolian,
@@ -29,14 +29,7 @@ export class PatternsIndexComponent implements OnInit {
2929
this.selectedFretMap = PatternFretMaps[mode];
3030

3131
if (this.modesRequiringExpansion.indexOf(mode) > -1) {
32-
this.expandFretboardHere();
32+
this.shouldExpand = true;
3333
}
3434
}
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-
}
4235
}

0 commit comments

Comments
 (0)