diff --git a/packages/super-editor/src/components/SuperEditor.vue b/packages/super-editor/src/components/SuperEditor.vue index e2efd324c9..a09cfc368e 100644 --- a/packages/super-editor/src/components/SuperEditor.vue +++ b/packages/super-editor/src/components/SuperEditor.vue @@ -35,7 +35,7 @@ const editorElem = ref(null); const initEditor = async () => { console.debug('[super-editor] Loading file...', props.fileSource); - const content = await Editor.loadXmlData(props.fileSource); + const [content, media] = await Editor.loadXmlData(props.fileSource); editor.value = new Editor({ mode: 'docx', element: editorElem.value, @@ -43,6 +43,7 @@ const initEditor = async () => { extensions: getStarterExtensions(), documentId: props.documentId, content, + media, ...props.options, }); }; diff --git a/packages/super-editor/src/components/toolbar/ButtonGroup.vue b/packages/super-editor/src/components/toolbar/ButtonGroup.vue index 452c434b39..5bac6597cf 100644 --- a/packages/super-editor/src/components/toolbar/ButtonGroup.vue +++ b/packages/super-editor/src/components/toolbar/ButtonGroup.vue @@ -48,6 +48,7 @@ const isDropdown = (item) => item.type === 'dropdown'; const isSeparator = (item) => item.type === 'separator'; const handleToolbarButtonClick = (item, argument = null) => { currentItem.value = item; + currentItem.value.expand = true; if (item.disabled.value) return; emit('command', { item, argument }); } @@ -58,14 +59,21 @@ const handleToolbarButtonTextSubmit = (item, argument) => { emit('command', { item, argument }); } -const handleSelect = (item, argument) => { +const closeDropdowns = () => { + if (!currentItem.value) return; + currentItem.value.expand = false; currentItem.value = null; +} + +const handleSelect = (item, argument) => { + closeDropdowns(); emit('command', { item, argument }); } const handleClickOutside = (e) => { - currentItem.value = null; + closeDropdowns(); } +