gets data when changing the date.

This commit is contained in:
Faris Armoush
2025-05-07 11:12:39 +03:00
parent 7467f8d0ea
commit d539e6266e
4 changed files with 33 additions and 10 deletions

View File

@ -48,7 +48,7 @@ class AnalyticsPage extends StatelessWidget {
RemotePowerClampInfoService(HTTPService()), RemotePowerClampInfoService(HTTPService()),
), ),
), ),
BlocProvider( BlocProvider<RealtimeDeviceChangesBloc>(
create: (context) => RealtimeDeviceChangesBloc( create: (context) => RealtimeDeviceChangesBloc(
FirebaseRealtimeDeviceService(), FirebaseRealtimeDeviceService(),
), ),

View File

@ -20,7 +20,14 @@ class AnalyticsCommunitiesSidebar extends StatelessWidget {
() { () {
if (context.mounted) { if (context.mounted) {
FetchEnergyManagementDataHelper.fetchEnergyManagementData( FetchEnergyManagementDataHelper.fetchEnergyManagementData(
context); context,
);
FetchEnergyManagementDataHelper.loadRealtimeDeviceChanges(
context,
);
FetchEnergyManagementDataHelper.loadPowerClampInfo(
context,
);
} }
}, },
); );

View File

@ -4,6 +4,7 @@ import 'package:flutter_svg/svg.dart';
import 'package:intl/intl.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/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/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/color_manager.dart';
import 'package:syncrow_web/utils/constants/assets.dart'; import 'package:syncrow_web/utils/constants/assets.dart';
@ -69,12 +70,16 @@ class _AnalyticsDateFilterButtonState extends State<AnalyticsDateFilterButton> {
onPressed: () { onPressed: () {
showDialog( showDialog(
context: context, context: context,
builder: (context) => MonthPickerWidget( builder: (_) => MonthPickerWidget(
selectedDate: selectedDate, selectedDate: selectedDate,
onDateSelected: (value) { onDateSelected: (value) {
_analyticsDatePickerBloc.add( _analyticsDatePickerBloc.add(
UpdateAnalyticsDatePickerEvent(value), UpdateAnalyticsDatePickerEvent(value),
); );
FetchEnergyManagementDataHelper.fetchEnergyManagementData(
context,
selectedDate: value,
);
}, },
), ),
); );

View File

@ -13,7 +13,10 @@ import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart';
abstract final class FetchEnergyManagementDataHelper { abstract final class FetchEnergyManagementDataHelper {
const FetchEnergyManagementDataHelper._(); const FetchEnergyManagementDataHelper._();
static void fetchEnergyManagementData(BuildContext context) { static void fetchEnergyManagementData(
BuildContext context, {
DateTime? selectedDate,
}) {
final (selectedCommunities, selectedSpaces) = final (selectedCommunities, selectedSpaces) =
_getSelectedCommunitiesAndSpaces(context); _getSelectedCommunitiesAndSpaces(context);
@ -24,9 +27,7 @@ abstract final class FetchEnergyManagementDataHelper {
loadTotalEnergyConsumption(context); loadTotalEnergyConsumption(context);
loadEnergyConsumptionByPhases(context); loadEnergyConsumptionByPhases(context);
loadPowerClampInfo(context);
loadEnergyConsumptionPerDevice(context); loadEnergyConsumptionPerDevice(context);
loadRealtimeDeviceChanges(context);
return; return;
} }
@ -39,19 +40,29 @@ abstract final class FetchEnergyManagementDataHelper {
return (selectedCommunities, selectedSpaces); return (selectedCommunities, selectedSpaces);
} }
static void loadEnergyConsumptionByPhases(BuildContext context) { static void loadEnergyConsumptionByPhases(
const param = GetEnergyConsumptionByPhasesParam(); BuildContext context, {
DateTime? selectedDate,
}) {
final param = GetEnergyConsumptionByPhasesParam(
startDate: selectedDate,
spaceId: '',
);
context.read<EnergyConsumptionByPhasesBloc>().add( context.read<EnergyConsumptionByPhasesBloc>().add(
const LoadEnergyConsumptionByPhasesEvent(param: param), LoadEnergyConsumptionByPhasesEvent(param: param),
); );
} }
static void loadTotalEnergyConsumption(BuildContext context) { static void loadTotalEnergyConsumption(
BuildContext context, {
DateTime? selectedDate,
}) {
final (selectedCommunities, selectedSpaces) = final (selectedCommunities, selectedSpaces) =
_getSelectedCommunitiesAndSpaces(context); _getSelectedCommunitiesAndSpaces(context);
final param = GetTotalEnergyConsumptionParam( final param = GetTotalEnergyConsumptionParam(
spaceId: selectedCommunities.firstOrNull, spaceId: selectedCommunities.firstOrNull,
startDate: selectedDate,
); );
context.read<TotalEnergyConsumptionBloc>().add( context.read<TotalEnergyConsumptionBloc>().add(
TotalEnergyConsumptionLoadEvent(param: param), TotalEnergyConsumptionLoadEvent(param: param),