From fd4b9a6c677c929b23e52dbd292b176a6605ee47 Mon Sep 17 00:00:00 2001 From: Alf Eaton Date: Tue, 9 Jan 2024 09:14:09 +0000 Subject: [PATCH] Fix React scope event listener (#16434) GitOrigin-RevId: 1846ad511f915ff48f2f20a8b8a7f1174bb21525 --- .../react-scope-event-emitter.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/services/web/frontend/js/features/ide-react/scope-event-emitter/react-scope-event-emitter.ts b/services/web/frontend/js/features/ide-react/scope-event-emitter/react-scope-event-emitter.ts index 5602dc2103..88609409c2 100644 --- a/services/web/frontend/js/features/ide-react/scope-event-emitter/react-scope-event-emitter.ts +++ b/services/web/frontend/js/features/ide-react/scope-event-emitter/react-scope-event-emitter.ts @@ -14,12 +14,18 @@ export class ReactScopeEventEmitter implements ScopeEventEmitter { on(eventName: ScopeEventName, listener: (...args: unknown[]) => void) { // A listener attached via useScopeEventListener expects an event as the // first parameter. We don't have one, so just provide an empty object - const wrappedListener = (...detail: unknown[]) => { - listener({}, ...detail) + const wrappedListener = (event: CustomEvent) => { + listener({}, ...event.detail) } - this.eventEmitter.addEventListener(eventName, wrappedListener) + this.eventEmitter.addEventListener( + eventName, + wrappedListener as EventListener + ) return () => { - this.eventEmitter.removeEventListener(eventName, wrappedListener) + this.eventEmitter.removeEventListener( + eventName, + wrappedListener as EventListener + ) } } }