diff options
-rw-r--r-- | ext/mixed/css/display.css | 3 | ||||
-rw-r--r-- | ext/mixed/js/display-generator.js | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/ext/mixed/css/display.css b/ext/mixed/css/display.css index e13d8f91..5bac2575 100644 --- a/ext/mixed/css/display.css +++ b/ext/mixed/css/display.css @@ -973,6 +973,9 @@ button.action-button[data-icon=source-term]::before { bottom: -0.5em; white-space: nowrap; } +.entry[data-type=term][data-expression-multi=true] .term-tags>.tag[data-category=search] { + display: none; +} /* Definitions */ diff --git a/ext/mixed/js/display-generator.js b/ext/mixed/js/display-generator.js index 70cbcf13..638c4727 100644 --- a/ext/mixed/js/display-generator.js +++ b/ext/mixed/js/display-generator.js @@ -71,7 +71,8 @@ class DisplayGenerator { const uniqueExpressions = new Set(); const uniqueReadings = new Set(); - for (const {expression, reading} of expressions) { + for (let {expression, reading} of expressions) { + if (reading.length === 0) { reading = expression; } uniqueExpressions.add(expression); uniqueReadings.add(reading); } @@ -93,6 +94,14 @@ class DisplayGenerator { this._appendMultiple(pitchesContainer, this._createPitches.bind(this), pitches); this._appendMultiple(termTagsContainer, this._createTermTag.bind(this), termTags, expressions.length); + for (const expression of uniqueExpressions) { + termTagsContainer.appendChild(this._createSearchTag(expression)); + } + for (const reading of uniqueReadings) { + if (uniqueExpressions.has(reading)) { continue; } + termTagsContainer.appendChild(this._createSearchTag(reading)); + } + // Add definitions const dictionaryTag = this._createDictionaryTag(null); for (let i = 0, ii = definitions.length; i < ii; ++i) { |