From fa96749ce22ec67125da491cfeeb38623b9f0d6e Mon Sep 17 00:00:00 2001 From: Dominik <6538827+bdbch@users.noreply.github.com> Date: Wed, 14 Sep 2022 02:05:36 +0200 Subject: [PATCH] fix(extension/bubble-menu): :bug: fix bubble menu and floating menu being available when editor not editable (#3195) --- demos/src/Extensions/BubbleMenu/React/index.jsx | 14 +++++++++++++- demos/src/Extensions/BubbleMenu/React/styles.scss | 4 ++++ demos/src/Extensions/BubbleMenu/Vue/index.vue | 15 +++++++++++++++ demos/src/Extensions/FloatingMenu/React/index.jsx | 14 +++++++++++++- demos/src/Extensions/FloatingMenu/Vue/index.vue | 11 +++++++++++ .../src/bubble-menu-plugin.ts | 1 + .../src/floating-menu-plugin.ts | 1 + 7 files changed, 58 insertions(+), 2 deletions(-) diff --git a/demos/src/Extensions/BubbleMenu/React/index.jsx b/demos/src/Extensions/BubbleMenu/React/index.jsx index 6ed4ff38..3fe7675b 100644 --- a/demos/src/Extensions/BubbleMenu/React/index.jsx +++ b/demos/src/Extensions/BubbleMenu/React/index.jsx @@ -2,7 +2,7 @@ import './styles.scss' import { BubbleMenu, EditorContent, useEditor } from '@tiptap/react' import StarterKit from '@tiptap/starter-kit' -import React from 'react' +import React, { useEffect } from 'react' export default () => { const editor = useEditor({ @@ -16,8 +16,20 @@ export default () => { `, }) + const [isEditable, setIsEditable] = React.useState(true) + + useEffect(() => { + if (editor) { + editor.setEditable(isEditable) + } + }, [isEditable, editor]) + return ( <> +
+ setIsEditable(!isEditable)} /> + Editable +
{editor &&