@@ -92,6 +92,7 @@ class CornerstoneViewport extends Component {
9292 cineToolData : PropTypes . object . isRequired ,
9393 availableTools : PropTypes . array . isRequired ,
9494 onMeasurementsChanged : PropTypes . func ,
95+ onElementEnabled : PropTypes . func ,
9596 isActive : PropTypes . bool . isRequired ,
9697 layout : PropTypes . object ,
9798 children : PropTypes . node ,
@@ -320,7 +321,24 @@ class CornerstoneViewport extends Component {
320321 }
321322 ] ;
322323
323- // Enable the DOM Element for use with Cornerstone
324+ // Pass ELEMENT_ENABLED event to parent
325+ const onElementEnabledFn = evt => {
326+ const enabledElement = evt . detail . element ;
327+ if ( enabledElement === this . element ) {
328+ if ( this . props . onElementEnabled ) {
329+ this . props . onElementEnabled ( evt ) ;
330+ }
331+ cornerstone . events . removeEventListener (
332+ cornerstone . EVENTS . ELEMENT_ENABLED ,
333+ onElementEnabledFn
334+ ) ;
335+ }
336+ } ;
337+
338+ cornerstone . events . addEventListener (
339+ cornerstone . EVENTS . ELEMENT_ENABLED ,
340+ onElementEnabledFn
341+ ) ;
324342 cornerstone . enable ( element , this . props . cornerstoneOptions ) ;
325343
326344 // Handle the case where the imageId isn't loaded correctly and the
0 commit comments