Implementation
LinkFormBloc(
this.appId,
) : super(LinkFormUninitialized()) {
on<InitialiseNewLinkFormEvent>((event, emit) {
LinkFormLoaded loaded = LinkFormLoaded(
value: LinkModel(
documentID: "IDENTIFIED",
linkText: "",
));
emit(loaded);
});
on<InitialiseLinkFormEvent>((event, emit) async {
LinkFormLoaded loaded = LinkFormLoaded(value: event.value);
emit(loaded);
});
on<InitialiseLinkFormNoLoadEvent>((event, emit) async {
LinkFormLoaded loaded = LinkFormLoaded(value: event.value);
emit(loaded);
});
LinkModel? newValue;
on<ChangedLinkLinkText>((event, emit) async {
if (state is LinkFormInitialized) {
final currentState = state as LinkFormInitialized;
newValue = currentState.value!.copyWith(linkText: event.value);
emit(SubmittableLinkForm(value: newValue));
}
});
on<ChangedLinkAction>((event, emit) async {
if (state is LinkFormInitialized) {
final currentState = state as LinkFormInitialized;
newValue = currentState.value!.copyWith(action: event.value);
emit(SubmittableLinkForm(value: newValue));
}
});
}