Implemented the side titles of RangeOfAqiChart.

This commit is contained in:
Faris Armoush
2025-05-26 10:12:52 +03:00
parent cd2eb46f49
commit 82006e9aaf
2 changed files with 38 additions and 4 deletions

View File

@ -2,6 +2,7 @@ import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/analytics/modules/energy_management/helpers/energy_management_charts_helper.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
class RangeOfAqiChart extends StatelessWidget {
final List<double> minValues;
@ -32,8 +33,39 @@ class RangeOfAqiChart extends StatelessWidget {
LineChartData(
minY: 0,
maxY: 301,
gridData: EnergyManagementChartsHelper.gridData(),
titlesData: EnergyManagementChartsHelper.titlesData(context),
gridData: EnergyManagementChartsHelper.gridData(
horizontalInterval: 50,
),
titlesData: EnergyManagementChartsHelper.titlesData(context).copyWith(
leftTitles: AxisTitles(
sideTitles: SideTitles(
reservedSize: 70,
interval: 51,
showTitles: true,
maxIncluded: true,
getTitlesWidget: (value, meta) {
String text;
if (value >= 300) {
text = '300+';
} else if (value == 255) {
text = '300';
} else {
text = ((value / 50).round() * 50).toInt().toString();
}
return Padding(
padding: const EdgeInsetsDirectional.only(end: 12),
child: Text(
text,
style: context.textTheme.bodySmall?.copyWith(
fontSize: 12,
color: ColorsManager.lightGreyColor,
),
),
);
},
),
),
),
borderData: EnergyManagementChartsHelper.borderData(),
betweenBarsData: [
BetweenBarsData(

View File

@ -93,12 +93,14 @@ abstract final class EnergyManagementChartsHelper {
);
}
static FlGridData gridData() {
static FlGridData gridData({
double horizontalInterval = 250,
}) {
return FlGridData(
show: true,
drawVerticalLine: false,
drawHorizontalLine: true,
horizontalInterval: 250,
horizontalInterval: horizontalInterval,
getDrawingHorizontalLine: (value) {
return FlLine(
color: ColorsManager.greyColor,