previewMessage method
Implementation
previewMessage(BaseMessage message, PreviewMessageMode mode) {
if (mode == PreviewMessageMode.edit) {
messagePreviewTitle = cc.Translations.of(context).editMessage;
} else if (mode == PreviewMessageMode.reply) {
messagePreviewTitle = message.sender?.name;
}
if (message is TextMessage) {
String previewText = message.text;
if (message.mentionedUsers.isNotEmpty) {
previewText = CometChatMentionsFormatter.getTextWithMentions(
message.text, message.mentionedUsers);
}
messagePreviewSubtitle = previewText;
} else {
messagePreviewSubtitle = CometChatUIKit.getDataSource()
.getMessageTypeToSubtitle(message.type, context);
}
if (mode == PreviewMessageMode.edit && message is TextMessage) {
textEditingController?.text = message.text;
_previousText = message.text;
if (message.mentionedUsers.isNotEmpty) {
int mentionFormatterIndex = _formatters
.indexWhere((element) => element.trackingCharacter == '@');
if (textEditingController != null && mentionFormatterIndex != -1) {
CometChatMentionsFormatter mentionsFormatter =
_formatters[mentionFormatterIndex] as CometChatMentionsFormatter;
mentionsFormatter.onMessageEdit(textEditingController!,
mentionedUsers: message.mentionedUsers);
}
}
}
previewMessageMode = mode;
oldMessage = message;
update();
}