From cca5a2dbc2e0a92bee72b56d9a708a641d4153a9 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 19 Aug 2014 19:32:16 +0300 Subject: start breaking textanalysis to logic and ui --- scripts/textanalysis-ui.js | 124 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 scripts/textanalysis-ui.js (limited to 'scripts/textanalysis-ui.js') diff --git a/scripts/textanalysis-ui.js b/scripts/textanalysis-ui.js new file mode 100644 index 00000000..de163056 --- /dev/null +++ b/scripts/textanalysis-ui.js @@ -0,0 +1,124 @@ +var text = ""; // Last text of sentence +var sugg = []; // suggestions for autocompletion of node names + +$('#textanalyser').autocompleteTrigger({ + triggerStart: '#', + triggerEnd: '', + source: sugg +}); + +function analyzeSentence(sentence, finalize) +{ + var d = TextAnalyser2(graph, sentence, finalize); + for (var k in d.suggestions) { + sugg[k] = k; + } +} + + +$("#textanalyser").keypress(function(e) { + if (graph.history !== undefined) { + graph.history.record_keystrokes(KEYSTROKE_WHERE_TEXTANALYSIS, [e.which]); + } + if (e.which == 13) { + if(!suggestionChange){ + text = $('#textanalyser').val(); + $('#textanalyser').val(""); + TextAnalyser2(graph, text, true); + typeStack=[]; + } else { + suggestionChange=false; + } + return false; + } + + if (e.which == 37) {//RIGHT + $('body').scrollLeft(0); + e.stopPropagation(); + return false; + } + if (e.which == 39) { //LEFT + $('body').scrollLeft(0); + e.stopPropagation(); + return false; + } + +}); + +$(document).keydown(function(e) { + + if (graph.history !== undefined) { + graph.history.record_keystrokes(KEYSTROKE_WHERE_DOCUMENT, [e.KeyCode]); + } + if (e.keyCode == 9) {//TAB + e.preventDefault(); + changeType("down", lastnode); + return false; + } + + if (e.keyCode == 37) {//UP + $('html, body').scrollLeft(0); + } + if (e.keyCode == 39) {//DOWN + $('html, body').scrollLeft(0); + } + + if (e.keyCode == 38) {//UP + suggestionChange=true; + } + if (e.keyCode == 40) {//DOWN + suggestionChange=true; + } + + if (e.keyCode == 9) {//TAB + return false; + } + +}); + +function textSelect(inp, s, e) { + e = e || s; + if (inp.createTextRange) { + var r = inp.createTextRange(); + r.collapse(true); + r.moveEnd('character', e); + r.moveStart('character', s); + r.select(); + }else if(inp.setSelectionRange) { + inp.focus(); + inp.setSelectionRange(s, e); + } +} + +function changeType(arg, id) { + if(!id)id="new node"; + if (arg === 'up') { + if (typeindex < 4) typeindex++; + else typeindex = 0; + graph.editType(id, null, nodetypes[typeindex]); + $('.typeselection').html('
' + "Chosen Type: " + nodetypes[typeindex] + '
'); + graph.findCoordinates(lastnode,null); + } else { + if (typeindex > 0) typeindex--; + else typeindex = 4; + + graph.editType(id, null, nodetypes[typeindex]); + $('.typeselection').html('
' + "Chosen Type: " + nodetypes[typeindex] + '
'); + graph.findCoordinates(lastnode,null); + + } + graph.updateGraph(); +} + +window.setInterval(function() { + if ($('#textanalyser').val() != text) { + + if(text.length*8>500)$('#textanalyser').css('width',text.length*8+20); + // text changed + text = $('#textanalyser').val(); + TextAnalyser2(graph, text, false); + suggestionChange=false; + } +}, 5); + + -- cgit v1.3.1