UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

40 lines (36 loc) 1.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useChart = useChart; var _react = require("react"); var _chart = require("../utils/chart"); function useChart(_ref) { let { id, analytics, config } = _ref; const [chart, setChart] = (0, _react.useState)((0, _chart.getChartInstance)(id, analytics, config).getOptions()); const changeChartType = (0, _react.useCallback)(type => { const updatedLayout = (0, _chart.updateLayout)(config, { type }); const updatedConfig = { ...config, layout: updatedLayout, type }; const chartInstance = (0, _chart.getChartInstance)(id, analytics, updatedConfig); setChart(chartInstance.getOptions()); }, [config, id, analytics]); (0, _react.useEffect)(() => { if (analytics && config) { const chartInstance = (0, _chart.getChartInstance)(id, analytics, config); setChart(chartInstance.getOptions()); } }, [analytics, config, id]); return { chart, changeChartType }; }