diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-07-30 20:45:52 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-30 20:45:52 -0400 |
commit | 736d3c892ecb31b6aa658b0d8b0c5be757258062 (patch) | |
tree | 38a89c34e7d0d2fc9431c77176d288da5261f15d /ext/mixed/js/display-generator.js | |
parent | 6e0b25c5d6ab72e6285e59d0ef9f619ea4a99a3c (diff) |
Dictionary data utility class (#698)
* Create utility class for helping format dictionary data
* Change format
Diffstat (limited to 'ext/mixed/js/display-generator.js')
-rw-r--r-- | ext/mixed/js/display-generator.js | 39 |
1 files changed, 6 insertions, 33 deletions
diff --git a/ext/mixed/js/display-generator.js b/ext/mixed/js/display-generator.js index 3f3a155e..276b37de 100644 --- a/ext/mixed/js/display-generator.js +++ b/ext/mixed/js/display-generator.js @@ -16,6 +16,7 @@ */ /* global + * DictionaryDataUtil * TemplateHandler * api * jp @@ -46,8 +47,8 @@ class DisplayGenerator { const {termTags, expressions, definitions} = details; - const pitches = this._getPitchInfos(details); - const pitchCount = pitches.reduce((i, v) => i + v[1].length, 0); + const pitches = DictionaryDataUtil.getPitchAccentInfos(details); + const pitchCount = pitches.reduce((i, v) => i + v.pitches.length, 0); const expressionMulti = Array.isArray(expressions); const definitionMulti = Array.isArray(definitions); @@ -363,18 +364,18 @@ class DisplayGenerator { document.head.appendChild(t); } - const [dictionary, dictionaryPitches] = details; + const {dictionary, pitches} = details; const node = this._templateHandler.instantiate('term-pitch-accent-group'); node.dataset.dictionary = dictionary; node.dataset.pitchesMulti = 'true'; - node.dataset.pitchesCount = `${dictionaryPitches.length}`; + node.dataset.pitchesCount = `${pitches.length}`; const tag = this._createTag({notes: '', name: dictionary, category: 'pitch-accent-dictionary'}); node.querySelector('.term-pitch-accent-group-tag-list').appendChild(tag); const n = node.querySelector('.term-pitch-accent-list'); - this._appendMultiple(n, this._createPitch.bind(this), dictionaryPitches); + this._appendMultiple(n, this._createPitch.bind(this), pitches); return node; } @@ -615,32 +616,4 @@ class DisplayGenerator { return [...results.entries()]; } - - _findExistingPitchInfo(reading, position, tags, pitchInfoList) { - for (const pitchInfo of pitchInfoList) { - if ( - pitchInfo.reading === reading && - pitchInfo.position === position && - this._areTagListsEqual(pitchInfo.tags, tags) - ) { - return pitchInfo; - } - } - return null; - } - - _areTagListsEqual(tagList1, tagList2) { - const ii = tagList1.length; - if (tagList2.length !== ii) { return false; } - - for (let i = 0; i < ii; ++i) { - const tag1 = tagList1[i]; - const tag2 = tagList2[i]; - if (tag1.name !== tag2.name || tag1.dictionary !== tag2.dictionary) { - return false; - } - } - - return true; - } } |