Skip to content

Commit d7d7846

Browse files
committed
show type names in navigation panel
1 parent 1c2ac56 commit d7d7846

File tree

4 files changed

+91
-72
lines changed

4 files changed

+91
-72
lines changed

Gruntfile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ module.exports = function (grunt) {
108108
'grunt-contrib-copy',
109109
'grunt-contrib-clean',
110110
'grunt-contrib-less',
111-
'grunt-jsdoc',
111+
'grunt-jsdoc'
112112
].forEach(function (taskName) {
113113
grunt.loadNpmTasks(taskName);
114114
});

less/navigation.less

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@
2929
}
3030
}
3131

32+
.typeHeading {
33+
font: 600 1.1em Helvetica;
34+
color: #f5f5f5;
35+
border-bottom: 1px solid #333;
36+
}
37+
3238
.search {
3339
padding: 10px 15px;
3440

publish.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -200,18 +200,19 @@ function attachModuleSymbols(doclets, modules) {
200200
* @return {string} The HTML for the navigation sidebar.
201201
*/
202202
function buildNav(members) {
203-
var nav = [];
203+
var nav = {};
204204

205205
if (members.namespaces.length) {
206+
var namespaces = [];
207+
206208
_.each(members.namespaces, function (v) {
207-
nav.push({
209+
namespaces.push({
208210
type: 'namespace',
209211
longname: v.longname,
210212
name: v.name,
211213
displayName: v.name.replace(/\b(module|event):/g, ''),
212214

213215
url: helper.longnameToUrl[v.longname] || v.longname,
214-
215216
members: find({
216217
kind: 'member',
217218
memberof: v.longname
@@ -230,11 +231,14 @@ function buildNav(members) {
230231
})
231232
});
232233
});
234+
nav.Namespaces = namespaces;
233235
}
234236

235237
if (members.classes.length) {
238+
var classes = [];
239+
236240
_.each(members.classes, function (v) {
237-
nav.push({
241+
classes.push({
238242
type: 'class',
239243
longname: v.longname,
240244
name: v.name,
@@ -260,11 +264,14 @@ function buildNav(members) {
260264
})
261265
});
262266
});
267+
nav.Classes = classes;
263268
}
264269

265270
if (members.modules.length) {
271+
var modules = [];
272+
266273
_.each(members.modules, function(v) {
267-
nav.push({
274+
modules.push({
268275
type: 'module',
269276
longname: v.longname,
270277
name: v.name,
@@ -290,6 +297,7 @@ function buildNav(members) {
290297
})
291298
});
292299
});
300+
nav.Modules = modules;
293301
}
294302

295303
return nav;

tmpl/navigation.tmpl

Lines changed: 71 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -9,73 +9,78 @@ var self = this;
99
</div>
1010
<ul class="list">
1111
<?js
12-
this.nav.forEach(function (item) {
12+
Object.keys(this.nav).forEach(function(key) {
1313
?>
14-
<li class="item" data-name="<?js= item.url || item.longname ?>">
15-
<span class="title">
16-
<?js= self.linkto(item.longname, item.displayName) ?>
17-
<?js if (item.type === 'namespace') { ?>
18-
<span class="static">static</span>
19-
<?js } ?>
20-
</span>
21-
<ul class="members itemMembers">
22-
<?js
23-
if (item.members.length) {
24-
?>
25-
<span class="subtitle">Members</span>
26-
<?js
27-
item.members.forEach(function (v) {
28-
?>
29-
<li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, v.name) ?></li>
30-
<?js
31-
});
32-
}
33-
?>
34-
</ul>
35-
<ul class="typedefs itemMembers">
36-
<?js
37-
if (item.typedefs.length) {
38-
?>
39-
<span class="subtitle">Typedefs</span>
40-
<?js
41-
item.typedefs.forEach(function (v) {
42-
?>
43-
<li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, v.name) ?></li>
44-
<?js
45-
});
46-
}
47-
?>
48-
</ul>
49-
<ul class="methods itemMembers">
50-
<?js
51-
if (item.methods.length) {
52-
?>
53-
<span class="subtitle">Methods</span>
54-
<?js
14+
<h3 class="typeHeading"><?js= key ?></h3>
15+
<?js
16+
this.nav[key].forEach(function (item) {
17+
?>
18+
<li class="item" data-name="<?js= item.url || item.longname ?>">
19+
<span class="title">
20+
<?js= self.linkto(item.longname, item.displayName) ?>
21+
<?js if (item.type === 'namespace') { ?>
22+
<span class="static">static</span>
23+
<?js } ?>
24+
</span>
25+
<ul class="members itemMembers">
26+
<?js
27+
if (item.members.length) {
28+
?>
29+
<span class="subtitle">Members</span>
30+
<?js
31+
item.members.forEach(function (v) {
32+
?>
33+
<li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, v.name) ?></li>
34+
<?js
35+
});
36+
}
37+
?>
38+
</ul>
39+
<ul class="typedefs itemMembers">
40+
<?js
41+
if (item.typedefs.length) {
42+
?>
43+
<span class="subtitle">Typedefs</span>
44+
<?js
45+
item.typedefs.forEach(function (v) {
46+
?>
47+
<li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, v.name) ?></li>
48+
<?js
49+
});
50+
}
51+
?>
52+
</ul>
53+
<ul class="methods itemMembers">
54+
<?js
55+
if (item.methods.length) {
56+
?>
57+
<span class="subtitle">Methods</span>
58+
<?js
5559

56-
item.methods.forEach(function (v) {
57-
?>
58-
<li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, v.name) ?></li>
59-
<?js
60-
});
61-
}
62-
?>
63-
</ul>
64-
<ul class="events itemMembers">
65-
<?js
66-
if (item.events.length) {
67-
?>
68-
<span class="subtitle">Events</span>
69-
<?js
70-
item.events.forEach(function (v) {
71-
?>
72-
<li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, v.name) ?></li>
73-
<?js
74-
});
75-
}
76-
?>
77-
</ul>
78-
</li>
79-
<?js }); ?>
60+
item.methods.forEach(function (v) {
61+
?>
62+
<li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, v.name) ?></li>
63+
<?js
64+
});
65+
}
66+
?>
67+
</ul>
68+
<ul class="events itemMembers">
69+
<?js
70+
if (item.events.length) {
71+
?>
72+
<span class="subtitle">Events</span>
73+
<?js
74+
item.events.forEach(function (v) {
75+
?>
76+
<li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, v.name) ?></li>
77+
<?js
78+
});
79+
}
80+
?>
81+
</ul>
82+
</li>
83+
<?js }); ?>
84+
<?js }.bind(this)); ?>
8085
</ul>
8186
</div>

0 commit comments

Comments
 (0)