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
-
- Object
- GetLifeCycle
- DisposableInterface
- GetxController
- CometChatListController<
Conversation, String> - CometChatConversationsController
- 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 byGetBuilder()
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 callupdate()
; Can take a List ofids
, that will only update the matchingGetBuilder( id: )
,ids
can be reused amongGetBuilders
like group tags. The update will only notify the Widgets, ifcondition
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