diff --git a/frontend/src/components/Editor.vue b/frontend/src/components/Editor.vue index d93fa459..c9c35f52 100644 --- a/frontend/src/components/Editor.vue +++ b/frontend/src/components/Editor.vue @@ -29,7 +29,7 @@
- {{ $t('campaigns.preview') }} + {{ $t('campaigns.preview') }} (F9)
@@ -231,6 +231,13 @@ export default { editor.on('CloseWindow', () => { editor.selection.getNode().scrollIntoView(false); }); + + editor.on('keydown', (e) => { + if (e.key === 'F9') { + this.onTogglePreview(); + e.preventDefault(); + } + }); }, browser_spellcheck: true, @@ -400,6 +407,13 @@ export default { this.runTinyMceImageCallback(media.url); }, + onPreviewShortcut(e) { + if (e.key === 'F9') { + this.onTogglePreview(); + e.preventDefault(); + } + }, + beautifyHTML(str) { // Pad all tags with linebreaks. let s = this.trimLines(str.replace(/(<(?!(\/)?a|span)([^>]+)>)/ig, '\n$1\n'), true); @@ -427,6 +441,12 @@ export default { mounted() { this.initRichtextEditor(); + + window.addEventListener('keydown', this.onPreviewShortcut); + }, + + beforeDestroy() { + window.removeEventListener('keydown', this.onPreviewShortcut); }, computed: { diff --git a/frontend/src/views/TemplateForm.vue b/frontend/src/views/TemplateForm.vue index 491656f7..d162ce53 100644 --- a/frontend/src/views/TemplateForm.vue +++ b/frontend/src/views/TemplateForm.vue @@ -3,8 +3,8 @@