delete both side

This commit is contained in:
Piyush मिश्रः 2021-05-11 11:28:23 +05:30
parent 6623fda897
commit a2d4e7e70b
7 changed files with 61 additions and 45 deletions

View File

@ -67,7 +67,7 @@ pub struct SendStatus {
pub struct DeleteMsg {
pub kaksh_kunjika: String,
pub kunjika: String,
pub msg_id: Vec<u128>
pub msg_id: Vec<String>
}
// Request to send list of users

View File

@ -40,7 +40,7 @@ pub struct WsStatus {
#[derive(Clone, Message)]
#[rtype(result = "()")]
pub struct WsDeleteMsg {
pub msg_id: Vec<u128>,
pub msg_id: Vec<String>,
pub sender_kunjika: String
}

View File

@ -48,6 +48,7 @@ impl Actor for ChatPinnd {
// for actix broker
self.subscribe_system_async::<ms::pind::SendText>(ctx);
self.subscribe_system_async::<ms::pind::SendImage>(ctx);
self.subscribe_system_async::<ms::pind::DeleteMsg>(ctx);
self.subscribe_system_async::<ms::pind::SendStatus>(ctx);
self.subscribe_system_async::<ms::pind::LeaveUser>(ctx);
}

View File

@ -156,7 +156,7 @@ impl WsSansad {
}.as_array().unwrap();
for id in ids {
msg_id.push(id.as_str().unwrap().parse::<u128>().unwrap());
msg_id.push(id.as_str().unwrap().to_owned());
}
drop(ids);
@ -167,6 +167,7 @@ impl WsSansad {
return;
}
};
Broker::<SystemBroker>::issue_async(ms::pind::DeleteMsg {
kaksh_kunjika,
kunjika: self.kunjika.to_owned(),

View File

@ -155,7 +155,7 @@
<!-- Selected Clip -->
<div id="selected_clip" class="clip-win selected-clip is-hidden">
<div style="padding: 4px;">
<button onclick="Messages.deleteMessages()" class="button outline primary" style="padding: 1rem 1rem;">
<button onclick="deleteMessages()" class="button outline primary" style="padding: 1rem 1rem;">
<img src="img/delete.svg" style="height: 1.6rem;">
</button>
<button onclick="Messages.copyMessagesToClipboard()" class="button outline primary" style="padding: 1rem 1rem;">

View File

@ -47,6 +47,7 @@ socket.onerror = function(event) {
// Listen for messages
socket.onmessage = function(event) {
var j = JSON.parse(event.data);
console.log(j);
switch(j.cmd) {
case 'resp':
if(j.result == 'Err') {
@ -88,6 +89,9 @@ socket.onmessage = function(event) {
case 'img':
Messages.pushImage(j.kunjika, j.src, j.msg_id);
break;
case 'del':
Messages.deleteMessages(j.msg_id);
break;
case 'connected':
vayakti[j.kunjika] = j.name;
if(!$('#vayakti_model').hasClass('.is-hidden')) refreshVayaktiList();
@ -199,6 +203,30 @@ function send() {
autosize($('#send_box')[0]);
}
function deleteMessages() {
var prop = {
title: 'Delete Messages',
text: 'Do you really want to delete?',
checkLabel: 'Delete both side',
check: true
}
dialog(prop, function() {
if($('#dialog_check').prop('checked')) {
var msg_id = [];
$('.message.active').each(function() {
msg_id.push($(this).attr('msgid'));
});
socket.send(JSON.stringify({
cmd: "del",
msg_id: msg_id
}));
} else $('.message.active').remove();
});
$('#selected_clip').addClass('is-hidden');
}
function vayaktiList() {
refreshVayaktiList();
$('#vayakti_model').removeClass('is-hidden');
@ -228,3 +256,26 @@ function autosize(el){
$('#selected_clip').css('bottom', (el.scrollHeight + 30) + 'px');
},0);
}
var dialogCallback;
function dialog(prop, call) {
dialogCallback = call;
$('#dialog_title').text(prop.title);
$('#dialog_text').text(prop.text);
$('#dialog_check_label').text(prop.checkLabel);
if(prop.check) $('#dialog_checkbox').removeClass('is-hidden');
else $('#dialog_checkbox').addClass('is-hidden');
$('#dialog').removeClass('is-hidden');
}
$('#dialog_cancel').click(function() {
$('#dialog').addClass('is-hidden');
});
$('#dialog_ok').click(function() {
$('#dialog').addClass('is-hidden');
dialogCallback();
});

View File

@ -147,25 +147,10 @@ let Messages = class {
$('#action_clip').addClass('is-hidden');
}
static deleteMessages() {
var prop = {
title: 'Delete Messages',
text: 'Do you really want to delete?',
checkLabel: 'Delete both side',
check: true
}
dialog(prop, function() {
if($('#dialog_check').prop('checked')) {
var msg_id = [];
$('.message.active').each(function() {
msg_id.push($(this).attr('msgid'));
static deleteMessages(msgid) {
msgid.forEach(function(id) {
$('[msgid='+id+']').remove();
});
console.log(msg_id)
} else $('.message.active').remove();
});
$('#selected_clip').addClass('is-hidden');
}
static currentTime() {
@ -173,25 +158,3 @@ let Messages = class {
return today.getHours()+':'+('0' + today.getMinutes()).slice(-2);
}
}
var callback;
function dialog(prop, call) {
callback = call;
$('#dialog_title').text(prop.title);
$('#dialog_text').text(prop.text);
$('#dialog_check_label').text(prop.checkLabel);
if(prop.check) $('#dialog_checkbox').removeClass('is-hidden');
else $('#dialog_checkbox').addClass('is-hidden');
$('#dialog').removeClass('is-hidden');
}
$('#dialog_cancel').click(function() {
$('#dialog').addClass('is-hidden');
});
$('#dialog_ok').click(function() {
$('#dialog').addClass('is-hidden');
callback();
});