D1APP-38 radar search bug fixed

This commit is contained in:
MohammadTaha Basiri 2022-01-07 13:12:46 +03:30
parent e75d750007
commit 6928cb697e
2 changed files with 13 additions and 13 deletions

View File

@ -125,14 +125,15 @@ class _RadarState extends State<Radar> {
}
void _onChanged(String value) {
context.read<RadarState>().resetFilters();
final state = context.read<RadarState>();
state.resetFilters(shoudUpdate: false);
if (value.length < 4 && value.isNotEmpty) return;
_timer?.cancel();
_timer = Timer(const Duration(seconds: 2), () {
context.read<RadarState>().getRadarOverviews(
page: 1,
search: value,
);
state.getRadarOverviews(
page: 1,
search: value,
);
});
}

View File

@ -8,18 +8,20 @@ import 'package:didvan/services/network/request_helper.dart';
class RadarState extends CoreProvier {
bool isFiltering = false;
String? _lastSearch;
String? lastSearch;
String? startDate;
String? endDate;
final List<RadarCategory> selectedCats = [];
final List<RadarOverview> radars = [];
void resetFilters() {
void resetFilters({bool shoudUpdate = true}) {
startDate = null;
endDate = null;
selectedCats.clear();
getRadarOverviews(page: 1);
if (shoudUpdate) {
getRadarOverviews(page: 1);
}
}
Future<void> getRadarOverviews({
@ -28,17 +30,14 @@ class RadarState extends CoreProvier {
bool filter = false,
}) async {
if (search != null && search.isNotEmpty) {
if (_lastSearch == search && !filter) {
if (lastSearch == search && !filter) {
return;
}
isFiltering = true;
_lastSearch = search;
lastSearch = search;
} else {
isFiltering = false;
}
if (filter) {
isFiltering = true;
}
appState = AppState.busy;
final RequestService service = RequestService(
RequestHelper.getRadarOverviews(