Pass active codemirror instance to edit action (#6449)

Fixes #6373
This commit is contained in:
Rijk van Zanten
2021-06-22 19:06:59 -04:00
committed by GitHub
parent 8eeac67e61
commit aff2cebf2a
2 changed files with 20 additions and 14 deletions

View File

@@ -258,7 +258,7 @@ const alterations: AlterationFunctions = {
},
};
export function edit(codemirror: CodeMirror.Editor | null, type: Alteration, options?: Record<string, any>): void {
export function applyEdit(codemirror: CodeMirror.Editor | null, type: Alteration, options?: Record<string, any>): void {
if (codemirror) {
const cursor = codemirror.getCursor('head');
const cursorFrom = codemirror.getCursor('from');

View File

@@ -153,7 +153,7 @@ import CodeMirror from 'codemirror';
import 'codemirror/mode/markdown/markdown';
import 'codemirror/addon/display/placeholder.js';
import { edit, CustomSyntax } from './edits';
import { applyEdit, CustomSyntax } from './edits';
import { getPublicURL } from '@/utils/get-root-path';
import { md } from '@/utils/md';
import { addTokenToURL } from '@/api';
@@ -253,18 +253,18 @@ export default defineComponent({
columns: 4,
});
useShortcut('meta+b', () => edit(codemirror, 'bold'), markdownInterface);
useShortcut('meta+i', () => edit(codemirror, 'italic'), markdownInterface);
useShortcut('meta+k', () => edit(codemirror, 'link'), markdownInterface);
useShortcut('meta+alt+d', () => edit(codemirror, 'strikethrough'), markdownInterface);
useShortcut('meta+alt+q', () => edit(codemirror, 'blockquote'), markdownInterface);
useShortcut('meta+alt+c', () => edit(codemirror, 'code'), markdownInterface);
useShortcut('meta+alt+1', () => edit(codemirror, 'heading', { level: 1 }), markdownInterface);
useShortcut('meta+alt+2', () => edit(codemirror, 'heading', { level: 2 }), markdownInterface);
useShortcut('meta+alt+3', () => edit(codemirror, 'heading', { level: 3 }), markdownInterface);
useShortcut('meta+alt+4', () => edit(codemirror, 'heading', { level: 4 }), markdownInterface);
useShortcut('meta+alt+5', () => edit(codemirror, 'heading', { level: 5 }), markdownInterface);
useShortcut('meta+alt+6', () => edit(codemirror, 'heading', { level: 6 }), markdownInterface);
useShortcut('meta+b', () => edit('bold'), markdownInterface);
useShortcut('meta+i', () => edit('italic'), markdownInterface);
useShortcut('meta+k', () => edit('link'), markdownInterface);
useShortcut('meta+alt+d', () => edit('strikethrough'), markdownInterface);
useShortcut('meta+alt+q', () => edit('blockquote'), markdownInterface);
useShortcut('meta+alt+c', () => edit('code'), markdownInterface);
useShortcut('meta+alt+1', () => edit('heading', { level: 1 }), markdownInterface);
useShortcut('meta+alt+2', () => edit('heading', { level: 2 }), markdownInterface);
useShortcut('meta+alt+3', () => edit('heading', { level: 3 }), markdownInterface);
useShortcut('meta+alt+4', () => edit('heading', { level: 4 }), markdownInterface);
useShortcut('meta+alt+5', () => edit('heading', { level: 5 }), markdownInterface);
useShortcut('meta+alt+6', () => edit('heading', { level: 6 }), markdownInterface);
return {
t,
@@ -293,6 +293,12 @@ export default defineComponent({
imageDialogOpen.value = false;
}
function edit(type: string, options?: Record<string, any>) {
if (codemirror) {
applyEdit(codemirror, type, options);
}
}
},
});
</script>