arranbartish/angular-cli-seed

View on GitHub
src/app/app.module.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { BrowserModule } from '@angular/platform-browser';
import { RouterModule, Routes } from '@angular/router';
import { EffectsModule } from '@ngrx/effects';
import { StoreModule, ActionReducer, combineReducers } from '@ngrx/store';
import { WidgetModule, treeElements } from 'arranbartish-angular-cli-widgets';
import { ToastyModule } from 'ng2-toasty';

import { AppComponent } from './app.component';
import { HomeComponent } from './home/home.component';
import { CarRouteModule } from './car/car.route';
import { cars } from './car/reducers/car.reducer';
import { CarEffects } from './car/effects/cars';
import { HousingRouteModule } from './housing/housing.route';
import { houses } from './housing/reducers/houses.reducer';
import { HousingEffects } from './housing/effects/housing';
import { PageNotFoundComponent } from './404/pageNotFound.component';
import { AppNavigationComponent } from './navigation/navigation.component';

const routes: Routes = [
  { path: '', pathMatch: 'full', redirectTo: 'home' },
  { path: 'home', component: HomeComponent },
  { path: 'car', loadChildren: 'app/car/car.route#CarRouteModule' },
  { path: 'housing', loadChildren: 'app/housing/housing.route#HousingRouteModule' },
  { path: '**', component: PageNotFoundComponent }
];

@NgModule({
  declarations: [
    AppComponent,
    HomeComponent,
    PageNotFoundComponent,
    AppNavigationComponent
  ],
  imports: [
    RouterModule.forRoot(routes),
    ToastyModule.forRoot(),
    BrowserModule,
    FormsModule,
    ReactiveFormsModule,
    HttpModule,
    RouterModule,
    CarRouteModule,
    HousingRouteModule,
    WidgetModule,
    StoreModule.provideStore({ cars, houses, treeElements }),
    EffectsModule.run(CarEffects),
    EffectsModule.run(HousingEffects)
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule {
}