From ad15d0e13804975e058fc6bbada9d900cb281d14 Mon Sep 17 00:00:00 2001 From: Faris Armoush Date: Thu, 15 May 2025 10:08:41 +0300 Subject: [PATCH] loads occupancy chart on date changed. --- .../helpers/fetch_occupancy_data_helper.dart | 33 +++++++++++++------ .../widgets/occupancy_chart_box.dart | 16 ++++++--- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/lib/pages/analytics/modules/occupancy/helpers/fetch_occupancy_data_helper.dart b/lib/pages/analytics/modules/occupancy/helpers/fetch_occupancy_data_helper.dart index 476ef9c6..5882ada5 100644 --- a/lib/pages/analytics/modules/occupancy/helpers/fetch_occupancy_data_helper.dart +++ b/lib/pages/analytics/modules/occupancy/helpers/fetch_occupancy_data_helper.dart @@ -28,16 +28,12 @@ abstract final class FetchOccupancyDataHelper { loadAnalyticsDevices(context, communityUuid: communityId, spaceUuid: spaceId); final selectedDevice = context.read().state.selectedDevice; - context.read().add( - LoadOccupancyEvent( - GetOccupancyParam( - monthDate: - '${datePickerState.monthlyDate.year}-${datePickerState.monthlyDate.month}', - spaceUuid: spaceId, - communityUuid: communityId, - ), - ), - ); + loadOccupancyChartData( + context, + communityUuid: communityId, + spaceUuid: spaceId, + date: datePickerState.monthlyDate, + ); loadHeatMapData(context, spaceUuid: spaceId, year: datePickerState.yearlyDate); 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().add( + LoadOccupancyEvent( + GetOccupancyParam( + monthDate: '${date.year}-${date.month}', + spaceUuid: spaceUuid, + communityUuid: communityUuid, + ), + ), + ); + } + static void loadAnalyticsDevices( BuildContext context, { required String communityUuid, diff --git a/lib/pages/analytics/modules/occupancy/widgets/occupancy_chart_box.dart b/lib/pages/analytics/modules/occupancy/widgets/occupancy_chart_box.dart index 464a05dd..8c41da48 100644 --- a/lib/pages/analytics/modules/occupancy/widgets/occupancy_chart_box.dart +++ b/lib/pages/analytics/modules/occupancy/widgets/occupancy_chart_box.dart @@ -47,11 +47,17 @@ class OccupancyChartBox extends StatelessWidget { context.read().add( UpdateAnalyticsDatePickerEvent(montlyDate: value), ); - FetchOccupancyDataHelper.loadOccupancyData( - context, - communityId: spaceTreeState.selectedCommunities.firstOrNull ?? '', - spaceId: spaceTreeState.selectedSpaces.firstOrNull ?? '', - ); + if (spaceTreeState.selectedSpaces.isNotEmpty) { + FetchOccupancyDataHelper.loadOccupancyChartData( + context, + communityUuid: + spaceTreeState.selectedCommunities.firstOrNull ?? + '', + spaceUuid: + spaceTreeState.selectedSpaces.firstOrNull ?? '', + date: value, + ); + } }, selectedDate: context .watch()