2026-05-04 15:36:42 +02:00
|
|
|
part of 'operations_cubit.dart';
|
2026-04-20 16:52:20 +02:00
|
|
|
|
2026-05-04 15:36:42 +02:00
|
|
|
enum OperationsStatus {
|
2026-04-26 10:15:34 +02:00
|
|
|
initial,
|
|
|
|
|
loading,
|
|
|
|
|
ready,
|
|
|
|
|
saving,
|
|
|
|
|
saved,
|
|
|
|
|
savedNoPop,
|
|
|
|
|
success,
|
|
|
|
|
failure,
|
|
|
|
|
}
|
2026-04-20 16:52:20 +02:00
|
|
|
|
2026-05-04 15:36:42 +02:00
|
|
|
class OperationsState extends Equatable {
|
|
|
|
|
final OperationsStatus status;
|
|
|
|
|
final List<OperationModel> allOperations;
|
|
|
|
|
final OperationModel? currentOperation; // La bozza che stiamo editando
|
2026-04-20 16:52:20 +02:00
|
|
|
final String? errorMessage;
|
|
|
|
|
final String query;
|
|
|
|
|
final DateTimeRange? dateRange;
|
|
|
|
|
final bool hasReachedMax;
|
2026-04-26 10:15:34 +02:00
|
|
|
final bool isSavingDraft;
|
2026-04-20 16:52:20 +02:00
|
|
|
|
2026-05-04 15:36:42 +02:00
|
|
|
const OperationsState({
|
2026-04-20 16:52:20 +02:00
|
|
|
required this.status,
|
2026-05-04 15:36:42 +02:00
|
|
|
this.allOperations = const [],
|
|
|
|
|
this.currentOperation,
|
2026-04-20 16:52:20 +02:00
|
|
|
this.errorMessage,
|
|
|
|
|
this.query = '',
|
|
|
|
|
this.dateRange,
|
|
|
|
|
this.hasReachedMax = false,
|
2026-04-26 10:15:34 +02:00
|
|
|
this.isSavingDraft = false,
|
2026-04-20 16:52:20 +02:00
|
|
|
});
|
|
|
|
|
|
2026-05-04 15:36:42 +02:00
|
|
|
OperationsState copyWith({
|
|
|
|
|
OperationsStatus? status,
|
|
|
|
|
List<OperationModel>? allOperations,
|
|
|
|
|
OperationModel? currentOperation,
|
2026-04-20 16:52:20 +02:00
|
|
|
String? errorMessage,
|
|
|
|
|
String? query,
|
|
|
|
|
DateTimeRange? dateRange,
|
|
|
|
|
bool? hasReachedMax,
|
2026-04-26 10:15:34 +02:00
|
|
|
bool? isSavingDraft,
|
2026-04-20 16:52:20 +02:00
|
|
|
}) {
|
2026-05-04 15:36:42 +02:00
|
|
|
return OperationsState(
|
2026-04-20 16:52:20 +02:00
|
|
|
status: status ?? this.status,
|
2026-05-04 15:36:42 +02:00
|
|
|
allOperations: allOperations ?? this.allOperations,
|
|
|
|
|
currentOperation: currentOperation ?? this.currentOperation,
|
2026-04-20 16:52:20 +02:00
|
|
|
errorMessage: errorMessage,
|
|
|
|
|
query: query ?? this.query,
|
|
|
|
|
dateRange: dateRange ?? this.dateRange,
|
|
|
|
|
hasReachedMax: hasReachedMax ?? this.hasReachedMax,
|
2026-04-26 10:15:34 +02:00
|
|
|
isSavingDraft: isSavingDraft ?? this.isSavingDraft,
|
2026-04-20 16:52:20 +02:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
List<Object?> get props => [
|
|
|
|
|
status,
|
2026-05-04 15:36:42 +02:00
|
|
|
allOperations,
|
|
|
|
|
currentOperation,
|
2026-04-20 16:52:20 +02:00
|
|
|
errorMessage,
|
|
|
|
|
query,
|
|
|
|
|
dateRange,
|
|
|
|
|
hasReachedMax,
|
2026-04-26 10:15:34 +02:00
|
|
|
isSavingDraft,
|
2026-04-20 16:52:20 +02:00
|
|
|
];
|
|
|
|
|
}
|