UNPKG

@trap_stevo/legendarybuilderproreact-ui

Version:

The legendary UI & utility API that makes your application a legendary application. ~ Created by Steven Compton

58 lines (55 loc) 1.89 kB
/* Created by Hassan Steven Compton. March 7, 2024. */ import React, { useRef, useEffect } from 'react'; import { HUDUniversalHUDUtilityManager } from "../HUDManagers/HUDUniversalHUDUtilityManager.js"; import Chart from 'chart.js/auto'; function BarChart(_ref) { var barChartContainerConfigurationSettings = _ref.barChartContainerConfigurationSettings, updateGraph = _ref.updateGraph, labels = _ref.labels, dataLabel = _ref.dataLabel, barPoints = _ref.barPoints, data = _ref.data, options = _ref.options; var chartRef = useRef(null); useEffect(function () { if (updateGraph) { var barChartRef = chartRef.current.getContext("2d"); var backgroundColors = sessionStorage.getItem("UsersBarGraphColors") === undefined ? HUDUniversalHUDUtilityManager.GenerateBackgroundColors(barPoints.length) : JSON.parse(sessionStorage.getItem("UsersBarGraphColors")); sessionStorage.setItem("UsersBarGraphColors", JSON.stringify(backgroundColors)); if (window.barChart instanceof Chart) { window.barChart.destroy(); } window.barChart = new Chart(barChartRef, { type: 'bar', data: data || { labels: labels, datasets: [{ label: dataLabel, data: barPoints, backgroundColor: backgroundColors, borderColor: backgroundColors, borderWidth: 1 }] }, options: options || { scales: { y: { beginAtZero: true } } } }); } return function () {}; }, [updateGraph, labels, dataLabel, barPoints, data, options]); return /*#__PURE__*/React.createElement("div", { style: barChartContainerConfigurationSettings }, /*#__PURE__*/React.createElement("canvas", { ref: chartRef })); } ; export default BarChart;