import {NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {CommonModule} from '@angular/common';
import {MatIconModule, MatInputModule, MatMenuModule, MatSelectModule} from '@angular/material';
import {FlexLayoutModule} from '@angular/flex-layout';
import {DataTablesModule} from 'angular-datatables';
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 {NgxSpinnerModule, NgxSpinnerService} from 'ngx-spinner';
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';

@NgModule({
    imports: [
        MatMenuModule,
        LoadingModule,
        NgxSpinnerModule,
        MatInputModule,
        MatFormFieldModule,
        MatCardModule,
        MatButtonModule,
        MatCheckboxModule,
        NgxDatatableModule,
        FormsModule,
        ReactiveFormsModule,
        CommonModule,
        RouterModule.forChild(UserRoutes),
        FlexLayoutModule,
        DataTablesModule,
        MatInputModule,
        MatOptionModule,
        MatSelectModule,
        MatIconModule
    ],
    declarations: [
        UsersComponent,
        RolesComponent,
        PermissionsComponent
    ],
    providers: [NgxSpinnerService],
    entryComponents: []

})

export class UserModule {
}
