From 5c6671b3bf5b582c2ed0e120bb8afb5f296a63e9 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Thu, 27 Mar 2025 14:13:18 +0000 Subject: [PATCH] Lexical: Fixed issues with content not saving Found that saving via Ctrl+Enter did not save as logic to load editor output into form was bypassed, which this fixes by ensuring submit events are raised during for this shortcut. Submit handling also gets a timeout added since, at least in FF, requestSubmit did not re-submit a form while in a submit event. --- resources/js/components/page-editor.js | 2 +- resources/js/components/wysiwyg-editor.js | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/resources/js/components/page-editor.js b/resources/js/components/page-editor.js index 64cd601a9..81378e944 100644 --- a/resources/js/components/page-editor.js +++ b/resources/js/components/page-editor.js @@ -112,7 +112,7 @@ export class PageEditor extends Component { } savePage() { - this.container.closest('form').submit(); + this.container.closest('form').requestSubmit(); } async saveDraft() { diff --git a/resources/js/components/wysiwyg-editor.js b/resources/js/components/wysiwyg-editor.js index 56dbe8d7c..5a2581900 100644 --- a/resources/js/components/wysiwyg-editor.js +++ b/resources/js/components/wysiwyg-editor.js @@ -25,6 +25,7 @@ export class WysiwygEditor extends Component { textDirection: this.$opts.textDirection, translations, }); + window.wysiwyg = this.editor; }); let handlingFormSubmit = false; @@ -38,7 +39,9 @@ export class WysiwygEditor extends Component { handlingFormSubmit = true; this.editor.getContentAsHtml().then(html => { this.input.value = html; - this.input.form.submit(); + setTimeout(() => { + this.input.form.requestSubmit(); + }, 5); }); } else { handlingFormSubmit = false;