feat: Added list of actions to channel_list_view.dart
This commit is contained in:
@@ -80,6 +80,7 @@ class ChannelListView extends StatefulWidget {
|
|||||||
this.listBuilder,
|
this.listBuilder,
|
||||||
this.onMoreDetailsPressed,
|
this.onMoreDetailsPressed,
|
||||||
this.onDeletePressed,
|
this.onDeletePressed,
|
||||||
|
this.swipeActions,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
/// If true a default swipe to action behaviour will be added to this widget
|
/// If true a default swipe to action behaviour will be added to this widget
|
||||||
@@ -166,6 +167,9 @@ class ChannelListView extends StatefulWidget {
|
|||||||
/// Callback used when the delete slidable option is pressed
|
/// Callback used when the delete slidable option is pressed
|
||||||
final VoidCallback? onDeletePressed;
|
final VoidCallback? onDeletePressed;
|
||||||
|
|
||||||
|
/// Actions shown when list tile is swiped
|
||||||
|
final List<IconSlideAction>? swipeActions;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
_ChannelListViewState createState() => _ChannelListViewState();
|
_ChannelListViewState createState() => _ChannelListViewState();
|
||||||
}
|
}
|
||||||
@@ -473,11 +477,13 @@ class _ChannelListViewState extends State<ChannelListView> {
|
|||||||
enabled: widget.swipeToAction,
|
enabled: widget.swipeToAction,
|
||||||
actionPane: const SlidableBehindActionPane(),
|
actionPane: const SlidableBehindActionPane(),
|
||||||
actionExtentRatio: 0.12,
|
actionExtentRatio: 0.12,
|
||||||
secondaryActions: <Widget>[
|
secondaryActions: widget.swipeActions ??
|
||||||
|
<Widget>[
|
||||||
IconSlideAction(
|
IconSlideAction(
|
||||||
color: backgroundColor,
|
color: backgroundColor,
|
||||||
icon: Icons.more_horiz,
|
icon: Icons.more_horiz,
|
||||||
onTap: widget.onMoreDetailsPressed ?? () {
|
onTap: widget.onMoreDetailsPressed ??
|
||||||
|
() {
|
||||||
showModalBottomSheet(
|
showModalBottomSheet(
|
||||||
clipBehavior: Clip.hardEdge,
|
clipBehavior: Clip.hardEdge,
|
||||||
shape: const RoundedRectangleBorder(
|
shape: const RoundedRectangleBorder(
|
||||||
@@ -510,7 +516,8 @@ class _ChannelListViewState extends State<ChannelListView> {
|
|||||||
iconWidget: StreamSvgIcon.delete(
|
iconWidget: StreamSvgIcon.delete(
|
||||||
color: chatThemeData.colorTheme.accentRed,
|
color: chatThemeData.colorTheme.accentRed,
|
||||||
),
|
),
|
||||||
onTap: widget.onDeletePressed ?? () async {
|
onTap: widget.onDeletePressed ??
|
||||||
|
() async {
|
||||||
final res = await showConfirmationDialog(
|
final res = await showConfirmationDialog(
|
||||||
context,
|
context,
|
||||||
title: 'Delete Conversation',
|
title: 'Delete Conversation',
|
||||||
|
|||||||
Reference in New Issue
Block a user