FeedPostFormBloc constructor
FeedPostFormBloc(
- AppModel app,
- PostListPagedBloc postListPagedBloc,
- String memberId,
- String feedId,
- LoggedIn accessState,
Implementation
FeedPostFormBloc(this.app, this.postListPagedBloc, this.memberId, this.feedId,
this.accessState)
: super(FeedPostFormUninitialized()) {
if (state is FeedPostFormUninitialized) {
//final currentState = state as FeedPostFormUninitialized;
}
on<InitialiseNewFeedPostFormEvent>((event, emit) async {
post = null;
emit(await _initialiseNew(
event.postAccessibleByGroup, event.postAccessibleByMembers));
});
on<InitialiseUpdateFeedPostFormEvent>((event, emit) async {
post = event.originalPost;
emit(await _initialiseUpdate(event));
});
on<SubmitPost>((event, emit) async {
if (state is FeedPostFormInitialized) {
final currentState = state as FeedPostFormInitialized;
emit(await _submit(currentState.postModelDetails));
}
});
on<ChangedFeedPostPrivilege>((event, emit) async {
if (state is FeedPostFormInitialized) {
final currentState = state as FeedPostFormInitialized;
var newValue = currentState.postModelDetails.copyWith(
postAccessibleByGroup: event.postAccessibleByGroup,
postAccessibleByMembers: event.postAccessibleByMembers);
emit(SubmittableFeedPostForm(postModelDetails: newValue));
}
});
on<UploadingMedium>((event, emit) async {
if (state is FeedPostFormInitialized) {
final currentState = state as FeedPostFormInitialized;
emit(SubmittableFeedPostFormWithMediumUploading(
postModelDetails: currentState.postModelDetails,
progress: event.progress));
}
});
on<ChangedFeedPostDescription>((event, emit) async {
if (state is FeedPostFormInitialized) {
final currentState = state as FeedPostFormInitialized;
var newValue =
currentState.postModelDetails.copyWith(description: event.value);
emit(SubmittableFeedPostForm(postModelDetails: newValue));
}
});
on<ChangedMedia>((event, emit) {
if (state is FeedPostFormInitialized) {
final currentState = state as FeedPostFormInitialized;
var newValue = currentState.postModelDetails
.copyWith(memberMedia: event.memberMedia);
emit(SubmittableFeedPostForm(postModelDetails: newValue));
}
});
}