diff options
| author | Alon Levy <alon@pobox.com> | 2014-08-19 19:32:16 +0300 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2014-08-19 19:32:16 +0300 |
| commit | cca5a2dbc2e0a92bee72b56d9a708a641d4153a9 (patch) | |
| tree | 1e3af554bc33fca54a2b00bd3a1c74cbbebf4d61 /scripts/textanalysis-ui.js | |
| parent | e893cf18cd13d7ceaf6d601faf476b50a20cae8f (diff) | |
start breaking textanalysis to logic and ui
Diffstat (limited to 'scripts/textanalysis-ui.js')
| -rw-r--r-- | scripts/textanalysis-ui.js | 124 |
1 files changed, 124 insertions, 0 deletions
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('<table><tr><td style="height:28px"></td></tr><tr><td>' + "Chosen Type: " + nodetypes[typeindex] + '</td></tr></table>'); + graph.findCoordinates(lastnode,null); + } else { + if (typeindex > 0) typeindex--; + else typeindex = 4; + + graph.editType(id, null, nodetypes[typeindex]); + $('.typeselection').html('<table><tr><td style="height:28px"></td></tr><tr><td>' + "Chosen Type: " + nodetypes[typeindex] + '</td></tr></table>'); + 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); + + |
