Search code examples
angularangular-materialangular9angular-moduleangular-cli-v9

How to import all Angular Material modules in Angular 9


I want to import all angular material modules and use into overall angular project templates.


Solution

  • We can create a new module and import all material modules in the new module and use into our templates.

    Please use this command and run into Angular CLI: ng g m material --module=app

    --module=app - this command will automatically import newly created MaterialModule module and add into AppModule imports[] array.

    Now open MaterialModule file and Ctrl + C / Ctrl + P:

    import { NgModule } from '@angular/core';
    import { CommonModule } from '@angular/common';
    // Material Form Controls
    import { MatAutocompleteModule } from '@angular/material/autocomplete';
    import { MatCheckboxModule } from '@angular/material/checkbox';
    import { MatDatepickerModule } from '@angular/material/datepicker';
    import { MatFormFieldModule } from '@angular/material/form-field';
    import { MatInputModule } from '@angular/material/input';
    import { MatRadioModule } from '@angular/material/radio';
    import { MatSelectModule } from '@angular/material/select';
    import { MatSliderModule } from '@angular/material/slider';
    import { MatSlideToggleModule } from '@angular/material/slide-toggle';
    // Material Navigation
    import { MatMenuModule } from '@angular/material/menu';
    import { MatSidenavModule } from '@angular/material/sidenav';
    import { MatToolbarModule } from '@angular/material/toolbar';
    // Material Layout
    import { MatCardModule } from '@angular/material/card';
    import { MatDividerModule } from '@angular/material/divider';
    import { MatExpansionModule } from '@angular/material/expansion';
    import { MatGridListModule } from '@angular/material/grid-list';
    import { MatListModule } from '@angular/material/list';
    import { MatStepperModule } from '@angular/material/stepper';
    import { MatTabsModule } from '@angular/material/tabs';
    import { MatTreeModule } from '@angular/material/tree';
    // Material Buttons & Indicators
    import { MatButtonModule } from '@angular/material/button';
    import { MatButtonToggleModule } from '@angular/material/button-toggle';
    import { MatBadgeModule } from '@angular/material/badge';
    import { MatChipsModule } from '@angular/material/chips';
    import { MatIconModule } from '@angular/material/icon';
    import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
    import { MatProgressBarModule } from '@angular/material/progress-bar';
    import { MatRippleModule } from '@angular/material/core';
    // Material Popups & Modals
    import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
    import { MatDialogModule } from '@angular/material/dialog';
    import { MatSnackBarModule } from '@angular/material/snack-bar';
    import { MatTooltipModule } from '@angular/material/tooltip';
    // Material Data tables
    import { MatPaginatorModule } from '@angular/material/paginator';
    import { MatSortModule } from '@angular/material/sort';
    import { MatTableModule } from '@angular/material/table';
    
    @NgModule({
      declarations: [],
      imports: [
        CommonModule,
        MatAutocompleteModule,
        MatCheckboxModule,
        MatDatepickerModule,
        MatFormFieldModule,
        MatInputModule,
        MatRadioModule,
        MatSelectModule,
        MatSliderModule,
        MatSlideToggleModule,
        MatMenuModule,
        MatSidenavModule,
        MatToolbarModule,
        MatCardModule,
        MatDividerModule,
        MatExpansionModule,
        MatGridListModule,
        MatListModule,
        MatStepperModule,
        MatTabsModule,
        MatTreeModule,
        MatButtonModule,
        MatButtonToggleModule,
        MatBadgeModule,
        MatChipsModule,
        MatIconModule,
        MatProgressSpinnerModule,
        MatProgressBarModule,
        MatRippleModule,
        MatBottomSheetModule,
        MatDialogModule,
        MatSnackBarModule,
        MatTooltipModule,
        MatPaginatorModule,
        MatSortModule,
        MatTableModule
      ],
      exports: [
        MatAutocompleteModule,
        MatCheckboxModule,
        MatDatepickerModule,
        MatFormFieldModule,
        MatInputModule,
        MatRadioModule,
        MatSelectModule,
        MatSliderModule,
        MatSlideToggleModule,
        MatMenuModule,
        MatSidenavModule,
        MatToolbarModule,
        MatCardModule,
        MatDividerModule,
        MatExpansionModule,
        MatGridListModule,
        MatListModule,
        MatStepperModule,
        MatTabsModule,
        MatTreeModule,
        MatButtonModule,
        MatButtonToggleModule,
        MatBadgeModule,
        MatChipsModule,
        MatIconModule,
        MatProgressSpinnerModule,
        MatProgressBarModule,
        MatRippleModule,
        MatBottomSheetModule,
        MatDialogModule,
        MatSnackBarModule,
        MatTooltipModule,
        MatPaginatorModule,
        MatSortModule,
        MatTableModule
      ]
    })
    export class MaterialModule { }
    

    DONE!!!

    Now we can use material components in our templates.