mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 15:17:31 +00:00
Extracted fetching energy management data from the widgets themselves to the parent widget AnalyticsEnergyManagementView
.
This commit is contained in:
@ -1,13 +1,46 @@
|
||||
import 'package:flutter/material.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/blocs/total_energy_consumption/total_energy_consumption_bloc.dart';
|
||||
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/energy_consumption_by_phases_chart_box.dart';
|
||||
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/energy_consumption_per_device_chart_box.dart';
|
||||
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/power_clamp_energy_data_widget.dart';
|
||||
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/total_energy_consumption_chart_box.dart';
|
||||
import 'package:syncrow_web/pages/analytics/params/get_energy_consumption_by_phases_param.dart';
|
||||
import 'package:syncrow_web/pages/analytics/params/get_total_energy_consumption_param.dart';
|
||||
import 'package:syncrow_web/utils/style.dart';
|
||||
|
||||
class AnalyticsEnergyManagementView extends StatelessWidget {
|
||||
class AnalyticsEnergyManagementView extends StatefulWidget {
|
||||
const AnalyticsEnergyManagementView({super.key});
|
||||
|
||||
@override
|
||||
State<AnalyticsEnergyManagementView> createState() =>
|
||||
_AnalyticsEnergyManagementViewState();
|
||||
}
|
||||
|
||||
class _AnalyticsEnergyManagementViewState
|
||||
extends State<AnalyticsEnergyManagementView> {
|
||||
@override
|
||||
void initState() {
|
||||
_loadEnergyConsumptionByPhases();
|
||||
_loadTotalEnergyConsumption();
|
||||
super.initState();
|
||||
}
|
||||
|
||||
void _loadEnergyConsumptionByPhases() {
|
||||
const param = GetEnergyConsumptionByPhasesParam();
|
||||
context.read<EnergyConsumptionByPhasesBloc>().add(
|
||||
const LoadEnergyConsumptionByPhasesEvent(param: param),
|
||||
);
|
||||
}
|
||||
|
||||
void _loadTotalEnergyConsumption() {
|
||||
const param = GetTotalEnergyConsumptionParam();
|
||||
context.read<TotalEnergyConsumptionBloc>().add(
|
||||
const TotalEnergyConsumptionLoadEvent(param: param),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Padding(
|
||||
|
@ -3,28 +3,11 @@ 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/energy_consumption_by_phases_chart.dart';
|
||||
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/energy_consumption_by_phases_title.dart';
|
||||
import 'package:syncrow_web/pages/analytics/params/get_energy_consumption_by_phases_param.dart';
|
||||
import 'package:syncrow_web/utils/style.dart';
|
||||
|
||||
class EnergyConsumptionByPhasesChartBox extends StatefulWidget {
|
||||
class EnergyConsumptionByPhasesChartBox extends StatelessWidget {
|
||||
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,
|
||||
|
@ -3,32 +3,11 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:syncrow_web/pages/analytics/modules/energy_management/blocs/total_energy_consumption/total_energy_consumption_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/total_energy_consumption_chart.dart';
|
||||
import 'package:syncrow_web/pages/analytics/params/get_total_energy_consumption_param.dart';
|
||||
import 'package:syncrow_web/utils/style.dart';
|
||||
|
||||
class TotalEnergyConsumptionChartBox extends StatefulWidget {
|
||||
class TotalEnergyConsumptionChartBox extends StatelessWidget {
|
||||
const TotalEnergyConsumptionChartBox({super.key});
|
||||
|
||||
@override
|
||||
State<TotalEnergyConsumptionChartBox> createState() =>
|
||||
_TotalEnergyConsumptionChartBoxState();
|
||||
}
|
||||
|
||||
class _TotalEnergyConsumptionChartBoxState
|
||||
extends State<TotalEnergyConsumptionChartBox> {
|
||||
@override
|
||||
void initState() {
|
||||
final param = GetTotalEnergyConsumptionParam(
|
||||
startDate: DateTime.now().subtract(const Duration(days: 30)),
|
||||
endDate: DateTime.now(),
|
||||
spaceId: '123',
|
||||
);
|
||||
context.read<TotalEnergyConsumptionBloc>().add(
|
||||
TotalEnergyConsumptionLoadEvent(param: param),
|
||||
);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BlocBuilder<TotalEnergyConsumptionBloc, TotalEnergyConsumptionState>(
|
||||
|
@ -3,7 +3,7 @@ class GetTotalEnergyConsumptionParam {
|
||||
final DateTime? endDate;
|
||||
final String? spaceId;
|
||||
|
||||
GetTotalEnergyConsumptionParam({
|
||||
const GetTotalEnergyConsumptionParam({
|
||||
this.startDate,
|
||||
this.endDate,
|
||||
this.spaceId,
|
||||
|
Reference in New Issue
Block a user