From b04ef5258a0ae677cf92032dd672337724740339 Mon Sep 17 00:00:00 2001 From: Jeremy Fleischman Date: Fri, 16 Dec 2011 03:46:26 -0800 Subject: [PATCH 1/2] Fix for #1081. --- Source/Interface/HtmlTable.Select.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Source/Interface/HtmlTable.Select.js b/Source/Interface/HtmlTable.Select.js index 67e3228b..a65f4fb2 100644 --- a/Source/Interface/HtmlTable.Select.js +++ b/Source/Interface/HtmlTable.Select.js @@ -163,13 +163,15 @@ HtmlTable = Class.refactor(HtmlTable, { if (typeOf(startRow) == 'element') startRow = rows.indexOf(startRow); if (typeOf(endRow) == 'element') endRow = rows.indexOf(endRow); - endRow = endRow < rows.length - 1 ? endRow : rows.length - 1; - if (endRow < startRow){ - var tmp = startRow; - startRow = endRow; - endRow = tmp; - } + if (endRow < startRow){ + var tmp = startRow; + startRow = endRow; + endRow = tmp; + } + + var rowAfterEndRow = Math.min(endRow + 1, rows.length); + startRow = Math.max(startRow, 0); for (var i = startRow; i <= endRow; i++){ if (this.options.selectHiddenRows || rows[i].isDisplayed()) this[method](rows[i], true); From 78c4c81ce0ef05a4b2f908757b931d8da10039e5 Mon Sep 17 00:00:00 2001 From: Jeremy Fleischman Date: Wed, 28 Mar 2012 16:05:56 -0700 Subject: [PATCH 2/2] Fix for tabs/spaces, and the fact that we're not using rowAfterEndRow. --- Source/Interface/HtmlTable.Select.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Source/Interface/HtmlTable.Select.js b/Source/Interface/HtmlTable.Select.js index a65f4fb2..b4fd9903 100644 --- a/Source/Interface/HtmlTable.Select.js +++ b/Source/Interface/HtmlTable.Select.js @@ -164,16 +164,16 @@ HtmlTable = Class.refactor(HtmlTable, { if (typeOf(startRow) == 'element') startRow = rows.indexOf(startRow); if (typeOf(endRow) == 'element') endRow = rows.indexOf(endRow); - if (endRow < startRow){ - var tmp = startRow; - startRow = endRow; - endRow = tmp; - } + if (endRow < startRow){ + var tmp = startRow; + startRow = endRow; + endRow = tmp; + } - var rowAfterEndRow = Math.min(endRow + 1, rows.length); - startRow = Math.max(startRow, 0); + var rowAfterEndRow = Math.min(endRow + 1, rows.length); + startRow = Math.max(startRow, 0); - for (var i = startRow; i <= endRow; i++){ + for (var i = startRow; i < rowAfterEndRow; i++){ if (this.options.selectHiddenRows || rows[i].isDisplayed()) this[method](rows[i], true); }