openIt static method

void openIt(
  1. AppModel app,
  2. BuildContext context,
  3. String title,
  4. String feedId,
  5. String memberId,
  6. String currentMemberId,
  7. PostAccessibleByGroup initialPostAccessibleByGroup,
  8. List<String>? initialPostAccessibleByMembers,
  9. 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();
        }),
      ]);
}