Skip to content
This repository was archived by the owner on Dec 18, 2024. It is now read-only.

Commit 0661753

Browse files
mmalerbajelbourn
authored andcommitted
Refactor component sidenav into standalone component (#44)
1 parent e98aa8d commit 0661753

File tree

11 files changed

+64
-40
lines changed

11 files changed

+64
-40
lines changed

src/_app-theme.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@import '~@angular/material/core/theming/theming';
22
@import './app/pages/homepage/homepage-theme';
3-
@import './app/pages/component-viewer/component-viewer-sidenav-theme';
3+
@import './app/pages/component-sidenav/component-sidenav-theme';
44
@import './app/pages/component-viewer/component-viewer-theme';
55
@import './app/shared/navbar/navbar-theme';
66
@import './app/shared/example-viewer/example-viewer-theme';

src/app/app-module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@ import {ComponentViewer} from './pages/component-viewer/component-viewer';
1212
import {ExampleModule} from './examples/example-module';
1313
import {SharedModule} from './shared/shared-module';
1414
import {ComponentCategoryList} from './pages/component-category-list/component-category-list';
15+
import {ComponentSidenav} from './pages/component-sidenav/component-sidenav';
1516

1617

1718
@NgModule({
1819
declarations: [
1920
MaterialDocsApp,
2021
ComponentCategoryList,
2122
ComponentList,
23+
ComponentSidenav,
2224
ComponentViewer,
2325
Homepage,
2426
],

src/app/pages/component-category-list/component-category-list.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<md-card
22
*ngFor="let category of docItems.getItemsInCategories()"
33
class="docs-component-category-list-category"
4-
routerLink="/components/{{category.id}}">
4+
[routerLink]="['/components/category/', category.id]">
55
<md-card-title>{{category.name}}</md-card-title>
66
<p>{{category.summary}}</p>
77
<img md-card-image src="../../../assets/img/component-categories/{{category.id}}.svg">

src/app/pages/component-list/component-list.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<h2>{{category.name}}</h2>
33
<a *ngFor="let component of category.items"
44
class="docs-component-list-item"
5-
[routerLink]="['/component/', component.id]">
5+
[routerLink]="['/components/component/', component.id]">
66
<img src="../../../assets/img/components/{{component.id}}.svg"
77
class="docs-component-list-item-icon"
88
[alt]="component.name">
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<md-sidenav-layout>
2+
<md-sidenav opened mode="side" class="docs-component-viewer-sidenav">
3+
<nav *ngFor="let category of docItems.getItemsInCategories()">
4+
<h3>{{category.name}}</h3>
5+
<ul>
6+
<li *ngFor="let component of category.items">
7+
<a [routerLink]="['/components/component/', component.id]"
8+
routerLinkActive="docs-component-viewer-sidenav-item-selected">
9+
{{component.name}}
10+
</a>
11+
</li>
12+
</ul>
13+
</nav>
14+
</md-sidenav>
15+
16+
<router-outlet></router-outlet>
17+
</md-sidenav-layout>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import {Component, ViewEncapsulation} from '@angular/core';
2+
import {ActivatedRoute} from '@angular/router';
3+
import {DocumentationItems, DocItem} from '../../shared/documentation-items/documentation-items';
4+
5+
6+
@Component({
7+
selector: 'app-component-sidenav',
8+
templateUrl: './component-sidenav.html',
9+
styleUrls: ['./component-sidenav.scss'],
10+
encapsulation: ViewEncapsulation.None,
11+
})
12+
export class ComponentSidenav {
13+
constructor(public docItems: DocumentationItems) {}
14+
}
Lines changed: 17 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,22 @@
1-
<md-sidenav-layout>
2-
<md-sidenav opened mode="side" class="docs-component-viewer-sidenav">
3-
<nav *ngFor="let category of docItems.getItemsInCategories()">
4-
<h3>{{category.name}}</h3>
5-
<ul>
6-
<li *ngFor="let component of category.items">
7-
<a [routerLink]="['/component/', component.id]"
8-
routerLinkActive="docs-component-viewer-sidenav-item-selected">
9-
{{component.name}}
10-
</a>
11-
</li>
12-
</ul>
13-
</nav>
14-
</md-sidenav>
1+
<div class="docs-component-viewer-header">
2+
<h1> Component - {{componentDocItem.name}} </h1>
3+
</div>
154

16-
<div class="docs-component-viewer-header">
17-
<h1> Component - {{componentDocItem.name}} </h1>
18-
</div>
5+
<!-- TODO(jelbourn): turn this into nav tabs -->
6+
<md-tab-group class="docs-component-viewer-tabbed-content">
7+
<md-tab label="OVERVIEW">
8+
<doc-viewer documentUrl="/assets/documents/overview/{{componentDocItem.id}}.html" class="docs-component-view-text-content">
9+
</doc-viewer>
10+
</md-tab>
1911

20-
<!-- TODO(jelbourn): turn this into nav tabs -->
21-
<md-tab-group class="docs-component-viewer-tabbed-content">
22-
<md-tab label="OVERVIEW">
23-
<doc-viewer documentUrl="/assets/documents/overview/{{componentDocItem.id}}.html" class="docs-component-view-text-content">
24-
</doc-viewer>
25-
</md-tab>
12+
<md-tab label="API REFERENCE">
13+
<doc-viewer documentUrl="/assets/documents/api/{{componentDocItem.id}}.html" class="docs-component-view-text-content"></doc-viewer>
14+
</md-tab>
2615

27-
<md-tab label="API REFERENCE">
28-
<doc-viewer documentUrl="/assets/documents/api/{{componentDocItem.id}}.html" class="docs-component-view-text-content"></doc-viewer>
29-
</md-tab>
16+
<md-tab label="EXAMPLES">
3017

31-
<md-tab label="EXAMPLES">
18+
<example-viewer *ngFor="let example of componentDocItem.examples" [example]="example">
19+
</example-viewer>
3220

33-
<example-viewer *ngFor="let example of componentDocItem.examples" [example]="example">
34-
</example-viewer>
35-
36-
</md-tab>
37-
</md-tab-group>
38-
</md-sidenav-layout>
21+
</md-tab>
22+
</md-tab-group>

src/app/pages/component-viewer/component-viewer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {DocumentationItems, DocItem} from '../../shared/documentation-items/docu
66
@Component({
77
selector: 'app-component-viewer',
88
templateUrl: './component-viewer.html',
9-
styleUrls: ['./component-viewer.scss', './component-viewer-sidenav.scss'],
9+
styleUrls: ['./component-viewer.scss'],
1010
encapsulation: ViewEncapsulation.None,
1111
})
1212
export class ComponentViewer {

0 commit comments

Comments
 (0)