From e66a77e5601842a855963a25c3f4e229969c3392 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Sun, 17 Aug 2014 03:11:56 -0400
Subject: [PATCH] Fix contacts list update after adding/deleting/moving a contact (#1490028, #1490033)

---
 program/js/treelist.js |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/program/js/treelist.js b/program/js/treelist.js
index 5e6d326..3a13602 100644
--- a/program/js/treelist.js
+++ b/program/js/treelist.js
@@ -46,6 +46,7 @@
     scroll_speed: 20,
     save_state: false,
     keyboard: true,
+    tabexit: true,
     check_droptarget: function(node) { return !node.virtual; }
   }, p || {});
 
@@ -810,7 +811,7 @@
     var target = e.target || {},
       keyCode = rcube_event.get_keycode(e);
 
-    if (!has_focus || target.nodeName == 'INPUT' || target.nodeName == 'TEXTAREA' || target.nodeName == 'SELECT')
+    if (!has_focus || target.nodeName == 'INPUT' && keyCode != 38 && keyCode != 40 || target.nodeName == 'TEXTAREA' || target.nodeName == 'SELECT')
       return true;
 
     switch (keyCode) {
@@ -836,7 +837,7 @@
         return false;
 
       case 9:  // Tab
-        if (p.keyboard) {
+        if (p.keyboard && p.tabexit) {
           // jump to last/first item to move focus away from the treelist widget by tab
           var limit = rcube_event.get_modifier(e) == SHIFT_KEY ? 'first' : 'last';
           focus_noscroll(container.find('li[role=treeitem]:has(a)')[limit]().find('a:'+limit));

--
Gitblit v1.9.1