import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { CustomerOrderSearchResultsComponent } from './customer-order-search-results.component';
import { GoodsInOutOrderGroupModule } from '@shared/components/goods-in-out';
import { UiCommonModule } from '@ui/common';
import { CustomerOrderItemSelectablePipe } from './customer-order-item-selectable.pipe';
import { CustomerOrderItemSelectedPipe } from './customer-order-item-selectede.pipe';
import { UiSpinnerModule } from '@ui/spinner';
import { UiScrollContainerModule } from '@ui/scroll-container';
import { RouterModule } from '@angular/router';
import { CustomerOrderItemComponent } from './customer-order-item.component';
import { FilterAutocompleteProvider, FilterModule } from '@shared/components/filter';
import { IconModule } from '@shared/components/icon';
import { ProductImageModule } from '@cdn/product-image';
import { FormsModule } from '@angular/forms';
import { CustomerOrderPipesModule } from '../../pipes';
import { CustomerOrderSearchMainAutocompleteProvider } from '../providers';

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    RouterModule,
    GoodsInOutOrderGroupModule,
    ProductImageModule,
    FilterModule,
    UiCommonModule,
    IconModule,
    UiSpinnerModule,
    UiScrollContainerModule,
    CustomerOrderPipesModule,
  ],
  exports: [CustomerOrderSearchResultsComponent, CustomerOrderItemComponent],
  declarations: [
    CustomerOrderSearchResultsComponent,
    CustomerOrderItemSelectablePipe,
    CustomerOrderItemSelectedPipe,
    CustomerOrderItemComponent,
  ],
  providers: [
    {
      provide: FilterAutocompleteProvider,
      useClass: CustomerOrderSearchMainAutocompleteProvider,
      multi: true,
    },
  ],
})
export class CustomerOrderSearchResultsModule {}
