perf: ajout d'un Debouncer 400ms sur toutes les barres de recherche

This commit is contained in:
ElPoyo
2026-05-26 13:41:21 +02:00
parent 0bbc77ffc8
commit 32f1718a8c
4 changed files with 103 additions and 62 deletions
+4 -1
View File
@@ -9,6 +9,7 @@ import 'package:em2rp/utils/debug_log.dart';
import 'package:em2rp/utils/id_generator.dart';
import 'package:em2rp/services/data_service.dart';
import 'package:em2rp/services/api_service.dart';
import 'package:em2rp/utils/debouncer.dart';
class ContainerFormPage extends StatefulWidget {
final ContainerModel? container;
@@ -658,6 +659,7 @@ class _EquipmentSelectorDialogState extends State<_EquipmentSelectorDialog> {
EquipmentCategory? _filterCategory;
String _searchQuery = '';
late Set<String> _tempSelectedIds;
final _searchDebouncer = Debouncer();
final List<EquipmentModel> _paginatedEquipments = [];
bool _isLoadingMore = false;
@@ -677,6 +679,7 @@ class _EquipmentSelectorDialogState extends State<_EquipmentSelectorDialog> {
void dispose() {
_searchController.dispose();
_scrollController.dispose();
_searchDebouncer.dispose();
super.dispose();
}
@@ -790,7 +793,7 @@ class _EquipmentSelectorDialogState extends State<_EquipmentSelectorDialog> {
setState(() {
_searchQuery = value;
});
_reloadData();
_searchDebouncer(_reloadData);
},
),
const SizedBox(height: 16),