import { ActionReducer } from "./StateManager.js"; import { Action } from "./action/DataUnitAction.js"; import StateManager, {StateAction} from "./StateManager.js"; class HistReducerImpl implements ActionReducer { public sliceName: string = ""; public reduce(stateManager: StateManager, _currentState: void, action: StateAction): void { switch (action.type) { case Action.DATA_SAVED: case Action.EDITION_CANCELED: stateManager.clearUndo(); break; case Action.CHANGE_UNDONE: stateManager.undo(); break; case Action.CHANGE_REDONE: stateManager.redo(); break; } } } export const HistReducer = new HistReducerImpl(); export const canUndo = (stateManager: StateManager): boolean => { return stateManager.canUndo(); } export const canRedo = (stateManager: StateManager): boolean =>{ return stateManager.canRedo(); }