diff --git a/extensions/default/src/Toolbar/ToolbarLayoutSelector.jsx b/extensions/default/src/Toolbar/ToolbarLayoutSelector.jsx index 36236b93b..aac3b1151 100644 --- a/extensions/default/src/Toolbar/ToolbarLayoutSelector.jsx +++ b/extensions/default/src/Toolbar/ToolbarLayoutSelector.jsx @@ -7,7 +7,7 @@ import { function LayoutSelector() { const [isOpen, setIsOpen] = useState(false); - const [viewportGridState, dispatch] = useViewportGrid(); + const [viewportGridState, viewportGridService] = useViewportGrid(); useEffect(() => { function closeOnOutsideClick() { @@ -35,13 +35,7 @@ function LayoutSelector() { DropdownContent !== null && ( { - dispatch({ - type: 'SET_LAYOUT', - payload: { - numCols, - numRows, - }, - }); + viewportGridService.setLayout({ numCols, numRows }); }} /> ) diff --git a/extensions/dicom-sr/src/OHIFCornerstoneSRViewport.js b/extensions/dicom-sr/src/OHIFCornerstoneSRViewport.js index dfc685e43..d17ec1469 100644 --- a/extensions/dicom-sr/src/OHIFCornerstoneSRViewport.js +++ b/extensions/dicom-sr/src/OHIFCornerstoneSRViewport.js @@ -25,7 +25,7 @@ function OHIFCornerstoneSRViewport({ viewportIndex, DisplaySetService, }) { - const [viewportGrid, dispatchViewportGrid] = useViewportGrid(); + const [viewportGrid, viewportGridService] = useViewportGrid(); const [measurementSelected, setMeasurementSelected] = useState(0); const [measurementCount, setMeasurementCount] = useState(1); const [viewportData, setViewportData] = useState(null); diff --git a/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.jsx b/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.jsx index d33724702..e13e9d504 100644 --- a/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.jsx +++ b/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.jsx @@ -19,10 +19,7 @@ function PanelStudyBrowserTracking({ // doesn't have to have such an intense shape. This works well enough for now. // Tabs --> Studies --> DisplaySets --> Thumbnails const [{ StudyInstanceUIDs }, dispatchImageViewer] = useImageViewer(); - const [ - { activeViewportIndex, viewports }, - dispatchViewportGrid, - ] = useViewportGrid(); + const [{ activeViewportIndex, viewports }] = useViewportGrid(); const [ trackedMeasurements, sendTrackedMeasurementsEvent, diff --git a/extensions/measurement-tracking/src/viewports/TrackedCornerstoneViewport.js b/extensions/measurement-tracking/src/viewports/TrackedCornerstoneViewport.js index c582bd929..224e3bb4a 100644 --- a/extensions/measurement-tracking/src/viewports/TrackedCornerstoneViewport.js +++ b/extensions/measurement-tracking/src/viewports/TrackedCornerstoneViewport.js @@ -41,10 +41,7 @@ function TrackedCornerstoneViewport({ }) { const [trackedMeasurements] = useTrackedMeasurements(); - const [ - { activeViewportIndex, viewports }, - dispatchViewportGrid, - ] = useViewportGrid(); + const [{ activeViewportIndex, viewports }] = useViewportGrid(); // viewportIndex, onSubmit const [viewportDialogState, viewportDialogApi] = useViewportDialog(); const [viewportData, setViewportData] = useState(null); diff --git a/platform/viewer/src/components/ViewportGrid.jsx b/platform/viewer/src/components/ViewportGrid.jsx index fa7a6c7e4..50dfab8bb 100644 --- a/platform/viewer/src/components/ViewportGrid.jsx +++ b/platform/viewer/src/components/ViewportGrid.jsx @@ -10,11 +10,13 @@ function ViewerViewportGrid(props) { const { servicesManager, viewportComponents, dataSource } = props; const [ { numCols, numRows, activeViewportIndex, viewports }, - dispatch, + viewportGridService, ] = useViewportGrid(); + debugger; + const setActiveViewportIndex = index => { - dispatch({ type: 'SET_ACTIVE_VIEWPORT_INDEX', payload: index }); + viewportGridService.setActiveViewportIndex(index); }; // TODO -> Need some way of selecting which displaySets hit the viewports. @@ -71,12 +73,9 @@ function ViewerViewportGrid(props) { // ]); const onDropHandler = (viewportIndex, { displaySetInstanceUID }) => { console.warn(`DROPPED: ${displaySetInstanceUID}`); - dispatch({ - type: 'SET_DISPLAYSET_FOR_VIEWPORT', - payload: { - viewportIndex, - displaySetInstanceUID, - }, + viewportGridService.setDisplaysetForViewport({ + viewportIndex, + displaySetInstanceUID, }); };