app.ts 3.33 KB
Newer Older
1 2 3 4 5
import "reflect-metadata";
import "babel-polyfill";
import "core-js/es6";
import "core-js/es7/reflect";
import { NgModule } from "@angular/core";
6
import { NgReduxModule, DevToolsExtension, NgRedux } from "@angular-redux/store";
7 8 9 10
import {BrowserModule} from "@angular/platform-browser";
import { CookieModule } from "ngx-cookie";
import { MyDatePickerModule } from "mydatepicker";
import { NguiAutoCompleteModule } from "@ngui/auto-complete";
11 12 13
import {
  FormsModule,
  ReactiveFormsModule,
14
} from "@angular/forms";
15

16 17
import {RouterModule} from "@angular/router";
import { HttpModule } from "@angular/http";
18 19 20 21 22
import {
  APP_BASE_HREF,
  HashLocationStrategy,
  LocationStrategy,
  NgLocalization,
23
} from "@angular/common";
24

25 26 27
import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
import Main from "./containers/main";
import { APP_ROUTER_PROVIDERS, APP_DECLARATIONS } from "./app.routes";
28 29

/* Here we import services */
30 31 32 33 34 35 36 37 38 39 40 41
import {HelperDataService} from "./services/helper-data-service";
import {LoaderService} from "./services/Spinner.service";
import {AuthService} from "./services/auth.service";
import SchoolAuthGuard from "./guards/school.auth.guard";
import SchoolStudentsLockedGuard from "./guards/school.students.locked.guard";
import SchoolCapacityLockedGuard from "./guards/school.capacity.locked.guard";
import StudentAuthGuard from "./guards/student.auth.guard";
import ReportsAuthGuard from "./guards/reports.auth.guard";
import StudentLockGuard from "./guards/student.lock.guard";
import RegionEduAuthGuard from "./guards/regionedu.auth.guard";
import EduAdminAuthGuard from "./guards/eduadmin.auth.guard";
import MinistryAuthGuard from "./guards/ministry.auth.guard";
Open Source Developer's avatar
Open Source Developer committed
42

43 44 45 46
import * as $ from "jquery";
import { ACTION_PROVIDERS } from "./actions";
import Home from "./components/home";
import { Ng2SmartTableModule, LocalDataSource } from "ng2-smart-table";
47

48 49 50 51
import HeaderComponent from "./components/header/header.component";
import NavbarComponent from "./components/navbar/navbar.component";
import MainComponent from "./components/main/main.component";
import FooterComponent from "./components/footer/footer.component";
52

53
import {enableProdMode} from "@angular/core";
54

55 56 57
class MyLocalization extends NgLocalization {
   getPluralCategory(value: any) {
      if (value < 5) {
58
         return "few";
59 60 61 62 63 64 65
      }
   }
}

@NgModule({
  imports:      [
    BrowserModule,
66
    MyDatePickerModule,
67
    FormsModule,
68
    NguiAutoCompleteModule,
69 70 71 72
    RouterModule,
    ReactiveFormsModule,
    APP_ROUTER_PROVIDERS,
    HttpModule,
73
    Ng2SmartTableModule,
Open Source Developer's avatar
Open Source Developer committed
74
    NgReduxModule,
75
    CookieModule.forRoot()
76 77
  ],
  declarations: [
78
    Main, FooterComponent, HeaderComponent, NavbarComponent, MainComponent,
79 80 81 82
    APP_DECLARATIONS,
  ],
  bootstrap: [ Main ],
  providers: [
83
    { provide: APP_BASE_HREF, useValue: "/" },
84 85
    { provide: LocationStrategy, useClass: HashLocationStrategy },
    { provide: NgLocalization, useClass: MyLocalization },
86 87
    DevToolsExtension,
    ACTION_PROVIDERS,
88
    // Service1, again services here
89
    HelperDataService,
Open Source Developer's avatar
Open Source Developer committed
90
    LoaderService,
91 92
    AuthService,
    SchoolAuthGuard,
93
    SchoolStudentsLockedGuard,
94
    SchoolCapacityLockedGuard,
Open Source Developer's avatar
trans  
Open Source Developer committed
95
    StudentAuthGuard,
96
    StudentLockGuard,
97 98
    RegionEduAuthGuard,
    EduAdminAuthGuard,
99 100
    MinistryAuthGuard,
    ReportsAuthGuard
101 102 103 104
  ]
})
class AppModule {}

105
// enableProdMode();
106
platformBrowserDynamic().bootstrapModule(AppModule);