feat: updated container management system with core models, providers, and UI pages

This commit is contained in:
ElPoyo
2026-05-26 21:34:35 +02:00
parent fb740d97a3
commit 64a9fe382a
13 changed files with 1363 additions and 797 deletions
+11 -11
View File
@@ -29,6 +29,7 @@ class EquipmentProvider extends ChangeNotifier {
String _searchQuery = '';
bool _isLoading = false;
bool _isInitialized = false;
bool _isFullListLoaded = false;
// Mode de chargement (pagination vs full)
bool _usePagination = false;
@@ -48,6 +49,7 @@ class EquipmentProvider extends ChangeNotifier {
bool get isLoadingMore => _isLoadingMore;
bool get hasMore => _hasMore;
bool get isInitialized => _isInitialized;
bool get isFullListLoaded => _isFullListLoaded;
bool get usePagination => _usePagination;
/// S'assure que les équipements sont chargés (charge si nécessaire)
@@ -58,16 +60,8 @@ class EquipmentProvider extends ChangeNotifier {
return;
}
// Si initialisé MAIS _equipment est vide, forcer le rechargement
if (_isInitialized && _equipment.isEmpty) {
print('[EquipmentProvider] Equipment marked as initialized but _equipment is empty! Force reloading...');
_isInitialized = false; // Réinitialiser le flag
await loadEquipments();
return;
}
// Si déjà initialisé avec des données, ne rien faire
if (_isInitialized) {
// Si déjà initialisé avec le cache complet des données, ne rien faire
if (_isFullListLoaded) {
print('[EquipmentProvider] Equipment already loaded (${_equipment.length} items), skipping...');
return;
}
@@ -120,7 +114,7 @@ class EquipmentProvider extends ChangeNotifier {
// Extraire les modèles et marques uniques
_extractUniqueValues();
_isFullListLoaded = true;
_isInitialized = true;
_isLoading = false;
notifyListeners();
@@ -436,6 +430,8 @@ class EquipmentProvider extends ChangeNotifier {
Future<void> deleteEquipment(String equipmentId, {bool forceDelete = false}) async {
try {
await _dataService.deleteEquipment(equipmentId, forceDelete: forceDelete);
_isFullListLoaded = false;
_equipment.clear();
if (_usePagination) {
await reload();
} else {
@@ -451,6 +447,8 @@ class EquipmentProvider extends ChangeNotifier {
Future<void> addEquipment(EquipmentModel equipment) async {
try {
await _dataService.createEquipment(equipment.id, equipment.toMap());
_isFullListLoaded = false;
_equipment.clear();
if (_usePagination) {
await reload();
} else {
@@ -466,6 +464,8 @@ class EquipmentProvider extends ChangeNotifier {
Future<void> updateEquipment(EquipmentModel equipment) async {
try {
await _dataService.updateEquipment(equipment.id, equipment.toMap());
_isFullListLoaded = false;
_equipment.clear();
if (_usePagination) {
await reload();
} else {