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 9e53a4652d
commit 518a27a009

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++;
} }