Skip to content

Commit

Permalink
fix: nav works for addons with no modules (#357)
Browse files Browse the repository at this point in the history
  • Loading branch information
samselikoff authored Apr 12, 2019
1 parent 5b2ed21 commit 8bceb98
Show file tree
Hide file tree
Showing 7 changed files with 57 additions and 19 deletions.
38 changes: 21 additions & 17 deletions addon/components/docs-viewer/x-autogenerated-api-docs/component.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,30 +58,33 @@ export default Component.extend({
```
*/
moduleIndex: computed(function() {
let modules = this.get('sections').filter(section => section.type === 'modules')[0].items;
let modulesSection = this.get('sections').filter(section => section.type === 'modules')[0];

if (modulesSection) {
let modules = modulesSection.items;

/*
/*
Intermediate data structure:
```
{
'@ember-cli-addon-docs': {
'keyboard-config': {},
'router': {},
'utils': {
'compile-markdown': {}
}
}
'@ember-cli-addon-docs': {
'keyboard-config': {},
'router': {},
'utils': {
'compile-markdown': {}
}
}
};
```
*/
let index = {};
modules.forEach(module => {
let parts = module.id.split('/');
_set(index, parts, {});
});
*/
let index = {};
modules.forEach(module => {
let parts = module.id.split('/');
_set(index, parts, {});
});

let transform = (obj, id) => Object.keys(obj)
let transform = (obj, id) => Object.keys(obj)
.map(key => {
let node = {
name: key
Expand All @@ -96,7 +99,8 @@ export default Component.extend({
return node;
});

return transform(index)[0];
return transform(index)[0];
}
})

});
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@
{{/each}}
{{/each}}

{{docs-viewer/x-section 'Modules'}}
{{#if this.moduleIndex}}
{{docs-viewer/x-section 'Modules'}}

{{docs-viewer/x-autogenerated-api-docs/module-nav node=this.moduleIndex root=root}}
{{docs-viewer/x-autogenerated-api-docs/module-nav node=this.moduleIndex root=root}}
{{/if}}

{{/if}}
12 changes: 12 additions & 0 deletions test-apps/new-addon/addon/components/some-component.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import Component from '@ember/component';

/**
An autodocumented component.
@class SomeComponent
@public
*/
export default Component.extend({


});
1 change: 1 addition & 0 deletions test-apps/new-addon/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
},
"devDependencies": {
"ember-cli-addon-docs": "*",
"ember-cli-addon-docs-yuidoc": "*",
"broccoli-asset-rev": "*",
"ember-cli": "*",
"ember-cli-dependency-checker": "*",
Expand Down
6 changes: 6 additions & 0 deletions test-apps/new-addon/tests/acceptance/sanity-checks-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,10 @@ module('Acceptance | sanity checks test', function(hooks) {
backgroundColor: 'rgb(40, 44, 52)'
});
});

test('the docs route & viewer render', async function(assert) {
await visit('/docs');

assert.dom().includesText('Overview');
});
});
10 changes: 10 additions & 0 deletions test-apps/new-addon/tests/dummy/app/templates/docs.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{{#docs-viewer as |viewer|}}
{{#viewer.nav as |nav|}}
{{nav.section 'Introduction'}}
{{nav.item 'Overview' 'docs.index'}}
{{/viewer.nav}}

{{#viewer.main}}
{{outlet}}
{{/viewer.main}}
{{/docs-viewer}}
3 changes: 3 additions & 0 deletions test-apps/new-addon/tests/dummy/app/templates/docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Overview

Hello, world.

0 comments on commit 8bceb98

Please sign in to comment.