mirror of
https://github.com/DataTables/DataTables.git
synced 2024-12-05 17:24:10 +01:00
155 lines
3.8 KiB
JavaScript
Executable File
155 lines
3.8 KiB
JavaScript
Executable File
// DATA_TEMPLATE: empty_table
|
|
oTest.fnStart( "aoColumns.bUseRendered" );
|
|
|
|
/* bUseRendered is used to alter sorting data, if false then the original data is used for
|
|
* sorting rather than the rendered data
|
|
*/
|
|
|
|
$(document).ready( function () {
|
|
/* Check the default */
|
|
var mTmp = 0;
|
|
|
|
var oTable = $('#example').dataTable( {
|
|
"sAjaxSource": "../../../examples/ajax/sources/objects.txt",
|
|
"aoColumns": [
|
|
{ "mDataProp": "engine" },
|
|
{
|
|
"mDataProp": "browser",
|
|
"fnRender": function (a) {
|
|
if ( mTmp == 0 ) {
|
|
mTmp++;
|
|
return "aaa";
|
|
} else
|
|
return a.aData['browser'];
|
|
}
|
|
},
|
|
{ "mDataProp": "platform" },
|
|
{ "mDataProp": "version" },
|
|
{ "mDataProp": "grade" }
|
|
]
|
|
} );
|
|
var oSettings = oTable.fnSettings();
|
|
|
|
oTest.fnWaitTest(
|
|
"Default for bUseRendered is true - rendered data is used for sorting",
|
|
function () { $('#example thead th:eq(1)').click(); },
|
|
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'aaa'; }
|
|
);
|
|
|
|
oTest.fnWaitTest(
|
|
"When bUseRendered is false, original data is used for sorting",
|
|
function () {
|
|
mTmp = 0;
|
|
oSession.fnRestore();
|
|
oTable = $('#example').dataTable( {
|
|
"sAjaxSource": "../../../examples/ajax/sources/objects.txt",
|
|
"aoColumns": [
|
|
{ "mDataProp": "engine" },
|
|
{
|
|
"mDataProp": "browser",
|
|
"bUseRendered": false,
|
|
"fnRender": function (a) {
|
|
if ( mTmp == 0 ) {
|
|
mTmp++;
|
|
return "aaa";
|
|
} else {
|
|
return a.aData['browser'];
|
|
}
|
|
}
|
|
},
|
|
{ "mDataProp": "platform" },
|
|
{ "mDataProp": "version" },
|
|
{ "mDataProp": "grade" }
|
|
]
|
|
} );
|
|
$('#example thead th:eq(1)').click();
|
|
},
|
|
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
|
|
);
|
|
|
|
|
|
oTest.fnWaitTest(
|
|
"bUseRendered set to false on one columns and true (default) on two others",
|
|
function () {
|
|
mTmp = 0;
|
|
var mTmp2 = 0;
|
|
var mTmp3 = 0;
|
|
|
|
oSession.fnRestore();
|
|
oTable = $('#example').dataTable( {
|
|
"sAjaxSource": "../../../examples/ajax/sources/objects.txt",
|
|
"aoColumns": [
|
|
{
|
|
"mDataProp": "engine",
|
|
"fnRender": function (a) {
|
|
if ( mTmp == 0 ) {
|
|
mTmp++;
|
|
return "aaa1";
|
|
} else {
|
|
return a.aData['engine'];
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"mDataProp": "browser",
|
|
"bUseRendered": false,
|
|
"fnRender": function (a) {
|
|
if ( mTmp2 == 0 ) {
|
|
mTmp2++;
|
|
return "aaa2";
|
|
} else {
|
|
return a.aData['browser'];
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"mDataProp": "platform",
|
|
"fnRender": function (a) {
|
|
if ( mTmp3 == 0 ) {
|
|
mTmp3++;
|
|
return "zzz3";
|
|
} else {
|
|
return a.aData['platform'];
|
|
}
|
|
}
|
|
},
|
|
{ "mDataProp": "version" },
|
|
{ "mDataProp": "grade" }
|
|
]
|
|
} );
|
|
},
|
|
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'aaa1'; }
|
|
);
|
|
|
|
oTest.fnWaitTest(
|
|
"Multi-column rendering - 2nd column sorting",
|
|
function () { $('#example thead th:eq(1)').click(); },
|
|
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
|
|
);
|
|
|
|
oTest.fnWaitTest(
|
|
"Multi-column rendering - 3rd column sorting",
|
|
function () {
|
|
$('#example thead th:eq(2)').click();
|
|
$('#example thead th:eq(2)').click();
|
|
},
|
|
function () { return $('#example tbody tr:eq(0) td:eq(2)').html() == 'zzz3'; }
|
|
);
|
|
|
|
oTest.fnWaitTest(
|
|
"Multi-column rendering - 4th column sorting",
|
|
function () { $('#example thead th:eq(3)').click(); },
|
|
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == '-'; }
|
|
);
|
|
|
|
oTest.fnWaitTest(
|
|
"Multi-column rendering - 5th column sorting",
|
|
function () { $('#example thead th:eq(4)').click(); },
|
|
function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
|
|
);
|
|
|
|
|
|
|
|
|
|
oTest.fnComplete();
|
|
} ); |