f
This commit is contained in:
@@ -10,24 +10,24 @@ class TicketListCubit extends Cubit<TicketListState> {
|
||||
static const int _limit = 20; // Paginazione a blocchi di 20
|
||||
|
||||
TicketListCubit() : super(const TicketListState()) {
|
||||
fetchTickets(reset: true);
|
||||
loadTickets(refresh: true);
|
||||
}
|
||||
|
||||
/// Recupera i ticket. Se reset = true, svuota la lista e riparte da offset 0.
|
||||
Future<void> fetchTickets({bool reset = false}) async {
|
||||
Future<void> loadTickets({bool refresh = false}) async {
|
||||
if (state.isLoading) return;
|
||||
if (!reset && state.hasReachedMax) return;
|
||||
if (!refresh && state.hasReachedMax) return;
|
||||
|
||||
emit(
|
||||
state.copyWith(
|
||||
isLoading: true,
|
||||
errorMessage: '',
|
||||
tickets: reset ? [] : state.tickets,
|
||||
tickets: refresh ? [] : state.tickets,
|
||||
),
|
||||
);
|
||||
|
||||
try {
|
||||
final currentOffset = reset ? 0 : state.tickets.length;
|
||||
final currentOffset = refresh ? 0 : state.tickets.length;
|
||||
|
||||
final newTickets = await _repository.fetchStoreTickets(
|
||||
offset: currentOffset,
|
||||
@@ -41,7 +41,7 @@ class TicketListCubit extends Cubit<TicketListState> {
|
||||
|
||||
emit(
|
||||
state.copyWith(
|
||||
tickets: reset ? newTickets : [...state.tickets, ...newTickets],
|
||||
tickets: refresh ? newTickets : [...state.tickets, ...newTickets],
|
||||
isLoading: false,
|
||||
hasReachedMax: newTickets.length < _limit,
|
||||
),
|
||||
@@ -74,6 +74,24 @@ class TicketListCubit extends Cubit<TicketListState> {
|
||||
clearStatus: clearStatus,
|
||||
),
|
||||
);
|
||||
fetchTickets(reset: true); // Applica i filtri e ricarica
|
||||
loadTickets(refresh: true); // Applica i filtri e ricarica
|
||||
}
|
||||
|
||||
void toggleTicketSelection(String ticketId) {
|
||||
final currentSelection = Set<String>.from(state.selectedTicketIds);
|
||||
if (currentSelection.contains(ticketId)) {
|
||||
currentSelection.remove(ticketId);
|
||||
} else {
|
||||
currentSelection.add(ticketId);
|
||||
}
|
||||
emit(state.copyWith(selectedTicketIds: currentSelection));
|
||||
}
|
||||
|
||||
void clearSelection() {
|
||||
emit(state.copyWith(selectedTicketIds: {}));
|
||||
}
|
||||
|
||||
void selectAll(List<String> ticketIds) {
|
||||
emit(state.copyWith(selectedTicketIds: ticketIds.toSet()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user