summaryrefslogtreecommitdiff
path: root/src/runtime/javascript/minibar/minibar_support.js
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2011-08-08 17:28:24 +0000
committerhallgren <hallgren@chalmers.se>2011-08-08 17:28:24 +0000
commitd4638f54bad7523907ebb6502af48470351d8f9e (patch)
tree81cbdcb6a951e18eb8f39f62c6b06419595234c3 /src/runtime/javascript/minibar/minibar_support.js
parente50731c5111cc4a4addbdb157de2d73001976c2d (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.js46
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); }