Basic menu item for message replies.
This commit is contained in:
@@ -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",
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user