Files
ohif-viewer/platform/viewer/src/connectedComponents/ConnectedStudyBrowser.js
T

78 lines
2.3 KiB
JavaScript
Raw Normal View History

import OHIF from '@ohif/core';
2019-01-10 13:30:39 +01:00
import { connect } from 'react-redux';
2020-03-17 09:05:56 -04:00
import findDisplaySetByUID from './findDisplaySetByUID';
import { servicesManager } from './../App.js';
2021-09-09 04:58:24 -03:00
import { StudyBrowser } from '../../../ui/src/components/studyBrowser/StudyBrowser';
const { setActiveViewportSpecificData } = OHIF.redux.actions;
const mapDispatchToProps = (dispatch, ownProps) => {
return {
onThumbnailClick: displaySetInstanceUID => {
let displaySet = findDisplaySetByUID(
2020-03-17 09:05:56 -04:00
ownProps.studyMetadata,
displaySetInstanceUID
);
if (displaySet.isDerived) {
const { Modality } = displaySet;
if (Modality === 'SEG' && servicesManager) {
2021-09-09 04:58:24 -03:00
const {
LoggerService,
UINotificationService,
} = servicesManager.services;
const onDisplaySetLoadFailureHandler = error => {
LoggerService.error({ error, message: error.message });
UINotificationService.show({
title: 'DICOM Segmentation Loader',
message: error.message,
type: 'error',
autoClose: true,
});
};
2021-09-09 04:58:24 -03:00
const {
referencedDisplaySet,
activatedLabelmapPromise,
} = displaySet.getSourceDisplaySet(
2021-04-20 16:28:38 +02:00
ownProps.studyMetadata,
true,
onDisplaySetLoadFailureHandler
);
displaySet = referencedDisplaySet;
2021-09-09 04:58:24 -03:00
activatedLabelmapPromise.then(activatedLabelmapIndex => {
const selectionFired = new CustomEvent(
'extensiondicomsegmentationsegselected',
{
detail: { activatedLabelmapIndex: activatedLabelmapIndex },
}
);
2021-04-20 16:28:38 +02:00
document.dispatchEvent(selectionFired);
});
} else {
displaySet = displaySet.getSourceDisplaySet(ownProps.studyMetadata);
}
if (!displaySet) {
throw new Error(
`Referenced series for ${Modality} dataset not present.`
);
}
if (!displaySet) {
throw new Error('Source data not present');
}
}
dispatch(setActiveViewportSpecificData(displaySet));
},
};
};
2019-01-10 13:30:39 +01:00
const ConnectedStudyBrowser = connect(
2021-09-09 04:58:24 -03:00
null,
mapDispatchToProps
2019-01-10 13:30:39 +01:00
)(StudyBrowser);
export default ConnectedStudyBrowser;