add eclipse project
[nodejsws.git] / lib / layouts.js
index a6c0a81..7860919 100644 (file)
 exports.standard = 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><td><?njs footer ?></td></tr></table>";
+       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.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><td><?njs footer ?></td></tr></table>";
-       
+       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;
-}
\ No newline at end of file
+}
+
+exports.header = function(request, response, callback) {
+       // this function is the default header builder.
+       response.write("<title>"+global.njspurls.njsAppName+"</title>");
+       callback(request, response);
+}
+
+exports.title = function(request, response, callback) {
+       // this is the default title builder
+       response.write("<h1>"+global.njspurls.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>");
+       if(typeof global.njspurls.menu != "undefined") {
+               response.write("<table><tr>");
+               for(key in global.njspurls.menu) {
+                       response.write("<td><a href=\""+global.njspurls.menu[key]+"\">"+key+"</a></td>");
+                       console.log("menu: '%s', '%s'", key, global.njspurls.menu[key]);
+               }
+               response.write("</tr></table>");
+       } else {
+               response.write("No Menu Defined");
+       }
+       callback(request, response);
+}
+
+exports.sidebar = function(request, response, callback) {
+       // this is the default title builder
+       response.write("Sidebar!");
+       callback(request, response);
+}
+
+exports.body = function(request, response, callback) {
+       // this is the default title builder
+       response.write("Body!");
+       callback(request, response);
+}
+
+exports.footer = function(request, response, callback) {
+       // this is the default title builder
+       if(typeof global.njspurls.footerText != "undefined") {
+               response.write(global.njspurls.footerText);
+       } else {
+               response.write("<br><br><font size=\"-1\"><i>Copyright PJR.cc</i></font>");
+       }
+       callback(request, response);
+}
+
+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.njspurls.menu == "undefined") {
+               global.njspurls.menu = new Array();
+               global.njspurls.menu[menuname] = menulink;
+       } else {
+               global.njspurls.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.njspurls.addMenu = exports.addMenu;
+global.njspurls.delMenu = exports.delMenu;
+global.njspurls.clearMenu = exports.clearMenu;
\ No newline at end of file