Files
superset2/superset/assets/javascripts/components/Button.jsx
Maxime Beauchemin 15b67b2c6c [WiP] rename project from Caravel to Superset (#1576)
* Change in files

* Renamin files and folders

* cleaning up a single piece of lint

* Removing boat picture from docs

* add superset word mark

* Update rename note in docs

* Fixing images

* Pinning datatables

* Fixing issues with mapbox-gl

* Forgot to rename one file

* Linting

* v0.13.0

* adding pyyaml to dev-reqs
2016-11-09 23:08:22 -08:00

41 lines
964 B
JavaScript

import React, { PropTypes } from 'react';
import { Button as BootstrapButton, Tooltip, OverlayTrigger } from 'react-bootstrap';
import { slugify } from '../modules/utils';
const propTypes = {
tooltip: PropTypes.node,
placement: PropTypes.string,
};
const defaultProps = {
bsSize: 'sm',
placement: 'top',
};
export default function Button(props) {
const buttonProps = Object.assign({}, props);
const tooltip = props.tooltip;
const placement = props.placement;
delete buttonProps.tooltip;
delete buttonProps.placement;
let button = (
<BootstrapButton {...buttonProps} >
{props.children}
</BootstrapButton>
);
if (props.tooltip) {
button = (
<OverlayTrigger
placement={placement}
overlay={<Tooltip id={`${slugify(tooltip)}-tooltip`}>{tooltip}</Tooltip>}
>
{button}
</OverlayTrigger>
);
}
return button;
}
Button.propTypes = propTypes;
Button.defaultProps = defaultProps;