Skip to content
app.module.ts 3.25 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import './vendor.ts';
import { NgModule, Injector, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { Ng2Webstorage, LocalStorageService, SessionStorageService  } from 'ngx-webstorage';
import { JhiEventManager } from 'ng-jhipster';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HttpModule } from "@angular/http";
import { AuthInterceptor } from './blocks/interceptor/auth.interceptor';
import { AuthExpiredInterceptor } from './blocks/interceptor/auth-expired.interceptor';
import { ErrorHandlerInterceptor } from './blocks/interceptor/errorhandler.interceptor';
import { NotificationInterceptor } from './blocks/interceptor/notification.interceptor';
import { BootappSharedModule, UserRouteAccessService } from './shared';
import { PaginationConfig } from './blocks/config/uib-pagination.config';
import { FileUploadModule } from 'ng2-file-upload';
wangqinghua's avatar
wangqinghua committed
import {CommonModule, LocationStrategy, PathLocationStrategy} from '@angular/common';
wangqinghua's avatar
wangqinghua committed
import { LayoutService } from "./layouts/layout.service";
import { NgxEchartsModule } from "ngx-echarts";

import {
    FooterComponent,
    ProfileService,
    PageRibbonComponent,
    ErrorComponent
} from './layouts';
import {AppComponent} from "./app.component";
import {RouterModule} from "@angular/router";
import {DEBUG_INFO_ENABLED} from "./app.constants";
import { route } from "./app.route";
import {LoginGuard} from "./shared/common/loginGuard";
wangqinghua's avatar
wangqinghua committed
import {AppMainModule} from './app.main.module';
wangqinghua's avatar
wangqinghua committed

@NgModule({
    imports: [
wangqinghua's avatar
wangqinghua committed
        AppMainModule,
wangqinghua's avatar
wangqinghua committed
        BrowserModule,
        NgxEchartsModule,
        HttpModule,
        BrowserAnimationsModule,
        RouterModule,
wangqinghua's avatar
wangqinghua committed
        Ng2Webstorage.forRoot({ prefix: 'smart', separator: '-'}),
wangqinghua's avatar
wangqinghua committed
        BootappSharedModule,
        FileUploadModule,
        CommonModule,
        FormsModule,
        ReactiveFormsModule,
wangqinghua's avatar
wangqinghua committed
        RouterModule.forRoot(route, {useHash: true})
wangqinghua's avatar
wangqinghua committed
    ],
    declarations: [
        ErrorComponent,
        PageRibbonComponent,
        FooterComponent,
wangqinghua's avatar
wangqinghua committed
        AppComponent,
wangqinghua's avatar
wangqinghua committed
    ],
    providers: [
        LayoutService,
        ProfileService,
        PaginationConfig,
        LoginGuard,
        UserRouteAccessService,
        {
            provide: HTTP_INTERCEPTORS,
            useClass: AuthInterceptor,
            multi: true,
            deps: [
                LocalStorageService,
                SessionStorageService
            ]
        },
        {
            provide: HTTP_INTERCEPTORS,
            useClass: AuthExpiredInterceptor,
            multi: true,
            deps: [
                Injector
            ]
        },
        {
            provide: HTTP_INTERCEPTORS,
            useClass: ErrorHandlerInterceptor,
            multi: true,
            deps: [
                JhiEventManager
            ]
        },
        {
            provide: HTTP_INTERCEPTORS,
            useClass: NotificationInterceptor,
            multi: true,
            deps: [
                Injector
            ]
        },
    ],
    bootstrap: [ AppComponent ],
wangqinghua's avatar
wangqinghua committed
    schemas: [ CUSTOM_ELEMENTS_SCHEMA ],
    exports:[
    ]
wangqinghua's avatar
wangqinghua committed
})
export class BootappAppModule {}