Commit Graph

9 Commits

Author SHA1 Message Date
Tomas Valenta
561941d5e0
fix: Remove element.current from useEffect in BubbleMenu and FloatingMenu (#2297)
* Remove `element.current` from `useEffect` dependencies

Changes to the `element.current` don't trigger `useEffect` rerender and shouldn't be used in the dependency array.
One discussion about is this is for example here: https://stackoverflow.com/questions/60476155/is-it-safe-to-use-ref-current-as-useeffects-dependency-when-ref-points-to-a-dom

It's also causing some subtle bugs when mounting and unmounting editors.

* Fix `FloatingMenu` and `BubbleMenu` element references

* Fix linting errors

* Don't register plugin when the editor is already destroyed; Simplify `HTMLElement` reference handling

* Fix lint error
2021-12-22 12:13:36 +01:00
Philipp Kühn
2d0e6d02d1 refactoring 2021-10-12 11:38:01 +02:00
Tomas Valenta
e9465ec0f6
fix: Add editor dependency when registering BubbleMenuPlugin and FloatingMenuPlugin (#2018)
* Add `editor` dependency when registering `BubbleMenuPlugin`

When we are initializing editor via the `useEditor` hook with dependencies the `BubbleMenu` component is only registered the first time the editor is initialized.

Adding editor to the dependency array registering/unregistering the `BubbleMenuPlugin` fixes this. (I tested exactly this code in our project.)

I also added a check that ensures that the menu element referenced via the `useRef` is defined when registering the plugin - otherwise, there is no point in registering the plugin.

* Add `editor` dependency when registering `FloatingMenuPlugin`
2021-10-12 11:09:00 +02:00
Philipp Kühn
70a328bd3d fix: make shouldShow and pluginKey option for menus, fix #1779 2021-08-23 18:44:40 +02:00
Philipp Kühn
89d26f7cba fix: rename key to pluginKey for menus 2021-08-13 12:33:06 +02:00
Philipp Kühn
9ba61c1582
feat: add key option and shouldShow option to menus (fix #1480, fix #1043, fix #1268, fix #1503)
* add key option to bubble menu

* ignore react for now

* add shouldShow option to bubble menu extension

* improve types

* remove BubbleMenuPluginKey

* add key and shouldShow option to floating menu extension

* fix: don’t show floating menu within code block

* docs: add new menu options
2021-08-11 14:37:58 +02:00
Philipp Kühn
9a56f666a1 feat: add tippyOptions prop 2021-04-16 12:42:56 +02:00
Philipp Kühn
4d4f96bfc0 fix flicker bug for menus 2021-04-01 17:55:32 +02:00
Philipp Kühn
3eac1ce319 add floating menu to vue 3 and react 2021-04-01 15:55:19 +02:00