46 lines
1.3 KiB
Dart
46 lines
1.3 KiB
Dart
import '../../../../model/tour.dart';
|
|
|
|
abstract class TourState {}
|
|
|
|
class TourInitial extends TourState {}
|
|
|
|
class TourLoading extends TourState {}
|
|
|
|
class TourLoadingFailed extends TourState {}
|
|
|
|
class TourLoaded extends TourState {
|
|
Tour tour;
|
|
Map<String, double>? distances;
|
|
List<Payment> paymentOptions;
|
|
Map<String, List<String>> sortingInformation;
|
|
|
|
/// Number of scan-related server requests currently in flight. Drives the
|
|
/// inline indicator on the scanner widget. Using a counter (not bool) lets
|
|
/// rapid-fire scans coexist without one prematurely clearing the indicator.
|
|
int pendingScanRequests;
|
|
|
|
TourLoaded({
|
|
required this.tour,
|
|
this.distances,
|
|
required this.paymentOptions,
|
|
required this.sortingInformation,
|
|
this.pendingScanRequests = 0,
|
|
});
|
|
|
|
TourLoaded copyWith({
|
|
Tour? tour,
|
|
Map<String, double>? distances,
|
|
List<Payment>? paymentOptions,
|
|
Map<String, List<String>>? sortingInformation,
|
|
int? pendingScanRequests,
|
|
}) {
|
|
return TourLoaded(
|
|
tour: tour ?? this.tour,
|
|
distances: distances ?? this.distances,
|
|
paymentOptions: paymentOptions ?? this.paymentOptions,
|
|
sortingInformation: sortingInformation ?? this.sortingInformation,
|
|
pendingScanRequests: pendingScanRequests ?? this.pendingScanRequests,
|
|
);
|
|
}
|
|
}
|