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.
This commit is contained in:
hallgren
2010-09-29 13:03:40 +00:00
parent fe15579b31
commit 8b7d27fe4c

View File

@@ -241,10 +241,11 @@ function finish_typed(inp) {
//alert("finish_typed "+inp.value); //alert("finish_typed "+inp.value);
var box=element("words"); var box=element("words");
var w=inp.value; var w=inp.value;
var keep=w.substr(0,w.length-box.completed_text.length);
if(box.completions.length==1) if(box.completions.length==1)
add_word(box.completions[0]); add_words(keep+box.completions[0]);
else if(elem(w,box.completions)) else if(elem(w,box.completions))
add_word(w); add_words(w);
} }
function generate_random() { function generate_random() {
@@ -298,6 +299,15 @@ function add_word(s) {
get_completions(menu); 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) { function show_completions(complete_output) {
var box=element("words"); var box=element("words");
var menu=element("language_menu"); var menu=element("language_menu");
@@ -305,10 +315,10 @@ function show_completions(complete_output) {
var emptycnt=0; var emptycnt=0;
var completions=complete_output[0].completions; var completions=complete_output[0].completions;
box.innerHTML=""; box.innerHTML="";
box.completions=[]; box.completions=completions;
box.completed_text=complete_output[0].text;
for(var i=0;i<completions.length;i++) { for(var i=0;i<completions.length;i++) {
var s=completions[i]; var s=completions[i];
box.completions[i]=s;
if(s.length>0) box.appendChild(word(s)); if(s.length>0) box.appendChild(word(s));
else emptycnt++; else emptycnt++;
} }