Files
flux/lib/features/tasks/blocs/task_form_state.dart
Mark M2 Macbook 4efc3ce182
All checks were successful
Build and Release FLUX (Multi-Platform) / build-android (push) Successful in 2m11s
Build and Release FLUX (Multi-Platform) / build-web (push) Successful in 1m1s
Build and Release FLUX (Multi-Platform) / build-windows (push) Successful in 8m5s
mmmh
2026-06-04 12:34:38 +02:00

78 lines
2.0 KiB
Dart

part of 'task_form_cubit.dart';
enum TaskFormStatus { initial, loading, submitting, success, failure }
class TaskFormState extends Equatable {
final String? id;
final TaskFormStatus status;
final String title;
final String description;
final DateTime? dueDate;
final bool isGlobal;
final List<String> selectedStaffIds;
final List<TaskReminderConfig> reminders;
final Map<String, List<StaffMemberModel>> groupedAvailableStaff;
final String? errorMessage;
final TaskStatus taskStatus;
const TaskFormState({
this.id,
this.status = TaskFormStatus.initial,
this.title = '',
this.description = '',
this.dueDate,
this.isGlobal = false,
this.selectedStaffIds = const [],
this.reminders = const [],
this.groupedAvailableStaff = const {},
this.errorMessage,
this.taskStatus = TaskStatus.open,
});
bool get isFormValid => title.trim().isNotEmpty;
TaskFormState copyWith({
String? id,
TaskFormStatus? status,
String? title,
String? description,
DateTime? dueDate,
bool? isGlobal,
List<String>? selectedStaffIds,
List<TaskReminderConfig>? reminders,
Map<String, List<StaffMemberModel>>? groupedAvailableStaff,
String? errorMessage,
TaskStatus? taskStatus,
}) {
return TaskFormState(
id: id ?? this.id,
status: status ?? this.status,
title: title ?? this.title,
description: description ?? this.description,
dueDate: dueDate ?? this.dueDate,
isGlobal: isGlobal ?? this.isGlobal,
selectedStaffIds: selectedStaffIds ?? this.selectedStaffIds,
reminders: reminders ?? this.reminders,
groupedAvailableStaff:
groupedAvailableStaff ?? this.groupedAvailableStaff,
errorMessage: errorMessage,
taskStatus: taskStatus ?? this.taskStatus,
);
}
@override
List<Object?> get props => [
id,
status,
title,
description,
dueDate,
isGlobal,
selectedStaffIds,
reminders,
groupedAvailableStaff,
errorMessage,
taskStatus,
];
}