mirror of https://github.com/artf/grapesjs.git
2 changed files with 71 additions and 68 deletions
@ -0,0 +1,69 @@ |
|||
import EditorModule from '../editor'; |
|||
|
|||
export interface Keymap { |
|||
id: string; |
|||
keys: string; |
|||
handler: string | ((editor: EditorModule) => any); |
|||
} |
|||
|
|||
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', |
|||
}, |
|||
'core:redo': { |
|||
keys: '⌘+shift+z, ctrl+shift+z', |
|||
handler: 'core:redo', |
|||
}, |
|||
'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; |
|||
Loading…
Reference in new issue