Clears data when needed.

This commit is contained in:
Faris Armoush
2025-05-12 10:02:56 +03:00
parent cd9941f544
commit ef29d78d70
3 changed files with 17 additions and 12 deletions

View File

@ -15,9 +15,6 @@ class AnalyticsCommunitiesSidebar extends StatelessWidget {
final strategy =
AnalyticsDataLoadingStrategyFactory.getStrategy(selectedTab);
// Clear data when tab changes
strategy.clearData(context);
return Expanded(
child: AnalyticsSpaceTreeView(
onSelectCommunity: (community, spaces) {

View File

@ -39,7 +39,9 @@ abstract final class FetchEnergyManagementDataHelper {
static void loadEnergyManagementData(BuildContext context) {
final (selectedCommunities, selectedSpaces) =
FetchEnergyManagementDataHelper.getSelectedCommunitiesAndSpaces(context);
if (selectedCommunities.isEmpty && selectedSpaces.isEmpty) return;
if (selectedCommunities.isEmpty && selectedSpaces.isEmpty) {
clearAllData(context);
}
FetchEnergyManagementDataHelper.fetchEnergyManagementData(context,
selectedDate: DateTime.now());

View File

@ -15,13 +15,7 @@ abstract final class FetchOccupancyDataHelper {
final (selectedCommunities, selectedSpaces) =
FetchEnergyManagementDataHelper.getSelectedCommunitiesAndSpaces(context);
if (selectedCommunities.isEmpty && selectedSpaces.isEmpty) {
context.read<OccupancyBloc>().add(
const ClearOccupancyEvent(),
);
context.read<OccupancyHeatMapBloc>().add(
const ClearOccupancyHeatMapEvent(),
);
return;
clearAllData(context);
}
final datePickerState = context.read<AnalyticsDatePickerBloc>().state;
@ -32,7 +26,7 @@ abstract final class FetchOccupancyDataHelper {
monthDate:
'${datePickerState.monthlyDate.year}-${datePickerState.monthlyDate.month}',
spaceUuid: selectedSpaces.firstOrNull,
communityUuid: selectedCommunities.first,
communityUuid: selectedCommunities.firstOrNull ?? '',
),
),
);
@ -54,4 +48,16 @@ abstract final class FetchOccupancyDataHelper {
const RealtimeDeviceChangesStarted('14fe6e7e-47af-4a07-ae0a-7c4a26ef8135'),
);
}
static void clearAllData(BuildContext context) {
context.read<OccupancyBloc>().add(
const ClearOccupancyEvent(),
);
context.read<OccupancyHeatMapBloc>().add(
const ClearOccupancyHeatMapEvent(),
);
context.read<RealtimeDeviceChangesBloc>().add(
const RealtimeDeviceChangesClosed(),
);
}
}