/// import { RowDataTransaction, GridApi, RowNode, ColDef, ColGroupDef, ColumnApi } from 'ag-grid-community'; import { Rules } from 'async-validator'; import { AgGridConfig, OperationAction, BatchUpdateDataSourceParams } from './interface'; import { RowKey } from '../interface'; import { EventEmitter } from 'events'; export default class GridManage { rowkey: RowKey | string; agGridApi: GridApi; agGridColumnApi: ColumnApi; columnsDefs: any[]; gridKey?: string; agGridConfig: AgGridConfig; historyStack: any[]; private redoStack; private dataAsyncFun; private dataAsyncStack; cutRows: any[]; afterTagRemove: Function; afterSave: Function; afterUndo: Function; afterRedo: Function; afterCancel: Function; setingLoading: boolean; clearloding: boolean; private gridEvent; constructor(event: Partial); get loading(): boolean; set loading(value: boolean); validateFields: Rules; private changeStatus; get isChanged(): boolean; get diff(): { remove: any[]; modify: any[]; add: any[]; }; private outAsyncFunStack; onDataAsyncEnd(func: any): Promise; private watchHistory; private getRowItemData; private batchUpdateGrid; addHistoryRecords: (pushData: OperationAction) => void; appendChild(keys: any, add: any): void; validate(data?: any[]): Promise; errorSign(validateErros: any, newData: any[]): void; private getNodeExtendsParent; cancelCut(): void; cut(rowsNodes: RowNode[]): void; paste(node: any, up?: boolean, isChild?: boolean): void; reset(agGridConfig: any): void; dataSourceChanged(dataSource?: any[]): void; getRowData(): any[]; modify(records: any | any[], oldRecords?: any | any[]): Promise; create(records: any, targetId?: boolean | string | number, isSub?: boolean): void; private quickCreateNode; createNode(targetId: string | number, record?: number | object | any[]): void; createChildNode(targetId: string | number, record?: number | object | any[]): void; remove(targetid: any, deleteChildren?: boolean): any[]; tagRemove(targetKeys: string | number | string[] | number[], deleteChildren?: boolean): void; redoTagRemove(targetKeys: string | number | string[] | number[], deleteChildren?: boolean): void; applyTransactionAsync: (transaction: RowDataTransaction) => Promise; private toggleUndoRedo; undo(): void; redo(): void; cancel(): void; save(cb?: any): Promise; private changeDiff; getPureData(): any[]; batchUpdateDataSource(params: BatchUpdateDataSourceParams, keys?: string | string[], isMerge?: boolean, notMergeKeys?: string | string[]): any; getLocalStorageColumns(columns: (ColDef | ColGroupDef)[], gridKey: any): (ColDef | ColGroupDef)[]; setLocalStorageColumnsState(): void; clearLocalStorageColumns(): void; addListener: (type: 'historyChange', func: any) => EventEmitter<[never]>; removeListener: (type: 'historyChange', func: any) => void; }