D1APP-38 radar search bug fixed
This commit is contained in:
parent
e75d750007
commit
6928cb697e
|
|
@ -125,14 +125,15 @@ class _RadarState extends State<Radar> {
|
||||||
}
|
}
|
||||||
|
|
||||||
void _onChanged(String value) {
|
void _onChanged(String value) {
|
||||||
context.read<RadarState>().resetFilters();
|
final state = context.read<RadarState>();
|
||||||
|
state.resetFilters(shoudUpdate: false);
|
||||||
if (value.length < 4 && value.isNotEmpty) return;
|
if (value.length < 4 && value.isNotEmpty) return;
|
||||||
_timer?.cancel();
|
_timer?.cancel();
|
||||||
_timer = Timer(const Duration(seconds: 2), () {
|
_timer = Timer(const Duration(seconds: 2), () {
|
||||||
context.read<RadarState>().getRadarOverviews(
|
state.getRadarOverviews(
|
||||||
page: 1,
|
page: 1,
|
||||||
search: value,
|
search: value,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,18 +8,20 @@ import 'package:didvan/services/network/request_helper.dart';
|
||||||
|
|
||||||
class RadarState extends CoreProvier {
|
class RadarState extends CoreProvier {
|
||||||
bool isFiltering = false;
|
bool isFiltering = false;
|
||||||
String? _lastSearch;
|
String? lastSearch;
|
||||||
String? startDate;
|
String? startDate;
|
||||||
String? endDate;
|
String? endDate;
|
||||||
final List<RadarCategory> selectedCats = [];
|
final List<RadarCategory> selectedCats = [];
|
||||||
|
|
||||||
final List<RadarOverview> radars = [];
|
final List<RadarOverview> radars = [];
|
||||||
|
|
||||||
void resetFilters() {
|
void resetFilters({bool shoudUpdate = true}) {
|
||||||
startDate = null;
|
startDate = null;
|
||||||
endDate = null;
|
endDate = null;
|
||||||
selectedCats.clear();
|
selectedCats.clear();
|
||||||
getRadarOverviews(page: 1);
|
if (shoudUpdate) {
|
||||||
|
getRadarOverviews(page: 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> getRadarOverviews({
|
Future<void> getRadarOverviews({
|
||||||
|
|
@ -28,17 +30,14 @@ class RadarState extends CoreProvier {
|
||||||
bool filter = false,
|
bool filter = false,
|
||||||
}) async {
|
}) async {
|
||||||
if (search != null && search.isNotEmpty) {
|
if (search != null && search.isNotEmpty) {
|
||||||
if (_lastSearch == search && !filter) {
|
if (lastSearch == search && !filter) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
isFiltering = true;
|
isFiltering = true;
|
||||||
_lastSearch = search;
|
lastSearch = search;
|
||||||
} else {
|
} else {
|
||||||
isFiltering = false;
|
isFiltering = false;
|
||||||
}
|
}
|
||||||
if (filter) {
|
|
||||||
isFiltering = true;
|
|
||||||
}
|
|
||||||
appState = AppState.busy;
|
appState = AppState.busy;
|
||||||
final RequestService service = RequestService(
|
final RequestService service = RequestService(
|
||||||
RequestHelper.getRadarOverviews(
|
RequestHelper.getRadarOverviews(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue