OHIF-301: Add sorting to worklist series (#1960)

* ohif-301: add sorting to work list series

* ohif-301: clearadd series date to qido

* ohif-301: add series date to qido

* Update qido.js

Co-authored-by: Erik Ziegler <erik.sweed@gmail.com>
This commit is contained in:
Igor OctavianoandErik Ziegler authored and GitHub committed 2020-08-11 21:01:48 -04:00
1 parent 3267706b33
commit e04f74499f
5 files changed
+27 -20

No files matched your search

+2
View File
@@ -4,6 +4,7 @@ import absoluteUrl from './absoluteUrl';
import addServers from './addServers';
import guid from './guid';
import sortBy from './sortBy.js';
import sortBySeriesDate from './sortBySeriesDate.js';
import studyMetadataManager from './studyMetadataManager';
import writeScript from './writeScript.js';
import DicomLoaderService from './dicomLoaderService.js';
@@ -28,6 +29,7 @@ const utils = {
absoluteUrl,
addServers,
sortBy,
sortBySeriesDate,
writeScript,
formatDate,
formatPN,
@@ -0,0 +1,16 @@
/*
* Sorting function
* Sorts an array by seriesDate and seriesNumber if equal
*/
const sortBySeriesDate = array => array.sort((a, b) => {
if (a.seriesNumber !== b.seriesNumber) {
return a.seriesNumber - b.seriesNumber;
}
const seriesDateA = Date.parse(a.seriesDate);
const seriesDateB = Date.parse(b.seriesDate);
return seriesDateA - seriesDateB;
});
export default sortBySeriesDate;
@@ -5,10 +5,11 @@ import { Link } from 'react-router-dom';
import moment from 'moment';
import qs from 'query-string';
import isEqual from 'lodash.isequal';
//
import filtersMeta from './filtersMeta.js';
import { useAppConfig } from '@state';
import { useDebounce, useQuery } from '@hooks';
import { utils } from '@ohif/core';
import PreferencesDropdown from '../../components/PreferencesDropdown';
@@ -166,9 +167,8 @@ function WorkList({ history, data: studies, isLoadingData, dataSource }) {
useEffect(() => {
const fetchSeries = async studyInstanceUid => {
try {
const result = await dataSource.query.series.search(studyInstanceUid);
seriesInStudiesMap.set(studyInstanceUid, result);
const series = await dataSource.query.series.search(studyInstanceUid);
seriesInStudiesMap.set(studyInstanceUid, utils.sortBySeriesDate(series));
setStudiesWithSeriesData([...studiesWithSeriesData, studyInstanceUid]);
} catch (ex) {
// TODO: UI Notification Service