diff --git a/lib/pages/analytics/modules/analytics/views/analytics_page.dart b/lib/pages/analytics/modules/analytics/views/analytics_page.dart index 43cc4330..dbbf855f 100644 --- a/lib/pages/analytics/modules/analytics/views/analytics_page.dart +++ b/lib/pages/analytics/modules/analytics/views/analytics_page.dart @@ -48,7 +48,7 @@ class AnalyticsPage extends StatelessWidget { RemotePowerClampInfoService(HTTPService()), ), ), - BlocProvider( + BlocProvider( create: (context) => RealtimeDeviceChangesBloc( FirebaseRealtimeDeviceService(), ), diff --git a/lib/pages/analytics/modules/analytics/widgets/analytics_communities_sidebar.dart b/lib/pages/analytics/modules/analytics/widgets/analytics_communities_sidebar.dart index aba54d08..286ea87d 100644 --- a/lib/pages/analytics/modules/analytics/widgets/analytics_communities_sidebar.dart +++ b/lib/pages/analytics/modules/analytics/widgets/analytics_communities_sidebar.dart @@ -20,7 +20,14 @@ class AnalyticsCommunitiesSidebar extends StatelessWidget { () { if (context.mounted) { FetchEnergyManagementDataHelper.fetchEnergyManagementData( - context); + context, + ); + FetchEnergyManagementDataHelper.loadRealtimeDeviceChanges( + context, + ); + FetchEnergyManagementDataHelper.loadPowerClampInfo( + context, + ); } }, ); diff --git a/lib/pages/analytics/modules/analytics/widgets/analytics_date_filter_button.dart b/lib/pages/analytics/modules/analytics/widgets/analytics_date_filter_button.dart index 0cef6257..19a72566 100644 --- a/lib/pages/analytics/modules/analytics/widgets/analytics_date_filter_button.dart +++ b/lib/pages/analytics/modules/analytics/widgets/analytics_date_filter_button.dart @@ -4,6 +4,7 @@ import 'package:flutter_svg/svg.dart'; import 'package:intl/intl.dart'; import 'package:syncrow_web/pages/analytics/modules/analytics/blocs/analytics_date_picker_bloc/analytics_date_picker_bloc.dart'; import 'package:syncrow_web/pages/analytics/modules/analytics/widgets/month_picker_widget.dart'; +import 'package:syncrow_web/pages/analytics/modules/energy_management/helpers/fetch_energy_management_data_helper.dart'; import 'package:syncrow_web/utils/color_manager.dart'; import 'package:syncrow_web/utils/constants/assets.dart'; @@ -69,12 +70,16 @@ class _AnalyticsDateFilterButtonState extends State { onPressed: () { showDialog( context: context, - builder: (context) => MonthPickerWidget( + builder: (_) => MonthPickerWidget( selectedDate: selectedDate, onDateSelected: (value) { _analyticsDatePickerBloc.add( UpdateAnalyticsDatePickerEvent(value), ); + FetchEnergyManagementDataHelper.fetchEnergyManagementData( + context, + selectedDate: value, + ); }, ), ); diff --git a/lib/pages/analytics/modules/energy_management/helpers/fetch_energy_management_data_helper.dart b/lib/pages/analytics/modules/energy_management/helpers/fetch_energy_management_data_helper.dart index f2df3181..eeaa4d64 100644 --- a/lib/pages/analytics/modules/energy_management/helpers/fetch_energy_management_data_helper.dart +++ b/lib/pages/analytics/modules/energy_management/helpers/fetch_energy_management_data_helper.dart @@ -13,7 +13,10 @@ import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart'; abstract final class FetchEnergyManagementDataHelper { const FetchEnergyManagementDataHelper._(); - static void fetchEnergyManagementData(BuildContext context) { + static void fetchEnergyManagementData( + BuildContext context, { + DateTime? selectedDate, + }) { final (selectedCommunities, selectedSpaces) = _getSelectedCommunitiesAndSpaces(context); @@ -24,9 +27,7 @@ abstract final class FetchEnergyManagementDataHelper { loadTotalEnergyConsumption(context); loadEnergyConsumptionByPhases(context); - loadPowerClampInfo(context); loadEnergyConsumptionPerDevice(context); - loadRealtimeDeviceChanges(context); return; } @@ -39,19 +40,29 @@ abstract final class FetchEnergyManagementDataHelper { return (selectedCommunities, selectedSpaces); } - static void loadEnergyConsumptionByPhases(BuildContext context) { - const param = GetEnergyConsumptionByPhasesParam(); + static void loadEnergyConsumptionByPhases( + BuildContext context, { + DateTime? selectedDate, + }) { + final param = GetEnergyConsumptionByPhasesParam( + startDate: selectedDate, + spaceId: '', + ); context.read().add( - const LoadEnergyConsumptionByPhasesEvent(param: param), + LoadEnergyConsumptionByPhasesEvent(param: param), ); } - static void loadTotalEnergyConsumption(BuildContext context) { + static void loadTotalEnergyConsumption( + BuildContext context, { + DateTime? selectedDate, + }) { final (selectedCommunities, selectedSpaces) = _getSelectedCommunitiesAndSpaces(context); final param = GetTotalEnergyConsumptionParam( spaceId: selectedCommunities.firstOrNull, + startDate: selectedDate, ); context.read().add( TotalEnergyConsumptionLoadEvent(param: param),