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. Before using these methods you should get the module from the instance.
const keymaps = editor.Keymaps;
Available Events
keymap:addNew keymap added. The new keymap object is passed as an argument to the callback.
editor.on('keymap:add', (keymap) => { ... });
keymap:removeKeymap removed. The removed keymap object is passed as an argument to the callback.
editor.on('keymap:remove', (keymap) => { ... });
keymap:emitSome keymap emitted. The keymapId, shortcutUsed, and Event are passed as arguments to the callback.
editor.on('keymap:emit', (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