]> BookStack Code Mirror - bookstack/blobdiff - resources/js/wysiwyg/services/common-events.ts
Customization: Added parent tag classes
[bookstack] / resources / js / wysiwyg / services / common-events.ts
index 16522d66b713ad0e475d7c90cb67a4e76f1ce243..2ffa722e40c3415a5914da20422100e40ba9cda1 100644 (file)
@@ -1,4 +1,4 @@
-import {LexicalEditor} from "lexical";
+import {$getSelection, LexicalEditor} from "lexical";
 import {
     appendHtmlToEditor,
     focusEditor,
@@ -40,4 +40,16 @@ export function listen(editor: LexicalEditor): void {
     window.$events.listen<EditorEventContent>('editor::focus', () => {
         focusEditor(editor);
     });
+
+    let changeFromLoading = true;
+    editor.registerUpdateListener(({dirtyElements, dirtyLeaves, editorState, prevEditorState}) => {
+        // Emit change event to component system (for draft detection) on actual user content change
+        if (dirtyElements.size > 0 || dirtyLeaves.size > 0) {
+            if (changeFromLoading) {
+                changeFromLoading = false;
+            } else {
+                window.$events.emit('editor-html-change', '');
+            }
+        }
+    });
 }