forked from eatvio/eatvio_app
feat(diary) Made an event for satieety and mood change
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import '/core/app_export.dart';
|
||||
@@ -14,6 +16,8 @@ part 'diary_edit_state.dart';
|
||||
class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
|
||||
DiaryEditBloc(DiaryEditState initialState) : super(initialState) {
|
||||
on<DiaryEditInitialEvent>(_onInitialize);
|
||||
on<SatietyEvent>(_changeSatiety);
|
||||
on<MoodEvent>(_changeMood);
|
||||
}
|
||||
|
||||
Future<void> _onInitialize(
|
||||
@@ -88,13 +92,22 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
|
||||
ToggleWakeupExpandedEvent event, Emitter<DiaryEditLoadedState> emit) {
|
||||
emit(state.copyWith(wakeupExpanded: !state.wakeupExpanded));
|
||||
}*/
|
||||
}
|
||||
|
||||
class ScaleBloc extends Bloc<ScaleEvent, int> {
|
||||
ScaleBloc() : super(0);
|
||||
Future<void> _changeSatiety(
|
||||
SatietyEvent event, Emitter<DiaryEditState> emit) async {
|
||||
if (state is DiaryEditLoadedState) {
|
||||
var currentState = state as DiaryEditLoadedState;
|
||||
emit(currentState.copyWith(selectedSatiety: event.selectedElement));
|
||||
currentState.selectedSatiety = event.selectedElement;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Stream<int> mapEventToState(ScaleEvent event) async* {
|
||||
yield event.selectedElement;
|
||||
Future<void> _changeMood(
|
||||
MoodEvent event, Emitter<DiaryEditState> emit) async {
|
||||
if (state is DiaryEditLoadedState) {
|
||||
var currentState = state as DiaryEditLoadedState;
|
||||
emit(currentState.copyWith(selectedMood: event.selectedElement));
|
||||
currentState.selectedMood = event.selectedElement;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,10 +15,17 @@ class DiaryEditInitialEvent extends DiaryEditEvent {
|
||||
List<Object?> get props => [];
|
||||
}
|
||||
|
||||
class ScaleEvent extends Equatable {
|
||||
class SatietyEvent extends DiaryEditEvent {
|
||||
SatietyEvent(this.selectedElement);
|
||||
final int selectedElement;
|
||||
|
||||
ScaleEvent(this.selectedElement);
|
||||
@override
|
||||
List<Object> get props => [selectedElement];
|
||||
}
|
||||
|
||||
class MoodEvent extends DiaryEditEvent {
|
||||
MoodEvent(this.selectedElement);
|
||||
final int selectedElement;
|
||||
|
||||
@override
|
||||
List<Object> get props => [selectedElement];
|
||||
|
||||
@@ -58,9 +58,9 @@ class DiaryEditLoadedState extends DiaryEditState {
|
||||
TextEditingController? productNameController,
|
||||
TextEditingController? productQuantityController,
|
||||
int? selectedMood,
|
||||
required int selectedSatiety,
|
||||
required bool wakeupExpanded,
|
||||
required bool moodExpanded,
|
||||
int? selectedSatiety,
|
||||
bool? wakeupExpanded,
|
||||
bool? moodExpanded,
|
||||
}) {
|
||||
return DiaryEditLoadedState(
|
||||
diaryEditModelObj: diaryEditModelObj ?? this.diaryEditModelObj,
|
||||
@@ -74,9 +74,9 @@ class DiaryEditLoadedState extends DiaryEditState {
|
||||
productQuantityController:
|
||||
productQuantityController ?? this.productQuantityController,
|
||||
selectedMood: selectedMood ?? this.selectedMood,
|
||||
selectedSatiety: selectedSatiety,
|
||||
wakeupExpanded: wakeupExpanded,
|
||||
moodExpanded: moodExpanded);
|
||||
selectedSatiety: selectedSatiety ?? this.selectedSatiety,
|
||||
wakeupExpanded: wakeupExpanded ?? this.wakeupExpanded,
|
||||
moodExpanded: moodExpanded ?? this.moodExpanded);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user