fix(layout): Fix the issues with displaying vtkjs viewports (#500)
* fix(dependencies): Bump react-cornerstone-viewport to 0.1.29 * fix(dependencies): Bump ohif-cornerstone-extension to 0.0.32 * fix(layout): Get missing display set fields in viewport specific data from the original display set * fix(layout): Cache the viewport data to be used for the replaced viewport when it is empty since viewportSpecificData is cleaned when viewport is changed
This commit is contained in:
1 parent
f1f2981415
commit
6b8d1a695b
5 files changed
+40
-20
No files matched your search
@@ -28,6 +28,8 @@ class ViewerMain extends Component {
|
||||
this.state = {
|
||||
displaySets: [],
|
||||
}
|
||||
|
||||
this.cachedViewportData = {}
|
||||
}
|
||||
|
||||
getDisplaySets(studies) {
|
||||
@@ -81,8 +83,25 @@ class ViewerMain extends Component {
|
||||
) {
|
||||
let displaySet = viewportSpecificData[viewportIndex]
|
||||
|
||||
// If the viewport is empty, get one available in study
|
||||
if (!displaySet || !displaySet.displaySetInstanceUid) {
|
||||
// Use the cached display set in viewport if the new one is empty
|
||||
if (displaySet && !displaySet.displaySetInstanceUid) {
|
||||
displaySet = this.cachedViewportData[viewportIndex]
|
||||
}
|
||||
|
||||
if (
|
||||
displaySet &&
|
||||
displaySet.studyInstanceUid &&
|
||||
displaySet.displaySetInstanceUid
|
||||
) {
|
||||
// Get missing fields from original display set
|
||||
const originalDisplaySet = this.findDisplaySet(
|
||||
this.props.studies,
|
||||
displaySet.studyInstanceUid,
|
||||
displaySet.displaySetInstanceUid
|
||||
)
|
||||
viewportData.push(Object.assign({}, originalDisplaySet, displaySet))
|
||||
} else {
|
||||
// If the viewport is empty, get one available in study
|
||||
const { displaySets } = this.state
|
||||
displaySet = displaySets.find(
|
||||
ds =>
|
||||
@@ -90,11 +109,12 @@ class ViewerMain extends Component {
|
||||
v => v.displaySetInstanceUid === ds.displaySetInstanceUid
|
||||
)
|
||||
)
|
||||
viewportData.push(Object.assign({}, displaySet))
|
||||
}
|
||||
|
||||
viewportData.push(displaySet)
|
||||
}
|
||||
|
||||
this.cachedViewportData = viewportData
|
||||
|
||||
return viewportData
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user