From cd7a55ba5aeb83d1e540a65b5c6b2c74fd742461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milorad=20FIlipovi=C4=87?= Date: Fri, 17 Mar 2023 13:23:49 +0100 Subject: [PATCH] fix(editor): Fix redo in code and expression editor (#5708) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(editor): Fix redo in code and expression editor * ⚡ Updating keymap to use platform-specific command key --- .../src/components/CodeNodeEditor/baseExtensions.ts | 2 ++ .../ExpressionEditorModal/ExpressionEditorModalInput.vue | 3 ++- .../editor-ui/src/components/HtmlEditor/HtmlEditor.vue | 8 ++++++-- .../InlineExpressionEditorInput.vue | 3 ++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/editor-ui/src/components/CodeNodeEditor/baseExtensions.ts b/packages/editor-ui/src/components/CodeNodeEditor/baseExtensions.ts index a2abdb1240577..cf1e972d8d7e8 100644 --- a/packages/editor-ui/src/components/CodeNodeEditor/baseExtensions.ts +++ b/packages/editor-ui/src/components/CodeNodeEditor/baseExtensions.ts @@ -14,6 +14,7 @@ import { indentWithTab, insertNewlineAndIndent, toggleComment, + redo, } from '@codemirror/commands'; import { lintGutter } from '@codemirror/lint'; @@ -36,6 +37,7 @@ export const baseExtensions = [ { key: 'Tab', run: acceptCompletion }, { key: 'Enter', run: acceptCompletion }, { key: 'Mod-/', run: toggleComment }, + { key: 'Mod-Shift-z', run: redo }, indentWithTab, ]), EditorView.lineWrapping, diff --git a/packages/editor-ui/src/components/ExpressionEditorModal/ExpressionEditorModalInput.vue b/packages/editor-ui/src/components/ExpressionEditorModal/ExpressionEditorModalInput.vue index a5b49355d1a44..9a433a931f900 100644 --- a/packages/editor-ui/src/components/ExpressionEditorModal/ExpressionEditorModalInput.vue +++ b/packages/editor-ui/src/components/ExpressionEditorModal/ExpressionEditorModalInput.vue @@ -6,7 +6,7 @@ import mixins from 'vue-typed-mixins'; import { EditorView, keymap } from '@codemirror/view'; import { EditorState, Prec } from '@codemirror/state'; -import { history } from '@codemirror/commands'; +import { history, redo } from '@codemirror/commands'; import { workflowHelpers } from '@/mixins/workflowHelpers'; import { expressionManager } from '@/mixins/expressionManager'; @@ -54,6 +54,7 @@ export default mixins(expressionManager, completionManager, workflowHelpers).ext return false; }, }, + { key: 'Mod-Shift-z', run: redo }, ]), ), n8nLang(), diff --git a/packages/editor-ui/src/components/HtmlEditor/HtmlEditor.vue b/packages/editor-ui/src/components/HtmlEditor/HtmlEditor.vue index 8919a068a0e5c..9f11e07bb61e8 100644 --- a/packages/editor-ui/src/components/HtmlEditor/HtmlEditor.vue +++ b/packages/editor-ui/src/components/HtmlEditor/HtmlEditor.vue @@ -10,7 +10,7 @@ import cssParser from 'prettier/parser-postcss'; import jsParser from 'prettier/parser-babel'; import { htmlLanguage, autoCloseTags, html } from 'codemirror-lang-html-n8n'; import { autocompletion } from '@codemirror/autocomplete'; -import { indentWithTab, insertNewlineAndIndent, history } from '@codemirror/commands'; +import { indentWithTab, insertNewlineAndIndent, history, redo } from '@codemirror/commands'; import { bracketMatching, ensureSyntaxTree, @@ -86,7 +86,11 @@ export default mixins(expressionManager).extend({ this.disableExpressionCompletions ? html() : htmlWithCompletions(), autoCloseTags, expressionInputHandler(), - keymap.of([indentWithTab, { key: 'Enter', run: insertNewlineAndIndent }]), + keymap.of([ + indentWithTab, + { key: 'Enter', run: insertNewlineAndIndent }, + { key: 'Mod-Shift-z', run: redo }, + ]), indentOnInput(), theme, lineNumbers(), diff --git a/packages/editor-ui/src/components/InlineExpressionEditor/InlineExpressionEditorInput.vue b/packages/editor-ui/src/components/InlineExpressionEditor/InlineExpressionEditorInput.vue index fde32c76ded99..a795c5ade65a6 100644 --- a/packages/editor-ui/src/components/InlineExpressionEditor/InlineExpressionEditorInput.vue +++ b/packages/editor-ui/src/components/InlineExpressionEditor/InlineExpressionEditorInput.vue @@ -7,7 +7,7 @@ import mixins from 'vue-typed-mixins'; import { mapStores } from 'pinia'; import { EditorView, keymap } from '@codemirror/view'; import { EditorState, Prec } from '@codemirror/state'; -import { history } from '@codemirror/commands'; +import { history, redo } from '@codemirror/commands'; import { autocompletion, completionStatus } from '@codemirror/autocomplete'; import { useNDVStore } from '@/stores/ndv'; @@ -87,6 +87,7 @@ export default mixins(completionManager, expressionManager, workflowHelpers).ext return false; }, }, + { key: 'Mod-Shift-z', run: redo }, ]), ), autocompletion(),