UNPKG

@adaptabletools/adaptable

Version:

Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

69 lines (68 loc) 2.17 kB
import { CellDataChangedInfo } from '../AdaptableState/Common/CellDataChangedInfo'; import { ActionColumnContext, AdaptableApi, AdaptableButton } from '../types'; /** * Options to manage the 'Data Change History Module', which provides an overview of all previous changes, giving the possibility to undo specific changes */ export interface DataChangeHistoryOptions<TData = any> { /** * Make Data Change History active by default * * @defaultValue false * @gridInfoItem * @noCodeItem */ activeByDefault?: boolean; /** * Function specifying which data changes to include in Data Change History * * @defaultValue undefined (all data changes are logged) * @gridInfoItem */ showDataChange?: (cellDataChangedInfo: CellDataChangedInfo<TData>) => boolean; /** * Action button definition; can be used to implement undo functionality * * @defaultValue undefined */ changeHistoryButton?: DataChangeHistoryButton<TData> | DataChangeHistoryButton<TData>[]; /** * Show all changes for a Cell or just the last one * @defaultValue true */ showLastDataChangeOnly?: boolean; } /** * Built in `undo` or `clear` data change action */ export type AdaptableDataChangeHistoryAction = 'undo' | 'clear'; /** * The context for the DataChangeHistoryButton */ export interface DataChangeHistoryContext<TData = any> extends ActionColumnContext { /** * Helper function to undo the change. */ undoDataChange: () => void; /** * Helper function to row from Grid */ clearRow: () => void; /** * If the change references a group node. */ isGroupNode: boolean; /** * The initial data change */ dataChangedInfo: CellDataChangedInfo<TData>; /** * AdapTable API of underlying Grid (not from Data History Monitor) */ parentAdapTableApi: AdaptableApi; } /** * A custom AdaptableButton which provides a build in `undo` action */ export interface DataChangeHistoryButton<TData = any> extends AdaptableButton<DataChangeHistoryContext<TData>> { action?: AdaptableDataChangeHistoryAction; }