UNPKG

react-jsx-highcharts

Version:

Highcharts charts built using React components

44 lines 1.21 kB
import { useEffect, memo } from 'react'; import useChart from '../UseChart'; import useHighcharts from '../UseHighcharts'; import useModifiedProps from '../UseModifiedProps'; const Tooltip = /*#__PURE__*/memo(props => { var _props$enabled; // eslint-disable-next-line no-unused-vars const { children = null, ...restProps } = props; const chart = useChart(); const Highcharts = useHighcharts(); restProps.enabled = (_props$enabled = props.enabled) !== null && _props$enabled !== void 0 ? _props$enabled : true; useEffect(() => { updateTooltip(chart, { ...(Highcharts.defaultOptions && Highcharts.defaultOptions.tooltip), ...restProps }); return () => { try { updateTooltip(chart, { enabled: false }); } catch { // ignore as chart might have been already unmounted } }; }, []); const modifiedProps = useModifiedProps(restProps); useEffect(() => { if (modifiedProps !== false) { updateTooltip(chart, modifiedProps); } }); return null; }); const updateTooltip = (chart, config) => { chart.update({ tooltip: config }); }; Tooltip.displayName = 'Tooltip'; export default Tooltip;