Some more cleanup
No need to sort beforehand and therefore sorting can be done at last too. Also forEach is just fine, no need for underscore. This changes the navigation default order for modules to be after classes when the name is the same.
This commit is contained in:
@@ -14,7 +14,6 @@ const path = require('jsdoc/lib/jsdoc/path');
|
|||||||
const taffy = require('taffydb').taffy;
|
const taffy = require('taffydb').taffy;
|
||||||
const handle = require('jsdoc/lib/jsdoc/util/error').handle;
|
const handle = require('jsdoc/lib/jsdoc/util/error').handle;
|
||||||
const helper = require('jsdoc/lib/jsdoc/util/templateHelper');
|
const helper = require('jsdoc/lib/jsdoc/util/templateHelper');
|
||||||
const _ = require('underscore');
|
|
||||||
const htmlsafe = helper.htmlsafe;
|
const htmlsafe = helper.htmlsafe;
|
||||||
const linkto = helper.linkto;
|
const linkto = helper.linkto;
|
||||||
const resolveAuthorLinks = helper.resolveAuthorLinks;
|
const resolveAuthorLinks = helper.resolveAuthorLinks;
|
||||||
@@ -211,23 +210,9 @@ function getPrettyName(doclet) {
|
|||||||
*/
|
*/
|
||||||
function buildNav(members) {
|
function buildNav(members) {
|
||||||
const nav = [];
|
const nav = [];
|
||||||
// merge namespaces and classes, then sort
|
members.classes.forEach(function(v) {
|
||||||
const merged = members.modules.concat(members.classes);
|
|
||||||
merged.sort(function(a, b) {
|
|
||||||
const prettyNameA = getPrettyName(a).toLowerCase();
|
|
||||||
const prettyNameB = getPrettyName(b).toLowerCase();
|
|
||||||
if (prettyNameA > prettyNameB) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if (prettyNameA < prettyNameB) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
});
|
|
||||||
|
|
||||||
_.each(merged, function(v) {
|
|
||||||
// exclude interfaces from sidebar
|
// exclude interfaces from sidebar
|
||||||
if (v.interface !== true && v.kind === 'class') {
|
if (v.interface !== true) {
|
||||||
nav.push({
|
nav.push({
|
||||||
type: 'class',
|
type: 'class',
|
||||||
longname: v.longname,
|
longname: v.longname,
|
||||||
@@ -255,7 +240,9 @@ function buildNav(members) {
|
|||||||
memberof: v.longname
|
memberof: v.longname
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
} else if (v.kind == 'module') {
|
}
|
||||||
|
});
|
||||||
|
members.modules.forEach(function(v) {
|
||||||
const classes = find({
|
const classes = find({
|
||||||
kind: 'class',
|
kind: 'class',
|
||||||
memberof: v.longname
|
memberof: v.longname
|
||||||
@@ -291,7 +278,18 @@ function buildNav(members) {
|
|||||||
events: events
|
events: events
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
nav.sort(function(a, b) {
|
||||||
|
const prettyNameA = a.prettyname.toLowerCase();
|
||||||
|
const prettyNameB = b.prettyname.toLowerCase();
|
||||||
|
if (prettyNameA > prettyNameB) {
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
if (prettyNameA < prettyNameB) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
});
|
});
|
||||||
return nav;
|
return nav;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user