From 759628bae5a17c30948cbf3fdb5e275a8f58bbd1 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Thu, 12 Aug 2021 11:36:20 +0200 Subject: [PATCH] Sync text component before store. Fixes #3615 --- src/editor/index.js | 3 +-- src/editor/model/Editor.js | 7 ++++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/editor/index.js b/src/editor/index.js index a0b18bf6a..3b2fc8b6b 100644 --- a/src/editor/index.js +++ b/src/editor/index.js @@ -426,8 +426,7 @@ export default (config = {}) => { * } */ getEditing() { - const res = em.getEditing(); - return (res && res.model) || null; + return em.getEditing(); }, /** diff --git a/src/editor/model/Editor.js b/src/editor/model/Editor.js index 4b15385e6..2be2988fa 100644 --- a/src/editor/model/Editor.js +++ b/src/editor/model/Editor.js @@ -609,6 +609,10 @@ export default Backbone.Model.extend({ storeData() { let result = {}; + // Sync content if there is an active RTE + const editingCmp = this.getEditing(); + editingCmp && editingCmp.trigger('sync:content', { noCount: true }); + this.get('storables').forEach(m => { result = { ...result, ...m.store(1) }; }); @@ -817,7 +821,8 @@ export default Backbone.Model.extend({ }, getEditing() { - return this.get('editing'); + const res = this.get('editing'); + return (res && res.model) || null; }, setEditing(value) {