UNPKG

lumarc-grid

Version:

lumArc Grid는 고성능, 유연하고 프레임워크에 구애받지 않는 데이터 그리드 라이브러리

34 lines 1.13 kB
import { RowManager, RowId } from '../../lib/row-manager'; export interface ChangeTracker<T> { created: T[]; modified: Array<{ original: T; current: T; changedFields: string[]; }>; deleted: T[]; } export interface GridChangesOptions<T extends {}> { rowManager: RowManager<T>; initialData: T[]; isServerSide: boolean; } export interface GridChangesAPI<T> { changes: ChangeTracker<T>; hasChanges: boolean; getChanges: () => ChangeTracker<T>; getChangesSummary: () => { created: number; modified: number; deleted: number; }; commitChanges: () => void; resetChanges: () => void; isRowCreated: (rowId: RowId) => boolean; isRowModified: (rowId: RowId) => boolean; isRowDeleted: (rowId: RowId) => boolean; getModifiedFields: (rowId: RowId) => string[]; updateChangeTracking: (newData: T[], operation: 'create' | 'update' | 'delete', affectedItems?: T[]) => void; } export declare function useGridChanges<T extends {}>(options: GridChangesOptions<T>): GridChangesAPI<T>; //# sourceMappingURL=use-grid-changes.d.ts.map