Change total mahasiswa
This commit is contained in:
@@ -11,7 +11,7 @@ const Chart = dynamic(() => import('react-apexcharts'), { ssr: false });
|
||||
|
||||
interface TingkatPrestasiData {
|
||||
tahun_angkatan: number;
|
||||
tingkat: string;
|
||||
tingkat_prestasi: string;
|
||||
tingkat_mahasiswa_prestasi: number;
|
||||
}
|
||||
|
||||
@@ -52,6 +52,23 @@ export default function TingkatPrestasiPieChart({ selectedYear, selectedJenisPre
|
||||
fetchData();
|
||||
}, [selectedYear, selectedJenisPrestasi]);
|
||||
|
||||
// Process data for series
|
||||
const processSeriesData = () => {
|
||||
// Data sudah difilter dari API berdasarkan tahun angkatan dan jenis prestasi
|
||||
// Langsung gunakan data yang diterima dari API
|
||||
const tingkat = [...new Set(data.map(item => item.tingkat_prestasi))].sort();
|
||||
const jumlahData = tingkat.map(t => {
|
||||
const item = data.find(d => d.tingkat_prestasi === t);
|
||||
return item ? item.tingkat_mahasiswa_prestasi : 0;
|
||||
});
|
||||
return {
|
||||
series: jumlahData,
|
||||
labels: tingkat
|
||||
};
|
||||
};
|
||||
|
||||
const { series, labels } = processSeriesData();
|
||||
|
||||
const chartOptions: ApexOptions = {
|
||||
chart: {
|
||||
type: 'pie',
|
||||
@@ -69,7 +86,7 @@ export default function TingkatPrestasiPieChart({ selectedYear, selectedJenisPre
|
||||
}
|
||||
}
|
||||
},
|
||||
labels: [],
|
||||
labels: labels,
|
||||
colors: ['#3B82F6', '#10B981', '#F59E0B', '#EF4444', '#8B5CF6', '#EC4899', '#06B6D4'],
|
||||
legend: {
|
||||
position: 'bottom',
|
||||
@@ -110,23 +127,6 @@ export default function TingkatPrestasiPieChart({ selectedYear, selectedJenisPre
|
||||
}
|
||||
};
|
||||
|
||||
// Process data for series
|
||||
const processSeriesData = () => {
|
||||
// Filter data sesuai tahun angkatan
|
||||
const filtered = data.filter(item => String(item.tahun_angkatan) === String(selectedYear));
|
||||
const tingkat = [...new Set(filtered.map(item => item.tingkat))].sort();
|
||||
const jumlahData = tingkat.map(t => {
|
||||
const item = filtered.find(d => d.tingkat === t);
|
||||
return item ? item.tingkat_mahasiswa_prestasi : 0;
|
||||
});
|
||||
return {
|
||||
series: jumlahData,
|
||||
labels: tingkat
|
||||
};
|
||||
};
|
||||
|
||||
const { series, labels } = processSeriesData();
|
||||
|
||||
if (loading) {
|
||||
return (
|
||||
<Card className="bg-white dark:bg-slate-900 shadow-lg">
|
||||
@@ -174,7 +174,7 @@ export default function TingkatPrestasiPieChart({ selectedYear, selectedJenisPre
|
||||
<div className="h-[350px] w-full max-w-5xl mx-auto">
|
||||
{typeof window !== 'undefined' && (
|
||||
<Chart
|
||||
options={{...chartOptions, labels}}
|
||||
options={chartOptions}
|
||||
series={series}
|
||||
type="pie"
|
||||
height="100%"
|
||||
|
||||
Reference in New Issue
Block a user