From 19577698176df4583cbaecba41c83371c3a368da Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sat, 26 Jul 2014 04:16:02 -0400 Subject: [PATCH] Handle clicks on list parent element from the list widget --- program/js/list.js | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/program/js/list.js b/program/js/list.js index 58bb381..cdb1a46 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -61,6 +61,7 @@ this.keyboard = false; this.toggleselect = false; this.aria_listbox = false; + this.parent_focus = true; this.drag_active = false; this.col_drag_active = false; @@ -104,11 +105,13 @@ $(this.list).attr('aria-multiselectable', 'true'); } + var me = this; + if (this.tbody) { this.rows = {}; this.rowcount = 0; - var r, len, rows = this.tbody.childNodes, me = this; + var r, len, rows = this.tbody.childNodes; for (r=0, len=rows.length; r<len; r++) { this.rowcount += this.init_row(rows[r]) ? 1 : 0; @@ -125,6 +128,10 @@ $(this.list).attr('tabindex', '0') .on('focus', function(e){ me.focus(e); }); } + } + + if (this.parent_focus) { + this.list.parentNode.onclick = function(e) { me.focus(e); }; } return this; @@ -945,7 +952,7 @@ } // unselect if toggleselect is active and the same row was clicked again - if (this.toggleselect && in_selection_before) { + if (this.toggleselect && in_selection_before && !mod_key) { this.clear_selection(); } // trigger event if selection changed -- Gitblit v1.9.1