From 62ce44d658345e49aa3a60ead2287576d4983b3f Mon Sep 17 00:00:00 2001 From: Jonas Date: Mon, 27 Apr 2026 12:39:07 +0200 Subject: [PATCH] fix(editorApi): fix callbacks on editor events The new Editor.js wrapper component that got introduced in the indexedb PR broke event propagation from Editor.vue component to editorApi consumers. Fixes loading editor and updating read-only content in Collectives. Signed-off-by: Jonas --- src/components/Editor.js | 4 +++- src/components/Editor.vue | 1 - src/editor.js | 7 +++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/Editor.js b/src/components/Editor.js index cb0bdcb6d20..197096e976d 100644 --- a/src/components/Editor.js +++ b/src/components/Editor.js @@ -7,7 +7,7 @@ import { defineComponent, h, nextTick, ref, watch } from 'vue' import Editor from './Editor.vue' export default defineComponent({ - emits: ['focus', 'ready'], + emits: ['focus', 'ready', 'create:content', 'update:content'], props: Editor.props, setup(props, { attrs, emit, slots }) { const reloading = ref(false) @@ -27,6 +27,8 @@ export default defineComponent({ focus: () => emit('focus'), ready: () => emit('ready'), reload: () => (reloading.value = true), + 'create:content': (content) => emit('create:content', content), + 'update:content': (content) => emit('update:content', content), }, scopedSlots: slots, }) diff --git a/src/components/Editor.vue b/src/components/Editor.vue index d717ca0608f..ce83a685997 100644 --- a/src/components/Editor.vue +++ b/src/components/Editor.vue @@ -937,7 +937,6 @@ export default defineComponent({ resolved() { localStorage.removeItem(this.indexedDbConflictKey) this.indexedDbConflictContent = '' - this.$emit('resolved') }, }, }) diff --git a/src/editor.js b/src/editor.js index 65501b7c059..a9bc13a3b0a 100644 --- a/src/editor.js +++ b/src/editor.js @@ -325,6 +325,13 @@ window.OCA.Text.createEditor = async function ({ active: true, autofocus, }, + on: { + ready: () => vm.$emit('ready'), + 'create:content': (content) => + vm.$emit('create:content', content), + 'update:content': (content) => + vm.$emit('update:content', content), + }, scopedSlots, }) : h(MarkdownContentEditor, {