// // Built-in Chat // function Chat() {} // We start with these values Chat.nickname = ''; // Load chat settings from local storage. Chat.loadSettings = function() { this.setNickname(LS.has('chatname')? LS.loadStr('chatname') : ''); }; // Set chat nickname. Chat.setNickname = function(nickname) { if (this.nickname !== nickname) { this.nickname = nickname; LS.save('chatname', nickname); $('#openwebrx-chat-name').val(nickname); } }; Chat.recvMessage = function(nickname, text, color = 'white') { // Show chat panel toggle_panel('openwebrx-panel-log', true); divlog( '[' + Utils.htmlEscape(nickname) + ']: ' + '' + Utils.htmlEscape(text) + '' ); }; Chat.sendMessage = function(text, nickname = '') { ws.send(JSON.stringify({ 'type': 'sendmessage', 'name': nickname, 'text': text })); }; // Collect nick and message from controls and send message. Chat.send = function() { this.setNickname($('#openwebrx-chat-name').val().trim()); var msg = $('#openwebrx-chat-message').val().trim(); if (msg.length > 0) this.sendMessage(msg, this.nickname); $('#openwebrx-chat-message').val(''); }; // Attach events to chat controls. Chat.keyPress = function(event) { if (event.key === 'Enter') { event.preventDefault(); this.send(); } };