| | |
| | | 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'; |
| | | container.find('li[role=treeitem]:has(a)')[limit]().find('a:'+limit).focus(); |
| | | focus_noscroll(container.find('li[role=treeitem]:has(a)')[limit]().find('a:'+limit)); |
| | | break; |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Focus the given element without scrolling the list container |
| | | */ |
| | | function focus_noscroll(elem) |
| | | { |
| | | if (elem.length) { |
| | | var frame = container.parent().get(0) || { scrollTop:0 }, |
| | | y = frame.scrollTop || frame.scrollY; |
| | | elem.focus(); |
| | | frame.scrollTop = y; |
| | | } |
| | | } |
| | | |
| | | |
| | | ///// drag & drop support |
| | | |