(members, title)
| 388 | } |
| 389 | |
| 390 | function buildGroupNav (members, title) { |
| 391 | var globalNav |
| 392 | var seenTutorials = {} |
| 393 | var nav = '' |
| 394 | var seen = {} |
| 395 | nav += '<div class="category">' |
| 396 | if (title) { |
| 397 | nav += '<h2>' + title + '</h2>' |
| 398 | } |
| 399 | nav += buildMemberNav(members.tutorials || [], 'Tutorials', seenTutorials, linktoTutorial) |
| 400 | nav += buildMemberNav(members.modules || [], 'Modules', {}, linkto) |
| 401 | nav += buildMemberNav(members.externals || [], 'Externals', seen, linktoExternal) |
| 402 | nav += buildMemberNav(members.namespaces || [], 'Namespaces', seen, linkto) |
| 403 | nav += buildMemberNav(members.classes || [], 'Classes', seen, linkto) |
| 404 | nav += buildMemberNav(members.interfaces || [], 'Interfaces', seen, linkto) |
| 405 | nav += buildMemberNav(members.events || [], 'Events', seen, linkto) |
| 406 | nav += buildMemberNav(members.mixins || [], 'Mixins', seen, linkto) |
| 407 | nav += buildMemberNav(members.components || [], 'Components', seen, linkto) |
| 408 | |
| 409 | if (members.globals && members.globals.length) { |
| 410 | globalNav = '' |
| 411 | |
| 412 | members.globals.forEach(function(g) { |
| 413 | if ( g.kind !== 'typedef' && !hasOwnProp.call(seen, g.longname) ) { |
| 414 | globalNav += '<li>' + linkto(g.longname, g.name) + '</li>' |
| 415 | } |
| 416 | seen[g.longname] = true |
| 417 | }) |
| 418 | |
| 419 | if (!globalNav) { |
| 420 | // turn the heading into a link so you can actually get to the global page |
| 421 | nav += '<h3>' + linkto('global', 'Global') + '</h3>' |
| 422 | } |
| 423 | else { |
| 424 | nav += '<h3>Global</h3><ul>' + globalNav + '</ul>' |
| 425 | } |
| 426 | } |
| 427 | nav += '</div>' |
| 428 | return nav |
| 429 | } |
| 430 | |
| 431 | /** |
| 432 | * Create the navigation sidebar. |
no test coverage detected
searching dependent graphs…