import React from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; import Icon from '../Icon'; import Thumbnail from '../Thumbnail'; import Tooltip from '../Tooltip'; import { StringNumber } from '../../types'; import { useTranslation } from 'react-i18next'; // Todo: This class to me feels like it belongs in an extension, not in platform/ui // because it is dealing with mode specific components/information function ThumbnailTracked({ displaySetInstanceUID, className, imageSrc, imageAltText, description, seriesNumber, numInstances, countIcon, messages, dragData, onClick, onDoubleClick, onClickUntrack, isTracked, isActive, }) { const { t } = useTranslation('ThumbnailTracked'); const trackedIcon = isTracked ? 'circled-checkmark' : 'dotted-circle'; return (
{isTracked ? t('Series is tracked') : t('Series is untracked')}
} >
{isTracked && (
)}
); } ThumbnailTracked.propTypes = { /** * Data the thumbnail should expose to a receiving drop target. Use a matching * `dragData.type` to identify which targets can receive this draggable item. * If this is not set, drag-n-drop will be disabled for this thumbnail. * * Ref: https://react-dnd.github.io/react-dnd/docs/api/use-drag#specification-object-members */ dragData: PropTypes.shape({ /** Must match the "type" a dropTarget expects */ type: PropTypes.string.isRequired, }), displaySetInstanceUID: PropTypes.string.isRequired, className: PropTypes.string, imageSrc: PropTypes.string, imageAltText: PropTypes.string, description: PropTypes.string.isRequired, seriesNumber: StringNumber.isRequired, numInstances: PropTypes.number.isRequired, onClick: PropTypes.func.isRequired, onDoubleClick: PropTypes.func.isRequired, onClickUntrack: PropTypes.func.isRequired, isTracked: PropTypes.bool, messages: PropTypes.object, isActive: PropTypes.bool.isRequired, }; export default ThumbnailTracked;