[MessageSearchListView] Add itemTap property

Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
xsahil03x
2020-11-27 14:02:21 +05:30
parent 4df3bf1610
commit 15669e8dd8
+11 -1
View File
@@ -7,6 +7,9 @@ import 'package:stream_chat_flutter/src/message_search_item.dart';
import 'lazy_load_scroll_view.dart'; import 'lazy_load_scroll_view.dart';
import 'message_search_bloc.dart'; import 'message_search_bloc.dart';
/// Callback called when tapping on a user
typedef MessageSearchItemTapCallback = void Function(Message);
/// Builder used to create a custom [ListUserItem] from a [User] /// Builder used to create a custom [ListUserItem] from a [User]
typedef MessageSearchItemBuilder = Widget Function(BuildContext, Message); typedef MessageSearchItemBuilder = Widget Function(BuildContext, Message);
@@ -50,6 +53,7 @@ class MessageSearchListView extends StatefulWidget {
this.errorBuilder, this.errorBuilder,
this.separatorBuilder, this.separatorBuilder,
this.itemBuilder, this.itemBuilder,
this.onItemTap,
this.showResultCount = true, this.showResultCount = true,
}) : super(key: key); }) : super(key: key);
@@ -76,6 +80,9 @@ class MessageSearchListView extends StatefulWidget {
/// Builder used to create a custom item preview /// Builder used to create a custom item preview
final MessageSearchItemBuilder itemBuilder; final MessageSearchItemBuilder itemBuilder;
/// Function called when tapping on a [MessageSearchItem]
final MessageSearchItemTapCallback onItemTap;
/// The builder used when the channel list is empty. /// The builder used when the channel list is empty.
final WidgetBuilder emptyBuilder; final WidgetBuilder emptyBuilder;
@@ -124,7 +131,10 @@ class _MessageSearchListViewState extends State<MessageSearchListView> {
if (widget.itemBuilder != null) { if (widget.itemBuilder != null) {
return widget.itemBuilder(context, message); return widget.itemBuilder(context, message);
} }
return MessageSearchItem(message: message); return MessageSearchItem(
message: message,
onTap: () => widget.onItemTap(message),
);
} }
Widget _buildQueryProgressIndicator( Widget _buildQueryProgressIndicator(