mirror of https://github.com/artf/grapesjs.git
nocodeframeworkdrag-and-dropsite-buildersite-generatortemplate-builderui-builderweb-builderweb-builder-frameworkwebsite-builderno-codepage-builder
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.3 KiB
2.3 KiB
Keymaps
You can customize the initial state of the module from the editor initialization
const editor = grapesjs.init({
keymaps: {
// Object of keymaps
defaults: {
'your-namespace:keymap-name' {
keys: '⌘+z, ctrl+z',
handler: 'some-command-id'
},
...
}
}
})
Once the editor is instantiated you can use its API. Before using these methods you should get the module from the instance
const keymaps = editor.Keymaps;
getConfig
Get module configurations
Returns Object Configuration object
add
Add new keymap
Parameters
idstring Keymap idkeysstring Keymap keys, eg.ctrl+a,⌘+z, ctrl+zhandler(Function | string) Keymap handler, might be a functionoptsObject Options (optional, default{})
Examples
// 'ns' is just a custom namespace
keymaps.add('ns:my-keymap', '⌘+j, ⌘+u, ctrl+j, alt+u', editor => {
console.log('do stuff');
});
// or
keymaps.add('ns:my-keymap', '⌘+s, ctrl+s', 'some-gjs-command');
// listen to events
editor.on('keymap:emit', (id, shortcut, e) => {
// ...
})
Returns Object Added keymap or just a command id as a string
get
Get the keymap by id
Parameters
idstring Keymap id
Examples
keymaps.get('ns:my-keymap');
// -> {keys, handler};
Returns Object Keymap object
getAll
Get all keymaps
Examples
keymaps.getAll();
// -> {id1: {}, id2: {}};
Returns Object
remove
Remove the keymap by id
Parameters
idstring Keymap id
Examples
keymaps.remove('ns:my-keymap');
// -> {keys, handler};
Returns Object Removed keymap
removeAll
Remove all binded keymaps
Returns this