import {RouterModule} from "@angular/router";
import {CUSTOM_ELEMENTS_SCHEMA, NgModule} from '@angular/core';
import { CommonModule } from '@angular/common';
import { NgxEchartsModule } from "ngx-echarts";
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {NgZorroAntdModule,NZ_I18N,zh_CN} from 'ng-zorro-antd';
import {AlarmListComponent} from './alarm/alarm-list/alarm-list.component';
import {AlarmLogComponent} from './alarm/alarm-log/alarm-log.component';
import {AlarmManageComponent} from './alarm/alarm-manage/alarm-manage.component';
import {AlarmSetComponent} from './alarm/alarm-set/alarm-set.component';
import {SendLogComponent} from './alarm/modal/send-log/send-log.component';
import {NowAlarmComponent} from './alarm/now-alarm/now-alarm.component';
import {SendSetComponent} from './alarm/send-set/send-set.component';
import {BasicDetailComponent} from './overAll/basic/basic-detail/basic-detail.component';
import {BasicComponent} from './overAll/basic/basic.component';
import {AuditComponent} from './system/audit/audit.component';
import {ExamineComponent} from './system/examine/examine.component';
import {GroupComponent} from './system/group/group.component';
import {PowerComponent} from './system/power/power.component';
import {BasiCheckComponent} from './modal/basi-check/basi-check.component';
import {BasicEditComponent} from './modal/basic-edit/basic-edit.component';
import {BasicKeyComponent} from './modal/basic-key/basic-key.component';
import {CreateGroupComponent} from './modal/create-group/create-group.component';
import {NewTypeComponent} from './modal/new-type/new-type.component';
import {WarnListComponent} from './modal/warn-list/warn-list.component';
import {JhiMainComponent, NavbarComponent, SidebarComponent} from './layouts';
import {OverAllService} from './overAll/overAll.service';
import {SystemService} from './system/system.service';
import {AlarmService} from './alarm/alarm.service';
import {PauseComponent} from './modal/pause/pause.component';
import {AlarmModalComponent} from './modal/alarm-modal/alarm-modal.component';
import {UserComponent} from './system/modal/user/user.component';
import {GroupModalComponent} from './system/modal/group-modal/group-modal.component';
import {RoleComponent} from './system/modal/role/role.component';
import {NeTopologyComponent} from './netTopology/ne-topology/ne-topology.component';
import {FlowTrendComponent} from './netTopology/flow-trend/flow-trend.component';
import {TopologyService} from './netTopology/topology.service';
import {AnalysisService} from './analysis/analysis.service';
import {SmartService} from './smart/smart.service';
import {WorkService} from './work/work.service';
import {AlarmGroupComponent} from './alarm/modal/alarm-group/alarm-group.component';
import {MediaTypeComponent} from './alarm/modal/media-type/media-type.component';
import {AlarmTargetComponent} from './alarm/modal/alarm-target/alarm-target.component';
import {BusinessService} from './business/business.service';
import {BusinessSupComponent} from './analysis/business-sup/business-sup.component';
import {OperationWorkComponent} from './analysis/operation-work/operation-work.component';
import {ResourceAlarmComponent} from './analysis/resource-alarm/resource-alarm.component';
import {ResourceUsabilComponent} from './analysis/resource-usabil/resource-usabil.component';
import {BTopologyComponent} from './business/b-topology/b-topology.component';
import {BusinessConfigComponent} from './business/business-config/business-config.component';
import {EffectAnalysisComponent} from './business/effect-analysis/effect-analysis.component';
import {OverviewComponent} from './business/overview/overview.component';
import {NetworkCheckComponent} from './overAll/network-check/network-check.component';
import {BackupComponent} from './smart/backup/backup.component';
import {HandleComponent} from './smart/handle/handle.component';
import {ScriptConfigComponent} from './smart/script-config/script-config.component';
import {AssetPartComponent} from './work/asset-part/asset-part.component';
import {ContractTrackComponent} from './work/contract-track/contract-track.component';
import {InspectPlanComponent} from './work/inspect-plan/inspect-plan.component';
import {KonwledgeBaseComponent} from './work/konwledge-base/konwledge-base.component';
import {PersonelManageComponent} from './work/personel-manage/personel-manage.component';
import {WorkHandleComponent} from './work/work-handle/work-handle.component';
import {WebsiteComponent} from './modal/website/website.component';
import {NetworkDetailComponent} from './overAll/network-check/network-detail/network-detail.component';
import {FindUserComponent} from './alarm/modal/find-user/find-user.component';
import {TopologyComponent} from './netTopology/model/topology/topology.component';
import {CheckComponent} from './netTopology/model/check/check.component';
import {TopologyImgComponent} from './netTopology/topology-img/topology-img.component';
import {DeviceComponent} from './netTopology/model/device/device.component';
import {IconComponent} from './netTopology/model/icon/icon.component';
import {ToUtilPipe} from './shared/common/toUtil.pipe';
import {JhiTranslateComponent} from 'ng-jhipster';
import {LookPlanComponent} from './work/modal/look-plan/look-plan.component';
import {PlanModalComponent} from './work/modal/plan-modal/plan-modal.component';
import {SelectPersonComponent} from './modal/select-person/select-person.component';
import {SelectRoleComponent} from './modal/select-role/select-role.component';
import {SeparationComponent} from './system/modal/separation/separation.component';
import {TypeAsetsComponent} from './work/modal/type-asets/type-asets.component';
import {AssetsDetailComponent} from './work/asset-part/assets-detail/assets-detail.component';
import {AssetsComponent} from './work/modal/assets/assets.component';
import {ChildAssetsComponent} from './work/asset-part/child-assets/child-assets.component';
import {UploadComponent} from './work/modal/upload/upload.component';
import {HandleDetailComponent} from './work/work-handle/handle-detail/handle-detail.component';
import {HandleEventComponent} from './work/work-handle/handle-event/handle-event.component';
import {EventComponent} from './work/work-handle/Event/event.component';
import {TransforComponent} from './work/modal/transfor/transfor.component';
import {LinkInventoryComponent} from './work/modal/link-inventory/link-inventory.component';
import {AnalysisDealComponent} from './analysis/operation-work/analysis-deal/analysis-deal.component';
import {AnalysisEventComponent} from './analysis/operation-work/analysis-event/analysis-event.component';
import {AnalysisStatusComponent} from './analysis/operation-work/analysis-status/analysis-status.component';
import {PararmsComponent} from './work/pararms/pararms.component';
import {ParamsTypeComponent} from './work/modal/params-type/params-type.component';
import {HomeComponent} from './home/home.component';
import {SelectGroupComponent} from './modal/select-group/select-group.component';
import {ModifyPasswordComponent} from './modal/modify-password/modify-password.component';
import {FullScreenComponent} from './modal/full-screen/full-screen.component';

@NgModule({
    imports: [
        RouterModule,
        CommonModule,
        NgxEchartsModule,
        FormsModule,
        ReactiveFormsModule,
        NgZorroAntdModule.forRoot()
    ],
    declarations: [
        HomeComponent,
        JhiMainComponent,
        NavbarComponent,
        SidebarComponent,
        AlarmListComponent,
        AlarmLogComponent,
        AlarmManageComponent,
        AlarmSetComponent,
        SendLogComponent,
        NowAlarmComponent,
        SendSetComponent,
        BasicDetailComponent,
        BasicComponent,
        AuditComponent,
        ExamineComponent,
        GroupComponent,
        PowerComponent,
        BasiCheckComponent,
        BasicEditComponent,
        BasicKeyComponent,
        CreateGroupComponent,
        NewTypeComponent,
        WarnListComponent,
        PauseComponent,
        AlarmModalComponent,
        UserComponent,
        GroupModalComponent,
        RoleComponent,
        NeTopologyComponent,
        FlowTrendComponent,
        AlarmGroupComponent,
        MediaTypeComponent,
        AlarmTargetComponent,
        BusinessSupComponent,
        OperationWorkComponent,
        ResourceAlarmComponent,
        ResourceUsabilComponent,
        BTopologyComponent,
        BusinessConfigComponent,
        EffectAnalysisComponent,
        OverviewComponent,
        NetworkCheckComponent,
        BackupComponent,
        HandleComponent,
        ScriptConfigComponent,
        AssetPartComponent,
        ContractTrackComponent,
        InspectPlanComponent,
        KonwledgeBaseComponent,
        PersonelManageComponent,
        WorkHandleComponent,
        WebsiteComponent,
        NetworkDetailComponent,
        FindUserComponent,
        TopologyComponent,
        CheckComponent,
        TopologyImgComponent,
        DeviceComponent,
        IconComponent,
        ToUtilPipe,
        LookPlanComponent,
        PlanModalComponent,
        SelectPersonComponent,
        SelectRoleComponent,
        SeparationComponent,
        TypeAsetsComponent,
        AssetsDetailComponent,
        AssetsComponent,
        ChildAssetsComponent,
        UploadComponent,
        HandleDetailComponent,
        HandleComponent,
        HandleEventComponent,
        EventComponent,
        TransforComponent,
        LinkInventoryComponent,
        AnalysisDealComponent,
        AnalysisEventComponent,
        AnalysisStatusComponent,
        PararmsComponent,
        ParamsTypeComponent,
        SelectGroupComponent,
        ModifyPasswordComponent,
        FullScreenComponent,
    ],
    providers:[
        OverAllService,
        SystemService,
        AlarmService,
        TopologyService,
        AnalysisService,
        BusinessService,
        SmartService,
        WorkService,
        { provide: NZ_I18N, useValue: zh_CN },
    ],
    exports:[
        BasiCheckComponent,
        BasicEditComponent,
        BasicKeyComponent,
        CreateGroupComponent,
        NewTypeComponent,
        WarnListComponent,
        PauseComponent
    ],
    schemas: [ CUSTOM_ELEMENTS_SCHEMA ],
})
export class AppMainModule { }
