/**
 * This is the base module file. Copy the file into your site folder
 * under modules/*module-name* to extend this module and its components
 */

import { NgModule }                     from '@angular/core'

// Router
import { SearchOrdersRouting }        from './rte.search-orders'


// Shared Modules
import { SharedModule }                 from '@k-core/modules/shared/mod.shared'
import { TranslatePipe }                from '@k-core/pipes/pipe.translate'


// Components
import { SearchComponent }              from './components/search/cmp.search'
import { ListComponent }                from './components/list/cmp.list'
import { KpiTableComponent }            from './components/kpi-table/cmp.kpi-table'
import { StatusComponent }              from './components/status/cmp.status'
import { PaymentServiceIconComponent } from './components/payment-service-icon/payment-service-icon.component'

// Views
import { SearchView }                   from './partial/cmp.partial.search-order'

// Material
import { LayoutModule }                 from '@angular/cdk/layout'
import { MatIconModule }                from '@angular/material/icon'
import { MatTableModule }               from '@angular/material/table'
import { MatSortModule }                from '@angular/material/sort'
import { MatTooltipModule }             from '@angular/material/tooltip'
import { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog'


// Services
import { SearchOrderService }           from './services/svc.search-orders'
import { StatusService }                from './services/svc.status'

import { busGuard }                     from '@k-core/guards/guard.login'
import { MatPaginatorModule } from '@angular/material'

@NgModule({
    imports: [ 
        SharedModule,
        SearchOrdersRouting,

        // Material
        LayoutModule,
        MatIconModule,
        MatTableModule,
        MatSortModule,
        MatDialogModule,
        MatTooltipModule,
        MatPaginatorModule
    ],
    exports: [
        // *Add your exports here*
    ],
    declarations: [
        // Components
        SearchComponent,
        KpiTableComponent, // needs to be before list, as list includes this comp
        ListComponent,
        StatusComponent,
        PaymentServiceIconComponent,
        // Views
        SearchView
    ],
    entryComponents: [
        StatusComponent
    ],
    providers: [
        busGuard,
        TranslatePipe,
        SearchOrderService,
        StatusService,
        {provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: {hasBackdrop: true}}
    ]
})

export class SearchOrdersModule {}
