feat(diary) Added controllers and improved form build logic

This commit is contained in:
2024-02-14 14:56:16 +03:00
parent 2fdf3979da
commit 57a7f9bd91
4 changed files with 46 additions and 11 deletions

View File

@@ -41,14 +41,16 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
// Если текущее состояние уже загружено, обновляем его
var currentState = state as DiaryEditLoadedState;
// Обновляем значения контроллеров только если они уже были созданы
print(currentState.wakeupController);
emit((currentState).copyWith(
wakeupExpanded: currentState.wakeupExpanded,
moodExpanded: currentState.moodExpanded,
wakeupController: currentState.wakeupController,
retireController: currentState.retireController,
commentController: currentState.commentController,
));
wakeupExpanded: currentState.wakeupExpanded,
moodExpanded: currentState.moodExpanded,
wakeupController: currentState.wakeupController,
retireController: currentState.retireController,
commentController: currentState.commentController,
mealTimeController: currentState.mealTimeController,
mealNameController: currentState.mealNameController,
productNameController: currentState.productNameController,
productQuantityController: currentState.productQuantityController));
} else {
// Если текущее состояние - начальное, создаем новое загруженное состояние
emit(DiaryEditLoadedState(
@@ -56,7 +58,11 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
moodExpanded: true,
wakeupController: TimeOfDay.now(),
retireController: TimeOfDay.now(),
mealTimeController: TimeOfDay.now(),
mealNameController: TextEditingController(),
commentController: TextEditingController(),
productNameController: TextEditingController(),
productQuantityController: TextEditingController(),
));
}
/*} else {

View File

@@ -23,6 +23,10 @@ class DiaryEditLoadedState extends DiaryEditState {
this.wakeupController,
this.retireController,
this.commentController,
this.mealTimeController,
this.mealNameController,
this.productNameController,
this.productQuantityController,
required this.wakeupExpanded,
required this.moodExpanded})
: super(diaryEditModelObj: null);
@@ -30,7 +34,11 @@ class DiaryEditLoadedState extends DiaryEditState {
DiaryEditModel? diaryEditModelObj;
TimeOfDay? wakeupController;
TimeOfDay? retireController;
TimeOfDay? mealTimeController;
TextEditingController? mealNameController;
TextEditingController? commentController;
TextEditingController? productNameController;
TextEditingController? productQuantityController;
bool wakeupExpanded;
bool moodExpanded;
@override
@@ -40,7 +48,11 @@ class DiaryEditLoadedState extends DiaryEditState {
DiaryEditModel? diaryEditModelObj,
TimeOfDay? wakeupController,
TimeOfDay? retireController,
TimeOfDay? mealTimeController,
TextEditingController? mealNameController,
TextEditingController? commentController,
TextEditingController? productNameController,
TextEditingController? productQuantityController,
required bool wakeupExpanded,
required bool moodExpanded,
}) {
@@ -48,7 +60,13 @@ class DiaryEditLoadedState extends DiaryEditState {
diaryEditModelObj: diaryEditModelObj ?? this.diaryEditModelObj,
wakeupController: wakeupController ?? this.wakeupController,
retireController: retireController ?? this.retireController,
mealTimeController: mealTimeController ?? this.mealTimeController,
mealNameController: mealNameController ?? this.mealNameController,
commentController: commentController ?? this.commentController,
productNameController:
productNameController ?? this.productNameController,
productQuantityController:
productQuantityController ?? this.productQuantityController,
wakeupExpanded: wakeupExpanded,
moodExpanded: moodExpanded);
}