From fdb322876d573f7e18947e53667b3ee83e3ba226 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 23 Jul 2005 10:58:09 +0000 Subject: r8722: make the menu handling considerably saner and easier to follow. The whole menu hierarchy is now in /menu.js (This used to be commit c2a450bb9967caa666628f067a8e732227854ce2) --- swat/scripting/common.js | 42 ------------------------------- swat/scripting/header_columns.esp | 18 ++++++------- swat/scripting/menus.js | 53 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 51 deletions(-) create mode 100644 swat/scripting/menus.js (limited to 'swat/scripting') diff --git a/swat/scripting/common.js b/swat/scripting/common.js index 84a1421603..dde40c8e38 100644 --- a/swat/scripting/common.js +++ b/swat/scripting/common.js @@ -88,48 +88,6 @@ function always_allowed(uri) { return false; } -/* - create a menu object with the defaults filled in, ready for display_menu() - */ -function MenuObj(name, num_elements) -{ - var o = new Object(); - o.name = name; - o.class = "menu"; - o.style = "simple"; - o.orientation = "vertical" - o.element = new Array(num_elements); - for (i in o.element) { - o.element[i] = new Object(); - } - return o; -} - -/* - display a menu object. Currently only the "simple", "vertical" menu style - is supported -*/ -function display_menu(m) { - assert(m.style == "simple" && m.orientation == "vertical"); - write('
\n'); - write("" + m.name + "
\n"); -} - -function simple_menu() { - var i, m = MenuObj(arguments[0], (arguments.length-1)/2); - for (i=0;i <% - if (global.page.menu) { - include(global.page.menu); - write('Main Menu'); - } else { - include("/menu.js"); - } + include("/menu.js"); + if (form['menu']) { + global.page.menu = form['menu']; + } + swat_menus[global.page.menu].display(); + if (global.page.menu != "main") { + write('Main Menu'); + } %> diff --git a/swat/scripting/menus.js b/swat/scripting/menus.js new file mode 100644 index 0000000000..ddd97c4ca3 --- /dev/null +++ b/swat/scripting/menus.js @@ -0,0 +1,53 @@ +/* + menu object for SWAT +*/ + +/* + display a menu object. Currently only the "simple", "vertical" menu style + is supported +*/ +function menu_display() { + var i, m = this; + assert(m.style == "simple" && m.orientation == "vertical"); + write('
\n'); + write("" + m.name + "
    \n"); + for (i = 0; i < m.element.length; i++) { + var e = m.element[i]; + write("
  • " + e.label + "
  • \n"); + } + write("
\n"); +} + + +/* + create a menu object with the defaults filled in, ready for display_menu() + */ +function MenuObj(name, num_elements) +{ + var i, o = new Object(); + o.name = name; + o.class = "menu"; + o.style = "simple"; + o.orientation = "vertical" + o.element = new Array(num_elements); + for (i in o.element) { + o.element[i] = new Object(); + } + o.display = menu_display; + return o; +} + +/* + return a menu object created using a title, followed by + a set of label/link pairs +*/ +function simple_menu() { + var i, m = MenuObj(arguments[0], (arguments.length-1)/2); + for (i=0;i