Skip to content

Commit 1b038c0

Browse files
committed
build: restructure demo-app in favor of bazel
Restructures the demo-app by no longer mixing up the `demo-app` name. Currently the `demo-app` consists of two parts: * The demo-app * And the accessibility demos As you can tell above, this is pretty much confusing because it's technically just consisting of: * Accessibility demos * Library demos This change cleans up the naming and makes sure that the modules are structured in a best-practice way. It's odd to have the `DemoAppModule` (*not the root module*) that includes all library demos as a folder next to the actual demo components. This makes it extremely hard to convert the demo-app to Bazel because we cannot target all `.ts` files through `glob` because it only matches files inside of the same folder (or Bazel package). In order to make it easy to run the demo-app with Bazel, and to just clean it up, the folder structure should be as followed: ``` src/demo-app/ | a11y-demos/ | ... | BUILD.bazel | library-demos/ | ... | BUILD.bazel | index.html | BUILD.bazel ```
1 parent ba31c72 commit 1b038c0

File tree

259 files changed

+428
-444
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

259 files changed

+428
-444
lines changed

.github/CODEOWNERS

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -96,56 +96,56 @@
9696

9797
# Demo app
9898
/src/demo-app/* @jelbourn
99-
/src/demo-app/a11y/** @jelbourn
100-
/src/demo-app/autocomplete/** @crisbeto
101-
/src/demo-app/badge/** @jelbourn
102-
/src/demo-app/baseline/** @mmalerba
103-
/src/demo-app/bottom-sheet/** @jelbourn @crisbeto
104-
/src/demo-app/button-toggle/** @jelbourn
105-
/src/demo-app/button/** @jelbourn
106-
/src/demo-app/card/** @jelbourn
107-
/src/demo-app/checkbox/** @jelbourn @devversion
108-
/src/demo-app/chips/** @jelbourn
109-
/src/demo-app/connected-overlay/** @jelbourn @crisbeto
110-
/src/demo-app/dataset/** @andrewseguin
111-
/src/demo-app/datepicker/** @mmalerba
112-
/src/demo-app/demo-app/** @jelbourn
113-
/src/demo-app/dialog/** @jelbourn @crisbeto
114-
/src/demo-app/drawer/** @mmalerba
115-
/src/demo-app/drag-drop/** @crisbeto
116-
/src/demo-app/example/** @andrewseguin
117-
/src/demo-app/examples-page/** @andrewseguin
118-
/src/demo-app/expansion/** @josephperrott
119-
/src/demo-app/focus-origin/** @mmalerba
120-
/src/demo-app/gestures/** @jelbourn
121-
/src/demo-app/grid-list/** @jelbourn
122-
/src/demo-app/icon/** @jelbourn
123-
/src/demo-app/input/** @mmalerba
124-
/src/demo-app/list/** @jelbourn @crisbeto @devversion
125-
/src/demo-app/live-announcer/** @jelbourn
126-
/src/demo-app/menu/** @crisbeto
127-
/src/demo-app/overlay/** @jelbourn @crisbeto
128-
/src/demo-app/paginator/** @andrewseguin
129-
/src/demo-app/platform/** @jelbourn @devversion
130-
/src/demo-app/portal/** @jelbourn
131-
/src/demo-app/progress-bar/** @jelbourn @crisbeto @josephperrott
132-
/src/demo-app/progress-spinner/** @jelbourn @crisbeto @josephperrott
133-
/src/demo-app/radio/** @jelbourn @devversion
134-
/src/demo-app/ripple/** @devversion
135-
/src/demo-app/screen-type/** @josephperrott
136-
/src/demo-app/select/** @crisbeto
137-
/src/demo-app/sidenav/** @mmalerba
138-
/src/demo-app/slide-toggle/** @devversion
139-
/src/demo-app/slider/** @mmalerba
140-
/src/demo-app/snack-bar/** @jelbourn @crisbeto @josephperrott
141-
/src/demo-app/stepper/** @mmalerba
142-
/src/demo-app/table/** @andrewseguin
143-
/src/demo-app/tabs/** @andrewseguin
144-
/src/demo-app/toolbar/** @devversion
145-
/src/demo-app/tooltip/** @andrewseguin
146-
/src/demo-app/tree/** @jelbourn
147-
/src/demo-app/typography/** @crisbeto
148-
/src/demo-app/virtual-scroll/** @mmalerba
99+
/src/demo-app/a11y-demos/** @jelbourn
100+
/src/demo-app/library-demos/* @jelbourn
101+
/src/demo-app/library-demos/autocomplete/** @crisbeto
102+
/src/demo-app/library-demos/badge/** @jelbourn
103+
/src/demo-app/library-demos/baseline/** @mmalerba
104+
/src/demo-app/library-demos/bottom-sheet/** @jelbourn @crisbeto
105+
/src/demo-app/library-demos/button-toggle/** @jelbourn
106+
/src/demo-app/library-demos/button/** @jelbourn
107+
/src/demo-app/library-demos/card/** @jelbourn
108+
/src/demo-app/library-demos/checkbox/** @jelbourn @devversion
109+
/src/demo-app/library-demos/chips/** @jelbourn
110+
/src/demo-app/library-demos/connected-overlay/** @jelbourn @crisbeto
111+
/src/demo-app/library-demos/dataset/** @andrewseguin
112+
/src/demo-app/library-demos/datepicker/** @mmalerba
113+
/src/demo-app/library-demos/dialog/** @jelbourn @crisbeto
114+
/src/demo-app/library-demos/drawer/** @mmalerba
115+
/src/demo-app/library-demos/drag-drop/** @crisbeto
116+
/src/demo-app/library-demos/example/** @andrewseguin
117+
/src/demo-app/library-demos/examples-page/** @andrewseguin
118+
/src/demo-app/library-demos/expansion/** @josephperrott
119+
/src/demo-app/library-demos/focus-origin/** @mmalerba
120+
/src/demo-app/library-demos/gestures/** @jelbourn
121+
/src/demo-app/library-demos/grid-list/** @jelbourn
122+
/src/demo-app/library-demos/icon/** @jelbourn
123+
/src/demo-app/library-demos/input/** @mmalerba
124+
/src/demo-app/library-demos/list/** @jelbourn @crisbeto @devversion
125+
/src/demo-app/library-demos/menu/** @crisbeto
126+
/src/demo-app/library-demos/live-announcer/** @jelbourn
127+
/src/demo-app/library-demos/overlay/** @jelbourn @crisbeto
128+
/src/demo-app/library-demos/paginator/** @andrewseguin
129+
/src/demo-app/library-demos/platform/** @jelbourn @devversion
130+
/src/demo-app/library-demos/portal/** @jelbourn
131+
/src/demo-app/library-demos/progress-bar/** @jelbourn @crisbeto @josephperrott
132+
/src/demo-app/library-demos/progress-spinner/** @jelbourn @crisbeto @josephperrott
133+
/src/demo-app/library-demos/radio/** @jelbourn @devversion
134+
/src/demo-app/library-demos/ripple/** @devversion
135+
/src/demo-app/library-demos/screen-type/** @josephperrott
136+
/src/demo-app/library-demos/select/** @crisbeto
137+
/src/demo-app/library-demos/sidenav/** @mmalerba
138+
/src/demo-app/library-demos/slide-toggle/** @devversion
139+
/src/demo-app/library-demos/slider/** @mmalerba
140+
/src/demo-app/library-demos/snack-bar/** @jelbourn @crisbeto @josephperrott
141+
/src/demo-app/library-demos/stepper/** @mmalerba
142+
/src/demo-app/library-demos/table/** @andrewseguin
143+
/src/demo-app/library-demos/tabs/** @andrewseguin
144+
/src/demo-app/library-demos/toolbar/** @devversion
145+
/src/demo-app/library-demos/tooltip/** @andrewseguin
146+
/src/demo-app/library-demos/tree/** @jelbourn
147+
/src/demo-app/library-demos/typography/** @crisbeto
148+
/src/demo-app/library-demos/virtual-scroll/** @mmalerba
149149

150150
# E2E app
151151
/e2e/* @jelbourn

src/demo-app/a11y/a11y-module.ts renamed to src/demo-app/a11y-demos/a11y-demo-module.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import {NgModule} from '@angular/core';
1111
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
1212
import {RouterModule} from '@angular/router';
1313
import {DemoMaterialModule} from '../demo-material-module';
14-
import {AccessibilityDemo, AccessibilityHome} from './a11y';
14+
import {AccessibilityDemoHome, AccessibilityDemoRoot} from './a11y-demo';
15+
import {ACCESSIBILITY_DEMO_ROUTES} from './a11y-demo-routes';
1516
import {AutocompleteAccessibilityDemo} from './autocomplete/autocomplete-a11y';
1617
import {ButtonToggleAccessibilityDemo} from './button-toggle/button-toggle-a11y';
1718
import {ButtonAccessibilityDemo} from './button/button-a11y';
@@ -36,7 +37,6 @@ import {MenuAccessibilityDemo} from './menu/menu-a11y';
3637
import {ProgressBarAccessibilityDemo} from './progress-bar/progress-bar-a11y';
3738
import {ProgressSpinnerAccessibilityDemo} from './progress-spinner/progress-spinner-a11y';
3839
import {RadioAccessibilityDemo} from './radio/radio-a11y';
39-
import {ACCESSIBILITY_DEMO_ROUTES} from './routes';
4040
import {SelectAccessibilityDemo} from './select/select-a11y';
4141
import {SidenavBasicAccessibilityDemo} from './sidenav/basic-sidenav-a11y';
4242
import {SidenavDualAccessibilityDemo} from './sidenav/dual-sidenav-a11y';
@@ -75,8 +75,8 @@ export class AccessibilityRoutingModule {}
7575
ReactiveFormsModule,
7676
],
7777
declarations: [
78-
AccessibilityDemo,
79-
AccessibilityHome,
78+
AccessibilityDemoHome,
79+
AccessibilityDemoRoot,
8080
AutocompleteAccessibilityDemo,
8181
ButtonAccessibilityDemo,
8282
ButtonToggleAccessibilityDemo,

src/demo-app/a11y/routes.ts renamed to src/demo-app/a11y-demos/a11y-demo-routes.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {DialogAccessibilityDemo} from './dialog/dialog-a11y';
1717
import {ExpansionPanelAccessibilityDemo} from './expansion/expansion-a11y';
1818
import {GridListAccessibilityDemo} from './grid-list/grid-list-a11y';
1919
import {RadioAccessibilityDemo} from './radio/radio-a11y';
20-
import {AccessibilityHome} from './a11y';
20+
import {AccessibilityDemoHome} from './a11y-demo';
2121
import {ToolbarAccessibilityDemo} from './toolbar/toolbar-a11y';
2222
import {DatepickerAccessibilityDemo} from './datepicker/datepicker-a11y';
2323
import {IconAccessibilityDemo} from './icon/icon-a11y';
@@ -40,7 +40,7 @@ import {SidenavDualAccessibilityDemo} from './sidenav/dual-sidenav-a11y';
4040
import {SidenavMobileAccessibilityDemo} from './sidenav/mobile-sidenav-a11y';
4141

4242
export const ACCESSIBILITY_DEMO_ROUTES: Routes = [
43-
{path: '', component: AccessibilityHome},
43+
{path: '', component: AccessibilityDemoHome},
4444
{path: 'autocomplete', component: AutocompleteAccessibilityDemo},
4545
{path: 'button', component: ButtonAccessibilityDemo},
4646
{path: 'button-toggle', component: ButtonToggleAccessibilityDemo},
File renamed without changes.
File renamed without changes.

src/demo-app/a11y/a11y.ts renamed to src/demo-app/a11y-demos/a11y-demo.ts

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,12 @@ import {Component, ElementRef, OnDestroy, ViewChild} from '@angular/core';
1010
import {NavigationEnd, Router} from '@angular/router';
1111
import {Subscription} from 'rxjs';
1212

13-
14-
@Component({
15-
moduleId: module.id,
16-
selector: 'accessibility-home',
17-
template: `<p>Welcome to the accessibility demos for Angular Material!</p>`,
18-
})
19-
export class AccessibilityHome {}
20-
2113
@Component({
2214
moduleId: module.id,
23-
selector: 'accessibility-demo',
24-
templateUrl: 'a11y.html',
25-
styleUrls: ['a11y.css'],
15+
templateUrl: 'a11y-demo.html',
16+
styleUrls: ['a11y-demo.css'],
2617
})
27-
export class AccessibilityDemo implements OnDestroy {
18+
export class AccessibilityDemoRoot implements OnDestroy {
2819
currentComponent = '';
2920

3021
fullscreen = false;
@@ -90,3 +81,10 @@ export class AccessibilityDemo implements OnDestroy {
9081
this._routerSubscription.unsubscribe();
9182
}
9283
}
84+
85+
@Component({
86+
moduleId: module.id,
87+
selector: 'accessibility-home',
88+
template: `<p>Welcome to the accessibility demos for Angular Material!</p>`,
89+
})
90+
export class AccessibilityDemoHome {}
Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,45 @@
1-
<section>
2-
<h2>Mouse over or tab to trigger a tooltip</h2>
3-
<p>Mouse over or focus the button to show and hide the tooltip</p>
4-
<button mat-raised-button matTooltip="This is an example of a tooltip">What is this?</button>
5-
</section>
6-
7-
8-
<section>
9-
<h2>Click to trigger a tooltip</h2>
10-
<button mat-raised-button (click)="tooltip.toggle(); $event.stopPropagation()">Toggle the tooltip</button>
11-
<button mat-raised-button matTooltip="This is a tooltip that shows on click" #tooltip="matTooltip">I have a tooltip</button>
12-
</section>
13-
14-
15-
<section>
16-
<h2>Different tooltip positions</h2>
17-
18-
<button
19-
mat-raised-button
20-
matTooltip="This tooltip appears below the trigger"
21-
matTooltipPosition="below">Below</button>
22-
23-
<button
24-
mat-raised-button
25-
matTooltip="This tooltip appears above the trigger"
26-
matTooltipPosition="above">Above</button>
27-
28-
<button
29-
mat-raised-button
30-
matTooltip="This tooltip appears to the left of the trigger"
31-
matTooltipPosition="left">Left</button>
32-
33-
<button
34-
mat-raised-button
35-
matTooltip="This tooltip appears to the right of the trigger"
36-
matTooltipPosition="right">Right</button>
37-
</section>
38-
39-
<section>
40-
<h2>Delayed tooltip</h2>
41-
<button
42-
mat-raised-button
43-
matTooltip="This tooltip will show up after a delay"
44-
[matTooltipShowDelay]="2000">What is this?</button>
45-
</section>
1+
<section>
2+
<h2>Mouse over or tab to trigger a tooltip</h2>
3+
<p>Mouse over or focus the button to show and hide the tooltip</p>
4+
<button mat-raised-button matTooltip="This is an example of a tooltip">What is this?</button>
5+
</section>
6+
7+
8+
<section>
9+
<h2>Click to trigger a tooltip</h2>
10+
<button mat-raised-button (click)="tooltip.toggle(); $event.stopPropagation()">Toggle the tooltip</button>
11+
<button mat-raised-button matTooltip="This is a tooltip that shows on click" #tooltip="matTooltip">I have a tooltip</button>
12+
</section>
13+
14+
15+
<section>
16+
<h2>Different tooltip positions</h2>
17+
18+
<button
19+
mat-raised-button
20+
matTooltip="This tooltip appears below the trigger"
21+
matTooltipPosition="below">Below</button>
22+
23+
<button
24+
mat-raised-button
25+
matTooltip="This tooltip appears above the trigger"
26+
matTooltipPosition="above">Above</button>
27+
28+
<button
29+
mat-raised-button
30+
matTooltip="This tooltip appears to the left of the trigger"
31+
matTooltipPosition="left">Left</button>
32+
33+
<button
34+
mat-raised-button
35+
matTooltip="This tooltip appears to the right of the trigger"
36+
matTooltipPosition="right">Right</button>
37+
</section>
38+
39+
<section>
40+
<h2>Delayed tooltip</h2>
41+
<button
42+
mat-raised-button
43+
matTooltip="This tooltip will show up after a delay"
44+
[matTooltipShowDelay]="2000">What is this?</button>
45+
</section>

src/demo-app/demo-app-module.ts

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,48 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88

9-
import {ApplicationRef, NgModule} from '@angular/core';
10-
import {BrowserModule} from '@angular/platform-browser';
119
import {HttpClientModule} from '@angular/common/http';
12-
import {RouterModule} from '@angular/router';
10+
import {Component, NgModule} from '@angular/core';
11+
import {BrowserModule} from '@angular/platform-browser';
1312
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
14-
import {ALL_ROUTES} from './demo-app/routes';
15-
import {EntryApp} from './demo-app/demo-app';
16-
import {DemoModule} from './demo-app/demo-module';
17-
import {AccessibilityDemoModule} from './a11y/a11y-module';
13+
import {RouterModule, Routes} from '@angular/router';
14+
import {AccessibilityDemoRoot} from './a11y-demos/a11y-demo';
15+
import {AccessibilityDemoModule} from './a11y-demos/a11y-demo-module';
16+
import {ACCESSIBILITY_DEMO_ROUTES} from './a11y-demos/a11y-demo-routes';
17+
import {LibraryDemoRoot} from './library-demos/library-demo';
18+
import {LibraryDemoModule} from './library-demos/library-demo-module';
19+
import {LIBRARY_DEMO_ROUTES} from './library-demos/library-demo-routes';
1820

21+
export const demoAppRoutes: Routes = [
22+
{path: '', component: LibraryDemoRoot, children: LIBRARY_DEMO_ROUTES},
23+
{path: 'accessibility', component: AccessibilityDemoRoot, children: ACCESSIBILITY_DEMO_ROUTES},
24+
];
25+
26+
/**
27+
* The entry app for demo site. Routes under `accessibility` will use
28+
* the accessibility demo components, while other demos will use library demo components.
29+
*/
30+
@Component({
31+
moduleId: module.id,
32+
selector: 'demo-app',
33+
template: '<router-outlet></router-outlet>',
34+
})
35+
export class DemoAppRoot {}
1936

2037
@NgModule({
2138
imports: [
2239
BrowserModule,
2340
BrowserAnimationsModule,
2441
HttpClientModule,
25-
DemoModule,
42+
LibraryDemoModule,
2643
AccessibilityDemoModule,
27-
RouterModule.forRoot(ALL_ROUTES),
44+
RouterModule.forRoot(demoAppRoutes),
2845
],
2946
declarations: [
30-
EntryApp,
47+
DemoAppRoot,
48+
],
49+
bootstrap: [
50+
DemoAppRoot
3151
],
32-
entryComponents: [
33-
EntryApp,
34-
]
3552
})
36-
export class DemoAppModule {
37-
constructor(private _appRef: ApplicationRef) { }
38-
39-
ngDoBootstrap() {
40-
this._appRef.bootstrap(EntryApp);
41-
}
42-
}
53+
export class DemoAppModule {}

0 commit comments

Comments
 (0)