UNPKG

@print-one/grapesjs

Version:

Free and Open Source Web Builder Framework

72 lines (66 loc) 1.5 kB
import { CommandFunction } from '../commands/view/CommandAbstract'; export interface Keymap { id: string; keys: string; handler: string | CommandFunction; } export interface KeymapOptions { /** * Force the handler to be executed. */ force?: boolean; /** * Prevent default of the original triggered event. */ prevent?: boolean; } export interface KeymapsConfig { /** * Default keymaps. */ defaults?: Record<string, Omit<Keymap, 'id'> & { opts?: KeymapOptions }>; } const config: KeymapsConfig = { defaults: { 'core:undo': { keys: '⌘+z, ctrl+z', handler: 'core:undo', opts: { prevent: true }, }, 'core:redo': { keys: '⌘+shift+z, ctrl+shift+z', handler: 'core:redo', opts: { prevent: true }, }, 'core:copy': { keys: '⌘+c, ctrl+c', handler: 'core:copy', }, 'core:paste': { keys: '⌘+v, ctrl+v', handler: 'core:paste', }, 'core:component-next': { keys: 's', handler: 'core:component-next', }, 'core:component-prev': { keys: 'w', handler: 'core:component-prev', }, 'core:component-enter': { keys: 'd', handler: 'core:component-enter', }, 'core:component-exit': { keys: 'a', handler: 'core:component-exit', }, 'core:component-delete': { keys: 'backspace, delete', handler: 'core:component-delete', opts: { prevent: true }, }, }, }; export default config;