Sort for everything except studydate/time

This commit is contained in:
dannyrb 2020-05-12 13:27:12 -04:00 committed by James A. Petts
parent 86eef997e4
commit 10729c2414
2 changed files with 21 additions and 26 deletions

View File

@ -46,19 +46,13 @@ function processResults(qidoStudies) {
qidoStudies.forEach(qidoStudy => qidoStudies.forEach(qidoStudy =>
studies.push({ studies.push({
studyInstanceUid: getString(qidoStudy['0020000D']), studyInstanceUid: getString(qidoStudy['0020000D']),
studyDate: getString(qidoStudy['00080020']), date: getString(qidoStudy['00080020']),
// HHmmss.SSS (24-hour, minutes, seconds, fractional seconds) time: getString(qidoStudy['00080030']), // HHmmss.SSS (24-hour, minutes, seconds, fractional seconds)
studyTime: getString(qidoStudy['00080030']), accession: getString(qidoStudy['00080050']), // short string, probably a number?
accessionNumber: getString(qidoStudy['00080050']), mrn: getString(qidoStudy['00100020']), // medicalRecordNumber
// referringPhysicianName: getString(qidoStudy['00080090']),
mrn: getString(qidoStudy['00100020']), // patientId
patientName: getName(qidoStudy['00100010']), patientName: getName(qidoStudy['00100010']),
// patientBirthdate: getString(qidoStudy['00100030']), instances: Number(getString(qidoStudy['00201208'])), // number
// patientSex: getString(qidoStudy['00100040']), description: getString(qidoStudy['00081030']),
// studyId: getString(qidoStudy['00200010']), // mrn?
// numberOfStudyRelatedSeries: getString(qidoStudy['00201206']),
instances: getString(qidoStudy['00201208']),
studyDescription: getString(qidoStudy['00081030']),
modalities: getString( modalities: getString(
getModalities(qidoStudy['00080060'], qidoStudy['00080061']) getModalities(qidoStudy['00080060'], qidoStudy['00080061'])
), ),

View File

@ -163,6 +163,7 @@ function StudyListContainer({ history, data: studies }) {
}); });
}; };
const tableDataSource = studies const tableDataSource = studies
// TOOD: Move sort to DataSourceWrapper?
.sort((s1, s2) => { .sort((s1, s2) => {
const noSortApplied = sortBy === '' || !sortBy; const noSortApplied = sortBy === '' || !sortBy;
const sortModifier = sortDirection === 'descending' ? 1 : -1; const sortModifier = sortDirection === 'descending' ? 1 : -1;
@ -176,7 +177,7 @@ function StudyListContainer({ history, data: studies }) {
if (typeof s1Prop === 'string' && typeof s2Prop === 'string') { if (typeof s1Prop === 'string' && typeof s2Prop === 'string') {
return s1Prop.localeCompare(s2Prop) * sortModifier; return s1Prop.localeCompare(s2Prop) * sortModifier;
} else if (typeof s1Prop === 'number' && typeof s2Prop === 'number') { } else if (typeof s1Prop === 'number' && typeof s2Prop === 'number') {
return (s1Prop > s2Prop) * sortModifier; return (s1Prop > s2Prop ? 1 : -1) * sortModifier;
} else if (!s1Prop && s2Prop) { } else if (!s1Prop && s2Prop) {
return -1 * sortModifier; return -1 * sortModifier;
} else if (!s2Prop && s1Prop) { } else if (!s2Prop && s1Prop) {
@ -189,14 +190,14 @@ function StudyListContainer({ history, data: studies }) {
const rowKey = key + 1; const rowKey = key + 1;
const isExpanded = expandedRows.some(k => k === rowKey); const isExpanded = expandedRows.some(k => k === rowKey);
const { const {
accessionNumber, accession,
modalities, modalities,
instances, instances,
studyDescription, description,
mrn, mrn,
patientName, patientName,
studyDate, date,
studyTime, time,
// ?? // ??
// TODO: won't have until expanded // TODO: won't have until expanded
series = [], series = [],
@ -239,11 +240,11 @@ function StudyListContainer({ history, data: studies }) {
content: ( content: (
<div> <div>
<span className="mr-4"> <span className="mr-4">
{moment(studyDate).format('MMM-DD-YYYY')} {moment(date).format('MMM-DD-YYYY')}
</span> </span>
{studyTime && ( {time && (
<span> <span>
{moment(studyTime, 'HHmmss.SSS').format('hh:mm A')} {moment(time, 'HHmmss.SSS').format('hh:mm A')}
</span> </span>
)} )}
</div> </div>
@ -253,8 +254,8 @@ function StudyListContainer({ history, data: studies }) {
}, },
{ {
key: 'description', key: 'description',
content: studyDescription, content: description,
title: studyDescription, title: description,
gridCol: 4, gridCol: 4,
}, },
{ {
@ -265,8 +266,8 @@ function StudyListContainer({ history, data: studies }) {
}, },
{ {
key: 'accession', key: 'accession',
content: accessionNumber, content: accession,
title: accessionNumber, title: accession,
gridCol: 4, gridCol: 4,
}, },
{ {
@ -283,7 +284,7 @@ function StudyListContainer({ history, data: studies }) {
{instances} {instances}
</> </>
), ),
title: instances, title: (instances || 0).toString(),
gridCol: 4, gridCol: 4,
}, },
], ],
@ -442,7 +443,7 @@ function _getQueryFilterValues(query) {
? query.get('modalities').split(',') ? query.get('modalities').split(',')
: [], : [],
accession: query.get('accession'), accession: query.get('accession'),
sortBy: query.get('soryBy'), sortBy: query.get('sortBy'),
sortDirection: query.get('sortDirection'), sortDirection: query.get('sortDirection'),
pageNumber: _tryParseInt(query.get('pageNumber'), undefined), pageNumber: _tryParseInt(query.get('pageNumber'), undefined),
resultsPerPage: _tryParseInt(query.get('resultsPerPage'), undefined), resultsPerPage: _tryParseInt(query.get('resultsPerPage'), undefined),