openIt static method
void
openIt(
- AppModel app,
- BuildContext context,
- String title,
- String feedId,
- String memberId,
- String currentMemberId,
- PostAccessibleByGroup initialPostAccessibleByGroup,
- List<
String> ? initialPostAccessibleByMembers, - PostPrivilegeFeedback feedback,
Implementation
static void openIt(
AppModel app,
BuildContext context,
String title,
String feedId,
String memberId,
String currentMemberId,
PostAccessibleByGroup initialPostAccessibleByGroup,
List<String>? initialPostAccessibleByMembers,
PostPrivilegeFeedback feedback,
) {
PostAccessibleByGroup currentPostAccessibleByGroup =
initialPostAccessibleByGroup;
List<String>? currentPostAccessibleByMembers =
initialPostAccessibleByMembers;
openFlexibleDialog(app, context, '${app.documentID}/chat',
title: 'Select visibility of your next post',
child: BlocProvider<PostPrivilegeBloc>(
create: (context) => PostPrivilegeBloc(app, feedId, memberId,
(PostAccessibleByGroup postAccessibleByGroup,
List<SelectedMember>? specificSelectedMembers) {
currentPostAccessibleByGroup = postAccessibleByGroup;
currentPostAccessibleByMembers = (specificSelectedMembers !=
null)
? specificSelectedMembers.map((e) => e.memberId).toList()
: null;
})
..add(InitialisePostPrivilegeEvent(
postAccessibleByGroup: currentPostAccessibleByGroup,
postAccessibleByMembers: currentPostAccessibleByMembers)),
child: PostPrivilegeWidget(
app, feedId, memberId, currentMemberId, true)),
buttons: [
dialogButton(app, context,
label: 'Cancel', onPressed: () => Navigator.of(context).pop()),
dialogButton(app, context, label: 'Select', onPressed: () {
feedback(
currentPostAccessibleByGroup, currentPostAccessibleByMembers);
Navigator.of(context).pop();
}),
]);
}