From 580b5bb8ef24f950581545425b4fee23a6e1c6ab Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 31 May 2005 02:57:21 +0000 Subject: r7132: - start a convention of making object constructors end in Obj, so we now have FormObj(). This follows the style in the ejs manual - make a new MenuObj object type, with a display_menu() to display it. This will make it easier to make different types of menus. Currently only veritical simple menus are supported. (This used to be commit ac978d4124f773d872dd15205d90a41dcec8a38f) --- swat/docs/menu.js | 29 +++++++++++++++++++++-------- swat/esptest/exception.esp | 2 +- swat/esptest/formtest.esp | 2 +- swat/esptest/loadparm.esp | 2 +- swat/esptest/session.esp | 2 +- swat/login.esp | 2 +- swat/scripting/common.js | 44 ++++++++++++++++++++++++++++++++++++-------- 7 files changed, 62 insertions(+), 21 deletions(-) diff --git a/swat/docs/menu.js b/swat/docs/menu.js index 4a39497fd9..b57b454a32 100644 --- a/swat/docs/menu.js +++ b/swat/docs/menu.js @@ -1,9 +1,22 @@ /* show a menu for the docs directory */ -simple_menu( - "Samba Information", - "Samba4 development", "http://devel.samba.org/", - "Recent Checkins", "http://build.samba.org/?tree=samba4&function=Recent+Checkins", - "Recent Builds", "http://build.samba.org/?tree=samba4&function=Recent+Builds", - "EJS Information", "http://www.appwebserver.org/products/ejs/ejs.html", - "ESP Information", "http://www.appwebserver.org/products/esp/esp.html", - "HTML 4.01 Spec", "http://www.w3.org/TR/html401/"); +var m = MenuObj("Samba Information", 8); + +m.element[0].label = "Samba4 development"; +m.element[0].link = "http://devel.samba.org/"; +m.element[1].label = "Recent Checkins"; +m.element[1].link = "http://build.samba.org/?tree=samba4&function=Recent+Checkins"; +m.element[2].label = "Recent Builds"; +m.element[2].link = "http://build.samba.org/?tree=samba4&function=Recent+Builds"; +m.element[3].label = "EJS Information"; +m.element[3].link = "http://www.appwebserver.org/products/ejs/ejs.html"; +m.element[4].label = "ESP Information"; +m.element[4].link = "http://www.appwebserver.org/products/esp/esp.html"; +m.element[5].label = "HTML 4.01 Spec"; +m.element[5].link = "http://www.w3.org/TR/html401/"; +m.element[6].label = "JavaScript Spec"; +m.element[6].link = "http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf"; +m.element[7].label = "CSS2 Reference"; +m.element[7].link = "http://www.w3schools.com/css/css_reference.asp"; + +display_menu(m); + diff --git a/swat/esptest/exception.esp b/swat/esptest/exception.esp index 986b616dab..df62e9a326 100644 --- a/swat/esptest/exception.esp +++ b/swat/esptest/exception.esp @@ -4,7 +4,7 @@ <% -var f = Form("ExceptionTest", 0, 2); +var f = FormObj("ExceptionTest", 0, 2); f.submit[0] = "Generate Exception"; f.submit[1] = "No Exception"; diff --git a/swat/esptest/formtest.esp b/swat/esptest/formtest.esp index 9f5626624e..2d7c33e518 100644 --- a/swat/esptest/formtest.esp +++ b/swat/esptest/formtest.esp @@ -1,7 +1,7 @@ <% page_header("columns", "ESP Form Test"); %> <% -var f = Form("FormTest", 3, 2); +var f = FormObj("FormTest", 3, 2); f.element[0].label = "First Name"; f.element[0].name = "firstName"; f.element[0].value = form['firstName']; diff --git a/swat/esptest/loadparm.esp b/swat/esptest/loadparm.esp index 5e45e4262c..738208b745 100644 --- a/swat/esptest/loadparm.esp +++ b/swat/esptest/loadparm.esp @@ -3,7 +3,7 @@

Samba4 loadparm test

<% -var f = Form("LoadparmTest", 2, 1); +var f = FormObj("LoadparmTest", 2, 1); f.element[0].label = "Share"; f.element[1].label = "Parameter"; f.submit[0] = "OK"; diff --git a/swat/esptest/session.esp b/swat/esptest/session.esp index 6de7edab67..309505bae3 100644 --- a/swat/esptest/session.esp +++ b/swat/esptest/session.esp @@ -3,7 +3,7 @@

Samba4 session test

<% -var f = Form("SessionTest", 3, 4); +var f = FormObj("SessionTest", 3, 4); f.element[0].label = "Name"; f.element[1].label = "Value"; f.element[2].label = "Timeout"; diff --git a/swat/login.esp b/swat/login.esp index fba1c544dc..f662492511 100644 --- a/swat/login.esp +++ b/swat/login.esp @@ -6,7 +6,7 @@ if (request['SESSION_EXPIRED'] == "True") { write("Your session has expired - please authenticate again
\n"); } -var f = Form("login", 2, 1); +var f = FormObj("login", 2, 1); f.element[0].label = "Username"; f.element[0].value = form['Username']; f.element[1].label = "Password"; diff --git a/swat/scripting/common.js b/swat/scripting/common.js index 8df419bc60..d087f0d2a6 100644 --- a/swat/scripting/common.js +++ b/swat/scripting/common.js @@ -69,17 +69,45 @@ function always_allowed(uri) { } /* - display a simple menu. First argument is menu title, followed by - pairs of menu item name and link + 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 simple_menu() { - write("" + arguments[0] + "
\n"); } +function simple_menu() { + var m = MenuObj(arguments[0], (arguments.length-1)/2); + for (i=0;i