Skip to content

Commit fa5b427

Browse files
devversiontinayuangao
authored andcommitted
chore: no longer use MaterialModule (#4571)
* Replaces the `MaterialModule` with custom NgModules that contain all required Material modules. Closes #4532
1 parent 2d16345 commit fa5b427

File tree

4 files changed

+132
-18
lines changed

4 files changed

+132
-18
lines changed

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

Lines changed: 46 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,7 @@ import {HttpModule} from '@angular/http';
44
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
55
import {RouterModule} from '@angular/router';
66
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
7-
import {DemoApp, Home, DemoAppOnPush} from './demo-app/demo-app';
8-
import {
9-
FullscreenOverlayContainer,
10-
MaterialModule,
11-
MdNativeDateModule,
12-
MdSelectionModule,
13-
OverlayContainer
14-
} from '@angular/material';
7+
import {DemoApp, DemoAppOnPush, Home} from './demo-app/demo-app';
158
import {DEMO_APP_ROUTES} from './demo-app/routes';
169
import {ProgressBarDemo} from './progress-bar/progress-bar-demo';
1710
import {ContentElementDialog, DialogDemo, IFrameDialog, JazzDialog} from './dialog/dialog-demo';
@@ -45,6 +38,50 @@ import {AutocompleteDemo} from './autocomplete/autocomplete-demo';
4538
import {InputDemo} from './input/input-demo';
4639
import {StyleDemo} from './style/style-demo';
4740
import {DatepickerDemo} from './datepicker/datepicker-demo';
41+
import {FullscreenOverlayContainer, OverlayContainer} from '@angular/material';
42+
import {
43+
MdAutocompleteModule, MdButtonModule, MdButtonToggleModule, MdCardModule, MdCheckboxModule,
44+
MdChipsModule, MdCoreModule, MdDatepickerModule, MdDialogModule, MdGridListModule, MdIconModule,
45+
MdInputModule, MdListModule, MdMenuModule, MdNativeDateModule, MdProgressBarModule, MdRadioModule,
46+
MdProgressSpinnerModule, MdRippleModule, MdSelectModule, MdSidenavModule, MdSliderModule,
47+
MdSlideToggleModule, MdSnackBarModule, MdTabsModule, MdToolbarModule, MdTooltipModule
48+
} from '@angular/material';
49+
50+
/**
51+
* NgModule that includes all Material modules that are required to serve the demo-app.
52+
*/
53+
@NgModule({
54+
exports: [
55+
MdAutocompleteModule,
56+
MdButtonModule,
57+
MdButtonToggleModule,
58+
MdCardModule,
59+
MdCheckboxModule,
60+
MdChipsModule,
61+
MdDatepickerModule,
62+
MdDialogModule,
63+
MdGridListModule,
64+
MdIconModule,
65+
MdInputModule,
66+
MdListModule,
67+
MdMenuModule,
68+
MdCoreModule,
69+
MdProgressBarModule,
70+
MdProgressSpinnerModule,
71+
MdRadioModule,
72+
MdRippleModule,
73+
MdSelectModule,
74+
MdSidenavModule,
75+
MdSlideToggleModule,
76+
MdSliderModule,
77+
MdSnackBarModule,
78+
MdTabsModule,
79+
MdToolbarModule,
80+
MdTooltipModule,
81+
MdNativeDateModule,
82+
]
83+
})
84+
export class DemoMaterialModule {}
4885

4986

5087
@NgModule({
@@ -55,9 +92,7 @@ import {DatepickerDemo} from './datepicker/datepicker-demo';
5592
HttpModule,
5693
ReactiveFormsModule,
5794
RouterModule.forRoot(DEMO_APP_ROUTES),
58-
MaterialModule,
59-
MdNativeDateModule,
60-
MdSelectionModule,
95+
DemoMaterialModule,
6196
],
6297
declarations: [
6398
AutocompleteDemo,

src/e2e-app/e2e-app-module.ts

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,43 @@ import {ListE2E} from './list/list-e2e';
1515
import {ProgressBarE2E} from './progress-bar/progress-bar-e2e';
1616
import {ProgressSpinnerE2E} from './progress-spinner/progress-spinner-e2e';
1717
import {FullscreenE2E, TestDialog as TestDialogFullScreen} from './fullscreen/fullscreen-e2e';
18-
import {MaterialModule, OverlayContainer, FullscreenOverlayContainer} from '@angular/material';
1918
import {E2E_APP_ROUTES} from './e2e-app/routes';
2019
import {SlideToggleE2E} from './slide-toggle/slide-toggle-e2e';
2120
import {InputE2E} from './input/input-e2e';
2221
import {BlockScrollStrategyE2E} from './block-scroll-strategy/block-scroll-strategy-e2e';
22+
import {
23+
OverlayContainer, FullscreenOverlayContainer, MdGridListModule, MdProgressBarModule,
24+
MdProgressSpinnerModule, MdTabsModule, MdRadioModule, MdSlideToggleModule, MdMenuModule,
25+
MdListModule, MdInputModule, MdIconModule, MdDialogModule, MdCheckboxModule, MdButtonModule
26+
} from '@angular/material';
27+
28+
/**
29+
* NgModule that contains all Material modules that are required to serve the e2e-app.
30+
*/
31+
@NgModule({
32+
exports: [
33+
MdButtonModule,
34+
MdCheckboxModule,
35+
MdDialogModule,
36+
MdGridListModule,
37+
MdIconModule,
38+
MdInputModule,
39+
MdListModule,
40+
MdMenuModule,
41+
MdSlideToggleModule,
42+
MdRadioModule,
43+
MdProgressBarModule,
44+
MdProgressSpinnerModule,
45+
MdTabsModule
46+
]
47+
})
48+
export class E2eMaterialModule {}
2349

2450
@NgModule({
2551
imports: [
2652
BrowserModule,
2753
RouterModule.forRoot(E2E_APP_ROUTES),
28-
MaterialModule,
54+
E2eMaterialModule,
2955
NoopAnimationsModule,
3056
],
3157
declarations: [

src/material-examples/example-module.ts

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import {NgModule} from '@angular/core';
22
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
33
import {CommonModule} from '@angular/common';
4-
import {MaterialModule} from '@angular/material';
54
import {AutocompleteOverviewExample} from './autocomplete-overview/autocomplete-overview-example';
65
import {ButtonOverviewExample} from './button-overview/button-overview-example';
76
import {ButtonTypesExample} from './button-types/button-types-example';
@@ -71,7 +70,13 @@ import {ChipsOverviewExample} from './chips-overview/chips-overview-example';
7170
import {ChipsStackedExample} from './chips-stacked/chips-stacked-example';
7271
import {SelectFormExample} from './select-form/select-form-example';
7372
import {DatepickerOverviewExample} from './datepicker-overview/datepicker-overview-example';
74-
73+
import {
74+
MdAutocompleteModule, MdButtonModule, MdButtonToggleModule, MdCardModule, MdCheckboxModule,
75+
MdChipsModule, MdDatepickerModule, MdDialogModule, MdGridListModule, MdIconModule, MdInputModule,
76+
MdListModule, MdMenuModule, MdProgressBarModule, MdProgressSpinnerModule, MdRadioModule,
77+
MdSelectModule, MdSliderModule, MdSlideToggleModule, MdSnackBarModule, MdTabsModule,
78+
MdToolbarModule, MdTooltipModule
79+
} from '@angular/material';
7580

7681
export interface LiveExample {
7782
title: string;
@@ -168,6 +173,38 @@ export const EXAMPLE_COMPONENTS = {
168173
'tooltip-position': {title: 'Tooltip with custom position', component: TooltipPositionExample},
169174
};
170175

176+
/**
177+
* NgModule that includes all Material modules that are required to serve the examples.
178+
*/
179+
@NgModule({
180+
exports: [
181+
MdAutocompleteModule,
182+
MdButtonModule,
183+
MdButtonToggleModule,
184+
MdCardModule,
185+
MdCheckboxModule,
186+
MdChipsModule,
187+
MdDatepickerModule,
188+
MdDialogModule,
189+
MdGridListModule,
190+
MdIconModule,
191+
MdInputModule,
192+
MdListModule,
193+
MdMenuModule,
194+
MdProgressBarModule,
195+
MdProgressSpinnerModule,
196+
MdRadioModule,
197+
MdSelectModule,
198+
MdSlideToggleModule,
199+
MdSliderModule,
200+
MdSnackBarModule,
201+
MdTabsModule,
202+
MdToolbarModule,
203+
MdTooltipModule
204+
]
205+
})
206+
export class ExampleMaterialModule {}
207+
171208
/**
172209
* The list of all example components.
173210
* We need to put them in both `declarations` and `entryComponents` to make them work.
@@ -230,7 +267,7 @@ export const EXAMPLE_LIST = [
230267
declarations: EXAMPLE_LIST,
231268
entryComponents: EXAMPLE_LIST,
232269
imports: [
233-
MaterialModule,
270+
ExampleMaterialModule,
234271
FormsModule,
235272
ReactiveFormsModule,
236273
CommonModule,

tools/screenshot-test/src/app/pixacto.dashboard.module.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,31 @@ import {NgModule} from '@angular/core';
33
import {FormsModule} from '@angular/forms';
44
import {HttpModule} from '@angular/http';
55
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
6-
import {MaterialModule} from '@angular/material';
76
import {FirebaseService} from './firebase.service';
87
import {routing} from './routes';
8+
import {
9+
MdToolbarModule, MdButtonModule, MdCardModule, MdButtonToggleModule, MdIconModule,
10+
MdSnackBarModule, MdTooltipModule
11+
} from '@angular/material';
912

1013
import {PixactoDashboardComponent} from './pixacto.dashboard.component';
1114
import {ViewerComponent} from './viewer/viewer.component';
1215
import {ResultComponent} from './result/result.component';
1316
import {NavComponent} from './nav/nav.component';
1417

18+
@NgModule({
19+
exports: [
20+
MdToolbarModule,
21+
MdButtonModule,
22+
MdCardModule,
23+
MdButtonToggleModule,
24+
MdIconModule,
25+
MdTooltipModule,
26+
MdSnackBarModule
27+
]
28+
})
29+
export class PixactoMaterialModule {}
30+
1531
@NgModule({
1632
declarations: [
1733
PixactoDashboardComponent,
@@ -24,7 +40,7 @@ import {NavComponent} from './nav/nav.component';
2440
BrowserAnimationsModule,
2541
FormsModule,
2642
HttpModule,
27-
MaterialModule,
43+
PixactoMaterialModule,
2844
routing,
2945
],
3046
providers: [FirebaseService],

0 commit comments

Comments
 (0)