import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MessageTemplateListComponent } from './message-template-list/message-template-list.component';
import { MessageTemplateCreateComponent } from './message-template-create/message-template-create.component';
import { MessageTemplateDetailsComponent } from './message-template-details/message-template-details.component';
import { MessageTemplateEditComponent } from './message-template-edit/message-template-edit.component';
import {
  MessageTemplateEditFormComponent
} from './tabs/message-template-edit-form/message-template-edit-form.component';
import { ObjectsViewModule } from '@objects-view/objects-view.module';
import { ErrorHandlingModule } from '@shared/error-handling/error-handling.module';
import { ReactiveFormsModule } from '@angular/forms';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatButtonModule } from '@angular/material/button';
import { MatDividerModule } from '@angular/material/divider';
import { EditorModule } from '@tinymce/tinymce-angular';
import { AddNewTemplateDialogComponent } from './dialogs/add-new-template-dialog/add-new-template-dialog.component';
import { MatDialogModule } from '@angular/material/dialog';
import { MatSelectModule } from '@angular/material/select';
import { UiModule } from '@shared/ui/ui.module';
import {
  MessageTemplateCreateFormComponent
} from './tabs/message-template-create-form/message-template-create-form.component';
import { CommonDialogsModule } from '@shared/common-dialogs/common-dialogs.module';
import { MessageTemplatesRoutingModule } from './message-templates-routing.module';
import { SharedModule } from '@shared/shared.module';

@NgModule({
  declarations: [
    MessageTemplateListComponent,
    MessageTemplateCreateComponent,
    MessageTemplateDetailsComponent,
    MessageTemplateEditComponent,
    MessageTemplateEditFormComponent,
    AddNewTemplateDialogComponent,
    MessageTemplateCreateFormComponent,
  ],
  imports: [
    CommonModule,
    MessageTemplatesRoutingModule,
    ObjectsViewModule,
    ErrorHandlingModule,
    ReactiveFormsModule,
    MatCheckboxModule,
    MatFormFieldModule,
    MatInputModule,
    MatButtonModule,
    MatDividerModule,
    EditorModule,
    MatDialogModule,
    MatSelectModule,
    UiModule,
    CommonDialogsModule,
  ],
  exports: [
    MessageTemplateEditFormComponent,
    AddNewTemplateDialogComponent,
  ],
})
export class MessageTemplatesModule {
}
