load energy consumption by phases from bloc, and made the widget use the said data.

This commit is contained in:
Faris Armoush
2025-05-04 14:24:53 +03:00
parent 69c9240641
commit 3d6a60b406

View File

@ -1,16 +1,37 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/analytics/modules/energy_management/helpers/energy_consumption_by_phases_chart_helper.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:syncrow_web/pages/analytics/modules/energy_management/blocs/energy_consumption_by_phases/energy_consumption_by_phases_bloc.dart';
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/chart_title.dart';
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/energy_consumption_by_phases_chart.dart';
import 'package:syncrow_web/pages/analytics/params/get_energy_consumption_by_phases_param.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
import 'package:syncrow_web/utils/style.dart';
class EnergyConsumptionByPhasesChartBox extends StatelessWidget {
class EnergyConsumptionByPhasesChartBox extends StatefulWidget {
const EnergyConsumptionByPhasesChartBox({super.key});
@override
State<EnergyConsumptionByPhasesChartBox> createState() =>
_EnergyConsumptionByPhasesChartBoxState();
}
class _EnergyConsumptionByPhasesChartBoxState
extends State<EnergyConsumptionByPhasesChartBox> {
@override
void initState() {
const param = GetEnergyConsumptionByPhasesParam();
context.read<EnergyConsumptionByPhasesBloc>().add(
const LoadEnergyConsumptionByPhasesEvent(param: param),
);
super.initState();
}
@override
Widget build(BuildContext context) {
return BlocBuilder<EnergyConsumptionByPhasesBloc,
EnergyConsumptionByPhasesState>(
builder: (context, state) {
return Container(
padding: const EdgeInsetsDirectional.all(20),
decoration: secondarySection,
@ -46,14 +67,16 @@ class EnergyConsumptionByPhasesChartBox extends StatelessWidget {
].map((phase) => _buildPhaseCell(context, phase)),
],
),
const Expanded(
Expanded(
child: EnergyConsumptionByPhasesChart(
energyData: EnergyConsumptionByPhasesChartHelper.fakeData,
energyData: state.chartData,
),
),
],
),
);
},
);
}
Widget _buildPhaseCell(