Merge pull request #1823 from OHIF/fix/minor-defects

fix: sort number of instances | format date in study panel
This commit is contained in:
Danny Brown 2020-06-29 12:45:56 -04:00 committed by GitHub
commit 0594525301
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 51 additions and 18 deletions

View File

@ -1,6 +1,9 @@
import React, { useState, useEffect } from 'react';
import PropTypes from 'prop-types';
import { StudyBrowser, useImageViewer } from '@ohif/ui';
import { utils } from '@ohif/core';
const { formatDate } = utils;
/**
*
@ -37,7 +40,7 @@ function PanelStudyBrowser({
const actuallyMappedStudies = mappedStudies.map(qidoStudy => {
return {
studyInstanceUid: qidoStudy.StudyInstanceUID,
date: qidoStudy.StudyDate,
date: formatDate(qidoStudy.StudyDate),
description: qidoStudy.StudyDescription,
modalities: qidoStudy.ModalitiesInStudy,
numInstances: qidoStudy.NumInstances,
@ -151,11 +154,11 @@ function PanelStudyBrowser({
);
const updatedExpandedStudyInstanceUIDs = shouldCollapseStudy
? // eslint-disable-next-line prettier/prettier
[
...expandedStudyInstanceUIDs.filter(
stdyUid => stdyUid !== StudyInstanceUID
),
]
[
...expandedStudyInstanceUIDs.filter(
stdyUid => stdyUid !== StudyInstanceUID
),
]
: [...expandedStudyInstanceUIDs, StudyInstanceUID];
setExpandedStudyInstanceUIDs(updatedExpandedStudyInstanceUIDs);

View File

@ -4,11 +4,12 @@ import cornerstoneTools from 'cornerstone-tools';
import cornerstone from 'cornerstone-core';
import CornerstoneViewport from 'react-cornerstone-viewport';
import OHIF from '@ohif/core';
import OHIF, { utils } from '@ohif/core';
import { ViewportActionBar, useViewportGrid } from '@ohif/ui';
import TOOL_NAMES from './constants/toolNames';
import id from './id';
const { formatDate } = utils;
const scrollToIndex = cornerstoneTools.importInternal('util/scrollToIndex');
// const cine = viewportSpecificData.cine;
@ -244,7 +245,7 @@ function OHIFCornerstoneSRViewport({
label: _viewportLabels[firstViewportIndexWithMatchingDisplaySetUid],
isTracked: false,
isLocked: false,
studyDate: StudyDate,
studyDate: formatDate(StudyDate),
currentSeries: SeriesNumber,
seriesDescription: SeriesDescription,
modality: Modality,

View File

@ -1,8 +1,11 @@
import React, { useState, useEffect } from 'react';
import PropTypes from 'prop-types';
import { utils } from '@ohif/core';
import { StudyBrowser, useImageViewer, useViewportGrid } from '@ohif/ui';
import { useTrackedMeasurements } from '../../getContextModule';
const { formatDate } = utils;
/**
*
* @param {*} param0
@ -68,7 +71,7 @@ function PanelStudyBrowserTracking({
const actuallyMappedStudies = mappedStudies.map(qidoStudy => {
return {
studyInstanceUid: qidoStudy.StudyInstanceUID,
date: qidoStudy.StudyDate,
date: formatDate(qidoStudy.StudyDate),
description: qidoStudy.StudyDescription,
modalities: qidoStudy.ModalitiesInStudy,
numInstances: qidoStudy.NumInstances,
@ -198,10 +201,10 @@ function PanelStudyBrowserTracking({
);
const updatedExpandedStudyInstanceUIDs = shouldCollapseStudy
? [
...expandedStudyInstanceUIDs.filter(
stdyUid => stdyUid !== StudyInstanceUID
),
]
...expandedStudyInstanceUIDs.filter(
stdyUid => stdyUid !== StudyInstanceUID
),
]
: [...expandedStudyInstanceUIDs, StudyInstanceUID];
setExpandedStudyInstanceUIDs(updatedExpandedStudyInstanceUIDs);

View File

@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import cornerstone from 'cornerstone-core';
import cornerstoneTools from 'cornerstone-tools';
import CornerstoneViewport from 'react-cornerstone-viewport';
import OHIF, { DicomMetadataStore } from '@ohif/core';
import OHIF, { DicomMetadataStore, utils } from '@ohif/core';
import {
Notification,
ViewportActionBar,
@ -12,6 +12,8 @@ import {
} from '@ohif/ui';
import { useTrackedMeasurements } from './../getContextModule';
const { formatDate } = utils;
// TODO -> Get this list from the list of tracked measurements.
const {
ArrowAnnotateTool,
@ -239,7 +241,7 @@ function TrackedCornerstoneViewport({
label: _viewportLabels[firstViewportIndexWithMatchingDisplaySetUid],
isTracked: trackedSeries.includes(SeriesInstanceUID),
isLocked: false,
studyDate: SeriesDate, // TODO: This is series date. Is that ok?
studyDate: formatDate(SeriesDate), // TODO: This is series date. Is that ok?
currentSeries: SeriesNumber,
seriesDescription: SeriesDescription,
modality: Modality,

View File

@ -44,6 +44,7 @@
"isomorphic-base64": "^1.0.2",
"lodash.clonedeep": "^4.5.0",
"lodash.merge": "^4.6.1",
"moment": "^2.24.0",
"mousetrap": "^1.6.3",
"validate.js": "^0.12.0"
}

View File

@ -0,0 +1,12 @@
import moment from 'moment';
/**
* Format date
*
* @param {string} date Date to be formatted
* @param {string} format Desired date format
* @returns {string} Formatted date
*/
export default (date, format = 'DD-MMM-YYYY') => {
return moment(date).format(format);
};

View File

@ -15,6 +15,7 @@ import makeCancelable from './makeCancelable';
import hotkeys from './hotkeys';
import Queue from './Queue';
import isDicomUid from './isDicomUid';
import formatDate from './formatDate';
import formatPN from './formatPN';
import resolveObjectPath from './resolveObjectPath';
import * as hierarchicalListUtils from './hierarchicalListUtils';
@ -27,6 +28,7 @@ const utils = {
addServers,
sortBy,
writeScript,
formatDate,
formatPN,
b64toBlob,
StackManager,
@ -50,6 +52,7 @@ export {
absoluteUrl,
addServers,
sortBy,
formatDate,
writeScript,
b64toBlob,
StackManager,

View File

@ -21,13 +21,21 @@ const InputLabelWrapper = ({
className,
children,
}) => {
const onClickHandler = e => {
if (!isSortable) {
return;
}
onLabelClick(e);
};
return (
<label className={classnames(baseLabelClassName, className)}>
<span
role="button"
className={spanClassName}
onClick={onLabelClick}
onKeyDown={onLabelClick}
onClick={onClickHandler}
onKeyDown={onClickHandler}
tabIndex="0"
>
{label}

View File

@ -53,7 +53,7 @@ const filtersMeta = [
name: 'instances',
displayName: 'Instances',
inputType: 'None',
isSortable: true,
isSortable: false,
gridCol: 2,
},
];