-
- {{ activeSlide.text }}
+
+ {{ currentSlides[activeSlide]?.text }}
-
- {{ currentSlides[3].text }}
+
\ No newline at end of file
diff --git a/src/app/components/chord-view/chord-view.component.ts b/src/app/components/chord-view/chord-view.component.ts
index a0f6b24..a90a2ad 100644
--- a/src/app/components/chord-view/chord-view.component.ts
+++ b/src/app/components/chord-view/chord-view.component.ts
@@ -2,46 +2,13 @@ import { Component, OnInit } from '@angular/core';
import { OpenLPService } from '../../openlp.service';
import { Slide } from '../../responses';
import { Observable } from 'rxjs';
+import { StageViewComponent } from '../stage-view/stage-view.component';
@Component({
selector: 'app-chord-view',
templateUrl: './chord-view.component.html',
styleUrls: ['./chord-view.component.scss', '../overlay.scss']
})
-export class ChordViewComponent implements OnInit {
+export class ChordViewComponent extends StageViewComponent {
- currentSlides: Slide[] = [];
- activeSlide: Slide;
- tags: string[] = [];
- constructor(private openlpService: OpenLPService) { }
-
- ngOnInit() {
- this.updateCurrentSlides();
- this.openlpService.stateChanged$.subscribe(item => this.updateCurrentSlides());
- }
-
- updateCurrentSlides(): void {
- this.openlpService.getItemSlides().subscribe(slides => this.setNewSlides(slides));
- }
-
- setNewSlides(slides: Slide[]): void {
- this.currentSlides = slides;
- console.log(slides);
- this.activeSlide = slides.find(s => s.selected);
- this.updateOrderOfTags();
- }
-
- updateOrderOfTags(): void {
- this.tags = [];
- let lastTag: string;
- let lastIndex: number;
- for (let i = 0; i < this.currentSlides.length; ++i) {
- let currentTag = this.currentSlides[i].tag;
- if (currentTag != lastTag) {
- this.tags.push(lastTag);
- lastTag = currentTag;
- lastIndex = i;
- }
- }
- }
}