* temp comments analyze * fix: cache derivedDisplaySets * replace const * minor refactor * fix e2e inconsistent value * increase e2e timeout
This commit is contained in:
1 parent
fa4b03d62d
commit
2c23818c86
4 files changed
+37
-17
No files matched your search
@@ -1,4 +1,4 @@
|
||||
import React, { useState, useEffect, useContext } from 'react';
|
||||
import React, { useState, useEffect, useContext, useCallback } from 'react';
|
||||
import { metadata, studies, utils, log } from '@ohif/core';
|
||||
import usePrevious from '../customHooks/usePrevious';
|
||||
|
||||
@@ -7,13 +7,13 @@ import PropTypes from 'prop-types';
|
||||
import { extensionManager } from './../App.js';
|
||||
import { useSnackbarContext } from '@ohif/ui';
|
||||
|
||||
// Contexts
|
||||
import AppContext from '../context/AppContext';
|
||||
|
||||
const { OHIFStudyMetadata, OHIFSeriesMetadata } = metadata;
|
||||
const { retrieveStudiesMetadata, deleteStudyMetadataPromise } = studies;
|
||||
const { studyMetadataManager, makeCancelable } = utils;
|
||||
|
||||
// Contexts
|
||||
import AppContext from '../context/AppContext';
|
||||
|
||||
const _promoteToFront = (list, value, searchMethod) => {
|
||||
let response = [...list];
|
||||
let promoted = false;
|
||||
@@ -105,7 +105,7 @@ const _showUserMessage = (queryParamApplied, message, dialog = {}) => {
|
||||
return;
|
||||
}
|
||||
|
||||
const { show: showUserMessage = () => { } } = dialog;
|
||||
const { show: showUserMessage = () => {} } = dialog;
|
||||
showUserMessage({
|
||||
message,
|
||||
});
|
||||
@@ -125,9 +125,14 @@ const _addSeriesToStudy = (studyMetadata, series) => {
|
||||
|
||||
studyMetadata.createAndAddDisplaySetsForSeries(
|
||||
sopClassHandlerModules,
|
||||
seriesMetadata,
|
||||
seriesMetadata
|
||||
);
|
||||
|
||||
study.displaySets = studyMetadata.getDisplaySets();
|
||||
study.derivedDisplaySets = studyMetadata.getDerivedDatasets({
|
||||
Modality: series.Modality,
|
||||
});
|
||||
|
||||
_updateStudyMetadataManager(study, studyMetadata);
|
||||
};
|
||||
|
||||
@@ -147,6 +152,10 @@ const _updateStudyDisplaySets = (study, studyMetadata) => {
|
||||
study.displaySets = studyMetadata.createDisplaySets(sopClassHandlerModules);
|
||||
}
|
||||
|
||||
if (study.derivedDisplaySets) {
|
||||
studyMetadata._addDerivedDisplaySets(study.derivedDisplaySets);
|
||||
}
|
||||
|
||||
studyMetadata.setDisplaySets(study.displaySets);
|
||||
};
|
||||
|
||||
@@ -158,9 +167,9 @@ const _thinStudyData = study => {
|
||||
return {
|
||||
StudyInstanceUID: study.StudyInstanceUID,
|
||||
series: study.series.map(item => ({
|
||||
SeriesInstanceUID: item.SeriesInstanceUID
|
||||
SeriesInstanceUID: item.SeriesInstanceUID,
|
||||
})),
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
function ViewerRetrieveStudyData({
|
||||
@@ -276,7 +285,8 @@ function ViewerRetrieveStudyData({
|
||||
return loadNextSeries();
|
||||
};
|
||||
|
||||
const concurrentRequestsAllowed = maxConcurrentMetadataRequests || studyMetadata.getSeriesCount();
|
||||
const concurrentRequestsAllowed =
|
||||
maxConcurrentMetadataRequests || studyMetadata.getSeriesCount();
|
||||
const promises = Array(concurrentRequestsAllowed)
|
||||
.fill(null)
|
||||
.map(loadNextSeries);
|
||||
@@ -322,7 +332,7 @@ function ViewerRetrieveStudyData({
|
||||
}
|
||||
};
|
||||
|
||||
const purgeCancellablePromises = () => {
|
||||
const purgeCancellablePromises = useCallback(() => {
|
||||
for (let studyInstanceUIDs in cancelableStudiesPromises) {
|
||||
if ('cancel' in cancelableStudiesPromises[studyInstanceUIDs]) {
|
||||
cancelableStudiesPromises[studyInstanceUIDs].cancel();
|
||||
@@ -336,7 +346,7 @@ function ViewerRetrieveStudyData({
|
||||
studyMetadataManager.remove(studyInstanceUIDs);
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
const prevStudyInstanceUIDs = usePrevious(studyInstanceUIDs);
|
||||
|
||||
@@ -350,7 +360,7 @@ function ViewerRetrieveStudyData({
|
||||
studyMetadataManager.purge();
|
||||
purgeCancellablePromises();
|
||||
}
|
||||
}, [studyInstanceUIDs]);
|
||||
}, [prevStudyInstanceUIDs, purgeCancellablePromises, studyInstanceUIDs]);
|
||||
|
||||
useEffect(() => {
|
||||
cancelableSeriesPromises = {};
|
||||
|
||||
Reference in new issue
Block a user