ParticipantsModalOptions class

Configuration payload for ParticipantsModal.

Powers the participants list modal used throughout MediaSFU experiences, exposing hooks for moderation actions and custom rendering layers:

  • isParticipantsModalVisible / onParticipantsClose: control visibility and handle dismissal.
  • onMuteParticipants, onMessageParticipants, onRemoveParticipants: optional function overrides for custom moderation workflows, analytics, or permission checks before invoking the default handlers.
  • RenderParticipantList / RenderParticipantListOthers: swap the default participant list widgets to apply custom styling, sorting, or additional columns.
  • position: string (e.g., 'topRight', 'center') controlling modal placement via getModalPosition.
  • styles: optional ParticipantsModalStyleOptions for width, height, decorations, and badge theming.
  • Builder hooks (headerBuilder, searchBuilder, listsBuilder, bodyBuilder, contentBuilder) let you wrap or replace individual sections without reimplementing permission logic.

Use this options object via MediasfuUICustomOverrides.participantsModal to deliver branded UX, integrate advanced filtering, or add participant notes.

Constructors

ParticipantsModalOptions.new({required bool isParticipantsModalVisible, required VoidCallback onParticipantsClose, required ValueChanged<String> onParticipantsFilterChange, required int participantsCounter, MuteParticipantsType onMuteParticipants = muteParticipants, MessageParticipantsType onMessageParticipants = messageParticipants, RemoveParticipantsType onRemoveParticipants = removeParticipants, ParticipantListType RenderParticipantList = defaultParticipantList, ParticipantListOthersType RenderParticipantListOthers = defaultParticipantListOthers, Color backgroundColor = const Color(0xFF83C0E9), String position = 'topRight', required ParticipantsModalParameters parameters, ParticipantsModalStyleOptions? styles, Widget? title, Widget? emptyState, ParticipantsModalHeaderBuilder? headerBuilder, ParticipantsModalSearchBuilder? searchBuilder, ParticipantsModalListsBuilder? listsBuilder, ParticipantsModalBodyBuilder? bodyBuilder, ParticipantsModalContentBuilder? contentBuilder})

Properties

backgroundColor Color
final
bodyBuilder ParticipantsModalBodyBuilder?
final
contentBuilder ParticipantsModalContentBuilder?
final
emptyState Widget?
final
hashCode int
The hash code for this object.
no setterinherited
headerBuilder ParticipantsModalHeaderBuilder?
final
isParticipantsModalVisible bool
final
listsBuilder ParticipantsModalListsBuilder?
final
onMessageParticipants MessageParticipantsType
final
onMuteParticipants MuteParticipantsType
final
onParticipantsClose VoidCallback
final
onParticipantsFilterChange ValueChanged<String>
final
onRemoveParticipants RemoveParticipantsType
final
parameters ParticipantsModalParameters
final
participantsCounter int
final
position String
final
RenderParticipantList ParticipantListType
final
RenderParticipantListOthers ParticipantListOthersType
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
searchBuilder ParticipantsModalSearchBuilder?
final
styles ParticipantsModalStyleOptions?
final
title Widget?
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

defaultParticipantList({required ParticipantListOptions options}) Widget
defaultParticipantListOthers({required ParticipantListOthersOptions options}) Widget