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