Files
flux/lib/features/tickets/blocs/ticket_shipping_state.dart

61 lines
1.7 KiB
Dart
Raw Normal View History

2026-05-15 19:18:03 +02:00
part of 'ticket_shipping_cubit.dart';
enum TicketShippingStatus { initial, loading, success, failure }
class TicketShippingState extends Equatable {
final TicketShippingStatus status;
2026-05-16 19:34:33 +02:00
final ShipmentDocumentModel document;
final List<TicketModel> tickets;
final Uint8List? pdfBytes; // Per tenere il PDF in memoria dopo la generazione
2026-05-15 19:18:03 +02:00
// Dati di supporto per la UI
final List<ProviderModel> availableProviders;
final List<ProviderLocationModel> availableLocations;
final bool isAutoNumber;
final String? errorMessage;
const TicketShippingState({
this.status = TicketShippingStatus.initial,
required this.document,
2026-05-16 19:34:33 +02:00
required this.tickets,
2026-05-15 19:18:03 +02:00
this.availableProviders = const [],
this.availableLocations = const [],
2026-05-16 11:51:26 +02:00
this.isAutoNumber = true,
2026-05-15 19:18:03 +02:00
this.errorMessage,
2026-05-16 19:34:33 +02:00
this.pdfBytes,
2026-05-15 19:18:03 +02:00
});
TicketShippingState copyWith({
TicketShippingStatus? status,
ShipmentDocumentModel? document,
List<ProviderModel>? availableProviders,
List<ProviderLocationModel>? availableLocations,
bool? isAutoNumber,
String? errorMessage,
2026-05-16 19:34:33 +02:00
Uint8List? pdfBytes,
2026-05-15 19:18:03 +02:00
}) {
return TicketShippingState(
status: status ?? this.status,
document: document ?? this.document,
2026-05-16 19:34:33 +02:00
tickets: tickets,
2026-05-15 19:18:03 +02:00
availableProviders: availableProviders ?? this.availableProviders,
availableLocations: availableLocations ?? this.availableLocations,
isAutoNumber: isAutoNumber ?? this.isAutoNumber,
errorMessage: errorMessage ?? this.errorMessage,
2026-05-16 19:34:33 +02:00
pdfBytes: pdfBytes ?? this.pdfBytes,
2026-05-15 19:18:03 +02:00
);
}
@override
List<Object?> get props => [
status,
document,
2026-05-16 19:34:33 +02:00
tickets,
2026-05-15 19:18:03 +02:00
availableProviders,
availableLocations,
isAutoNumber,
errorMessage,
2026-05-16 19:34:33 +02:00
pdfBytes,
2026-05-15 19:18:03 +02:00
];
}