import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { ReportRoutingModule } from './report-routing.module';
import { MainComponent } from './main/main.component';
import {DisatanceReportComponent } from './report component/disatance-report/disatance-report.component';
// import { AcReportsComponent } from './ac-report/ac-report.component';
// import { DailyReportComponent } from './daily-report/daily-report.component';
// import { DailyLogssComponent } from './daily-logs/daily-logs.component';
import { AllMenusComponent } from './all-menus/all-menus.component';
import { TranslateLoader, TranslateModule } from 'ng2-translate';
import { createTranslateLoader } from '../app.module';
import {ResponseOptions, Response, Http, HttpModule} from '@angular/http';
import { CarouselModule, MDBBootstrapModule } from 'angular-bootstrap-md';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { MaterialModule, MdAutocompleteModule, MdButtonModule, MdCheckboxModule, MdMenu, MdMenuModule, MdSnackBarModule } from '@angular/material';
import { NotificationComponent } from './notification/notification.component';
import { DatepickerModule, BsDatepickerModule } from 'ngx-bootstrap/datepicker';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ReportFilterComponent } from './report-filter/report-filter.component';
import { DetailComponent } from './report component/disatance-report/details/details.component';
import { AcReportsComponent } from './report component/ac-report/ac-report.component';
import { DailyReportComponent } from './report component/daily-report/daily-report.component';
import { DailyLogssComponent } from './report component/daily-logs/daily-logs.component';
import { AlertReportComponent } from './report component/alert-report/alert-report.component';
import { DailyDetailsComponent } from './report component/daily-details/daily-details.component';
import { DayWiseReportComponent } from './report component/day-wise-report/day-wise-report.component';
import { DeviceFuelReportComponent } from './report component/device-fuel-report/device-fuel-report.component';
import { DeviceSOSreportComponent } from './report component/device-sosreport/device-sosreport.component';
import { DeviceSpeedReportComponent } from './report component/device-speed-report/device-speed-report.component';
import { DriversPerformanceReportComponent } from './report component/drivers-performance-report/drivers-performance-report.component';
import { FuelReportComponent } from './report component/fuel-report/fuel-report.component';
import { GeofancingReportComponent } from './report component/geofancing-report/geofancing-report.component';
import { IdealReportComponent } from './report component/ideal-report/ideal-report.component';
import { IdleReportComponent } from './report component/idle-report/idle-report.component';
import { IgnReportComponent } from './report component/ign-report/ign-report.component';
import { IgnitionReportComponent } from './report component/ignition-report/ignition-report.component';
import { MaintananceComponent } from './report component/maintanance/maintanance.component';
import { OverSpeedComponent } from './report component/over-speed/over-speed.component';
import { POIReportComponent } from './report component/poi-report/poi-report.component';
import { RouteViolationComponent } from './report component/route-violation/route-violation.component';
import { StoppageReportComponent } from './report component/stoppage-report/stoppage-report.component';
import { SummaryReportComponent } from './report component/summary-report/summary-report.component';
import { TempretureGraphComponent } from './report component/tempreture-graph/tempreture-graph.component';
import { TempretureReportComponent } from './report component/tempreture-report/tempreture-report.component';
import { TravelPathReportComponent } from './report component/travel-path-report/travel-path-report.component';
// import { TripByDeviceComponent } from './report component/trip-by-device/trip-by-device.component';
import { TripDetailsComponent } from './report component/trip-details/trip-details.component';
import { TripLoadUnloadComponent } from './report component/trip-load-unload/trip-load-unload.component';
import { TripReportComponent } from './report component/trip-report/trip-report.component';
import { WorkingHourDetailComponent } from './report component/working-hour-detail/working-hour-detail.component';
import { WorkingHourReportComponent } from './report component/working-hour-report/working-hour-report.component';
import { FlexLayoutModule } from '@angular/flex-layout';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
import { NguiPopupModule } from '@ngui/popup';
import { GaugeModule } from 'angular-gauge';
import { StormpathModule } from 'angular-stormpath';
import { FlashMessagesModule } from 'angular2-flash-messages';
import { ReCaptchaModule } from 'angular2-recaptcha';
import { ResizableModule } from 'angular2-resizable';
import { FormWizardModule } from 'angular2-wizard';
import { DateTimePickerModule } from 'ng-pick-datetime';
import { ChartsModule } from 'ng2-charts';
import { DragulaModule } from 'ng2-dragula';
import { ExpansionPanelsModule } from 'ng2-expansion-panels';
import { IfScrollbarsModule } from 'ng2-if-scrollbars';
import { Ng2DropdownModule } from 'ng2-material-dropdown';
import { Ng2OrderModule } from 'ng2-order-pipe';
import { PasswordStrengthBarModule } from 'ng2-password-strength-bar';
import { ProgressBarModule } from 'ng2-progress-bar';
import { Ng2SearchPipeModule } from 'ng2-search-filter';
import { TimepickerModule } from 'ngx-bootstrap';
import { NgxPaginationModule } from 'ngx-pagination';
import { routes } from '../app.router';
import { routes2 } from '../dash/dash.router';
import { AngularDateTimePickerModule  } from 'angular2-datetimepicker';
import { MomentModule } from 'angular2-moment';
import { NotificationMastersComponent } from './report component/notification-master/notification-master.component';
import { AcreportInfoComponent } from './report component/ac-report/acreport-info/acreport-info.component';
import { NoReportComponent } from './report component/no-report/no-report.component';
import { StartComponent } from './report component/start/start.component';
import { SummaryDetailsComponent } from './report component/summary-report/summary-details/summary-details.component';
import { NewTravelPathReportComponent } from './report component/new-travel-path-report/new-travel-path-report.component';
import { PushDataReportComponent } from './report component/push-data-report/push-data-report.component';
import { PerformanceReportComponent } from './report component/performance-report/performance-report.component';
import { NotiLocationComponent } from './report component/notification-master/noti-location/noti-location.component';
import { HeaderComponent } from '../report/header/header.component';
import { ViewRawComponent } from './report component/push-data-report/view-raw/view-raw.component';

@NgModule({
  imports: [
    CommonModule,
    ReportRoutingModule,
    MDBBootstrapModule.forRoot(),
        NgbModule.forRoot(),
            MaterialModule,
            DatepickerModule,
            BsDatepickerModule.forRoot(),
            FormsModule,
            IfScrollbarsModule,
    GaugeModule.forRoot(),
   /*   GaugesModule, */
    DateTimePickerModule ,
    AngularDateTimePickerModule,    
    BrowserModule,
    NgbModule.forRoot(),
    NgxPaginationModule,
    MDBBootstrapModule.forRoot(),
    BsDatepickerModule.forRoot(),
    ExpansionPanelsModule,
    routes2,
    Ng2SearchPipeModule,
    Ng2OrderModule,
    MomentModule,
    PasswordStrengthBarModule,
    DatepickerModule,
    DragulaModule,
    routes,
    ResizableModule,
    ProgressBarModule,
    FlashMessagesModule,
    // NgSelectModule,
    FormsModule, 
    ReactiveFormsModule, 
    ReCaptchaModule, 
    HttpModule,  
    StormpathModule, 
    NguiPopupModule,
   /*  googleMapsCore, */
    Ng2DropdownModule,
    BrowserAnimationsModule,
    NoopAnimationsModule,
    MdButtonModule,
    MdCheckboxModule,
    MdAutocompleteModule,
    MdMenuModule,
    MdSnackBarModule,
    ChartsModule,
    FlexLayoutModule,
    MaterialModule,
    FormWizardModule,BrowserModule, ChartsModule,
  //  GaugeModule.forRoot(),
    CarouselModule.forRoot(),
    TimepickerModule.forRoot(),
    BsDatepickerModule.forRoot(),
    

    TranslateModule.forRoot({
      provide: TranslateLoader,
      useFactory: (createTranslateLoader),
      deps: [Http]
    }),
    
  ],
  entryComponents:[DetailComponent,WorkingHourDetailComponent,AcreportInfoComponent,SummaryDetailsComponent,NotiLocationComponent,ViewRawComponent],
  declarations: [MainComponent,IgnReportComponent, ReportFilterComponent,DisatanceReportComponent,TripDetailsComponent,POIReportComponent,OverSpeedComponent,MaintananceComponent,IgnitionReportComponent,IdleReportComponent,IdealReportComponent,FuelReportComponent,DayWiseReportComponent,DeviceSpeedReportComponent,AcreportInfoComponent,
     TravelPathReportComponent,TempretureReportComponent,TempretureGraphComponent,SummaryReportComponent,StoppageReportComponent,RouteViolationComponent,DeviceFuelReportComponent,DeviceSOSreportComponent,AcReportsComponent, DailyReportComponent,DailyDetailsComponent,
    WorkingHourReportComponent,WorkingHourDetailComponent,TripReportComponent,TripLoadUnloadComponent,AlertReportComponent, DailyLogssComponent,AllMenusComponent,NotificationComponent,GeofancingReportComponent,DetailComponent,DriversPerformanceReportComponent,NotificationMastersComponent, NoReportComponent, StartComponent, SummaryDetailsComponent, NewTravelPathReportComponent, PushDataReportComponent, PerformanceReportComponent, NotiLocationComponent, HeaderComponent, ViewRawComponent]
})
export class ReportModule { }
