import {forwardRef, NgModule} from '@angular/core';
import {RouterModule} from '@angular/router';
import {CommonModule} from '@angular/common';
import {MatAutocompleteModule, MatDialogModule, MatIconModule, MatInputModule, MatMenuModule, MatSelectModule} from '@angular/material';
import {FlexLayoutModule} from '@angular/flex-layout';
import {DataTablesModule} from 'angular-datatables';
import {FormsModule, NG_VALUE_ACCESSOR, 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 {NgxDatatableModule} from '@swimlane/ngx-datatable';
import {TypesComponent} from './types/types.component';
import {ServicesComponent} from './services/services.component';
import {ProductsComponent} from './products/products.component';
import {BasicRoutes} from './basic.routing';


@NgModule({
    imports: [
        MatMenuModule,
        MatAutocompleteModule,
        MatDialogModule,
        LoadingModule,
        NgxSpinnerModule,
        MatInputModule,
        MatFormFieldModule,
        MatCardModule,
        MatButtonModule,
        MatCheckboxModule,
        NgxDatatableModule,
        FormsModule,
        ReactiveFormsModule,
        CommonModule,
        RouterModule.forChild(BasicRoutes),
        FlexLayoutModule,
        DataTablesModule,
        MatInputModule,
        MatOptionModule,
        MatSelectModule,
        MatIconModule
    ],
    declarations: [
        ServicesComponent,
        ProductsComponent,
        TypesComponent,


    ],
    providers: [NgxSpinnerService],

})

export class BasicModule {
}
