1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | // DATA_TEMPLATE: dom_data oTest.fnStart( "aoColumns.bSortable" ); $(document).ready( function () { /* Check the default */ var oTable = $('#example').dataTable(); var oSettings = oTable.fnSettings(); oTest.fnTest( "All columns are sortable by default", function () { $('#example thead th:eq(1)').click(); }, function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "All others"; } ); oTest.fnTest( "Can disable sorting from one column", function () { oSession.fnRestore(); $('#example').dataTable( { "aoColumns": [ null, { "bSortable": false }, null, null, null ] } ); $('#example thead th:eq(1)').click(); }, function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; } ); oTest.fnTest( "Disabled column has no sorting class", null, function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") == false; } ); oTest.fnTest( "Other columns can still sort", function () { $('#example thead th:eq(4)').click(); $('#example thead th:eq(4)').click(); }, function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; } ); oTest.fnTest( "Disable sorting on multiple columns - no sorting classes", function () { oSession.fnRestore(); $('#example').dataTable( { "aoColumns": [ null, { "bSortable": false }, null, { "bSortable": false }, null ] } ); }, function () { var bReturn = $('#example thead th:eq(1)').hasClass("sorting") || $('#example thead th:eq(3)').hasClass("sorting") return bReturn == false; } ); oTest.fnTest( "Sorting on disabled column 1 has no effect", function () { $('#example thead th:eq(1)').click(); }, function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; } ); oTest.fnTest( "Sorting on disabled column 2 has no effect", function () { $('#example thead th:eq(3)').click(); }, function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; } ); oTest.fnTest( "Second sort on disabled column 2 has no effect", function () { $('#example thead th:eq(3)').click(); }, function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; } ); oTest.fnTest( "Even with multiple disabled sorting columns other columns can still sort", function () { $('#example thead th:eq(4)').click(); $('#example thead th:eq(4)').click(); }, function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; } ); oTest.fnComplete(); } ); |