svg-layout-designer-react/src/Components/Editor/Shortcuts.ts
Siklos 39a47659b6
All checks were successful
continuous-integration/drone/push Build is passing
Add option to disable shortcuts
2022-08-18 14:23:56 +02:00

28 lines
802 B
TypeScript

import { Dispatch, SetStateAction } from 'react';
import { IHistoryState } from '../../Interfaces/IHistoryState';
import { ENABLE_SHORTCUTS } from '../../utils/default';
export function onKeyDown(
event: KeyboardEvent,
history: IHistoryState[],
historyCurrentStep: number,
setHistoryCurrentStep: Dispatch<SetStateAction<number>>
): void {
if (!ENABLE_SHORTCUTS) {
return;
}
event.preventDefault();
if (event.isComposing || event.keyCode === 229) {
return;
}
if (event.key === 'z' &&
event.ctrlKey &&
historyCurrentStep > 0) {
setHistoryCurrentStep(historyCurrentStep - 1);
} else if (event.key === 'y' &&
event.ctrlKey &&
historyCurrentStep < history.length - 1) {
setHistoryCurrentStep(historyCurrentStep + 1);
}
}