/**
 * <%= titleCase(componentName) %> Module
 */
import { CommonModule } from '@angular/common';
import { MatCardModule, MatDividerModule, MatListModule, MatPaginatorModule, MatTableModule, MatToolbarModule } from '@angular/material';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { NgRxCoreAngularComponentModule } from '@zionapps/ngrx-angular';
import { <%= pascalCase(pluralDomainName) %>ResponsiveTableComponent } from './components/<%= paramCase(pluralDomainName) %>-responsive-table/<%= paramCase(pluralDomainName) %>-responsive-table.component';
import { <%= pascalCase(componentName) %>Component } from './<%= paramCase(componentName) %>.component';

<% if(routingModule) { %>const routes: Routes = [
  {
    path: '',
    component: <%= pascalCase(componentName) %>Component,
  },
  {
    path: 'edit/:id',
    loadChildren: 'app/pages/<%= paramCase(componentName) %>/pages/<%= paramCase(singularDomainName) %>-edit/<%= paramCase(singularDomainName) %>-edit.module#<%= pascalCase(singularDomainName) %>EditModule',
  },
  {
    path: 'new',
    loadChildren: 'app/pages/<%= paramCase(componentName) %>/pages/<%= paramCase(singularDomainName) %>-edit/<%= paramCase(singularDomainName) %>-edit.module#<%= pascalCase(singularDomainName) %>EditModule',
  },
  {
    path: 'view/:id',
    loadChildren: 'app/pages/<%= paramCase(componentName) %>/pages/<%= paramCase(singularDomainName) %>-view/<%= paramCase(singularDomainName) %>-view.module#<%= pascalCase(singularDomainName) %>ViewModule',
  },
];<% } %>

@NgModule({
  declarations: [
    <%= pascalCase(componentName) %>Component,
    <%= pascalCase(pluralDomainName) %>ResponsiveTableComponent,
  ],
  imports: [
    CommonModule,
    MatCardModule,
    MatDividerModule,
    MatListModule,
    MatPaginatorModule,
    MatTableModule,
    MatToolbarModule,
    NgRxCoreAngularComponentModule,<% if(routingModule) { %>
    RouterModule.forChild(routes),<% } %>
  ],
  exports: [
    <%= pascalCase(componentName) %>Component,
  ],
})
export class <%= pascalCase(componentName) %>Module {
}
