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

import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { TranslateModule } from '@ngx-translate/core';
import { DirtyGuard, XdfGalleryModule } from '@xdf/gallery';
import { XdfSettingsModule } from '@xdf/settings';
import {
  MatButtonModule, MatCheckboxModule, MatFormFieldModule, MatIconModule,
  MatInputModule, MatMenuModule, MatPaginatorModule, MatProgressSpinnerModule,
  MatSelectModule, MatSortModule, MatTableModule, MatTabsModule, MatTooltipModule
} from '@angular/material';
import { NgScrollbarModule } from 'ngx-scrollbar';

import { GoalRoutingModule } from './goal-routing.module';
import { XdfLayoutsModule } from '@xdf/layouts';
import { AgentGoalService } from './services/agent.service';
import { GoalFormComponent } from './views/goal-form.component';
import { GoalActionGridComponent } from './views/components/goal-action-grid/goal-action-grid.component';
import { GoalActionResolver } from './resolvers/goal-action.resolver';
import { GoalConfigLayoutComponent } from './views/components/goal-config-layout/goal-config-layout.component';


@NgModule({
  declarations: [
    
    GoalFormComponent,
    GoalActionGridComponent,
    GoalConfigLayoutComponent
],
  imports: [
    CommonModule,
    FormsModule,
    ReactiveFormsModule,
    TranslateModule,
    XdfGalleryModule,
    XdfSettingsModule,
    GoalRoutingModule,
    MatTableModule,
    NgScrollbarModule,
    MatCheckboxModule,
    MatIconModule,
    MatTabsModule,
    MatTooltipModule,
    MatButtonModule,
    MatMenuModule,
    MatSelectModule,
    MatPaginatorModule,
    MatProgressSpinnerModule,
    MatSortModule,
    MatFormFieldModule,
    MatInputModule,
    XdfLayoutsModule
  ],
  entryComponents: [
  ],
  providers: [
    { provide: DirtyGuard, useClass: DirtyGuard },
    GoalActionResolver
  ]
})
export class GoalModule { }