mirror of
https://github.com/apache/superset.git
synced 2026-04-10 20:06:13 +00:00
* 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
41 lines
964 B
JavaScript
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;
|