/********************************************************************************
 * Copyright (c) 2015-2018 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 ********************************************************************************/

import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';

import { CheckboxModule } from 'primeng/checkbox';
import { ButtonModule } from 'primeng/button';
import { SliderModule } from 'primeng/slider';
import { InputTextModule } from 'primeng/inputtext';
import { AccordionModule } from 'primeng/accordion';
import { TableModule } from 'primeng/table';
import { SelectButtonModule } from 'primeng/selectbutton';
import { ChartModule } from 'primeng/chart';
import { ToggleButtonModule } from 'primeng/togglebutton';
import { SpinnerModule } from 'primeng/spinner';
import { MultiSelectModule } from 'primeng/multiselect';
import { ListboxModule } from 'primeng/listbox';
import { PanelModule } from 'primeng/panel';
import { ConfirmDialogModule } from 'primeng/confirmdialog';

import { MDMCoreModule } from '../core/mdm-core.module';
import { ChartViewerComponent } from './components/chartviewer/chart-viewer.component';
import { DataTableComponent } from './components/datatable/data-table.component';
import { ChartViewerNavCardComponent } from './components/chatviewer-nav-card/chart-viewer-nav-card.component';
import { XyChartViewerComponent } from './components/xy-chart-viewer/xy-chart-viewer.component';
import { XyChartViewerNavCardComponent } from './components/xy-chart-viewer-nav-card/xy-chart-viewer-nav-card.component';
import { RequestOptionsComponent } from './components/request-options/request-options.component';
import { XyChartViewerToolbarComponent } from './components/xy-chart-viewer-toolbar/xy-chart-viewer-toolbar.component';
import { XyChartDataSelectionPanelComponent } from './components/xy-chart-data-selection-panel/xy-chart-data-selection-panel.component';
import { ConfirmationService } from 'primeng/api';

@NgModule({
  imports: [
    MDMCoreModule,
    HttpClientModule,
    CheckboxModule,
    ButtonModule,
    SelectButtonModule,
    TableModule,
    SliderModule,
    InputTextModule,
    AccordionModule,
    ChartModule,
    ToggleButtonModule,
    SpinnerModule,
    MultiSelectModule,
    ListboxModule,
    PanelModule,
    ConfirmDialogModule,
  ],
  declarations: [
    ChartViewerNavCardComponent,
    ChartViewerComponent,
    DataTableComponent,
    XyChartViewerComponent,
    XyChartViewerNavCardComponent,
    RequestOptionsComponent,
    XyChartViewerToolbarComponent,
    XyChartDataSelectionPanelComponent,
  ],
  exports: [
    ChartViewerNavCardComponent,
    XyChartViewerNavCardComponent,
  ],
  providers: [
    ConfirmationService
  ]
})
export class ChartviewerModule {}
