import { DragDropModule } from '@angular/cdk/drag-drop';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';<% if (hiddenFilterFieldList.length > 0) { %>
import { NcAdaptiveFormModule } from '@ng-cortex/core';<% } %>
import { NzButtonModule } from 'ng-zorro-antd/button';
import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';<% if (filterDatetimePickerFieldList.length > 0 || filterDatePickerFieldList.length > 0) { %>
import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';<% } %>
import { NzDividerModule } from 'ng-zorro-antd/divider';
import { NzFormModule } from 'ng-zorro-antd/form';
import { NzGridModule } from 'ng-zorro-antd/grid';
import { NzIconModule } from 'ng-zorro-antd/icon';<% if (filterInputFieldList.length > 0 || filterInputNumberFieldList.length > 0) { %>
import { NzInputModule } from 'ng-zorro-antd/input';<% } %>
import { NzLayoutModule } from 'ng-zorro-antd/layout';
import { NzModalModule } from 'ng-zorro-antd/modal';
import { NzNotificationModule } from 'ng-zorro-antd/notification';
import { NzPopoverModule } from 'ng-zorro-antd/popover';
import { NzResizableModule } from 'ng-zorro-antd/resizable';
import { NzSelectModule } from 'ng-zorro-antd/select';
import { NzTableModule } from 'ng-zorro-antd/table';
import { <%= getPascalCase(name) %>EditorModule } from '../<%= getSeparatorCase(name) %>-editor/<%= getSeparatorCase(name) %>-editor.module';
import { <%= getPascalCase(name) %>Page } from './<%= getSeparatorCase(name) %>.page';

/** <%= description %>列表模块 */
@NgModule({
  declarations: [<%= getPascalCase(name) %>Page],
  imports: [
    CommonModule,
    DragDropModule,
    ReactiveFormsModule,
    RouterModule.forChild([{ path: '', component: <%= getPascalCase(name) %>Page }])<% if (hiddenFilterFieldList.length > 0) { %>,
    NcAdaptiveFormModule<% } %>,
    NzButtonModule,
    NzCheckboxModule<% if (filterDatetimePickerFieldList.length > 0 || filterDatePickerFieldList.length > 0) { %>,
    NzDatePickerModule<% } %>,
    NzDividerModule,
    NzFormModule,
    NzGridModule,
    NzIconModule<% if (filterInputFieldList.length > 0 || filterInputNumberFieldList.length > 0) { %>,
    NzInputModule<% } %>,
    NzLayoutModule,
    NzModalModule,
    NzNotificationModule,
    NzPopoverModule,
    NzResizableModule,
    NzSelectModule,
    NzTableModule,
    <%= getPascalCase(name) %>EditorModule
  ]
})
export class <%= getPascalCase(name) %>Module { }
