import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { CustomerOrderComponent } from './customer-order.component';

import {
  AcceptedActionHandler,
  ArrivedActionHandler,
  AssembledActionHandler,
  AvailableForDownloadActionHandler,
  BackToStockActionHandler,
  CanceledByBuyerActionHandler,
  CanceledByRetailerActionHandler,
  CanceledBySupplierActionHandler,
  CreateShippingNoteActionHandler,
  DeliveredActionHandler,
  DetermineSupplierActionHandler,
  DispatchedActionHandler,
  DownloadedActionHandler,
  FetchedActionHandler,
  InProcessActionHandler,
  NotAvailableActionHandler,
  NotFetchedActionHandler,
  OrderAtSupplierActionHandler,
  OrderingActionHandler,
  OverdueActionHandler,
  PackedActionHandler,
  ParkedActionHandler,
  PlacedActionHandler,
  PreparationForShippingActionHandler,
  PrintCompartmentLabelActionHandler,
  PrintShippingNoteActionHandler,
  ReOrderActionHandler,
  RedirectedInternaqllyActionHandler,
  RequestedActionHandler,
  ReserverdActionHandler,
  ReturnedByBuyerActionHandler,
  ShippingNoteActionHandler,
  SupplierTemporarilyOutOfStockActionHandler,
  ReOrderedActionHandler,
  CollectOnDeliveryNoteActionHandler,
  PrintPriceDiffQrCodeLabelActionHandler,
  CollectWithSmallAmountinvoiceActionHandler,
  PrintSmallamountinvoiceActionHandler,
  ShopWithKulturpassActionHandler,
} from '@domain/oms';
import { CoreCommandModule } from '@core/command';
import { CustomerOrderRoutingModule } from './customer-order-routing.module';
import { BranchSelectorComponent } from '@shared/components/branch-selector';
import { BreadcrumbModule } from '@shared/components/breadcrumb';
import { SharedSplitscreenComponent } from '@shared/components/splitscreen';

@NgModule({
  declarations: [CustomerOrderComponent],
  imports: [
    CommonModule,
    CustomerOrderRoutingModule,
    BreadcrumbModule,
    BranchSelectorComponent,
    CoreCommandModule.forChild([
      AcceptedActionHandler,
      ArrivedActionHandler,
      AssembledActionHandler,
      AvailableForDownloadActionHandler,
      BackToStockActionHandler,
      CanceledByBuyerActionHandler,
      CanceledByRetailerActionHandler,
      CanceledBySupplierActionHandler,
      CreateShippingNoteActionHandler,
      DeliveredActionHandler,
      DetermineSupplierActionHandler,
      DispatchedActionHandler,
      DownloadedActionHandler,
      FetchedActionHandler,
      InProcessActionHandler,
      NotAvailableActionHandler,
      NotFetchedActionHandler,
      OrderAtSupplierActionHandler,
      OrderingActionHandler,
      OverdueActionHandler,
      PackedActionHandler,
      ParkedActionHandler,
      PlacedActionHandler,
      PreparationForShippingActionHandler,
      PrintCompartmentLabelActionHandler,
      PrintShippingNoteActionHandler,
      ReOrderActionHandler,
      ReOrderedActionHandler,
      RedirectedInternaqllyActionHandler,
      RequestedActionHandler,
      ReserverdActionHandler,
      ReturnedByBuyerActionHandler,
      ShippingNoteActionHandler,
      SupplierTemporarilyOutOfStockActionHandler,
      CollectOnDeliveryNoteActionHandler,
      PrintPriceDiffQrCodeLabelActionHandler,
      CollectWithSmallAmountinvoiceActionHandler,
      PrintSmallamountinvoiceActionHandler,
      ShopWithKulturpassActionHandler,
    ]),
    SharedSplitscreenComponent,
  ],
  exports: [CustomerOrderComponent],
})
export class CustomerOrderModule {}
