From e9fd5c96f5a3f381666c8a80aa156e66f29559fc Mon Sep 17 00:00:00 2001 From: Deven Joshi Date: Mon, 25 Jan 2021 17:29:25 +0530 Subject: [PATCH] feat: Added load data to controllers --- .../lib/src/channel_list_view_core.dart | 13 +++++++++++++ .../lib/src/message_search_list_view_core.dart | 14 ++++++++++++++ .../lib/src/user_list_view_core.dart | 13 +++++++++++++ 3 files changed, 40 insertions(+) diff --git a/packages/stream_chat_flutter_core/lib/src/channel_list_view_core.dart b/packages/stream_chat_flutter_core/lib/src/channel_list_view_core.dart index f1b7d258..b03b523e 100644 --- a/packages/stream_chat_flutter_core/lib/src/channel_list_view_core.dart +++ b/packages/stream_chat_flutter_core/lib/src/channel_list_view_core.dart @@ -168,6 +168,17 @@ class _ChannelListViewCoreState extends State return widget.errorBuilder(snapshot.error); } + void loadData() { + final channelsBloc = ChannelsBloc.of(context); + + channelsBloc.queryChannels( + filter: widget.filter, + sortOptions: widget.sort, + paginationParams: widget.pagination, + options: widget.options, + ); + } + void paginateData() { final channelsBloc = ChannelsBloc.of(context); @@ -216,6 +227,7 @@ class _ChannelListViewCoreState extends State }); if (widget.channelListController != null) { + widget.channelListController.loadData = loadData; widget.channelListController.paginateData = paginateData; } } @@ -249,5 +261,6 @@ class _ChannelListViewCoreState extends State /// Controller used for paginating data in [ChannelListViewCore] class ChannelListController { + VoidCallback loadData; VoidCallback paginateData; } diff --git a/packages/stream_chat_flutter_core/lib/src/message_search_list_view_core.dart b/packages/stream_chat_flutter_core/lib/src/message_search_list_view_core.dart index 4486c1f5..99245d37 100644 --- a/packages/stream_chat_flutter_core/lib/src/message_search_list_view_core.dart +++ b/packages/stream_chat_flutter_core/lib/src/message_search_list_view_core.dart @@ -115,6 +115,7 @@ class _MessageSearchListViewCoreState extends State { ); if (widget.messageSearchListController != null) { + widget.messageSearchListController.loadData = loadData; widget.messageSearchListController.paginateData = paginateData; } } @@ -152,6 +153,18 @@ class _MessageSearchListViewCoreState extends State { ); } + void loadData() { + final messageSearchBloc = MessageSearchBloc.of(context); + + messageSearchBloc.search( + filter: widget.filters, + sort: widget.sortOptions, + query: widget.messageQuery, + pagination: widget.paginationParams, + messageFilter: widget.messageFilters, + ); + } + void paginateData() { final messageSearchBloc = MessageSearchBloc.of(context); @@ -190,5 +203,6 @@ class _MessageSearchListViewCoreState extends State { /// Controller used for paginating data in [ChannelListView] class MessageSearchListController { + VoidCallback loadData; VoidCallback paginateData; } diff --git a/packages/stream_chat_flutter_core/lib/src/user_list_view_core.dart b/packages/stream_chat_flutter_core/lib/src/user_list_view_core.dart index 41d5d668..b4e0b6c4 100644 --- a/packages/stream_chat_flutter_core/lib/src/user_list_view_core.dart +++ b/packages/stream_chat_flutter_core/lib/src/user_list_view_core.dart @@ -115,6 +115,7 @@ class _UserListViewCoreState extends State ); if (widget.userListController != null) { + widget.userListController.loadData = loadData; widget.userListController.paginateData = paginateData; } } @@ -203,6 +204,17 @@ class _UserListViewCoreState extends State ); } + void loadData() { + final usersBloc = UsersBloc.of(context); + + usersBloc.queryUsers( + filter: widget.filter, + sort: widget.sort, + pagination: widget.pagination, + options: widget.options, + ); + } + void paginateData() { final usersBloc = UsersBloc.of(context); @@ -276,5 +288,6 @@ class ListUserItem extends ListItem { /// Controller used for paginating data in [ChannelListView] class UserListController { + VoidCallback loadData; VoidCallback paginateData; }