allow looking up terms from within terms
resolves #167, resolves #139, resolves #75, resolves #151
This commit is contained in:
parent
7cfcfb3bf3
commit
b8df9896e6
@ -36,6 +36,8 @@
|
||||
|
||||
<script src="/fg/js/api.js"></script>
|
||||
<script src="/fg/js/util.js"></script>
|
||||
<script src="/fg/js/document.js"></script>
|
||||
<script src="/fg/js/source.js"></script>
|
||||
<script src="/mixed/js/display.js"></script>
|
||||
|
||||
<script src="/fg/js/float.js"></script>
|
||||
|
@ -123,6 +123,41 @@ class DisplayFloat extends Display {
|
||||
parent.appendChild(this.styleNode);
|
||||
}
|
||||
}
|
||||
|
||||
async onTermLookup(e) {
|
||||
try {
|
||||
e.preventDefault();
|
||||
|
||||
const clickedElement = $(e.target);
|
||||
const textSource = docRangeFromPoint({x: e.clientX, y: e.clientY});
|
||||
textSource.setEndOffset(this.options.scanning.length);
|
||||
|
||||
const {definitions, length} = await apiTermsFind(textSource.text());
|
||||
if (definitions.length === 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
textSource.setEndOffset(length);
|
||||
|
||||
const sentence = docSentenceExtract(textSource, this.options.anki.sentenceExt);
|
||||
|
||||
const context = {
|
||||
source: {
|
||||
definitions: this.definitions,
|
||||
index: Display.entryIndexFind(clickedElement)
|
||||
}
|
||||
};
|
||||
|
||||
if (this.context) {
|
||||
context.sentence = sentence;
|
||||
context.url = this.context.url;
|
||||
}
|
||||
|
||||
this.termsShow(definitions, this.options, context);
|
||||
} catch (e) {
|
||||
this.onError(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window.yomichan_display = new DisplayFloat();
|
||||
|
@ -265,6 +265,7 @@ class Display {
|
||||
$('.action-view-note').click(this.onNoteView.bind(this));
|
||||
$('.action-play-audio').click(this.onAudioPlay.bind(this));
|
||||
$('.kanji-link').click(this.onKanjiLookup.bind(this));
|
||||
$('.glossary li').click(this.onTermLookup.bind(this));
|
||||
|
||||
await this.adderButtonUpdate(['term-kanji', 'term-kana'], sequence);
|
||||
} catch (e) {
|
||||
|
Loading…
Reference in New Issue
Block a user