diff --git a/platform/viewer/src/components/ViewportGrid.jsx b/platform/viewer/src/components/ViewportGrid.jsx index 6156b0c92..527dc4b3d 100644 --- a/platform/viewer/src/components/ViewportGrid.jsx +++ b/platform/viewer/src/components/ViewportGrid.jsx @@ -3,32 +3,34 @@ */ import React, { useState } from 'react'; import PropTypes from 'prop-types'; -// -import ViewportPane from './ViewportPane.jsx'; +import { ViewportGrid, ViewportPane } from '@ohif/ui'; // import DefaultViewport from './DefaultViewport.js'; // import EmptyViewport from './EmptyViewport.js'; -function ViewportGrid(props) { - const { - activeViewportIndex, - displaySets, - numRows, - numColumns, - children, - } = props; +function ViewerViewportGrid(props) { + const { activeViewportIndex, displaySets, children } = props; // From ViewportGridService and/or ContextProvider const [viewportGrid, setViewportGrid] = useState({ + numRows: 2, + numCols: 2, + activeViewportIndex: 0, viewports: [ { displaySetUid: undefined, }, + { + displaySetUid: undefined, + }, + { + displaySetUid: undefined, + }, + { + displaySetUid: undefined, + }, ], }); - const rowSize = 100 / numRows; - const colSize = 100 / numColumns; - // viewportData --> displaySets const getViewportPanes = () => @@ -58,10 +60,10 @@ function ViewportGrid(props) { return ( { /* setDisplaySet for Viewport */ }} - viewportIndex={viewportIndex} isActive={activeViewportIndex === viewportIndex} > {/* {ViewportComponent} */} @@ -75,34 +77,25 @@ function ViewportGrid(props) { ]); return ( -
+ {ViewportPanes} -
+ ); } -ViewportGrid.propTypes = { +ViewerViewportGrid.propTypes = { // viewports: PropTypes.array.isRequired, activeViewportIndex: PropTypes.number.isRequired, children: PropTypes.node, - numRows: PropTypes.number.isRequired, - numColumns: PropTypes.number.isRequired, + // numRows: PropTypes.number.isRequired, + // numColumns: PropTypes.number.isRequired, }; -ViewportGrid.defaultProps = { +ViewerViewportGrid.defaultProps = { // viewports: [], - numRows: 1, - numColumns: 1, + // numRows: 1, + // numColumns: 1, activeViewportIndex: 0, }; -export default ViewportGrid; +export default ViewerViewportGrid; diff --git a/platform/viewer/src/components/ViewportPane.jsx b/platform/viewer/src/components/ViewportPane.jsx deleted file mode 100644 index eb6bfd396..000000000 --- a/platform/viewer/src/components/ViewportPane.jsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -// import { useDrop } from 'react-dnd'; -import PropTypes from 'prop-types'; -import classNames from 'classnames'; - -const ViewportPane = function(props) { - const { children, onDrop, viewportIndex } = props; - // const [{ isHovered, isHighlighted }, drop] = useDrop({ - // accept: 'displayset', - // drop: (displaySet, monitor) => { - // const canDrop = monitor.canDrop(); - // const isOver = monitor.isOver(); - - // if (canDrop && isOver && onDrop) { - // const { StudyInstanceUID, displaySetInstanceUID } = displaySet; - - // onDrop({ viewportIndex, StudyInstanceUID, displaySetInstanceUID }); - // } - // }, - // // Monitor, and collect props; returned as values by `useDrop` - // collect: monitor => ({ - // isHighlighted: monitor.canDrop(), - // isHovered: monitor.isOver(), - // }), - // }); - - const isHovered = false; - const isHighlighted = false; - - return ( -
- {children} -
- ); -}; - -ViewportPane.propTypes = { - /** The ViewportComp */ - children: PropTypes.node.isRequired, - /** Function that handles drop events */ - onDrop: PropTypes.func.isRequired, - /** The "index" of the viewport in the current ViewportGrid */ - viewportIndex: PropTypes.number.isRequired, -}; - -export default ViewportPane; diff --git a/platform/viewer/src/routes/ModeRoute.js b/platform/viewer/src/routes/ModeRoute.js index c4b5fdd6d..871323999 100644 --- a/platform/viewer/src/routes/ModeRoute.js +++ b/platform/viewer/src/routes/ModeRoute.js @@ -1,8 +1,8 @@ import React, { useContext, useEffect, useCallback } from 'react'; -import { displaySetManager, ToolBarManager } from '@ohif/core'; -import { useViewModel } from '@ohif/core'; +import { displaySetManager, ToolBarManager, useViewModel } from '@ohif/core'; +import { DragAndDropProvider } from '@ohif/ui'; import Compose from './Compose'; -import ViewportGrid from './../components/ViewportGrid.jsx'; +import ViewportGrid from './../components/ViewportGrid'; export default function ModeRoute({ location, @@ -89,13 +89,15 @@ export default function ModeRoute({ {/* TODO: extensionManager is already provided to the extension module. * Use it from there instead of passing as a prop here. */} - + + + ); }