D1APP-38 radar search bug fixed
This commit is contained in:
parent
e75d750007
commit
6928cb697e
|
|
@ -125,11 +125,12 @@ 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(
|
||||
state.getRadarOverviews(
|
||||
page: 1,
|
||||
search: value,
|
||||
);
|
||||
|
|
|
|||
|
|
@ -8,19 +8,21 @@ 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();
|
||||
if (shoudUpdate) {
|
||||
getRadarOverviews(page: 1);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> getRadarOverviews({
|
||||
required int page,
|
||||
|
|
@ -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(
|
||||
|
|
|
|||
Loading…
Reference in New Issue