source: branches/samba-3.5.x/swat2/scripting/menus.js@ 1075

Last change on this file since 1075 was 414, checked in by Herwig Bauernfeind, 15 years ago

Samba 3.5.0: Initial import

File size: 1.2 KB
Line 
1/*
2 menu object for SWAT
3*/
4
5/*
6 display a menu object. Currently only the "simple", "vertical" menu style
7 is supported
8*/
9function menu_display() {
10 var i, m = this;
11 assert(m.style == "simple" && m.orientation == "vertical");
12 write('<div class="' + m.class + '">\n');
13 write("<i>" + m.name + "</i><br /><ul>\n");
14 for (i = 0; i < m.element.length; i++) {
15 var e = m.element[i];
16 write("<li><a href=\"" + e.link + "\">" + e.label + "</a></li>\n");
17 }
18 write("</ul></div>\n");
19}
20
21
22/*
23 create a menu object with the defaults filled in, ready for display_menu()
24 */
25function MenuObj(name, num_elements)
26{
27 var i, o = new Object();
28 o.name = name;
29 o.class = "menu";
30 o.style = "simple";
31 o.orientation = "vertical"
32 o.element = new Array(num_elements);
33 for (i in o.element) {
34 o.element[i] = new Object();
35 }
36 o.display = menu_display;
37 return o;
38}
39
40/*
41 return a menu object created using a title, followed by
42 a set of label/link pairs
43*/
44function simple_menu() {
45 var i, m = MenuObj(arguments[0], (arguments.length-1)/2);
46 for (i=0;i<m.element.length;i++) {
47 var ndx = i*2;
48 m.element[i].label = arguments[ndx+1];
49 m.element[i].link = arguments[ndx+2];
50 }
51 return m;
52}
53
Note: See TracBrowser for help on using the repository browser.