diff --git a/extensions/default/src/DicomJSONDataSource/index.js b/extensions/default/src/DicomJSONDataSource/index.js index d124c8b73..deb50e252 100644 --- a/extensions/default/src/DicomJSONDataSource/index.js +++ b/extensions/default/src/DicomJSONDataSource/index.js @@ -166,7 +166,7 @@ function createDicomJSONApi(dicomJsonConfig) { * or is already retrieved, or a promise to a URL for such use if a BulkDataURI */ directURL: params => { - return getDirectURL(wadoRoot, params); + return getDirectURL(dicomJsonConfig, params); }, series: { metadata: async ({ StudyInstanceUID, madeInClient = false, customSort } = {}) => { diff --git a/extensions/default/src/utils/getDirectURL.js b/extensions/default/src/utils/getDirectURL.js index 823d7eaef..d9ea92499 100644 --- a/extensions/default/src/utils/getDirectURL.js +++ b/extensions/default/src/utils/getDirectURL.js @@ -10,6 +10,7 @@ import { utils } from '@ohif/core'; * @param {string} params.defaultType is the mime type of the response * @param {string} params.singlepart is the type of the part to retrieve * @param {string} params.fetchPart unknown? + * @param {string} params.url unknown? * @returns an absolute URL to the resource, if the absolute URL can be retrieved as singlepart, * or is already retrieved, or a promise to a URL for such use if a BulkDataURI */ @@ -21,7 +22,12 @@ const getDirectURL = (config, params) => { defaultPath = '/pixeldata', defaultType = 'video/mp4', singlepart: fetchPart = 'video', + url = null, } = params; + if (url) { + return url; + } + const value = instance[tag]; if (!value) { return undefined; diff --git a/extensions/dicom-video/src/getSopClassHandlerModule.js b/extensions/dicom-video/src/getSopClassHandlerModule.js index 50181590f..5b0a2162e 100644 --- a/extensions/dicom-video/src/getSopClassHandlerModule.js +++ b/extensions/dicom-video/src/getSopClassHandlerModule.js @@ -51,7 +51,7 @@ const _getDisplaySetsFromSeries = (instances, servicesManager, extensionManager) }) .map(instance => { const { Modality, SOPInstanceUID, SeriesDescription = 'VIDEO' } = instance; - const { SeriesNumber, SeriesDate, SeriesInstanceUID, StudyInstanceUID, NumberOfFrames } = + const { SeriesNumber, SeriesDate, SeriesInstanceUID, StudyInstanceUID, NumberOfFrames, url } = instance; const displaySet = { //plugin: id, @@ -70,6 +70,7 @@ const _getDisplaySetsFromSeries = (instances, servicesManager, extensionManager) instance, singlepart: 'video', tag: 'PixelData', + url, }), instances: [instance], thumbnailSrc: dataSource.retrieve.directURL({ diff --git a/platform/ui/src/components/HeaderPatientInfo/HeaderPatientInfo.tsx b/platform/ui/src/components/HeaderPatientInfo/HeaderPatientInfo.tsx index 21a43f984..7f45bc039 100644 --- a/platform/ui/src/components/HeaderPatientInfo/HeaderPatientInfo.tsx +++ b/platform/ui/src/components/HeaderPatientInfo/HeaderPatientInfo.tsx @@ -6,7 +6,7 @@ import { utils } from '@ohif/core'; const { formatDate, formatPN } = utils; const formatWithEllipsis = (str, maxLength) => { - if (str.length > maxLength) { + if (str?.length > maxLength) { return str.substring(0, maxLength) + '...'; } return str;