[6286] | 1 | // DATA_TEMPLATE: js_data |
---|
| 2 | oTest.fnStart( "aoColumns.bUseRendered" ); |
---|
| 3 | |
---|
| 4 | /* bUseRendered is used to alter sorting data, if false then the original data is used for |
---|
| 5 | * sorting rather than the rendered data |
---|
| 6 | */ |
---|
| 7 | |
---|
| 8 | $(document).ready( function () { |
---|
| 9 | /* Check the default */ |
---|
| 10 | var mTmp = 0; |
---|
| 11 | |
---|
| 12 | var oTable = $('#example').dataTable( { |
---|
| 13 | "aaData": gaaData, |
---|
| 14 | "aoColumns": [ |
---|
| 15 | null, |
---|
| 16 | { "fnRender": function (a) { |
---|
| 17 | if ( mTmp == 0 ) { |
---|
| 18 | mTmp++; |
---|
| 19 | return "aaa"; |
---|
| 20 | } else |
---|
| 21 | return a.aData[a.iDataColumn]; |
---|
| 22 | } }, |
---|
| 23 | null, |
---|
| 24 | null, |
---|
| 25 | null |
---|
| 26 | ] |
---|
| 27 | } ); |
---|
| 28 | var oSettings = oTable.fnSettings(); |
---|
| 29 | |
---|
| 30 | oTest.fnTest( |
---|
| 31 | "Default for bUseRendered is true - rendered data is used for sorting", |
---|
| 32 | function () { $('#example thead th:eq(1)').click(); }, |
---|
| 33 | function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'aaa'; } |
---|
| 34 | ); |
---|
| 35 | |
---|
| 36 | oTest.fnTest( |
---|
| 37 | "When bUseRendered is false, original data is used for sorting", |
---|
| 38 | function () { |
---|
| 39 | mTmp = 0; |
---|
| 40 | oSession.fnRestore(); |
---|
| 41 | oTable = $('#example').dataTable( { |
---|
| 42 | "aaData": gaaData, |
---|
| 43 | "aoColumns": [ |
---|
| 44 | null, |
---|
| 45 | { |
---|
| 46 | "bUseRendered": false, |
---|
| 47 | "fnRender": function (a) { |
---|
| 48 | if ( mTmp == 0 ) { |
---|
| 49 | mTmp++; |
---|
| 50 | return "aaa"; |
---|
| 51 | } else { |
---|
| 52 | return a.aData[a.iDataColumn]; |
---|
| 53 | } |
---|
| 54 | } |
---|
| 55 | }, |
---|
| 56 | null, |
---|
| 57 | null, |
---|
| 58 | null |
---|
| 59 | ] |
---|
| 60 | } ); |
---|
| 61 | $('#example thead th:eq(1)').click(); |
---|
| 62 | }, |
---|
| 63 | function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; } |
---|
| 64 | ); |
---|
| 65 | |
---|
| 66 | |
---|
| 67 | oTest.fnTest( |
---|
| 68 | "bUseRendered set to false on one columns and true (default) on two others", |
---|
| 69 | function () { |
---|
| 70 | mTmp = 0; |
---|
| 71 | var mTmp2 = 0; |
---|
| 72 | var mTmp3 = 0; |
---|
| 73 | |
---|
| 74 | oSession.fnRestore(); |
---|
| 75 | oTable = $('#example').dataTable( { |
---|
| 76 | "aaData": gaaData, |
---|
| 77 | "aoColumns": [ |
---|
| 78 | { |
---|
| 79 | "fnRender": function (a) { |
---|
| 80 | if ( mTmp == 0 ) { |
---|
| 81 | mTmp++; |
---|
| 82 | return "aaa1"; |
---|
| 83 | } else { |
---|
| 84 | return a.aData[a.iDataColumn]; |
---|
| 85 | } |
---|
| 86 | } |
---|
| 87 | }, |
---|
| 88 | { |
---|
| 89 | "bUseRendered": false, |
---|
| 90 | "fnRender": function (a) { |
---|
| 91 | if ( mTmp2 == 0 ) { |
---|
| 92 | mTmp2++; |
---|
| 93 | return "aaa2"; |
---|
| 94 | } else { |
---|
| 95 | return a.aData[a.iDataColumn]; |
---|
| 96 | } |
---|
| 97 | } |
---|
| 98 | }, |
---|
| 99 | { |
---|
| 100 | "fnRender": function (a) { |
---|
| 101 | if ( mTmp3 == 0 ) { |
---|
| 102 | mTmp3++; |
---|
| 103 | return "zzz3"; |
---|
| 104 | } else { |
---|
| 105 | return a.aData[a.iDataColumn]; |
---|
| 106 | } |
---|
| 107 | } |
---|
| 108 | }, |
---|
| 109 | null, |
---|
| 110 | null |
---|
| 111 | ] |
---|
| 112 | } ); |
---|
| 113 | }, |
---|
| 114 | function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'aaa1'; } |
---|
| 115 | ); |
---|
| 116 | |
---|
| 117 | oTest.fnTest( |
---|
| 118 | "Multi-column rendering - 2nd column sorting", |
---|
| 119 | function () { $('#example thead th:eq(1)').click(); }, |
---|
| 120 | function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; } |
---|
| 121 | ); |
---|
| 122 | |
---|
| 123 | oTest.fnTest( |
---|
| 124 | "Multi-column rendering - 3rd column sorting", |
---|
| 125 | function () { |
---|
| 126 | $('#example thead th:eq(2)').click(); |
---|
| 127 | $('#example thead th:eq(2)').click(); |
---|
| 128 | }, |
---|
| 129 | function () { return $('#example tbody tr:eq(0) td:eq(2)').html() == 'zzz3'; } |
---|
| 130 | ); |
---|
| 131 | |
---|
| 132 | oTest.fnTest( |
---|
| 133 | "Multi-column rendering - 4th column sorting", |
---|
| 134 | function () { $('#example thead th:eq(3)').click(); }, |
---|
| 135 | function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == '-'; } |
---|
| 136 | ); |
---|
| 137 | |
---|
| 138 | oTest.fnTest( |
---|
| 139 | "Multi-column rendering - 5th column sorting", |
---|
| 140 | function () { $('#example thead th:eq(4)').click(); }, |
---|
| 141 | function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; } |
---|
| 142 | ); |
---|
| 143 | |
---|
| 144 | |
---|
| 145 | |
---|
| 146 | |
---|
| 147 | oTest.fnComplete(); |
---|
| 148 | } ); |
---|