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.
3.2 KiB
3.2 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 and listen to its events. Before using these methods, you should get the module from the instance.
// Listen to events
editor.on('keymap:add', () => { ... });
// Use the API
const keymaps = editor.Keymaps;
keymaps.add(...);
Available Events
keymap:add- New keymap added. The new keyamp object is passed as an argumentkeymap:remove- Keymap removed. The removed keyamp object is passed as an argumentkeymap:emit- Some keymap emitted, in arguments you get keymapId, shortcutUsed, Eventkeymap:emit:{keymapId}-keymapIdemitted, in arguments you get keymapId, shortcutUsed, Event
Methods
getConfig
Get configuration object
Returns Object
add
Add new keymap
Parameters
-
idstring Keymap id -
keysstring Keymap keys, eg.ctrl+a,⌘+z, ctrl+z -
handler(Function | string) Keymap handler, might be a function -
optsObject 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', {
// Prevent the default browser action
prevent: true,
});
// listen to events
editor.on('keymap:emit', (id, shortcut, event) => {
// ...
})
Returns Object Added keymap
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