grafana/public/app/core/components/Tooltip/Tooltip.tsx

37 lines
786 B
TypeScript
Raw Normal View History

2018-10-25 22:56:49 +08:00
import React, { PureComponent } from 'react';
import withTooltip from './withTooltip';
import { Target } from 'react-popper';
2018-10-25 22:56:49 +08:00
interface Props {
tooltipSetState: (prevState: object) => void;
}
2018-10-25 22:56:49 +08:00
class Tooltip extends PureComponent<Props> {
showTooltip = () => {
const { tooltipSetState } = this.props;
2018-10-25 22:56:49 +08:00
tooltipSetState(prevState => ({
...prevState,
show: true,
}));
};
hideTooltip = () => {
const { tooltipSetState } = this.props;
2018-10-25 22:56:49 +08:00
tooltipSetState(prevState => ({
...prevState,
show: false,
}));
};
render() {
return (
<Target className="popper__target" onMouseOver={this.showTooltip} onMouseOut={this.hideTooltip}>
{this.props.children}
</Target>
);
}
}
export default withTooltip(Tooltip);