mirror of
https://github.com/DataTables/DataTables.git
synced 2024-12-02 14:24:11 +01:00
cb014e81d7
New: New init option fnCreatedRow - very similar to fnCreatedCell but in this case used for TR elements Updated: fnCreatedCell now also gets the column index passed in
183 lines
3.8 KiB
JavaScript
Executable File
183 lines
3.8 KiB
JavaScript
Executable File
// DATA_TEMPLATE: empty_table
|
|
oTest.fnStart( "fnCreatedCell tests" );
|
|
|
|
$(document).ready( function () {
|
|
var tmp = 0;
|
|
var complete = false;
|
|
|
|
$('#example').dataTable( {
|
|
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
|
|
"aoColumnDefs": [ {
|
|
fnCreatedCell: function () {
|
|
tmp++;
|
|
},
|
|
"aTargets": ["_all"]
|
|
} ]
|
|
} );
|
|
|
|
oTest.fnWaitTest(
|
|
"Cell created is called once for each cell on init",
|
|
null,
|
|
function () { return tmp===285; }
|
|
);
|
|
|
|
oTest.fnTest(
|
|
"Created isn't called back on other draws",
|
|
function () { $('#example th:eq(1)').click(); },
|
|
function () { return tmp===285; }
|
|
);
|
|
|
|
oTest.fnWaitTest(
|
|
"Four arguments for the function",
|
|
function () {
|
|
oSession.fnRestore();
|
|
tmp = true;
|
|
complete = false;
|
|
|
|
$('#example').dataTable( {
|
|
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
|
|
"aoColumnDefs": [ {
|
|
fnCreatedRow: function () {
|
|
if ( arguments.length !== 4 ) {
|
|
tmp = false;
|
|
}
|
|
},
|
|
"aTargets": ["_all"]
|
|
} ],
|
|
fnInitComplete: function () {
|
|
complete = true;
|
|
}
|
|
} );
|
|
},
|
|
function () { return (tmp && complete); }
|
|
);
|
|
|
|
oTest.fnWaitTest(
|
|
"First argument is a TD element",
|
|
function () {
|
|
oSession.fnRestore();
|
|
tmp = true;
|
|
complete = false;
|
|
|
|
$('#example').dataTable( {
|
|
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
|
|
"aoColumnDefs": [ {
|
|
fnCreatedRow: function () {
|
|
if ( arguments[0].nodeName !== "TD" ) {
|
|
tmp = false;
|
|
}
|
|
},
|
|
"aTargets": ["_all"]
|
|
} ],
|
|
fnInitComplete: function () {
|
|
complete = true;
|
|
}
|
|
} );
|
|
},
|
|
function () { return (tmp && complete); }
|
|
);
|
|
|
|
oTest.fnWaitTest(
|
|
"Second argument is the HTML value",
|
|
function () {
|
|
oSession.fnRestore();
|
|
tmp = true;
|
|
complete = false;
|
|
|
|
$('#example').dataTable( {
|
|
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
|
|
"aoColumnDefs": [ {
|
|
fnCreatedRow: function () {
|
|
if ( arguments[1] != $('td').html() ) {
|
|
tmp = false;
|
|
}
|
|
},
|
|
"aTargets": ["_all"]
|
|
} ],
|
|
fnInitComplete: function () {
|
|
complete = true;
|
|
}
|
|
} );
|
|
},
|
|
function () { return (tmp && complete); }
|
|
);
|
|
|
|
oTest.fnWaitTest(
|
|
"Third argument is the data array",
|
|
function () {
|
|
oSession.fnRestore();
|
|
tmp = true;
|
|
complete = false;
|
|
|
|
$('#example').dataTable( {
|
|
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
|
|
"aoColumnDefs": [ {
|
|
fnCreatedRow: function () {
|
|
if ( arguments[2].length !== 5 ) {
|
|
tmp = false;
|
|
}
|
|
},
|
|
"aTargets": ["_all"]
|
|
} ],
|
|
fnInitComplete: function () {
|
|
complete = true;
|
|
}
|
|
} );
|
|
},
|
|
function () { return (tmp && complete); }
|
|
);
|
|
|
|
oTest.fnWaitTest(
|
|
"Fourth argument is the data source for the row",
|
|
function () {
|
|
oSession.fnRestore();
|
|
tmp = true;
|
|
complete = false;
|
|
|
|
$('#example').dataTable( {
|
|
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
|
|
"aoColumnDefs": [ {
|
|
fnCreatedRow: function () {
|
|
if ( arguments[2] !== this.fnSettings().aoData[ arguments[2] ]._aData ) {
|
|
tmp = false;
|
|
}
|
|
},
|
|
"aTargets": ["_all"]
|
|
} ],
|
|
fnInitComplete: function () {
|
|
complete = true;
|
|
}
|
|
} );
|
|
},
|
|
function () { return (tmp && complete); }
|
|
);
|
|
|
|
oTest.fnWaitTest(
|
|
"Fifth argument is the the col index",
|
|
function () {
|
|
oSession.fnRestore();
|
|
tmp = true;
|
|
complete = false;
|
|
|
|
$('#example').dataTable( {
|
|
"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
|
|
"aoColumnDefs": [ {
|
|
fnCreatedRow: function () {
|
|
if ( arguments[1] != $('td:eq('+arguments[4]+')', arguments[0].parentNode).html() ) {
|
|
tmp = false;
|
|
}
|
|
},
|
|
"aTargets": ["_all"]
|
|
} ],
|
|
fnInitComplete: function () {
|
|
complete = true;
|
|
}
|
|
} );
|
|
},
|
|
function () { return (tmp && complete); }
|
|
);
|
|
|
|
|
|
|
|
oTest.fnComplete();
|
|
} ); |