[mirotalksfu] - improve chat private msg

هذا الالتزام موجود في:
Miroslav Pejic
2022-08-11 08:25:12 +02:00
الأصل 547140ccdd
التزام 791b85b0d2
2 ملفات معدلة مع 30 إضافات و12 حذوفات

عرض الملف

@@ -1692,7 +1692,7 @@ async function getParticipantsTable(peers) {
<td><button id="hideAllButton" onclick="rc.peerAction('me','${rc.peer_id}','hide',true,true)">${_PEER.videoOff}</button></td>
<td></td>
<td><button id="sendAllButton" onclick="rc.selectFileToShare('${rc.peer_id}', true)">${_PEER.sendFile}</button></td>
<td><button id="sendMessageToAll" onclick="rc.sendMessageTo('all')">${_PEER.sendMsg}</button></td>
<td><button id="sendMessageToAll" onclick="rc.sendMessageTo('all','all')">${_PEER.sendMsg}</button></td>
<td><button id="sendVideoToAll" onclick="rc.shareVideo('all');">${_PEER.sendVideo}</button></td>
<td><button id="ejectAllButton" onclick="rc.peerAction('me','${rc.peer_id}','eject',true,true)">${_PEER.ejectPeer}</button></td>
</tr>
@@ -1730,7 +1730,7 @@ async function getParticipantsTable(peers) {
<td><button id='${peer_id}___pVideo' onclick="rc.peerAction('me',this.id,'hide')">${peer_video}</button></td>
<td><button>${peer_hand}</button></td>
<td><button id='${peer_id}___shareFile' onclick="rc.selectFileToShare(this.id)">${peer_sendFile}</button></td>
<td><button id="${peer_id}___sendMessageTo" onclick="rc.sendMessageTo('${peer_id}')">${peer_sendMsg}</button></td>
<td><button id="${peer_id}___sendMessageTo" onclick="rc.sendMessageTo('${peer_id}','${peer_name}')">${peer_sendMsg}</button></td>
<td><button id="${peer_id}___sendVideoTo" onclick="rc.shareVideo('${peer_id}');">${_PEER.sendVideo}</button></td>
<td><button id='${peer_id}___pEject' onclick="rc.peerAction('me',this.id,'eject')">${peer_eject}</button></td>
</tr>

عرض الملف

@@ -1215,7 +1215,7 @@ class RoomClient {
this.handleDD(elem.id, remotePeerId);
this.handleTS(elem.id, ts.id);
this.handleSF(sf.id);
this.handleSM(sm.id);
this.handleSM(sm.id, peer_name);
this.handleSV(sv.id);
this.handleCM(cm.id);
this.handleAU(au.id);
@@ -1833,13 +1833,14 @@ class RoomClient {
// CHAT
// ####################################################
handleSM(uid) {
handleSM(uid, name) {
const words = uid.split('___');
let peer_id = words[1];
let peer_name = name;
let btnSm = this.getId(uid);
if (btnSm) {
btnSm.addEventListener('click', () => {
this.sendMessageTo(peer_id);
this.sendMessageTo(peer_id, peer_name);
});
}
}
@@ -1881,11 +1882,11 @@ class RoomClient {
console.log('Send message:', data);
this.socket.emit('message', data);
this.setMsgAvatar('right', this.peer_name);
this.appendMessage('right', this.rightMsgAvatar, this.peer_name, this.peer_id, peer_msg, 'all');
this.appendMessage('right', this.rightMsgAvatar, this.peer_name, this.peer_id, peer_msg, 'all', 'all');
chatMessage.value = '';
}
sendMessageTo(to_peer_id) {
sendMessageTo(to_peer_id, to_peer_name) {
if (!this.thereIsParticipants()) {
chatMessage.value = '';
this.userLog('info', 'No participants in the room expect you', 'top-end');
@@ -1913,12 +1914,21 @@ class RoomClient {
peer_name: this.peer_name,
peer_id: this.peer_id,
to_peer_id: to_peer_id,
to_peer_name: to_peer_name,
peer_msg: peer_msg,
};
console.log('Send message:', data);
this.socket.emit('message', data);
this.setMsgAvatar('right', this.peer_name);
this.appendMessage('right', this.rightMsgAvatar, this.peer_name, this.peer_id, peer_msg, to_peer_id);
this.appendMessage(
'right',
this.rightMsgAvatar,
this.peer_name,
this.peer_id,
peer_msg,
to_peer_id,
to_peer_name,
);
if (!this.isChatOpen) this.toggleChat();
}
});
@@ -1927,7 +1937,15 @@ class RoomClient {
showMessage(data) {
if (!this.isChatOpen) this.toggleChat();
this.setMsgAvatar('left', data.peer_name);
this.appendMessage('left', this.leftMsgAvatar, data.peer_name, data.peer_id, data.peer_msg, data.to_peer_id);
this.appendMessage(
'left',
this.leftMsgAvatar,
data.peer_name,
data.peer_id,
data.peer_msg,
data.to_peer_id,
data.to_peer_name,
);
this.sound('message');
}
@@ -1936,13 +1954,13 @@ class RoomClient {
avatar === 'left' ? (this.leftMsgAvatar = avatarImg) : (this.rightMsgAvatar = avatarImg);
}
appendMessage(side, img, fromName, fromId, msg, toId) {
appendMessage(side, img, fromName, fromId, msg, toId, toName) {
let time = this.getTimeNow();
let msgBubble = toId == 'all' ? 'msg-bubble' : 'msg-bubble-private';
let replyMsg =
fromId === this.peer_id
? '<hr/>(private message)'
: `<hr/><button class="msger-reply-btn" onclick="rc.sendMessageTo('${fromId}')">${_PEER.sendMsg} Reply (private)</button>`;
? `<hr/>Private message to ${toName}`
: `<hr/><button class="msger-reply-btn" onclick="rc.sendMessageTo('${fromId}','${fromName}')">${_PEER.sendMsg} Reply (private)</button>`;
let message = toId == 'all' ? msg : msg + replyMsg;
let msgHTML = `
<div class="msg ${side}-msg">