Simplify viewportComponent map

This commit is contained in:
dannyrb 2020-05-25 21:12:37 -04:00
parent 8573a4de13
commit 307b0a9ac1

View File

@ -84,49 +84,30 @@ function ViewerViewportGrid(props) {
for (let i = 0; i < numViewportPanes; i++) { for (let i = 0; i < numViewportPanes; i++) {
const viewportIndex = i; const viewportIndex = i;
const paneMeta = viewports[i]; const paneMetadata = viewports[i] || {};
const isEmpty = !paneMeta || !paneMeta.displaySetInstanceUID; const { displaySetInstanceUID } = paneMetadata;
const displaySet = DisplaySetService.getDisplaySetByUID(displaySetInstanceUID) || {};
const ViewportComponent = _getViewportComponent(
displaySet.SOPClassHandlerId,
viewportComponents
);
if (isEmpty) { viewportPanes[i] = (
viewportPanes[i] = ( <ViewportPane
<ViewportPane key={viewportIndex}
key={viewportIndex} className="m-1"
className="m-1" acceptDropsFor="displayset"
acceptDropsFor="displayset" onDrop={onDropHandler.bind(null, viewportIndex)}
onDrop={onDropHandler.bind(null, viewportIndex)} onInteraction={() => { setActiveViewportIndex(viewportIndex); }}
onInteraction={() => { setActiveViewportIndex(viewportIndex); }} isActive={activeViewportIndex === viewportIndex}
isActive={activeViewportIndex === viewportIndex} >
> <ViewportComponent
<EmptyViewport /> displaySet={displaySet}
</ViewportPane> viewportIndex={viewportIndex}
); dataSource={dataSource}
} else { />
const displaySet = DisplaySetService.getDisplaySetByUID( </ViewportPane>
paneMeta.displaySetInstanceUID );
);
const ViewportComponent = _getViewportComponent(
displaySet,
viewportComponents
);
viewportPanes[i] = (
<ViewportPane
key={viewportIndex}
className="m-1"
acceptDropsFor="displayset"
onDrop={onDropHandler}
onInteraction={() => { setActiveViewportIndex(viewportIndex); }}
isActive={activeViewportIndex === viewportIndex}
>
<ViewportComponent
displaySet={displaySet}
viewportIndex={viewportIndex}
dataSource={dataSource}
/>
</ViewportPane>
);
}
} }
return viewportPanes; return viewportPanes;
@ -154,8 +135,10 @@ ViewerViewportGrid.defaultProps = {
viewportComponents: [], viewportComponents: [],
}; };
function _getViewportComponent(displaySet, viewportComponents) { function _getViewportComponent(SOPClassHandlerId, viewportComponents) {
const { SOPClassHandlerId } = displaySet; if (!SOPClassHandlerId) {
return EmptyViewport;
}
for (let i = 0; i < viewportComponents.length; i++) { for (let i = 0; i < viewportComponents.length; i++) {
if ( if (