Selecting multiple patches in a range at the series view must be performed on one-by-one basis, providing apoor user-experience.
This change allows to select patches in a range by clicking the first patch, then shift-clicking the last patch in the desired range. [YOCTO #10819] Signed-off-by: Jose Lamego <jose.a.lam...@linux.intel.com> --- htdocs/js/series.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/htdocs/js/series.js b/htdocs/js/series.js index c4bbb0e..6571b0e 100644 --- a/htdocs/js/series.js +++ b/htdocs/js/series.js @@ -82,6 +82,37 @@ $(document).ready(function(){ }) }) + var lastChecked = null + var $chkboxes = $( "input[name^='patch_id']" ) + + $chkboxes.click(function(e){ + if(!lastChecked) { + lastChecked = this; + return; + } + + if(e.shiftKey) { + var start = $chkboxes.index(this); + var end = $chkboxes.index(lastChecked); + var min_val = Math.min(start,end) + var max_val = Math.max(start,end)+1 + + $chkboxes.slice(min_val, max_val).prop('checked', lastChecked.checked); + for (i=min_val; i<max_val; ++i){ + p_id=$chkboxes[i].getAttribute("name") + p_id=p_id.match(/\d+/)[0] + if (lastChecked.checked){ + insert_patchId(p_id) + } + else{ + remove_patchId(p_id) + } + } + } + + lastChecked = this; + }) + $( "input[name^='patch_id']" ).change(function(){ patchView.style.display="none" uncheck_allSel() -- 1.9.1 -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto