import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { BatchModelODataService } from '../../../../api/batch-model-odata.service'; import { GeneralODataService } from '../../../../api/general-odata.service'; import { PackageModelODataService } from '../../../../api/package-model-odata.service'; import { BatchModelInterface } from '../../../../models/batch-model.interface'; import { DataGridColumnInterface } from '../../../../models/data-grid-column.interface'; import { PackageModelInterface } from '../../../../models/package-model.interface'; import { StockGoodsModelInterface } from '../../../../models/stock-goods-model.interface'; import { ModalService } from '../../../modal/modal.service'; import { FararuToastService } from '../../../toast'; import { DataGridComponent } from '../data-grid/data-grid.component'; import { ProductDataGridPackageSelectCallbackInterface, ProductDataGridRowDataInterface, ProductDataGridSelectCallbackInterface } from './product-data-grid.component.models'; import * as i0 from "@angular/core"; export * from './product-data-grid.component.models'; export type ShowQtySettings = { showOnhandQty: boolean; showReservedQty: boolean; showDamagedQty: boolean; }; interface ParamsInterface { [key: string]: string; } export interface ReturnBatchInfo { batchNo: string; expDate: string; insDate: string; unitRef: string; unitName: string; convertFactor: number; qty: number; returnQty: number; returnTotalQty: number; } export interface ReturnBatchInfoProductRow { retTotalQty: number; retUnitQty: number; batches: ReturnBatchInfo[]; } export type ReturnModeType = false | 'withRef' | 'withoutRef'; export interface DocumentReturnBatchInfo { items: { [key: string]: ReturnBatchInfo[]; }; awards: { [key: string]: ReturnBatchInfo[]; }; } export declare class ProductDataGridComponent extends DataGridComponent implements OnInit, OnChanges, AfterViewInit { protected elementRef: ElementRef; protected toastService: FararuToastService; private generalODataService; private batchModelODataService; private packageModelODataService; private translate; private modalService; returnBatchesMap: DocumentReturnBatchInfo; returnMode: ReturnModeType; productNameOrCodeDisabled: boolean; barcodeDisabled: boolean; params: ParamsInterface; goodsActionType: string; goodsEntiyName: string; goodsFetchReason: string; batchFetchReason: string; packageFetchReason: string; oDataServer: string; productIsUnique?: boolean; showStockQty: ShowQtySettings; batchIsRequired?: boolean; batchColumn?: boolean; packageIsDisabled?: boolean; productSelectByBarcodeCallback?: (argrs: ProductDataGridSelectCallbackInterface) => Promise; beforeProductChange?: ({ row, value, instance }: { row: any; value: any; instance: any; }) => string | null; productSelectCallback: EventEmitter>; batchSelectCallback: EventEmitter>; returnBatchSelectCallback: EventEmitter>; packageSelectCallback: EventEmitter>; onProductRowSelected: EventEmitter<{ row: number; column: number; }>; onProductRowAddCallback: EventEmitter; onProductCheckedCallback: EventEmitter; rowSelected($event: { row: number; column: number; }): void; onRowAddCallback($event: ProductDataGridRowDataInterface): void; onCheckedCallback($event: typeof this.items): void; dataGrid?: DataGridComponent; internalColumns: DataGridColumnInterface[]; private getGoodsByBarcodeSubcribtion?; private packageModelODataServiceSubcribtion?; constructor(elementRef: ElementRef, toastService: FararuToastService, generalODataService: GeneralODataService, batchModelODataService: BatchModelODataService, packageModelODataService: PackageModelODataService, translate: TranslateService, modalService: ModalService); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; goToCell(column: number, row: number, forceEdit?: boolean): void; private generateInternalColumns; private getBarcodeSearchService; private selectDefaultPackage; private generateGoodsHttpHeaders; private generateBatchHttpHeaders; private generatePackageHttpHeaders; private selectBarcode; private selectGoods; private selectBatch; private selectPackage; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }