All files / javascripts/SqlLab/components ButtonWithTooltip.jsx

0% Statements 0/9
100% Branches 0/0
0% Functions 0/4
0% Lines 0/8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49                                                                                                 
import React from 'react';
import { Button, OverlayTrigger, Tooltip } from 'react-bootstrap';
 
const ButtonWithTooltip = (props) => {
  let tooltip = (
    <Tooltip id="tooltip">
      {props.tooltip}
    </Tooltip>
  );
  return (
    <OverlayTrigger
      overlay={tooltip}
      delayShow={300}
      placement={props.placement}
      delayHide={150}
    >
      <Button
        onClick={props.onClick}
        bsStyle={props.bsStyle}
        bsSize={props.bsSize}
        disabled={props.disabled}
        className={props.className}
      >
          {props.children}
      </Button>
    </OverlayTrigger>
  );
};
 
ButtonWithTooltip.defaultProps = {
  onClick: () => {},
  disabled: false,
  placement: 'top',
  bsStyle: 'default',
};
 
ButtonWithTooltip.propTypes = {
  bsSize: React.PropTypes.string,
  bsStyle: React.PropTypes.string,
  children: React.PropTypes.element,
  className: React.PropTypes.string,
  disabled: React.PropTypes.bool,
  onClick: React.PropTypes.func,
  placement: React.PropTypes.string,
  tooltip: React.PropTypes.string,
};
 
export default ButtonWithTooltip;