feat: add current events section for equipment with dynamic status calculation
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:em2rp/models/equipment_model.dart';
|
||||
import 'package:em2rp/services/equipment_service.dart';
|
||||
import 'package:em2rp/services/equipment_status_calculator.dart';
|
||||
|
||||
class EquipmentProvider extends ChangeNotifier {
|
||||
final EquipmentService _service = EquipmentService();
|
||||
final EquipmentStatusCalculator _statusCalculator = EquipmentStatusCalculator();
|
||||
|
||||
List<EquipmentModel> _equipment = [];
|
||||
List<String> _models = [];
|
||||
@@ -179,6 +181,16 @@ class EquipmentProvider extends ChangeNotifier {
|
||||
}
|
||||
}
|
||||
|
||||
/// Calculer le statut réel d'un équipement (asynchrone)
|
||||
Future<EquipmentStatus> calculateRealStatus(EquipmentModel equipment) async {
|
||||
return await _statusCalculator.calculateRealStatus(equipment);
|
||||
}
|
||||
|
||||
/// Invalider le cache du calculateur de statut
|
||||
void invalidateStatusCache() {
|
||||
_statusCalculator.invalidateCache();
|
||||
}
|
||||
|
||||
// === FILTRES ===
|
||||
|
||||
/// Définir la catégorie sélectionnée
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:em2rp/services/equipment_status_calculator.dart';
|
||||
import '../models/event_model.dart';
|
||||
|
||||
class EventProvider with ChangeNotifier {
|
||||
@@ -120,6 +121,10 @@ class EventProvider with ChangeNotifier {
|
||||
try {
|
||||
await _firestore.collection('events').doc(eventId).delete();
|
||||
_events.removeWhere((event) => event.id == eventId);
|
||||
|
||||
// Invalider le cache des statuts d'équipement
|
||||
EquipmentStatusCalculator.invalidateGlobalCache();
|
||||
|
||||
notifyListeners();
|
||||
} catch (e) {
|
||||
print('Error deleting event: $e');
|
||||
|
||||
Reference in New Issue
Block a user