Add active state
This commit is contained in:
parent
52521c5b56
commit
6eb474be88
@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { ToolbarButton } from '@ohif/ui';
|
||||
|
||||
function NestedMenu({ children, label, icon }) {
|
||||
function NestedMenu({ children, label, icon, isActive }) {
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
|
||||
const toggleNestedMenu = () => setIsOpen(!isOpen);
|
||||
@ -20,8 +20,6 @@ function NestedMenu({ children, label, icon }) {
|
||||
};
|
||||
}, [isOpen]);
|
||||
|
||||
const isActive = isOpen || children.props.children.some(c => c.props.isActive);
|
||||
|
||||
return (
|
||||
<ToolbarButton
|
||||
id="NestedMenu"
|
||||
@ -29,7 +27,7 @@ function NestedMenu({ children, label, icon }) {
|
||||
icon={icon}
|
||||
onClick={toggleNestedMenu}
|
||||
dropdownContent={isOpen && children}
|
||||
isActive={isActive}
|
||||
isActive={isActive || isOpen}
|
||||
type="primary"
|
||||
/>
|
||||
);
|
||||
|
||||
@ -55,7 +55,7 @@ function ViewerLayout({
|
||||
};
|
||||
};
|
||||
|
||||
const defaultTool = { icon: 'tool-more-menu', label: 'More' };
|
||||
const defaultTool = { icon: 'tool-more-menu', label: 'More', isActive: false };
|
||||
const [toolbars, setToolbars] = useState({ primary: [], secondary: [] });
|
||||
const [activeTool, setActiveTool] = useState(defaultTool);
|
||||
|
||||
@ -102,7 +102,7 @@ function ViewerLayout({
|
||||
return <Component key={id} id={id} {...componentProps} />;
|
||||
} else {
|
||||
return (
|
||||
<NestedMenu icon={activeTool.icon} label={activeTool.label}>
|
||||
<NestedMenu isActive={activeTool.isActive} icon={activeTool.icon} label={activeTool.label}>
|
||||
<div className="flex">
|
||||
{toolDef.map(x => {
|
||||
const { id, Component, componentProps } = x;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user