From 9dcb703ec61fc2c796784b1046aad3b7fdfd414c Mon Sep 17 00:00:00 2001 From: Siklos Date: Fri, 12 Aug 2022 19:45:22 +0200 Subject: [PATCH] Restore removeEventListener --- src/Components/Editor/Editor.tsx | 13 ++++++++++++- src/Components/ElementsSidebar/ElementsSidebar.tsx | 5 +++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/Components/Editor/Editor.tsx b/src/Components/Editor/Editor.tsx index 5c8e334..4337365 100644 --- a/src/Components/Editor/Editor.tsx +++ b/src/Components/Editor/Editor.tsx @@ -42,12 +42,23 @@ const Editor: React.FunctionComponent = (props) => { configuration: props.configuration }; + const funcs = new Map void>(); for (const event of events) { - editorRef.current?.addEventListener(event.name, () => event.func(editorState)); + const func = (): void => event.func(editorState); + editorRef.current?.addEventListener(event.name, func); + funcs.set(event.name, func); } return () => { window.removeEventListener('keyup', onKeyUp); + + for (const event of events) { + const func = funcs.get(event.name); + if (func === undefined) { + continue; + } + editorRef.current?.removeEventListener(event.name, func); + } }; }); diff --git a/src/Components/ElementsSidebar/ElementsSidebar.tsx b/src/Components/ElementsSidebar/ElementsSidebar.tsx index fd798ef..e62f3db 100644 --- a/src/Components/ElementsSidebar/ElementsSidebar.tsx +++ b/src/Components/ElementsSidebar/ElementsSidebar.tsx @@ -97,6 +97,11 @@ export const ElementsSidebar: React.FC = (props: IElement ); return () => { + elementRef.current?.removeEventListener( + 'contextmenu', + onContextMenu + ); + window.removeEventListener( 'click', onLeftClick