import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import {
  MatButtonModule,
  MatCardModule,
  MatDividerModule,
  MatFormFieldModule,
  MatInputModule,
  MatRadioModule,
  MatSelectModule,
} from '@angular/material';
import { RouterModule, Routes } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { NgRxCoreAngularComponentModule, NgRxCorePipesModule } from '@zionapps/ngrx-angular';
import { <%= pascalCase(singularDomainName) %>EditComponent } from './<%= paramCase(singularDomainName) %>-edit.component';
import { <%= pascalCase(singularDomainName) %>FormComponent } from './<%= paramCase(singularDomainName) %>-form/<%= paramCase(singularDomainName) %>-form.component';

const routes: Routes = [
  {
    path: '',
    component: <%= pascalCase(singularDomainName) %>EditComponent,
  },
];

@NgModule({
  declarations: [
    <%= pascalCase(singularDomainName) %>EditComponent,
    <%= pascalCase(singularDomainName) %>FormComponent,
  ],
  imports: [
    CommonModule,
    FormsModule,
    MatButtonModule,
    MatCardModule,
    MatDividerModule,
    MatFormFieldModule,
    MatInputModule,
    MatRadioModule,
    MatSelectModule,
    NgRxCoreAngularComponentModule,
    NgRxCorePipesModule,
    ReactiveFormsModule,
    RouterModule.forChild(routes),
    TranslateModule,
  ],
  exports: [
    <%= pascalCase(singularDomainName) %>EditComponent,
  ],
})
export class <%= pascalCase(singularDomainName) %>EditModule {
}
