improve text preview
This commit is contained in:
parent
530b95895b
commit
627e16d44b
@ -59,25 +59,39 @@ class QueryParser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async setText(text) {
|
async setText(text) {
|
||||||
|
this.queryParser.innerHTML = '';
|
||||||
this.search.setSpinnerVisible(true);
|
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 results = await apiTextParse(text, this.search.getOptionsContext());
|
||||||
|
|
||||||
const tempContainer = document.createElement('div');
|
const textContainer = document.createElement('div');
|
||||||
for (const {text, furigana} of results) {
|
for (const {text, furigana} of results) {
|
||||||
if (furigana) {
|
|
||||||
const rubyElement = document.createElement('ruby');
|
const rubyElement = document.createElement('ruby');
|
||||||
const furiganaElement = document.createElement('rt');
|
const furiganaElement = document.createElement('rt');
|
||||||
|
if (furigana) {
|
||||||
furiganaElement.innerText = furigana;
|
furiganaElement.innerText = furigana;
|
||||||
rubyElement.appendChild(document.createTextNode(text));
|
rubyElement.appendChild(document.createTextNode(text));
|
||||||
rubyElement.appendChild(furiganaElement);
|
rubyElement.appendChild(furiganaElement);
|
||||||
tempContainer.appendChild(rubyElement);
|
|
||||||
} else {
|
} else {
|
||||||
tempContainer.appendChild(document.createTextNode(text));
|
rubyElement.appendChild(document.createTextNode(text));
|
||||||
|
rubyElement.appendChild(furiganaElement);
|
||||||
}
|
}
|
||||||
|
textContainer.appendChild(rubyElement);
|
||||||
}
|
}
|
||||||
this.queryParser.innerHTML = '';
|
this.queryParser.innerHTML = '';
|
||||||
this.queryParser.appendChild(tempContainer);
|
this.queryParser.appendChild(textContainer);
|
||||||
|
|
||||||
this.search.setSpinnerVisible(false);
|
this.search.setSpinnerVisible(false);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user