Files
meteor/docs/client/api-box.js
Sashko Stubailo dbaf42e6ea Add capability for instance documentation, added dependency
Broke some links, going to fix those later
2014-08-26 10:12:32 -07:00

59 lines
1.3 KiB
JavaScript

var apiData = function (longname) {
var root = DocsData;
_.each(longname.split("."), function (pathSegment) {
root = root[pathSegment];
});
return root;
};
Template.autoApiBox.helpers({
apiData: apiData,
typeNames: function (nameList) {
// change names if necessary
nameList = _.map(nameList, function (name) {
if (name === "function") {
return "Function";
} else if (name === "EJSONable") {
return "EJSON-able object";
}
return name;
});
return nameList.join(" or ");
},
paramsSentence: function () {
var params = this.params;
var paramNames = _.map(params, function (param) {
if (param.optional) {
return "[" + param.name + "]";
}
return param.name;
});
return paramNames.join(", ");
},
name: function () {
if (this.scope === "instance") {
return "<em>" + apiData(this.memberof).instancename + "</em>." + this.name;
}
return this.longname;
},
link: function () {
if (this.scope === "instance") {
return apiData(this.memberof).instancename + "_" + this.name;
}
return this.longname.replace(".", "_").toLowerCase();
},
paramsNoOptions: function () {
return _.reject(this.params, function (param) {
return param.name === "options";
});
}
});