import { NgModule } from '@angular/core'
import { CommonModule } from '@angular/common'
import { FormsModule, ReactiveFormsModule } from '@angular/forms'
import { MatAutocompleteModule } from '@angular/material/autocomplete'
import { MatButtonModule } from '@angular/material/button'
import { MatCardModule } from '@angular/material/card'
import { MatCheckboxModule } from '@angular/material/checkbox'
import { MatNativeDateModule } from '@angular/material/core'
import { MatDatepickerModule } from '@angular/material/datepicker'
import { MatExpansionModule } from '@angular/material/expansion'
import { MatIconModule } from '@angular/material/icon'
import { MatInputModule } from '@angular/material/input'
import { MatListModule } from '@angular/material/list'
import { MatMenuModule } from '@angular/material/menu'
import { MatSelectModule } from '@angular/material/select'
import { MatSidenavModule } from '@angular/material/sidenav'
import { MatToolbarModule } from '@angular/material/toolbar'
import { MatTooltipModule } from '@angular/material/tooltip'

import { FlexLayoutModule } from 'ngx-flexible-layout'

import { DataService } from '../_services/data.service'
import { InfoModule }  from '../info/info.module'

import { MeasuresComponent }  from './measures.component'
import { MeasuresListComponent }  from './measures-list/measures-list.component'
import { MeasuresHomeComponent }  from './measures-list/measures-home.component'

import { MeasuresRoutingModule } from './measures-routing.module'
import { MeasuresListResolver } from './measures-list/measures-list-resolver.service'


@NgModule({
    imports: [
        CommonModule,
        FormsModule,
        ReactiveFormsModule,

        MatAutocompleteModule,
        MatButtonModule,
        MatCardModule,
        MatCheckboxModule,
        MatDatepickerModule,
        MatExpansionModule,
        MatIconModule,
        MatInputModule,
        MatListModule,
        MatMenuModule,
        MatNativeDateModule,
        MatSelectModule,
        MatSidenavModule,
        MatToolbarModule,
        MatTooltipModule,

        FlexLayoutModule,

        InfoModule,

        MeasuresRoutingModule,
    ],
    declarations: [
        MeasuresComponent,
        MeasuresListComponent,
        MeasuresHomeComponent,
    ],
    providers: [
        DataService,
        MeasuresListResolver,
    ],
})

export class MeasuresModule {}
