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()),
),
),
BlocProvider(
BlocProvider<RealtimeDeviceChangesBloc>(
create: (context) => RealtimeDeviceChangesBloc(
FirebaseRealtimeDeviceService(),
),

View File

@ -20,7 +20,14 @@ class AnalyticsCommunitiesSidebar extends StatelessWidget {
() {
if (context.mounted) {
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: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<AnalyticsDateFilterButton> {
onPressed: () {
showDialog(
context: context,
builder: (context) => MonthPickerWidget(
builder: (_) => MonthPickerWidget(
selectedDate: selectedDate,
onDateSelected: (value) {
_analyticsDatePickerBloc.add(
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 {
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<EnergyConsumptionByPhasesBloc>().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<TotalEnergyConsumptionBloc>().add(
TotalEnergyConsumptionLoadEvent(param: param),