MessagesList<T extends MessageBase> class
Constructors
-
MessagesList({Key? key, required MessagesListController<MessageBase> controller, required String appUserId, bool areItemsTheSame(T oldItem, T newItem)?, dynamic scrollHandler(ScrollNotification scroll)?, MessageStyle? style, bool useCustomTile(int index, T item, MessagePosition messagePosition)?, MessagePosition messagePosition(T? previousItem, T currentItem, T? nextItem, bool shouldBuildDate(T currentItem))?, bool shouldBuildDate(T currentItem)?, MessageTileBuilders<MessageBase> builders = const MessageTileBuilders()})
-
Properties
-
appUserId
→ String
-
The id of the app's current user.
Required to determine whether a message is owned.
final
-
areItemsTheSame
→ bool Function(T oldItem, T newItem)?
-
Called by the DiffUtil to decide whether two object represent the same Item.
By default, this will check whether oldItem.id == newItem.id;
final
-
builders
→ MessageTileBuilders<MessageBase>
-
Provide your custom builders to override the default behaviour
final
-
controller
→ MessagesListController<MessageBase>
-
The controller that manages items and actions
final
-
hashCode
→ int
-
The hash code for this object.
no setterinherited
-
key
→ Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
messagePosition
→ MessagePosition Function(T? previousItem, T currentItem, T? nextItem, bool shouldBuildDate(T currentItem))?
-
Pass a function to override the default
_messagePosition
final
-
runtimeType
→ Type
-
A representation of the runtime type of the object.
no setterinherited
-
scrollHandler
→ dynamic Function(ScrollNotification scroll)?
-
Scrolling will trigger NotificationListener, which will call this handler.
Typically looks like this:
void _handleScrollEvent(ScrollNotification scroll) {
if (scroll.metrics.pixels == scroll.metrics.maxScrollExtent)
_getMoreChats();
}
final
-
shouldBuildDate
→ bool Function(T currentItem)?
-
Pass a function to override the default
_shouldBuildDate
final
-
style
→ MessageStyle?
-
Custom styling you want to apply to the messages
final
-
useCustomTile
→ bool Function(int index, T item, MessagePosition messagePosition)?
-
Pass a function to test whether
builders.customTileBuilder
should be called.
The typical use case is to call the custom builder when you have
event types messages (user joined chat, renaming chat etc.).
final