previewMessage method

dynamic previewMessage(
  1. BaseMessage message,
  2. PreviewMessageMode mode
)

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();
}