From 94e4fbd5db2ef484a44c969b050cd953bdc795f3 Mon Sep 17 00:00:00 2001 From: Faris Armoush Date: Wed, 21 May 2025 16:08:48 +0300 Subject: [PATCH] Apply correct business logic in `OccupancyDataLoadingStrategy`. --- .../occupancy_data_loading_strategy.dart | 43 ++++--------------- 1 file changed, 8 insertions(+), 35 deletions(-) diff --git a/lib/pages/analytics/modules/analytics/strategies/occupancy_data_loading_strategy.dart b/lib/pages/analytics/modules/analytics/strategies/occupancy_data_loading_strategy.dart index 5a9382a4..e22bbb9b 100644 --- a/lib/pages/analytics/modules/analytics/strategies/occupancy_data_loading_strategy.dart +++ b/lib/pages/analytics/modules/analytics/strategies/occupancy_data_loading_strategy.dart @@ -14,23 +14,7 @@ class OccupancyDataLoadingStrategy implements AnalyticsDataLoadingStrategy { CommunityModel community, List spaces, ) { - context.read().add( - OnCommunitySelected( - community.uuid, - spaces.isNotEmpty ? [spaces.first] : [], - ), - ); - - final spaceTreeState = context.read().state; - if (spaceTreeState.selectedCommunities.contains(community.uuid)) { - clearData(context); - return; - } - FetchOccupancyDataHelper.loadOccupancyData( - context, - communityId: community.uuid, - spaceId: spaces.isNotEmpty ? spaces.first.uuid ?? '' : '', - ); + // Do Nothing } @override @@ -40,26 +24,17 @@ class OccupancyDataLoadingStrategy implements AnalyticsDataLoadingStrategy { SpaceModel space, ) { final spaceTreeBloc = context.read(); - final selectedSpacesIds = spaceTreeBloc.state.selectedSpaces; - final isSpaceSelected = selectedSpacesIds.contains(space.uuid); + final isSpaceSelected = spaceTreeBloc.state.selectedSpaces.contains(space.uuid); - if (selectedSpacesIds.isEmpty) { - spaceTreeBloc.add(OnCommunitySelected(community.uuid, [space])); - } else if (isSpaceSelected) { - spaceTreeBloc.add(const SpaceTreeClearSelectionEvent()); - } else { - spaceTreeBloc - ..add(const SpaceTreeClearSelectionEvent()) - ..add(OnSpaceSelected(community, space.uuid ?? '', [])); - } - - final spaceTreeState = context.read().state; - if (spaceTreeState.selectedCommunities.contains(community.uuid) || - spaceTreeState.selectedSpaces.contains(space.uuid)) { + if (isSpaceSelected) { clearData(context); return; } + spaceTreeBloc + ..add(const SpaceTreeClearSelectionEvent()) + ..add(OnSpaceSelected(community, space.uuid ?? '', [])); + FetchOccupancyDataHelper.loadOccupancyData( context, communityId: community.uuid, @@ -73,9 +48,7 @@ class OccupancyDataLoadingStrategy implements AnalyticsDataLoadingStrategy { CommunityModel community, SpaceModel child, ) { - if (child.children.isNotEmpty) { - return onSpaceSelected(context, community, child); - } + onSpaceSelected(context, community, child); } @override