/**
 * Created by stefania on 9/16/16.
 */
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule, JsonpModule } from '@angular/http';
import { AppComponent } from "./app.component";
import { routing, appRoutingProviders } from "./app.routing";
import { DashboardComponent } from "./dashboard.component";
import { TopicsComponent } from "./pages/faq/topics.components";
import { QuestionsComponent } from "./pages/faq/questions.component";
import { FAQService } from "./services/faq.service";
import { ModalModule } from 'ngx-bootstrap';
//import { CollapseModule } from 'ngx-bootstrap';
//import { AccordionModule } from 'ngx-bootstrap';
import { TopicsFormComponent } from "./pages/faq/topics-form.component";
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ModalFormComponent } from "./pages/modal-form.component";
import { QuestionsFormComponent } from "./pages/faq/questions-form.component";
import { DeleteConfirmationDialogComponent } from "./pages/delete-confirmation-dialog.component";
// import { JWBootstrapSwitchModule } from 'jw-bootstrap-switch-ng2';
import { PagesComponent } from "./pages/page/pages.component";
import { HelpContentService } from "./services/help-content.service";
import { PageFormComponent } from "./pages/page/page-form.component";
import { PageHelpContentsComponent } from "./pages/helpcontent/page-help-contents.component";
import { NewPageHelpContentComponent } from "./pages/helpcontent/new-page-help-content.component";
import { CKEditorModule } from 'ng2-ckeditor';
import { PageContentFormComponent } from "./pages/helpcontent/page-help-content-form.component";
import { EditPageHelpContentComponent } from "./pages/helpcontent/edit-page-help-content.component";
import { CommunitiesComponent } from './pages/community/communities.component';
import { CommunityFormComponent } from './pages/community/community-form.component';
import { EntitiesComponent } from "./pages/entity/entities.component";
import { EntityFormComponent } from "./pages/entity/entity-form.component";
import { DivIdsComponent } from "./pages/divId/divIds.component";
import { DivIdFormComponent } from "./pages/divId/divId-form.component";
import { DivHelpContentsComponent } from "./pages/divhelpcontent/div-help-contents.component";
import { NewDivHelpContentComponent } from "./pages/divhelpcontent/new-div-help-content.component";
import { DivContentFormComponent } from "./pages/divhelpcontent/div-help-content-form.component";
import { EditDivHelpContentComponent } from "./pages/divhelpcontent/edit-div-help-content.component";
import {ClaimsComponent} from './pages/claims/claims.component';

import {NavigationBarModule} from './openaireLibrary/sharedComponents/navigationBar.module';
import { CookieLawModule } from './openaireLibrary/sharedComponents/cookie-law/cookie-law.module';
import {Meta} from './openaireLibrary/sharedComponents/metaService';

import {BottomModule} from './openaireLibrary/sharedComponents/bottom.module';
import {FeedbackModule} from './openaireLibrary/sharedComponents/feedback/feedback.module';
import {CommunityEditFormModule} from './pages/community/community-edit-form/community-edit-form.module';

import {FreeGuard} from './openaireLibrary/login/freeGuard.guard';
import { AdminLoginGuard} from './openaireLibrary/login/adminLoginGuard.guard';
import { ConnectAdminLoginGuard} from './openaireLibrary/login/connectAdminLoginGuard.guard';
import { EnvironmentSpecificResolver} from './openaireLibrary/utils/properties/environmentSpecificResolver';
import { EnvironmentSpecificService} from './openaireLibrary/utils/properties/environment-specific.service';
import {ClaimsAdminModule} from './openaireLibrary/claims/claimsAdmin/claimsAdmin.module';
import {StatsComponent} from "./pages/stats/stats.component";
//, , ErrorModule CookieLawModule
@NgModule({
    imports: [
        BrowserModule,
        routing,
        HttpModule,
        JsonpModule,
        ModalModule.forRoot(),
        //CollapseModule.forRoot(),
        //AccordionModule.forRoot(),
        FormsModule,
        ReactiveFormsModule,
        // JWBootstrapSwitchModule,
        CKEditorModule,
        BottomModule, FeedbackModule, NavigationBarModule, CookieLawModule, ClaimsAdminModule,
        CommunityEditFormModule,
        // , CookieLawModule, ErrorModule
    ],
    declarations: [
        AppComponent,
        DashboardComponent,
        TopicsComponent,
        QuestionsComponent,
        TopicsFormComponent,
        ModalFormComponent,
        QuestionsFormComponent,
        DeleteConfirmationDialogComponent,
        PagesComponent,
        PageFormComponent,
        PageHelpContentsComponent,
        NewPageHelpContentComponent,
        PageContentFormComponent,
        EditPageHelpContentComponent,
        CommunitiesComponent,
        CommunityFormComponent,
        EntitiesComponent,
        EntityFormComponent,
        DivIdsComponent,
        DivIdFormComponent,
        DivHelpContentsComponent,
        NewDivHelpContentComponent,
        EditDivHelpContentComponent,
        DivContentFormComponent,
        ClaimsComponent,
        StatsComponent
    ],
    providers: [
        FAQService,
        HelpContentService,
        appRoutingProviders,
        FreeGuard, AdminLoginGuard,ConnectAdminLoginGuard,
        EnvironmentSpecificResolver,EnvironmentSpecificService, Meta
    ],
    bootstrap: [ AppComponent ]
})

export class AppModule { }
