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

Commit 578082a

Browse files
committed
Add routing to component-viewer
1 parent b718ead commit 578082a

File tree

6 files changed

+45
-35
lines changed

6 files changed

+45
-35
lines changed

src/app/app-module.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,14 @@ import {routing} from './routes';
1111
import {ComponentList} from './pages/component-list/component-list';
1212
import {DocViewerModule} from './shared/doc-viewer/index';
1313
import {ExampleViewerModule} from './shared/example-viewer/index';
14+
import {ComponentViewer} from './pages/component-viewer/component-viewer';
1415

1516

1617
@NgModule({
1718
declarations: [
1819
MaterialDocsApp,
1920
ComponentList,
20-
Homepage,
21-
NavBar,
22-
],
23-
exports: [
24-
MaterialDocsApp,
25-
ComponentList,
21+
ComponentViewer,
2622
Homepage,
2723
NavBar,
2824
],

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
<div *ngFor="let component of componentItems" class="docs-component-list-item">
1+
<a *ngFor="let component of componentItems"
2+
class="docs-component-list-item"
3+
[routerLink]="['/component/', component.name]">
24
<img src="../../../assets/img/components/{{component.src}}.svg"
35
class="docs-component-list-item-icon"
46
[alt]="component.name">
57
{{component.name}}
6-
</div>
8+
</a>
9+
710

811

912

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

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,30 @@ import {Component} from '@angular/core';
77
})
88
export class ComponentList {
99
componentItems = [
10-
{name: 'Button', src: 'button'},
11-
{name: 'Checkbox', src: 'checkbox'},
12-
{name: 'Radio button', src: 'radio'},
13-
{name: 'Button toggle', src: 'button-toggle'},
14-
{name: 'Input', src: 'input'},
15-
{name: 'Textarea', src: 'textarea'},
16-
{name: 'Select', src: 'select'},
17-
{name: 'Slide toggle', src: 'slide-toggle'},
18-
{name: 'Slider', src: 'slider'},
10+
{id: 'button', name: 'Button', src: 'button'},
11+
{id: 'checkbox', name: 'Checkbox', src: 'checkbox'},
12+
{id: 'radio-button', name: 'Radio button', src: 'radio'},
13+
{id: 'button-toggle', name: 'Button toggle', src: 'button-toggle'},
14+
{id: 'input', name: 'Input', src: 'input'},
15+
{id: 'textarea', name: 'Textarea', src: 'textarea'},
16+
{id: 'select', name: 'Select', src: 'select'},
17+
{id: 'slide-toggle', name: 'Slide toggle', src: 'slide-toggle'},
18+
{id: 'slider', name: 'Slider', src: 'slider'},
1919

20-
{name: 'Card', src: 'card'},
21-
{name: 'List', src: 'list'},
22-
{name: 'Grid list', src: 'grid-list'},
23-
{name: 'Sidenav', src: 'sidenav'},
24-
{name: 'Toolbar', src: 'toolbar'},
20+
{id: 'card', name: 'Card', src: 'card'},
21+
{id: 'list', name: 'List', src: 'list'},
22+
{id: 'grid-list', name: 'Grid list', src: 'grid-list'},
23+
{id: 'sidenav', name: 'Sidenav', src: 'sidenav'},
24+
{id: 'toolbar', name: 'Toolbar', src: 'toolbar'},
2525

26-
{name: 'Menu', src: 'menu'},
27-
{name: 'Dialog', src: 'dialog'},
28-
{name: 'Snackbar', src: 'snackbar'},
29-
{name: 'Tooltip', src: 'tooltip'},
26+
{id: 'menu', name: 'Menu', src: 'menu'},
27+
{id: 'dialog', name: 'Dialog', src: 'dialog'},
28+
{id: 'snackbar', name: 'Snackbar', src: 'snackbar'},
29+
{id: 'tooltip', name: 'Tooltip', src: 'tooltip'},
3030

31-
{name: 'Progress Spinner', src: 'progress-spinner'},
32-
{name: 'Progress Bar', src: 'progress-bar'},
31+
{id: 'progress-spinner', name: 'Progress spinner', src: 'progress-spinner'},
32+
{id: 'progress-bar', name: 'Progress bar', src: 'progress-bar'},
3333

34-
{name: 'Icon', src: 'icon'},
34+
{id: 'icon', name: 'Icon', src: 'icon'},
3535
];
3636
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{{componentId}}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
import {Component} from '@angular/core';
2+
import {ActivatedRoute} from '@angular/router';
23

34
@Component({
45
selector: 'app-components',
56
templateUrl: './component-viewer.html',
67
styleUrls: ['./component-viewer.scss']
78
})
89
export class ComponentViewer {
10+
componentId: string;
11+
12+
constructor(private _route: ActivatedRoute) {
13+
_route.params.first().subscribe(p => {
14+
this.componentId = p['id'];
15+
});
16+
}
917
}

src/app/routes.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
import { ModuleWithProviders } from '@angular/core';
2-
import { Homepage } from './pages/homepage';
3-
import { ComponentList } from './pages/component-list';
4-
import { Routes, RouterModule } from '@angular/router';
1+
import {ModuleWithProviders} from '@angular/core';
2+
import {Homepage} from './pages/homepage';
3+
import {ComponentList} from './pages/component-list';
4+
import {Routes, RouterModule} from '@angular/router';
5+
import {ComponentViewer} from './pages/component-viewer/component-viewer';
56

67
const MATERIAL_DOCS_ROUTES: Routes = [
7-
{ path: '', component: Homepage, pathMatch: 'full' },
8-
{ path: 'components', component: ComponentList },
8+
{path: '', component: Homepage, pathMatch: 'full'},
9+
{path: 'components', component: ComponentList},
10+
{path: 'component/:id', component: ComponentViewer},
911
];
1012

1113
export const routing: ModuleWithProviders = RouterModule.forRoot(MATERIAL_DOCS_ROUTES);

0 commit comments

Comments
 (0)