import React from 'react'; import { utils } from '@ohif/core'; import { AccordionTrigger, MeasurementTable, useViewportGrid } from '@ohif/ui-next'; import { PanelMeasurement, StudyMeasurements, StudyMeasurementsActions, StudySummaryFromMetadata, AccordionGroup, MeasurementsOrAdditionalFindings, } from '@ohif/extension-cornerstone'; import { useTrackedMeasurements } from '../getContextModule'; import { UntrackSeriesModal } from './PanelStudyBrowserTracking/untrackSeriesModal'; const { filterAnd, filterPlanarMeasurement, filterMeasurementsBySeriesUID } = utils.MeasurementFilters; function PanelMeasurementTableTracking(props) { const [viewportGrid] = useViewportGrid(); const { measurementService, uiModalService } = props.servicesManager.services; const [trackedMeasurements, sendTrackedMeasurementsEvent] = useTrackedMeasurements(); const { trackedStudy, trackedSeries } = trackedMeasurements.context; const measurementFilter = trackedStudy ? filterAnd(filterPlanarMeasurement, filterMeasurementsBySeriesUID(trackedSeries)) : filterPlanarMeasurement; const onUntrackConfirm = () => { sendTrackedMeasurementsEvent('UNTRACK_ALL', {}); }; const onDelete = () => { const hasDirtyMeasurements = measurementService .getMeasurements() .some(measurement => measurement.isDirty); hasDirtyMeasurements ? uiModalService.show({ title: 'Untrack Study', content: UntrackSeriesModal, contentProps: { onConfirm: onUntrackConfirm, message: 'Are you sure you want to untrack study and delete all measurements?', }, }) : onUntrackConfirm(); }; const EmptyComponent = () => (
); const actions = { createSR: ({ StudyInstanceUID }) => { sendTrackedMeasurementsEvent('SAVE_REPORT', { viewportId: viewportGrid.activeViewportId, isBackupSave: true, StudyInstanceUID, measurementFilter, }); }, onDelete, }; const Header = props => (
); return (
); } export default PanelMeasurementTableTracking;