From: Leo Koppelkamm Date: Thu, 23 Jun 2011 08:31:00 +0000 (+0000) Subject: Adding rowspan tests to tablesorting & make it more stable X-Git-Tag: 1.31.0-rc.0~29333 X-Git-Url: https://git.cyclocoop.org/%7B%7B%20url_for%28?a=commitdiff_plain;h=21d8e6d2ff9346a1a3183a47b9900520d1f99a32;p=lhc%2Fweb%2Fwiklou.git Adding rowspan tests to tablesorting & make it more stable --- diff --git a/resources/jquery/jquery.tablesorter.js b/resources/jquery/jquery.tablesorter.js index 808cf6b62c..75c2520774 100644 --- a/resources/jquery/jquery.tablesorter.js +++ b/resources/jquery/jquery.tablesorter.js @@ -463,7 +463,14 @@ var cell = $( this ); var next = cell.parent().nextAll(); for ( var i = 0; i < rowSpan - 1; i++ ) { - next.eq(0).find( 'td' ).eq( this.cellIndex ).before( cell.clone() ); + var td = next.eq( i ).find( 'td' ); + if ( !td.length ) { + next.eq( i ).append( cell.clone() ); + } else if ( this.cellIndex == 0 ) { + td.eq( this.cellIndex ).before( cell.clone() ); + } else { + td.eq( this.cellIndex - 1 ).after( cell.clone() ); + } } }); } diff --git a/tests/qunit/suites/resources/jquery/jquery.tablesorter.test.js b/tests/qunit/suites/resources/jquery/jquery.tablesorter.test.js index e9c075bc8e..e96898ca2a 100644 --- a/tests/qunit/suites/resources/jquery/jquery.tablesorter.test.js +++ b/tests/qunit/suites/resources/jquery/jquery.tablesorter.test.js @@ -292,7 +292,21 @@ tableTest( } ); +var planetsRowspan =[["Earth","6051.8"], jupiter, ["Mars","6051.8"], mercury, saturn, venus]; +tableTest( + 'Basic planet table: Same value for multiple rows via rowspan', + header, + planets, + planetsRowspan, + function( $table ) { + //Quick&Dirty mod + $table.find('tr:eq(3) td:eq(1), tr:eq(4) td:eq(1)').remove(); + $table.find('tr:eq(2) td:eq(1)').attr('rowspan', '3'); + $table.tablesorter(); + $table.find('.headerSort:eq(0)').click(); + } +);