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:flutter/material.dart';
import 'package:syncrow_web/pages/analytics/modules/energy_management/helpers/energy_management_charts_helper.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/color_manager.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
class RangeOfAqiChart extends StatelessWidget { class RangeOfAqiChart extends StatelessWidget {
final List<double> minValues; final List<double> minValues;
@ -32,8 +33,39 @@ class RangeOfAqiChart extends StatelessWidget {
LineChartData( LineChartData(
minY: 0, minY: 0,
maxY: 301, maxY: 301,
gridData: EnergyManagementChartsHelper.gridData(), gridData: EnergyManagementChartsHelper.gridData(
titlesData: EnergyManagementChartsHelper.titlesData(context), 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(), borderData: EnergyManagementChartsHelper.borderData(),
betweenBarsData: [ betweenBarsData: [
BetweenBarsData( BetweenBarsData(

View File

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