From 06fa41eb45b08eaa9c2215503a7fb9b520e58cee Mon Sep 17 00:00:00 2001 From: Sara <sarasdj@stud.ntnu.no> Date: Tue, 4 Jun 2024 17:49:45 +0200 Subject: [PATCH] fix: start of fixing search bug --- app/lib/pages/default_page.dart | 13 ++++++------- app/lib/server_requests/init_state.dart | 8 ++++---- app/lib/widgets/choropleth_map.dart | 6 ++++-- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/app/lib/pages/default_page.dart b/app/lib/pages/default_page.dart index 98025185..62583d7c 100644 --- a/app/lib/pages/default_page.dart +++ b/app/lib/pages/default_page.dart @@ -62,15 +62,14 @@ class _DefaultPageState extends State<DefaultPage> { context: context, delegate: CustomSearchDelegate((String result) { // Make request only if the selected lake is different from the current selected lake - if (result != selectedLake) { - setState(() { - //selectedLake = result; - initialiseState(false); - }); + //if (result != selectedLake) { Future.microtask(() async { // Reinitialise state with new lake data - selectedLake = result; + await initialiseState(false); + setState(() { + selectedLake = result; + }); }); - } + //} }), ); }, diff --git a/app/lib/server_requests/init_state.dart b/app/lib/server_requests/init_state.dart index 2bc74979..e53957c1 100644 --- a/app/lib/server_requests/init_state.dart +++ b/app/lib/server_requests/init_state.dart @@ -26,7 +26,7 @@ Future<void> initialiseState(bool initNewLake) async { List<Measurement> measurements = fetchResult.measurements; selectedMeasurements = measurements; - // Extract all _subdivisions from list of measurements + // Extract all subdivisions from list of measurements for (Measurement measurement in measurements) { for (SubDiv subdivision in measurement.subDivs) { selectedSubdivisions.add(subdivision); @@ -35,10 +35,9 @@ Future<void> initialiseState(bool initNewLake) async { // Sort the list of SubDiv objects based on each subdivision id selectedSubdivisions.sort((a, b) => a.sub_div_id.compareTo(b.sub_div_id)); - - print("Loaded from files: Meas.len: ${selectedMeasurements.length}, rel.len: ${selectedRelation.length}"); - } else { // Try to fetch measurement data from server + selectedSubdivisions.clear(); // Reset subdivision list + markerListFuture = fetchMeasurements().then((fetchResult) { List<Measurement> measurements = fetchResult.measurements; selectedMeasurements = measurements; @@ -47,6 +46,7 @@ Future<void> initialiseState(bool initNewLake) async { for (Measurement measurement in measurements) { for (SubDiv subdivision in measurement.subDivs) { selectedSubdivisions.add(subdivision); + print("Added subdivision"); } } diff --git a/app/lib/widgets/choropleth_map.dart b/app/lib/widgets/choropleth_map.dart index 2cf8053e..f0b62d2d 100644 --- a/app/lib/widgets/choropleth_map.dart +++ b/app/lib/widgets/choropleth_map.dart @@ -33,13 +33,15 @@ class ChoroplethMapState extends State<ChoroplethMap> { late final MapZoomPanBehavior _zoomPanBehavior = MapZoomPanBehavior(); void updateDataSource() { - _initDataSource(); + setState(() { + selectedIndex = -1; + _initDataSource(); + }); } @override void initState() { super.initState(); - selectedIndex = 0; _initDataSource(); } -- GitLab