Got navigation working
This commit is contained in:
parent
f0463b210b
commit
e504a104b7
|
@ -0,0 +1,6 @@
|
||||||
|
import JSONAPIAdapter from '@ember-data/adapter/json-api';
|
||||||
|
|
||||||
|
export default class ApplicationAdapter extends JSONAPIAdapter {
|
||||||
|
namepace = 'api/v1/';
|
||||||
|
host = 'http://gwt.api';
|
||||||
|
}
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
||||||
|
<a href="#" {{on "click" this.selectBook}}>{{this.bookTitle}}</a>
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
import Component from '@glimmer/component';
|
||||||
|
import { action } from '@ember/object';
|
||||||
|
|
||||||
|
export default class BookComponent extends Component {
|
||||||
|
get bookTitle() {
|
||||||
|
let string = this.args.book.name.toLowerCase();
|
||||||
|
if (this.isNumber(string.charAt(0))) {
|
||||||
|
return string.slice(0,1) + string.charAt(2).toUpperCase() + string.slice(3);
|
||||||
|
} else {
|
||||||
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@action
|
||||||
|
selectBook() {
|
||||||
|
this.args.showChapters(this.args.book);
|
||||||
|
}
|
||||||
|
|
||||||
|
isNumber(char) {
|
||||||
|
var number = /^[0-9]+$/;
|
||||||
|
let string = char;
|
||||||
|
|
||||||
|
if(string.match(number)) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
<Scrollmenu @visible={{@visible}}>
|
||||||
|
{{#each @book.chapters as |chapter|}}
|
||||||
|
<Chapter @book={{@book}} @chapter={{chapter}} @active={{this.isChapterActive}} @showVerses={{this.showVerses}} />
|
||||||
|
{{/each}}
|
||||||
|
</Scrollmenu>
|
|
@ -0,0 +1,24 @@
|
||||||
|
import Component from '@glimmer/component';
|
||||||
|
import { action } from '@ember/object';
|
||||||
|
import { tracked } from "@glimmer/tracking";
|
||||||
|
|
||||||
|
export default class ChapterNavComponent extends Component {
|
||||||
|
@tracked currentChapter;
|
||||||
|
|
||||||
|
constructor(...args) {
|
||||||
|
super(...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
@action
|
||||||
|
showVerses(book, chapter)
|
||||||
|
{
|
||||||
|
this.args.showVerses(book, chapter);
|
||||||
|
this.currentChapter = chapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
@action
|
||||||
|
isChapterActive(chapter)
|
||||||
|
{
|
||||||
|
return chapter === this.currentChapter;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
<a href="#" {{on "click" this.selectChapter}} >{{@chapter.chapter}}</a>
|
|
@ -0,0 +1,12 @@
|
||||||
|
import Component from '@glimmer/component';
|
||||||
|
import { action } from '@ember/object';
|
||||||
|
|
||||||
|
export default class ChapterComponent extends Component {
|
||||||
|
@tracked selected = false;
|
||||||
|
|
||||||
|
@action
|
||||||
|
selectChapter() {
|
||||||
|
this.args.showVerses(this.args.book, this.args.chapter);
|
||||||
|
this.selected = true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
<div class="jumbotron">
|
||||||
|
<div class="container">
|
||||||
|
{{yield}}
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,17 @@
|
||||||
|
<nav class="scripture-menu">
|
||||||
|
<Scrollmenu @visible="true">
|
||||||
|
{{#each this.books as |book|}}
|
||||||
|
<Book @book={{book}} @showChapters={{this.showChapters}} />
|
||||||
|
{{/each}}
|
||||||
|
</Scrollmenu>
|
||||||
|
|
||||||
|
<ChapterNav @book={{this.currentBook}}
|
||||||
|
@showVerses={{this.showVerses}}
|
||||||
|
@visible={{this.chaptersVisible}} />
|
||||||
|
|
||||||
|
<VerseNav @book={{this.currentBook}}
|
||||||
|
@chapter={{this.currentChapter}}
|
||||||
|
@verses={{this.currentChapter.verses}}
|
||||||
|
@verseSelected={{this.verseSelected}}
|
||||||
|
@visible={{this.versesVisible}} />
|
||||||
|
</nav>
|
|
@ -0,0 +1,35 @@
|
||||||
|
import Component from '@glimmer/component';
|
||||||
|
import { action } from '@ember/object';
|
||||||
|
import { tracked } from "@glimmer/tracking";
|
||||||
|
import { books } from "../data/book-chapter-verse";
|
||||||
|
|
||||||
|
export default class ScriptureNavBarComponent extends Component {
|
||||||
|
@tracked chaptersVisible = false;
|
||||||
|
@tracked versesVisible = false;
|
||||||
|
@tracked currentBook = null;
|
||||||
|
@tracked currentChapter = null;
|
||||||
|
|
||||||
|
constructor(...args) {
|
||||||
|
super(...args);
|
||||||
|
this.books = books;
|
||||||
|
}
|
||||||
|
|
||||||
|
@action
|
||||||
|
showChapters(book) {
|
||||||
|
this.chaptersVisible = true;
|
||||||
|
this.versesVisible = false;
|
||||||
|
this.currentBook = book;
|
||||||
|
}
|
||||||
|
|
||||||
|
@action
|
||||||
|
showVerses(book, chapter) {
|
||||||
|
this.versesVisible = true;
|
||||||
|
this.currentChapter = chapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
@action
|
||||||
|
verseSelected(book, chapter, verse) {
|
||||||
|
// Load the DOM with vese page
|
||||||
|
console.log('[verseSelected] called: ' + book + ' ' + chapter + ':' + verse);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
<div class="scrollmenu" style="visibility: {{this.visibility}}">
|
||||||
|
{{yield}}
|
||||||
|
</div>
|
|
@ -0,0 +1,13 @@
|
||||||
|
import Component from '@glimmer/component';
|
||||||
|
import {tracked} from "@glimmer/tracking";
|
||||||
|
import { action } from '@ember/object';
|
||||||
|
|
||||||
|
export default class ScrollmenuComponent extends Component {
|
||||||
|
get visibility() {
|
||||||
|
if (this.args.visible == 'false' || this.args.visible == false) {
|
||||||
|
return "hidden";
|
||||||
|
} else {
|
||||||
|
return "visible";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
<Scrollmenu @visible={{@visible}}>
|
||||||
|
{{#each this.verseList as |verse|}}
|
||||||
|
<Verse @book={{@book.name}} @chapter={{@chapter}} @verse={{verse}} @verseSelected={{this.verseSelected}} />
|
||||||
|
{{/each}}
|
||||||
|
</Scrollmenu>
|
|
@ -0,0 +1,20 @@
|
||||||
|
import Component from '@glimmer/component';
|
||||||
|
import { action } from '@ember/object';
|
||||||
|
import { tracked } from "@glimmer/tracking";
|
||||||
|
|
||||||
|
export default class VerseNavComponent extends Component {
|
||||||
|
@tracked currentVerse;
|
||||||
|
|
||||||
|
get verseList() {
|
||||||
|
let verses = [];
|
||||||
|
for (var i = 1; i <= this.args.verses; i++) {
|
||||||
|
verses.push(i);
|
||||||
|
}
|
||||||
|
return verses;
|
||||||
|
}
|
||||||
|
|
||||||
|
@action
|
||||||
|
verseSelected(book, chapter, verse) {
|
||||||
|
this.args.verseSelected(book, chapter, verse);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
<a href="#" {{on "click" this.selectVerse }}>{{@verse}}</a>
|
|
@ -0,0 +1,9 @@
|
||||||
|
import Component from '@glimmer/component';
|
||||||
|
import { action } from '@ember/object';
|
||||||
|
|
||||||
|
export default class VerseComponent extends Component {
|
||||||
|
@action
|
||||||
|
selectVerse() {
|
||||||
|
this.args.verseSelected(this.args.book, this.args.chapter, this.args.verse);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,286 @@
|
||||||
|
export let books = [{
|
||||||
|
"name": "matthew",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "25"}, {"chapter": "2", "verses": "23"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "17"
|
||||||
|
}, {"chapter": "4", "verses": "25"}, {"chapter": "5", "verses": "48"}, {
|
||||||
|
"chapter": "6",
|
||||||
|
"verses": "34"
|
||||||
|
}, {"chapter": "7", "verses": "29"}, {"chapter": "8", "verses": "34"}, {
|
||||||
|
"chapter": "9",
|
||||||
|
"verses": "38"
|
||||||
|
}, {"chapter": "10", "verses": "42"}, {"chapter": "11", "verses": "30"}, {
|
||||||
|
"chapter": "12",
|
||||||
|
"verses": "50"
|
||||||
|
}, {"chapter": "13", "verses": "58"}, {"chapter": "14", "verses": "36"}, {
|
||||||
|
"chapter": "15",
|
||||||
|
"verses": "39"
|
||||||
|
}, {"chapter": "16", "verses": "28"}, {"chapter": "17", "verses": "27"}, {
|
||||||
|
"chapter": "18",
|
||||||
|
"verses": "35"
|
||||||
|
}, {"chapter": "19", "verses": "30"}, {"chapter": "20", "verses": "34"}, {
|
||||||
|
"chapter": "21",
|
||||||
|
"verses": "46"
|
||||||
|
}, {"chapter": "22", "verses": "46"}, {"chapter": "23", "verses": "39"}, {
|
||||||
|
"chapter": "24",
|
||||||
|
"verses": "51"
|
||||||
|
}, {"chapter": "25", "verses": "46"}, {"chapter": "26", "verses": "75"}, {
|
||||||
|
"chapter": "27",
|
||||||
|
"verses": "66"
|
||||||
|
}, {"chapter": "28", "verses": "20"}]
|
||||||
|
}, {
|
||||||
|
"name": "mark",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "45"}, {"chapter": "2", "verses": "28"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "35"
|
||||||
|
}, {"chapter": "4", "verses": "41"}, {"chapter": "5", "verses": "43"}, {
|
||||||
|
"chapter": "6",
|
||||||
|
"verses": "56"
|
||||||
|
}, {"chapter": "7", "verses": "37"}, {"chapter": "8", "verses": "38"}, {
|
||||||
|
"chapter": "9",
|
||||||
|
"verses": "50"
|
||||||
|
}, {"chapter": "10", "verses": "52"}, {"chapter": "11", "verses": "33"}, {
|
||||||
|
"chapter": "12",
|
||||||
|
"verses": "44"
|
||||||
|
}, {"chapter": "13", "verses": "37"}, {"chapter": "14", "verses": "72"}, {
|
||||||
|
"chapter": "15",
|
||||||
|
"verses": "47"
|
||||||
|
}, {"chapter": "16", "verses": "20"}]
|
||||||
|
}, {
|
||||||
|
"name": "luke",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "80"}, {"chapter": "2", "verses": "52"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "38"
|
||||||
|
}, {"chapter": "4", "verses": "44"}, {"chapter": "5", "verses": "39"}, {
|
||||||
|
"chapter": "6",
|
||||||
|
"verses": "49"
|
||||||
|
}, {"chapter": "7", "verses": "50"}, {"chapter": "8", "verses": "56"}, {
|
||||||
|
"chapter": "9",
|
||||||
|
"verses": "62"
|
||||||
|
}, {"chapter": "10", "verses": "42"}, {"chapter": "11", "verses": "54"}, {
|
||||||
|
"chapter": "12",
|
||||||
|
"verses": "59"
|
||||||
|
}, {"chapter": "13", "verses": "35"}, {"chapter": "14", "verses": "35"}, {
|
||||||
|
"chapter": "15",
|
||||||
|
"verses": "32"
|
||||||
|
}, {"chapter": "16", "verses": "31"}, {"chapter": "17", "verses": "37"}, {
|
||||||
|
"chapter": "18",
|
||||||
|
"verses": "43"
|
||||||
|
}, {"chapter": "19", "verses": "48"}, {"chapter": "20", "verses": "47"}, {
|
||||||
|
"chapter": "21",
|
||||||
|
"verses": "38"
|
||||||
|
}, {"chapter": "22", "verses": "71"}, {"chapter": "23", "verses": "56"}, {"chapter": "24", "verses": "53"}]
|
||||||
|
}, {
|
||||||
|
"name": "john",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "51"}, {"chapter": "2", "verses": "25"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "36"
|
||||||
|
}, {"chapter": "4", "verses": "54"}, {"chapter": "5", "verses": "47"}, {
|
||||||
|
"chapter": "6",
|
||||||
|
"verses": "71"
|
||||||
|
}, {"chapter": "7", "verses": "53"}, {"chapter": "8", "verses": "59"}, {
|
||||||
|
"chapter": "9",
|
||||||
|
"verses": "41"
|
||||||
|
}, {"chapter": "10", "verses": "42"}, {"chapter": "11", "verses": "57"}, {
|
||||||
|
"chapter": "12",
|
||||||
|
"verses": "50"
|
||||||
|
}, {"chapter": "13", "verses": "38"}, {"chapter": "14", "verses": "31"}, {
|
||||||
|
"chapter": "15",
|
||||||
|
"verses": "27"
|
||||||
|
}, {"chapter": "16", "verses": "33"}, {"chapter": "17", "verses": "26"}, {
|
||||||
|
"chapter": "18",
|
||||||
|
"verses": "40"
|
||||||
|
}, {"chapter": "19", "verses": "42"}, {"chapter": "20", "verses": "31"}, {"chapter": "21", "verses": "25"}]
|
||||||
|
}, {
|
||||||
|
"name": "acts",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "26"}, {"chapter": "2", "verses": "47"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "26"
|
||||||
|
}, {"chapter": "4", "verses": "37"}, {"chapter": "5", "verses": "42"}, {
|
||||||
|
"chapter": "6",
|
||||||
|
"verses": "15"
|
||||||
|
}, {"chapter": "7", "verses": "60"}, {"chapter": "8", "verses": "40"}, {
|
||||||
|
"chapter": "9",
|
||||||
|
"verses": "43"
|
||||||
|
}, {"chapter": "10", "verses": "48"}, {"chapter": "11", "verses": "30"}, {
|
||||||
|
"chapter": "12",
|
||||||
|
"verses": "25"
|
||||||
|
}, {"chapter": "13", "verses": "52"}, {"chapter": "14", "verses": "28"}, {
|
||||||
|
"chapter": "15",
|
||||||
|
"verses": "41"
|
||||||
|
}, {"chapter": "16", "verses": "40"}, {"chapter": "17", "verses": "34"}, {
|
||||||
|
"chapter": "18",
|
||||||
|
"verses": "28"
|
||||||
|
}, {"chapter": "19", "verses": "40"}, {"chapter": "20", "verses": "38"}, {
|
||||||
|
"chapter": "21",
|
||||||
|
"verses": "40"
|
||||||
|
}, {"chapter": "22", "verses": "30"}, {"chapter": "23", "verses": "35"}, {
|
||||||
|
"chapter": "24",
|
||||||
|
"verses": "27"
|
||||||
|
}, {"chapter": "25", "verses": "27"}, {"chapter": "26", "verses": "32"}, {
|
||||||
|
"chapter": "27",
|
||||||
|
"verses": "44"
|
||||||
|
}, {"chapter": "28", "verses": "31"}]
|
||||||
|
}, {
|
||||||
|
"name": "romans",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "32"}, {"chapter": "2", "verses": "29"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "31"
|
||||||
|
}, {"chapter": "4", "verses": "25"}, {"chapter": "5", "verses": "21"}, {
|
||||||
|
"chapter": "6",
|
||||||
|
"verses": "23"
|
||||||
|
}, {"chapter": "7", "verses": "25"}, {"chapter": "8", "verses": "39"}, {
|
||||||
|
"chapter": "9",
|
||||||
|
"verses": "33"
|
||||||
|
}, {"chapter": "10", "verses": "21"}, {"chapter": "11", "verses": "36"}, {
|
||||||
|
"chapter": "12",
|
||||||
|
"verses": "21"
|
||||||
|
}, {"chapter": "13", "verses": "14"}, {"chapter": "14", "verses": "23"}, {
|
||||||
|
"chapter": "15",
|
||||||
|
"verses": "33"
|
||||||
|
}, {"chapter": "16", "verses": "27"}]
|
||||||
|
}, {
|
||||||
|
"name": "1 corinthians",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "31"}, {"chapter": "2", "verses": "16"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "23"
|
||||||
|
}, {"chapter": "4", "verses": "21"}, {"chapter": "5", "verses": "13"}, {
|
||||||
|
"chapter": "6",
|
||||||
|
"verses": "20"
|
||||||
|
}, {"chapter": "7", "verses": "40"}, {"chapter": "8", "verses": "13"}, {
|
||||||
|
"chapter": "9",
|
||||||
|
"verses": "27"
|
||||||
|
}, {"chapter": "10", "verses": "33"}, {"chapter": "11", "verses": "34"}, {
|
||||||
|
"chapter": "12",
|
||||||
|
"verses": "31"
|
||||||
|
}, {"chapter": "13", "verses": "13"}, {"chapter": "14", "verses": "40"}, {
|
||||||
|
"chapter": "15",
|
||||||
|
"verses": "58"
|
||||||
|
}, {"chapter": "16", "verses": "24"}]
|
||||||
|
}, {
|
||||||
|
"name": "2 corinthians",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "24"}, {"chapter": "2", "verses": "17"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "18"
|
||||||
|
}, {"chapter": "4", "verses": "18"}, {"chapter": "5", "verses": "21"}, {
|
||||||
|
"chapter": "6",
|
||||||
|
"verses": "18"
|
||||||
|
}, {"chapter": "7", "verses": "16"}, {"chapter": "8", "verses": "24"}, {
|
||||||
|
"chapter": "9",
|
||||||
|
"verses": "15"
|
||||||
|
}, {"chapter": "10", "verses": "18"}, {"chapter": "11", "verses": "33"}, {
|
||||||
|
"chapter": "12",
|
||||||
|
"verses": "21"
|
||||||
|
}, {"chapter": "13", "verses": "13"}]
|
||||||
|
}, {
|
||||||
|
"name": "galatians",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "24"}, {"chapter": "2", "verses": "21"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "29"
|
||||||
|
}, {"chapter": "4", "verses": "31"}, {"chapter": "5", "verses": "26"}, {"chapter": "6", "verses": "18"}]
|
||||||
|
}, {
|
||||||
|
"name": "ephesians",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "23"}, {"chapter": "2", "verses": "22"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "21"
|
||||||
|
}, {"chapter": "4", "verses": "32"}, {"chapter": "5", "verses": "33"}, {"chapter": "6", "verses": "24"}]
|
||||||
|
}, {
|
||||||
|
"name": "philippians",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "30"}, {"chapter": "2", "verses": "30"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "21"
|
||||||
|
}, {"chapter": "4", "verses": "23"}]
|
||||||
|
}, {
|
||||||
|
"name": "colossians",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "29"}, {"chapter": "2", "verses": "23"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "25"
|
||||||
|
}, {"chapter": "4", "verses": "18"}]
|
||||||
|
}, {
|
||||||
|
"name": "1 thessalonians",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "10"}, {"chapter": "2", "verses": "20"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "13"
|
||||||
|
}, {"chapter": "4", "verses": "18"}, {"chapter": "5", "verses": "28"}]
|
||||||
|
}, {
|
||||||
|
"name": "2 thessalonians",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "12"}, {"chapter": "2", "verses": "17"}, {"chapter": "3", "verses": "18"}]
|
||||||
|
}, {
|
||||||
|
"name": "1 timothy",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "20"}, {"chapter": "2", "verses": "15"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "16"
|
||||||
|
}, {"chapter": "4", "verses": "16"}, {"chapter": "5", "verses": "25"}, {"chapter": "6", "verses": "21"}]
|
||||||
|
}, {
|
||||||
|
"name": "2 timothy",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "18"}, {"chapter": "2", "verses": "26"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "17"
|
||||||
|
}, {"chapter": "4", "verses": "22"}]
|
||||||
|
}, {
|
||||||
|
"name": "titus",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "16"}, {"chapter": "2", "verses": "15"}, {"chapter": "3", "verses": "15"}]
|
||||||
|
}, {"name": "philemon", "chapters": [{"chapter": "1", "verses": "25"}]}, {
|
||||||
|
"name": "hebrews",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "14"}, {"chapter": "2", "verses": "18"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "19"
|
||||||
|
}, {"chapter": "4", "verses": "16"}, {"chapter": "5", "verses": "14"}, {
|
||||||
|
"chapter": "6",
|
||||||
|
"verses": "20"
|
||||||
|
}, {"chapter": "7", "verses": "28"}, {"chapter": "8", "verses": "13"}, {
|
||||||
|
"chapter": "9",
|
||||||
|
"verses": "28"
|
||||||
|
}, {"chapter": "10", "verses": "39"}, {"chapter": "11", "verses": "40"}, {
|
||||||
|
"chapter": "12",
|
||||||
|
"verses": "29"
|
||||||
|
}, {"chapter": "13", "verses": "25"}]
|
||||||
|
}, {
|
||||||
|
"name": "james",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "27"}, {"chapter": "2", "verses": "26"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "18"
|
||||||
|
}, {"chapter": "4", "verses": "17"}, {"chapter": "5", "verses": "20"}]
|
||||||
|
}, {
|
||||||
|
"name": "1 peter",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "25"}, {"chapter": "2", "verses": "25"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "22"
|
||||||
|
}, {"chapter": "4", "verses": "19"}, {"chapter": "5", "verses": "14"}]
|
||||||
|
}, {
|
||||||
|
"name": "2 peter",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "21"}, {"chapter": "2", "verses": "22"}, {"chapter": "3", "verses": "18"}]
|
||||||
|
}, {
|
||||||
|
"name": "1 john",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "10"}, {"chapter": "2", "verses": "29"}, {
|
||||||
|
"chapter": "3",
|
||||||
|
"verses": "24"
|
||||||
|
}, {"chapter": "4", "verses": "21"}, {"chapter": "5", "verses": "21"}]
|
||||||
|
}, {"name": "2 john", "chapters": [{"chapter": "1", "verses": "13"}]}, {
|
||||||
|
"name": "3 john",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "15"}]
|
||||||
|
}, {"name": "jude", "chapters": [{"chapter": "1", "verses": "25"}]}, {
|
||||||
|
"name": "revelation",
|
||||||
|
"chapters": [{"chapter": "1", "verses": "20"}, {
|
||||||
|
"chapter": "2",
|
||||||
|
"verses": "29"
|
||||||
|
}, {"chapter": "3", "verses": "22"}, {"chapter": "4", "verses": "11"}, {
|
||||||
|
"chapter": "5",
|
||||||
|
"verses": "14"
|
||||||
|
}, {"chapter": "6", "verses": "17"}, {"chapter": "7", "verses": "17"}, {
|
||||||
|
"chapter": "8",
|
||||||
|
"verses": "13"
|
||||||
|
}, {"chapter": "9", "verses": "21"}, {"chapter": "10", "verses": "11"}, {
|
||||||
|
"chapter": "11",
|
||||||
|
"verses": "19"
|
||||||
|
}, {"chapter": "12", "verses": "18"}, {"chapter": "13", "verses": "18"}, {
|
||||||
|
"chapter": "14",
|
||||||
|
"verses": "20"
|
||||||
|
}, {"chapter": "15", "verses": "8"}, {"chapter": "16", "verses": "21"}, {
|
||||||
|
"chapter": "17",
|
||||||
|
"verses": "18"
|
||||||
|
}, {"chapter": "18", "verses": "24"}, {"chapter": "19", "verses": "21"}, {
|
||||||
|
"chapter": "20",
|
||||||
|
"verses": "15"
|
||||||
|
}, {"chapter": "21", "verses": "27"}, {"chapter": "22", "verses": "21"}]
|
||||||
|
}];
|
|
@ -7,6 +7,8 @@
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
|
{{content-for "book-data"}}
|
||||||
|
|
||||||
{{content-for "head"}}
|
{{content-for "head"}}
|
||||||
|
|
||||||
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/vendor.css">
|
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/vendor.css">
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
export function initialize(appInstance) {
|
||||||
|
// application.inject('route', 'foo', 'service:foo');
|
||||||
|
let metaTag = document.querySelector('meta[name=book-data]');
|
||||||
|
if (metaTag) {
|
||||||
|
let store = appInstance.lookup('service:store');
|
||||||
|
let bookContent = JSON.parse(unescape(metaTag.content));
|
||||||
|
store.pushPayload(bookContent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
initialize
|
||||||
|
};
|
|
@ -0,0 +1,9 @@
|
||||||
|
import Model from '@ember-data/model';
|
||||||
|
|
||||||
|
export default class LexiconEntryModel extends Model {
|
||||||
|
@attr strongsNumber;
|
||||||
|
@attr lexeme;
|
||||||
|
@attr commentary;
|
||||||
|
|
||||||
|
@belongsTo('verse-word') word;
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
import Model from '@ember-data/model';
|
||||||
|
|
||||||
|
export default class VerseWordModel extends Model {
|
||||||
|
@attr ulb;
|
||||||
|
@attr greek;
|
||||||
|
@attr morph;
|
||||||
|
@attr ogntSort;
|
||||||
|
@attr lexeme;
|
||||||
|
|
||||||
|
@belongsTo('verse') verse;
|
||||||
|
@belongsTo('lexicon-entry') lexiconEntry;
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
import Model from '@ember-data/model';
|
||||||
|
|
||||||
|
export default class VerseModel extends Model {
|
||||||
|
@attr name;
|
||||||
|
@attr greek;
|
||||||
|
@attr ulb;
|
||||||
|
|
||||||
|
@hasMany('verse-word') words;
|
||||||
|
}
|
|
@ -5,6 +5,3 @@ export default class Router extends EmberRouter {
|
||||||
location = config.locationType;
|
location = config.locationType;
|
||||||
rootURL = config.rootURL;
|
rootURL = config.rootURL;
|
||||||
}
|
}
|
||||||
|
|
||||||
Router.map(function() {
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
|
|
||||||
@import "ember-bootstrap/bootstrap";
|
@import "ember-bootstrap/bootstrap";
|
||||||
|
|
||||||
|
@import "components/scrollmenu";
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
div.scrollmenu {
|
||||||
|
background-color: #333;
|
||||||
|
overflow: auto;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.scrollmenu a {
|
||||||
|
display: inline-block;
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
padding: 14px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.scrollmenu a:hover {
|
||||||
|
background-color: #777;
|
||||||
|
}
|
|
@ -1 +1,5 @@
|
||||||
|
<Jumbo>
|
||||||
|
<h1>Biblical Resources for Translators</h1>
|
||||||
|
</Jumbo>
|
||||||
|
<ScriptureNavBar/>
|
||||||
{{outlet}}
|
{{outlet}}
|
|
@ -1,12 +1,32 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
|
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
// Taken from https://www.balinterdi.com/blog/inlining-store-data-in-ember-js/
|
||||||
|
function readFile(file) {
|
||||||
|
try {
|
||||||
|
return escape(fs.readFileSync(file));
|
||||||
|
} catch(e) {
|
||||||
|
if (e.code === 'ENOENT') {
|
||||||
|
return '{}';
|
||||||
|
}
|
||||||
|
throw(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = function(defaults) {
|
module.exports = function(defaults) {
|
||||||
let app = new EmberApp(defaults, {
|
let app = new EmberApp(defaults, {
|
||||||
'ember-bootstrap': {
|
'ember-bootstrap': {
|
||||||
bootstrapVersion: 4,
|
bootstrapVersion: 4,
|
||||||
importBootstrapCSS: false
|
importBootstrapCSS: false
|
||||||
|
},
|
||||||
|
'ember-cli-string-helpers': {},
|
||||||
|
inlineContent: {
|
||||||
|
'book-data': {
|
||||||
|
content: `<meta name='store-data'
|
||||||
|
content="${readFile('support/data/book-chapter-verse.json')}" />`
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -34,8 +34,10 @@
|
||||||
"ember-cli-dependency-checker": "^3.2.0",
|
"ember-cli-dependency-checker": "^3.2.0",
|
||||||
"ember-cli-htmlbars": "^5.2.0",
|
"ember-cli-htmlbars": "^5.2.0",
|
||||||
"ember-cli-inject-live-reload": "^2.0.2",
|
"ember-cli-inject-live-reload": "^2.0.2",
|
||||||
|
"ember-cli-inline-content": "^0.4.1",
|
||||||
"ember-cli-sass": "^10.0.1",
|
"ember-cli-sass": "^10.0.1",
|
||||||
"ember-cli-sri": "^2.1.1",
|
"ember-cli-sri": "^2.1.1",
|
||||||
|
"ember-cli-string-helpers": "^5.0.0",
|
||||||
"ember-cli-uglify": "^3.0.0",
|
"ember-cli-uglify": "^3.0.0",
|
||||||
"ember-data": "~3.20.0",
|
"ember-data": "~3.20.0",
|
||||||
"ember-export-application-global": "^2.0.1",
|
"ember-export-application-global": "^2.0.1",
|
||||||
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -7,6 +7,8 @@
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
|
{{content-for "book-data"}}
|
||||||
|
|
||||||
{{content-for "head"}}
|
{{content-for "head"}}
|
||||||
{{content-for "test-head"}}
|
{{content-for "test-head"}}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupRenderingTest } from 'ember-qunit';
|
||||||
|
import { render } from '@ember/test-helpers';
|
||||||
|
import { hbs } from 'ember-cli-htmlbars';
|
||||||
|
|
||||||
|
module('Integration | Component | book-nav', function(hooks) {
|
||||||
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
|
test('it renders', async function(assert) {
|
||||||
|
// Set any properties with this.set('myProperty', 'value');
|
||||||
|
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||||
|
|
||||||
|
await render(hbs`<BookNav />`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), '');
|
||||||
|
|
||||||
|
// Template block usage:
|
||||||
|
await render(hbs`
|
||||||
|
<BookNav>
|
||||||
|
template block text
|
||||||
|
</BookNav>
|
||||||
|
`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), 'template block text');
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,26 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupRenderingTest } from 'ember-qunit';
|
||||||
|
import { render } from '@ember/test-helpers';
|
||||||
|
import { hbs } from 'ember-cli-htmlbars';
|
||||||
|
|
||||||
|
module('Integration | Component | book', function(hooks) {
|
||||||
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
|
test('it renders', async function(assert) {
|
||||||
|
// Set any properties with this.set('myProperty', 'value');
|
||||||
|
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||||
|
|
||||||
|
await render(hbs`<Book />`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), '');
|
||||||
|
|
||||||
|
// Template block usage:
|
||||||
|
await render(hbs`
|
||||||
|
<Book>
|
||||||
|
template block text
|
||||||
|
</Book>
|
||||||
|
`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), 'template block text');
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,26 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupRenderingTest } from 'ember-qunit';
|
||||||
|
import { render } from '@ember/test-helpers';
|
||||||
|
import { hbs } from 'ember-cli-htmlbars';
|
||||||
|
|
||||||
|
module('Integration | Component | chapter-nav', function(hooks) {
|
||||||
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
|
test('it renders', async function(assert) {
|
||||||
|
// Set any properties with this.set('myProperty', 'value');
|
||||||
|
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||||
|
|
||||||
|
await render(hbs`<ChapterNav />`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), '');
|
||||||
|
|
||||||
|
// Template block usage:
|
||||||
|
await render(hbs`
|
||||||
|
<ChapterNav>
|
||||||
|
template block text
|
||||||
|
</ChapterNav>
|
||||||
|
`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), 'template block text');
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,26 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupRenderingTest } from 'ember-qunit';
|
||||||
|
import { render } from '@ember/test-helpers';
|
||||||
|
import { hbs } from 'ember-cli-htmlbars';
|
||||||
|
|
||||||
|
module('Integration | Component | chapter', function(hooks) {
|
||||||
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
|
test('it renders', async function(assert) {
|
||||||
|
// Set any properties with this.set('myProperty', 'value');
|
||||||
|
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||||
|
|
||||||
|
await render(hbs`<Chapter />`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), '');
|
||||||
|
|
||||||
|
// Template block usage:
|
||||||
|
await render(hbs`
|
||||||
|
<Chapter>
|
||||||
|
template block text
|
||||||
|
</Chapter>
|
||||||
|
`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), 'template block text');
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,18 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupRenderingTest } from 'ember-qunit';
|
||||||
|
import { render } from '@ember/test-helpers';
|
||||||
|
import { hbs } from 'ember-cli-htmlbars';
|
||||||
|
|
||||||
|
module('Integration | Component | jumbo', function(hooks) {
|
||||||
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
|
test('it renders content inside the jumbo', async function(assert) {
|
||||||
|
// Set any properties with this.set('myProperty', 'value');
|
||||||
|
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||||
|
|
||||||
|
await render(hbs`<Jumbo>Hello World!</Jumbo>`);
|
||||||
|
|
||||||
|
assert.dom('.jumbotron').exists();
|
||||||
|
assert.dom('.jumbotron').hasText('Hello World!');
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,26 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupRenderingTest } from 'ember-qunit';
|
||||||
|
import { render } from '@ember/test-helpers';
|
||||||
|
import { hbs } from 'ember-cli-htmlbars';
|
||||||
|
|
||||||
|
module('Integration | Component | scripture-nav-bar', function(hooks) {
|
||||||
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
|
test('it renders', async function(assert) {
|
||||||
|
// Set any properties with this.set('myProperty', 'value');
|
||||||
|
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||||
|
|
||||||
|
await render(hbs`<ScriptureNavBar />`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), '');
|
||||||
|
|
||||||
|
// Template block usage:
|
||||||
|
await render(hbs`
|
||||||
|
<ScriptureNavBar>
|
||||||
|
template block text
|
||||||
|
</ScriptureNavBar>
|
||||||
|
`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), 'template block text');
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,26 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupRenderingTest } from 'ember-qunit';
|
||||||
|
import { render } from '@ember/test-helpers';
|
||||||
|
import { hbs } from 'ember-cli-htmlbars';
|
||||||
|
|
||||||
|
module('Integration | Component | scrollmenu', function(hooks) {
|
||||||
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
|
test('it renders', async function(assert) {
|
||||||
|
// Set any properties with this.set('myProperty', 'value');
|
||||||
|
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||||
|
|
||||||
|
await render(hbs`<Scrollmenu />`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), '');
|
||||||
|
|
||||||
|
// Template block usage:
|
||||||
|
await render(hbs`
|
||||||
|
<Scrollmenu>
|
||||||
|
template block text
|
||||||
|
</Scrollmenu>
|
||||||
|
`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), 'template block text');
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,26 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupRenderingTest } from 'ember-qunit';
|
||||||
|
import { render } from '@ember/test-helpers';
|
||||||
|
import { hbs } from 'ember-cli-htmlbars';
|
||||||
|
|
||||||
|
module('Integration | Component | verse-nav', function(hooks) {
|
||||||
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
|
test('it renders', async function(assert) {
|
||||||
|
// Set any properties with this.set('myProperty', 'value');
|
||||||
|
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||||
|
|
||||||
|
await render(hbs`<VerseNav />`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), '');
|
||||||
|
|
||||||
|
// Template block usage:
|
||||||
|
await render(hbs`
|
||||||
|
<VerseNav>
|
||||||
|
template block text
|
||||||
|
</VerseNav>
|
||||||
|
`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), 'template block text');
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,26 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupRenderingTest } from 'ember-qunit';
|
||||||
|
import { render } from '@ember/test-helpers';
|
||||||
|
import { hbs } from 'ember-cli-htmlbars';
|
||||||
|
|
||||||
|
module('Integration | Component | verse', function(hooks) {
|
||||||
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
|
test('it renders', async function(assert) {
|
||||||
|
// Set any properties with this.set('myProperty', 'value');
|
||||||
|
// Handle any actions with this.set('myAction', function(val) { ... });
|
||||||
|
|
||||||
|
await render(hbs`<Verse />`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), '');
|
||||||
|
|
||||||
|
// Template block usage:
|
||||||
|
await render(hbs`
|
||||||
|
<Verse>
|
||||||
|
template block text
|
||||||
|
</Verse>
|
||||||
|
`);
|
||||||
|
|
||||||
|
assert.equal(this.element.textContent.trim(), 'template block text');
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,12 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupTest } from 'ember-qunit';
|
||||||
|
|
||||||
|
module('Unit | Adapter | application', function(hooks) {
|
||||||
|
setupTest(hooks);
|
||||||
|
|
||||||
|
// Replace this with your real tests.
|
||||||
|
test('it exists', function(assert) {
|
||||||
|
let adapter = this.owner.lookup('adapter:application');
|
||||||
|
assert.ok(adapter);
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,28 @@
|
||||||
|
import Application from '@ember/application';
|
||||||
|
|
||||||
|
import { initialize } from 'gwt-frontend/initializers/load-book-data';
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { run } from '@ember/runloop';
|
||||||
|
|
||||||
|
module('Unit | Initializer | load-book-data', function(hooks) {
|
||||||
|
hooks.beforeEach(function() {
|
||||||
|
this.TestApplication = Application.extend();
|
||||||
|
this.TestApplication.initializer({
|
||||||
|
name: 'initializer under test',
|
||||||
|
initialize
|
||||||
|
});
|
||||||
|
|
||||||
|
this.application = this.TestApplication.create({ autoboot: false });
|
||||||
|
});
|
||||||
|
|
||||||
|
hooks.afterEach(function() {
|
||||||
|
run(this.application, 'destroy');
|
||||||
|
});
|
||||||
|
|
||||||
|
// TODO: Replace this with your real tests.
|
||||||
|
test('it works', async function(assert) {
|
||||||
|
await this.application.boot();
|
||||||
|
|
||||||
|
assert.ok(true);
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,13 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupTest } from 'ember-qunit';
|
||||||
|
|
||||||
|
module('Unit | Model | lexicon entry', function(hooks) {
|
||||||
|
setupTest(hooks);
|
||||||
|
|
||||||
|
// Replace this with your real tests.
|
||||||
|
test('it exists', function(assert) {
|
||||||
|
let store = this.owner.lookup('service:store');
|
||||||
|
let model = store.createRecord('lexicon-entry', {});
|
||||||
|
assert.ok(model);
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,13 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupTest } from 'ember-qunit';
|
||||||
|
|
||||||
|
module('Unit | Model | verse', function(hooks) {
|
||||||
|
setupTest(hooks);
|
||||||
|
|
||||||
|
// Replace this with your real tests.
|
||||||
|
test('it exists', function(assert) {
|
||||||
|
let store = this.owner.lookup('service:store');
|
||||||
|
let model = store.createRecord('verse', {});
|
||||||
|
assert.ok(model);
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,13 @@
|
||||||
|
import { module, test } from 'qunit';
|
||||||
|
import { setupTest } from 'ember-qunit';
|
||||||
|
|
||||||
|
module('Unit | Model | verse word', function(hooks) {
|
||||||
|
setupTest(hooks);
|
||||||
|
|
||||||
|
// Replace this with your real tests.
|
||||||
|
test('it exists', function(assert) {
|
||||||
|
let store = this.owner.lookup('service:store');
|
||||||
|
let model = store.createRecord('verse-word', {});
|
||||||
|
assert.ok(model);
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue