Skip to content
app.module.ts 3.53 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import './vendor.ts';
wangqinghua's avatar
wangqinghua committed
import {NgModule, Injector, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA} from '@angular/core';
wangqinghua's avatar
wangqinghua committed
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';
wangqinghua's avatar
wangqinghua committed

import {
    FooterComponent,
wangqinghua's avatar
wangqinghua committed
    ProfileService,
    PageRibbonComponent,
wangqinghua's avatar
wangqinghua committed
    ErrorComponent
} from './layouts';
wangqinghua's avatar
wangqinghua committed
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
import {AppService} from './app.service';
wangqinghua's avatar
wangqinghua committed
import {NZ_MESSAGE_CONFIG, NzMessageService, NzNotificationService} from 'ng-zorro-antd';
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,
wangqinghua's avatar
wangqinghua committed
        PageRibbonComponent,
wangqinghua's avatar
wangqinghua committed
        FooterComponent,
wangqinghua's avatar
wangqinghua committed
        AppComponent,
wangqinghua's avatar
wangqinghua committed
    ],
    providers: [
        LayoutService,
wangqinghua's avatar
wangqinghua committed
        ProfileService,
wangqinghua's avatar
wangqinghua committed
        PaginationConfig,
        LoginGuard,
wangqinghua's avatar
wangqinghua committed
        AppService,
wangqinghua's avatar
wangqinghua committed
        UserRouteAccessService,
        {
            provide: HTTP_INTERCEPTORS,
            useClass: AuthInterceptor,
            multi: true,
            deps: [
                LocalStorageService,
wangqinghua's avatar
wangqinghua committed
                SessionStorageService,
                NzMessageService,
wangqinghua's avatar
wangqinghua committed
            ]
        },
        {
            provide: HTTP_INTERCEPTORS,
            useClass: AuthExpiredInterceptor,
            multi: true,
            deps: [
                Injector
            ]
        },
        {
            provide: HTTP_INTERCEPTORS,
            useClass: ErrorHandlerInterceptor,
            multi: true,
            deps: [
wangqinghua's avatar
wangqinghua committed
                JhiEventManager,
                NzMessageService,
                NzNotificationService,
wangqinghua's avatar
wangqinghua committed
            ]
        },
        {
            provide: HTTP_INTERCEPTORS,
            useClass: NotificationInterceptor,
            multi: true,
            deps: [
wangqinghua's avatar
wangqinghua committed
                Injector,
                NzNotificationService
wangqinghua's avatar
wangqinghua committed
            ]
        },
    ],
wangqinghua's avatar
wangqinghua committed
    bootstrap: [AppComponent],
    schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
    exports: []
wangqinghua's avatar
wangqinghua committed
})
wangqinghua's avatar
wangqinghua committed
export class BootappAppModule {
}