diff options
| author | Alon Levy <alon@pobox.com> | 2015-01-06 21:42:22 +0200 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2015-01-06 21:42:22 +0200 |
| commit | 8a276a3e94f3a6227e766b41e94119e0001ab5bc (patch) | |
| tree | 6ec97819aeb428ef583f753e8fbabc52265c568e /src/client/textanalysis.ui.js | |
| parent | bb5bd7f158dc791d16cde816fa25dd0dd7f62ac4 (diff) | |
client/analyzeSentence: use spec
Diffstat (limited to 'src/client/textanalysis.ui.js')
| -rw-r--r-- | src/client/textanalysis.ui.js | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src/client/textanalysis.ui.js b/src/client/textanalysis.ui.js index 6e9709c0..83da4b6a 100644 --- a/src/client/textanalysis.ui.js +++ b/src/client/textanalysis.ui.js @@ -52,9 +52,15 @@ var typeselection = function TypeSelectionDialog() { var analysisCompleter = completer(element, $('#input-suggestion'), {hideOnTab: false}); -function analyzeSentence(sentence, finalize) +function analyzeSentence(spec) { - var ret = textanalysis.textAnalyser(sentence, finalize); + util.assert(spec.sentence !== undefined && + spec.finalize !== undefined && + spec.cursor !== undefined, "bad input"); + + var sentence = spec.sentence, + finalize = spec.finalize, + ret = textanalysis.textAnalyser(spec); switch (ret.state) { case textanalysis.ANALYSIS_NODE_START: @@ -133,7 +139,11 @@ return { if (!analysisCompleter.handleEnter()) { submitNewSentence(); } else { - analyzeSentence(element.val(), false); + analyzeSentence({ + sentence: element.val(), + finalize: false, + cursor: element_raw.selectionStart, + }); } ret = false; break; @@ -155,7 +165,10 @@ return { function submitNewSentence() { text = element.val(); element.val(""); - analyzeSentence(text, true); + analyzeSentence({ + sentence: text, + finalize: true, + cursor: element_raw.selectionStart}); text = ""; } @@ -175,7 +188,11 @@ return { if ('oninput' in document.documentElement) { element.on('input', function(e) { text = element.val(); - analyzeSentence(text, false); + analyzeSentence({ + sentence: text, + finalize: false, + cursor: element_raw.selectionStart + }); input.push({where: consts.INPUT_WHERE_TEXTANALYSIS, input: text}); }); } else { |
