diff options
| author | Peter Bacon Darwin | 2014-02-15 16:05:45 +0000 | 
|---|---|---|
| committer | Peter Bacon Darwin | 2014-02-16 19:03:44 +0000 | 
| commit | 6fcf544528da04ba2b081ae9f1cbb723600bcac6 (patch) | |
| tree | a28de10bb384f5e3bb540e2421645a1abdd44f9f /docs/config | |
| parent | 4ee35287f0f405bff03d766539f8dfea28ae38c7 (diff) | |
| download | angular.js-6fcf544528da04ba2b081ae9f1cbb723600bcac6.tar.bz2 | |
chore(doc-gen): fix navGroup hrefs
Diffstat (limited to 'docs/config')
| -rw-r--r-- | docs/config/processors/pages-data.js | 46 | 
1 files changed, 27 insertions, 19 deletions
| diff --git a/docs/config/processors/pages-data.js b/docs/config/processors/pages-data.js index a7930fd0..35ed242f 100644 --- a/docs/config/processors/pages-data.js +++ b/docs/config/processors/pages-data.js @@ -10,23 +10,31 @@ var AREA_NAMES = {    error: 'Error Reference'  }; -function getNavGroup(navGroupPages, groupName, pageSorter, pageMapper) { +function getNavGroup(pages, area, pageSorter, pageMapper) { -  var navItems = _(navGroupPages) +  var navItems = _(pages) +    // We don't want the child to include the index page as this is already catered for +    .omit(function(page) { return page.id === 'index'; }) +  +    // Apply the supplied sorting function      .sortBy(pageSorter) +  +    // Apply the supplied mapping function      .map(pageMapper) +       .value();    return { -    name: groupName, +    name: area.name,      type: 'group', +    href: area.id,      navItems: navItems    };  }  var navGroupMappers = { -  api: function(areaPages, areaName) { +  api: function(areaPages, area) {      var navGroups = _(areaPages)        .filter('module') // We are not interested in docs that are not in a module @@ -80,8 +88,8 @@ var navGroupMappers = {        .value();      return navGroups;    }, -  tutorial: function(pages, areaName) { -    return [getNavGroup(pages, areaName, 'step', function(page) { +  tutorial: function(pages, area) { +    return [getNavGroup(pages, area, 'step', function(page) {        return {          name: page.name,          step: page.step, @@ -90,8 +98,8 @@ var navGroupMappers = {        };      })];    }, -  error: function(pages, areaName) { -    return [getNavGroup(pages, areaName, 'path', function(page) { +  error: function(pages, area) { +    return [getNavGroup(pages, area, 'path', function(page) {        return {          name: page.name,          href: page.path, @@ -99,8 +107,8 @@ var navGroupMappers = {        };      })];    }, -  pages: function(pages, areaName) { -    return [getNavGroup(pages, areaName, 'path', function(page) { +  pages: function(pages, area) { +    return [getNavGroup(pages, area, 'path', function(page) {        return {          name: page.name,          href: page.path, @@ -134,7 +142,7 @@ module.exports = {      // We are only interested in docs that are in a area and not landing pages      var navPages = _.filter(docs, function(page) { -      return page.area && page.docType != 'landingPage'; +      return page.area && page.docType != 'componentGroup';      });      // Generate an object collection of pages that is grouped by area e.g. @@ -157,15 +165,15 @@ module.exports = {      var areas = {};      _(navPages)        .groupBy('area') -      .forEach(function(pages, areaName) { -        var navGroupMapper = navGroupMappers[areaName] || navGroupMappers['pages']; -        var areaTitle = AREA_NAMES[areaName]; - -        areas[areaName] = { -          id: areaName, -          name: areaTitle, -          navGroups: navGroupMapper(pages, areaTitle) +      .forEach(function(pages, areaId) { +        var area = { +          id: areaId, +          name: AREA_NAMES[areaId]          }; +        areas[areaId] = area; + +        var navGroupMapper = navGroupMappers[area.id] || navGroupMappers['pages']; +        area.navGroups = navGroupMapper(pages, area);        });      _.forEach(docs, function(doc) { | 
