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 | |
| parent | bb5bd7f158dc791d16cde816fa25dd0dd7f62ac4 (diff) | |
client/analyzeSentence: use spec
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/textanalysis.js | 12 | ||||
| -rw-r--r-- | src/client/textanalysis.ui.js | 27 |
2 files changed, 32 insertions, 7 deletions
diff --git a/src/client/textanalysis.js b/src/client/textanalysis.js index 67778b81..12e6e0de 100644 --- a/src/client/textanalysis.js +++ b/src/client/textanalysis.js @@ -179,8 +179,11 @@ function tokenize(text, node_token, quote) * marks). * */ -var textAnalyser = function (newtext, finalize) { - var sentence, +var textAnalyser = function (spec) { + var newtext = spec.sentence, + finalize = spec.finalize, + cursor = spec.cursor, + sentence, token_set_new_node_names = [], // token set representing new node names token_set_new_link_names = [], // token set representing new link names linkindex = 0, @@ -204,6 +207,11 @@ var textAnalyser = function (newtext, finalize) { links = [], ret = model_diff.new_topo_diff(); + util.assert(spec.sentence !== undefined && + spec.finalize !== undefined && + spec.cursor !== undefined, + "bad input"); + function __addNode(name, type) { if (type === undefined) { console.log('bug: textanalyser.addNode of type undefined'); 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 { |
