ohif-viewer/OHIFViewer-react/src/FlexboxLayout/ConnectedCornerstoneViewport.js

49 lines
1.5 KiB
JavaScript
Raw Normal View History

import { connect } from 'react-redux';
import CornerstoneViewport from 'react-cornerstone-viewport';
import OHIF from 'ohif-core'
const { setViewportActive, setViewportSpecificData, clearViewportSpecificData } = OHIF.redux.actions;
const mapStateToProps = (state, ownProps) => {
const activeButton = state.tools.buttons.find(tool => tool.active === true);
// If this is the active viewport, enable prefetching.
const { viewportIndex } = ownProps.viewportData;
const isActive = viewportIndex === state.viewports.activeViewportIndex;
const viewportSpecificData = state.viewports.viewportSpecificData[viewportIndex] || {};
return {
layout: state.viewports.layout,
isActive,
activeTool: activeButton && activeButton.command,
enableStackPrefetch: isActive,
//stack: viewportSpecificData.stack,
cineToolData: viewportSpecificData.cine
};
};
const mapDispatchToProps = (dispatch, ownProps) => {
const viewportIndex = ownProps.viewportData.viewportIndex;
return {
setViewportActive: () => {
dispatch(setViewportActive(viewportIndex))
},
setViewportSpecificData: (data) => {
dispatch(setViewportSpecificData(viewportIndex, data))
},
clearViewportSpecificData: () => {
dispatch(clearViewportSpecificData(viewportIndex));
}
};
};
const ConnectedCornerstoneViewport = connect(
mapStateToProps,
mapDispatchToProps
)(CornerstoneViewport);
export default ConnectedCornerstoneViewport;