Basic menu item for message replies.

This commit is contained in:
aforge
2021-07-20 18:19:34 +03:00
parent a24ee01b37
commit 1961e76699
3 changed files with 21 additions and 0 deletions
+1
View File
@@ -285,6 +285,7 @@
"menu_item_info": "Info", "menu_item_info": "Info",
"menu_item_member_delete": "Remove", "menu_item_member_delete": "Remove",
"menu_item_mute": "Mute", "menu_item_mute": "Mute",
"menu_item_reply": "Reply",
"menu_item_send_retry": "Retry", "menu_item_send_retry": "Retry",
"menu_item_unblock": "Unblock", "menu_item_unblock": "Unblock",
"menu_item_unmute": "Unmute", "menu_item_unmute": "Unmute",
+4
View File
@@ -60,6 +60,10 @@ export default class ChatMessage extends React.Component {
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
const menuItems = this.props.received == Tinode.MESSAGE_STATUS_FAILED ? ['menu_item_send_retry'] : []; const menuItems = this.props.received == Tinode.MESSAGE_STATUS_FAILED ? ['menu_item_send_retry'] : [];
if (this.props.received >= Tinode.MESSAGE_STATUS_FAILED &&
this.props.received < Tinode.MESSAGE_STATUS_DEL_RANGE) {
menuItems.push('menu_item_reply');
}
this.props.showContextMenu({ seq: this.props.seq, content: this.props.content, this.props.showContextMenu({ seq: this.props.seq, content: this.props.content,
y: e.pageY, x: e.pageX }, menuItems); y: e.pageY, x: e.pageX }, menuItems);
} }
+16
View File
@@ -47,6 +47,11 @@ const messages = defineMessages({
defaultMessage: 'Unmute', defaultMessage: 'Unmute',
description: 'Turn notifications on' description: 'Turn notifications on'
}, },
reply: {
id: 'menu_item_reply',
defaultMessage: 'Reply',
description: 'Reply to message'
},
topic_delete: { topic_delete: {
id: 'menu_item_delete_topic', id: 'menu_item_delete_topic',
defaultMessage: 'Delete', defaultMessage: 'Delete',
@@ -166,6 +171,13 @@ class ContextMenu extends React.Component {
return this.retryMessage(params, errorHandler); return this.retryMessage(params, errorHandler);
} }
}, },
'menu_item_reply': {
id: 'menu_item_reply',
title: formatMessage(messages.reply),
handler: (params, errorHandler) => {
return this.replyToMessage(params, errorHandler);
}
},
'topic_unmute': { 'topic_unmute': {
id: 'topic_unmute', id: 'topic_unmute',
title: formatMessage(messages.unmute), title: formatMessage(messages.unmute),
@@ -373,6 +385,10 @@ class ContextMenu extends React.Component {
}); });
} }
replyToMessage(params, errorHandler) {
console.log("Reply to message", params);
}
// Function is used by context menu to set permissions. // Function is used by context menu to set permissions.
topicPermissionSetter(mode, params, errorHandler) { topicPermissionSetter(mode, params, errorHandler) {
const topic = this.props.tinode.getTopic(params.topicName); const topic = this.props.tinode.getTopic(params.topicName);