import { NgModule } from '@angular/core';
import { CommonModule, Location } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { AgGridModule } from 'ag-grid-angular';
import { DashboardComponent } from './layout/dashboard/dashboard.component';
import { UiModule } from '../ui/ui.module';
import { ServerSideErrorsValidatorDirective } from '../logic/validators/server-side-errors-validator.directive';
import { LayoutComponent } from './layout/layout.component';
import { HeaderComponent } from './layout/header/header.component';
import { MainComponent } from './layout/main/main.component';
import { SidebarComponent } from './layout/sidebar/sidebar.component';
import { ClarityModule } from '@clr/angular';
import { LoginComponent } from './security/login.component';
import { ListUsersComponent } from './list-users/list-users.component';
import { AppCustomModalComponent } from './common/app-custom-modal.component';
import { EditParametersComponent } from './parameters/edit-parameters.component';
import { EditSupplierComponent } from './supplier/edit-supplier.component';
import { ListSupplierComponent } from './supplier/list-supplier.component';
import { ListSocServicesComponent } from './soc-service/list-soc-services.component';
import { EditSocServiceComponent } from './soc-service/edit-soc-service.component';
import { JournalComponent } from './journal/journal.component';
import { JournalDetailCellRendererComponent } from './journal/journal-detail-cell-renderer.component';

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    ReactiveFormsModule,
    RouterModule,
    ClarityModule,
    UiModule,
    AgGridModule.withComponents([]),
  ],
  providers: [Location],
  declarations: [
    LayoutComponent,
    LoginComponent,
    HeaderComponent,
    MainComponent,
    SidebarComponent,
    DashboardComponent,
    ServerSideErrorsValidatorDirective,
    ListUsersComponent,
    AppCustomModalComponent,
    EditParametersComponent,
    ListSupplierComponent,
    EditSupplierComponent,
    ListSocServicesComponent,
    EditSocServiceComponent,
    JournalComponent,
    JournalDetailCellRendererComponent
  ],
  exports: [
    LayoutComponent,
    DashboardComponent,
    AppCustomModalComponent
  ],
  entryComponents: [
    JournalDetailCellRendererComponent
  ]
})
export class PagesModule {
}
