diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-01-28 19:06:50 -0500 | 
|---|---|---|
| committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-02-01 21:00:27 -0500 | 
| commit | 6b9116ee498b562202da8c69d983c0e7bf45e15b (patch) | |
| tree | 3f07947d0690594850fc09883e83aeadb870d7a6 | |
| parent | 1d9332cb69d76818a1f6a422ceafc3a463c48d7c (diff) | |
Fix term tags not always being displayed
| -rw-r--r-- | ext/mixed/js/display-generator.js | 14 | 
1 files changed, 11 insertions, 3 deletions
| diff --git a/ext/mixed/js/display-generator.js b/ext/mixed/js/display-generator.js index 0a57df80..b2dc373b 100644 --- a/ext/mixed/js/display-generator.js +++ b/ext/mixed/js/display-generator.js @@ -71,7 +71,11 @@ class DisplayGenerator {          node.dataset.expressionCount = `${expressionMulti ? details.expressions.length : 1}`;          node.dataset.definitionCount = `${definitionMulti ? details.definitions.length : 1}`; -        DisplayGenerator._appendMultiple(expressionsContainer, this.createTermExpression.bind(this), details.expressions, [details]); +        const termTags = details.termTags; +        let expressions = details.expressions; +        expressions = Array.isArray(expressions) ? expressions.map((e) => [e, termTags]) : null; + +        DisplayGenerator._appendMultiple(expressionsContainer, this.createTermExpression.bind(this), expressions, [[details, termTags]]);          DisplayGenerator._appendMultiple(reasonsContainer, this.createTermReason.bind(this), details.reasons);          DisplayGenerator._appendMultiple(frequenciesContainer, this.createFrequencyTag.bind(this), details.frequencies);          DisplayGenerator._appendMultiple(definitionsContainer, this.createTermDefinitionItem.bind(this), details.definitions, [details]); @@ -83,7 +87,7 @@ class DisplayGenerator {          return node;      } -    createTermExpression(details) { +    createTermExpression([details, termTags]) {          const node = DisplayGenerator._instantiateTemplate(this._termExpressionTemplate);          const expressionContainer = node.querySelector('.term-expression-text'); @@ -103,7 +107,11 @@ class DisplayGenerator {              DisplayGenerator._appendFurigana(expressionContainer, furiganaSegments, this._appendKanjiLinks.bind(this));          } -        DisplayGenerator._appendMultiple(tagContainer, this.createTag.bind(this), details.termTags); +        if (!Array.isArray(termTags)) { +            // Fallback +            termTags = details.termTags; +        } +        DisplayGenerator._appendMultiple(tagContainer, this.createTag.bind(this), termTags);          DisplayGenerator._appendMultiple(frequencyContainer, this.createFrequencyTag.bind(this), details.frequencies);          return node; |