Files
ohif-viewer/extensions/dicom-html/src/OHIFDicomHtmlViewport.js
T

56 lines
1.3 KiB
JavaScript
Raw Normal View History

2019-04-16 12:00:06 -04:00
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import OHIF from '@ohif/core';
import ConnectedDicomHtmlViewport from './ConnectedDicomHtmlViewport';
const { DicomLoaderService } = OHIF.utils;
2019-04-16 12:00:06 -04:00
class OHIFDicomHtmlViewport extends Component {
static propTypes = {
studies: PropTypes.object,
displaySet: PropTypes.object,
viewportIndex: PropTypes.number,
viewportData: PropTypes.object,
2019-04-16 12:00:06 -04:00
};
state = {
byteArray: null,
error: null,
2019-04-16 12:00:06 -04:00
};
componentDidMount() {
const { displaySet, studies } = this.props.viewportData;
2019-04-16 12:00:06 -04:00
DicomLoaderService.findDicomDataPromise(displaySet, studies).then(
data => {
const byteArray = new Uint8Array(data);
2019-04-16 12:00:06 -04:00
this.setState({
byteArray: byteArray,
2019-04-16 12:00:06 -04:00
});
},
error => {
this.setState({
error,
2019-04-16 12:00:06 -04:00
});
throw new Error(error);
}
);
}
render() {
return (
<>
{this.state.byteArray && (
<ConnectedDicomHtmlViewport
byteArray={this.state.byteArray}
viewportIndex={this.props.viewportIndex}
/>
2019-04-16 12:00:06 -04:00
)}
{this.state.error && <h2>{JSON.stringify(this.state.error)}</h2>}
</>
);
}
}
export default OHIFDicomHtmlViewport;