Tidy up navigation

This commit is contained in:
Andreas Hocevar
2019-10-23 13:26:47 +02:00
parent 3cb0aae796
commit 4fe16d0281
2 changed files with 31 additions and 24 deletions

View File

@@ -222,9 +222,8 @@ function buildNav(members) {
type: 'class', type: 'class',
longname: v.longname, longname: v.longname,
prettyname: v.longname prettyname: v.longname
.substring(0, v.longname.indexOf('~')) .split('~')[0]
.replace('module:', '') .replace('module:', ''),
.replace('ol/', ''),
name: v.name, name: v.name,
module: find({ module: find({
kind: 'module', kind: 'module',
@@ -253,33 +252,36 @@ function buildNav(members) {
kind: 'class', kind: 'class',
memberof: v.longname memberof: v.longname
}); });
// only add modules without classes const members = find({
if (classes.length === 0) { kind: 'member',
memberof: v.longname
});
const methods = find({
kind: 'function',
memberof: v.longname
});
const typedefs = find({
kind: 'typedef',
memberof: v.longname
});
const events = find({
kind: 'event',
memberof: v.longname
});
// only add modules that have more to show than just a single class
if (classes.length !== 1 && (classes.length + members.length + methods.length + typedefs.length + events.length > 0)) {
nav.push({ nav.push({
type: 'module', type: 'module',
longname: v.longname, longname: v.longname,
prettyname: v.longname prettyname: v.longname
.substring(0, v.longname.indexOf('~')) .split('~')[0]
.replace('module:', '') .replace('module:', ''),
.replace('ol/', ''),
name: v.name, name: v.name,
members: find({ members: members,
kind: 'member', methods: methods,
memberof: v.longname typedefs: typedefs,
}),
methods: find({
kind: 'function',
memberof: v.longname
}),
typedefs: find({
kind: 'typedef',
memberof: v.longname
}),
fires: v.fires, fires: v.fires,
events: find({ events: events
kind: 'event',
memberof: v.longname
})
}); });
} }
} }

View File

@@ -14,6 +14,11 @@ function toShortName(name) {
?> ?>
<li class="item" data-name="<?js= item.longname ?>" data-shortname="<?js= item.name.toLowerCase() ?>"> <li class="item" data-name="<?js= item.longname ?>" data-shortname="<?js= item.name.toLowerCase() ?>">
<span class="title"> <span class="title">
<?js if (item.type === 'module') { ?>
<span class="glyphicon glyphicon-plus"></span>
<?js } else if (item.type === 'class') { ?>
<span class="glyphicon glyphicon-chevron-right"></span>
<?js } ?>
<?js= self.linkto(item.longname, item.prettyname) ?> <?js= self.linkto(item.longname, item.prettyname) ?>
<?js if (item.type === 'namespace' && <?js if (item.type === 'namespace' &&
(item.members.length + item.typedefs.length + item.methods.length + (item.members.length + item.typedefs.length + item.methods.length +