fix: PDF display request in v3 (#3878)
Co-authored-by: Alireza <ar.sedghi@gmail.com>
This commit is contained in:
parent
bf846c94c3
commit
98650302c7
@ -13,7 +13,7 @@ version: 2.1
|
|||||||
##
|
##
|
||||||
orbs:
|
orbs:
|
||||||
codecov: codecov/codecov@1.0.5
|
codecov: codecov/codecov@1.0.5
|
||||||
cypress: cypress-io/cypress@3.1.4
|
cypress: cypress-io/cypress@3.2.1
|
||||||
|
|
||||||
executors:
|
executors:
|
||||||
cypress-custom:
|
cypress-custom:
|
||||||
|
|||||||
@ -33,7 +33,7 @@
|
|||||||
"@ohif/core": "3.8.0-beta.37",
|
"@ohif/core": "3.8.0-beta.37",
|
||||||
"@ohif/i18n": "3.8.0-beta.37",
|
"@ohif/i18n": "3.8.0-beta.37",
|
||||||
"dcmjs": "^0.29.12",
|
"dcmjs": "^0.29.12",
|
||||||
"dicomweb-client": "^0.10.2",
|
"dicomweb-client": "^0.10.4",
|
||||||
"prop-types": "^15.6.2",
|
"prop-types": "^15.6.2",
|
||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
"react-dom": "^17.0.2",
|
"react-dom": "^17.0.2",
|
||||||
|
|||||||
@ -373,11 +373,12 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
|
|||||||
// in which case it isn't necessary to re-read this.
|
// in which case it isn't necessary to re-read this.
|
||||||
if (value && value.BulkDataURI && !value.Value) {
|
if (value && value.BulkDataURI && !value.Value) {
|
||||||
// Provide a method to fetch bulkdata
|
// Provide a method to fetch bulkdata
|
||||||
value.retrieveBulkData = () => {
|
value.retrieveBulkData = (options = {}) => {
|
||||||
// handle the scenarios where bulkDataURI is relative path
|
// handle the scenarios where bulkDataURI is relative path
|
||||||
fixBulkDataURI(value, naturalized, dicomWebConfig);
|
fixBulkDataURI(value, naturalized, dicomWebConfig);
|
||||||
|
|
||||||
const options = {
|
const { mediaType } = options;
|
||||||
|
const useOptions = {
|
||||||
// The bulkdata fetches work with either multipart or
|
// The bulkdata fetches work with either multipart or
|
||||||
// singlepart, so set multipart to false to let the server
|
// singlepart, so set multipart to false to let the server
|
||||||
// decide which type to respond with.
|
// decide which type to respond with.
|
||||||
@ -388,9 +389,13 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
|
|||||||
// isn't well specified in the standard, but is needed in
|
// isn't well specified in the standard, but is needed in
|
||||||
// any implementation that stores static copies of the metadata
|
// any implementation that stores static copies of the metadata
|
||||||
StudyInstanceUID: naturalized.StudyInstanceUID,
|
StudyInstanceUID: naturalized.StudyInstanceUID,
|
||||||
|
mediaTypes: mediaType
|
||||||
|
? [{ mediaType }, { mediaType: 'application/octet-stream' }]
|
||||||
|
: undefined,
|
||||||
|
...options,
|
||||||
};
|
};
|
||||||
// Todo: this needs to be from wado dicom web client
|
// Todo: this needs to be from wado dicom web client
|
||||||
return qidoDicomWebClient.retrieveBulkData(options).then(val => {
|
return qidoDicomWebClient.retrieveBulkData(useOptions).then(val => {
|
||||||
// There are DICOM PDF cases where the first ArrayBuffer in the array is
|
// There are DICOM PDF cases where the first ArrayBuffer in the array is
|
||||||
// the bulk data and DICOM video cases where the second ArrayBuffer is
|
// the bulk data and DICOM video cases where the second ArrayBuffer is
|
||||||
// the bulk data. Here we play it safe and do a find.
|
// the bulk data. Here we play it safe and do a find.
|
||||||
|
|||||||
@ -37,7 +37,11 @@ const getDirectURL = (config, params) => {
|
|||||||
}
|
}
|
||||||
if (!singlepart || (singlepart !== true && singlepart.indexOf(fetchPart) === -1)) {
|
if (!singlepart || (singlepart !== true && singlepart.indexOf(fetchPart) === -1)) {
|
||||||
if (value.retrieveBulkData) {
|
if (value.retrieveBulkData) {
|
||||||
return value.retrieveBulkData().then(arr => {
|
// Try the specified retrieve type.
|
||||||
|
const options = {
|
||||||
|
mediaType: defaultType,
|
||||||
|
};
|
||||||
|
return value.retrieveBulkData(options).then(arr => {
|
||||||
value.DirectRetrieveURL = URL.createObjectURL(new Blob([arr], { type: defaultType }));
|
value.DirectRetrieveURL = URL.createObjectURL(new Blob([arr], { type: defaultType }));
|
||||||
return value.DirectRetrieveURL;
|
return value.DirectRetrieveURL;
|
||||||
});
|
});
|
||||||
|
|||||||
@ -95,7 +95,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/plugin-proposal-private-methods": "^7.18.6",
|
"@babel/plugin-proposal-private-methods": "^7.18.6",
|
||||||
"@percy/cypress": "^3.1.1",
|
"@percy/cypress": "^3.1.1",
|
||||||
"cypress": "^13.2.0",
|
"cypress": "13.6.2",
|
||||||
"cypress-file-upload": "^3.5.3",
|
"cypress-file-upload": "^3.5.3",
|
||||||
"glob": "^8.0.3",
|
"glob": "^8.0.3",
|
||||||
"identity-obj-proxy": "3.0.x",
|
"identity-obj-proxy": "3.0.x",
|
||||||
|
|||||||
@ -53,7 +53,7 @@ window.config = {
|
|||||||
supportsFuzzyMatching: false,
|
supportsFuzzyMatching: false,
|
||||||
supportsWildcard: true,
|
supportsWildcard: true,
|
||||||
staticWado: true,
|
staticWado: true,
|
||||||
singlepart: 'bulkdata,video,pdf',
|
singlepart: 'video',
|
||||||
bulkDataURI: {
|
bulkDataURI: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
relativeResolution: 'studies',
|
relativeResolution: 'studies',
|
||||||
|
|||||||
@ -43,7 +43,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.20.13",
|
"@babel/runtime": "^7.20.13",
|
||||||
"dcmjs": "^0.29.12",
|
"dcmjs": "^0.29.12",
|
||||||
"dicomweb-client": "^0.10.2",
|
"dicomweb-client": "^0.10.4",
|
||||||
"gl-matrix": "^3.4.3",
|
"gl-matrix": "^3.4.3",
|
||||||
"isomorphic-base64": "^1.0.2",
|
"isomorphic-base64": "^1.0.2",
|
||||||
"lodash.clonedeep": "^4.5.0",
|
"lodash.clonedeep": "^4.5.0",
|
||||||
|
|||||||
18
yarn.lock
18
yarn.lock
@ -8281,10 +8281,10 @@ cypress-file-upload@^3.5.3:
|
|||||||
resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-3.5.3.tgz#cd706485de3fb2cbd4a8c2dd90fe96d537bb4311"
|
resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-3.5.3.tgz#cd706485de3fb2cbd4a8c2dd90fe96d537bb4311"
|
||||||
integrity sha512-S/czzqAj1BYz6Xxnfpx2aSc6hXsj76fd8/iuycJ2RxoxCcQMliw8eQV0ugzVlkzr1GD5dKGviNFGYqv3nRJ+Tg==
|
integrity sha512-S/czzqAj1BYz6Xxnfpx2aSc6hXsj76fd8/iuycJ2RxoxCcQMliw8eQV0ugzVlkzr1GD5dKGviNFGYqv3nRJ+Tg==
|
||||||
|
|
||||||
cypress@^13.2.0:
|
cypress@13.6.2:
|
||||||
version "13.6.1"
|
version "13.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.1.tgz#c5f714f08551666ed3ac1fa95718eabb23a416df"
|
resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.2.tgz#c70df09db0a45063298b3cecba2fa21109768e08"
|
||||||
integrity sha512-k1Wl5PQcA/4UoTffYKKaxA0FJKwg8yenYNYRzLt11CUR0Kln+h7Udne6mdU1cUIdXBDTVZWtmiUjzqGs7/pEpw==
|
integrity sha512-TW3bGdPU4BrfvMQYv1z3oMqj71YI4AlgJgnrycicmPZAXtvywVFZW9DAToshO65D97rCWfG/kqMFsYB6Kp91gQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@cypress/request" "^3.0.0"
|
"@cypress/request" "^3.0.0"
|
||||||
"@cypress/xvfb" "^1.2.4"
|
"@cypress/xvfb" "^1.2.4"
|
||||||
@ -8832,10 +8832,10 @@ dicomicc@^0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/dicomicc/-/dicomicc-0.1.0.tgz#c73acc60a8e2d73a20f462c8c7d0e1e0d977c486"
|
resolved "https://registry.yarnpkg.com/dicomicc/-/dicomicc-0.1.0.tgz#c73acc60a8e2d73a20f462c8c7d0e1e0d977c486"
|
||||||
integrity sha512-kZejPGjLQ9NsgovSyVsiAuCpq6LofNR9Erc8Tt/vQAYGYCoQnTyWDlg5D0TJJQATKul7cSr9k/q0TF8G9qdDkQ==
|
integrity sha512-kZejPGjLQ9NsgovSyVsiAuCpq6LofNR9Erc8Tt/vQAYGYCoQnTyWDlg5D0TJJQATKul7cSr9k/q0TF8G9qdDkQ==
|
||||||
|
|
||||||
dicomweb-client@^0.10.2:
|
dicomweb-client@^0.10.4:
|
||||||
version "0.10.3"
|
version "0.10.4"
|
||||||
resolved "https://registry.yarnpkg.com/dicomweb-client/-/dicomweb-client-0.10.3.tgz#b4fe550037166dff5d8afd88db3800eb579c91f4"
|
resolved "https://registry.yarnpkg.com/dicomweb-client/-/dicomweb-client-0.10.4.tgz#f32f8659e51fbaf3f924c81fe8b7ad80297f2bc5"
|
||||||
integrity sha512-/fHNEAYiz8j+9TNOrNJ0k+hYqirbOT85B7vM7I4VkY8DeDQb4BDUeL3RX6huDVtn6ZQlR91dI+2tejLc5c99wA==
|
integrity sha512-TEt26c0JI37IGmSqoj1k1/Y/ZIyq33/ysVaUwE0/Haosn2IBM55NEIPkT+AnhFss2nFAMVtKKWKWLox4luthVw==
|
||||||
|
|
||||||
dicomweb-client@^0.8:
|
dicomweb-client@^0.8:
|
||||||
version "0.8.4"
|
version "0.8.4"
|
||||||
@ -14217,7 +14217,7 @@ media-typer@0.3.0:
|
|||||||
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
|
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
|
||||||
integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
|
integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
|
||||||
|
|
||||||
medium-zoom@^1.0.4:
|
medium-zoom@^1.0.8:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/medium-zoom/-/medium-zoom-1.1.0.tgz#6efb6bbda861a02064ee71a2617a8dc4381ecc71"
|
resolved "https://registry.yarnpkg.com/medium-zoom/-/medium-zoom-1.1.0.tgz#6efb6bbda861a02064ee71a2617a8dc4381ecc71"
|
||||||
integrity sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==
|
integrity sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user