From a528bbb6b609bc68d3e6d2806d20796af3eff1b2 Mon Sep 17 00:00:00 2001 From: Tiax Date: Fri, 23 Nov 2012 10:49:26 +0100 Subject: [PATCH] Applying proper CSS classes for sorting to columns As discussed on the forums here: http://datatables.net/forums/discussion/12736/setting-sortable-with-aocolumndefs-glitched --- media/js/jquery.dataTables.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/media/js/jquery.dataTables.js b/media/js/jquery.dataTables.js index 511f2f0c..131e69a4 100644 --- a/media/js/jquery.dataTables.js +++ b/media/js/jquery.dataTables.js @@ -296,23 +296,27 @@ /* Check that the class assignment is correct for sorting */ if ( !oCol.bSortable || - ($.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) == -1) ) + ($.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) == -1) ) { + // either sorting is disabled for this column or neither 'asc' nor 'desc' is in the array oCol.sSortingClass = oSettings.oClasses.sSortableNone; oCol.sSortingClassJUI = ""; } - else if ( $.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) == -1 ) + else if ( $.inArray('asc', oCol.asSorting) != -1 && $.inArray('desc', oCol.asSorting) != -1 ) { + // both, 'asc' and 'desc' are in the array, so it can be sorted both directions oCol.sSortingClass = oSettings.oClasses.sSortable; oCol.sSortingClassJUI = oSettings.oClasses.sSortJUI; } else if ( $.inArray('asc', oCol.asSorting) != -1 && $.inArray('desc', oCol.asSorting) == -1 ) { + // 'asc' is in the array, while 'desc' is not, so the column can only be sorted ascending oCol.sSortingClass = oSettings.oClasses.sSortableAsc; oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIAscAllowed; } else if ( $.inArray('asc', oCol.asSorting) == -1 && $.inArray('desc', oCol.asSorting) != -1 ) { + // 'asc' is not in the array, while 'desc' is, so the column can only be sorted descending oCol.sSortingClass = oSettings.oClasses.sSortableDesc; oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIDescAllowed; }