mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-16 10:06:19 +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/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_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/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/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/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';
|
import 'package:syncrow_web/utils/style.dart';
|
||||||
|
|
||||||
class AnalyticsEnergyManagementView extends StatelessWidget {
|
class AnalyticsEnergyManagementView extends StatefulWidget {
|
||||||
const AnalyticsEnergyManagementView({super.key});
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Padding(
|
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/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_chart.dart';
|
||||||
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/energy_consumption_by_phases_title.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';
|
import 'package:syncrow_web/utils/style.dart';
|
||||||
|
|
||||||
class EnergyConsumptionByPhasesChartBox extends StatefulWidget {
|
class EnergyConsumptionByPhasesChartBox extends StatelessWidget {
|
||||||
const EnergyConsumptionByPhasesChartBox({super.key});
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return BlocBuilder<EnergyConsumptionByPhasesBloc,
|
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/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/chart_title.dart';
|
||||||
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/total_energy_consumption_chart.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';
|
import 'package:syncrow_web/utils/style.dart';
|
||||||
|
|
||||||
class TotalEnergyConsumptionChartBox extends StatefulWidget {
|
class TotalEnergyConsumptionChartBox extends StatelessWidget {
|
||||||
const TotalEnergyConsumptionChartBox({super.key});
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return BlocBuilder<TotalEnergyConsumptionBloc, TotalEnergyConsumptionState>(
|
return BlocBuilder<TotalEnergyConsumptionBloc, TotalEnergyConsumptionState>(
|
||||||
|
@ -3,7 +3,7 @@ class GetTotalEnergyConsumptionParam {
|
|||||||
final DateTime? endDate;
|
final DateTime? endDate;
|
||||||
final String? spaceId;
|
final String? spaceId;
|
||||||
|
|
||||||
GetTotalEnergyConsumptionParam({
|
const GetTotalEnergyConsumptionParam({
|
||||||
this.startDate,
|
this.startDate,
|
||||||
this.endDate,
|
this.endDate,
|
||||||
this.spaceId,
|
this.spaceId,
|
||||||
|
Reference in New Issue
Block a user