summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2017-04-08 12:25:18 -0700
committerAlex Yatskov <alex@foosoft.net>2017-04-08 12:25:18 -0700
commit1ba458ea821b9a39a2cf5eb388f81e4db4763207 (patch)
tree463b010ee19ba24558841a1d840f9011b4f74c6f
parentc4b1a4a5b4811d7aaa70b3b83f740c9e3d2b86be (diff)
fixing cloze bug
-rw-r--r--ext/bg/js/options.js3
-rw-r--r--ext/fg/js/util.js4
-rw-r--r--ext/mixed/js/display.js2
-rw-r--r--ext/mixed/js/util.js15
4 files changed, 13 insertions, 11 deletions
diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js
index ad8d83d8..51f242c2 100644
--- a/ext/bg/js/options.js
+++ b/ext/bg/js/options.js
@@ -368,9 +368,6 @@ function ankiFieldsPopulate(element, options) {
],
'kanji': [
'character',
- 'cloze-body',
- 'cloze-prefix',
- 'cloze-suffix',
'dictionary',
'glossary',
'kunyomi',
diff --git a/ext/fg/js/util.js b/ext/fg/js/util.js
index 445efa5b..e5705ffd 100644
--- a/ext/fg/js/util.js
+++ b/ext/fg/js/util.js
@@ -182,7 +182,7 @@ function docSentenceExtract(source, extent) {
quoteStack = [];
- let endPos = content.length - 1;
+ let endPos = content.length;
for (let i = position; i <= endPos; ++i) {
const c = content[i];
@@ -205,7 +205,7 @@ function docSentenceExtract(source, extent) {
}
const text = content.substring(startPos, endPos);
- const padding = text.length - text.replace(/^\s+/, '');
+ const padding = text.length - text.replace(/^\s+/, '').length;
return {
text: text.trim(),
diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js
index 973b7749..64d462ae 100644
--- a/ext/mixed/js/display.js
+++ b/ext/mixed/js/display.js
@@ -108,7 +108,7 @@ class Display {
if (context) {
for (const definition of definitions) {
- definition.cloze = clozeBuild(context.sentence, definition.source);
+ definition.cloze = clozeBuild(context.sentence);
definition.url = context.url;
}
}
diff --git a/ext/mixed/js/util.js b/ext/mixed/js/util.js
index eae54f49..62838674 100644
--- a/ext/mixed/js/util.js
+++ b/ext/mixed/js/util.js
@@ -22,12 +22,17 @@
*/
function clozeBuild(sentence, source) {
- return {
- sentence: sentence.text.trim(),
- prefix: sentence.text.substring(0, sentence.offset).trim(),
- body: source.trim(),
- suffix: sentence.text.substring(sentence.offset + source.length).trim()
+ const result = {
+ sentence: sentence.text.trim()
};
+
+ if (source) {
+ result.prefix = sentence.text.substring(0, sentence.offset).trim();
+ result.body = source.trim();
+ result.suffix = sentence.text.substring(sentence.offset + source.length).trim();
+ }
+
+ return result;
}