functional
[nodejsws.git] / lib / layouts.js
index 2679987..fb4d503 100644 (file)
@@ -1,7 +1,7 @@
 exports.standard = function () {
        var lay = "<html><head><?njs header ?></head><body><?njs title ?>";
        lay += "<table width=\"100%\"><tr><td><?njs menu ?></td></tr>";
-       lay += "<tr valign=\"top\"><td width=\"120px\"><?njs sidebar ?></td><td><?njs body ?></td></tr>";
+       lay += "<tr valign=\"top\"><td width=\"15%\"><?njs sidebar ?></td><td><?njs body ?></td></tr>";
        lay += "<tr><td><?njs footer ?></td></tr></table><?njs totalend ?></body></html>";
        
        return lay;
@@ -9,29 +9,39 @@ exports.standard = function () {
 
 
 exports.straight = function () {
-       var lay = "<html><head><?njs header ?></head><body><?nfs title ?>";
+       var lay = "<html><head><?njs header ?></head><body><?njs title ?>";
        lay += "<table width=\"100%\"><tr><td><?njs menu ?></td></tr>";
-       lay += "<tr valign=\"top\"><td></td><?njs sidebar ?><td><?njs body ?></td></tr>";
+       lay += "<tr valign=\"top\"><td width=\"15%\"><?njs sidebar ?></td><td><?njs body ?></td></tr>";
        lay += "<tr><td><?njs footer ?></td></tr></table><?njs totalend ?></body></html>";
-       
+               
        return lay;
 }
 
 exports.header = function(request, response, callback) {
        // this function is the default header builder.
-       response.write("<title>mainname</title>");
+       response.write("<title>"+global.njsAppName+"</title>");
        callback(request, response);
 }
 
 exports.title = function(request, response, callback) {
        // this is the default title builder
-       response.write("<h1>mainname</h1>");
+       response.write("<h1>"+global.njsAppName+"</h1>");
        callback(request, response);
 }
 
 exports.menu = function(request, response, callback) {
        // this is the default title builder
-       response.write("<table><tr><th>Menu</th><td>item 1</td><td>item2</td></tr></table>");
+       //response.write("<table><tr><th>Menu</th><td>item 1</td><td>item2</td></tr></table>");
+       if(typeof global.menu != "undefined") {
+               response.write("<table><tr>");
+               for(key in global.menu) {
+                       response.write("<td><a href=\""+global.menu[key]+"\">"+key+"</a></td>");
+                       console.log("menu: '%s', '%s'", key, global.menu[key]);
+               }
+               response.write("</tr></table>");
+       } else {
+               response.write("No Menu Defined");
+       }
        callback(request, response);
 }
 
@@ -49,7 +59,11 @@ exports.body = function(request, response, callback) {
 
 exports.footer = function(request, response, callback) {
        // this is the default title builder
-       response.write("<br><br><font size=\"-1\"><i>Copyright PJR.cc</i></font>");
+       if(typeof global.footerText != "undefined") {
+               response.write(global.footerText);
+       } else {
+               response.write("<br><br><font size=\"-1\"><i>Copyright PJR.cc</i></font>");
+       }
        callback(request, response);
 }
 
@@ -57,3 +71,33 @@ exports.preResponse = function(request, response, callback) {
        console.log("in preresponse - doing nothing");
        callback();
 }
+
+
+// global menu management functions
+exports.addMenu = function(menuname, menulink) {
+       console.log("add menu item, '%s' -> '%s'", menuname, menulink);
+       if(typeof global.menu == "undefined") {
+               global.menu = new Array();
+               global.menu[menuname] = menulink;
+       } else {
+               global.menu[menuname] = menulink;
+       }
+}
+
+exports.delMenu = function(menuname) {
+       var t = new Array();
+       for(key in global.menu) {
+               if(key != menuname) {
+                       t[key] = global.menu[key];
+               }
+       }
+       global.menu = t;
+}
+
+exports.clearMenu = function() {
+       delete global.menu;
+}
+
+global.addMenu = exports.addMenu;
+global.delMenu = exports.delMenu;
+global.clearMenu = exports.clearMenu;
\ No newline at end of file