From 92cf1bdb8519594eaef8ec692599df362557a603 Mon Sep 17 00:00:00 2001 From: hallgren Date: Tue, 9 Nov 2010 11:58:38 +0000 Subject: [PATCH] minibar.js: code simplification --- src/runtime/javascript/minibar/minibar.js | 162 +++++++++++----------- 1 file changed, 79 insertions(+), 83 deletions(-) diff --git a/src/runtime/javascript/minibar/minibar.js b/src/runtime/javascript/minibar/minibar.js index ddf2f0c91..79f18f3d2 100644 --- a/src/runtime/javascript/minibar/minibar.js +++ b/src/runtime/javascript/minibar/minibar.js @@ -3,6 +3,19 @@ var default_server="http://www.grammaticalframework.org:41296" var tree_icon=default_server+"/translate/se.chalmers.cs.gf.gwt.TranslateApp/tree-btn.png"; +/* +// This is essentially what happens when you call start_minibar: +if(server.grammar_list) grammars=server.grammar_list; +else grammars=server.get_grammarlist(); +show_grammarlist(grammars) +select_grammar(grammars[0]) +grammar_info=server.get_languages() +show_languages(grammar_info) +new_language() +complete_output=get_completions() +show_completions(complete_output) +*/ + function start_minibar(server,opts,target) { // Typically called when the HTML document is loaded @@ -21,10 +34,11 @@ function start_minibar(server,opts,target) { help_url: null } - /* --- Creating user interface elements --------------------------------- */ - + // Apply supplied options if(opts) for(var o in opts) options[o]=opts[o]; + /* --- Creating user interface elements --------------------------------- */ + var surface=div_id("surface"); var extra=div_id("extra"); var menubar=div_id("menubar"); @@ -35,11 +49,13 @@ function start_minibar(server,opts,target) { minibar.innerHTML=""; appendChildren(minibar,[menubar,surface,words,translations,extra]); - // Added later: - var language_menu=empty_id("select","language_menu"); + // Filled in and added to minibar later: + var grammar_menu=empty_id("select","grammar_menu"); + var from_menu=empty_id("select","from_menu"); var to_menu=empty_id("select","to_menu"); /* --- Minibar client state initialisation ------------------------------ */ + var grammar=null; var current={from: null, input: ""}; var previous=null; @@ -49,21 +65,14 @@ function start_minibar(server,opts,target) { //debug("show_grammarlist ") menubar.innerHTML=""; if(grammars.length>1) { - var menu=empty("select"); - for(var i=0;i 1) tbody.appendChild(tr([td(text(lin[i].tree))])); } @@ -385,22 +379,24 @@ function start_minibar(server,opts,target) { function try_google() { var to=target_lang(); - var grammar=language_menu.grammar; var s=current.input; if(surface.typed) s+=surface.typed.value; var url="http://translate.google.com/?sl=" +langpart(current.from,grammar.name); - if(to!="-1") url+="&tl="+to; + if(to!="All") url+="&tl="+to; url+="&q="+encodeURIComponent(s); window.open(url); } function open_help() { open_popup(options.help_url,"help"); } + function open_feedback() { - language_menu.current=current; + // make the minibar state easily accessible from the feedback page: + minibar.state={grammar:grammar,current:current,to:to_menu.value, + translations:translations}; open_popup(options.feedback_url,'feedback'); } - + /* --- Main program, this gets things going ----------------------------- */ append_extra_buttons(extra,options); @@ -408,29 +404,32 @@ function start_minibar(server,opts,target) { else server.get_grammarlist(show_grammarlist); } -function commonPrefix(s1,s2) { - for(var i=0;i