1 // DATA_TEMPLATE: empty_table
2 oTest.fnStart( "bSortClasses" );
4 $(document).ready( function () {
5 /* Check the default */
6 $('#example').dataTable( {
7 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
10 { "mData": "browser" },
11 { "mData": "platform" },
12 { "mData": "version" },
18 "Sorting classes are applied by default",
20 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
24 "Sorting classes are applied to all required cells",
26 function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
30 "Sorting classes are not applied to non-sorting columns",
32 function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
36 "Sorting multi-column - add column 1",
38 oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
40 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
41 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2');
46 "Sorting multi-column - add column 2",
48 oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
50 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
51 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
52 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3');
57 "Sorting multi-column - add column 3",
59 oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
62 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
63 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
64 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') &&
65 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3');
70 "Remove sorting classes on single column sort",
72 $('#example thead th:eq(4)').click();
75 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
76 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
77 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false &&
78 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3') == false;
83 "Sorting class 1 was added",
85 function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
89 /* Check can disable */
91 "Sorting classes can be disabled",
94 $('#example').dataTable( {
95 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
97 { "mData": "engine", "aTargets": [0] },
98 { "mData": "browser", "aTargets": [1] },
99 { "mData": "platform", "aTargets": [2] },
100 { "mData": "version", "aTargets": [3] },
101 { "mData": "grade", "aTargets": [4] }
103 "bSortClasses": false
106 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
110 "Sorting classes disabled - add column 1 - no effect",
112 oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
114 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
115 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false;
120 "Sorting classes disabled - add column 2 - no effect",
122 oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
124 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
125 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
126 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false;
131 /* Enable makes no difference */
133 "Sorting classes enabled override",
135 oSession.fnRestore();
136 $('#example').dataTable( {
137 "sAjaxSource": "../../../examples/ajax/sources/objects.txt",
139 { "mData": "engine", "aTargets": [0] },
140 { "mData": "browser", "aTargets": [1] },
141 { "mData": "platform", "aTargets": [2] },
142 { "mData": "version", "aTargets": [3] },
143 { "mData": "grade", "aTargets": [4] }
148 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }