UNPKG

@talend/react-components

Version:
56 lines (55 loc) 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = PieChart; var _propTypes = _interopRequireDefault(require("prop-types")); var _PieChartIcon = _interopRequireDefault(require("./PieChartIcon.component")); var _PieChartButton = _interopRequireDefault(require("./PieChartButton.component")); var _TooltipTrigger = _interopRequireDefault(require("../TooltipTrigger")); var _OverlayTrigger = _interopRequireDefault(require("../OverlayTrigger")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** * This function wrap the button with a TooltipTrigger * @param {Element} btn the button element ( may be wrapped by overlay trigger ) * @param {boolean} tooltip tell if the tooltip has to be showed * @param {string} label the label to show on the tooltip * @param {string} tooltipPlacement the tooltip placement */function decorateWithTooltip(tooltip, label, tooltipPlacement, Component, props) { if (!tooltip || !label) { return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, { ...props }); } return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TooltipTrigger.default, { label: label, tooltipPlacement: tooltipPlacement, children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, { ...props }) }) }); } function getPieChartComponent(onClick) { return onClick ? _PieChartButton.default : _PieChartIcon.default; } function PieChart({ tooltip, tooltipPlacement, ...props }) { return decorateWithTooltip(tooltip, props.label, tooltipPlacement, getPieChartComponent(props.onClick), props); } PieChart.propTypes = { label: _propTypes.default.string, onClick: _propTypes.default.func, tooltip: _propTypes.default.bool, tooltipPlacement: _OverlayTrigger.default.propTypes.placement }; PieChart.defaultProps = { tooltipPlacement: 'top' }; PieChart.displayName = 'PieChart'; //# sourceMappingURL=PieChart.component.js.map