fix: 🐛 Metadata is being mistakenly purged (#1360)

Closes: #1326
This commit is contained in:
Gustavo André Lelis 2020-01-15 11:15:10 -03:00 committed by Danny Brown
parent 7ab2e3e60d
commit b9a66d4424

View File

@ -1,5 +1,6 @@
import React, { useState, useEffect, useContext } from 'react'; import React, { useState, useEffect, useContext } from 'react';
import { metadata, studies, utils, log } from '@ohif/core'; import { metadata, studies, utils, log } from '@ohif/core';
import usePrevious from '../customHooks/usePrevious';
import ConnectedViewer from './ConnectedViewer.js'; import ConnectedViewer from './ConnectedViewer.js';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
@ -128,9 +129,9 @@ const _addSeriesToStudy = (studyMetadata, series) => {
const _updateMetaDataManager = (study, studyMetadata, series) => { const _updateMetaDataManager = (study, studyMetadata, series) => {
updateMetaDataManager(study, series); updateMetaDataManager(study, series);
const { studyInstanceUID } = study; const { studyInstanceUid } = study;
if (!studyMetadataManager.get(studyInstanceUID)) { if (!studyMetadataManager.get(studyInstanceUid)) {
studyMetadataManager.add(studyMetadata); studyMetadataManager.add(studyMetadata);
} }
}; };
@ -314,9 +315,15 @@ function ViewerRetrieveStudyData({
} }
}; };
const prevStudyInstanceUids = usePrevious(studyInstanceUids);
useEffect(() => { useEffect(() => {
studyMetadataManager.purge(); const hasStudyInstanceUidsChanged = !(prevStudyInstanceUids && prevStudyInstanceUids.every(e => studyInstanceUids.includes(e)));
purgeCancellablePromises();
if (hasStudyInstanceUidsChanged) {
studyMetadataManager.purge();
purgeCancellablePromises();
}
}, [studyInstanceUids]); }, [studyInstanceUids]);
useEffect(() => { useEffect(() => {