From 6ce20d366ca5b9eaa717fc65e2af82eb034ddcc8 Mon Sep 17 00:00:00 2001 From: Helen Hou-Sandi Date: Tue, 27 Aug 2013 20:49:33 +0000 Subject: [PATCH] Make shift-click checkbox range selection work in both directions. props c3mdigital, SergeyBiryukov. fixes #23427. git-svn-id: https://develop.svn.wordpress.org/trunk@25141 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/js/common.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/wp-admin/js/common.js b/src/wp-admin/js/common.js index b1327f9973..eaf541a80f 100644 --- a/src/wp-admin/js/common.js +++ b/src/wp-admin/js/common.js @@ -160,7 +160,7 @@ $('.contextual-help-tabs').delegate('a', 'click focus', function(e) { }); $(document).ready( function() { - var lastClicked = false, checks, first, last, checked, menu = $('#adminmenu'), mobileEvent, + var lastClicked = false, checks, first, last, checked, sliced, menu = $('#adminmenu'), mobileEvent, pageInput = $('input.current-page'), currentPage = pageInput.val(); // when the menu is folded, make the fly-out submenu header clickable @@ -286,7 +286,8 @@ $(document).ready( function() { last = checks.index( this ); checked = $(this).prop('checked'); if ( 0 < first && 0 < last && first != last ) { - checks.slice( first, last ).prop( 'checked', function(){ + sliced = ( last > first ) ? checks.slice( first, last ) : checks.slice( last, first ); + sliced.prop( 'checked', function() { if ( $(this).closest('tr').is(':visible') ) return checked;