Merge pull request #517 from GetStream/fix/messageListView
fix!: remove proxy properties from `MessageListView` [CDS-341]
This commit is contained in:
@@ -142,7 +142,6 @@ class MessageListView extends StatefulWidget {
|
||||
this.parentMessage,
|
||||
this.threadBuilder,
|
||||
this.onThreadTap,
|
||||
this.onReplyTap,
|
||||
this.dateDividerBuilder,
|
||||
this.scrollPhysics = const ClampingScrollPhysics(),
|
||||
this.initialScrollIndex,
|
||||
@@ -152,7 +151,6 @@ class MessageListView extends StatefulWidget {
|
||||
this.onMessageSwiped,
|
||||
this.highlightInitialMessage = false,
|
||||
this.messageHighlightColor,
|
||||
this.onShowMessage,
|
||||
this.showConnectionStateTile = false,
|
||||
this.headerBuilder,
|
||||
this.footerBuilder,
|
||||
@@ -160,16 +158,11 @@ class MessageListView extends StatefulWidget {
|
||||
this.emptyBuilder,
|
||||
this.systemMessageBuilder,
|
||||
this.messageListBuilder,
|
||||
this.errorWidgetBuilder,
|
||||
this.errorBuilder,
|
||||
this.messageFilter,
|
||||
this.customAttachmentBuilders,
|
||||
this.onMessageTap,
|
||||
this.onSystemMessageTap,
|
||||
this.onAttachmentTap,
|
||||
this.onLinkTap,
|
||||
this.pinPermissions = const [],
|
||||
this.textBuilder,
|
||||
this.usernameBuilder,
|
||||
this.showFloatingDateDivider = true,
|
||||
this.threadSeparatorBuilder,
|
||||
this.messageListController,
|
||||
@@ -222,9 +215,6 @@ class MessageListView extends StatefulWidget {
|
||||
/// Called when message item gets swiped
|
||||
final OnMessageSwiped? onMessageSwiped;
|
||||
|
||||
///
|
||||
final ReplyTapCallback? onReplyTap;
|
||||
|
||||
/// If true the list will highlight the initialMessage if there is any.
|
||||
///
|
||||
/// Also See [StreamChannel]
|
||||
@@ -233,9 +223,6 @@ class MessageListView extends StatefulWidget {
|
||||
/// Color used while highlighting initial message
|
||||
final Color? messageHighlightColor;
|
||||
|
||||
/// Callback when show message is tapped
|
||||
final ShowMessageCallback? onShowMessage;
|
||||
|
||||
/// Flag for showing tile on header
|
||||
final bool showConnectionStateTile;
|
||||
|
||||
@@ -262,16 +249,11 @@ class MessageListView extends StatefulWidget {
|
||||
/// This parameter can be used to display an error message to
|
||||
/// users in the event
|
||||
/// of a connection failure.
|
||||
final ErrorBuilder? errorWidgetBuilder;
|
||||
final ErrorBuilder? errorBuilder;
|
||||
|
||||
/// Predicate used to filter messages
|
||||
final bool Function(Message)? messageFilter;
|
||||
|
||||
/// Attachment builders for the default message widget
|
||||
/// Please change this in the [MessageWidget] if you are using a
|
||||
/// custom implementation
|
||||
final Map<String, AttachmentBuilder>? customAttachmentBuilders;
|
||||
|
||||
/// Called when any message is tapped except a system message
|
||||
/// (use [onSystemMessageTap] instead)
|
||||
final OnMessageTap? onMessageTap;
|
||||
@@ -279,18 +261,6 @@ class MessageListView extends StatefulWidget {
|
||||
/// Called when system message is tapped
|
||||
final OnMessageTap? onSystemMessageTap;
|
||||
|
||||
/// Customize onTap on attachment
|
||||
final void Function(Message message, Attachment attachment)? onAttachmentTap;
|
||||
|
||||
/// Customize the MessageWidget textBuilder
|
||||
final Widget Function(BuildContext context, Message message)? textBuilder;
|
||||
|
||||
/// Customize the MessageWidget usernameBuilder
|
||||
final Widget Function(BuildContext context, Message message)? usernameBuilder;
|
||||
|
||||
/// Callback for when link is tapped
|
||||
final void Function(String link)? onLinkTap;
|
||||
|
||||
/// A List of user types that have permission to pin messages
|
||||
final List<String> pinPermissions;
|
||||
|
||||
@@ -376,7 +346,7 @@ class _MessageListViewState extends State<MessageListView> {
|
||||
(context, list) => _buildListView(list),
|
||||
messageListController: _messageListController,
|
||||
parentMessage: widget.parentMessage,
|
||||
errorWidgetBuilder: widget.errorWidgetBuilder ??
|
||||
errorBuilder: widget.errorBuilder ??
|
||||
(BuildContext context, Object error) => Center(
|
||||
child: Text(
|
||||
'Something went wrong',
|
||||
@@ -823,7 +793,6 @@ class _MessageListViewState extends State<MessageListView> {
|
||||
showUsername: !isMyMessage,
|
||||
padding: const EdgeInsets.all(8),
|
||||
showSendingIndicator: false,
|
||||
onThreadTap: _onThreadTap,
|
||||
borderRadiusGeometry: BorderRadius.only(
|
||||
topLeft: const Radius.circular(16),
|
||||
bottomLeft:
|
||||
@@ -841,7 +810,6 @@ class _MessageListViewState extends State<MessageListView> {
|
||||
messageTheme: isMyMessage
|
||||
? _streamTheme.ownMessageTheme
|
||||
: _streamTheme.otherMessageTheme,
|
||||
onShowMessage: widget.onShowMessage,
|
||||
onReturnAction: (action) {
|
||||
switch (action) {
|
||||
case ReturnActionType.none:
|
||||
@@ -852,16 +820,12 @@ class _MessageListViewState extends State<MessageListView> {
|
||||
break;
|
||||
}
|
||||
},
|
||||
customAttachmentBuilders: widget.customAttachmentBuilders,
|
||||
onMessageTap: (message) {
|
||||
if (widget.onMessageTap != null) {
|
||||
widget.onMessageTap!(message);
|
||||
}
|
||||
FocusScope.of(context).unfocus();
|
||||
},
|
||||
textBuilder: widget.textBuilder,
|
||||
usernameBuilder: widget.usernameBuilder,
|
||||
onLinkTap: widget.onLinkTap,
|
||||
showPinButton: currentUserMember != null &&
|
||||
widget.pinPermissions.contains(currentUserMember.role),
|
||||
);
|
||||
@@ -1004,7 +968,6 @@ class _MessageListViewState extends State<MessageListView> {
|
||||
showFlagButton: !isMyMessage,
|
||||
borderSide: borderSide,
|
||||
onThreadTap: _onThreadTap,
|
||||
onReplyTap: widget.onReplyTap,
|
||||
attachmentBorderRadiusGeometry: BorderRadius.only(
|
||||
topLeft: Radius.circular(attachmentBorderRadius),
|
||||
bottomLeft: isMyMessage
|
||||
@@ -1055,7 +1018,6 @@ class _MessageListViewState extends State<MessageListView> {
|
||||
: _streamTheme.otherMessageTheme,
|
||||
readList: readList,
|
||||
allRead: allRead,
|
||||
onShowMessage: widget.onShowMessage,
|
||||
onReturnAction: (action) {
|
||||
switch (action) {
|
||||
case ReturnActionType.none:
|
||||
@@ -1066,17 +1028,12 @@ class _MessageListViewState extends State<MessageListView> {
|
||||
break;
|
||||
}
|
||||
},
|
||||
customAttachmentBuilders: widget.customAttachmentBuilders,
|
||||
onMessageTap: (message) {
|
||||
if (widget.onMessageTap != null) {
|
||||
widget.onMessageTap!(message);
|
||||
}
|
||||
FocusScope.of(context).unfocus();
|
||||
},
|
||||
onAttachmentTap: widget.onAttachmentTap,
|
||||
textBuilder: widget.textBuilder,
|
||||
usernameBuilder: widget.usernameBuilder,
|
||||
onLinkTap: widget.onLinkTap,
|
||||
showPinButton: widget.pinPermissions.contains(currentUserMember.role),
|
||||
);
|
||||
|
||||
|
||||
@@ -269,7 +269,7 @@ class _MessageScreenState extends State<MessageScreen> {
|
||||
},
|
||||
);
|
||||
},
|
||||
errorWidgetBuilder: (BuildContext context, error) {
|
||||
errorBuilder: (BuildContext context, error) {
|
||||
print(error.toString());
|
||||
return Center(
|
||||
child: SizedBox(
|
||||
|
||||
@@ -40,7 +40,7 @@ import 'package:stream_chat_flutter_core/src/typedef.dart';
|
||||
/// messageListBuilder: (context, list) {
|
||||
/// return MessagesPage(list);
|
||||
/// },
|
||||
/// errorWidgetBuilder: (context, err) {
|
||||
/// errorBuilder: (context, err) {
|
||||
/// return Center(
|
||||
/// child: Text('Error'),
|
||||
/// );
|
||||
@@ -67,7 +67,7 @@ class MessageListCore extends StatefulWidget {
|
||||
required this.loadingBuilder,
|
||||
required this.emptyBuilder,
|
||||
required this.messageListBuilder,
|
||||
required this.errorWidgetBuilder,
|
||||
required this.errorBuilder,
|
||||
this.parentMessage,
|
||||
this.messageListController,
|
||||
this.messageFilter,
|
||||
@@ -91,7 +91,7 @@ class MessageListCore extends StatefulWidget {
|
||||
///
|
||||
/// This parameter can be used to display an error message to users in the
|
||||
/// event of a connection failure.
|
||||
final ErrorBuilder errorWidgetBuilder;
|
||||
final ErrorBuilder errorBuilder;
|
||||
|
||||
/// If the current message belongs to a `thread`, this property represents the
|
||||
/// first message or the parent of the conversation.
|
||||
@@ -144,7 +144,7 @@ class MessageListCoreState extends State<MessageListCore> {
|
||||
growable: false,
|
||||
),
|
||||
),
|
||||
errorBuilder: widget.errorWidgetBuilder,
|
||||
errorBuilder: widget.errorBuilder,
|
||||
loadingBuilder: widget.loadingBuilder,
|
||||
builder: (context, data) {
|
||||
final messageList = data?.reversed.toList(growable: false) ?? [];
|
||||
|
||||
@@ -72,7 +72,7 @@ void main() {
|
||||
messageListBuilder: (_, __) => Offstage(),
|
||||
loadingBuilder: (BuildContext context) => Offstage(),
|
||||
emptyBuilder: (BuildContext context) => Offstage(),
|
||||
errorWidgetBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
errorBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
);
|
||||
|
||||
await tester.pumpWidget(messageListCore);
|
||||
@@ -91,7 +91,7 @@ void main() {
|
||||
messageListBuilder: (_, __) => Offstage(),
|
||||
loadingBuilder: (BuildContext context) => Offstage(),
|
||||
emptyBuilder: (BuildContext context) => Offstage(),
|
||||
errorWidgetBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
errorBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
);
|
||||
|
||||
final mockChannel = MockChannel();
|
||||
@@ -123,7 +123,7 @@ void main() {
|
||||
messageListBuilder: (_, __) => Offstage(),
|
||||
loadingBuilder: (BuildContext context) => Offstage(),
|
||||
emptyBuilder: (BuildContext context) => Offstage(),
|
||||
errorWidgetBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
errorBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
messageListController: controller,
|
||||
);
|
||||
|
||||
@@ -159,7 +159,7 @@ void main() {
|
||||
messageListBuilder: (_, __) => Offstage(),
|
||||
loadingBuilder: (BuildContext context) => Offstage(),
|
||||
emptyBuilder: (BuildContext context) => Offstage(),
|
||||
errorWidgetBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
errorBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
messageListController: controller,
|
||||
);
|
||||
|
||||
@@ -210,7 +210,7 @@ void main() {
|
||||
messageListBuilder: (_, __) => Offstage(),
|
||||
loadingBuilder: (BuildContext context) => Offstage(),
|
||||
emptyBuilder: (BuildContext context) => Offstage(),
|
||||
errorWidgetBuilder: (BuildContext context, Object error) => Offstage(
|
||||
errorBuilder: (BuildContext context, Object error) => Offstage(
|
||||
key: errorWidgetKey,
|
||||
),
|
||||
);
|
||||
@@ -252,7 +252,7 @@ void main() {
|
||||
messageListBuilder: (_, __) => Offstage(),
|
||||
loadingBuilder: (BuildContext context) => Offstage(),
|
||||
emptyBuilder: (BuildContext context) => Offstage(key: emptyWidgetKey),
|
||||
errorWidgetBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
errorBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
);
|
||||
|
||||
final mockChannel = MockChannel();
|
||||
@@ -292,7 +292,7 @@ void main() {
|
||||
messageListBuilder: (_, __) => Offstage(key: listWidgetKey),
|
||||
loadingBuilder: (BuildContext context) => Offstage(),
|
||||
emptyBuilder: (BuildContext context) => Offstage(),
|
||||
errorWidgetBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
errorBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
);
|
||||
|
||||
final mockChannel = MockChannel();
|
||||
@@ -346,7 +346,7 @@ void main() {
|
||||
),
|
||||
loadingBuilder: (BuildContext context) => Offstage(),
|
||||
emptyBuilder: (BuildContext context) => Offstage(),
|
||||
errorWidgetBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
errorBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
);
|
||||
|
||||
final mockChannel = MockChannel();
|
||||
@@ -393,7 +393,7 @@ void main() {
|
||||
),
|
||||
loadingBuilder: (BuildContext context) => Offstage(),
|
||||
emptyBuilder: (BuildContext context) => Offstage(),
|
||||
errorWidgetBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
errorBuilder: (BuildContext context, Object error) => Offstage(),
|
||||
parentMessage: parentMessage,
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user