mirror of
https://github.com/darkwire/darkwire.io.git
synced 2025-07-18 18:54:52 +00:00
Merge branch 'develop' into cleanup-tests
This commit is contained in:
commit
c92831a4a3
@ -20,6 +20,11 @@ export default class Chat {
|
|||||||
this.bindEvents();
|
this.bindEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
clear() {
|
||||||
|
let chatArea = $('.messages');
|
||||||
|
return chatArea.fadeOut(200, () => { chatArea.empty().show(); });
|
||||||
|
}
|
||||||
|
|
||||||
// Log a message
|
// Log a message
|
||||||
log(message, options) {
|
log(message, options) {
|
||||||
let html = options && options.html === true || false;
|
let html = options && options.html === true || false;
|
||||||
@ -243,6 +248,15 @@ export default class Chat {
|
|||||||
console.log(err);
|
console.log(err);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
command: 'clear',
|
||||||
|
description: 'Clears the chat screen',
|
||||||
|
paramaters: [],
|
||||||
|
multiple: true,
|
||||||
|
usage: '/clear',
|
||||||
|
action: () => {
|
||||||
|
this.clear();
|
||||||
|
}
|
||||||
}];
|
}];
|
||||||
|
|
||||||
const color = () => {
|
const color = () => {
|
||||||
|
@ -13,7 +13,6 @@ $(function() {
|
|||||||
const darkwire = new Darkwire();
|
const darkwire = new Darkwire();
|
||||||
const cryptoUtil = new CryptoUtil();
|
const cryptoUtil = new CryptoUtil();
|
||||||
|
|
||||||
let $window = $(window);
|
|
||||||
let $participants = $('#participants');
|
let $participants = $('#participants');
|
||||||
|
|
||||||
let roomId = window.location.pathname.length ? window.location.pathname : null;
|
let roomId = window.location.pathname.length ? window.location.pathname : null;
|
||||||
@ -67,19 +66,6 @@ $(function() {
|
|||||||
return sanitized;
|
return sanitized;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Keyboard events
|
|
||||||
|
|
||||||
$window.keydown(function(event) {
|
|
||||||
// When the client hits ENTER on their keyboard and chat message input is focused
|
|
||||||
if (event.which === 13 && !event.shiftKey && $('.inputMessage').is(':focus')) {
|
|
||||||
handleMessageSending();
|
|
||||||
socket.emit('stop typing');
|
|
||||||
chat.typing = false;
|
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// Select message input when closing modal
|
// Select message input when closing modal
|
||||||
$('.modal').on('hidden.bs.modal', function(e) {
|
$('.modal').on('hidden.bs.modal', function(e) {
|
||||||
chat.inputMessage.focus();
|
chat.inputMessage.focus();
|
||||||
@ -201,7 +187,7 @@ $(function() {
|
|||||||
darkwire.audio.soundEnabled = state;
|
darkwire.audio.soundEnabled = state;
|
||||||
});
|
});
|
||||||
|
|
||||||
function handleMessageSending() {
|
window.handleMessageSending = function() {
|
||||||
let message = chat.inputMessage;
|
let message = chat.inputMessage;
|
||||||
let cleanedMessage = cleanInput(message.val());
|
let cleanedMessage = cleanInput(message.val());
|
||||||
let slashCommand = chat.parseCommand(cleanedMessage);
|
let slashCommand = chat.parseCommand(cleanedMessage);
|
||||||
@ -223,7 +209,7 @@ $(function() {
|
|||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
window.triggerFileTransfer = function(context) {
|
window.triggerFileTransfer = function(context) {
|
||||||
const fileId = context.getAttribute('data-file');
|
const fileId = context.getAttribute('data-file');
|
||||||
|
@ -4,6 +4,9 @@ export default class WindowHandler {
|
|||||||
constructor(darkwire, socket, chat) {
|
constructor(darkwire, socket, chat) {
|
||||||
this._isActive = false;
|
this._isActive = false;
|
||||||
this.fileHandler = new FileHandler(darkwire, socket, chat);
|
this.fileHandler = new FileHandler(darkwire, socket, chat);
|
||||||
|
this.socket = socket;
|
||||||
|
this.chat = chat;
|
||||||
|
this.keyMapping = [];
|
||||||
|
|
||||||
this.newMessages = 0;
|
this.newMessages = 0;
|
||||||
this.favicon = new Favico({
|
this.favicon = new Favico({
|
||||||
@ -52,6 +55,32 @@ export default class WindowHandler {
|
|||||||
this._isActive = false;
|
this._isActive = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Keyboard events
|
||||||
|
window.onkeydown = (event) => {
|
||||||
|
// When the client hits ENTER on their keyboard and chat message input is focused
|
||||||
|
if (event.which === 13 && !event.shiftKey && $('.inputMessage').is(':focus')) {
|
||||||
|
handleMessageSending();
|
||||||
|
this.socket.emit('stop typing');
|
||||||
|
this.chat.typing = false;
|
||||||
|
event.preventDefault();
|
||||||
|
} else {
|
||||||
|
this.keyMapping[event.keyCode] = event.type === 'keydown';
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
window.onkeyup = (event) => {
|
||||||
|
/**
|
||||||
|
* 17: CTRL
|
||||||
|
* 91: Left CMD
|
||||||
|
* 93: Right CMD
|
||||||
|
* 75: K
|
||||||
|
*/
|
||||||
|
if ((this.keyMapping[17] || this.keyMapping[91] || this.keyMapping[93]) && this.keyMapping[75]) {
|
||||||
|
this.chat.clear();
|
||||||
|
}
|
||||||
|
this.keyMapping = [];
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user