import React, { useState, useEffect } from 'react' import { draw } from 'patternomaly' import { Bar } from 'react-chartjs-2'; import { Chart as ChartJS, CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend } from 'chart.js' import { CostIndicatorChartView } from './CostIndicatorChartView'; import ChartTitle from '../ChartTitle'; ChartJS.register( CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend ) interface ChartInterface { title: string, subtitle: string, data1: any, data2: any, single?: any label: any, miniature?: boolean | undefined } export default function CostIndicatorChart({ title, data1, data2, label, subtitle, miniature }: ChartInterface) { const labels = label; const options: any = { responsive: true, scales: { x: { stacked: true, grid: { display: false } }, y: { grid: { display: false } }, }, plugins: { datalabels: { display: true, color: 'black', formatter: (value, ctx) => { let sum = 0; const dataArr = ctx.chart.data.datasets[0].data; dataArr.map(data => { sum += data; }); const result = `${parseInt(value).toLocaleString('pt-br')}` return value==null? null : result }, anchor: "end", align: "end", font: { size: !miniature? 15 : 10, } }, legend: { position: 'bottom' as const, }, title: { display: true, text: '', }, }, }; const data = { labels, datasets: [ { label: '2021', data: data1.map(value => value.custo_unit>0? value.custo_unit : null), backgroundColor: '#C2d5fb' // backgroundColor: (value, ctx) => { // return data1[value.dataIndex]?.dad_estimado == false ? '#255488' : draw('diagonal-right-left', '#255488'); // }, }, { label: '2022', data: data2.map(value => value.custo_unit>0? value.custo_unit : null), // backgroundColor: '#255488' backgroundColor: (value, ctx) => { return data2[value.dataIndex]?.dad_estimado == false ? '#255488' : draw('diagonal-right-left', '#255488'); }, } ], } return ( {/* */} ) }