Files
eatvio_app/lib/presentation/height_screen/bloc/height_bloc.dart

41 lines
1.2 KiB
Dart

import 'package:equatable/equatable.dart';
import 'package:flutter/material.dart';
import '/core/app_export.dart';
import 'package:eatvio_app/presentation/height_screen/models/height_model.dart';
part 'height_event.dart';
part 'height_state.dart';
/// A bloc that manages the state of a Height according to the event that is dispatched to it.
class HeightBloc extends Bloc<HeightEvent, HeightState> {
HeightBloc(HeightState initialState) : super(initialState) {
on<HeightInitialEvent>(_onInitialize);
on<ChangeDropDownEvent>(_changeDropDown);
}
_onInitialize(
HeightInitialEvent event,
Emitter<HeightState> emit,
) async {
emit(state.copyWith(
heightModelObj: state.heightModelObj
?.copyWith(dropdownItemList: fillDropdownItemList())));
}
_changeDropDown(
ChangeDropDownEvent event,
Emitter<HeightState> emit,
) {
emit(state.copyWith(selectedDropDownValue: event.value));
}
List<SelectionPopupModel> fillDropdownItemList() {
List<SelectionPopupModel> selectionPopupModels = [];
for (int i = 140; i <= 220; i++) {
selectionPopupModels
.add(SelectionPopupModel(id: i - 34, title: i.toString()));
}
return selectionPopupModels;
}
}