- click on showApi-button calls docapplication/read_action to re-read the
application each time a user enters the doc-frameset. - function docfiles aren't stored in their own directory each but moved up to the prototype directory, further regex-parsing of the resuting html-code necessary
This commit is contained in:
parent
c709dd4c59
commit
4505fb1ffc
4 changed files with 21 additions and 13 deletions
|
@ -2,7 +2,7 @@
|
|||
<% this.description prefix="<br/>" %>
|
||||
<br/>
|
||||
->
|
||||
<a href="<% this.href action="api" %>/main">showAPI</a> |
|
||||
<a href="<% this.href action="api" %>/read">showAPI</a> |
|
||||
<a href="<% this.href action="api" %>/render">renderAPI</a> |
|
||||
<a href="<% this.url %>">public</a> |
|
||||
<a href="<% root.href action="main" %>?app=<% this.title %>&action=flush">flush</a> |
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td align="right" valign="top"><small style="font-size:9px;">
|
||||
<a href="<% this.href action="api" %>/main">showAPI</a> |
|
||||
<a href="<% this.href action="api" %>/read">showAPI</a> |
|
||||
<a href="<% this.href action="api" %>/render">renderAPI</a> |
|
||||
<a href="<% this.url %>">public</a> |
|
||||
<a href="<% root.href action="main" %>?app=<% this.title %>&action=flush">flush</a> |
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
function read_action () {
|
||||
this.readApplication ();
|
||||
res.redirect (this.href("main"));
|
||||
}
|
||||
|
||||
function main_action () {
|
||||
if (checkAddress()==false)
|
||||
return;
|
||||
|
@ -44,7 +49,7 @@ function render_action () {
|
|||
return;
|
||||
res.writeln("<html><head><title>render</title></head><body>rendering API ... ");
|
||||
var prefix = this.href ("");
|
||||
this.storePage (this, "main");
|
||||
this.storePage (this, "main", "", "index.html");
|
||||
this.storePage (this, "prototypes");
|
||||
this.storePage (this, "summary");
|
||||
this.storePage (this, "functionindex");
|
||||
|
@ -56,7 +61,7 @@ function render_action () {
|
|||
ct += 2;
|
||||
var subarr = arr[i].listChildren ();
|
||||
for (var j=0; j<subarr.length; j++) {
|
||||
this.storePage (subarr[j], "main", "../../");
|
||||
this.storePage (subarr[j], "main", "../", subarr[j].getElementName () + ".html");
|
||||
ct += 1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,27 +12,23 @@ function getDir (dir, obj) {
|
|||
dir.mkdir ();
|
||||
if (obj.getType () == this.APPLICATION) {
|
||||
return dir;
|
||||
} else if (obj.getType () == this.PROTOTYPE) {
|
||||
var protoObj = this.getDocPrototype (obj);
|
||||
var dir = new File (dir, protoObj.getElementName ());
|
||||
dir.mkdir ();
|
||||
return dir;
|
||||
} else {
|
||||
var protoObj = this.getDocPrototype (obj);
|
||||
var dir = this.getDir (dir, protoObj);
|
||||
dir = new File (dir, obj.getElementName ());
|
||||
var dir = new File (dir, protoObj.getElementName ());
|
||||
dir.mkdir ();
|
||||
return dir;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function storePage (obj, action, backPath) {
|
||||
function storePage (obj, action, backPath, filename) {
|
||||
if (filename==null)
|
||||
var filename = action + ".html";
|
||||
var str = this.getPage (obj, action, backPath);
|
||||
var appObj = this.getParentElement ();
|
||||
var dir = new File (appObj.getAppDir ().getAbsolutePath (), ".docs");
|
||||
dir = this.getDir (dir, obj);
|
||||
var f = new File (dir, action + ".html");
|
||||
var f = new File (dir, filename);
|
||||
f.remove ();
|
||||
f.open ();
|
||||
f.write (str);
|
||||
|
@ -46,12 +42,19 @@ function getPage (obj, action, backPath) {
|
|||
res.pushStringBuffer ();
|
||||
eval ("obj." + action + "_action ();");
|
||||
var str = res.popStringBuffer ();
|
||||
// get the baseURI out of the url and replace
|
||||
// it with the given relative prefix
|
||||
var reg = new RegExp ("href=\"" + this.href ("") + "([^\"]+)\"");
|
||||
reg.global = true;
|
||||
str = str.replace (reg, "href=\"" + backPath + "$1.html\"");
|
||||
var reg = new RegExp ("src=\"" + this.href ("") + "([^\"]+)\"");
|
||||
reg.global = true;
|
||||
str = str.replace (reg, "src=\"" + backPath + "$1.html\"");
|
||||
// shorten links, so that function files can move up one directory
|
||||
// in the hierarchy
|
||||
var reg = new RegExp ("(prototype_[^/]+/[^/]+)/main.html");
|
||||
reg.global = true;
|
||||
str = str.replace (reg, "$1.html");
|
||||
return str;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue