import { EndHigriDateComponent } from './../end-higri-date/end-higri-date.component';
import { AddAdvertisingServiceComponent } from './advertising-services/add-advertising-service/add-advertising-service.component';
import { AdvertisingServicesListComponent } from './advertising-services/advertising-services-list/advertising-services-list.component';
import { AddStatisticComponent } from './statistics/add-statistic/add-statistic.component';
import { AddExternalAchievementComponent } from './external-achievements/add-external-achievement/add-external-achievement.component';
import { AddEventCalendarComponent } from './event-calendars/add-event-calendar/add-event-calendar.component';
import { EventCalendarsListComponent } from './event-calendars/event-calendars-list/event-calendars-list.component';
import { AddVisitingTimeComponent } from './visiting-times/add-visiting-time/add-visiting-time.component';
import { AddContactUsComponent } from './contact-us/add-contact-us/add-contact-us.component';
import { ContactUsListComponent } from './contact-us/contact-us-list/contact-us-list.component';
import { AddBarEventComponent } from './bar-events/add-bar-event/add-bar-event.component';
import { BarEventsListComponent } from './bar-events/bar-events-list/bar-events-list.component';
import { SharedModule } from './../shared/shared.module';
import { EventsComponent } from './events/events.component';
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';

//import { NumberDerictiveDirective } from './../number-derictive.directive';
//import { EnglishCharactersDirective } from './../shared/english-characters.directive';
import { ModalModule } from 'ngx-modialog';
import { FiltterPipePipe } from './../filtter-pipe.pipe';
import { JwSocialButtonsModule } from 'jw-angular-social-buttons';
//import { OnlyNumberDirective } from '../shared/only-number.directive';
import { ShortenPipe } from '../shorten.pipe';
import { HigriDateComponent } from '../higri-date/higri-date.component';


import { DashBoardRouting } from './dashboard-routing';

import { DashboardService } from './../shared/dashboard.service';
import { InternalSerService } from './../shared/internal-ser.service';
import { AchievementsService } from './../shared/achievements.service';
import { ExternalSerService } from './../shared/external-ser.service';
import { MainMenuService } from './../shared/main-menu.service';
import { FooterService } from './../shared/footer.service';
import { NewService } from './../shared/new.service';
import { EventService } from './../shared/event.service';
import { HospitalService } from './../shared/hospital.service';
import { ReportService } from './../shared/report.service';
import { DepartmentService } from './../shared/department.service';
import { SectionService } from './../shared/section.service';
import { RolesService } from './../shared/roles.service';

import { DashboardContent } from './dashboard-content';


import {NgxPaginationModule} from 'ngx-pagination';
import { AlifeFileToBase64Module } from 'alife-file-to-base64';
import { QuillModule } from 'ngx-quill';


import { AddAdverComponent } from './advertisiment/add-advertisiment/add-adver/add-adver.component';
import { AdvertisimentComponent } from './advertisiment/advertisiment.component';
import { RoleReport2Component } from './roles/role-report2/role-report2.component';
import { UserPermissionComponent } from './users/user-permission/user-permission.component';
import { AddMenuComponent } from './main-menu/add-menu/add-menu.component';
import { MainListComponent } from './main-menu/main-list/main-list.component';
import { AddLectureComponent } from './lectures/add-lecture/add-lecture.component';
import { LecturesListComponent } from './lectures/lectures-list/lectures-list.component';
import { AddInternalServicesComponent } from './internal-services/add-internal-services/add-internal-services.component';
import { InternalServicesComponent } from './internal-services/internal-services.component';
import { FooterListComponent } from './footer/footer-list/footer-list.component';
import { AddNewsComponent } from './news/add-news/add-news.component';
import { NewsListComponent } from './news/news-list/news-list.component';
import { AddTabComponent } from './tabs/add-tab/add-tab.component';
import { TabListComponent } from './tabs/tab-list/tab-list.component';
import { AddAchievementComponent } from './achievements/add-achievement/add-achievement.component';
import { AchievementComponent } from './achievements/achievement-list/achievement.component';
import { AddExternalComponent } from './external-services/add-external/add-external.component';
import { AddEventComponent } from './events/add-event/add-event.component';
import { AddHospitalComponent } from './hospitals/add-hospital/add-hospital.component';
import { HospitalListComponent } from './hospitals/hospital-list/hospital-list.component';
import { AddSectionComponent } from './sections/add-section/add-section.component';
import { AddDepartmentComponent } from './department/add-department/add-department.component';
import { AddRolesComponent } from './roles/add-roles/add-roles.component';
import { AddJoinUsComponent } from './add-join-us/add-join-us.component';
import { DepartmentListComponent } from './department/department-list/department-list.component';
import { UsersComponent } from './users/users.component';
import { ServiceItemComponent } from './service-item/service-item.component';
import { AuthGuardService as AuthGuard } from '../shared/auth-guard.service';
import { RolesListComponent } from './roles/roles-list/roles-list.component';
import { SectionListComponent } from './sections/section-list/section-list.component';
import { ReportsPageComponent } from './reports-page/reports-page.component';
import { FormUserComponent } from './users/form-user/form-user.component';
import { ExternalListComponent } from './external-services/external-list/external-list.component';
import { AddFooterComponent } from './footer/add-footer/add-footer.component';
import { UserReportComponent } from './users/user-report/user-report.component';
import { RoleReportComponent } from './roles/role-report/role-report.component';
import { ReportListComponent } from './report-list/report-list.component';

import { UserService } from '../shared/user.service';
import { VisitingTimesListComponent } from './visiting-times/visiting-times-list/visiting-times-list.component';
import { ExternalAchievementsListComponent } from './external-achievements/external-achievements-list/external-achievements-list.component';
import { StatisticsListComponent } from './statistics/statistics-list/statistics-list.component';
import { MapComponent } from './map/map.component';
// import { NumberDirective } from './number.directive';
// import { EnglishDirective } from './english.directive';

import { AgmCoreModule } from '@agm/core';
import { SupervisorListComponent } from './supervisor/supervisor-list/supervisor-list.component';
import { SupervisorAddComponent } from './supervisor/supervisor-add/supervisor-add.component';
import { AbsorpationListComponent } from './absorpation-plan/absorpation-list/absorpation-list.component';
import { AbsorpationAddComponent } from './absorpation-plan/absorpation-add/absorpation-add.component';
import { TrainnerDataListComponent } from './trainner-data/trainner-data-list/trainner-data-list.component';
import { ReviewTraineeDataListComponent } from './reivew-trainee-data/review-trainee-data-list/review-trainee-data-list.component';
import { TrainnerDataAddComponent } from './trainner-data/trainner-data-add/trainner-data-add.component';
import { ReviewTraineeAddComponent } from './reivew-trainee-data/review-trainee-add/review-trainee-add.component';
import { SectionReviewTraineeListComponent } from './section-review-for-trainee/section-review-trainee-list/section-review-trainee-list.component';
import { SectionReviewTraineeAddComponent } from './section-review-for-trainee/section-review-trainee-add/section-review-trainee-add.component';
import { RegistrationTraineeMovementListComponent } from './Registration-trainee-movement/registration-trainee-movement-list/registration-trainee-movement-list.component';
import { RegistrationTraineeMovementAddComponent } from './Registration-trainee-movement/registration-trainee-movement-add/registration-trainee-movement-add.component';
import { PrintCardTraineeListComponent } from './print-card-trainee/print-card-trainee-list/print-card-trainee-list.component';
import { PrintCardTraineeAddComponent } from './print-card-trainee/print-card-trainee-add/print-card-trainee-add.component';
import { FinalAccerditationListComponent } from './final-accreditation-of-trainees/final-accerditation-list/final-accerditation-list.component';
import { FinalAccerditationAddComponent } from './final-accreditation-of-trainees/final-accerditation-add/final-accerditation-add.component';
import { VehicleListComponent } from './vehicle/vehicle-list/vehicle-list.component';
import { VehicleAddComponent } from './vehicle/vehicle-add/vehicle-add.component';
import { ModelVehicleListComponent } from './model-vehicle/model-vehicle-list/model-vehicle-list.component';
import { ModelVehicleAddComponent } from './model-vehicle/model-vehicle-add/model-vehicle-add.component';
import { RegistrationVehicleListComponent } from './registration-vehicle/registration-vehicle-list/registration-vehicle-list.component';
import { RegistrationVehicleAddComponent } from './registration-vehicle/registration-vehicle-add/registration-vehicle-add.component';
import { RegisterMovementVehicleListComponent } from './register-movement-vehicle/register-movement-vehicle-list/register-movement-vehicle-list.component';
import { RegisterMovementVehicleAddComponent } from './register-movement-vehicle/register-movement-vehicle-add/register-movement-vehicle-add.component';
import { VehicleMaintenanceListComponent } from './vehicle-maintenance/vehicle-maintenance-list/vehicle-maintenance-list.component';
import { VehicleMaintenanceAddComponent } from './vehicle-maintenance/vehicle-maintenance-add/vehicle-maintenance-add.component';
import { ExistingReportComponent } from './reports-existing-vehicles/existing-report/existing-report.component';
import { VehicleMovementReportComponent } from './vehicle-movement-report/vehicle-movement-report/vehicle-movement-report.component';
import { FinalTraineeReportComponent } from './final-trainee-report/final-trainee-report.component';


@NgModule({
    declarations: [
        DashboardContent,
        ServiceItemComponent,
        ServiceItemComponent,
        UsersComponent,
        FormUserComponent,
        FiltterPipePipe,
        RolesListComponent,
        AddRolesComponent,
        DepartmentListComponent,
        AddDepartmentComponent,
        SectionListComponent,
        AddSectionComponent,
        UserPermissionComponent,
        UserReportComponent,
        RoleReportComponent,
        RoleReport2Component,
        ReportsPageComponent,
        ReportListComponent,
        //EnglishCharactersDirective,
        //OnlyNumberDirective,
        HospitalListComponent,
        AddHospitalComponent,
        EventsComponent,
        AddEventComponent,
        ExternalListComponent,
        AddExternalComponent,
        AchievementComponent,
        AddAchievementComponent,
        TabListComponent,
        AddTabComponent,
        NewsListComponent,
        AddNewsComponent,
        FooterListComponent,
        AddFooterComponent,
        InternalServicesComponent,
        AddInternalServicesComponent,
        LecturesListComponent,
        AddLectureComponent,
        MainListComponent,
        AddMenuComponent,
        AddJoinUsComponent,
        ShortenPipe,
        HigriDateComponent,
        EndHigriDateComponent,
        AdvertisimentComponent,
        AddAdverComponent,
        BarEventsListComponent,
        AddBarEventComponent,
        ContactUsListComponent,
        AddContactUsComponent,
        VisitingTimesListComponent,
        AddVisitingTimeComponent,
        EventCalendarsListComponent,
        AddEventCalendarComponent,
        ExternalAchievementsListComponent,
        AddExternalAchievementComponent,
        StatisticsListComponent,
        AddStatisticComponent,
        AdvertisingServicesListComponent,
        AddAdvertisingServiceComponent,
        MapComponent,
        SupervisorListComponent,
        SupervisorAddComponent,
        AbsorpationListComponent,
        AbsorpationAddComponent,
        TrainnerDataListComponent,
        TrainnerDataAddComponent,
        ReviewTraineeDataListComponent,
        ReviewTraineeAddComponent,
        SectionReviewTraineeListComponent,
        SectionReviewTraineeAddComponent,
        RegistrationTraineeMovementListComponent,
        RegistrationTraineeMovementAddComponent,
        PrintCardTraineeListComponent,
        PrintCardTraineeAddComponent,
        FinalAccerditationListComponent,
        FinalAccerditationAddComponent,
        VehicleListComponent,
        VehicleAddComponent,
        ModelVehicleListComponent,
        ModelVehicleAddComponent,
        RegistrationVehicleListComponent,
        RegistrationVehicleAddComponent,
        RegisterMovementVehicleListComponent,
        RegisterMovementVehicleAddComponent,
        VehicleMaintenanceListComponent,
        VehicleMaintenanceAddComponent,
        ExistingReportComponent,
        VehicleMovementReportComponent,
        FinalTraineeReportComponent,
    ],
    imports: [
        CommonModule,
        DashBoardRouting,
        JwSocialButtonsModule,
        NgxPaginationModule,
        AlifeFileToBase64Module,
        SharedModule,
        NgbModule.forRoot(),
        ModalModule.forRoot(),
        FormsModule,
        ReactiveFormsModule,
        AgmCoreModule.forRoot({
            apiKey: 'AIzaSyAxlgymaua-8BszEryfQIOr9PLKrtEqU2I'
          }),
        QuillModule
    ],
    providers: [
        UserService,
        RolesService,
        SectionService,
        DepartmentService,
        ReportService,
        HospitalService,
        EventService,
        NewService,
        FooterService,
        MainMenuService,
        ExternalSerService,
        AchievementsService,
        InternalSerService,
        DashboardService,
    ],
})

export class DashBoardModule {

}
