--- name: Viewer menu: Views route: examples/viewer --- import { useState } from 'react'; import { Playground, Props } from 'docz'; import { NavBar, SidePanel, Svg, SegmentationTable, ButtonGroup, Button, Icon, IconButton, StudyBrowser, ViewportActionBar, Notification, DragAndDropProvider, Viewport, ViewportGrid, ViewportPane, } from '../../components'; import Header from './components/Header'; import { tabs } from './studyBrowserMockData'; # Viewer {() => { const [activeMeasurementItem, setActiveMeasurementItem] = useState(null); const descriptionData = { date: '07-Sep-2010', modality: 'CT', description: 'CHEST/ABD/PELVIS W CONTRAST', }; const measurementTableData = { title: 'Measurements', amount: 10, data: new Array(10).fill({}).map((el, i) => ({ id: i + 1, label: 'Label short description', displayText: '24.0 x 24.0 mm (S:4, I:22)', isActive: activeMeasurementItem === i + 1, })), onClick: (id) => setActiveMeasurementItem((s) => (s === id ? null : id)), onEdit: (id) => alert(`Edit: ${id}`), }; const [activeViewportIndex, setActiveViewportIndex] = useState(0); return (
{/* LEFT SIDEPANELS */} ) }} /> {/* TOOLBAR + GRID */}
{/* Secondary Toolbar */}
{/* VIEWPORT GRID CONTAINER */}
{[0, 1].map(viewportIndex => ( {}}> alert(`Series ${direction}`)} studyData={{ label: 'A', isTracked: true, isLocked: false, studyDate: '07-Sep-2011', currentSeries: 1, seriesDescription: 'Series description lorem ipsum dolor sit Series description lorem ipsum dolor sit Series description lorem ipsum dolor sit ', modality: 'CT', patientInformation: { patientName: 'Smith, Jane', patientSex: 'F', patientAge: '59', MRN: '10000001', thickness: '5.0mm', spacing: '1.25mm', scanner: 'Aquilion', }, }} >
CONTENT
) )}
{}} onEdit={id => alert(`Edit: ${id}`)} />
alert('Export')}>
) }} />
); }}