import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { GoodsOutComponent } from './goods-out.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,
} from '@domain/oms';
import { CoreCommandModule } from '@core/command';
import { ShellBreadcrumbModule } from '@shell/breadcrumb';
import { GoodsInRoutingModule } from './good-out-routing.module';

@NgModule({
  declarations: [GoodsOutComponent],
  imports: [
    CommonModule,
    GoodsInRoutingModule,
    ShellBreadcrumbModule,
    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,
    ]),
  ],
  exports: [GoodsOutComponent],
})
export class GoodsOutModule {}
