import React from "react"; import { observer } from "mobx-react"; import classNames from "classnames"; import { Icon } from "eez-studio-ui/icon"; export interface INavigationItem { id: string; icon: string; title: string; position?: "hidden"; attention?: boolean; renderContent: () => JSX.Element; selectItem?: (itemId: string) => void; renderToolbarButtons: () => JSX.Element; } export const NavigationItem = observer( class NavigationItem extends React.Component< { item: INavigationItem; selected: boolean; selectItem: (item: INavigationItem) => void; }, {} > { handleClick = (event: React.MouseEvent) => { event.preventDefault(); this.props.selectItem(this.props.item); }; render() { let className = classNames( "EezStudio_NavigationMenuItemContainer", { selected: this.props.selected } ); return (
{this.props.item.title}
); } } ); export const Navigation = observer( class Navigation extends React.Component< { items: INavigationItem[]; selectedItem: INavigationItem; selectItem: (item: INavigationItem) => void; }, {} > { render() { return (
{this.props.items .filter(item => item.position != "hidden") .map(item => ( ))}
); } } );