ChatFlow constructor

ChatFlow({
  1. Key? key,
  2. required List<Message> messages,
  3. required ChatUser chatUser,
  4. OnSendPressed? onSendPressed,
  5. OnAttachmentPressed? onAttachmentPressed,
  6. OnMessageGesture? onMessageLongPressed,
  7. OnMessageGesture? onMessageDoubleTapped,
  8. OnMessageGesture? onImageMessageTapped,
  9. void onMessageSwipedLeft(
    1. Message swipedMessage
    )?,
  10. void onMessageSwipedRight(
    1. Message swipedMessage
    )?,
  11. OnMessageGesture? onReplyToMessage,
  12. bool? showUserAvatarInChat,
  13. void onMessageSelectionChanged(
    1. List<Message> messages
    )?,
  14. Theme? theme,
  15. CustomWidgetBuilder? videoWidgetBuilder,
  16. CustomWidgetBuilder? pdfWidgetBuilder,
  17. CustomWidgetBuilder? customWidgetBuilder,
  18. CustomWidgetBuilder? audioWidgetBuilder,
  19. CustomWidgetBuilder? docWidgetBuilder,
  20. bool? shouldGroupConsecutiveImages,
  21. int? minImagesToGroup,
  22. bool? hideDefaultInputWidget = false,
})

ChatFlow used to add chat features to the app

Implementation

ChatFlow(
    {super.key,
    required this.messages,
    required this.chatUser,
    this.onSendPressed,
    this.onAttachmentPressed,
    this.onMessageLongPressed,
    this.onMessageDoubleTapped,
    this.onImageMessageTapped,
    this.onMessageSwipedLeft,
    this.onMessageSwipedRight,
    this.onReplyToMessage,
    this.showUserAvatarInChat,
    this.onMessageSelectionChanged,
    this.theme,
    this.videoWidgetBuilder,
    this.pdfWidgetBuilder,
    this.customWidgetBuilder,
    this.audioWidgetBuilder,
    this.docWidgetBuilder,
    this.shouldGroupConsecutiveImages,
    this.minImagesToGroup,
    this.hideDefaultInputWidget = false}) {
  for (var i = 0; i < _registrableCallbackNames.length; i++) {
    CallbackName name = _registrableCallbackNames[i].keys.first;
    OnMessageGesture? callback = _registrableCallbackNames[i].values.first;
    MessageGestureCallbackManager.instance.registerCallback(name, callback);
  }
}