import React from 'react';
import { browserHistory } from 'react-router';
import styles from './DropdownMenu.scss';
class MenuItem extends React.Component {
onClick = () => {
if (this.props.to) {
browserHistory.push(this.props.to);
} else {
this.props.onClick();
}
};
render() {
return (
{this.props.children}
);
}
}
MenuItem.propTypes = {
onClick: React.PropTypes.func,
to: React.PropTypes.string,
children: React.PropTypes.node.isRequired,
};
//
class DropdownMenu extends React.Component {
static propTypes = {
label: React.PropTypes.node.isRequired,
children: React.PropTypes.node.isRequired,
};
state = {
menuVisible: false,
};
onMouseEnter = () => {
this.setState({ menuVisible: true });
};
onMouseLeave = () => {
this.setState({ menuVisible: false });
};
onClick = () => {
this.setState({ menuVisible: !this.state.menuVisible });
};
render() {
return (
{this.props.label}
{this.state.menuVisible
?
{this.props.children}
: null}
);
}
}
export default DropdownMenu;
export { MenuItem };