// Angular Core
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';

@Component({
  standalone: false,
  selector: 'app-eta-items-display',
  templateUrl: './eta-items-display.component.html',
  styleUrls: ['./eta-items-display.component.scss'],
})
export class EtaItemsDisplayComponent implements OnInit {

  @Input() supplier!: any;
  @Input() index!: number;
  @Input() items!: any;
  @Input() isUserAllowed!: any;
  @Input() recomSuppliers!: any;
  @Input() recomProds!: any;
  @Input() accordText!: any;

  @Output() changeSupplierEvent = new EventEmitter<any>();
  @Output() checkQuantityEvent = new EventEmitter<any>();
  @Output() keypressQtyEvent = new EventEmitter<any>();
  @Output() removeItemEvent = new EventEmitter<any>();

  @Output() setFlagEvent = new EventEmitter<any>();
  @Output() placeOrderNowEvent = new EventEmitter<any>();
  @Output() emitremoveAll = new EventEmitter<any>();

  @Output() getSuppProductsEvent = new EventEmitter();
  @Output() checkAccordionEvent = new EventEmitter();
  @Output() setProductQtyEvent = new EventEmitter();
  @Output() minPurchaseValidation = new EventEmitter();


  constructor() { }

  ngOnInit(): void {
  }

  changeSuppliermethod(event: any){
    this.changeSupplierEvent.emit(event);
  }

  checkQuantitymethod(event: any){
    this.checkQuantityEvent.emit(event);
  }

  keypressQtymethod(event: any){
    this.keypressQtyEvent.emit(event);
  }

  removeItem(event: any){
    this.removeItemEvent.emit(event);
  }

  setProductQty(event: any){
    this.setProductQtyEvent.emit(event);
  }

  setFlag(event: any){
    this.setFlagEvent.emit(event);
  }

  placeOrderNow(event: any){
    this.placeOrderNowEvent.emit(event);
  }

  removeAll(event: any){
    this.emitremoveAll.emit(event)
  }

  getSuppProducts(event: any){
    this.getSuppProductsEvent.emit(event);
  }

  checkAccordion(event: any){
    this.checkAccordionEvent.emit(event);
  }

  callminPurchaseValidation(event: any){
    this.minPurchaseValidation.emit(event);
  }

  trackByFn(index: any, item: any): any{
    return item.key
  }

}
