From 35d3b5101f1db54425d21a17d6d1c21f1b380493 Mon Sep 17 00:00:00 2001 From: dineug Date: Tue, 23 Jan 2024 05:19:26 +0900 Subject: [PATCH] fix: intellij webview keyBinding --- .../erd-editor-intellij-webview/src/main.ts | 22 ++++++++++++++ packages/erd-editor/README.md | 30 +++++++++---------- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/packages/erd-editor-intellij-webview/src/main.ts b/packages/erd-editor-intellij-webview/src/main.ts index 1cc27b44..2729276f 100644 --- a/packages/erd-editor-intellij-webview/src/main.ts +++ b/packages/erd-editor-intellij-webview/src/main.ts @@ -22,6 +22,28 @@ const bridge = new Emitter(); const editor = document.createElement('erd-editor'); const sharedStore = editor.getSharedStore({ mouseTracker: false }); +editor.setKeyBindingMap({ + addTable: [{ shortcut: 'Alt+KeyN', preventDefault: true }], + addColumn: [{ shortcut: 'Alt+Enter', preventDefault: true }], + addMemo: [{ shortcut: 'Alt+KeyM', preventDefault: true }], + removeTable: [ + { shortcut: '$mod+Backspace', preventDefault: true }, + { shortcut: '$mod+Delete', preventDefault: true }, + ], + removeColumn: [ + { shortcut: 'Alt+Backspace', preventDefault: true }, + { shortcut: 'Alt+Delete', preventDefault: true }, + ], + primaryKey: [{ shortcut: 'Alt+KeyK', preventDefault: true }], + selectAllTable: [{ shortcut: '$mod+Alt+KeyA', preventDefault: true }], + selectAllColumn: [{ shortcut: 'Alt+KeyA', preventDefault: true }], + relationshipZeroOne: [{ shortcut: '$mod+Alt+Digit1', preventDefault: true }], + relationshipZeroN: [{ shortcut: '$mod+Alt+Digit2', preventDefault: true }], + relationshipOneOnly: [{ shortcut: '$mod+Alt+Digit3', preventDefault: true }], + relationshipOneN: [{ shortcut: '$mod+Alt+Digit4', preventDefault: true }], + tableProperties: [{ shortcut: 'Alt+Space', preventDefault: true }], +}); + const dispatch = (action: AnyAction) => { window.cefQuery({ request: JSON.stringify(action), diff --git a/packages/erd-editor/README.md b/packages/erd-editor/README.md index 2ed66641..300ec2be 100644 --- a/packages/erd-editor/README.md +++ b/packages/erd-editor/README.md @@ -199,19 +199,19 @@ type ShortcutOption = { }; const defaultKeyBindingMap: KeyBindingMap = { - addTable: [{ shortcut: 'Alt+KeyN' }]; - addColumn: [{ shortcut: 'Alt+Enter' }]; - addMemo: [{ shortcut: 'Alt+KeyM' }]; - removeTable: [{ shortcut: '$mod+Backspace' }, { shortcut: '$mod+Delete' }]; - removeColumn: [{ shortcut: 'Alt+Backspace' }, { shortcut: 'Alt+Delete' }]; - primaryKey: [{ shortcut: 'Alt+KeyK' }]; - selectAllTable: [{ shortcut: '$mod+Alt+KeyA' }]; - selectAllColumn: [{ shortcut: 'Alt+KeyA' }]; - relationshipZeroOne: [{ shortcut: '$mod+Alt+Digit1' }]; - relationshipZeroN: [{ shortcut: '$mod+Alt+Digit2' }]; - relationshipOneOnly: [{ shortcut: '$mod+Alt+Digit3' }]; - relationshipOneN: [{ shortcut: '$mod+Alt+Digit4' }]; - tableProperties: [{ shortcut: 'Alt+Space' }]; + addTable: [{ shortcut: 'Alt+KeyN' }], + addColumn: [{ shortcut: 'Alt+Enter' }], + addMemo: [{ shortcut: 'Alt+KeyM' }], + removeTable: [{ shortcut: '$mod+Backspace' }, { shortcut: '$mod+Delete' }], + removeColumn: [{ shortcut: 'Alt+Backspace' }, { shortcut: 'Alt+Delete' }], + primaryKey: [{ shortcut: 'Alt+KeyK' }], + selectAllTable: [{ shortcut: '$mod+Alt+KeyA' }], + selectAllColumn: [{ shortcut: 'Alt+KeyA' }], + relationshipZeroOne: [{ shortcut: '$mod+Alt+Digit1' }], + relationshipZeroN: [{ shortcut: '$mod+Alt+Digit2' }], + relationshipOneOnly: [{ shortcut: '$mod+Alt+Digit3' }], + relationshipOneN: [{ shortcut: '$mod+Alt+Digit4' }], + tableProperties: [{ shortcut: 'Alt+Space' }], }; // example @@ -229,7 +229,7 @@ Switches `Control` key depending on the environment. ### Shortcut Table -Uses keyboard event `key, code` properties. +Uses keyboard event `key, code` properties. Use `code` for absolute positions and `key` for input values. | Windows | macOS | `key` | `code` | @@ -455,7 +455,7 @@ editor.setSchemaSQL('Schema SQL...'); ## getSchemaSQL -Extracts the current editor state into a schema SQL. +Extracts the current editor state into a schema SQL. If `databaseVendor` is not specified, it operates based on the currently set vendor. ```ts