From 7bcfaf02c07f1227a8292e9a659222a95b10dcf6 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Sun, 17 May 2020 23:40:09 -0400 Subject: [PATCH] Small notes and typdef --- platform/viewer/src/routes/Mode/Compose.js | 5 ++++ platform/viewer/src/routes/Mode/Mode.jsx | 27 ++++++++++++++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/platform/viewer/src/routes/Mode/Compose.js b/platform/viewer/src/routes/Mode/Compose.js index a8aed2a94..7174f4e91 100644 --- a/platform/viewer/src/routes/Mode/Compose.js +++ b/platform/viewer/src/routes/Mode/Compose.js @@ -1,6 +1,11 @@ import React from 'react'; import PropTypes from 'prop-types'; +/** + * Nests React components as ordered in array. We use this to + * simplify composition a Mode specify's in it's configuration + * for React Contexts that should wrap a Mode Route. + */ export default function Compose(props) { const { components = [], children } = props; diff --git a/platform/viewer/src/routes/Mode/Mode.jsx b/platform/viewer/src/routes/Mode/Mode.jsx index cf90c85b1..47925c14b 100644 --- a/platform/viewer/src/routes/Mode/Mode.jsx +++ b/platform/viewer/src/routes/Mode/Mode.jsx @@ -1,18 +1,13 @@ -import React, { useEffect, useCallback } from 'react'; -import { - displaySetManager, - ToolBarManager, - useViewModel, - useToolbarLayout, - ToolbarLayoutProvider, -} from '@ohif/core'; +import React from 'react'; +import PropTypes from 'prop-types'; +// +import { ToolbarLayoutProvider } from '@ohif/core'; import { DragAndDropProvider } from '@ohif/ui'; // import ViewportGrid from '@components/ViewportGrid'; import Compose from './Compose'; import DisplaySetCreator from './DisplaySetCreator'; - export default function ModeRoute({ location, mode, @@ -85,3 +80,17 @@ export default function ModeRoute({ ); } + +ModeRoute.propTypes = { + // Ref: https://reacttraining.com/react-router/web/api/location + location: PropTypes.shape({ + key: PropTypes.string, + pathname: PropTypes.string.isRequired, + search: PropTypes.string.isRequired, + hash: PropTypes.string.isRequired, + state: PropTypes.object.isRequired, + }), + mode: PropTypes.object.isRequired, + dataSourceName: PropTypes.string, + extensionManager: PropTypes.object, +};