import { NgModule } from '@angular/core';
import { HttpModule, Http } from '@angular/http';
import { ToasterModule } from 'angular2-toaster/angular2-toaster';
import { RouterModule } from '@angular/router';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { TranslateModule, TranslateLoader} from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { HttpClientModule, HttpClient } from '@angular/common/http';
// AoT requires an exported function for factories
export function HttpLoaderFactory(httpClient) {
return new TranslateHttpLoader(httpClient, 'assets/i18n/', '.json');
}
// Pipes
import { SafeHtmlPipe } from './pipes/safe-html.pipes';
// Widgets
import { AppHeaderComponent } from './widgets/app-header';
import { LogoComponent } from './widgets/logo';
import { AppFooterComponent } from './widgets/app-footer';
import { MenuAsideComponent } from './widgets/menu-aside';
import { ControlSidebarComponent } from './widgets/control-sidebar';
import { MessagesBoxComponent } from './widgets/messages-box';
import { NotificationBoxComponent } from './widgets/notification-box';
import { TasksBoxComponent } from './widgets/tasks-box';
import { UserBoxComponent } from './widgets/user-box';
import { BreadcrumbComponent } from './widgets/breadcrumb';
import { ComponentLoaderComponent } from './widgets/component-loader';
// Services
import { UserService } from './services/user.service';
import { MenuService } from './services/menu.service';
import { LogoService } from './services/logo.service';
import { FooterService } from './services/footer.service';
import { MessagesService } from './services/messages.service';
import { CanActivateGuard } from './services/can-activate-guard.service';
import { NotificationsService } from './services/notifications.service';
import { BreadcrumbService } from './services/breadcrumb.service';
import { TranslateService } from './services/translate.service';
import { LoggerService } from './services/logger.service';
import { ControlSidebarService } from './services/control-sidebar.service';
// les layouts
import { LayoutAuthComponent } from './layouts/auth/auth';
import { LayoutLoginComponent } from './layouts/login/login.component';
import { LayoutRegisterComponent } from './layouts/register/register.component';
@NgModule({
declarations: [
// PIPES
SafeHtmlPipe,
// WIDGETS
BreadcrumbComponent,
AppHeaderComponent,
LogoComponent,
AppFooterComponent,
MenuAsideComponent,
ControlSidebarComponent,
MessagesBoxComponent,
NotificationBoxComponent,
TasksBoxComponent,
UserBoxComponent,
ComponentLoaderComponent,
// LAYOUTS
LayoutAuthComponent,
LayoutLoginComponent,
LayoutRegisterComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule,
ToasterModule,
HttpClientModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (HttpLoaderFactory),
deps: [HttpClient]
}
}),
],
exports: [
SafeHtmlPipe,
],
providers: [
// SERVICES
UserService,
MenuService,
LogoService,
FooterService,
BreadcrumbService,
MessagesService,
CanActivateGuard,
NotificationsService,
TranslateService,
LoggerService,
ControlSidebarService
]
})
export class NgxAdminLteModule { }