2018-12-17 17:23:03 +01:00
|
|
|
import { connect } from 'react-redux';
|
|
|
|
|
import CornerstoneViewport from 'react-cornerstone-viewport';
|
|
|
|
|
import OHIF from 'ohif-core'
|
|
|
|
|
|
2019-01-10 13:30:39 +01:00
|
|
|
const { setViewportActive, setViewportSpecificData, clearViewportSpecificData } = OHIF.redux.actions;
|
2018-12-17 17:23:03 +01:00
|
|
|
|
2019-01-09 00:13:44 +01:00
|
|
|
const mapStateToProps = (state, ownProps) => {
|
2018-12-31 13:52:37 +01:00
|
|
|
const activeButton = state.tools.buttons.find(tool => tool.active === true);
|
|
|
|
|
|
2019-01-09 00:13:44 +01:00
|
|
|
// If this is the active viewport, enable prefetching.
|
2019-01-10 13:30:39 +01:00
|
|
|
const { viewportIndex } = ownProps.viewportData;
|
|
|
|
|
const isActive = viewportIndex === state.viewports.activeViewportIndex;
|
|
|
|
|
const viewportSpecificData = state.viewports.viewportSpecificData[viewportIndex] || {};
|
2019-01-09 00:13:44 +01:00
|
|
|
|
2018-12-17 17:23:03 +01:00
|
|
|
return {
|
2019-01-07 21:18:52 +01:00
|
|
|
layout: state.viewports.layout,
|
2019-01-10 13:30:39 +01:00
|
|
|
isActive,
|
2019-01-09 00:13:44 +01:00
|
|
|
activeTool: activeButton && activeButton.command,
|
2019-01-10 13:30:39 +01:00
|
|
|
enableStackPrefetch: isActive,
|
|
|
|
|
//stack: viewportSpecificData.stack,
|
|
|
|
|
cineToolData: viewportSpecificData.cine
|
2018-12-17 17:23:03 +01:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2019-01-10 13:30:39 +01:00
|
|
|
const mapDispatchToProps = (dispatch, ownProps) => {
|
|
|
|
|
const viewportIndex = ownProps.viewportData.viewportIndex;
|
|
|
|
|
|
2018-12-17 17:23:03 +01:00
|
|
|
return {
|
2019-01-10 13:30:39 +01:00
|
|
|
setViewportActive: () => {
|
2018-12-17 17:23:03 +01:00
|
|
|
dispatch(setViewportActive(viewportIndex))
|
2019-01-10 13:30:39 +01:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
setViewportSpecificData: (data) => {
|
|
|
|
|
dispatch(setViewportSpecificData(viewportIndex, data))
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
clearViewportSpecificData: () => {
|
|
|
|
|
dispatch(clearViewportSpecificData(viewportIndex));
|
2018-12-17 17:23:03 +01:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const ConnectedCornerstoneViewport = connect(
|
|
|
|
|
mapStateToProps,
|
|
|
|
|
mapDispatchToProps
|
|
|
|
|
)(CornerstoneViewport);
|
|
|
|
|
|
|
|
|
|
export default ConnectedCornerstoneViewport;
|