diff options
author | siikamiika <siikamiika@users.noreply.github.com> | 2019-10-30 13:01:06 +0200 |
---|---|---|
committer | siikamiika <siikamiika@users.noreply.github.com> | 2019-11-23 17:43:30 +0200 |
commit | 627e16d44b19bdae1bc51fa6f76bc766939e0786 (patch) | |
tree | 49efafc8c712dc535027228f0be1b92bf85f6c20 | |
parent | 530b95895bb8a807cbaea6a324323c49152c16ab (diff) |
improve text preview
-rw-r--r-- | ext/bg/js/search-query-parser.js | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/ext/bg/js/search-query-parser.js b/ext/bg/js/search-query-parser.js index c3a3900b..9bea6508 100644 --- a/ext/bg/js/search-query-parser.js +++ b/ext/bg/js/search-query-parser.js @@ -59,25 +59,39 @@ class QueryParser { } async setText(text) { + this.queryParser.innerHTML = ''; this.search.setSpinnerVisible(true); + let previewText = text; + while (previewText) { + const tempText = previewText.slice(0, 2); + previewText = previewText.slice(2); + + const tempRuby = document.createElement('ruby'); + const tempFurigana = document.createElement('rt'); + tempRuby.appendChild(document.createTextNode(tempText)); + tempRuby.appendChild(tempFurigana); + this.queryParser.appendChild(tempRuby); + } + const results = await apiTextParse(text, this.search.getOptionsContext()); - const tempContainer = document.createElement('div'); + const textContainer = document.createElement('div'); for (const {text, furigana} of results) { + const rubyElement = document.createElement('ruby'); + const furiganaElement = document.createElement('rt'); if (furigana) { - const rubyElement = document.createElement('ruby'); - const furiganaElement = document.createElement('rt'); furiganaElement.innerText = furigana; rubyElement.appendChild(document.createTextNode(text)); rubyElement.appendChild(furiganaElement); - tempContainer.appendChild(rubyElement); } else { - tempContainer.appendChild(document.createTextNode(text)); + rubyElement.appendChild(document.createTextNode(text)); + rubyElement.appendChild(furiganaElement); } + textContainer.appendChild(rubyElement); } this.queryParser.innerHTML = ''; - this.queryParser.appendChild(tempContainer); + this.queryParser.appendChild(textContainer); this.search.setSpinnerVisible(false); } |