From aacd0c68b868069d6b92efc89ac316fca5e18441 Mon Sep 17 00:00:00 2001 From: Gustavo Lelis Date: Wed, 27 Mar 2019 04:34:23 -0300 Subject: [PATCH 1/3] feat(vewportOverlay): Update the extension to be able to pass custom properties to the viewport --- .../src/OHIFCornerstoneExtension.js | 27 +++++++++++++------ .../src/OHIFCornerstoneViewport.js | 4 ++- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneExtension.js b/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneExtension.js index 0d18df211..abf239939 100644 --- a/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneExtension.js +++ b/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneExtension.js @@ -11,9 +11,18 @@ import ToolbarModule from './ToolbarModule.js'; * @param children * @return {function(*): *} */ -function withChildren(WrappedComponent, children) { +function componentWithProps(WrappedComponent, children, customProps) { return function(props) { - return ; + const extraProps = { + customProps + }; + if (children.viewport) { + extraProps.children = children.viewport; + } + + const mergedProps = Object.assign({}, props, extraProps); + + return ; }; } @@ -21,8 +30,10 @@ function withChildren(WrappedComponent, children) { // https://github.com/whitecolor/yalc export default class OHIFCornerstoneExtension { - constructor(children) { + constructor(props) { + const { children = {}, customProps = {} } = props; this.children = children; + this.customProps = customProps; } /** @@ -33,11 +44,11 @@ export default class OHIFCornerstoneExtension { } getViewportModule() { - if (this.children && this.children.viewport) { - return withChildren(OHIFCornerstoneViewport, this.children.viewport); - } - - return OHIFCornerstoneViewport; + return componentWithProps( + OHIFCornerstoneViewport, + this.children, + this.customProps + ); } getSopClassHandler() { diff --git a/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneViewport.js b/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneViewport.js index 3224b6465..9e90a046e 100644 --- a/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneViewport.js +++ b/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneViewport.js @@ -36,7 +36,8 @@ class OHIFCornerstoneViewport extends Component { studies: PropTypes.object, displaySet: PropTypes.object, viewportIndex: PropTypes.number, - children: PropTypes.node + children: PropTypes.node, + customProps: PropTypes.object }; static id = 'OHIFCornerstoneViewport'; @@ -226,6 +227,7 @@ class OHIFCornerstoneViewport extends Component { )} {childrenWithProps} From c05c666d727d2627839b12495fb749261be52b2d Mon Sep 17 00:00:00 2001 From: Gustavo Lelis Date: Thu, 28 Mar 2019 17:19:20 -0300 Subject: [PATCH 2/3] feat(viewportOverlay): Adding default value on customProps --- .../ohif-cornerstone-extension/src/OHIFCornerstoneViewport.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneViewport.js b/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneViewport.js index 9e90a046e..fb458d11b 100644 --- a/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneViewport.js +++ b/Packages-react/extensions/ohif-cornerstone-extension/src/OHIFCornerstoneViewport.js @@ -32,6 +32,10 @@ class OHIFCornerstoneViewport extends Component { viewportData: null }; + static defaultProps = { + customProps: {} + }; + static propTypes = { studies: PropTypes.object, displaySet: PropTypes.object, From 59c06c886be3913966396da3b6ba847b7086a7b3 Mon Sep 17 00:00:00 2001 From: Gustavo Lelis Date: Fri, 29 Mar 2019 13:51:16 -0300 Subject: [PATCH 3/3] feat(react-cornerstone-viewport): Bump version --- .../extensions/ohif-cornerstone-extension/package.json | 2 +- .../extensions/ohif-cornerstone-extension/rollup.config.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Packages-react/extensions/ohif-cornerstone-extension/package.json b/Packages-react/extensions/ohif-cornerstone-extension/package.json index e7388d424..81bbef186 100644 --- a/Packages-react/extensions/ohif-cornerstone-extension/package.json +++ b/Packages-react/extensions/ohif-cornerstone-extension/package.json @@ -92,6 +92,6 @@ "@babel/runtime": "^7.2.0", "classnames": "^2.2.6", "lodash.throttle": "^4.1.1", - "react-cornerstone-viewport": "^0.1.23" + "react-cornerstone-viewport": "^0.1.24" } } diff --git a/Packages-react/extensions/ohif-cornerstone-extension/rollup.config.js b/Packages-react/extensions/ohif-cornerstone-extension/rollup.config.js index 4333cb6f5..f4130377c 100644 --- a/Packages-react/extensions/ohif-cornerstone-extension/rollup.config.js +++ b/Packages-react/extensions/ohif-cornerstone-extension/rollup.config.js @@ -13,6 +13,7 @@ const globals = { 'react-dom': 'ReactDOM', 'react-redux': 'ReactRedux', 'react-resize-detector': 'ReactResizeDetector', + 'react-viewerbase': 'reactViewerbase', 'prop-types': 'PropTypes', 'cornerstone-core': 'cornerstone', 'cornerstone-wado-image-loader': 'cornerstoneWADOImageLoader',