Skip to content

Commit 640eb4f

Browse files
authored
Merge pull request #8 from dannyrb/feature/expose-dom
feat: pass the enabled element up to the parent via a callback
2 parents 1519ec0 + 55ceb80 commit 640eb4f

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-cornerstone-viewport",
3-
"version": "0.1.25",
3+
"version": "0.1.26",
44
"description": "Cornerstone medical image viewport component for React",
55
"author": "Cornerstone Contributors",
66
"license": "MIT",

src/CornerstoneViewport/CornerstoneViewport.js

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)