50 lines
1.1 KiB
TypeScript
50 lines
1.1 KiB
TypeScript
import Core from '../../core';
|
|
import { CellValue, CellChange } from '../../common';
|
|
import { ColumnConditions } from '../filters';
|
|
import { BasePlugin } from '../base';
|
|
|
|
export type Settings = boolean;
|
|
|
|
export interface ChangeAction {
|
|
actionType: 'change';
|
|
changes: CellChange[];
|
|
selected: Array<[number, number]>;
|
|
}
|
|
export interface InsertRowAction {
|
|
actionType: 'insert_row';
|
|
amount: number;
|
|
index: number;
|
|
}
|
|
export interface RemoveRowAction {
|
|
actionType: 'remove_row';
|
|
index: number;
|
|
data: CellValue[][];
|
|
}
|
|
export interface InsertColAction {
|
|
actionType: 'insert_col';
|
|
amount: number;
|
|
index: number;
|
|
}
|
|
export interface RemoveColAction {
|
|
actionType: 'remove_col';
|
|
amount: number;
|
|
columnPositions: number[];
|
|
index: number;
|
|
indexes: number[];
|
|
headers: string[];
|
|
data: CellValue[][];
|
|
}
|
|
export interface FilterAction {
|
|
actionType: 'filter';
|
|
conditionsStack: ColumnConditions[];
|
|
}
|
|
|
|
export type Action = ChangeAction | InsertRowAction | RemoveRowAction | InsertColAction |
|
|
RemoveColAction | FilterAction;
|
|
|
|
export class UndoRedo extends BasePlugin {
|
|
constructor(hotInstance: Core);
|
|
undo(): void;
|
|
redo(): void;
|
|
}
|