Browse Source

Avoid loading keymaps for headless editor

pull/6435/head
Artur Arseniev 11 months ago
parent
commit
5f5a776c73
  1. 8
      packages/core/src/editor/model/Editor.ts
  2. 3
      packages/core/src/keymaps/index.ts

8
packages/core/src/editor/model/Editor.ts

@ -314,6 +314,14 @@ export default class EditorModel extends Model {
return this.config.grapesjs?.version || '';
}
get isHeadless() {
return !!this.config.headless;
}
get isShallow() {
return !!this.get('isShallow');
}
/**
* Get configurations
* @param {string} [prop] Property name

3
packages/core/src/keymaps/index.ts

@ -64,6 +64,7 @@ export default class KeymapsModule extends Module<KeymapsConfig & { name?: strin
}
onLoad() {
if (this.em.isHeadless) return;
const defKeys = this.config.defaults;
for (let id in defKeys) {
@ -121,7 +122,7 @@ export default class KeymapsModule extends Module<KeymapsConfig & { name?: strin
const handlerRes = isString(handler) ? cmd.get(handler) : handler;
const ableTorun = !em.isEditing() && !editor.Canvas.isInputFocused();
if (ableTorun || opts.force) {
opts.prevent && canvas.getCanvasView().preventDefault(e);
opts.prevent && canvas.getCanvasView()?.preventDefault(e);
isFunction(handlerRes) ? handlerRes(editor, 0, opt) : cmd.runCommand(handlerRes, opt);
const args = [id, h.shortcut, e];
em.trigger('keymap:emit', ...args);

Loading…
Cancel
Save