diff options
| author | hallgren <hallgren@chalmers.se> | 2010-09-29 13:03:40 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2010-09-29 13:03:40 +0000 |
| commit | 8b7d27fe4c2975fb5e8718f4b79face22733eb0b (patch) | |
| tree | bfeaffd4bd433911fc716871d719a92328caa6a5 | |
| parent | fe15579b31ae531437dfcb9f692ae8c8dbb7dcb6 (diff) | |
minibar: work on adding back support for typing multiple words without pressing enter in between
It mostly works now, but some minor issues still need to be fixed.
| -rw-r--r-- | src/runtime/javascript/minibar/minibar.js | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/runtime/javascript/minibar/minibar.js b/src/runtime/javascript/minibar/minibar.js index 7849f0153..0f3bd8790 100644 --- a/src/runtime/javascript/minibar/minibar.js +++ b/src/runtime/javascript/minibar/minibar.js @@ -241,10 +241,11 @@ function finish_typed(inp) { //alert("finish_typed "+inp.value); var box=element("words"); var w=inp.value; + var keep=w.substr(0,w.length-box.completed_text.length); if(box.completions.length==1) - add_word(box.completions[0]); + add_words(keep+box.completions[0]); else if(elem(w,box.completions)) - add_word(w); + add_words(w); } function generate_random() { @@ -298,6 +299,15 @@ function add_word(s) { get_completions(menu); } +function add_words(s) { + var menu=element("language_menu"); + var words=s.split(" "); + for(var i=0;i<words.length;i++) + add_word1(menu,words[i]+" "); + element("words").innerHTML="..."; + get_completions(menu); +} + function show_completions(complete_output) { var box=element("words"); var menu=element("language_menu"); @@ -305,10 +315,10 @@ function show_completions(complete_output) { var emptycnt=0; var completions=complete_output[0].completions; box.innerHTML=""; - box.completions=[]; + box.completions=completions; + box.completed_text=complete_output[0].text; for(var i=0;i<completions.length;i++) { var s=completions[i]; - box.completions[i]=s; if(s.length>0) box.appendChild(word(s)); else emptycnt++; } |
