Key definitions. Moving window to window handler

This commit is contained in:
Dan Seripap 2016-02-27 10:12:57 -05:00
parent 7fa4517e01
commit 87802963f9
2 changed files with 31 additions and 23 deletions

View File

@ -13,9 +13,7 @@ $(function() {
const darkwire = new Darkwire();
const cryptoUtil = new CryptoUtil();
let $window = $(window);
let $participants = $('#participants');
let keyMapping = [];
let roomId = window.location.pathname.length ? window.location.pathname : null;
@ -68,25 +66,6 @@ $(function() {
return sanitized;
}
// Keyboard events
$window.keydown((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();
} else {
keyMapping[event.keyCode] = event.type === 'keydown';
}
}).keyup((event) => {
if ((keyMapping[17] || keyMapping[91] || keyMapping[93]) && keyMapping[75]) {
chat.clear();
}
keyMapping = [];
});
// Select message input when closing modal
$('.modal').on('hidden.bs.modal', function(e) {
chat.inputMessage.focus();
@ -205,7 +184,7 @@ $(function() {
darkwire.audio.soundEnabled = state;
});
function handleMessageSending() {
window.handleMessageSending = function() {
let message = chat.inputMessage;
let cleanedMessage = cleanInput(message.val());
let slashCommand = chat.parseCommand(cleanedMessage);
@ -227,7 +206,7 @@ $(function() {
}).catch((err) => {
console.log(err);
});
}
};
window.triggerFileTransfer = function(context) {
const fileId = context.getAttribute('data-file');

View File

@ -4,6 +4,9 @@ export default class WindowHandler {
constructor(darkwire, socket, chat) {
this._isActive = false;
this.fileHandler = new FileHandler(darkwire, socket, chat);
this.socket = socket;
this.chat = chat;
this.keyMapping = [];
this.newMessages = 0;
this.favicon = new Favico({
@ -52,6 +55,32 @@ export default class WindowHandler {
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 = [];
};
}
}