loads occupancy chart on date changed.

This commit is contained in:
Faris Armoush
2025-05-15 10:08:41 +03:00
parent e6d272a60d
commit ad15d0e138
2 changed files with 34 additions and 15 deletions

View File

@ -28,16 +28,12 @@ abstract final class FetchOccupancyDataHelper {
loadAnalyticsDevices(context, communityUuid: communityId, spaceUuid: spaceId); loadAnalyticsDevices(context, communityUuid: communityId, spaceUuid: spaceId);
final selectedDevice = context.read<AnalyticsDevicesBloc>().state.selectedDevice; final selectedDevice = context.read<AnalyticsDevicesBloc>().state.selectedDevice;
context.read<OccupancyBloc>().add( loadOccupancyChartData(
LoadOccupancyEvent( context,
GetOccupancyParam( communityUuid: communityId,
monthDate: spaceUuid: spaceId,
'${datePickerState.monthlyDate.year}-${datePickerState.monthlyDate.month}', date: datePickerState.monthlyDate,
spaceUuid: spaceId, );
communityUuid: communityId,
),
),
);
loadHeatMapData(context, spaceUuid: spaceId, year: datePickerState.yearlyDate); loadHeatMapData(context, spaceUuid: spaceId, year: datePickerState.yearlyDate);
if (selectedDevice case final AnalyticsDevice device) { if (selectedDevice case final AnalyticsDevice device) {
@ -61,6 +57,23 @@ abstract final class FetchOccupancyDataHelper {
); );
} }
static void loadOccupancyChartData(
BuildContext context, {
required String communityUuid,
required String spaceUuid,
required DateTime date,
}) {
context.read<OccupancyBloc>().add(
LoadOccupancyEvent(
GetOccupancyParam(
monthDate: '${date.year}-${date.month}',
spaceUuid: spaceUuid,
communityUuid: communityUuid,
),
),
);
}
static void loadAnalyticsDevices( static void loadAnalyticsDevices(
BuildContext context, { BuildContext context, {
required String communityUuid, required String communityUuid,

View File

@ -47,11 +47,17 @@ class OccupancyChartBox extends StatelessWidget {
context.read<AnalyticsDatePickerBloc>().add( context.read<AnalyticsDatePickerBloc>().add(
UpdateAnalyticsDatePickerEvent(montlyDate: value), UpdateAnalyticsDatePickerEvent(montlyDate: value),
); );
FetchOccupancyDataHelper.loadOccupancyData( if (spaceTreeState.selectedSpaces.isNotEmpty) {
context, FetchOccupancyDataHelper.loadOccupancyChartData(
communityId: spaceTreeState.selectedCommunities.firstOrNull ?? '', context,
spaceId: spaceTreeState.selectedSpaces.firstOrNull ?? '', communityUuid:
); spaceTreeState.selectedCommunities.firstOrNull ??
'',
spaceUuid:
spaceTreeState.selectedSpaces.firstOrNull ?? '',
date: value,
);
}
}, },
selectedDate: context selectedDate: context
.watch<AnalyticsDatePickerBloc>() .watch<AnalyticsDatePickerBloc>()