ChatView class
Complete and configurable widget for chat.
Features:
- Smart scrolling
- Multiline input area
- Reply bar
- Pagination
- Customizable builders
- Error and loading handling
Example:
ChatView(
service: chatService,
chatId: 'chat-123',
currentUserId: 'user-456',
config: chatConfig,
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- ChatView
Constructors
- ChatView({Key? key, required ChatService service, required String chatId, required String currentUserId, required ChatConfig config, ChatTheme? theme, ChatTextStyle? textStyle, ChatAppActions? appActions, Widget messageBuilder(BuildContext, ChatMessage, void (String messageId))?, Widget replyPreviewBuilder(BuildContext, ChatMessage, void (String messageId))?, bool enableReply = true, bool listenUnreadCount = true, InputDecoration? inputDecoration, Widget? sendIcon, VoidCallback? onMessageSent, VoidCallback? onError, void onReplyPreviewTap(String messageId)?, Widget loadingBuilder(BuildContext)?})
-
Creates a new ChatView.
const
Properties
- appActions → ChatAppActions?
-
Optional custom app actions.
final
- chatId → String
-
ID of the chat.
final
- config → ChatConfig
-
Configuration for the chat module.
final
- currentUserId → String
-
ID of the current user.
final
- enableReply → bool
-
Whether reply functionality is enabled.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- inputDecoration → InputDecoration?
-
Custom input decoration.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- listenUnreadCount → bool
-
Whether to listen to unread count.
final
- loadingBuilder → Widget Function(BuildContext)?
-
Custom loading indicator builder.
If not provided, uses default CircularProgressIndicator.
final
- messageBuilder → Widget Function(BuildContext, ChatMessage, void (String messageId))?
-
Custom message builder.
The third parameter is the callback to scroll to a replied message.
final
- onError → VoidCallback?
-
Callback when an error occurs.
final
- onMessageSent → VoidCallback?
-
Callback when a message is sent.
final
- onReplyPreviewTap → void Function(String messageId)?
-
Callback when reply preview is tapped.
messageIdis the ID of the message being replied to. Should scroll to that message in the chat.final - replyPreviewBuilder → Widget Function(BuildContext, ChatMessage, void (String messageId))?
-
Custom reply preview builder.
The third parameter is the callback to scroll to the replied message.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sendIcon → Widget?
-
Custom send icon.
final
- service → ChatService
-
The chat service implementation.
final
- textStyle → ChatTextStyle?
-
Optional custom text style.
final
- theme → ChatTheme?
-
Optional custom theme.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< ChatView> -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
scrollToMessage(
GlobalKey< State< ? key, String messageId) → voidChatView> > - Scroll to a specific message by ID This method can be called from outside to scroll to a message