//common//
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { NgSelectModule } from '@ng-select/ng-select';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { DatePipe } from '@angular/common';
import { HyperService } from '../app/core/services/http.service';
import { BarChart } from '../app/core/services/bar_chart';
import { HttpModule } from '@angular/http';
import { DpDatePickerModule } from "ng2-date-picker";
// Npm plugins
import { SlideshowModule } from 'ng-simple-slideshow';
import { ImageCropperModule } from 'ng2-img-cropper';
import { NgxMyDatePickerModule } from 'ngx-mydatepicker';
import { NgDatepickerModule } from 'ng2-datepicker';
import { NgxPaginationModule } from 'ngx-pagination';
import { OwlModule } from 'ngx-owl-carousel';

import { PdfViewerModule } from 'ng2-pdf-viewer';
import { NgCircleProgressModule } from 'ng-circle-progress';
import { ChartsModule } from 'ng2-charts';
//custom routing
import { AppRoutingModule } from './/app-routing.module';
import { RouterModule } from '@angular/router';
import { routes } from './app-routing.module'
//Pages//
import { AppComponent } from './app.component';
import { LandingComponent } from './common/landing/landing.component';
import { LoginComponent } from './common/login/login.component';
import { MainHeaderComponent } from './common/main-header/main-header.component';
import { SignupModalComponent } from './common/signup-modal/signup-modal.component';
import { ForgotPasswordComponent } from './common/forgot-password/forgot-password.component';
import { SetPasswwordComponent } from './common/set-passwword/set-passwword.component';
import { UserProfileComponent } from './common/user-profile/user-profile.component';
import { MytrainingComponent } from './sales_executive/mytraining/mytraining.component';
import { MycontentComponent } from './sales_executive/mycontent/mycontent.component';
import { ContentPopupComponent } from './sales_executive/content-popup/content-popup.component';
import { AuthGuardService } from '../app/core/services/auth-guard.service';
import { MyassessmentComponent } from './sales_executive/myassessment/myassessment.component';
import { AssessmentQuestionComponent } from './sales_executive/assessment-question/assessment-question.component';
import { ScorePopupComponent } from './sales_executive/score-popup/score-popup.component';
import { LederboardComponent } from './sales_executive/lederboard/lederboard.component';
import { LeaderboardRankingComponent } from './manager/leaderboard-ranking/leaderboard-ranking.component';
import { FeedbackComponent } from './sales_executive/feedback/feedback.component';
import { FeedbackSurveyComponent } from './sales_executive/feedback-survey/feedback-survey.component';
import { BulletinComponent } from './sales_executive/bulletin/bulletin.component';
import { WalletComponent } from './sales_executive/wallet/wallet.component';
import { WalletCatComponent } from './sales_executive/wallet/wallet_cat.component';
import { WalletProductDescComponent } from './sales_executive/wallet/product_description';
import { WalletProductListComponent } from './sales_executive/wallet/product_list.component';
import { AboutComponent } from './sales_executive/about/about.component';
import { FaqComponent } from './sales_executive/faq/faq.component';
import { BulletinDetailsComponent } from './sales_executive/bulletin-details/bulletin-details.component';
import { DashboardPopupComponent } from './sales_executive/dashboard-popup/dashboard-popup.component';
import { DashboardAmDetailsComponent } from './common/dashboard-am-details/dashboard-am-details.component';
import { DashboardDseDetailsComponent } from './common/dashboard-dse-details/dashboard-dse-details.component';
import { DashboardBigBikesDetailsComponent } from './common/dashboard-bigbikes-details/dashboard-bigbikes-details.component';
import { SalesReportComponent } from './manager/sales-report/sales-report.component';
import { DseReportComponent } from './manager/dse-report/dse-report.component';
import { AssessmentReportComponent } from './manager/assessment-report/assessment-report.component';
import { AnaliticalReportComponent } from './manager/analitical-report/analitical-report.component';
import { LeaderboardReportComponent } from './manager/leaderboard-report/leaderboard-report.component';
import { LeaderboardAssessmentComponent } from './manager/leaderboard-assessment/leaderboard-assessment.component';
import { CourseReportComponent } from './manager/course-report/course-report.component';
import { FeedbackReportComponent } from './manager/feedback-report/feedback-report.component';
import { SetsalesReportComponent } from './manager/setsales-report/setsales-report.component';
import { RewardReportComponent } from './manager/reward-report/reward-report.component';
import { CoursedetailPopupComponent } from './manager/coursedetail-popup/coursedetail-popup.component';
import { FeedbackPopupComponent } from './manager/feedback-popup/feedback-popup.component';
import { TrainerComponent } from './trainersite/trainer/trainer.component';
import { TrainingcourseComponent } from './trainersite/trainingcourse/trainingcourse.component';
import { AddparticipantpopComponent } from './trainersite/addparticipantpop/addparticipantpop.component';
import { ConfirmpopComponent } from './trainersite/confirmpop/confirmpop.component';
import { ConfirmPopupComponent } from './sales_executive/confirm-popup/confirm-popup.component';
import { LaunchThreesixtyDashboardComponent } from './launch-threesixty-dashboard/launch-threesixty-dashboard.component';
import { LauchThreesixtyComponent } from './launch-threesixty-dashboard/lauch-threesixty/lauch-threesixty.component';
import { LauchThreesixtyComparisonComponent } from './launch-threesixty-dashboard/lauch-threesixty-comparison/lauch-threesixty-comparison.component';
import { LaunchSalesComponent } from './launch-threesixty-dashboard/launch-sales/launch-sales.component';
import { LaunchPersonalizeComponent } from './launch-threesixty-dashboard/launch-personalize/launch-personalize.component';
import { LauchEnquiryComponent } from './launch-threesixty-dashboard/lauch-enquiry/lauch-enquiry.component';
import { ImageClass } from './launch-threesixty-dashboard/custom-threesixty';
import { FooterComponent } from './footer/footer.component';
import { SidemenuComponent } from './sidemenu/sidemenu.component';
import { LaunchBrochureComponent } from './launch-threesixty-dashboard/launch-brochure/launch-brochure.component';
import { EmicalculatorComponent } from './common/emicalculator/emicalculator.component';
import { SetsalesTargetReportComponent } from './manager/setsalestarget-report/setsalestarget-report.component';
import { ProductVideosComponent } from './launch-threesixty-dashboard/product-videos/product-videos.component';
import { AddbatchComponent } from './trainersite/addbatch/addbatch.component';
import { AddTrainingComponent } from './trainersite/addtraining/addtraining.component';
import { AmazingTimePickerModule } from "amazing-time-picker";
import { MySchedulesComponent } from './trainersite/myschedule/myschedule.component';
import { MyschedulesDetailsComponent } from './trainersite/myschedule-details/myschedule-details.component';

import { MyEnquiriesComponent } from './leadmodule/my-enquiries/my-enquiries.component';
import { MyTrainingsComponent } from './leadmodule/my-trainings/my-trainings.component';
import { EnquirypopupComponent } from './leadmodule/enquirypopup/enquirypopup.component';
import { TodaysTaskComponent } from './leadmodule/todays-task/todays-task.component';
import {CustomDatePipe} from './common/custom.datepipe';
import { ActionHistoryComponent } from './leadmodule/action-history/action-history.component';
import { ToasterContainerComponent } from './trainersite/toaster/toastercontainer.component';
import { ToasterComponent } from './trainersite/toaster/toaster.component';
import { ToasterService } from '../app/core/services/toaster.service';
import { MyusersComponent } from './sales_executive/myusers/myusers.component';
import { StatusPopupComponent } from './sales_executive/status-popup/status-popup.component';
import { HoSchedulesComponent } from './trainersite/hoschedule/hoschedule.component';
import { AddHoTrainingComponent } from './trainersite/hoaddtraining/hoaddtraining.component';
import { IlearnReportsComponent } from './manager/ilearn-reports/ilearn-reports.component';
import { ViewClsTrainingComponent } from './trainersite/viewclstrainingdetails/viewclstrainingdetails.component';
import { AddClsTrainingComponent } from './trainersite/addclstraining/addclstraining.component';
import { EditClsTrainingComponent } from './trainersite/editclstraining/editclstraining.component';
import {ScheduleModule, MonthService } from '@syncfusion/ej2-angular-schedule';
import { TrainingNotificationComponent } from './trainersite/trainingnotification/trainingnotification.component';
import { WebcamComponent } from './trainersite/webcam/webcam.component';

import {WebcamModule} from 'ngx-webcam';
import { NewCreateClsTrainingComponent } from './trainersite/newcreateclstraining/newcreateclstraining.component';
import { FilterPipe } from './filter.pipe';
import { NewEditClsTrainingComponent } from './trainersite/neweditclstraining/neweditclstraining.component';
import { DseTrainingFeedbackComponent } from './trainersite/dsetrainingfeedback/dsetrainingfeedback.component';
import { AllTrainingFeedbackComponent } from './trainersite/alltrainingfeedback/alltrainingfeedback.component';
import { CreateenquiryComponent } from './leadmodule/createenquiry/createenquiry.component';
import { ActivityPlannerComponent } from './leadmodule/activity-planner/activity-planner.component';
import { TaskstatusComponent } from './leadmodule/taskstatus/taskstatus.component';
import { NonsyncenquiryComponent } from './leadmodule/nonsyncenquiry/nonsyncenquiry.component';
import { EnquiryProcessComponent } from './leadmodule/enquiry-process/enquiry-process.component';
import { TestrideComponent } from './leadmodule/testride/testride.component';
import { EnquiryStatusComponent } from './leadmodule/enquiry-status/enquiry-status.component';
import { EnquiryStageComponent } from './leadmodule/enquiry-stage/enquiry-stage.component';
import { EnquiryProfileComponent } from './leadmodule/enquiry-profile/enquiry-profile.component';
import { QuotationComponent } from './leadmodule/quotation/quotation.component';
import { PriceListComponent } from './leadmodule/price-list/price-list.component';
import { AddPlanComponent } from './leadmodule/add-plan/add-plan.component';
import { EmiCalulatorComponent } from './leadmodule/emi-calulator/emi-calulator.component';
import { ActivitydaylistComponent } from './leadmodule/activitydaylist/activitydaylist.component';


import { EnquirypopupDealerComponent } from './leadmoduledealer/enquirypopup-dealer/enquirypopup-dealer.component';
import { MyEnquiriesDealerComponent } from './leadmoduledealer/my-enquiries-dealer/my-enquiries-dealer.component';
import { TaskstatusDealerComponent } from './leadmoduledealer/taskstatus-dealer/taskstatus-dealer.component';
import { CreateEnquiryDealerComponent } from './leadmoduledealer/create-enquiry-dealer/create-enquiry-dealer.component';
import { NonsyncenquiryDealerComponent } from './leadmoduledealer/nonsyncenquiry-dealer/nonsyncenquiry-dealer.component';
import { EnquiryStageDealerComponent } from './leadmoduledealer/enquiry-stage-dealer/enquiry-stage-dealer.component';
import { EnquiryStatusDealerComponent } from './leadmoduledealer/enquiry-status-dealer/enquiry-status-dealer.component';
import { TestrideDealerComponent } from './leadmoduledealer/testride-dealer/testride-dealer.component';
import { TodaysTaskDealerComponent } from './leadmoduledealer/todays-task-dealer/todays-task-dealer.component';
import { PriceListDealerComponent } from './leadmoduledealer/price-list-dealer/price-list-dealer.component';
import { SalesDseComponent } from './leadmodule/sales-dse/sales-dse.component';
import { EnquiryDseComponent } from './leadmodule/enquiry-dse/enquiry-dse.component';
import { EnquiryDealerComponent } from './leadmoduledealer/enquiry-dealer/enquiry-dealer.component';
import { SalesDealerComponent } from './leadmoduledealer/sales-dealer/sales-dealer.component';
import { QuotationDealerComponent } from './leadmoduledealer/quotation-dealer/quotation-dealer.component';
import { EmiCalculatorDealerComponent } from './leadmoduledealer/emi-calculator-dealer/emi-calculator-dealer.component';

import { ActionHistoryDealerComponent } from './leadmoduledealer/action-history-dealer/action-history-dealer.component';
import { EnquiryProfileDealerComponent } from './leadmoduledealer/enquiry-profile-dealer/enquiry-profile-dealer.component';
import { UserlistComponent } from './leadmoduledealer/userlist/userlist.component';
import { ActivityPlannerDealerComponent } from './leadmoduledealer/activity-planner-dealer/activity-planner-dealer.component';
import { ActivitydaylistDealerComponent } from './leadmoduledealer/activitydaylist-dealer/activitydaylist-dealer.component';
import { DashboardComponent } from './leadmodulemanager/dashboard/dashboard.component';
import { TodayTaskManagerComponent } from './leadmodulemanager/today-task-manager/today-task-manager.component';
import { TaskstatusManagerComponent } from './leadmodulemanager/taskstatus-manager/taskstatus-manager.component';
import { TestrideManagerComponent } from './leadmodulemanager/testride-manager/testride-manager.component';
import { EnquiryStatusManagerComponent } from './leadmodulemanager/enquiry-status-manager/enquiry-status-manager.component';
import { EnquiryStageManagerComponent } from './leadmodulemanager/enquiry-stage-manager/enquiry-stage-manager.component';
import { DashboardRegionalManagerComponent } from './leadmodulemanager/dashboard-regional-manager/dashboard-regional-manager.component';
import { DashboardZonalManagerComponent } from './leadmodulemanager/dashboard-zonal-manager/dashboard-zonal-manager.component';
import { EnquirypopupManagerComponent } from './leadmodulemanager/enquirypopup-manager/enquirypopup-manager.component';
import { EnquiryReportComponent } from './leadmodule/enquiry-report/enquiry-report.component';
import { EnquiryReportDealerComponent } from './leadmoduledealer/enquiry-report-dealer/enquiry-report-dealer.component';
import { ActionHistoryManagerComponent } from './leadmodulemanager/action-history-manager/action-history-manager.component';
import { EnquiryProfileManagerComponent } from './leadmodulemanager/enquiry-profile-manager/enquiry-profile-manager.component';
import { ManagerSalesComponent } from './leadmodulemanager/manager-sales/manager-sales.component';
import { ActivityPlannerManagerComponent } from './leadmodulemanager/activity-planner-manager/activity-planner-manager.component';
import { ActivitydaylistManagerComponent } from './leadmodulemanager/activitydaylist-manager/activitydaylist-manager.component';
import { EnquiryManagerComponent } from './leadmodulemanager/enquiry-manager/enquiry-manager.component';
import { ManagerDselistComponent } from './leadmodulemanager/manager-dselist/manager-dselist.component';
import { AreaEnquiryReportComponent } from './leadmodulemanager/area-enquiry-report/area-enquiry-report.component';
import { RegionalEnquiryReportComponent } from './leadmodulemanager/regional-enquiry-report/regional-enquiry-report.component';
import { ZoneEnquiryReportComponent } from './leadmodulemanager/zone-enquiry-report/zone-enquiry-report.component';
import { DashboardHoComponent } from './leadmodulemanager/dashboard-ho/dashboard-ho.component';
import { DashboardTrainerComponent } from './leadmodulemanager/dashboard-trainer/dashboard-trainer.component';
import { HoEnquiryReportComponent } from './leadmodulemanager/ho-enquiry-report/ho-enquiry-report.component';
import { TrainerEnquiryReportComponent } from './leadmodulemanager/trainer-enquiry-report/trainer-enquiry-report.component';

import { ClassroomReportsComponent } from './trainersite/trainingreports/classroom-reports/classroom-reports.component';
import { TrainingFeedbackReportsComponent } from './trainersite/trainingreports/training-feedback-reports/training-feedback-reports.component';
import { TrainingIlearnReportsComponent } from './trainersite/trainingreports/training-ilearn-reports/training-ilearn-reports.component';
import { TrainingDeclineReportsComponent } from './trainersite/trainingreports/training-decline-reports/training-decline-reports.component';
import { TrainingAbsentReportComponent } from './trainersite/trainingreports/training-absent-report/training-absent-report.component';
import { TrainingClosureReportComponent } from './trainersite/trainingreports/training-closure-report/training-closure-report.component';
import { TrainingDseFeedbackReportComponent } from './trainersite/trainingreports/training-dse-feedback-report/training-dse-feedback-report.component';
import { TrainingManualAttendanceReportComponent } from './trainersite/trainingreports/training-manual-attendance-report/training-manual-attendance-report.component';
import { TrainingVariousComponent } from './trainersite/trainingreports/training-various/training-various.component';


// import { FullCalendarModule } from '@fullcalendar/angular'; 
// import dayGridPlugin from '@fullcalendar/daygrid'; 
// FullCalendarModule.registerPlugins([ // register FullCalendar plugins
//   dayGridPlugin
//  ]);

@NgModule({
  declarations: [
    AppComponent,
    LandingComponent,
    LoginComponent,
    MainHeaderComponent,
    SignupModalComponent,
    ForgotPasswordComponent,
    SetPasswwordComponent,
    UserProfileComponent,
    MytrainingComponent,
    MycontentComponent,
    ContentPopupComponent,
    MyassessmentComponent,
    AssessmentQuestionComponent,
    ScorePopupComponent,
    LederboardComponent,
    FeedbackComponent,
    FeedbackSurveyComponent,
    BulletinComponent,
    WalletComponent,
    WalletCatComponent,
    AboutComponent,
    FaqComponent,
    BulletinDetailsComponent,
    DashboardPopupComponent,
    DashboardAmDetailsComponent,
    DashboardDseDetailsComponent,
    DashboardBigBikesDetailsComponent,
    SalesReportComponent,
    DseReportComponent,
    AssessmentReportComponent,
    AnaliticalReportComponent,
    LeaderboardReportComponent,
    LeaderboardAssessmentComponent,
    CourseReportComponent,
    SetsalesTargetReportComponent,
    FeedbackReportComponent,
    SetsalesReportComponent,
    RewardReportComponent,
    CoursedetailPopupComponent,
    FeedbackPopupComponent,
    TrainerComponent,
    TrainingcourseComponent,
    AddparticipantpopComponent,
    ConfirmpopComponent,
    WalletProductDescComponent,
    WalletProductListComponent,
    ConfirmPopupComponent,
    LaunchThreesixtyDashboardComponent,
    LauchThreesixtyComponent,
    LauchThreesixtyComparisonComponent,
    LaunchSalesComponent,
    LaunchPersonalizeComponent,
    LauchEnquiryComponent,
    FooterComponent,
    SidemenuComponent,
    LaunchBrochureComponent,
    LeaderboardRankingComponent,
    EmicalculatorComponent,
    ProductVideosComponent,
    AddTrainingComponent,
    NewCreateClsTrainingComponent,
    NewEditClsTrainingComponent,
    DseTrainingFeedbackComponent,
    AllTrainingFeedbackComponent,
    AddbatchComponent,
    MySchedulesComponent,
    MyschedulesDetailsComponent,
    MyEnquiriesComponent,
    MyTrainingsComponent,
    EnquirypopupComponent,
    TodaysTaskComponent,
    CustomDatePipe,
    ActionHistoryComponent,
    ToasterContainerComponent, 
    ToasterComponent,
    ViewClsTrainingComponent,
    AddClsTrainingComponent,
    EditClsTrainingComponent,
    MyusersComponent,StatusPopupComponent,
    TrainingNotificationComponent,
    HoSchedulesComponent,AddHoTrainingComponent, IlearnReportsComponent, WebcamComponent, 
    FilterPipe, CreateenquiryComponent, ActivityPlannerComponent, TaskstatusComponent, NonsyncenquiryComponent, EnquiryProcessComponent, TestrideComponent, EnquiryStatusComponent, EnquiryStageComponent, EnquiryProfileComponent, QuotationComponent,PriceListComponent, AddPlanComponent, EmiCalulatorComponent, ActivitydaylistComponent, 
    
    EnquirypopupDealerComponent, MyEnquiriesDealerComponent, TaskstatusDealerComponent, CreateEnquiryDealerComponent, NonsyncenquiryDealerComponent, EnquiryStageDealerComponent, EnquiryStatusDealerComponent, TestrideDealerComponent, TodaysTaskDealerComponent, PriceListDealerComponent, SalesDseComponent, EnquiryDseComponent, EnquiryDealerComponent, SalesDealerComponent, QuotationDealerComponent, EmiCalculatorDealerComponent, ActionHistoryDealerComponent, EnquiryProfileDealerComponent, UserlistComponent, ActivityPlannerDealerComponent, ActivitydaylistDealerComponent, DashboardComponent, TodayTaskManagerComponent, TaskstatusManagerComponent, TestrideManagerComponent, EnquiryStatusManagerComponent, EnquiryStageManagerComponent, DashboardRegionalManagerComponent, DashboardZonalManagerComponent, EnquirypopupManagerComponent, EnquiryReportComponent, EnquiryReportDealerComponent, ActionHistoryManagerComponent, EnquiryProfileManagerComponent, ManagerSalesComponent, ActivityPlannerManagerComponent, ActivitydaylistManagerComponent, EnquiryManagerComponent, ManagerDselistComponent, AreaEnquiryReportComponent, RegionalEnquiryReportComponent, ZoneEnquiryReportComponent, DashboardHoComponent, DashboardTrainerComponent, HoEnquiryReportComponent, TrainerEnquiryReportComponent, ClassroomReportsComponent, TrainingFeedbackReportsComponent, TrainingIlearnReportsComponent, TrainingDeclineReportsComponent, TrainingAbsentReportComponent, TrainingClosureReportComponent, TrainingDseFeedbackReportComponent, TrainingManualAttendanceReportComponent, TrainingVariousComponent

   
  ],
  imports: [
    HttpModule,
    BrowserModule,
    AppRoutingModule,
    SlideshowModule,
    NgSelectModule,
    FormsModule,
    ImageCropperModule,
    ReactiveFormsModule,
    NgDatepickerModule,
    DpDatePickerModule,
    PdfViewerModule,
    ChartsModule,
    NgxPaginationModule,
    OwlModule,
    RouterModule.forRoot(routes, {
      useHash: true
    }),
    NgxMyDatePickerModule.forRoot(),
    NgCircleProgressModule.forRoot(),
    AmazingTimePickerModule,
    ScheduleModule,
    // FullCalendarModule,
    WebcamModule
    ],
  providers: [HyperService, DatePipe, AuthGuardService,ImageClass,ToasterService,MonthService],
  bootstrap: [AppComponent]
})
export class AppModule { }
