CometChatConversationsController class

CometChatConversationsController is the view model for CometChatConversations it contains all the business logic involved in changing the state of the UI of CometChatConversations

Inheritance
Implemented types
Mixed-in types

Constructors

CometChatConversationsController({required ConversationsBuilderProtocol conversationsBuilderProtocol, SelectionMode? mode, required CometChatTheme? theme, bool? disableSoundForMessages = false, String? customSoundForMessages, bool? disableUsersPresence = false, bool? disableReceipt = false, bool? disableTyping, ConfirmDialogStyle? deleteConversationDialogStyle, OnError? onError, List<CometChatTextFormatter>? textFormatters, bool? disableMentions})

Properties

activeConversation String?
getter/setter pair
context BuildContext?
getter/setter pair
conversationsBuilderProtocol ConversationsBuilderProtocol
getter/setter pair
customSoundForMessages String?
customSoundForMessages URL of the audio file to be played upon receiving messages
final
dateStamp String
getter/setter pair
deleteConversationDialogStyle ConfirmDialogStyle?
deleteConversationDialogStyle provides customization for the dialog box that pops up when tapping the delete conversation option
final
disableMentions bool?
disableMentions if true will disable mentions in the conversation
getter/setter pair
disableReceipt bool?
disableReceipt controls visibility of read receipts and also disables logic executed inside onMessagesRead and onMessagesDelivered listeners
final
disableSoundForMessages bool?
disableSoundForMessages if true will disable sound for messages
final
disableTyping bool?
disableTyping if true stops indicating if a participant in a conversation is typing
final
disableUsersPresence bool?
getter/setter pair
error Exception?
getter/setter pairinherited
groupSDKListenerID String
getter/setter pair
groupUIListenerID String
getter/setter pair
hasError bool
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
no setterinherited
hasMoreItems bool
getter/setter pairinherited
initialized bool
Checks whether the controller has already been initialized.
no setterinherited
isClosed bool
Checks whether the controller has already been closed.
no setterinherited
isFetchNext bool
getter/setter pairinherited
isLoading bool
getter/setter pairinherited
list List<Conversation>
getter/setter pairinherited
listeners int
no setterinherited
loggedInUser User?
getter/setter pair
loggedInUserId String
getter/setter pair
messageSDKListenerID String
getter/setter pair
messageUIListenerID String
getter/setter pair
onDelete → InternalFinalCallback<void>
Internal callback that starts the cycle of this controller.
finalinherited
onError ↔ dynamic Function(Exception)?
getter/setter pairinherited
onStart → InternalFinalCallback<void>
Called at the exact moment the widget is allocated in memory. It uses an internal "callable" type, to avoid any @overrides in subclases. This method should be internal and is required to define the lifetime cycle of the subclass.
finalinherited
request ↔ dynamic
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectionMap Map<String, Conversation>
getter/setter pairinherited
selectionMode SelectionMode?
getter/setter pairinherited
style ConversationsStyle?
getter/setter pair
textFormatters List<CometChatTextFormatter>?
textFormatters is a list of CometChatTextFormatter which is used to format the text
getter/setter pair
theme CometChatTheme?
theme can pass custom theme class or dark theme defaultDarkTheme object from CometChatTheme class, by default light theme
final
typingMap Map<String, TypingIndicator>
getter/setter pair
userSDKListenerID String
getter/setter pair

Methods

$configureLifeCycle() → void
inherited
addElement(Conversation element, {int index = 0}) → dynamic
inherited
addListener(GetStateUpdate listener) → Disposer
Register a closure to be called when the object notifies its listeners.
inherited
addListenerId(Object? key, GetStateUpdate listener) → Disposer
inherited
ccCallAccepted(Call call) → void
ccCallAccepted is used to inform the listeners that a call is accepted by the logged-in user.
override
ccCallEnded(Call call) → void
ccCallEnded is used to inform the listeners that a call is ended by either the logged-in user.
override
ccCallRejected(Call call) → void
ccCallRejected is used to inform the listeners that a call is rejected by the logged-in user.
override
ccGroupCreated(Group group) → void
This will get triggered when a group is created successfully
inherited
ccGroupDeleted(Group group) → void
This will get triggered when a group is deleted successfully
override
ccGroupLeft(Action message, User leftUser, Group leftGroup) → void
This will get triggered when logged in user leaves the group
override
ccGroupMemberAdded(List<Action> messages, List<User> usersAdded, Group groupAddedIn, User addedBy) → void
This will get triggered when a member is added by logged in user
override
ccGroupMemberBanned(Action message, User bannedUser, User bannedBy, Group bannedFrom) → void
This will get triggered when group member is banned from the group by logged in user
override
ccGroupMemberJoined(User joinedUser, Group joinedGroup) → void
This will get triggered when logged in user is joined successfully
inherited
ccGroupMemberKicked(Action message, User kickedUser, User kickedBy, Group kickedFrom) → void
This will get triggered when group member is kicked from the group by logged in user
override
ccGroupMemberScopeChanged(Action message, User updatedUser, String scopeChangedTo, String scopeChangedFrom, Group group) → void
This will get triggered when group member's scope is changed by logged in user
inherited
ccGroupMemberUnbanned(Action message, User unbannedUser, User unbannedBy, Group unbannedFrom) → void
This will get triggered when a banned group member is unbanned from group by logged in user
inherited
ccLiveReaction(String reaction) → void
inherited
ccMessageDeleted(BaseMessage message, EventStatus messageStatus) → void
override
ccMessageEdited(BaseMessage message, MessageEditStatus status) → void
override
ccMessageForwarded(BaseMessage message, List<User>? usersSent, List<Group>? groupsSent, MessageStatus status) → void
inherited
ccMessageRead(BaseMessage message) → void
override
ccMessageSent(BaseMessage message, MessageStatus messageStatus) → void
override
ccOutgoingCall(Call call) → void
ccOutgoingCall is used to inform the listeners that an outgoing call is initiated by the logged-in user.
override
ccOwnershipChanged(Group group, GroupMember newOwner) → void
This will get triggered when ownership is changed by logged in user
override
ccUserBlocked(User user) → void
This will get triggered when the logged in user blocks another user
override
ccUserUnblocked(User user) → void
This will get triggered when the logged in user unblocks another user
inherited
deleteConversation(Conversation conversation) → dynamic
override
deleteConversationFromIndex(int index) → void
override
deSelect(Conversation element) → dynamic
inherited
dispose() → void
inherited
disposeId(Object id) → void
To dispose an id from future updates(), this ids are registered by GetBuilder() or similar, so is a way to unlink the state change with the Widget from the Controller.
inherited
getHideReceipt(Conversation conversation, bool? disableReadReceipt) bool
override
getHideThreadIndicator(Conversation conversation) bool
override
getKey(Conversation element) String
override
getList() List<Conversation>
inherited
getMatchingIndex(Conversation element) int
inherited
getMatchingIndexFromKey(String key) int
inherited
getSelectedList() List<Conversation>
returns selected items in selected map
inherited
getTextFormatters(BaseMessage message, CometChatTheme theme) List<CometChatTextFormatter>
initializeTextFormatters() → void
loadMoreElements({bool isIncluded(Conversation element)?}) → dynamic
override
match(Conversation elementA, Conversation elementB) bool
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyChildrens() → void
inherited
onCallEndedMessageReceived(Call call) → void
override
onCardMessageReceived(CardMessage cardMessage) → void
override
onClose() → void
Called before onDelete method. onClose might be used to dispose resources used by the controller. Like closing events, or streams before the controller is destroyed. Or dispose objects that can potentially create some memory leaks, like TextEditingControllers, AnimationControllers. Might be useful as well to persist some data on disk.
override
onConnected() → void
----------------------------EVENT LISTENERS -----------------------------------
override
onConnecting() → void
inherited
onConnectionError(CometChatException error) → void
inherited
onCustomInteractiveMessageReceived(CustomInteractiveMessage customInteractiveMessage) → void
override
onCustomMessageReceived(CustomMessage customMessage) → void
override
onDisconnected() → void
inherited
onFeatureThrottled() → void
inherited
onFormMessageReceived(FormMessage formMessage) → void
override
onGroupMemberBanned(Action action, User bannedUser, User bannedBy, Group bannedFrom) → void
override
onGroupMemberJoined(Action action, User joinedUser, Group joinedGroup) → void
override
onGroupMemberKicked(Action action, User kickedUser, User kickedBy, Group kickedFrom) → void
override
onGroupMemberLeft(Action action, User leftUser, Group leftGroup) → void
override
onGroupMemberScopeChanged(Action action, User updatedBy, User updatedUser, String scopeChangedTo, String scopeChangedFrom, Group group) → void
override
onGroupMemberUnbanned(Action action, User unbannedUser, User unbannedBy, Group unbannedFrom) → void
override
onIncomingCallCancelled(Call call) → void
override
onIncomingCallReceived(Call call) → void
override
onInit() → void
Called immediately after the widget is allocated in memory. You might use this to initialize something for the controller.
override
onInteractionGoalCompleted(InteractionReceipt receipt) → void
inherited
onMediaMessageReceived(MediaMessage mediaMessage) → void
override
onMemberAddedToGroup(Action action, User addedby, User userAdded, Group addedTo) → void
override
onMessageDeleted(BaseMessage message) → void
override
onMessageEdited(BaseMessage message) → void
override
onMessageReactionAdded(ReactionEvent reactionEvent) → void
onMessageReactionAdded is called when a reaction is added to a message
inherited
onMessageReactionRemoved(ReactionEvent reactionEvent) → void
onMessageReactionRemoved is called when a reaction is removed from a message
inherited
onMessagesDelivered(MessageReceipt messageReceipt) → void
override
onMessagesDeliveredToAll(MessageReceipt messageReceipt) → void
inherited
onMessagesRead(MessageReceipt messageReceipt) → void
override
onMessagesReadByAll(MessageReceipt messageReceipt) → void
inherited
onOutgoingCallAccepted(Call call) → void
override
onOutgoingCallRejected(Call call) → void
override
onReady() → void
Called 1 frame after onInit(). It is the perfect place to enter navigation events, like snackbar, dialogs, or a new route, or async request.
inherited
onSchedulerMessageReceived(SchedulerMessage schedulerMessage) → void
override
onTap(Conversation element) → dynamic
inherited
onTextMessageReceived(TextMessage textMessage) → void
override
onTransientMessageReceived(TransientMessage message) → void
inherited
onTypingEnded(TypingIndicator typingIndicator) → void
override
onTypingStarted(TypingIndicator typingIndicator) → void
override
onUserOffline(User user) → void
override
onUserOnline(User user) → void
override
playNotificationSound(BaseMessage message) → dynamic
override
refresh() → void
inherited
refreshGroup(Object id) → void
inherited
refreshSingleConversation(BaseMessage message, bool isActionMessage, {bool? remove}) → dynamic
override
removeElement(Conversation element) → dynamic
inherited
removeElementAt(int index) → dynamic
inherited
removeGroup(String guid) → dynamic
override
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that the object notifies.
inherited
removeListenerId(Object id, VoidCallback listener) → void
inherited
resetUnreadCount(BaseMessage message) → dynamic
override
select(Conversation element) → dynamic
inherited
setReceipts(MessageReceipt receipt) → dynamic
override
setTypingIndicator(TypingIndicator typingIndicator, bool isTypingStarted) → dynamic
override
toString() String
A string representation of this object.
inherited
update([List<Object>? ids, bool condition = true]) → void
Rebuilds GetBuilder each time you call update(); Can take a List of ids, that will only update the matching GetBuilder( id: ), ids can be reused among GetBuilders like group tags. The update will only notify the Widgets, if condition is true.
inherited
updateConversation(Conversation conversation) → dynamic
Update the conversation with new conversation Object matched according to conversation id , if not matched inserted at top
override
updateElement(Conversation element, {int? index}) → dynamic
inherited
updateElementAt(Conversation element, int index) → dynamic
inherited
updateGroup(Group group) → dynamic
override
updateLastMessage(BaseMessage message) → dynamic
override
updateLastMessageOnEdited(BaseMessage message) → dynamic
override
updateUserStatus(User user, String status) → dynamic
override

Operators

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