From ef2498643144a2168aca1a7d90b4a242e602fdfa Mon Sep 17 00:00:00 2001 From: David Cormier Date: Sun, 27 Oct 2013 17:04:21 -0400 Subject: [PATCH] Move inputbar related events to inputbar directive --- js/websockets.js | 71 ++---------------------------------------------- 1 file changed, 3 insertions(+), 68 deletions(-) diff --git a/js/websockets.js b/js/websockets.js index 46b9e4a..dc0f89b 100644 --- a/js/websockets.js +++ b/js/websockets.js @@ -448,7 +448,7 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout', $rootScope.$on('activeBufferChanged', function() { $rootScope.scrollToBottom(); - document.getElementById('sendMessage').focus(); + var ab = models.getActiveBuffer(); $rootScope.pageTitle = ab.shortName + ' | ' + ab.title; @@ -540,10 +540,6 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout', $timeout(scroll, 500); } - $scope.sendMessage = function() { - connection.sendMessage($scope.command); - $scope.command = ""; - }; $scope.connect = function() { connection.connect($scope.host, $scope.port, $scope.password, $scope.ssl); @@ -674,69 +670,6 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout', } $scope.handleKeyPress = function($event) { - // don't do anything if not connected - if (!$rootScope.connected) { - return true; - } - - // Support different browser quirks - var code = $event.keyCode ? $event.keyCode : $event.charCode; - - // any other key than Tab resets nick completion iteration - var tmpIterCandidate = $rootScope.iterCandidate; - $rootScope.iterCandidate = null; - - // Left Alt+[0-9] -> jump to buffer - if ($event.altKey && !$event.ctrlKey && (code > 47 && code < 58)) { - if (code == 48) { - code = 58; - } - - var bufferNumber = code - 48; - var activeBuffer = models.getBufferByIndex(bufferNumber); - if (activeBuffer) { - models.setActiveBuffer(activeBuffer.id); - $event.preventDefault(); - } - } - - // Tab -> nick completion - if (code == 9 && !$event.altKey && !$event.ctrlKey) { - $event.preventDefault(); - $rootScope.iterCandidate = tmpIterCandidate; - $rootScope.completeNick(); - return true; - } - - // Alt+A -> switch to buffer with activity - if ($event.altKey && (code == 97 || code == 65)) { - $event.preventDefault(); - $rootScope.switchToActivityBuffer(); - return true; - } - - // Alt+L -> focus on input bar - if ($event.altKey && (code == 76 || code == 108)) { - $event.preventDefault(); - var inputNode = document.getElementById('sendMessage'); - inputNode.focus(); - inputNode.setSelectionRange(inputNode.value.length, inputNode.value.length); - return true; - } - - // Escape -> disconnect - if (code == 27) { - $event.preventDefault(); - connection.disconnect(); - return true; - } - - // Ctrl+G -> focus on buffer filter input - if ($event.ctrlKey && (code == 103 || code == 71)) { - $event.preventDefault(); - document.getElementById('bufferFilter').focus(); - return true; - } }; $scope.handleSearchBoxKey = function($event) { // Support different browser quirks @@ -767,6 +700,7 @@ weechat.config(['$routeProvider', ]); weechat.directive('inputBar', function() { + return { templateUrl: 'directives/input.html', @@ -809,6 +743,7 @@ weechat.directive('inputBar', function() { } + // Send the message to the websocket $scope.sendMessage = function() { connection.sendMessage($scope.command);