PollModalOptions class
Configuration for the polling modal enabling real-time poll creation, voting, and results display.
- member - Current user's name; used to check existing votes (prevent double-voting).
- islevel - Privilege level (
'2'
= host,'1'
= moderator,'0'
= participant); host/moderator can create/end polls and view previous results. - polls - Array of completed
Poll
objects; only visible to host/moderator in "Previous Polls" tab. - poll - Active
Poll
object; displayed in "Current Poll" tab.null
if no active poll. - handleCreatePoll - Override for
handleCreatePoll
; receives {poll, parameters}. Creates new poll, emitscreatePoll
socket event. - handleEndPoll - Override for
handleEndPoll
; receives {pollId, parameters}. Ends active poll, emitsendPoll
socket event. - handleVotePoll - Override for
handleVotePoll
; receives {pollId, optionIndex, parameters}. Casts vote, emitsvotePoll
socket event. - updateIsPollModalVisible - Callback to toggle modal visibility.
- socket - Socket.IO client for emitting poll actions.
- roomName - Session identifier for socket events.
- showAlert - Optional
ShowAlert
callback for validation messages. - position - Modal placement via
getModalPosition
(e.g., 'topRight'). - backgroundColor - Background color for modal container.
- styles - Optional
PollModalStyleOptions
for advanced theming. - previousPollsHeader / createPollHeader / currentPollHeader / emptyPreviousPollsPlaceholder / emptyCurrentPollPlaceholder - Custom widgets for section headers and empty states.
Usage
- Modal displays three tabs (host/moderator): "Previous Polls", "New Poll", "Current Poll".
- Participants see "Current Poll" tab only.
- "New Poll" tab: dropdown for poll type (True/False, Yes/No, Custom), question input, custom options (for Custom type).
- "Current Poll" tab: displays question, options with vote counts/percentages; radio buttons for voting (disabled if already voted); "End Poll" button (host/moderator only).
- "Previous Polls" tab: scrollable list of completed polls with results (host/moderator only).
- Override via
MediasfuUICustomOverrides.pollModal
to inject analytics tracking, poll templates, or advanced voting types (ranked-choice, approval voting).
Constructors
-
PollModalOptions({required bool isPollModalVisible, required VoidCallback onClose, String position = 'topRight', Color backgroundColor = const Color(0xFFF5F5F5), required String member, required String islevel, required List<
Poll> polls, Poll? poll, Socket? socket, required String roomName, ShowAlert? showAlert, required ValueChanged<bool> updateIsPollModalVisible, required HandleCreatePollType handleCreatePoll, required HandleEndPollType handleEndPoll, required HandleVotePollType handleVotePoll, PollModalStyleOptions? styles, Widget? previousPollsHeader, Widget? createPollHeader, Widget? currentPollHeader, Widget? emptyPreviousPollsPlaceholder, Widget? emptyCurrentPollPlaceholder})
Properties
- backgroundColor → Color
-
final
- createPollHeader → Widget?
-
final
- currentPollHeader → Widget?
-
final
- emptyCurrentPollPlaceholder → Widget?
-
final
- emptyPreviousPollsPlaceholder → Widget?
-
final
- handleCreatePoll → HandleCreatePollType
-
final
- handleEndPoll → HandleEndPollType
-
final
- handleVotePoll → HandleVotePollType
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- islevel → String
-
final
- isPollModalVisible → bool
-
final
- member → String
-
final
- onClose → VoidCallback
-
final
- poll → Poll?
-
final
-
polls
→ List<
Poll> -
final
- position → String
-
final
- previousPollsHeader → Widget?
-
final
- roomName → String
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- showAlert → ShowAlert?
-
final
- socket → Socket?
-
final
- styles → PollModalStyleOptions?
-
final
-
updateIsPollModalVisible
→ ValueChanged<
bool> -
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