@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
JavaScript
/*
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;