X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/9cd0c2757db479fb75e150d52d4871d9a88af364..3f7e1a8afad27920adf8f03ce82eeb1ae58aa84f:/src/components/multi-panel-view/multi-panel-view.tsx diff --git a/src/components/multi-panel-view/multi-panel-view.tsx b/src/components/multi-panel-view/multi-panel-view.tsx index de824990..f4c3f3ba 100644 --- a/src/components/multi-panel-view/multi-panel-view.tsx +++ b/src/components/multi-panel-view/multi-panel-view.tsx @@ -15,7 +15,7 @@ import { import { GridProps } from '@material-ui/core/Grid'; import { isArray } from 'lodash'; import { DefaultView } from 'components/default-view/default-view'; -import { InfoIcon, InvisibleIcon, VisibleIcon } from 'components/icon/icon'; +import { InfoIcon } from 'components/icon/icon'; import { ReactNodeArray } from 'prop-types'; import classNames from 'classnames'; @@ -123,11 +123,12 @@ const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVCo (panelStates[idx] && (panelStates[idx].visible || panelStates[idx].visible === undefined))); const [panelVisibility, setPanelVisibility] = useState(visibility); - const [brightenedPanel, setBrightenedPanel] = useState(-1); + const [highlightedPanel, setHighlightedPanel] = useState(-1); + const [selectedPanel, setSelectedPanel] = useState(-1); const panelRef = useRef(null); let panels: JSX.Element[] = []; - let toggles: JSX.Element[] = []; + let buttons: JSX.Element[] = []; if (isArray(children)) { for (let idx = 0; idx < children.length; idx++) { @@ -137,6 +138,7 @@ const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVCo true, ...panelVisibility.slice(idx+1) ]); + setSelectedPanel(idx); }; const hideFn = (idx: number) => () => { setPanelVisibility([ @@ -153,44 +155,39 @@ const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVCo ...panelVisibility.slice(idx+1).map(() => false), ]) }; - const toggleIcon = panelVisibility[idx] - ? - : const panelName = panelStates === undefined ? `Panel ${idx+1}` : (panelStates[idx] && panelStates[idx].name) || `Panel ${idx+1}`; - const toggleVariant = "outlined"; - const toggleTooltip = panelVisibility[idx] - ? '' - :`Show ${panelName} panel`; + const btnVariant = panelVisibility[idx] + ? "contained" + : "outlined"; + const btnTooltip = panelVisibility[idx] + ? `` + :`Open ${panelName} panel`; const panelIsMaximized = panelVisibility[idx] && panelVisibility.filter(e => e).length === 1; - let brightenerTimer: NodeJS.Timer; - toggles = [ - ...toggles, - - ]; const aPanel = {children[idx]} ; @@ -200,9 +197,10 @@ const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVCo return - { toggles.map((tgl, idx) => {tgl}) } + { buttons.map((tgl, idx) => {tgl}) } - + setSelectedPanel(-1)}> { panelVisibility.includes(true) ? panels :