0
|
1 // DATA_TEMPLATE: empty_table
|
|
2 oTest.fnStart( "bSortClasses" );
|
|
3
|
|
4 $(document).ready( function () {
|
|
5 /* Check the default */
|
|
6 $('#example').dataTable( {
|
|
7 "sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
|
|
8 "bDeferRender": true
|
|
9 } );
|
|
10
|
|
11 oTest.fnWaitTest(
|
|
12 "Sorting classes are applied by default",
|
|
13 null,
|
|
14 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
|
|
15 );
|
|
16
|
|
17 oTest.fnWaitTest(
|
|
18 "Sorting classes are applied to all required cells",
|
|
19 null,
|
|
20 function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
|
|
21 );
|
|
22
|
|
23 oTest.fnWaitTest(
|
|
24 "Sorting classes are not applied to non-sorting columns",
|
|
25 null,
|
|
26 function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
|
|
27 );
|
|
28
|
|
29 oTest.fnWaitTest(
|
|
30 "Sorting multi-column - add column 1",
|
|
31 function () {
|
|
32 oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
|
|
33 function () {
|
|
34 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
|
|
35 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2');
|
|
36 }
|
|
37 );
|
|
38
|
|
39 oTest.fnWaitTest(
|
|
40 "Sorting multi-column - add column 2",
|
|
41 function () {
|
|
42 oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
|
|
43 function () {
|
|
44 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
|
|
45 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
|
|
46 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3');
|
|
47 }
|
|
48 );
|
|
49
|
|
50 oTest.fnWaitTest(
|
|
51 "Sorting multi-column - add column 3",
|
|
52 function () {
|
|
53 oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
|
|
54 },
|
|
55 function () {
|
|
56 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
|
|
57 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
|
|
58 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') &&
|
|
59 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3');
|
|
60 }
|
|
61 );
|
|
62
|
|
63 oTest.fnWaitTest(
|
|
64 "Remove sorting classes on single column sort",
|
|
65 function () {
|
|
66 $('#example thead th:eq(4)').click();
|
|
67 },
|
|
68 function () {
|
|
69 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
|
|
70 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
|
|
71 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false &&
|
|
72 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3') == false;
|
|
73 }
|
|
74 );
|
|
75
|
|
76 oTest.fnWaitTest(
|
|
77 "Sorting class 1 was added",
|
|
78 null,
|
|
79 function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
|
|
80 );
|
|
81
|
|
82
|
|
83 /* Check can disable */
|
|
84 oTest.fnWaitTest(
|
|
85 "Sorting classes can be disabled",
|
|
86 function () {
|
|
87 oSession.fnRestore();
|
|
88 $('#example').dataTable( {
|
|
89 "sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
|
|
90 "bDeferRender": true,
|
|
91 "bSortClasses": false
|
|
92 } );
|
|
93 },
|
|
94 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
|
|
95 );
|
|
96
|
|
97 oTest.fnWaitTest(
|
|
98 "Sorting classes disabled - add column 1 - no effect",
|
|
99 function () {
|
|
100 oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
|
|
101 function () {
|
|
102 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
|
|
103 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false;
|
|
104 }
|
|
105 );
|
|
106
|
|
107 oTest.fnWaitTest(
|
|
108 "Sorting classes disabled - add column 2 - no effect",
|
|
109 function () {
|
|
110 oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
|
|
111 function () {
|
|
112 return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
|
|
113 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
|
|
114 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false;
|
|
115 }
|
|
116 );
|
|
117
|
|
118
|
|
119 /* Enable makes no difference */
|
|
120 oTest.fnWaitTest(
|
|
121 "Sorting classes enabled override",
|
|
122 function () {
|
|
123 oSession.fnRestore();
|
|
124 $('#example').dataTable( {
|
|
125 "sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
|
|
126 "bDeferRender": true,
|
|
127 "bSortClasses": true
|
|
128 } );
|
|
129 },
|
|
130 function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
|
|
131 );
|
|
132
|
|
133
|
|
134 oTest.fnComplete();
|
|
135 } ); |