2019-10-14 14:41:29 +02:00
|
|
|
import OHIF from '@ohif/core';
|
|
|
|
|
import React from 'react';
|
2019-10-11 18:03:59 +02:00
|
|
|
import PluginSwitch from './PluginSwitch.js';
|
|
|
|
|
import { commandsManager } from './../App.js';
|
|
|
|
|
import { connect } from 'react-redux';
|
2019-02-24 15:26:50 +01:00
|
|
|
|
2019-10-14 14:41:29 +02:00
|
|
|
const { setLayout } = OHIF.redux.actions;
|
|
|
|
|
|
2019-10-15 17:08:53 +02:00
|
|
|
const ConnectedPluginSwitch = props => {
|
|
|
|
|
return <PluginSwitch {...props} />;
|
2019-10-14 14:41:29 +02:00
|
|
|
};
|
2019-02-24 15:26:50 +01:00
|
|
|
|
|
|
|
|
const mapStateToProps = state => {
|
2019-06-15 14:26:09 +02:00
|
|
|
const { activeViewportIndex, layout, viewportSpecificData } = state.viewports;
|
2019-02-24 15:26:50 +01:00
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
activeViewportIndex,
|
2019-06-15 14:26:09 +02:00
|
|
|
viewportSpecificData,
|
2019-10-11 18:03:59 +02:00
|
|
|
layout,
|
2019-05-30 06:46:45 +02:00
|
|
|
};
|
|
|
|
|
};
|
2019-02-24 15:26:50 +01:00
|
|
|
|
2019-10-14 14:41:29 +02:00
|
|
|
const mapDispatchToProps = dispatch => {
|
|
|
|
|
return {
|
|
|
|
|
setLayout: data => {
|
|
|
|
|
dispatch(setLayout(data));
|
2019-10-15 17:08:53 +02:00
|
|
|
},
|
2019-10-14 14:41:29 +02:00
|
|
|
};
|
|
|
|
|
};
|
2019-02-24 15:26:50 +01:00
|
|
|
|
2019-06-15 14:26:09 +02:00
|
|
|
/*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-02-24 15:26:50 +01:00
|
|
|
|
2019-05-30 06:46:45 +02:00
|
|
|
viewports[viewportIndex] = layoutData;
|
2019-02-24 15:26:50 +01:00
|
|
|
|
2019-05-30 06:46:45 +02:00
|
|
|
return viewports;
|
2019-06-15 14:26:09 +02:00
|
|
|
}*/
|
2019-02-24 15:26:50 +01:00
|
|
|
|
|
|
|
|
const mergeProps = (propsFromState, propsFromDispatch, ownProps) => {
|
2019-10-15 17:08:53 +02:00
|
|
|
const { activeViewportIndex, viewportSpecificData } = propsFromState;
|
|
|
|
|
const { studies } = ownProps;
|
2019-10-14 14:41:29 +02:00
|
|
|
const { setLayout } = propsFromDispatch;
|
2019-02-24 15:26:50 +01:00
|
|
|
|
2019-09-24 23:43:32 +02:00
|
|
|
const mpr = () => {
|
2019-10-15 17:08:53 +02:00
|
|
|
commandsManager.runCommand('mpr2d');
|
2019-10-11 18:03:59 +02:00
|
|
|
};
|
2019-10-14 14:41:29 +02:00
|
|
|
|
|
|
|
|
const exitMpr = () => {
|
|
|
|
|
const layout = {
|
|
|
|
|
numRows: 1,
|
|
|
|
|
numColumns: 1,
|
|
|
|
|
viewports: [{ plugin: 'cornerstone' }],
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
setLayout(layout);
|
|
|
|
|
};
|
|
|
|
|
|
2019-02-24 15:26:50 +01:00
|
|
|
return {
|
2019-10-11 18:03:59 +02:00
|
|
|
mpr,
|
2019-10-15 17:08:53 +02:00
|
|
|
exitMpr,
|
|
|
|
|
activeViewportIndex,
|
|
|
|
|
viewportSpecificData,
|
|
|
|
|
studies,
|
2019-05-30 06:46:45 +02:00
|
|
|
};
|
|
|
|
|
};
|
2019-02-24 15:26:50 +01:00
|
|
|
|
2019-10-14 14:41:29 +02:00
|
|
|
export default connect(
|
2019-02-24 15:26:50 +01:00
|
|
|
mapStateToProps,
|
2019-10-14 14:41:29 +02:00
|
|
|
mapDispatchToProps,
|
2019-02-24 15:26:50 +01:00
|
|
|
mergeProps
|
2019-10-14 14:41:29 +02:00
|
|
|
)(ConnectedPluginSwitch);
|