Revert "React viewport (#439)" (#487)

This reverts commit b24a502433.
This commit is contained in:
Evren Ozkan 2019-05-27 11:09:11 -04:00 committed by GitHub
parent b24a502433
commit c2eb5f342f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 93 additions and 123 deletions

View File

@ -30,8 +30,7 @@ const mapStateToProps = (state, ownProps) => {
...dataFromStore,
enableStackPrefetch: isActive,
//stack: viewportSpecificData.stack,
cineToolData: viewportSpecificData.cine,
viewport: viewportSpecificData.viewport
cineToolData: viewportSpecificData.cine
};
};

View File

@ -1,44 +1,33 @@
import { connect } from 'react-redux'
import ViewerMain from './ViewerMain'
import OHIF from 'ohif-core'
import { connect } from 'react-redux';
import ViewerMain from './ViewerMain';
import OHIF from 'ohif-core';
const {
setViewportSpecificData,
clearViewportSpecificData,
setToolActive,
setActiveViewportSpecificData,
} = OHIF.redux.actions
const { setViewportSpecificData, clearViewportSpecificData } = OHIF.redux.actions;
const mapStateToProps = state => {
const { activeViewportIndex, layout, viewportSpecificData } = state.viewports
const { activeViewportIndex, layout, viewportSpecificData } = state.viewports;
return {
activeViewportIndex,
layout,
viewportSpecificData,
}
}
return {
activeViewportIndex,
layout,
viewportSpecificData
}
};
const mapDispatchToProps = dispatch => {
return {
setViewportSpecificData: (viewportIndex, data) => {
dispatch(setViewportSpecificData(viewportIndex, data))
},
clearViewportSpecificData: () => {
dispatch(clearViewportSpecificData())
},
setToolActive: tool => {
dispatch(setToolActive(tool))
},
setActiveViewportSpecificData: viewport => {
dispatch(setActiveViewportSpecificData(viewport))
},
}
}
return {
setViewportSpecificData: (viewportIndex, data) => {
dispatch(setViewportSpecificData(viewportIndex, data));
},
clearViewportSpecificData: () => {
dispatch(clearViewportSpecificData());
}
};
};
const ConnectedViewerMain = connect(
mapStateToProps,
mapDispatchToProps
)(ViewerMain)
mapStateToProps,
mapDispatchToProps
)(ViewerMain);
export default ConnectedViewerMain
export default ConnectedViewerMain;

View File

@ -1,19 +1,19 @@
import { connect } from 'react-redux'
import ViewerRetrieveStudyData from './ViewerRetrieveStudyData.js'
import { connect } from 'react-redux';
import ViewerRetrieveStudyData from './ViewerRetrieveStudyData.js';
const isActive = a => a.active === true
const isActive = (a) => a.active === true;
const mapStateToProps = state => {
const activeServer = state.servers.servers.find(isActive)
const activeServer = state.servers.servers.find(isActive);
return {
server: activeServer,
}
}
return {
server: activeServer,
};
};
const ConnectedViewerRetrieveStudyData = connect(
mapStateToProps,
null
)(ViewerRetrieveStudyData)
mapStateToProps,
null
)(ViewerRetrieveStudyData);
export default ConnectedViewerRetrieveStudyData
export default ConnectedViewerRetrieveStudyData;

View File

@ -1,61 +1,52 @@
import { Component } from 'react'
import React from 'react'
import PropTypes from 'prop-types'
import { OHIF } from 'ohif-core'
import ConnectedLayoutManager from './ConnectedLayoutManager.js'
import './ViewerMain.css'
import { Component } from 'react';
import React from 'react';
import PropTypes from 'prop-types';
import { OHIF } from 'ohif-core';
import ConnectedLayoutManager from './ConnectedLayoutManager.js';
import './ViewerMain.css';
class ViewerMain extends Component {
static propTypes = {
studies: PropTypes.array.isRequired,
setViewportSpecificData: PropTypes.func.isRequired,
clearViewportSpecificData: PropTypes.func.isRequired,
setToolActive: PropTypes.func.isRequired,
setActiveViewportSpecificData: PropTypes.func.isRequired,
}
clearViewportSpecificData: PropTypes.func.isRequired
};
constructor(props) {
super(props)
// OHIF.hotkeysUtil.setup('viewer')
const hotkeysUtil = new OHIF.HotkeysUtil('viewer', {
setViewportSpecificData: props.setViewportSpecificData,
clearViewportSpecificData: props.clearViewportSpecificData,
setToolActive: props.setToolActive,
setActiveViewportSpecificData: props.setActiveViewportSpecificData,
})
super(props);
OHIF.hotkeysUtil.setup('viewer');
this.state = {
displaySets: [],
displaySets: []
}
}
getDisplaySets(studies) {
const displaySets = []
const displaySets = [];
studies.forEach(study => {
study.displaySets.forEach(dSet => {
if (!dSet.plugin) {
dSet.plugin = 'cornerstone'
dSet.plugin = 'cornerstone';
}
displaySets.push(dSet)
})
})
displaySets.push(dSet);
});
});
return displaySets
return displaySets;
}
findDisplaySet(studies, studyInstanceUid, displaySetInstanceUid) {
const study = studies.find(study => {
return study.studyInstanceUid === studyInstanceUid
})
return study.studyInstanceUid === studyInstanceUid;
});
if (!study) {
return
return;
}
return study.displaySets.find(displaySet => {
return displaySet.displaySetInstanceUid === displaySetInstanceUid
})
return displaySet.displaySetInstanceUid === displaySetInstanceUid;
});
}
componentDidMount() {
@ -63,50 +54,41 @@ class ViewerMain extends Component {
//window.addEventListener('beforeunload', unloadHandlers.beforeUnload);
// Get all the display sets for the viewer studies
const displaySets = this.getDisplaySets(this.props.studies)
const displaySets = this.getDisplaySets(this.props.studies);
this.setState({
displaySets,
})
displaySets
});
}
getViewportData = () => {
const viewportData = []
const { layout, viewportSpecificData } = this.props
const viewportData = [];
const { layout, viewportSpecificData } = this.props;
for (
let viewportIndex = 0;
viewportIndex < layout.viewports.length;
viewportIndex++
) {
let displaySet = viewportSpecificData[viewportIndex]
for (let viewportIndex = 0; viewportIndex < layout.viewports.length; viewportIndex++) {
let displaySet = viewportSpecificData[viewportIndex];
// If the viewport is empty, get one available in study
if (!displaySet || !displaySet.displaySetInstanceUid) {
const { displaySets } = this.state
displaySet = displaySets.find(
ds =>
!viewportData.some(
v => v.displaySetInstanceUid === ds.displaySetInstanceUid
)
)
const { displaySets } = this.state;
displaySet = displaySets.find(ds => !viewportData.some(v => v.displaySetInstanceUid === ds.displaySetInstanceUid));
}
viewportData.push(displaySet)
viewportData.push(displaySet);
}
return viewportData
}
return viewportData;
};
setViewportData = ({ viewportIndex, item }) => {
const displaySet = this.findDisplaySet(
this.props.studies,
item.studyInstanceUid,
item.displaySetInstanceUid
)
);
this.props.setViewportSpecificData(viewportIndex, displaySet)
}
this.props.setViewportSpecificData(viewportIndex, displaySet);
};
render() {
return (
@ -117,15 +99,15 @@ class ViewerMain extends Component {
setViewportData={this.setViewportData}
/>
</div>
)
);
}
componentWillUnmount() {
// Clear the entire viewport specific data
const { viewportSpecificData } = this.props
Object.keys(viewportSpecificData).forEach(viewportIndex => {
this.props.clearViewportSpecificData(viewportIndex)
})
const { viewportSpecificData } = this.props;
Object.keys(viewportSpecificData).forEach((viewportIndex) => {
this.props.clearViewportSpecificData(viewportIndex);
});
// Remove beforeUnload event handler...
//window.removeEventListener('beforeunload', unloadHandlers.beforeUnload);
@ -144,4 +126,4 @@ class ViewerMain extends Component {
}
}
export default ViewerMain
export default ViewerMain;

View File

@ -1,21 +1,21 @@
import { connect } from 'react-redux'
import { connect } from 'react-redux';
import StudyListWithData from './StudyListWithData.js'
import StudyListWithData from './StudyListWithData.js';
const isActive = a => a.active === true
const isActive = (a) => a.active === true;
const mapStateToProps = state => {
const activeServer = state.servers.servers.find(isActive)
const activeServer = state.servers.servers.find(isActive);
return {
server: activeServer,
user: state.oidc.user,
}
}
return {
server: activeServer,
user: state.oidc.user,
};
};
const ConnectedStudyList = connect(
mapStateToProps,
null
)(StudyListWithData)
mapStateToProps,
null
)(StudyListWithData);
export default ConnectedStudyList
export default ConnectedStudyList;