Build a nav-state service to help control visibility of submenus

This commit is contained in:
Leonard Smith 2020-12-18 12:12:32 -06:00
parent 56788aca7c
commit b5aa9e6c5a
1 changed files with 56 additions and 0 deletions

56
app/services/nav-state.js Normal file
View File

@ -0,0 +1,56 @@
import Service from '@ember/service';
import { tracked } from "@glimmer/tracking";
import { inject as service } from '@ember/service';
export default class NavStateService extends Service {
@service store;
@tracked book = '';
@tracked chapter = '';
@tracked verse = '';
@tracked chapterNavActive = false;
@tracked verseNaveActive = false;
setBook(book) {
this.book = book;
this.chapter = '';
this.verse = '';
}
setChapter(chapter) {
this.chapter = chapter;
this.verse = '';
}
setVerse(verse) {
this.verse = verse;
}
toggleChapterNav() {
this.chapterNavActive = !this.chapterNavActive;
}
toggleVerseNav() {
this.verseNaveActive = !this.verseNaveActive;
}
isCurrentBook(book) {
return this.book === book;
}
isCurrentChapter(chapter) {
return this.chapter === chapter;
}
isCurrentVerse(verse) {
return this.verse === verse;
}
isChapterNavActive() {
return this.chapterNavActive;
}
isVerseNavActive() {
return this.verseNaveActive;
}
}