ohif-viewer/platform/viewer/src/connectedComponents/ConnectedPluginSwitch.js

73 lines
1.5 KiB
JavaScript
Raw Normal View History

import OHIF from '@ohif/core';
import React from 'react';
import PluginSwitch from './PluginSwitch.js';
import { commandsManager } from './../App.js';
import { connect } from 'react-redux';
const { setLayout } = OHIF.redux.actions;
const ConnectedPluginSwitch = props => {
return <PluginSwitch {...props} />;
};
const mapStateToProps = state => {
const { activeViewportIndex, layout, viewportSpecificData } = state.viewports;
return {
activeViewportIndex,
viewportSpecificData,
layout,
2019-05-30 06:46:45 +02:00
};
};
const mapDispatchToProps = dispatch => {
return {
setLayout: data => {
dispatch(setLayout(data));
},
};
};
/*function setSingleLayoutData(originalArray, viewportIndex, data) {
2019-05-30 06:46:45 +02:00
const viewports = originalArray.slice();
const layoutData = Object.assign({}, viewports[viewportIndex], data);
2019-05-30 06:46:45 +02:00
viewports[viewportIndex] = layoutData;
2019-05-30 06:46:45 +02:00
return viewports;
}*/
const mergeProps = (propsFromState, propsFromDispatch, ownProps) => {
const { activeViewportIndex, viewportSpecificData } = propsFromState;
const { studies } = ownProps;
const { setLayout } = propsFromDispatch;
const mpr = () => {
commandsManager.runCommand('mpr2d');
};
const exitMpr = () => {
const layout = {
numRows: 1,
numColumns: 1,
viewports: [{ plugin: 'cornerstone' }],
};
setLayout(layout);
};
return {
mpr,
exitMpr,
activeViewportIndex,
viewportSpecificData,
studies,
2019-05-30 06:46:45 +02:00
};
};
export default connect(
mapStateToProps,
mapDispatchToProps,
mergeProps
)(ConnectedPluginSwitch);