diff options
| author | hallgren <hallgren@chalmers.se> | 2011-08-08 17:28:24 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2011-08-08 17:28:24 +0000 |
| commit | d4638f54bad7523907ebb6502af48470351d8f9e (patch) | |
| tree | 81cbdcb6a951e18eb8f39f62c6b06419595234c3 /src/runtime/javascript/minibar/minibar_support.js | |
| parent | e50731c5111cc4a4addbdb157de2d73001976c2d (diff) | |
minibar: refactoring for improved modularity
Two smaller objects have been factored out from the Minibar object:
Input and Translations. These have been placed in two separate files:
minibar_input.js and minibar_translations.js. Some common auxiliary functions
have also been moved to a separate file: minibar_support.js
Diffstat (limited to 'src/runtime/javascript/minibar/minibar_support.js')
| -rw-r--r-- | src/runtime/javascript/minibar/minibar_support.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/runtime/javascript/minibar/minibar_support.js b/src/runtime/javascript/minibar/minibar_support.js new file mode 100644 index 000000000..a3fc078f7 --- /dev/null +++ b/src/runtime/javascript/minibar/minibar_support.js @@ -0,0 +1,46 @@ + +/* --- Auxiliary functions -------------------------------------------------- */ + +function langpart(conc,abs) { // langpart("FoodsEng","Foods") == "Eng" + return hasPrefix(conc,abs) ? conc.substr(abs.length) : conc; +} + +function update_language_menu(menu,grammar) { + // Replace the options in the menu with the languages in the grammar + var lang=grammar.languages; + menu.innerHTML=""; + + for(var i=0; i<lang.length; i++) { + var ln=lang[i].name; + if(!hasPrefix(ln,"Disamb")) { + var lp=langpart(ln,grammar.name); + menu.appendChild(option(lp,ln)); + } + } +} + +function button_img(url,action) { + var i=img(url); + i.setAttribute("class","button"); + i.setAttribute("onclick",action); + return i; +} + +function toggle_img(i) { + var tmp=i.src; + i.src=i.other; + i.other=tmp; +} + +function setField(form,name,value) { + form[name].value=value; + var el=element(name); + if(el) el.innerHTML=value; +} + +function open_popup(url,target) { + var w=window.open(url,target,'toolbar=no,location=no,status=no,menubar=no'); + w.focus(); +} + +function opener_element(id) { with(window.opener) return element(id); } |
