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

import { NzButtonModule } from 'ng-zorro-antd/button';
import { NzPaginationModule } from 'ng-zorro-antd/pagination';
import { NzDividerModule } from 'ng-zorro-antd/divider';
import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
import { NzIconModule } from 'ng-zorro-antd/icon';
import { NzTableModule } from 'ng-zorro-antd/table';
import { NzRadioModule } from 'ng-zorro-antd/radio';
import { NzSelectModule } from 'ng-zorro-antd/select';
import { NzEmptyModule } from 'ng-zorro-antd/empty';
import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';


import { PagerComponent } from './pager.component';
import { PagerTableComponent, TableCellRenderPipe } from './pager-table.component';
import { FormsModule } from '@angular/forms';
import { PagerFilterComponent } from './pager-filter.component';
import { RouterModule } from '@angular/router';
import { NzResultModule } from 'ng-zorro-antd/result';
import { NzDescriptionsModule } from 'ng-zorro-antd/descriptions';
import { NzSpinModule } from 'ng-zorro-antd/spin';
import { SortHeaderComponent } from './sort-header.component';
import { SortDirective } from './sort.directive';
import { NzFormModule } from 'ng-zorro-antd/form';
import { NzInputModule } from 'ng-zorro-antd/input';
import { OpButtonDirective } from './op-button.directive';


@NgModule({
  declarations: [
    PagerComponent,
    PagerTableComponent,
    TableCellRenderPipe,
    PagerFilterComponent,
    SortHeaderComponent,
    SortDirective,
    OpButtonDirective,
  ],
  imports: [
    RouterModule,
    CommonModule,
    FormsModule,
    NzButtonModule,
    NzPaginationModule,
    NzDividerModule,
    NzDropDownModule,
    NzIconModule,
    NzTableModule,
    NzRadioModule,
    NzSelectModule,
    NzEmptyModule,
    NzDatePickerModule,
    NzResultModule,
    NzDescriptionsModule,
    NzSpinModule,
    NzInputModule,
  ],
  exports : [
    PagerComponent, 
    PagerTableComponent, 
    PagerFilterComponent,
    SortHeaderComponent,
    TableCellRenderPipe,
    OpButtonDirective,
    SortDirective,
  ]
})
export class PagerModule {  }
