diff --git a/media/js/jquery.dataTables.js b/media/js/jquery.dataTables.js index c361040a..08ec04c3 100644 --- a/media/js/jquery.dataTables.js +++ b/media/js/jquery.dataTables.js @@ -4234,7 +4234,10 @@ * } * So basically we have a test for each column, and if that column matches, test the * next one. If all columns match, then we use a numeric sort on the position the two - * row have in the original data array in order to provide a stable sort. + * row have in the original data array in order to provide a stable sort. In order to + * get the position for the numeric stablisation, we need to take a clone of the current + * display array and then get the position of the sorting value from that during the + * sort. * * Note that for use with the Closure compiler, we need to be very careful how we deal * with this eval. Closure will rename all of our local variables, resutling in breakage @@ -4245,11 +4248,13 @@ this.ClosureDataTables = { "fn": function(){}, "data": aoData, - "sort": _oExt.oSort + "sort": _oExt.oSort, + "master": oSettings.aiDisplayMaster.slice() }; var sDynamicSort = "this.ClosureDataTables.fn = function(a,b){"+ "var iTest, oSort=this.ClosureDataTables.sort, "+ - "aoData=this.ClosureDataTables.data;"; + "aoData=this.ClosureDataTables.data, "+ + "aiOrig=this.ClosureDataTables.master;"; for ( i=0 ; i