From 3fb36a11fe58cca1a12bd5653d70d484f997807d Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Wed, 20 Aug 2014 09:03:19 +0200 Subject: Add option to focus a treelist widget on clicks to the container (#1489997) --- program/js/treelist.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'program/js/treelist.js') diff --git a/program/js/treelist.js b/program/js/treelist.js index 3a1360229..a7cd7cd43 100644 --- a/program/js/treelist.js +++ b/program/js/treelist.js @@ -47,6 +47,7 @@ function rcube_treelist_widget(node, p) save_state: false, keyboard: true, tabexit: true, + parent_focus: false, check_droptarget: function(node) { return !node.virtual; } }, p || {}); @@ -187,6 +188,17 @@ function rcube_treelist_widget(node, p) $(document.body) .bind('keydown', keypress); + // catch focus when clicking the list container area + if (p.parent_focus) { + container.parent(':not(body)').click(function(e) { + if (!has_focus && selection) { + $(get_item(selection)).find(':focusable').first().focus(); + } + else if (!has_focus) { + container.children('li:has(:focusable)').first().find(':focusable').first().focus(); + } + }); + } /////// private methods -- cgit v1.2.3