From 5ed6cee1ec9011b60a530425c47f069e5d23bcf1 Mon Sep 17 00:00:00 2001 From: Leonard Smith Date: Fri, 9 Oct 2020 16:41:20 -0500 Subject: [PATCH] Add route and template for words --- app/components/lexicon/entry.hbs | 4 ++-- app/components/words/greek-word.hbs | 2 +- app/components/words/greek-word.js | 2 ++ app/router.js | 4 +++- app/routes/verse.js | 1 - app/routes/verse/word.js | 7 +++++++ app/services/word-select.js | 2 +- app/templates/verse.hbs | 2 +- app/templates/verse/word.hbs | 1 + tests/unit/routes/verse/word-test.js | 11 +++++++++++ 10 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 app/routes/verse/word.js create mode 100644 app/templates/verse/word.hbs create mode 100644 tests/unit/routes/verse/word-test.js diff --git a/app/components/lexicon/entry.hbs b/app/components/lexicon/entry.hbs index c1f3ddd..11e9e66 100644 --- a/app/components/lexicon/entry.hbs +++ b/app/components/lexicon/entry.hbs @@ -1,3 +1,3 @@

Lexicon Entry

-
{{this.selectedWord.lexicalEntry.id}}: {{this.selectedWord.lexicalEntry.lemma}}
-

{{markdown-to-html this.selectedWord.lexicalEntry.commentary}}

\ No newline at end of file +
{{@model.id}}: {{@model.lemma}}
+

{{markdown-to-html @model.commentary}}

\ No newline at end of file diff --git a/app/components/words/greek-word.hbs b/app/components/words/greek-word.hbs index b17f9ca..564d6d7 100644 --- a/app/components/words/greek-word.hbs +++ b/app/components/words/greek-word.hbs @@ -1 +1 @@ -{{@model.greek}} \ No newline at end of file +{{@model.greek}} \ No newline at end of file diff --git a/app/components/words/greek-word.js b/app/components/words/greek-word.js index 7a15615..0405cae 100644 --- a/app/components/words/greek-word.js +++ b/app/components/words/greek-word.js @@ -4,10 +4,12 @@ import { action } from '@ember/object'; export default class WordsGreekWordComponent extends Component { @service('word-select') selectWord; + @service router; @action select(word) { this.selectWord.select(word); + this.router.transitionTo('verse.word', word.strongsNumber); } get diff --git a/app/router.js b/app/router.js index 61bdb3e..5519155 100644 --- a/app/router.js +++ b/app/router.js @@ -7,5 +7,7 @@ export default class Router extends EmberRouter { } Router.map(function() { - this.route('verse', { path: '/verse/:verse_id' }); + this.route('verse', { path: '/verse/:verse_id' }, function() { + this.route('word', { path: '/word/:word_id' }); + }); }); diff --git a/app/routes/verse.js b/app/routes/verse.js index 91a196a..bdd2d24 100644 --- a/app/routes/verse.js +++ b/app/routes/verse.js @@ -2,7 +2,6 @@ import Route from '@ember/routing/route'; export default class VerseRoute extends Route { model(params) { - console.log('Looking for ' + params.verse_id); return this.store.findRecord('verse', params.verse_id, { include: 'words' }); diff --git a/app/routes/verse/word.js b/app/routes/verse/word.js new file mode 100644 index 0000000..5c7dd47 --- /dev/null +++ b/app/routes/verse/word.js @@ -0,0 +1,7 @@ +import Route from '@ember/routing/route'; + +export default class VerseWordRoute extends Route { + model(params) { + return this.store.findRecord('lexical-entry', params.word_id); + } +} diff --git a/app/services/word-select.js b/app/services/word-select.js index 6975e73..125883a 100644 --- a/app/services/word-select.js +++ b/app/services/word-select.js @@ -12,7 +12,7 @@ export default class WordSelectService extends Service { select(word) { this.currentWord = word; this.strongsNumber = word.strongsNumber; - this.getLexicalEntry(); + // this.getLexicalEntry(); } async getLexicalEntry() { diff --git a/app/templates/verse.hbs b/app/templates/verse.hbs index d36ab2f..edb5691 100644 --- a/app/templates/verse.hbs +++ b/app/templates/verse.hbs @@ -13,7 +13,7 @@
- + {{outlet}}
diff --git a/app/templates/verse/word.hbs b/app/templates/verse/word.hbs new file mode 100644 index 0000000..c778d91 --- /dev/null +++ b/app/templates/verse/word.hbs @@ -0,0 +1 @@ + diff --git a/tests/unit/routes/verse/word-test.js b/tests/unit/routes/verse/word-test.js new file mode 100644 index 0000000..cb84930 --- /dev/null +++ b/tests/unit/routes/verse/word-test.js @@ -0,0 +1,11 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; + +module('Unit | Route | verse/word', function(hooks) { + setupTest(hooks); + + test('it exists', function(assert) { + let route = this.owner.lookup('route:verse/word'); + assert.ok(route); + }); +});