Thomas Bruederli
2014-06-18 6c647deffce183bc37ac55e3b3ae35eb5922d428
Option to disable cursor keyboard navigation on treelist widgets
1 files modified
11 ■■■■■ changed files
program/js/treelist.js 11 ●●●●● patch | view | raw | blame | history
program/js/treelist.js
@@ -45,6 +45,7 @@
    scroll_step: 5,
    scroll_speed: 20,
    save_state: false,
    keyboard: true,
    check_droptarget: function(node){ return !node.virtual }
  }, p || {});
@@ -735,7 +736,7 @@
      case 40:
      case 63232: // 'up', in safari keypress
      case 63233: // 'down', in safari keypress
        var li = container.find(':focus').closest('li');
        var li = p.keyboard ? container.find(':focus').closest('li') : [];
        if (li.length) {
          focus_next(li, (mod = keyCode == 38 || keyCode == 63232 ? -1 : 1));
        }
@@ -753,9 +754,11 @@
        return false;
      case 9:  // Tab
        // 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));
        if (p.keyboard) {
          // 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));
        }
        break;
    }