summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2017-01-08 11:18:55 -0800
committerAlex Yatskov <alex@foosoft.net>2017-01-08 11:18:55 -0800
commitd7b4aa681c4ade5fe2bf838b3f7c6e44737e8ab1 (patch)
treefd7d8f63ace566f46f521344d583bd7a1ab991f0
parenta5efe5032247162e2a88554d39110ae1270544a8 (diff)
fixing dictionary tags
-rw-r--r--ext/bg/js/translator.js18
-rw-r--r--ext/bg/js/util.js4
2 files changed, 15 insertions, 7 deletions
diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js
index 374c6087..bdd606b7 100644
--- a/ext/bg/js/translator.js
+++ b/ext/bg/js/translator.js
@@ -55,12 +55,7 @@ class Translator {
for (const deinflection of deinflections) {
for (const definition of deinflection.definitions) {
const tags = definition.tags.map(tag => buildTag(tag, definition.tagMeta));
- tags.push(sanitizeTag({
- name: definition.dictionary,
- category: 'dictionary',
- order: 100
- }));
-
+ tags.push(buildDictTag(definition.dictionary));
definitions.push({
source: deinflection.source,
reasons: deinflection.reasons,
@@ -96,7 +91,16 @@ class Translator {
}
}
- return Promise.all(promises).then(sets => this.processKanji(sets.reduce((a, b) => a.concat(b), [])));
+ return Promise.all(promises).then(defSets => {
+ const definitions = defSets.reduce((a, b) => a.concat(b), []);
+ for (const definition of definitions) {
+ const tags = definition.tags.map(tag => buildTag(tag, definition.tagMeta));
+ tags.push(buildDictTag(definition.dictionary));
+ definition.tags = sortTags(tags);
+ }
+
+ return definitions;
+ });
}
findTermDeinflections(text, dictionaries, cache) {
diff --git a/ext/bg/js/util.js b/ext/bg/js/util.js
index 059f3160..1212fa44 100644
--- a/ext/bg/js/util.js
+++ b/ext/bg/js/util.js
@@ -113,6 +113,10 @@ function undupeTermDefs(definitions) {
return definitionsUnique;
}
+function buildDictTag(name) {
+ return sanitizeTag({name, category: 'dictionary', order: 100});
+}
+
function buildTag(name, meta) {
const tag = {name};
const symbol = name.split(':')[0];