Focus input bar when not on mobile

This improves the UX on desktop while avoiding the virtual keyboard
popping up on touch devices
This commit is contained in:
Felix Eckhofer 2014-02-24 10:47:17 +01:00
parent 41bdb90a5e
commit 7a003f8227

View file

@ -486,7 +486,7 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
});
}
var mobile_cutoff = 968;
$scope.mobile_cutoff = 968;
$rootScope.countWatchers = function () {
var root = $(document.getElementsByTagName('body'));
@ -663,7 +663,7 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
// If we are on mobile chhange some defaults
// We use 968 px as the cutoff, which should match the value in glowingbear.css
if (document.body.clientWidth < mobile_cutoff) {
if (document.body.clientWidth < $scope.mobile_cutoff) {
$scope.nonicklist = true;
$scope.noembed = true;
$scope.notimestamp = true;
@ -671,13 +671,13 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
// Open and close panels while on mobile devices through swiping
$scope.swipeSidebar = function() {
if (document.body.clientWidth < mobile_cutoff) {
if (document.body.clientWidth < $scope.mobile_cutoff) {
$scope.showSidebar = !$scope.showSidebar;
}
};
$scope.openNick = function() {
if (document.body.clientWidth < mobile_cutoff) {
if (document.body.clientWidth < $scope.mobile_cutoff) {
if($scope.nonicklist) {
$scope.nonicklist = false;
}
@ -685,7 +685,7 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
};
$scope.closeNick = function() {
if (document.body.clientWidth < mobile_cutoff) {
if (document.body.clientWidth < $scope.mobile_cutoff) {
if(!$scope.nonicklist) {
$scope.nonicklist = true;
}
@ -718,7 +718,7 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
$scope.setActiveBuffer = function(bufferId, key) {
// If we are on mobile we need to collapse the menu on sidebar clicks
// We use 968 px as the cutoff, which should match the value in glowingbear.css
if (document.body.clientWidth < mobile_cutoff) {
if (document.body.clientWidth < $scope.mobile_cutoff) {
$scope.showSidebar = false;
}
return models.setActiveBuffer(bufferId, key);
@ -1001,11 +1001,11 @@ weechat.directive('inputBar', function() {
models) {
// Focuses itself when active buffer is changed
/*
$rootScope.$on('activeBufferChanged', function() {
angular.element('#sendMessage').focus();
if (document.body.clientWidth >= $scope.mobile_cutoff) {
angular.element('#sendMessage').focus();
}
});
*/
$scope.completeNick = function() {
// input DOM node