Inline events and also list method events with the class
This commit is contained in:
@@ -25,6 +25,7 @@
|
|||||||
"apidoc/plugins/typedefs",
|
"apidoc/plugins/typedefs",
|
||||||
"apidoc/plugins/api",
|
"apidoc/plugins/api",
|
||||||
"apidoc/plugins/todo",
|
"apidoc/plugins/todo",
|
||||||
|
"apidoc/plugins/events",
|
||||||
"apidoc/plugins/observable"
|
"apidoc/plugins/observable"
|
||||||
],
|
],
|
||||||
"markdown": {
|
"markdown": {
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
var events = {};
|
||||||
|
var classes = {};
|
||||||
|
|
||||||
|
exports.handlers = {
|
||||||
|
|
||||||
|
newDoclet: function(e) {
|
||||||
|
var doclet = e.doclet;
|
||||||
|
var cls;
|
||||||
|
if (doclet.kind == 'event') {
|
||||||
|
cls = doclet.longname.split('#')[0];
|
||||||
|
if (!(cls in events)) {
|
||||||
|
events[cls] = [];
|
||||||
|
}
|
||||||
|
events[cls].push(doclet.longname);
|
||||||
|
} else if (doclet.kind == 'class') {
|
||||||
|
classes[doclet.longname] = doclet;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
parseComplete: function(e) {
|
||||||
|
var doclets = e.doclets;
|
||||||
|
var eventClass, doclet, i, ii, j, jj, event, fires;
|
||||||
|
for (i = 0, ii = doclets.length - 1; i < ii; ++i) {
|
||||||
|
doclet = doclets[i];
|
||||||
|
if (doclet.fires) {
|
||||||
|
if (doclet.kind == 'class') {
|
||||||
|
fires = [];
|
||||||
|
for (j = 0, jj = doclet.fires.length; j < jj; ++j) {
|
||||||
|
event = doclet.fires[j].replace('event:', '');
|
||||||
|
if (events[event]) {
|
||||||
|
fires.push.apply(fires, events[event]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
doclet.fires = fires;
|
||||||
|
} else {
|
||||||
|
eventClass = classes[doclet.longname.split('#')[0]];
|
||||||
|
if (!(fires in eventClass)) {
|
||||||
|
eventClass.fires = [];
|
||||||
|
}
|
||||||
|
eventClass.fires.push.apply(eventClass.fires, doclet.fires);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
@@ -1,27 +1,36 @@
|
|||||||
<?js
|
<?js
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
docs.forEach(function(doc, i) {
|
docs.forEach(function(doc, i) {
|
||||||
|
|
||||||
var observables, fires;
|
var observables, fires;
|
||||||
if (doc.kind == 'class') {
|
if (doc.kind == 'class') {
|
||||||
observables = doc.observables || [];
|
observables = doc.observables || [];
|
||||||
fires = doc.fires || [];
|
fires = doc.fires || [];
|
||||||
var parents = doc.augments;
|
var parents = [].concat(doc.augments);
|
||||||
if (parents) {
|
var parent = parents.pop();
|
||||||
for (var i = parents.length - 1; i >= 0; --i) {
|
while (parent) {
|
||||||
var parent = parents[i];
|
parent = self.find({longname: parent})[0];
|
||||||
while (parent) {
|
if (parent) {
|
||||||
parent = self.find({longname: parent})[0];
|
if (parent.observables) {
|
||||||
if (!parent) { break; }
|
parent.observables.forEach(function(o) {
|
||||||
if (parent.observables) {
|
if (observables.indexOf(o) == -1) {
|
||||||
observables = observables.concat(parent.observables);
|
observables.push(o);
|
||||||
}
|
}
|
||||||
if (parent.fires) {
|
});
|
||||||
fires = fires.concat(parent.fires);
|
}
|
||||||
}
|
if (parent.fires) {
|
||||||
parent = parent.augments;
|
parent.fires.forEach(function(f) {
|
||||||
|
if (fires.indexOf(f) == -1) {
|
||||||
|
fires.push(f);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (parent.augments) {
|
||||||
|
parents.push.apply(parents, parent.augments);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
parent = parents.pop();
|
||||||
}
|
}
|
||||||
observables.sort();
|
observables.sort();
|
||||||
observables.forEach(function(o) {
|
observables.forEach(function(o) {
|
||||||
@@ -146,10 +155,10 @@
|
|||||||
<?js } ?>
|
<?js } ?>
|
||||||
|
|
||||||
<?js if (fires && fires.length) { ?>
|
<?js if (fires && fires.length) { ?>
|
||||||
<h3 class="subsection-title">Fires</h3>
|
<h3 class="subsection-title">Fires</h3>
|
||||||
<ul><?js fires.forEach(function(f) { ?>
|
<ul><?js fires.forEach(function(f) { ?>
|
||||||
<?js= self.partial('fires.tmpl', self.linkto(f, f.split('event:')[1]) ) ?>
|
<?js= self.partial('fires.tmpl', f) ?>
|
||||||
<?js }); ?></ul>
|
<?js }); ?></ul>
|
||||||
<?js } ?>
|
<?js } ?>
|
||||||
|
|
||||||
<?js
|
<?js
|
||||||
|
|||||||
@@ -1,4 +1,16 @@
|
|||||||
<?js var data = obj; ?>
|
<?js
|
||||||
|
var data = obj;
|
||||||
|
var self = this;
|
||||||
|
var parts = data.split(/#?event:/);
|
||||||
|
var link = self.linkto(parts[0], parts[0]);
|
||||||
|
?>
|
||||||
<li>
|
<li>
|
||||||
<?js= data ?>
|
<code><?js= parts[1] ?></code>
|
||||||
|
<?js if (link !== parts[0]) { ?>(<?js= self.linkto(parts[0], parts[0]) ?>)<?js } ?>
|
||||||
|
<?js var eventCls = self.find({longname: data})[0];
|
||||||
|
if (eventCls && eventCls.description) { ?>
|
||||||
|
<?js= (eventCls.description) ?>
|
||||||
|
<?js } else { ?>
|
||||||
|
<p>
|
||||||
|
<?js } ?>
|
||||||
</li>
|
</li>
|
||||||
@@ -40,10 +40,10 @@ var self = this;
|
|||||||
|
|
||||||
<?js= this.partial('details.tmpl', data) ?>
|
<?js= this.partial('details.tmpl', data) ?>
|
||||||
|
|
||||||
<?js if (data.fires && fires.length) { ?>
|
<?js if (data.kind !== 'class' && data.fires && fires.length) { ?>
|
||||||
<h5>Fires:</h5>
|
<h5>Fires:</h5>
|
||||||
<ul><?js fires.forEach(function(f) { ?>
|
<ul><?js fires.forEach(function(f) { ?>
|
||||||
<?js= self.partial('fires.tmpl', self.linkto(f.replace('event:', '')) ) ?>
|
<?js= self.partial('fires.tmpl', f) ?>
|
||||||
<?js }); ?></ul>
|
<?js }); ?></ul>
|
||||||
<?js } ?>
|
<?js } ?>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user