@@ -12,7 +12,6 @@ import {
1212 Renderer2 ,
1313 SimpleChanges ,
1414 AfterContentInit ,
15- ɵBaseDef ,
1615} from '@angular/core' ;
1716import classnames from 'classnames' ;
1817import toStyle from 'css-to-style' ;
@@ -22,10 +21,9 @@ import { Many } from '../declarations/many';
2221import { ReactContentProps } from '../renderer/react-content' ;
2322import { isReactNode } from '../renderer/react-node' ;
2423import { isReactRendererData } from '../renderer/renderer' ;
25- import { fromPairs } from '../utils/object/from-pairs ' ;
24+ import { toObject } from '../utils/object/to-object ' ;
2625import { afterRenderFinished } from '../utils/render/render-delay' ;
2726import { InputRendererOptions , JsxRenderFunc , createInputJsxRenderer , createRenderPropHandler } from './render-props' ;
28- import { omit } from '../utils/object/omit' ;
2927
3028// Forbidden attributes are still ignored, since they may be set from the wrapper components themselves (forbidden is only applied for users of the wrapper components)
3129const ignoredAttributeMatchers = [ / ^ _ ? n g - ? .* / , / ^ s t y l e $ / , / ^ c l a s s $ / ] ;
@@ -233,23 +231,17 @@ export abstract class ReactWrapperComponent<TProps extends {}> implements AfterC
233231 ) ;
234232
235233 const eventListeners = this . elementRef . nativeElement . getEventListeners ( ) ;
236- // Event listeners already being handled natively by the derived component
237- const handledEventListeners = Object . keys (
238- ( ( this . constructor as any ) . ngBaseDef as ɵBaseDef < any > ) . outputs
239- ) as ( keyof typeof eventListeners ) [ ] ;
240- const unhandledEventListeners = omit ( eventListeners , ...handledEventListeners ) ;
241-
242234 const eventHandlersProps =
243- unhandledEventListeners && Object . keys ( unhandledEventListeners ) . length
244- ? fromPairs (
245- Object . values ( unhandledEventListeners ) . map < [ string , React . EventHandler < React . SyntheticEvent > ] > (
246- ( [ eventListener ] ) => [
247- eventListener . type ,
248- ( ev : React . SyntheticEvent ) => eventListener . listener ( ev && ev . nativeEvent ) ,
249- ]
250- )
235+ eventListeners && Object . keys ( eventListeners ) . length
236+ ? toObject (
237+ Object . values ( eventListeners ) . map < [ string , React . EventHandler < React . SyntheticEvent > ] > ( ( [ eventListener ] ) => [
238+ eventListener . type ,
239+ ( ev : React . SyntheticEvent ) => eventListener . listener ( ev && ev . nativeEvent ) ,
240+ ] )
251241 )
252242 : { } ;
243+ {
244+ }
253245
254246 this . reactNodeRef . nativeElement . setProperties ( { ...props , ...eventHandlersProps } ) ;
255247 }
0 commit comments