import {RouterModule} from "@angular/router";
import {CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA} 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 {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 {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 {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 {NetworkCheckComponent} from './overAll/network-check/network-check.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';
import {ThresholdComponent} from './modal/threshold/threshold.component';
import {LineComponent} from './netTopology/model/line/line.component';
import {NodeComponent} from './netTopology/model/node/node.component';
import {TemplateComponent} from './overAll/template/template.component';
import {DiscoveryComponent} from './modal/discovery/discovery.component';
import {StrategyComponent} from './modal/strategy/strategy.component';
import {DiscoveryListComponent} from './overAll/template/discovery-list/discovery-list.component';
import {CheckListComponent} from './overAll/template/check-list/check-list.component';
import {TriggerListComponent} from './overAll/template/trigger-list/trigger-list.component';
import {TriggerPrototypeComponent} from './overAll/template/modal/trigger-prototype/trigger-prototype.component';
import {CheckPrototypeComponent} from './overAll/template/modal/check-prototype/check-prototype.component';
import {TriListComponent} from './overAll/template/list/tri-list/tri-list.component';
import {ItemListComponent} from './overAll/template/list/item-list/item-list.component';
import {TriModalComponent} from './overAll/template/list/tri-modal/tri-modal.component';
import {ToRepeatPipe} from './shared/common/to-repeat.pipe';
import {JtopoComponent} from './modal/jtopo/jtopo.component';
import {SelectRadioGroupComponent} from './modal/select-radio-group/select-radio-group.component';
import {BOverviewComponent} from './business/b-overview/b-overview.component';
import {BTopologyComponent} from './business/b-topology/b-topology.component';
import {EffectAnalysisComponent} from './business/effect-analysis/effect-analysis.component';
import {LogAnalysisComponent} from './business/log-analysis/log-analysis.component';
import {BConfigComponent} from './business/b-config/b-config.component';
import {BusinessService} from './business/business.service';
import {BusinessComponent} from './business/modal/business/business.component';
import {DisableControlDirective} from './shared/common/disable-control.directive';
import {SelectTriggerComponent} from './modal/select-trigger/select-trigger.component';
import {WebModalComponent} from './modal/web-modal/web-modal.component';
import {WorkReportComponent} from './business/modal/work-report/work-report.component';
import {SignalComponent} from './shared/signal/signal.component';
import {ServerComponent} from './overAll/modal/server/server.component';
import {DatabaseComponent} from './overAll/modal/database/database.component';
import {SwitchComponent} from './overAll/modal/switch/switch.component';

@NgModule({
    imports: [
        RouterModule,
        CommonModule,
        NgxEchartsModule,
        FormsModule,
        ReactiveFormsModule,
        NgZorroAntdModule.forRoot()
    ],
    declarations: [
        HomeComponent,
        JhiMainComponent,
        NavbarComponent,
        SidebarComponent,
        AlarmListComponent,
        AlarmLogComponent,
        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,
        OperationWorkComponent,
        ResourceAlarmComponent,
        ResourceUsabilComponent,
        NetworkCheckComponent,
        AssetPartComponent,
        ContractTrackComponent,
        InspectPlanComponent,
        KonwledgeBaseComponent,
        PersonelManageComponent,
        WorkHandleComponent,
        WebsiteComponent,
        NetworkDetailComponent,
        FindUserComponent,
        TopologyComponent,
        CheckComponent,
        TopologyImgComponent,
        DeviceComponent,
        IconComponent,
        ToUtilPipe,
        ToRepeatPipe,
        DisableControlDirective,
        LookPlanComponent,
        PlanModalComponent,
        SelectPersonComponent,
        SelectRoleComponent,
        SeparationComponent,
        TypeAsetsComponent,
        AssetsDetailComponent,
        AssetsComponent,
        ChildAssetsComponent,
        UploadComponent,
        HandleDetailComponent,
        HandleEventComponent,
        EventComponent,
        TransforComponent,
        LinkInventoryComponent,
        AnalysisDealComponent,
        AnalysisEventComponent,
        AnalysisStatusComponent,
        PararmsComponent,
        ParamsTypeComponent,
        SelectGroupComponent,
        ModifyPasswordComponent,
        FullScreenComponent,
        LookPlanComponent,
        ThresholdComponent,
        LineComponent,
        NodeComponent,
        TemplateComponent,
        DiscoveryComponent,
        StrategyComponent,
        DiscoveryListComponent,
        CheckListComponent,
        TriggerListComponent,
        TriggerPrototypeComponent,
        CheckPrototypeComponent,
        TriListComponent,
        ItemListComponent,
        TriModalComponent,
        JtopoComponent,
        SelectRadioGroupComponent,
        BOverviewComponent,
        BTopologyComponent,
        EffectAnalysisComponent,
        LogAnalysisComponent,
        BConfigComponent,
        BusinessComponent,
        SelectTriggerComponent,
        WebModalComponent,
        WorkReportComponent,
        SignalComponent,
        ServerComponent,
        DatabaseComponent,
        SwitchComponent,
    ],
    providers:[
        OverAllService,
        SystemService,
        AlarmService,
        TopologyService,
        AnalysisService,
        WorkService,
        BusinessService,
        { provide: NZ_I18N, useValue: zh_CN },
    ],
    exports:[
        BasiCheckComponent,
        BasicEditComponent,
        BasicKeyComponent,
        CreateGroupComponent,
        NewTypeComponent,
        WarnListComponent,
        PauseComponent
    ],
    schemas: [ CUSTOM_ELEMENTS_SCHEMA,NO_ERRORS_SCHEMA ],
})
export class AppMainModule { }
