app.ts 2.83 KB
Newer Older
1
2
3
4
import 'reflect-metadata';
import 'babel-polyfill';
import 'core-js/es6';
import 'core-js/es7/reflect';
5
import { NgModule } from '@angular/core';
6
import { NgReduxModule, DevToolsExtension, NgRedux } from 'ng2-redux';
7
import {BrowserModule} from '@angular/platform-browser';
8
import { CookieModule } from 'ngx-cookie';
9
import { MyDatePickerModule } from 'mydatepicker';
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import {
  FormsModule,
  ReactiveFormsModule,
} from '@angular/forms';

import {RouterModule} from '@angular/router';
import { HttpModule } from '@angular/http';
import {
  APP_BASE_HREF,
  HashLocationStrategy,
  LocationStrategy,
  NgLocalization,
} from '@angular/common';

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import Main from './containers/main';
import { APP_ROUTER_PROVIDERS, APP_DECLARATIONS } from './app.routes';

/* Here we import services */
30
import {HelperDataService} from './services/helper-data-service';
Open Source Developer's avatar
Open Source Developer committed
31
import {LoaderService} from './services/Spinner.service';
32
33
34
import {AuthService} from './services/auth.service';
import SchoolAuthGuard from './guards/school.auth.guard';
import StudentAuthGuard from './guards/student.auth.guard';
Open Source Developer's avatar
trans    
Open Source Developer committed
35
import RegionEduAuthGuard from './guards/regionedu.auth.guard';
36
37
import EduAdminAuthGuard from './guards/eduadmin.auth.guard';
import MinistryAuthGuard from './guards/ministry.auth.guard';
Open Source Developer's avatar
Open Source Developer committed
38

39
import { ACTION_PROVIDERS } from './actions';
40
import Home from './components/home';
41
import { Ng2SmartTableModule, LocalDataSource } from 'ng2-smart-table';
42
43
44
45
46

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';
47
48

import {enableProdMode} from '@angular/core';
49

50
51
52
53
54
55
56
57
58
59
60
class MyLocalization extends NgLocalization {
   getPluralCategory(value: any) {
      if (value < 5) {
         return 'few';
      }
   }
}

@NgModule({
  imports:      [
    BrowserModule,
61
    MyDatePickerModule,
62
63
64
65
66
    FormsModule,
    RouterModule,
    ReactiveFormsModule,
    APP_ROUTER_PROVIDERS,
    HttpModule,
67
    Ng2SmartTableModule,
Open Source Developer's avatar
Open Source Developer committed
68
    NgReduxModule,
69
    CookieModule.forRoot()
70
71
  ],
  declarations: [
72
    Main, FooterComponent, HeaderComponent, NavbarComponent, MainComponent,
73
74
75
76
77
78
79
    APP_DECLARATIONS,
  ],
  bootstrap: [ Main ],
  providers: [
    { provide: APP_BASE_HREF, useValue: '/' },
    { provide: LocationStrategy, useClass: HashLocationStrategy },
    { provide: NgLocalization, useClass: MyLocalization },
80
81
    DevToolsExtension,
    ACTION_PROVIDERS,
82
    //Service1, again services here
83
    HelperDataService,
Open Source Developer's avatar
Open Source Developer committed
84
    LoaderService,
85
86
    AuthService,
    SchoolAuthGuard,
Open Source Developer's avatar
trans    
Open Source Developer committed
87
    StudentAuthGuard,
88
89
90
    RegionEduAuthGuard,
    EduAdminAuthGuard,
    MinistryAuthGuard
Open Source Developer's avatar
trans    
Open Source Developer committed
91

92
93
94
95
  ]
})
class AppModule {}

96
// enableProdMode();
97
platformBrowserDynamic().bootstrapModule(AppModule);