fix(viewer): View two or more specified studies (#2815)

This commit is contained in:
Bill Wallace 2022-11-03 16:57:32 -04:00 committed by GitHub
parent 6b1f9f35a8
commit 7dc9b3549f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 4 deletions

View File

@ -89,10 +89,11 @@ function createDicomWebApi(dicomWebConfig, UserAuthenticationService) {
const implementation = {
initialize: ({ params, query }) => {
const { StudyInstanceUIDs: paramsStudyInstanceUIDs } = params;
const queryStudyInstanceUIDs = query.get('StudyInstanceUIDs');
const queryStudyInstanceUIDs = query.getAll('StudyInstanceUIDs');
const StudyInstanceUIDs =
queryStudyInstanceUIDs || paramsStudyInstanceUIDs;
queryStudyInstanceUIDs.length && queryStudyInstanceUIDs ||
paramsStudyInstanceUIDs;
const StudyInstanceUIDsAsArray =
StudyInstanceUIDs && Array.isArray(StudyInstanceUIDs)
? StudyInstanceUIDs

View File

@ -61,7 +61,19 @@ function PanelStudyBrowser({
};
});
if (isMounted.current) {
setStudyDisplayList(actuallyMappedStudies);
setStudyDisplayList(prevArray => {
const ret = [...prevArray];
for (const study of actuallyMappedStudies) {
if (
!prevArray.find(
it => it.studyInstanceUid === study.studyInstanceUid
)
) {
ret.push(study);
}
}
return ret;
});
}
}

View File

@ -109,7 +109,19 @@ function PanelStudyBrowserTracking({
};
});
setStudyDisplayList(actuallyMappedStudies);
setStudyDisplayList(prevArray => {
const ret = [...prevArray];
for (const study of actuallyMappedStudies) {
if (
!prevArray.find(
it => it.studyInstanceUid === study.studyInstanceUid
)
) {
ret.push(study);
}
}
return ret;
});
}
StudyInstanceUIDs.forEach(sid => fetchStudiesForPatient(sid));