Skip to content

Commit 9a90ced

Browse files
chore: 🚚 Rename ChatViewList to ChatList (#23)
1 parent 14105f1 commit 9a90ced

7 files changed

Lines changed: 35 additions & 35 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* **Feat**: [17](https://github.com/SimformSolutionsPvtLtd/chatview_utils/pull/17) Added
66
`loadMoreData()` method in `ChatController` to fetch older or new messages.
77
* **Feat**: [19](https://github.com/SimformSolutionsPvtLtd/chatview_utils/pull/19) Introduced
8-
`ChatViewListController`to support `ChatViewList` widget for managing chat list operations like
8+
`ChatListController`to support `ChatList` widget for managing chat list operations like
99
add, remove and update chat with animated UI, search functionality, and pagination.
1010

1111
## 0.0.1

lib/chatview_utils.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ export 'src/controller/chat_controller.dart';
55
export 'src/controller/chat_list_controller.dart';
66
export 'src/models/models.dart';
77
export 'src/values/constants.dart';
8-
export 'src/values/enumeration.dart' hide ChatViewListSortBy;
8+
export 'src/values/enumeration.dart' hide ChatListSortBy;
99
export 'src/values/typedefs.dart';

lib/src/controller/chat_list_controller.dart

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@ import 'dart:async';
22

33
import 'package:flutter/widgets.dart';
44

5-
import '../models/data_models/chat_view_list_item.dart';
5+
import '../models/data_models/chat_list_item.dart';
66
import '../values/enumeration.dart';
77
import '../values/typedefs.dart';
88
import 'auto_animated_sliver_list_controller.dart';
99

10-
base class ChatViewListController {
11-
ChatViewListController({
12-
required List<ChatViewListItem> initialChatList,
10+
base class ChatListController {
11+
ChatListController({
12+
required List<ChatListItem> initialChatList,
1313
required this.scrollController,
1414
bool disposeOtherResources = true,
1515
bool sortEnable = true,
1616
ChatSorter? chatSorter,
1717
}) : _disposeOtherResources = disposeOtherResources {
18-
_animatedListController = AutoAnimateSliverListController<ChatViewListItem>(
18+
_animatedListController = AutoAnimateSliverListController<ChatListItem>(
1919
items: initialChatList,
2020
itemKeyExtractor: (item) => item.id,
2121
);
@@ -25,7 +25,7 @@ base class ChatViewListController {
2525
final chatList = chatMap.values.toList();
2626
if (sortEnable) {
2727
chatList.sort(
28-
chatSorter ?? ChatViewListSortBy.pinFirstByPinTime.sort,
28+
chatSorter ?? ChatListSortBy.pinFirstByPinTime.sort,
2929
);
3030
}
3131
return chatList;
@@ -51,18 +51,19 @@ base class ChatViewListController {
5151
);
5252
}
5353

54-
late final AutoAnimateSliverListController<ChatViewListItem>
54+
late final AutoAnimateSliverListController<ChatListItem>
5555
_animatedListController;
5656

57-
AutoAnimateSliverListController<ChatViewListItem>
58-
get animatedListController => _animatedListController;
57+
/// Internal use only. Do not use explicitly.
58+
AutoAnimateSliverListController<ChatListItem> get animatedListController =>
59+
_animatedListController;
5960

6061
/// Stores and manages chat items by their unique IDs.
6162
/// A map is used for efficient lookup, update, and removal of chats
6263
/// by their unique id.
63-
final _chatListMap = <String, ChatViewListItem>{};
64+
final _chatListMap = <String, ChatListItem>{};
6465

65-
Map<String, ChatViewListItem>? _searchResultMap;
66+
Map<String, ChatListItem>? _searchResultMap;
6667

6768
/// Provides scroll controller for chat list.
6869
final ScrollController scrollController;
@@ -74,25 +75,24 @@ base class ChatViewListController {
7475
/// **Note**: If a search is active, this will return the full chat list,
7576
/// not the search results. And this list will be unsorted.
7677
/// So the order of in UI and from this will be different.
77-
List<ChatViewListItem> get chatList => _chatListMap.values.toList();
78+
List<ChatListItem> get chatList => _chatListMap.values.toList();
7879

7980
/// Provides map of all chats in the chat list.
8081
///
8182
/// **Note**: If a search is active, this will return the full chat map,
8283
/// not the search results. And this map will be unsorted.
83-
Map<String, ChatViewListItem> get chatListMap => _chatListMap;
84+
Map<String, ChatListItem> get chatListMap => _chatListMap;
8485

8586
bool get isSearching => _searchResultMap != null;
8687

8788
/// Stream controller to manage the chat list stream.
88-
final StreamController<Map<String, ChatViewListItem>>
89-
_chatListStreamController =
90-
StreamController<Map<String, ChatViewListItem>>.broadcast();
89+
final StreamController<Map<String, ChatListItem>> _chatListStreamController =
90+
StreamController<Map<String, ChatListItem>>.broadcast();
9191

92-
late final Stream<List<ChatViewListItem>> chatListStream;
92+
late final Stream<List<ChatListItem>> chatListStream;
9393

9494
/// Adds a chat to the chat list.
95-
void addChat(ChatViewListItem chat) {
95+
void addChat(ChatListItem chat) {
9696
_chatListMap[chat.id] = chat;
9797
// Do not add chat to stream if search is active
9898
// as we will unable to identify whether to add as we don't
@@ -106,7 +106,7 @@ base class ChatViewListController {
106106
}
107107

108108
/// Function for loading data while pagination.
109-
void loadMoreChats(List<ChatViewListItem> chatList) {
109+
void loadMoreChats(List<ChatListItem> chatList) {
110110
final chatListLength = chatList.length;
111111
_chatListMap.addAll(
112112
{
@@ -160,7 +160,7 @@ base class ChatViewListController {
160160
}
161161

162162
/// Adds the given chat search results to the stream after the current frame.
163-
void setSearchChats(List<ChatViewListItem> searchResults) {
163+
void setSearchChats(List<ChatListItem> searchResults) {
164164
final searchResultLength = searchResults.length;
165165
_searchResultMap = {
166166
for (var i = 0; i < searchResultLength; i++)

lib/src/models/data_models/chat_view_list_item.dart renamed to lib/src/models/data_models/chat_list_item.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import 'chat_user.dart';
66
import 'message.dart';
77

88
/// Model class representing a user or group in the chat list.
9-
class ChatViewListItem {
9+
class ChatListItem {
1010
/// Creates a user or group object for the chat list.
11-
const ChatViewListItem({
11+
const ChatListItem({
1212
required this.id,
1313
required this.name,
1414
this.chatRoomType = ChatRoomType.oneToOne,
@@ -51,7 +51,7 @@ class ChatViewListItem {
5151
/// Settings for the chat list view.
5252
final ChatSettings settings;
5353

54-
ChatViewListItem copyWith({
54+
ChatListItem copyWith({
5555
Defaulted<String> id = const Omit(),
5656
Defaulted<String> name = const Omit(),
5757
Defaulted<ChatRoomType> chatRoomType = const Omit(),
@@ -62,7 +62,7 @@ class ChatViewListItem {
6262
Defaulted<String>? imageUrl = const Omit(),
6363
Defaulted<int>? unreadCount = const Omit(),
6464
}) {
65-
return ChatViewListItem(
65+
return ChatListItem(
6666
id: id is Omit ? this.id : id as String,
6767
name: name is Omit ? this.name : name as String,
6868
chatRoomType: chatRoomType is Omit

lib/src/models/models.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export 'config/suggestion_item_config.dart';
2424
export 'data_models/cache_network_image_download_progress.dart';
2525
export 'data_models/chat_settings.dart';
2626
export 'data_models/chat_user.dart';
27-
export 'data_models/chat_view_list_item.dart';
27+
export 'data_models/chat_list_item.dart';
2828
export 'data_models/message.dart';
2929
export 'data_models/reaction.dart';
3030
export 'data_models/reply_message.dart';

lib/src/values/enumeration.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
*/
2222

2323
import '../extensions/extensions.dart';
24-
import '../models/data_models/chat_view_list_item.dart';
24+
import '../models/data_models/chat_list_item.dart';
2525

2626
/// {@template chatview_utils.enumeration.MessageType}
2727
/// Defines the various message types in ChatView.
@@ -335,14 +335,14 @@ extension ChatRoomTypeExtension on ChatRoomType {
335335
}
336336

337337
/// Enum for different chat list sorting options (for internal use only)
338-
enum ChatViewListSortBy {
338+
enum ChatListSortBy {
339339
/// No sorting applied.
340340
none,
341341

342342
/// Pin chats first (sorted by pin time), then unpinned by message date/time
343343
pinFirstByPinTime;
344344

345-
int sort(ChatViewListItem chat1, ChatViewListItem chat2) {
345+
int sort(ChatListItem chat1, ChatListItem chat2) {
346346
switch (this) {
347347
case none:
348348
return 0;

lib/src/values/typedefs.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'dart:async';
33
import 'package:flutter/widgets.dart';
44

55
import '../models/data_models/cache_network_image_download_progress.dart';
6-
import '../models/data_models/chat_view_list_item.dart';
6+
import '../models/data_models/chat_list_item.dart';
77
import '../models/data_models/suggestion_item_data.dart';
88

99
typedef Defaulted<T> = FutureOr<T>;
@@ -32,12 +32,12 @@ typedef SuggestionItemBuilder = Widget Function(
3232
);
3333

3434
typedef ChatSorter = int Function(
35-
ChatViewListItem chat1,
36-
ChatViewListItem chat2,
35+
ChatListItem chat1,
36+
ChatListItem chat2,
3737
);
3838

39-
typedef UpdateChatCallback = ChatViewListItem Function(
40-
ChatViewListItem previousChat,
39+
typedef UpdateChatCallback = ChatListItem Function(
40+
ChatListItem previousChat,
4141
);
4242

4343
typedef AutoAnimateItemExtractor<T> = String Function(T item);

0 commit comments

Comments
 (0)