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 /src/runtime | |
| 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.
Diffstat (limited to 'src/runtime')
| -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++; } |
