From 6698300aced34b232a4e7f08088b3cdb0074c3d4 Mon Sep 17 00:00:00 2001 From: TFRadicalImaging <115191433+TFRadicalImaging@users.noreply.github.com> Date: Tue, 1 Nov 2022 19:25:49 -0300 Subject: [PATCH] fix: Display series specified by URL query parameters in viewer (#3000) * Changed the static wado filter to allow filtering for series before start make requests of the entire metadata * fixed first filter to use studyFilterKeys Co-authored-by: Thomas Forster --- .../utils/StaticWadoClient.js | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/extensions/default/src/DicomWebDataSource/utils/StaticWadoClient.js b/extensions/default/src/DicomWebDataSource/utils/StaticWadoClient.js index 99eb556c4..afe645cc2 100644 --- a/extensions/default/src/DicomWebDataSource/utils/StaticWadoClient.js +++ b/extensions/default/src/DicomWebDataSource/utils/StaticWadoClient.js @@ -42,7 +42,16 @@ export default class StaticWadoClient extends api.DICOMwebClient { if (!queryParams) return searchResult; const filtered = searchResult.filter(study => { for (const key of Object.keys(StaticWadoClient.studyFilterKeys)) { - if (!this.filterItem(key, queryParams, study)) return false; + if ( + !this.filterItem( + key, + queryParams, + study, + StaticWadoClient.studyFilterKeys + ) + ) { + return false; + } } return true; }); @@ -56,8 +65,17 @@ export default class StaticWadoClient extends api.DICOMwebClient { const { queryParams } = options; if (!queryParams) return searchResult; const filtered = searchResult.filter(study => { - for (const key of Object.keys(StaticWadoClient.studyFilterKeys)) { - if (!this.filterItem(key, queryParams, study)) return false; + for (const key of Object.keys(StaticWadoClient.seriesFilterKeys)) { + if ( + !this.filterItem( + key, + queryParams, + study, + StaticWadoClient.seriesFilterKeys + ) + ) { + return false; + } } return true; }); @@ -121,10 +139,11 @@ export default class StaticWadoClient extends api.DICOMwebClient { * @param {*} key * @param {*} queryParams * @param {*} study + * @param {*} sourceFilterMap * @returns */ - filterItem(key, queryParams, study) { - const altKey = StaticWadoClient.studyFilterKeys[key] || key; + filterItem(key, queryParams, study, sourceFilterMap) { + const altKey = sourceFilterMap[key] || key; if (!queryParams) return true; const testValue = queryParams[key] || queryParams[altKey]; if (!testValue) return true;