Merge pull request #409 from glowing-bear/hide-sidebar-onfocus
Sidebar focus fixes
This commit is contained in:
commit
08847883dd
|
@ -1,6 +1,6 @@
|
||||||
<form class="form form-horizontal" id="inputform" ng-submit="sendMessage()">
|
<form class="form form-horizontal" id="inputform" ng-submit="sendMessage()">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<textarea id="{{inputId}}" class="form-control favorite-font" ng-trim="false" rows="1" autocomplete="off" ng-model="command">
|
<textarea id="{{inputId}}" class="form-control favorite-font" ng-trim="false" rows="1" autocomplete="off" ng-model="command" ng-focus="hideSidebar()">
|
||||||
</textarea>
|
</textarea>
|
||||||
<span class="input-group-btn">
|
<span class="input-group-btn">
|
||||||
<button class="btn btn-default btn-primary">Send</button>
|
<button class="btn btn-default btn-primary">Send</button>
|
||||||
|
|
|
@ -14,10 +14,10 @@
|
||||||
<link rel="shortcut icon" type="image/png" href="assets/img/favicon.png" >
|
<link rel="shortcut icon" type="image/png" href="assets/img/favicon.png" >
|
||||||
<link href="css/style.css" rel="stylesheet" media="screen">
|
<link href="css/style.css" rel="stylesheet" media="screen">
|
||||||
<link href="css/glowingbear.css" rel="stylesheet" media="screen">
|
<link href="css/glowingbear.css" rel="stylesheet" media="screen">
|
||||||
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.8/angular.min.js"></script>
|
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.18/angular.min.js"></script>
|
||||||
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.8/angular-route.min.js"></script>
|
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.18/angular-route.min.js"></script>
|
||||||
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.8/angular-sanitize.min.js"></script>
|
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.18/angular-sanitize.min.js"></script>
|
||||||
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.8/angular-touch.min.js"></script>
|
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.18/angular-touch.min.js"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.6.0/underscore-min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.6.0/underscore-min.js"></script>
|
||||||
<script type="text/javascript" src="3rdparty/inflate.min.js"></script>
|
<script type="text/javascript" src="3rdparty/inflate.min.js"></script>
|
||||||
<script type="text/javascript" src="js/localstorage.js"></script>
|
<script type="text/javascript" src="js/localstorage.js"></script>
|
||||||
|
|
|
@ -907,9 +907,15 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout',
|
||||||
$scope.showSidebar = function() {
|
$scope.showSidebar = function() {
|
||||||
document.getElementById('sidebar').setAttribute('data-state', 'visible');
|
document.getElementById('sidebar').setAttribute('data-state', 'visible');
|
||||||
document.getElementById('content').setAttribute('sidebar-state', 'visible');
|
document.getElementById('content').setAttribute('sidebar-state', 'visible');
|
||||||
|
if ($rootScope.isMobileUi()) {
|
||||||
|
// de-focus the input bar when opening the sidebar on mobile, so that the keyboard goes down
|
||||||
|
_.each(document.getElementsByTagName('textarea'), function(elem) {
|
||||||
|
elem.blur();
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.hideSidebar = function() {
|
$rootScope.hideSidebar = function() {
|
||||||
if ($rootScope.isMobileUi()) {
|
if ($rootScope.isMobileUi()) {
|
||||||
document.getElementById('sidebar').setAttribute('data-state', 'hidden');
|
document.getElementById('sidebar').setAttribute('data-state', 'hidden');
|
||||||
document.getElementById('content').setAttribute('sidebar-state', 'hidden');
|
document.getElementById('content').setAttribute('sidebar-state', 'hidden');
|
||||||
|
@ -1394,6 +1400,10 @@ weechat.directive('inputBar', function() {
|
||||||
return document.querySelector('textarea#' + $scope.inputId);
|
return document.querySelector('textarea#' + $scope.inputId);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$scope.hideSidebar = function() {
|
||||||
|
$rootScope.hideSidebar();
|
||||||
|
};
|
||||||
|
|
||||||
$scope.completeNick = function() {
|
$scope.completeNick = function() {
|
||||||
// input DOM node
|
// input DOM node
|
||||||
var inputNode = $scope.getInputNode();
|
var inputNode = $scope.getInputNode();
|
||||||
|
|
Loading…
Reference in New Issue