import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {CommonModule} from '@angular/common';
import {
  MatAutocompleteModule, MatDatepickerModule, MatGridListModule,
  MatIconModule,
  MatInputModule,
  MatMenuModule, MatProgressBarModule,
  MatSelectModule, MatTabsModule
} from '@angular/material';
import {FlexLayoutModule} from '@angular/flex-layout';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {MatButtonModule} from '@angular/material/button';
import {MatOptionModule} from '@angular/material';
import {MatCheckboxModule} from '@angular/material';
import {MatCardModule} from '@angular/material';
import {MatFormFieldModule} from '@angular/material/form-field';

import {LoadingModule} from 'ngx-loading';
import {UserRoutes} from './user.routing';
import {NgxDatatableModule} from '@swimlane/ngx-datatable';
import {RolesComponent} from './roles/roles.component';
import {UsersComponent} from './users/users.component';
import {PermissionsComponent} from './permissions/permissions.component';
import {AgmCoreModule} from '@agm/core';
import {HttpClientModule} from '@angular/common/http';
import {FileUploadModule} from 'ng2-file-upload';
import {TypesComponent} from './types/types.component';

@NgModule({
  imports: [
    MatDatepickerModule,
    MatMenuModule,
    LoadingModule,
    MatInputModule,
    MatFormFieldModule,
    MatCardModule,
    MatButtonModule,
    MatCheckboxModule,
    NgxDatatableModule,
    FormsModule,
    ReactiveFormsModule,
    CommonModule,
    RouterModule.forChild(UserRoutes),
    FlexLayoutModule,
    MatInputModule,
    MatOptionModule,
    MatSelectModule,
    MatIconModule,
    MatDatepickerModule,
    MatGridListModule,
    HttpClientModule,
    FileUploadModule,
    AgmCoreModule,
    LoadingModule,
    MatInputModule,
    MatFormFieldModule,
    MatCardModule,
    MatButtonModule,
    MatCheckboxModule,
    NgxDatatableModule,
    FormsModule,
    ReactiveFormsModule,
    CommonModule,
    FlexLayoutModule,
    MatInputModule,
    MatOptionModule,
    MatSelectModule,
    MatIconModule,
    MatTabsModule,
    MatAutocompleteModule,
    MatProgressBarModule
  ],
  declarations: [
    UsersComponent,
    RolesComponent,
    PermissionsComponent,
    TypesComponent,
  ],
  providers: [],
  entryComponents: []
})

export class UserModule {
}
