diff options
| -rw-r--r-- | scripts/textanalysis-ui.js | 6 | ||||
| -rw-r--r-- | scripts/textanalysis.js | 51 |
2 files changed, 29 insertions, 28 deletions
diff --git a/scripts/textanalysis-ui.js b/scripts/textanalysis-ui.js index b9e69ca7..6d6e2f5a 100644 --- a/scripts/textanalysis-ui.js +++ b/scripts/textanalysis-ui.js @@ -1,19 +1,15 @@ var text = ""; // Last text of sentence -var sugg = []; // suggestions for autocompletion of node names $('#textanalyser').autocompleteTrigger({ triggerStart: '#', triggerEnd: '', - source: sugg + source: autocompleteCallback }); // TODO - hide this in a scope function analyzeSentence(sentence, finalize) { var ret = TextAnalyser2(sentence, finalize); - for (var k in ret.sugg) { - sugg.push(ret.sugg[k]); - } switch (ret.state) { case ANALYSIS_NODE_START: $('.typeselection').css({top:window.innerHeight/2-115,left:window.innerWidth/2-325}); diff --git a/scripts/textanalysis.js b/scripts/textanalysis.js index 3fe553da..715ccaa3 100644 --- a/scripts/textanalysis.js +++ b/scripts/textanalysis.js @@ -10,9 +10,36 @@ var ExecutionStack = []; var lastnode; +var sugg = {}; // suggestions for autocompletion of node names + var ANALYSIS_NODE_START = 'ANALYSIS_NODE_START'; var ANALYSIS_LINK = 'ANALYSIS_LINK'; +function autoSuggestAddName(name) +{ + console.log('adding suggestion ' + name); + /* note that name can contain spaces - this is ok. We might want to limit this though? */ + if(name.split(" ").length > 1) { + sugg['"'+newnodes[n]+'"'] = 1; + } else { + sugg[name] = 1; + } +} + +function autocompleteCallback(request, response_callback) +{ + console.log('autocompleteCallback: ' + request.term); + var ret = []; + if (request.term === "" || request.term) { + for (var name in sugg) { + if (name.indexOf(request.term) == 0) { + ret.push(name); + } + } + } + response_callback(ret); +} + function TextAnalyser2(newtext, finalize) { var segment = [], subsegment = [], @@ -130,19 +157,9 @@ function TextAnalyser2(newtext, finalize) { var typesetter = ""; if (finalize === true) { typesetter = "perm"; - var sugg = [] for (var n = 0; n < newnodes.length; n++) { - if (Unique(newnodes[n])) { - if(newnodes[n].split(" ").length>1){ - sugg.push('"'+newnodes[n]+'"'); - }else{ - sugg.push(newnodes[n]); - } - - } + autoSuggestAddName(newnodes[n]); } - sugg.push(text); - ret.sugg = sugg; } else { typesetter = "temp"; } @@ -246,15 +263,3 @@ function TextAnalyser2(newtext, finalize) { return ret; } - - - -function Unique(newnode) { - var truth = true; - for (var p = 0; p < sugg.length; p++) { - if (sugg[p] === newnode) { - truth = false; - } - } - return truth; -} |
