Compare commits

...

3 Commits

Author SHA1 Message Date
DmitriyA ed2e03e202 adjusting the chart legend 2025-03-26 06:53:41 -04:00
yuobrezkov cf38b25678 conflict
test-org/trust-module-frontend/pipeline/pr-main Build succeeded
2025-03-26 13:22:08 +03:00
yuobrezkov b6b8042d11 conflict 2025-03-26 12:28:33 +03:00
2 changed files with 25 additions and 5 deletions

View File

@ -2,13 +2,12 @@ import React from 'react';
import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';
const SystemStatusChart = ({ data }) => { const SystemStatusChart = ({ data }) => {
// Обрезаем массив, оставляя только последние 20 точек
const trimmedData = data.slice(-20); const trimmedData = data.slice(-20);
return ( return (
<ResponsiveContainer width="100%" height={300}> <ResponsiveContainer width="100%" height={300}>
<LineChart <LineChart
data={trimmedData} // Используем обрезанный массив data={trimmedData}
margin={{ margin={{
top: 5, right: 30, left: 20, bottom: 5, top: 5, right: 30, left: 20, bottom: 5,
}} }}
@ -18,7 +17,13 @@ const SystemStatusChart = ({ data }) => {
<YAxis domain={[0, 100]} /> <YAxis domain={[0, 100]} />
<Tooltip /> <Tooltip />
<Legend /> <Legend />
<Line type="monotone" dataKey="status" stroke="#8884d8" activeDot={{ r: 8 }} /> <Line
type="monotone"
dataKey="status"
stroke="#8884d8"
activeDot={{ r: 8 }}
name=""
/>
</LineChart> </LineChart>
</ResponsiveContainer> </ResponsiveContainer>
); );

View File

@ -5,6 +5,22 @@ const SystemStatusChart = ({ data }) => {
// Обрезаем массив, оставляя только последние 20 точек // Обрезаем массив, оставляя только последние 20 точек
const trimmedData = data.slice(-20); const trimmedData = data.slice(-20);
const CustomTooltip = ({ active, payload, label }) => {
if (active && payload && payload.length) {
return (
<div className="custom-tooltip" style={{
backgroundColor: '#fff',
padding: '10px',
border: '1px solid #ccc'
}}>
<p>{`Время: ${label}`}</p>
<p>{`Значение: ${payload[0].value}`}</p>
</div>
);
}
return null;
};
return ( return (
<ResponsiveContainer width="100%" height={300}> <ResponsiveContainer width="100%" height={300}>
<LineChart <LineChart
@ -16,8 +32,7 @@ const SystemStatusChart = ({ data }) => {
<CartesianGrid strokeDasharray="3 3" /> <CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="time" /> <XAxis dataKey="time" />
<YAxis domain={[0, 100]} /> <YAxis domain={[0, 100]} />
<Tooltip /> <Tooltip content={<CustomTooltip />} />
<Legend />
<Line type="monotone" dataKey="status" stroke="#8884d8" activeDot={{ r: 8 }} /> <Line type="monotone" dataKey="status" stroke="#8884d8" activeDot={{ r: 8 }} />
</LineChart> </LineChart>
</ResponsiveContainer> </ResponsiveContainer>