Restore removeEventListener

This commit is contained in:
Siklos 2022-08-12 19:45:22 +02:00
parent cefeeb54c0
commit 9dcb703ec6
2 changed files with 17 additions and 1 deletions

View file

@ -42,12 +42,23 @@ const Editor: React.FunctionComponent<IEditorProps> = (props) => {
configuration: props.configuration configuration: props.configuration
}; };
const funcs = new Map<string, () => void>();
for (const event of events) { 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 () => { return () => {
window.removeEventListener('keyup', onKeyUp); 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);
}
}; };
}); });

View file

@ -97,6 +97,11 @@ export const ElementsSidebar: React.FC<IElementsSidebarProps> = (props: IElement
); );
return () => { return () => {
elementRef.current?.removeEventListener(
'contextmenu',
onContextMenu
);
window.removeEventListener( window.removeEventListener(
'click', 'click',
onLeftClick onLeftClick