let Messages = class { static pick(elm) { var elm = $(elm); elm.toggleClass('active'); autosize($('#send_box')[0]); if($('.message.active').length == 0) $('#selected_clip').addClass('is-hidden'); else $('#selected_clip').removeClass('is-hidden'); } static unselectAll(msg) { $('.active').each(function() { $(this).removeClass('active'); }); $('#selected_clip').addClass('is-hidden'); } static setupTyping() { var send_typing = false; var timeout = null; $('#send_box').keydown(function(e) { if (!send_typing) { sendTyping(); send_typing = true; return; } clearTimeout(timeout); timeout = setTimeout(function() { send_typing = false; sendTypingEnd(); },2000); }); $('#send_box').keypress(function(e) { if(e.key === 'Enter' && !e.shiftKey) { send(); e.preventDefault(); clearTimeout(timeout); send_typing = false; sendTypingEnd() return } }); } static pushTypingStatus() { var elm = $('#status_area > #typing'); if(elm.length > 0) elm.remove(); if(typing.length == 0) return; var text = ''; typing.forEach(function(val) { var name = vayakti[val]; if(name == undefined) name = ""; text += name+'('+val+')'+ ',' }) text = text.substr(0, text.length-1); text += ' is typing...' $('#status_area').append($('
', { id: 'typing' }).append(text)); var scroll = $("#message_area_scroll"); scroll.scrollTop(scroll[0].scrollHeight); } static pushMessage(sender, appendElm, msg_id) { var isMe = myinfo.kunjika == sender; var area = $('#message_area'); var parent = $('
'); var elm = $('
', {class: 'message '+(isMe?'message-me':'message-other'), msgid: msg_id}); elm.append($('
', {class: 'message-sub', name: 'by'}) .append($('').text(vayakti[sender]+'('+sender+')')) .append($('', {class: 'pull-right'}).text(Messages.currentTime()))); appendElm.forEach(function(app) { elm.append(app); }); elm.click(function() { Messages.pick(this); }); elm.on('taphold', { delay: 700 },function () { if(parent.find('#react_bar').length > 0) { $('#react_bar').remove(); return } else if($('#react_bar').length > 0) $('#react_bar').remove(); var ee = $('
', {id: 'react_bar'}); ['like', 'heart', 'laugh', 'sad'].forEach(function(i) { ee.append($('