summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/textanalysis-ui.js6
-rw-r--r--scripts/textanalysis.js51
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;
-}