Merge remote-tracking branch 'manage/master' into subtree
this merges master branch of https://github.com/helma-org/apps-manage-mirror into helma
This commit is contained in:
commit
ca2b08a5df
58 changed files with 2678 additions and 0 deletions
150
apps/manage/DocFunction/macros.js
Normal file
150
apps/manage/DocFunction/macros.js
Normal file
|
@ -0,0 +1,150 @@
|
|||
/**
|
||||
* macro rendering a skin
|
||||
* @param name name of skin
|
||||
*/
|
||||
function skin_macro(par) {
|
||||
if (par && par.name) {
|
||||
this.renderSkin(par.name);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* macro-wrapper for href-function
|
||||
* @param action name of action to call on this prototype, default main
|
||||
*/
|
||||
function href_macro(param) {
|
||||
return this.href((param && param.action) ? param.action : "main");
|
||||
}
|
||||
|
||||
function comment_macro(param) {
|
||||
return renderComment(this, param);
|
||||
}
|
||||
function content_macro(param) {
|
||||
return this.getContent();
|
||||
}
|
||||
function tags_macro(param) {
|
||||
return renderTags(this, param);
|
||||
}
|
||||
function location_macro(param) {
|
||||
return renderLocation(this, param);
|
||||
}
|
||||
function link_macro(param) {
|
||||
return renderLink(this, param);
|
||||
}
|
||||
|
||||
//// END OF COPIED FUNCTIONS
|
||||
|
||||
|
||||
function headline_macro(param) {
|
||||
var p = this.getParentElement();
|
||||
var handler = (p != null) ? p.getName() : "";
|
||||
if (this.getType() == this.ACTION) {
|
||||
res.write("/" + this.getName());
|
||||
} else if (this.getType() == this.FUNCTION) {
|
||||
if (handler != "" && handler != "global")
|
||||
res.write(handler + ".");
|
||||
res.write(this.getName() + " (");
|
||||
var arr = this.listParameters();
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
res.write(arr[i]);
|
||||
if (i < arr.length - 1) {
|
||||
res.write(", ");
|
||||
}
|
||||
}
|
||||
res.write(")");
|
||||
} else if (this.getType() == this.MACRO) {
|
||||
res.write("<% ");
|
||||
if (handler != "" && handler != "global")
|
||||
res.write(handler + ".");
|
||||
var name = this.getName();
|
||||
if (name.indexOf("_macro") > -1)
|
||||
name = name.substring(0, name.length - 6);
|
||||
res.write(name);
|
||||
res.write(" %>");
|
||||
} else if (this.getType() == this.SKIN) {
|
||||
if (handler != "" && handler != "global")
|
||||
res.write(handler + "/");
|
||||
res.write(this.getName());
|
||||
res.write(".skin");
|
||||
} else if (this.getType() == this.PROPERTIES) {
|
||||
res.write(this.getName());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function skinparameters_macro(param) {
|
||||
if (this.getType() == this.SKIN) {
|
||||
this.parameters_macro(param);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function parameters_macro(param) {
|
||||
var separator = (param.separator) ? param.separator : ", ";
|
||||
var arr = this.listParameters();
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
res.write(arr[i]);
|
||||
if (i < arr.length - 1)
|
||||
res.write(separator);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function type_macro(param) {
|
||||
return this.getTypeName();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* macro returning nicely formatted sourcecode of this method.
|
||||
* code is encoded, >% %<-tags are colorcoded, line numbers are added
|
||||
*/
|
||||
function source_macro(param) {
|
||||
var sourcecode = this.getContent();
|
||||
if (param.as == "highlighted") {
|
||||
|
||||
sourcecode = encode(sourcecode);
|
||||
|
||||
// highlight macro tags
|
||||
r = new RegExp("<%", "gim");
|
||||
sourcecode = sourcecode.replace(r, '<font color="#aa3300"><%');
|
||||
|
||||
r = new RegExp("%>", "gim");
|
||||
sourcecode = sourcecode.replace(r, '%></font>');
|
||||
|
||||
// highlight js-comments
|
||||
r = new RegExp("^([ \\t]*//.*)", "gm");
|
||||
sourcecode = sourcecode.replace(r, '<font color="#33aa00">$1</font>');
|
||||
|
||||
// highlight quotation marks, but not for skins
|
||||
if (this.getTypeName() != "Skin") {
|
||||
r = new RegExp("(".*?")", "gm");
|
||||
sourcecode = sourcecode.replace(r, '<font color="#9999aa">$1</font>');
|
||||
r = new RegExp("(\'[\']*\')", "gm");
|
||||
sourcecode = sourcecode.replace(r, '<font color="#9999aa">$1</font>');
|
||||
}
|
||||
|
||||
// remove all CR and LF, just <br> remains
|
||||
var r = new RegExp("[\\r\\n]", "gm");
|
||||
sourcecode = sourcecode.replace(r, "");
|
||||
|
||||
var arr = sourcecode.split("<br />");
|
||||
var line = this.getStartLine ? this.getStartLine() : 1;
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
res.write('<font color="#aaaaaa">' + (line++) + ':</font> ');
|
||||
if (i < 99) {
|
||||
res.write(' ');
|
||||
}
|
||||
if (i < 9) {
|
||||
res.write(' ');
|
||||
}
|
||||
res.write(arr[i] + "\n");
|
||||
}
|
||||
|
||||
} else {
|
||||
res.write(sourcecode);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue