(aciton: SideToolbarEffectCallback, editor: Editable)
| 77 | |
| 78 | type SideToolbarEffectCallback = (range: Range, element: Element) => (() => void) | void |
| 79 | export const useSideToolbarMenuEffect = (aciton: SideToolbarEffectCallback, editor: Editable) => { |
| 80 | const [open] = useSideToolbarMenuOpen(editor) |
| 81 | useIsomorphicLayoutEffect(() => { |
| 82 | let destroy: (() => void) | void |
| 83 | |
| 84 | const data = getCapturedData(editor) |
| 85 | if (open && data) { |
| 86 | const { selection, element } = data |
| 87 | destroy = aciton(selection, element) |
| 88 | } |
| 89 | return () => { |
| 90 | if (destroy) destroy() |
| 91 | } |
| 92 | }, [open, editor, aciton]) |
| 93 | } |
| 94 | |
| 95 | export const SideToolbar = { |
| 96 | setOpen(editor: Editable, open: boolean) { |
no test coverage detected
searching dependent graphs…