Skip to main content
Version: v3

Customize Message Actions

Customizing Message Actions

Introduction

Message actions pop up in message overlay, when you long-press a message.

We have provided granular control over these actions.

By default we render the following message actions:

  • edit message

  • delete message

  • reply

  • thread reply

  • copy message

  • flag message

  • pin message

note

Edit and delete message are only available on messages sent by the user. Additionally, pinning a message requires you to add the roles which are allowed to pin messages.

Partially remove some message actions

For example, if you only want to keep "copy message" and "delete message", here is how to do it using the messageBuilder with our MessageWidget.

MessageListView(
messageBuilder: (context, details, messages, defaultMessage) {
return defaultMessage.copyWith(
showFlagButton: false,
showEditMessage: false,
showCopyMessage: true,
showDeleteMessage: details.isMyMessage,
showReplyMessage: false,
showThreadReplyMessage: false,
);
},
)

Add a new custom message action

The SDK also allows you to add new actions into the dialog.

For example, let's suppose you want to introduce a new message action - "Demo Action":

We use the customActions parameter of the MessageWidget to add extra actions.

MessageListView(
messageBuilder: (context, details, messages, defaultMessage) {
return defaultMessage.copyWith(
customActions: [
MessageAction(
leading: Icon(Icons.add),
title: Text('Demo Action'),
onTap: (message) {
/// Complete action here
},
),
],
);
},
)

Did you find this page helpful?