summaryrefslogtreecommitdiff
path: root/ext/bg
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2016-03-27 20:00:41 -0700
committerAlex Yatskov <alex@foosoft.net>2016-03-27 20:00:41 -0700
commita9fcc0cde6a09872e038e4aa4600d5cd80a71374 (patch)
tree3bd6e00e2c8eec94218636f554db2f2663141569 /ext/bg
parent2bdb5763780e68889b355200a60844da83d3ede7 (diff)
Switch to handlebars for templating
Diffstat (limited to 'ext/bg')
-rw-r--r--ext/bg/templates.js1
-rw-r--r--ext/bg/yomichan.js9
2 files changed, 6 insertions, 4 deletions
diff --git a/ext/bg/templates.js b/ext/bg/templates.js
new file mode 100644
index 00000000..72c9653b
--- /dev/null
+++ b/ext/bg/templates.js
@@ -0,0 +1 @@
+!function(){var a=Handlebars.template,n=Handlebars.templates=Handlebars.templates||{};n["defs.html"]=a({1:function(a,n,s,e,l){var r,i=null!=n?n:{},o=s.helperMissing,p="function",t=a.escapeExpression;return'<div class="yomichan-def">\n <span class="yomichan-def-expression">'+t((r=null!=(r=s.expression||(null!=n?n.expression:n))?r:o,typeof r===p?r.call(i,{name:"expression",hash:{},data:l}):r))+'</span>\n <span class="yomichan-def-reading">'+t((r=null!=(r=s.reading||(null!=n?n.reading:n))?r:o,typeof r===p?r.call(i,{name:"reading",hash:{},data:l}):r))+'</span>\n <span class="yomichan-def-glossary">'+t((r=null!=(r=s.glossary||(null!=n?n.glossary:n))?r:o,typeof r===p?r.call(i,{name:"glossary",hash:{},data:l}):r))+"</span>\n</div>\n"},compiler:[7,">= 4.0.0"],main:function(a,n,s,e,l){var r;return null!=(r=s.each.call(null!=n?n:{},null!=n?n.defs:n,{name:"each",hash:{},fn:a.program(1,l,0),inverse:a.noop,data:l}))?r:""},useData:!0})}(); \ No newline at end of file
diff --git a/ext/bg/yomichan.js b/ext/bg/yomichan.js
index 9a049f77..d845661f 100644
--- a/ext/bg/yomichan.js
+++ b/ext/bg/yomichan.js
@@ -19,7 +19,6 @@
class Yomichan {
constructor() {
- this.translator = new Translator();
this.res = {
rules: 'bg/data/rules.json',
edict: 'bg/data/edict.json',
@@ -27,6 +26,7 @@ class Yomichan {
kanjidic: 'bg/data/kanjidic.json'
};
+ this.translator = new Translator();
this.updateState('disabled');
chrome.runtime.onMessage.addListener(this.onMessage.bind(this));
@@ -36,9 +36,10 @@ class Yomichan {
onMessage(request, sender, callback) {
const {action, data} = request;
const handler = {
- findKanji: ({text}) => this.translator.onFindKanji(text),
- findTerm: ({text}) => this.translator.findTerm(text),
- getState: () => this.state
+ findKanji: ({text}) => this.translator.onFindKanji(text),
+ findTerm: ({text}) => this.translator.findTerm(text),
+ getState: () => this.state,
+ renderTemplate: ({data, template}) => Handlebars.templates[template](data)
}[action];
if (handler !== null) {