Optimization
This commit is contained in:
parent
dd4b2f7365
commit
9cb099e5f6
@ -21,49 +21,39 @@ templates['kanji.html'] = template({"1":function(container,depth0,helpers,partia
|
|||||||
|
|
||||||
return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableAnkiConnect : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "");
|
return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableAnkiConnect : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "");
|
||||||
},"2":function(container,depth0,helpers,partials,data,blockParams,depths) {
|
},"2":function(container,depth0,helpers,partials,data,blockParams,depths) {
|
||||||
var stack1;
|
var helper, alias1=container.escapeExpression;
|
||||||
|
|
||||||
return " <div class=\"action-bar\">\n"
|
return " <a href=\"#\" title=\"Add Kanji\" class=\"action-link disabled\" data-mode=\"kanji\" data-index=\""
|
||||||
+ ((stack1 = helpers["with"].call(depth0 != null ? depth0 : {},(depths[1] != null ? depths[1].addable : depths[1]),{"name":"with","hash":{},"fn":container.program(3, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ alias1(((helper = (helper = helpers.index || (data && data.index)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : {},{"name":"index","hash":{},"data":data}) : helper)))
|
||||||
+ " </div>\n";
|
|
||||||
},"3":function(container,depth0,helpers,partials,data,blockParams,depths) {
|
|
||||||
var stack1, helper, alias1=depth0 != null ? depth0 : {}, alias2=container.escapeExpression;
|
|
||||||
|
|
||||||
return " <a href=\"#\" title=\"Add Kanji\" class=\"action-link "
|
|
||||||
+ ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.kanji : depth0),{"name":"unless","hash":{},"fn":container.program(4, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
|
||||||
+ "\" data-mode=\"kanji\" data-index=\""
|
|
||||||
+ alias2(((helper = (helper = helpers.index || (data && data.index)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(alias1,{"name":"index","hash":{},"data":data}) : helper)))
|
|
||||||
+ "\"><img src=\""
|
+ "\"><img src=\""
|
||||||
+ alias2(container.lambda((depths[2] != null ? depths[2].root : depths[2]), depth0))
|
+ alias1(container.lambda((depths[1] != null ? depths[1].root : depths[1]), depth0))
|
||||||
+ "/add_kanji.png\"></a>\n";
|
+ "/add_kanji.png\"></a>\n";
|
||||||
},"4":function(container,depth0,helpers,partials,data) {
|
},"4":function(container,depth0,helpers,partials,data) {
|
||||||
return "disabled";
|
|
||||||
},"6":function(container,depth0,helpers,partials,data) {
|
|
||||||
var stack1;
|
var stack1;
|
||||||
|
|
||||||
return " <dt>Meanings</dt>\n <dd>\n"
|
return " <dt>Meanings</dt>\n <dd>\n"
|
||||||
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.glossary : depth0),{"name":"each","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.glossary : depth0),{"name":"each","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ " </dd>\n";
|
+ " </dd>\n";
|
||||||
},"7":function(container,depth0,helpers,partials,data) {
|
},"5":function(container,depth0,helpers,partials,data) {
|
||||||
var stack1;
|
var stack1;
|
||||||
|
|
||||||
return " "
|
return " "
|
||||||
+ container.escapeExpression(container.lambda(depth0, depth0))
|
+ container.escapeExpression(container.lambda(depth0, depth0))
|
||||||
+ ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(data && data.last),{"name":"unless","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(data && data.last),{"name":"unless","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ "\n";
|
+ "\n";
|
||||||
},"8":function(container,depth0,helpers,partials,data) {
|
},"6":function(container,depth0,helpers,partials,data) {
|
||||||
return ", ";
|
return ", ";
|
||||||
},"10":function(container,depth0,helpers,partials,data) {
|
},"8":function(container,depth0,helpers,partials,data) {
|
||||||
var stack1;
|
var stack1;
|
||||||
|
|
||||||
return " <dt>Kunyomi</dt>\n <dd>\n"
|
return " <dt>Kunyomi</dt>\n <dd>\n"
|
||||||
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.kunyomi : depth0),{"name":"each","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.kunyomi : depth0),{"name":"each","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ " </dd>\n";
|
+ " </dd>\n";
|
||||||
},"12":function(container,depth0,helpers,partials,data) {
|
},"10":function(container,depth0,helpers,partials,data) {
|
||||||
var stack1;
|
var stack1;
|
||||||
|
|
||||||
return " <dt>Onyomi</dt>\n <dd>\n"
|
return " <dt>Onyomi</dt>\n <dd>\n"
|
||||||
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.onyomi : depth0),{"name":"each","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.onyomi : depth0),{"name":"each","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ " </dd>\n";
|
+ " </dd>\n";
|
||||||
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data,blockParams,depths) {
|
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data,blockParams,depths) {
|
||||||
var stack1, helper, alias1=depth0 != null ? depth0 : {};
|
var stack1, helper, alias1=depth0 != null ? depth0 : {};
|
||||||
@ -73,11 +63,11 @@ templates['kanji.html'] = template({"1":function(container,depth0,helpers,partia
|
|||||||
+ "\n <div class=\"kanji-glyph\">"
|
+ "\n <div class=\"kanji-glyph\">"
|
||||||
+ container.escapeExpression(((helper = (helper = helpers.character || (depth0 != null ? depth0.character : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(alias1,{"name":"character","hash":{},"data":data}) : helper)))
|
+ container.escapeExpression(((helper = (helper = helpers.character || (depth0 != null ? depth0.character : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(alias1,{"name":"character","hash":{},"data":data}) : helper)))
|
||||||
+ "</div>\n\n <div class=\"kanji-info\">\n <dl>\n"
|
+ "</div>\n\n <div class=\"kanji-info\">\n <dl>\n"
|
||||||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.glossary : depth0),{"name":"if","hash":{},"fn":container.program(6, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.glossary : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ "\n"
|
+ "\n"
|
||||||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.kunyomi : depth0),{"name":"if","hash":{},"fn":container.program(10, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.kunyomi : depth0),{"name":"if","hash":{},"fn":container.program(8, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ "\n"
|
+ "\n"
|
||||||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.onyomi : depth0),{"name":"if","hash":{},"fn":container.program(12, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.onyomi : depth0),{"name":"if","hash":{},"fn":container.program(10, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ " </dl>\n </div>\n</div>\n</div>\n";
|
+ " </dl>\n </div>\n</div>\n</div>\n";
|
||||||
},"useData":true,"useDepths":true});
|
},"useData":true,"useDepths":true});
|
||||||
templates['kanji-link.html'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
|
templates['kanji-link.html'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
|
||||||
@ -103,72 +93,60 @@ templates['term.html'] = template({"1":function(container,depth0,helpers,partial
|
|||||||
|
|
||||||
return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableAnkiConnect : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "");
|
return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.enableAnkiConnect : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "");
|
||||||
},"2":function(container,depth0,helpers,partials,data,blockParams,depths) {
|
},"2":function(container,depth0,helpers,partials,data,blockParams,depths) {
|
||||||
var stack1;
|
var helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression, alias5=container.lambda;
|
||||||
|
|
||||||
return " <div class=\"action-bar\">\n"
|
return " <div class=\"action-bar\">\n <a href=\"#\" title=\"Add as expression\" class=\"action-link disabled\" data-mode=\"vocabExp\" data-index=\""
|
||||||
+ ((stack1 = helpers["with"].call(depth0 != null ? depth0 : {},(depths[1] != null ? depths[1].addable : depths[1]),{"name":"with","hash":{},"fn":container.program(3, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
|
||||||
+ " </div>\n";
|
|
||||||
},"3":function(container,depth0,helpers,partials,data,blockParams,depths) {
|
|
||||||
var stack1, helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression, alias5=container.lambda;
|
|
||||||
|
|
||||||
return " <a href=\"#\" title=\"Add as expression\" class=\"action-link "
|
|
||||||
+ ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.vocabExp : depth0),{"name":"unless","hash":{},"fn":container.program(4, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
|
||||||
+ "\" data-mode=\"vocabExp\" data-index=\""
|
|
||||||
+ alias4(((helper = (helper = helpers.index || (data && data.index)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"index","hash":{},"data":data}) : helper)))
|
+ alias4(((helper = (helper = helpers.index || (data && data.index)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"index","hash":{},"data":data}) : helper)))
|
||||||
+ "\"><img src=\""
|
+ "\"><img src=\""
|
||||||
+ alias4(alias5((depths[2] != null ? depths[2].root : depths[2]), depth0))
|
+ alias4(alias5((depths[1] != null ? depths[1].root : depths[1]), depth0))
|
||||||
+ "/img/add_expression.png\"></a>\n <a href=\"#\" title=\"Add as reading\" class=\"action-link "
|
+ "/img/add_expression.png\"></a>\n <a href=\"#\" title=\"Add as reading\" class=\"action-link disabled\" data-mode=\"vocabReading\" data-index=\""
|
||||||
+ ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.vocabExp : depth0),{"name":"unless","hash":{},"fn":container.program(4, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
|
||||||
+ "\" data-mode=\"vocabReading\" data-index=\""
|
|
||||||
+ alias4(((helper = (helper = helpers.index || (data && data.index)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"index","hash":{},"data":data}) : helper)))
|
+ alias4(((helper = (helper = helpers.index || (data && data.index)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"index","hash":{},"data":data}) : helper)))
|
||||||
+ "\"><img src=\""
|
+ "\"><img src=\""
|
||||||
+ alias4(alias5((depths[2] != null ? depths[2].root : depths[2]), depth0))
|
+ alias4(alias5((depths[1] != null ? depths[1].root : depths[1]), depth0))
|
||||||
+ "/img/add_reading.png\"></a>\n";
|
+ "/img/add_reading.png\"></a>\n </div>\n";
|
||||||
},"4":function(container,depth0,helpers,partials,data) {
|
},"4":function(container,depth0,helpers,partials,data) {
|
||||||
return "disabled";
|
|
||||||
},"6":function(container,depth0,helpers,partials,data) {
|
|
||||||
var stack1, helper, options, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", buffer =
|
var stack1, helper, options, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", buffer =
|
||||||
" <div class=\"term-expression\"><ruby>";
|
" <div class=\"term-expression\"><ruby>";
|
||||||
stack1 = ((helper = (helper = helpers.kanjiLinks || (depth0 != null ? depth0.kanjiLinks : depth0)) != null ? helper : alias2),(options={"name":"kanjiLinks","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data}),(typeof helper === alias3 ? helper.call(alias1,options) : helper));
|
stack1 = ((helper = (helper = helpers.kanjiLinks || (depth0 != null ? depth0.kanjiLinks : depth0)) != null ? helper : alias2),(options={"name":"kanjiLinks","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data}),(typeof helper === alias3 ? helper.call(alias1,options) : helper));
|
||||||
if (!helpers.kanjiLinks) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}
|
if (!helpers.kanjiLinks) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}
|
||||||
if (stack1 != null) { buffer += stack1; }
|
if (stack1 != null) { buffer += stack1; }
|
||||||
return buffer + "<rt>"
|
return buffer + "<rt>"
|
||||||
+ container.escapeExpression(((helper = (helper = helpers.reading || (depth0 != null ? depth0.reading : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"reading","hash":{},"data":data}) : helper)))
|
+ container.escapeExpression(((helper = (helper = helpers.reading || (depth0 != null ? depth0.reading : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"reading","hash":{},"data":data}) : helper)))
|
||||||
+ "</rt></ruby></div>\n";
|
+ "</rt></ruby></div>\n";
|
||||||
},"7":function(container,depth0,helpers,partials,data) {
|
},"5":function(container,depth0,helpers,partials,data) {
|
||||||
var helper;
|
var helper;
|
||||||
|
|
||||||
return container.escapeExpression(((helper = (helper = helpers.expression || (depth0 != null ? depth0.expression : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : {},{"name":"expression","hash":{},"data":data}) : helper)));
|
return container.escapeExpression(((helper = (helper = helpers.expression || (depth0 != null ? depth0.expression : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : {},{"name":"expression","hash":{},"data":data}) : helper)));
|
||||||
},"9":function(container,depth0,helpers,partials,data) {
|
},"7":function(container,depth0,helpers,partials,data) {
|
||||||
var stack1, helper, options, buffer =
|
var stack1, helper, options, buffer =
|
||||||
" <div class=\"term-expression\">";
|
" <div class=\"term-expression\">";
|
||||||
stack1 = ((helper = (helper = helpers.kanjiLinks || (depth0 != null ? depth0.kanjiLinks : depth0)) != null ? helper : helpers.helperMissing),(options={"name":"kanjiLinks","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data}),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : {},options) : helper));
|
stack1 = ((helper = (helper = helpers.kanjiLinks || (depth0 != null ? depth0.kanjiLinks : depth0)) != null ? helper : helpers.helperMissing),(options={"name":"kanjiLinks","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data}),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : {},options) : helper));
|
||||||
if (!helpers.kanjiLinks) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}
|
if (!helpers.kanjiLinks) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}
|
||||||
if (stack1 != null) { buffer += stack1; }
|
if (stack1 != null) { buffer += stack1; }
|
||||||
return buffer + "</div>\n";
|
return buffer + "</div>\n";
|
||||||
},"11":function(container,depth0,helpers,partials,data) {
|
},"9":function(container,depth0,helpers,partials,data) {
|
||||||
var stack1;
|
var stack1;
|
||||||
|
|
||||||
return " <div class=\"term-rules\">\n"
|
return " <div class=\"term-rules\">\n"
|
||||||
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.rules : depth0),{"name":"each","hash":{},"fn":container.program(12, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.rules : depth0),{"name":"each","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ " </div>\n";
|
+ " </div>\n";
|
||||||
},"12":function(container,depth0,helpers,partials,data) {
|
},"10":function(container,depth0,helpers,partials,data) {
|
||||||
var stack1;
|
var stack1;
|
||||||
|
|
||||||
return " <span class=\"rule\">"
|
return " <span class=\"rule\">"
|
||||||
+ container.escapeExpression(container.lambda(depth0, depth0))
|
+ container.escapeExpression(container.lambda(depth0, depth0))
|
||||||
+ "</span> "
|
+ "</span> "
|
||||||
+ ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(data && data.last),{"name":"unless","hash":{},"fn":container.program(13, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(data && data.last),{"name":"unless","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ "\n";
|
+ "\n";
|
||||||
},"13":function(container,depth0,helpers,partials,data) {
|
},"11":function(container,depth0,helpers,partials,data) {
|
||||||
return "«";
|
return "«";
|
||||||
},"15":function(container,depth0,helpers,partials,data) {
|
},"13":function(container,depth0,helpers,partials,data) {
|
||||||
var stack1;
|
var stack1;
|
||||||
|
|
||||||
return " <div class=\"term-tags\">\n"
|
return " <div class=\"term-tags\">\n"
|
||||||
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.tags : depth0),{"name":"each","hash":{},"fn":container.program(16, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.tags : depth0),{"name":"each","hash":{},"fn":container.program(14, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ " </div>\n";
|
+ " </div>\n";
|
||||||
},"16":function(container,depth0,helpers,partials,data) {
|
},"14":function(container,depth0,helpers,partials,data) {
|
||||||
var helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
|
var helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
|
||||||
|
|
||||||
return " <span class=\"tag tag-"
|
return " <span class=\"tag tag-"
|
||||||
@ -178,7 +156,7 @@ templates['term.html'] = template({"1":function(container,depth0,helpers,partial
|
|||||||
+ "\">"
|
+ "\">"
|
||||||
+ alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"name","hash":{},"data":data}) : helper)))
|
+ alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"name","hash":{},"data":data}) : helper)))
|
||||||
+ "</span>\n";
|
+ "</span>\n";
|
||||||
},"18":function(container,depth0,helpers,partials,data) {
|
},"16":function(container,depth0,helpers,partials,data) {
|
||||||
return " <li><span>"
|
return " <li><span>"
|
||||||
+ container.escapeExpression(container.lambda(depth0, depth0))
|
+ container.escapeExpression(container.lambda(depth0, depth0))
|
||||||
+ "</span></li>\n";
|
+ "</span></li>\n";
|
||||||
@ -188,13 +166,13 @@ templates['term.html'] = template({"1":function(container,depth0,helpers,partial
|
|||||||
return "<div class=\"term-definition\">\n"
|
return "<div class=\"term-definition\">\n"
|
||||||
+ ((stack1 = helpers["with"].call(alias1,(depth0 != null ? depth0.options : depth0),{"name":"with","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers["with"].call(alias1,(depth0 != null ? depth0.options : depth0),{"name":"with","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ "\n"
|
+ "\n"
|
||||||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.reading : depth0),{"name":"if","hash":{},"fn":container.program(6, data, 0, blockParams, depths),"inverse":container.program(9, data, 0, blockParams, depths),"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.reading : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0, blockParams, depths),"inverse":container.program(7, data, 0, blockParams, depths),"data":data})) != null ? stack1 : "")
|
||||||
+ "\n"
|
+ "\n"
|
||||||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.rules : depth0),{"name":"if","hash":{},"fn":container.program(11, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.rules : depth0),{"name":"if","hash":{},"fn":container.program(9, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ "\n"
|
+ "\n"
|
||||||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.tags : depth0),{"name":"if","hash":{},"fn":container.program(15, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.tags : depth0),{"name":"if","hash":{},"fn":container.program(13, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ "\n <div class=\"term-glossary\">\n <ol>\n"
|
+ "\n <div class=\"term-glossary\">\n <ol>\n"
|
||||||
+ ((stack1 = helpers.each.call(alias1,(depth0 != null ? depth0.glossary : depth0),{"name":"each","hash":{},"fn":container.program(18, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
+ ((stack1 = helpers.each.call(alias1,(depth0 != null ? depth0.glossary : depth0),{"name":"each","hash":{},"fn":container.program(16, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
|
||||||
+ " </ol>\n </div>\n</div>\n";
|
+ " </ol>\n </div>\n</div>\n";
|
||||||
},"useData":true,"useDepths":true});
|
},"useData":true,"useDepths":true});
|
||||||
templates['term-list.html'] = template({"1":function(container,depth0,helpers,partials,data,blockParams,depths) {
|
templates['term-list.html'] = template({"1":function(container,depth0,helpers,partials,data,blockParams,depths) {
|
||||||
|
@ -89,12 +89,12 @@ class Translator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let results = [];
|
let definitions = [];
|
||||||
for (const key in groups) {
|
for (const key in groups) {
|
||||||
results.push(groups[key]);
|
definitions.push(groups[key]);
|
||||||
}
|
}
|
||||||
|
|
||||||
results = results.sort((v1, v2) => {
|
definitions = definitions.sort((v1, v2) => {
|
||||||
const sl1 = v1.source.length;
|
const sl1 = v1.source.length;
|
||||||
const sl2 = v2.source.length;
|
const sl2 = v2.source.length;
|
||||||
if (sl1 > sl2) {
|
if (sl1 > sl2) {
|
||||||
@ -123,25 +123,25 @@ class Translator {
|
|||||||
});
|
});
|
||||||
|
|
||||||
let length = 0;
|
let length = 0;
|
||||||
for (const result of results) {
|
for (const result of definitions) {
|
||||||
length = Math.max(length, result.source.length);
|
length = Math.max(length, result.source.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {results: results, length: length};
|
return {definitions: definitions, length: length};
|
||||||
}
|
}
|
||||||
|
|
||||||
findKanji(text) {
|
findKanji(text) {
|
||||||
let results = [];
|
let definitions = [];
|
||||||
const processed = {};
|
const processed = {};
|
||||||
|
|
||||||
for (const c of text) {
|
for (const c of text) {
|
||||||
if (!processed[c]) {
|
if (!processed[c]) {
|
||||||
results = results.concat(this.dictionary.findKanji(c));
|
definitions = definitions.concat(this.dictionary.findKanji(c));
|
||||||
processed[c] = true;
|
processed[c] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return results;
|
return definitions;
|
||||||
}
|
}
|
||||||
|
|
||||||
processTerm(groups, source, tags, rules=[], root='') {
|
processTerm(groups, source, tags, rules=[], root='') {
|
||||||
|
@ -34,8 +34,6 @@ class Yomichan {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.translator = new Translator();
|
this.translator = new Translator();
|
||||||
this.xhr = null;
|
|
||||||
|
|
||||||
this.setState('disabled');
|
this.setState('disabled');
|
||||||
|
|
||||||
loadOptions((opts) => {
|
loadOptions((opts) => {
|
||||||
@ -52,11 +50,12 @@ class Yomichan {
|
|||||||
|
|
||||||
onMessage(request, sender, callback) {
|
onMessage(request, sender, callback) {
|
||||||
const {action, params} = request, handlers = {
|
const {action, params} = request, handlers = {
|
||||||
findKanji: ({text}) => this.actionFindKanji(text, callback),
|
canAddNotes: ({definitions}) => this.ankiInvoke('canAddNotes', definitions, callback),
|
||||||
findTerm: ({text}) => this.actionFindTerm(text, callback),
|
findKanji: ({text}) => callback(this.translator.findKanji(text)),
|
||||||
getOptions: () => callback(this.options),
|
findTerm: ({text}) => callback(this.translator.findTerm(text)),
|
||||||
getState: () => callback(this.state),
|
getOptions: () => callback(this.options),
|
||||||
renderText: ({data, template}) => callback(Handlebars.templates[template](data))
|
getState: () => callback(this.state),
|
||||||
|
renderText: ({data, template}) => callback(Handlebars.templates[template](data))
|
||||||
};
|
};
|
||||||
|
|
||||||
handlers[action].call(this, params);
|
handlers[action].call(this, params);
|
||||||
@ -102,49 +101,21 @@ class Yomichan {
|
|||||||
Yomichan.notifyChange('options', this.options);
|
Yomichan.notifyChange('options', this.options);
|
||||||
}
|
}
|
||||||
|
|
||||||
actionFindTerm(text, callback) {
|
ankiInvoke(action, params, callback) {
|
||||||
const results = this.translator.findTerm(text);
|
if (this.options.enableAnkiConnect) {
|
||||||
this.callAnkiApi('canAddNotes', results.results, (definitions) => {
|
const xhr = new XMLHttpRequest();
|
||||||
if (definitions !== null) {
|
xhr.addEventListener('loadend', () => {
|
||||||
results.results = definitions;
|
const resp = xhr.responseText;
|
||||||
}
|
callback(resp ? JSON.parse(resp) : null);
|
||||||
|
});
|
||||||
|
|
||||||
callback(results);
|
xhr.open('POST', 'http://127.0.0.1:8888');
|
||||||
});
|
xhr.withCredentials = true;
|
||||||
}
|
xhr.setRequestHeader('Content-Type', 'text/json');
|
||||||
|
xhr.send(JSON.stringify({action: action, params: params}));
|
||||||
actionFindKanji(text, callback) {
|
} else {
|
||||||
const results = this.translator.findKanji(text);
|
|
||||||
this.callAnkiApi('cannAddNotes', results.results, (definitions) => {
|
|
||||||
if (definitions !== null) {
|
|
||||||
results.results = definitions;
|
|
||||||
}
|
|
||||||
|
|
||||||
callback(results);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
callAnkiApi(action, params, callback) {
|
|
||||||
if (!this.options.enableAnkiConnect) {
|
|
||||||
callback(null);
|
callback(null);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.xhr !== null) {
|
|
||||||
this.xhr.abort();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.xhr = new XMLHttpRequest();
|
|
||||||
this.xhr.addEventListener('loadend', () => {
|
|
||||||
const resp = this.xhr.responseText;
|
|
||||||
callback(resp ? JSON.parse(resp) : null);
|
|
||||||
this.xhr = null;
|
|
||||||
});
|
|
||||||
|
|
||||||
this.xhr.open('POST', 'http://127.0.0.1:8888');
|
|
||||||
this.xhr.withCredentials = true;
|
|
||||||
this.xhr.setRequestHeader('Content-Type', 'text/json');
|
|
||||||
this.xhr.send(JSON.stringify({action: action, params: params}));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static notifyChange(name, value) {
|
static notifyChange(name, value) {
|
||||||
|
@ -17,6 +17,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Background APIs
|
||||||
|
//
|
||||||
|
|
||||||
function sendMessage(action, params, callback) {
|
function sendMessage(action, params, callback) {
|
||||||
chrome.runtime.sendMessage({action: action, params: params}, callback);
|
chrome.runtime.sendMessage({action: action, params: params}, callback);
|
||||||
}
|
}
|
||||||
@ -40,3 +44,7 @@ function getOptions(callback) {
|
|||||||
function getState(callback) {
|
function getState(callback) {
|
||||||
sendMessage('getState', null, callback);
|
sendMessage('getState', null, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function canAddNotes(definitions, callback) {
|
||||||
|
sendMessage('canAddNotes', {definitions: definitions}, callback);
|
||||||
|
}
|
||||||
|
@ -26,8 +26,7 @@ class Client {
|
|||||||
this.activateBtn = 2;
|
this.activateBtn = 2;
|
||||||
this.enabled = false;
|
this.enabled = false;
|
||||||
this.options = {};
|
this.options = {};
|
||||||
this.results = null;
|
this.definitions = null;
|
||||||
this.xhr = null;
|
|
||||||
this.fgRoot = chrome.extension.getURL('fg');
|
this.fgRoot = chrome.extension.getURL('fg');
|
||||||
|
|
||||||
chrome.runtime.onMessage.addListener(this.onBgMessage.bind(this));
|
chrome.runtime.onMessage.addListener(this.onBgMessage.bind(this));
|
||||||
@ -102,17 +101,18 @@ class Client {
|
|||||||
}
|
}
|
||||||
|
|
||||||
range.setLength(this.options.scanLength);
|
range.setLength(this.options.scanLength);
|
||||||
findTerm(range.text(), ({results, length}) => {
|
findTerm(range.text(), ({definitions, length}) => {
|
||||||
if (length === 0) {
|
if (length === 0) {
|
||||||
this.hidePopup();
|
this.hidePopup();
|
||||||
} else {
|
} else {
|
||||||
range.setLength(length);
|
range.setLength(length);
|
||||||
renderText(
|
renderText(
|
||||||
{defs: results, root: this.fgRoot, options: this.options},
|
{defs: definitions, root: this.fgRoot, options: this.options},
|
||||||
'term-list.html',
|
'term-list.html',
|
||||||
(content) => {
|
(content) => {
|
||||||
this.results = results;
|
this.definitions = definitions;
|
||||||
this.showPopup(range, content, results);
|
this.showPopup(range, content);
|
||||||
|
canAddNotes(definitions, (states) => this.popup.sendMessage('setActionStates', states));
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -120,23 +120,17 @@ class Client {
|
|||||||
}
|
}
|
||||||
|
|
||||||
actionAddNote(mode, index, callback) {
|
actionAddNote(mode, index, callback) {
|
||||||
callback({
|
|
||||||
action: 'disableAction',
|
|
||||||
params: {
|
|
||||||
mode: mode,
|
|
||||||
index: index
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
actionDisplayKanji(kanji) {
|
actionDisplayKanji(kanji) {
|
||||||
findKanji(kanji, (results) => {
|
findKanji(kanji, (definitions) => {
|
||||||
renderText(
|
renderText(
|
||||||
{defs: results, root: this.fgRoot, options: this.options},
|
{defs: definitions, root: this.fgRoot, options: this.options},
|
||||||
'kanji-list.html',
|
'kanji-list.html',
|
||||||
(content) => {
|
(content) => {
|
||||||
this.results = results;
|
this.definitions = definitions;
|
||||||
this.popup.setContent(content, results);
|
this.popup.setContent(content, definitions);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@ -159,8 +153,8 @@ class Client {
|
|||||||
this.lastRange.deselect();
|
this.lastRange.deselect();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.lastRange = null;
|
this.lastRange = null;
|
||||||
this.results = null;
|
this.definitions = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
setEnabled(enabled) {
|
setEnabled(enabled) {
|
||||||
@ -172,29 +166,6 @@ class Client {
|
|||||||
setOptions(opts) {
|
setOptions(opts) {
|
||||||
this.options = opts;
|
this.options = opts;
|
||||||
}
|
}
|
||||||
|
|
||||||
callAnkiApi(action, params, callback) {
|
|
||||||
if (!this.options.enableAnkiConnect) {
|
|
||||||
callback(null);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.xhr !== null) {
|
|
||||||
this.xhr.abort();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.xhr = new XMLHttpRequest();
|
|
||||||
this.xhr.addEventListener('loadend', () => {
|
|
||||||
const resp = this.xhr.responseText;
|
|
||||||
callback(resp ? JSON.parse(resp) : null);
|
|
||||||
this.xhr = null;
|
|
||||||
});
|
|
||||||
|
|
||||||
this.xhr.open('POST', 'http://127.0.0.1:8888');
|
|
||||||
this.xhr.withCredentials = true;
|
|
||||||
this.xhr.setRequestHeader('Content-Type', 'text/json');
|
|
||||||
this.xhr.send(JSON.stringify({action: action, params: params}));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
window.yomiClient = new Client();
|
window.yomiClient = new Client();
|
||||||
|
@ -43,9 +43,21 @@ function onDomContentLoaded() {
|
|||||||
|
|
||||||
function onMessage(e) {
|
function onMessage(e) {
|
||||||
const {action, params} = e.data, handlers = {
|
const {action, params} = e.data, handlers = {
|
||||||
disableAction: ({mode, index}) => {
|
setActionStates: (states) => {
|
||||||
const matches = document.querySelectorAll(`.action-link[data-index="${index}"][data-mode="${mode}"]`);
|
for (let i = 0, count = states.length; i < count; ++i) {
|
||||||
matches[0].classList.add('disabled');
|
const state = states[i];
|
||||||
|
for (const mode in state) {
|
||||||
|
const matches = document.querySelectorAll(`.action-link[data-index="${i}"][data-mode="${mode}"]`);
|
||||||
|
if (matches.length > 0) {
|
||||||
|
const classes = matches[0].classList;
|
||||||
|
if (state[mode]) {
|
||||||
|
classes.remove('disabled');
|
||||||
|
} else {
|
||||||
|
classes.add('disabled');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -68,6 +68,12 @@ class Popup {
|
|||||||
doc.close();
|
doc.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sendMessage(action, params, callback) {
|
||||||
|
if (this.popup !== null) {
|
||||||
|
this.popup.contentWindow.postMessage({action: action, params: params}, '*');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
inject() {
|
inject() {
|
||||||
if (this.popup !== null) {
|
if (this.popup !== null) {
|
||||||
return;
|
return;
|
||||||
|
@ -1,11 +1,7 @@
|
|||||||
<div class="kanji-definition">
|
<div class="kanji-definition">
|
||||||
{{#with options}}
|
{{#with options}}
|
||||||
{{#if enableAnkiConnect}}
|
{{#if enableAnkiConnect}}
|
||||||
<div class="action-bar">
|
<a href="#" title="Add Kanji" class="action-link disabled" data-mode="kanji" data-index="{{@index}}"><img src="{{../root}}/add_kanji.png"></a>
|
||||||
{{#with ../addable}}
|
|
||||||
<a href="#" title="Add Kanji" class="action-link {{#unless kanji}}disabled{{/unless}}" data-mode="kanji" data-index="{{@index}}"><img src="{{../../root}}/add_kanji.png"></a>
|
|
||||||
{{/with}}
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/with}}
|
{{/with}}
|
||||||
|
|
||||||
|
@ -2,10 +2,8 @@
|
|||||||
{{#with options}}
|
{{#with options}}
|
||||||
{{#if enableAnkiConnect}}
|
{{#if enableAnkiConnect}}
|
||||||
<div class="action-bar">
|
<div class="action-bar">
|
||||||
{{#with ../addable}}
|
<a href="#" title="Add as expression" class="action-link disabled" data-mode="vocabExp" data-index="{{@index}}"><img src="{{../root}}/img/add_expression.png"></a>
|
||||||
<a href="#" title="Add as expression" class="action-link {{#unless vocabExp}}disabled{{/unless}}" data-mode="vocabExp" data-index="{{@index}}"><img src="{{../../root}}/img/add_expression.png"></a>
|
<a href="#" title="Add as reading" class="action-link disabled" data-mode="vocabReading" data-index="{{@index}}"><img src="{{../root}}/img/add_reading.png"></a>
|
||||||
<a href="#" title="Add as reading" class="action-link {{#unless vocabExp}}disabled{{/unless}}" data-mode="vocabReading" data-index="{{@index}}"><img src="{{../../root}}/img/add_reading.png"></a>
|
|
||||||
{{/with}}
|
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/with}}
|
{{/with}}
|
||||||
|
Loading…
Reference in New Issue
Block a user