From 0d48efb57b89785239a1ccb733662b9fd9b49724 Mon Sep 17 00:00:00 2001 From: Christopher Garrett Date: Fri, 4 May 2018 18:33:24 -0700 Subject: [PATCH] [cleanup] Simplify the API doc navigation * Simplifies the API doc navigation. It now only shows the modules themselves, and none of their items (that is left to the API docs page). * Brings back nested subnavigation menus * Adds the `break-on` helper which allows us to specify when a string should break by inserting zero-width spaces --- addon/components/docs-hero/template.hbs | 30 +++++++------- .../docs-viewer/x-nav-item/component.js | 4 +- .../docs-viewer/x-nav-list/component.js | 13 ++++--- .../docs-viewer/x-nav-list/template.hbs | 5 --- .../components/docs-viewer/x-nav/template.hbs | 34 ++++------------ .../docs-viewer/x-page-index/template.hbs | 2 +- .../docs-viewer/x-section/component.js | 16 +++++--- .../docs-viewer/x-section/template.hbs | 7 ---- addon/helpers/break-on.js | 13 +++++++ lib/broccoli/docs-compiler.js | 39 +++++++------------ package.json | 4 +- .../acceptance/sandbox/api/components-test.js | 12 +++--- 12 files changed, 77 insertions(+), 102 deletions(-) delete mode 100644 addon/components/docs-viewer/x-nav-list/template.hbs delete mode 100644 addon/components/docs-viewer/x-section/template.hbs create mode 100644 addon/helpers/break-on.js diff --git a/addon/components/docs-hero/template.hbs b/addon/components/docs-hero/template.hbs index 1c0a691c8..a5c804613 100644 --- a/addon/components/docs-hero/template.hbs +++ b/addon/components/docs-hero/template.hbs @@ -3,23 +3,21 @@ {{if (eq style 'light') 'text-grey-darkest'}} {{if (eq style 'dark') 'bg-black text-white'}} "> -
-

- {{#if logo}} -
- - {{docs-logo logo=logo}} - -
- {{/if}} +

+ {{#if logo}} +
+ + {{docs-logo logo=logo}} + +
+ {{/if}} - {{slimHeading}}{{strongHeading}} -

+ {{slimHeading}}{{strongHeading}} + -

- {{byline}} -

+

+ {{byline}} +

- {{yield}} -
+ {{yield}} diff --git a/addon/components/docs-viewer/x-nav-item/component.js b/addon/components/docs-viewer/x-nav-item/component.js index 65d928b55..10427a7b3 100644 --- a/addon/components/docs-viewer/x-nav-item/component.js +++ b/addon/components/docs-viewer/x-nav-item/component.js @@ -1,8 +1,9 @@ import { inject as service } from '@ember/service'; import Component from '@ember/component'; -import layout from './template'; import { next } from '@ember/runloop'; +import layout from './template'; + export default Component.extend({ layout, tagName: '', @@ -21,7 +22,6 @@ export default Component.extend({ this.get('docsRoutes.items').addObject(this); }); } - }).reopenClass({ positionalParams: ['label', 'route', 'model'] diff --git a/addon/components/docs-viewer/x-nav-list/component.js b/addon/components/docs-viewer/x-nav-list/component.js index bd0276f96..f453371a0 100644 --- a/addon/components/docs-viewer/x-nav-list/component.js +++ b/addon/components/docs-viewer/x-nav-list/component.js @@ -1,11 +1,14 @@ import Component from '@ember/component'; -import layout from './template'; +import hbs from 'htmlbars-inline-precompile' export default Component.extend({ - layout, + tagName: 'ul', - tagName: '' - - // classNames: 'docs-viewer__nav-list' + classNames: ['list-reset'], + layout: hbs` + {{yield (hash + item=(component 'docs-viewer/x-nav-item') + )}} + ` }); diff --git a/addon/components/docs-viewer/x-nav-list/template.hbs b/addon/components/docs-viewer/x-nav-list/template.hbs deleted file mode 100644 index 7da86ea18..000000000 --- a/addon/components/docs-viewer/x-nav-list/template.hbs +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/addon/components/docs-viewer/x-nav/template.hbs b/addon/components/docs-viewer/x-nav/template.hbs index 81c8d46f9..f56457b3d 100644 --- a/addon/components/docs-viewer/x-nav/template.hbs +++ b/addon/components/docs-viewer/x-nav/template.hbs @@ -31,40 +31,20 @@ {{yield (hash section=(component 'docs-viewer/x-section') item=(component 'docs-viewer/x-nav-item') - subnav=(component 'docs-viewer/x-nav-list') + subnav=(component 'docs-viewer/x-nav-list' class='ml-4') )}} {{!-- Autogenerated API docs --}} {{#if (gt project.modules.length 0)}} {{docs-viewer/x-section 'API Reference' style='large'}} - {{#docs-viewer/x-nav-list as |subnav|}} - {{#each-in project.navigationIndex as |type items|}} - {{docs-viewer/x-section type}} + {{#each-in project.navigationIndex as |type items|}} + {{docs-viewer/x-section type}} - {{#docs-viewer/x-nav-list as |subnav|}} - {{#if (is-array items)}} - {{#each items as |item|}} - {{subnav.item item.name (concat root '.api.item') item.path}} - {{/each}} - {{else}} - {{#each-in items as |module items|}} - {{subnav.item module - (concat root '.api.item') - (concat 'modules/' module) - class="docs-viewer__module-heading" - }} - - {{#docs-viewer/x-nav-list as |subnav|}} - {{#each items as |item|}} - {{subnav.item item.name (concat root '.api.item') item.path}} - {{/each}} - {{/docs-viewer/x-nav-list}} - {{/each-in}} - {{/if}} - {{/docs-viewer/x-nav-list}} - {{/each-in}} - {{/docs-viewer/x-nav-list}} + {{#each items as |item|}} + {{docs-viewer/x-nav-item (break-on item.name '/') (concat root '.api.item') item.path}} + {{/each}} + {{/each-in}} {{/if}} {{/docs-viewer/x-nav-list}} diff --git a/addon/components/docs-viewer/x-page-index/template.hbs b/addon/components/docs-viewer/x-page-index/template.hbs index 469f4e672..bafa24c1a 100644 --- a/addon/components/docs-viewer/x-page-index/template.hbs +++ b/addon/components/docs-viewer/x-page-index/template.hbs @@ -1,5 +1,5 @@