File: ui_utils.js

package info (click to toggle)
wims 2%3A4.29a%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 185,704 kB
  • sloc: xml: 366,687; javascript: 120,570; ansic: 62,341; java: 62,170; sh: 7,744; perl: 3,937; yacc: 3,217; cpp: 1,915; lex: 1,805; makefile: 1,084; lisp: 914; pascal: 601; python: 520; php: 318; asm: 7
file content (62 lines) | stat: -rw-r--r-- 1,722 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/**** toggle_select_option ***
  Automatically display a single DOM element next to selectObject
  when the selected value is "openValue",
  and close it for other values.
*/
function toggle_select_option(selectObject, openValue) {
  var selected = selectObject.value;
  if (selected == openValue) {
    if (jQuery) {
      jQuery(selectObject).next().slideDown();
    } else {
      selectObject.nextSibling.style.display = "block";
    }
  } else {
    if (jQuery) {
      jQuery(selectObject).next().slideUp();
    } else {
      selectObject.nextSibling.style.display = "none";
    }
  }
}


/**** toggle_select_options ***
  Automatically display defined DOM elements according to matching_dict
  matching_dict is an associative array like this :
  {
    "value1" : "#DOM_ID_element1",
    "value2" : ".DOM_class_elements",
    ...
  }

*/
function toggle_select_options(selectElem, matching_dict = {}) {
  var selected = selectElem.value;
  for (var key in matching_dict) {
    if (selected == key) {
      if (jQuery) {
        jQuery(matching_dict[key]).slideDown();
      } else {
        document.querySelector(matching_dict[key]).style.display = "block";
      }
    } else {
      if (jQuery) {
        jQuery(matching_dict[key]).slideUp();
      } else {
        document.querySelector(matching_dict[key]).style.display = "none";
      }
    }
  }
}

/* Since the allowtype selectbox not works yet well without reloading the page,
it reloads the page when "techvars" are selected */
function toggle_allowtype(selectElem, matching_dict = {}) {
  var selected = selectElem.value;
  if (selected == "techvar") {
    selectElem.form.submit();
  } else {
    toggle_select_options(selectElem, matching_dict);
  }
}