From 2bdb5763780e68889b355200a60844da83d3ede7 Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Sun, 27 Mar 2016 18:24:04 -0700 Subject: [PATCH] Better output --- ext/client.js | 10 +++++++++- ext/util.js | 20 ++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/ext/client.js b/ext/client.js index 803f7db6..85a4ba64 100644 --- a/ext/client.js +++ b/ext/client.js @@ -48,7 +48,15 @@ class Client { return; } - this.showPopup(range); + findTerm(range.toString(), ({results, length}) => { + if (length === 0) { + this.hidePopup(); + } else { + range.setEnd(range.endContainer, range.startOffset + length); + this.popup.html(renderDefs(results.slice(0, 5))); + this.showPopup(range); + } + }); } onMessage(request, sender, callback) { diff --git a/ext/util.js b/ext/util.js index 76579cac..cd71e873 100644 --- a/ext/util.js +++ b/ext/util.js @@ -68,3 +68,23 @@ function getPopupPositionForRange(popup, range, offset) { return {x: posX, y: posY}; } + +function renderDefs(terms) { + const outputs = []; + for (let term of terms) { + outputs.push(renderDef(term)); + } + + return outputs.join(''); +} + +function renderDef(term) { + return ` +
+ ${term.expression} + ${term.rules.join(' < ')} + ${term.reading} + ${term.glossary} +
+`; +}