ChatMessage class
Represents a chat message.
The ChatMessage class stores the details of a message within a chat system, including the text content, the time when the message was sent, the author who sent the message, list of suggestion items for a message, and the suggestion settings to customize the suggestion items.
Example:
@override
Widget build(BuildContext context) {
return SfChat(
messages: [
ChatMessage(
text:
'Hi, I have planned to go on a trip. Can you suggest some places?',
time: DateTime.now(),
author: const ChatAuthor(id: '123-001', name: 'Chat A'),
suggestions: <ChatMessageSuggestion>[
ChatMessageSuggestion(
data: 'Paris',
),
ChatMessageSuggestion(
data: 'Tokyo',
),
ChatMessageSuggestion(
data: 'New York',
),
ChatMessageSuggestion(
data: 'London',
),
],
suggestionSettings: ChatSuggestionSettings(
backgroundColor: Colors.grey[300],
itemBackgroundColor: WidgetStateProperty.resolveWith<Color>(
(states) {
if (states.contains(WidgetState.hovered)) {
return Colors.grey[400]!;
}
return Colors.grey;
},
),
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(
Radius.circular(4.0),
),
),
itemShape: WidgetStateProperty.resolveWith<ShapeBorder>(
(Set<WidgetState> states) {
if (states.contains(WidgetState.hovered)) {
return RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
);
}
return RoundedRectangleBorder(
borderRadius: BorderRadius.circular(5),
);
},
),
textStyle: WidgetStateProperty.resolveWith<TextStyle?>(
(Set<WidgetState> states) {
if (states.contains(WidgetState.disabled)) {
return const TextStyle(fontSize: 16);
}
return const TextStyle(fontSize: 14);
},
),
padding: const EdgeInsets.all(10),
itemPadding:
const EdgeInsets.symmetric(horizontal: 12, vertical: 8.0),
orientation: Axis.horizontal,
itemOverflow: ChatSuggestionOverflow.scroll,
),
),
],
);
}
Constructors
-
ChatMessage({required String text, required DateTime time, required ChatAuthor author, List<
ChatMessageSuggestion> ? suggestions, ChatSuggestionSettings? suggestionSettings}) -
Creates a ChatMessage instance with the given
text
,time
,author
and optionalsuggestions
andsuggestionSettings
.const
Properties
-
Author of the message.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
suggestions
→ List<
ChatMessageSuggestion> ? -
List of suggestion items for the message.
final
- suggestionSettings → ChatSuggestionSettings?
-
Settings for customizing the appearance and layout of
message suggestions in ChatMessage.
final
- text → String
-
Content of the message.
final
- time → DateTime
-
Timestamp when the message was sent.
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