This renames the doc task to apidoc. The apidoc delegates to jsdoc3 currently. We will have additional documentation that is not built by jsdoc3. It makes sense to reserve the more general 'doc' name for building all documentation (not just apidoc).
108 lines
2.9 KiB
Cheetah
108 lines
2.9 KiB
Cheetah
<?js
|
|
var params = obj;
|
|
|
|
/* sort subparams under their parent params (like opts.classname) */
|
|
var parentParam = null;
|
|
params.forEach(function(param, i) {
|
|
if (!param) { return; }
|
|
if ( parentParam && param.name && param.name.indexOf(parentParam.name + '.') === 0 ) {
|
|
param.name = param.name.substr(parentParam.name.length+1);
|
|
parentParam.subparams = parentParam.subparams || [];
|
|
parentParam.subparams.push(param);
|
|
params[i] = null;
|
|
}
|
|
else {
|
|
parentParam = param;
|
|
}
|
|
});
|
|
|
|
/* determine if we need extra columns, "attributes" and "default" */
|
|
params.hasAttributes = false;
|
|
params.hasDefault = false;
|
|
params.hasName = false;
|
|
|
|
params.forEach(function(param) {
|
|
if (!param) { return; }
|
|
|
|
if (param.optional || param.nullable) {
|
|
params.hasAttributes = true;
|
|
}
|
|
|
|
if (param.name) {
|
|
params.hasName = true;
|
|
}
|
|
|
|
if (typeof param.defaultvalue !== 'undefined') {
|
|
params.hasDefault = true;
|
|
}
|
|
});
|
|
?>
|
|
|
|
<table class="params">
|
|
<thead>
|
|
<tr>
|
|
<?js if (params.hasName) {?>
|
|
<th>Name</th>
|
|
<?js } ?>
|
|
|
|
<th>Type</th>
|
|
|
|
<?js if (params.hasAttributes) {?>
|
|
<th>Argument</th>
|
|
<?js } ?>
|
|
|
|
<?js if (params.hasDefault) {?>
|
|
<th>Default</th>
|
|
<?js } ?>
|
|
|
|
<th class="last">Description</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<?js
|
|
var self = this;
|
|
params.forEach(function(param) {
|
|
if (!param) { return; }
|
|
?>
|
|
|
|
<tr>
|
|
<?js if (params.hasName) {?>
|
|
<td class="name"><code><?js= param.name.replace(/^opt_/, "") ?></code></td>
|
|
<?js } ?>
|
|
|
|
<td class="type">
|
|
<?js if (param.type && param.type.names) {?>
|
|
<?js= self.partial('type.tmpl', param.type.names) ?>
|
|
<?js } ?>
|
|
</td>
|
|
|
|
<?js if (params.hasAttributes) {?>
|
|
<td class="attributes">
|
|
<?js if (param.optional) { ?>
|
|
<optional><br>
|
|
<?js } ?>
|
|
|
|
<?js if (param.nullable) { ?>
|
|
<nullable><br>
|
|
<?js } ?>
|
|
</td>
|
|
<?js } ?>
|
|
|
|
<?js if (params.hasDefault) {?>
|
|
<td class="default">
|
|
<?js if (typeof param.defaultvalue !== 'undefined') { ?>
|
|
<?js= self.htmlsafe(param.defaultvalue) ?>
|
|
<?js } ?>
|
|
</td>
|
|
<?js } ?>
|
|
|
|
<td class="description last"><?js= (param.optional ? "(Optional) " : "") + param.description ?><?js if (param.subparams) { ?>
|
|
<h6>Properties</h6>
|
|
<?js= self.partial('params.tmpl', param.subparams) ?>
|
|
<?js } ?></td>
|
|
</tr>
|
|
|
|
<?js }); ?>
|
|
</tbody>
|
|
</table> |