diff --git a/resources/assets/js/components/markdown-editor.js b/resources/assets/js/components/markdown-editor.js index e646dfd2b..7b051dd12 100644 --- a/resources/assets/js/components/markdown-editor.js +++ b/resources/assets/js/components/markdown-editor.js @@ -84,6 +84,8 @@ class MarkdownEditor { }; // Save draft extraKeys[`${metaKey}-S`] = cm => {window.$events.emit('editor-save-draft')}; + // Save page + extraKeys[`${metaKey}-Enter`] = cm => {window.$events.emit('editor-save-page')}; // Show link selector extraKeys[`Shift-${metaKey}-K`] = cm => {this.actionShowLinkSelector()}; // Insert Link diff --git a/resources/assets/js/pages/page-form.js b/resources/assets/js/pages/page-form.js index ec433b316..73a6c976d 100644 --- a/resources/assets/js/pages/page-form.js +++ b/resources/assets/js/pages/page-form.js @@ -71,6 +71,11 @@ function registerEditorShortcuts(editor) { window.$events.emit('editor-save-draft'); }); + // Save page shortcut + editor.shortcuts.add('meta+13', '', () => { + window.$events.emit('editor-save-page'); + }); + // Loop through callout styles editor.shortcuts.add('meta+9', '', function() { let selectedNode = editor.selection.getNode(); diff --git a/resources/assets/js/vues/page-editor.js b/resources/assets/js/vues/page-editor.js index 9d7179a7e..d33739b30 100644 --- a/resources/assets/js/vues/page-editor.js +++ b/resources/assets/js/vues/page-editor.js @@ -34,8 +34,9 @@ function mounted() { this.draftText = trans('entities.pages_editing_page'); } - // Listen to save draft events from editor + // Listen to save events from editor window.$events.listen('editor-save-draft', this.saveDraft); + window.$events.listen('editor-save-page', this.savePage); // Listen to content changes from the editor window.$events.listen('editor-html-change', html => { @@ -106,6 +107,9 @@ let methods = { }); }, + savePage() { + this.$el.closest('form').submit(); + }, draftNotifyChange(text) { this.draftText = text;