diff --git a/component.json b/component.json
index b292dc32..a82f7ea6 100644
--- a/component.json
+++ b/component.json
@@ -1,6 +1,6 @@
{
"name": "DataTables",
- "version": "1.9.4",
+ "version": "1.10.0.dev",
"main": [
"./media/js/jquery.dataTables.js",
"./media/css/jquery.dataTables.css",
diff --git a/examples/advanced_init/defaults.html b/examples/advanced_init/defaults.html
index 6bc0a696..0034bc69 100644
--- a/examples/advanced_init/defaults.html
+++ b/examples/advanced_init/defaults.html
@@ -14,8 +14,8 @@
diff --git a/examples/basic_init/language.html b/examples/basic_init/language.html
index 7a34d9e1..792600af 100644
--- a/examples/basic_init/language.html
+++ b/examples/basic_init/language.html
@@ -14,12 +14,12 @@
diff --git a/examples/basic_init/zero_config.html b/examples/basic_init/zero_config.html
index 55c1d425..5b110bb8 100644
--- a/examples/basic_init/zero_config.html
+++ b/examples/basic_init/zero_config.html
@@ -13,7 +13,9 @@
diff --git a/examples/examples_support/de_DE.txt b/examples/examples_support/de_DE.txt
index 9f39e3e9..74db039c 100644
--- a/examples/examples_support/de_DE.txt
+++ b/examples/examples_support/de_DE.txt
@@ -1,17 +1,17 @@
{
- "sProcessing": "Bitte warten...",
- "sLengthMenu": "_MENU_ Einträge anzeigen",
- "sZeroRecords": "Keine Einträge vorhanden.",
- "sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen",
- "sInfoEmpty": "0 bis 0 von 0 Einträgen",
- "sInfoFiltered": "(gefiltert von _MAX_ Einträgen)",
- "sInfoPostFix": "",
- "sSearch": "Suchen",
- "sUrl": "",
- "oPaginate": {
- "sFirst": "Erster",
- "sPrevious": "Zurück",
- "sNext": "Nächster",
- "sLast": "Letzter"
+ "processing": "Bitte warten...",
+ "lengthMenu": "_MENU_ Einträge anzeigen",
+ "zeroRecords": "Keine Einträge vorhanden.",
+ "info": "_START_ bis _END_ von _TOTAL_ Einträgen",
+ "infoEmpty": "0 bis 0 von 0 Einträgen",
+ "infoFiltered": "(gefiltert von _MAX_ Einträgen)",
+ "infoPostFix": "",
+ "search": "Suchen",
+ "url": "",
+ "paginate": {
+ "first": "Erster",
+ "previous": "Zurück",
+ "next": "Nächster",
+ "last": "Letzter"
}
}
\ No newline at end of file
diff --git a/media/js/jquery.dataTables.js b/media/js/jquery.dataTables.js
index cc0f456f..6be3e42a 100644
--- a/media/js/jquery.dataTables.js
+++ b/media/js/jquery.dataTables.js
@@ -21,7 +21,7 @@
*/
/*jslint evil: true, undef: true, browser: true */
-/*globals $, jQuery,define,_fnExternApiFunc,_fnInitialise,_fnInitComplete,_fnLanguageCompat,_fnAddColumn,_fnColumnOptions,_fnAddData,_fnCreateTr,_fnGatherData,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnServerParams,_fnAddOptionsHtml,_fnFeatureHtmlTable,_fnScrollDraw,_fnAdjustColumnSizing,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnBuildSearchArray,_fnBuildSearchRow,_fnFilterCreateSearch,_fnDataToSearch,_fnSort,_fnSortAttachListener,_fnSortingClasses,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnFeatureHtmlLength,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnNodeToDataIndex,_fnVisbleColumns,_fnCalculateEnd,_fnConvertToWidth,_fnCalculateColumnWidths,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnDetectType,_fnSettingsFromNode,_fnGetDataMaster,_fnGetTrNodes,_fnGetTdNodes,_fnEscapeRegex,_fnDeleteIndex,_fnColumnOrdering,_fnLog,_fnClearTable,_fnSaveState,_fnLoadState,_fnCreateCookie,_fnReadCookie,_fnDetectHeader,_fnGetUniqueThs,_fnScrollBarWidth,_fnApplyToChildren,_fnMap,_fnGetRowData,_fnGetCellData,_fnSetCellData,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnApplyColumnDefs,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnJsonString,_fnNodeToColumnIndex,_fnInfoMacros,_fnBrowserDetect,_fnGetColumns*/
+/*globals $, jQuery,define,_fnExternApiFunc,_fnInitialise,_fnInitComplete,_fnLanguageCompat,_fnAddColumn,_fnColumnOptions,_fnAddData,_fnCreateTr,_fnGatherData,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnServerParams,_fnAddOptionsHtml,_fnFeatureHtmlTable,_fnScrollDraw,_fnAdjustColumnSizing,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnBuildSearchArray,_fnBuildSearchRow,_fnFilterCreateSearch,_fnDataToSearch,_fnSort,_fnSortAttachListener,_fnSortingClasses,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnFeatureHtmlLength,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnNodeToDataIndex,_fnVisbleColumns,_fnCalculateEnd,_fnConvertToWidth,_fnCalculateColumnWidths,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnDetectType,_fnSettingsFromNode,_fnGetDataMaster,_fnGetTrNodes,_fnGetTdNodes,_fnEscapeRegex,_fnDeleteIndex,_fnColumnOrdering,_fnLog,_fnClearTable,_fnSaveState,_fnLoadState,_fnCreateCookie,_fnReadCookie,_fnDetectHeader,_fnGetUniqueThs,_fnScrollBarWidth,_fnApplyToChildren,_fnMap,_fnGetRowData,_fnGetCellData,_fnSetCellData,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnApplyColumnDefs,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnJsonString,_fnNodeToColumnIndex,_fnInfoMacros,_fnBrowserDetect,_fnGetColumns,_fnHungarianMap,_fnCamelToHungarian*/
(/** @lends */function( window, document, undefined ) {
@@ -43,6 +43,108 @@
}
(/** @lends */function( $ ) {
"use strict";
+
+
+
+ /**
+ * Create a mapping object that allows camel case parameters to be looked up
+ * for their Hungarian counterparts. The mapping is stored in a private
+ * parameter called `_hungaianMap` which can be accessed on the source object.
+ * @param {object} o
+ * @memberof DataTable#oApi
+ */
+ function _fnHungarianMap ( o )
+ {
+ var
+ hungarian = 'a aa ao as b fn i m o s ',
+ match,
+ newKey,
+ map = {};
+
+ $.each( o, function (key, val) {
+ match = key.match(/^([^A-Z]+?)([A-Z])/);
+
+ if ( match && hungarian.indexOf(match[1]+' ') !== -1 )
+ {
+ newKey = key.replace( match[0], match[2].toLowerCase() );
+ map[ newKey ] = key;
+
+ if ( match[1] === 'o' )
+ {
+ _fnHungarianMap( o[key] );
+ }
+ }
+ } );
+
+ o._hungaianMap = map;
+ }
+
+
+ /**
+ * Convert from camel case parameters to Hungarian, based on a Hungarian map
+ * created by _fnHungarianMap.
+ * @param {object} src The model object which holds all parameters can has
+ * previously been run through `_fnHungarianMap`.
+ * @param {object} user The object to convert from camel case to Hungarian.
+ * @param {boolean} force When set to `true`, properties which already have a
+ * Hungarian value in the `user` object will be overwritten. Otherwise they
+ * won't be.
+ * @memberof DataTable#oApi
+ */
+ function _fnCamelToHungarian ( src, user, force )
+ {
+ if ( ! src._hungaianMap )
+ {
+ return;
+ }
+
+ var hungarianKey;
+
+ $.each( user, function (key, val) {
+ hungarianKey = src._hungaianMap[ key ];
+
+ if ( hungarianKey !== undefined && (force || user[hungarianKey] === undefined) )
+ {
+ user[hungarianKey] = user[ key ];
+
+ if ( hungarianKey.charAt(0) === 'o' )
+ {
+ _fnCamelToHungarian( src[hungarianKey], user[key] );
+ }
+ }
+ } );
+ }
+
+
+ /**
+ * Language compatibility - when certain options are given, and others aren't, we
+ * need to duplicate the values over, in order to provide backwards compatibility
+ * with older language files.
+ * @param {object} oSettings dataTables settings object
+ * @memberof DataTable#oApi
+ */
+ function _fnLanguageCompat( oLanguage )
+ {
+ var oDefaults = DataTable.defaults.oLanguage;
+
+ /* Backwards compatibility - if there is no sEmptyTable given, then use the same as
+ * sZeroRecords - assuming that is given.
+ */
+ if ( !oLanguage.sEmptyTable && oLanguage.sZeroRecords &&
+ oDefaults.sEmptyTable === "No data available in table" )
+ {
+ _fnMap( oLanguage, oLanguage, 'sZeroRecords', 'sEmptyTable' );
+ }
+
+ /* Likewise with loading records */
+ if ( !oLanguage.sLoadingRecords && oLanguage.sZeroRecords &&
+ oDefaults.sLoadingRecords === "Loading..." )
+ {
+ _fnMap( oLanguage, oLanguage, 'sZeroRecords', 'sLoadingRecords' );
+ }
+ }
+
+
/**
* DataTables is a plug-in for the jQuery Javascript library. It is a
* highly flexible tool, based upon the foundations of progressive
@@ -87,7 +189,7 @@
*/
function _fnAddColumn( oSettings, nTh )
{
- var oDefaults = DataTable.defaults.columns;
+ var oDefaults = DataTable.defaults.column;
var iCol = oSettings.aoColumns.length;
var oCol = $.extend( {}, DataTable.models.oColumn, oDefaults, {
"sSortingClass": oSettings.oClasses.sSortable,
@@ -144,6 +246,9 @@
/* User specified column options */
if ( oOptions !== undefined && oOptions !== null )
{
+ // Map camel case parameters to their Hungarian counterparts
+ _fnCamelToHungarian( DataTable.defaults.column, oOptions );
+
/* Backwards compatibility for mDataProp */
if ( oOptions.mDataProp && !oOptions.mData )
{
@@ -373,8 +478,8 @@
for ( i=aoColDefs.length-1 ; i>=0 ; i-- )
{
/* Each definition can target multiple columns, as it is an array */
- var aTargets = aoColDefs[i].aTargets;
- if ( !$.isArray( aTargets ) )
+ var aTargets = aoColDefs[i].targets || aoColDefs[i].aTargets;
+ if ( ! $.isArray( aTargets ) )
{
_fnLog( oSettings, 1, 'aTargets must be an array of targets, not a '+(typeof aTargets) );
}
@@ -1796,7 +1901,6 @@
}
-
/**
* Update the table using an Ajax call
* @param {object} oSettings dataTables settings object
@@ -1936,8 +2040,7 @@
}
}
- if ( !oSettings.oScroll.bInfinite ||
- (oSettings.oScroll.bInfinite && (oSettings.bSorted || oSettings.bFiltered)) )
+ if ( !oSettings.oScroll.bInfinite || oSettings.bSorted || oSettings.bFiltered )
{
_fnClearTable( oSettings );
}
@@ -1947,21 +2050,7 @@
var aData = _fnGetObjectDataFn( oSettings.sAjaxDataProp )( json );
for ( var i=0, iLen=aData.length ; i
*
a string - class name will be matched on the TH for the column
@@ -7927,28 +8020,32 @@
*
the string "_all" - all columns (i.e. assign a default)
*
* @member
+ *
+ * @name DataTable.defaults.columnDefs
*/
"aoColumnDefs": null,
/**
- * Basically the same as oSearch, this parameter defines the individual column
+ * Basically the same as `search`, this parameter defines the individual column
* filtering state at initialisation time. The array must be of the same size
* as the number of columns, and each element be an object with the parameters
- * "sSearch" and "bEscapeRegex" (the latter is optional). 'null' is also
+ * `search` and `escapeRegex` (the latter is optional). 'null' is also
* accepted and the default will be used.
* @type array
* @default []
+ *
* @dtopt Option
+ * @name DataTable.defaults.searchCols
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "aoSearchCols": [
+ * "searchCols": [
* null,
- * { "sSearch": "My filter" },
+ * { "search": "My filter" },
* null,
- * { "sSearch": "^[0-9]", "bEscapeRegex": false }
+ * { "search": "^[0-9]", "escapeRegex": false }
* ]
* } );
* } )
@@ -7961,14 +8058,16 @@
* array may be of any length, and DataTables will apply each class
* sequentially, looping when required.
* @type array
- * @default null Will take the values determined by the oClasses.sStripe*
+ * @default null Will take the values determined by the `oClasses.stripe*`
* options
+ *
* @dtopt Option
+ * @name DataTable.defaults.stripeClasses
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "asStripeClasses": [ 'strip1', 'strip2', 'strip3' ]
+ * "stripeClasses": [ 'strip1', 'strip2', 'strip3' ]
* } );
* } )
*/
@@ -7978,15 +8077,17 @@
/**
* Enable or disable automatic column width calculation. This can be disabled
* as an optimisation (it takes some time to calculate the widths) if the
- * tables widths are passed in using aoColumns.
+ * tables widths are passed in using `columns`.
* @type boolean
* @default true
+ *
* @dtopt Features
+ * @name DataTable.defaults.autoWidth
*
* @example
* $(document).ready( function () {
* $('#example').dataTable( {
- * "bAutoWidth": false
+ * "autoWidth": false
* } );
* } );
*/
@@ -8001,13 +8102,15 @@
* time.
* @type boolean
* @default false
+ *
* @dtopt Features
+ * @name DataTable.defaults.deferRender
*
* @example
* $(document).ready( function() {
- * var oTable = $('#example').dataTable( {
- * "sAjaxSource": "sources/arrays.txt",
- * "bDeferRender": true
+ * $('#example').dataTable( {
+ * "ajaxSource": "sources/arrays.txt",
+ * "deferRender": true
* } );
* } );
*/
@@ -8021,19 +8124,21 @@
* per normal.
* @type boolean
* @default false
+ *
* @dtopt Options
+ * @name DataTable.defaults.destroy
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "sScrollY": "200px",
- * "bPaginate": false
+ * "srollY": "200px",
+ * "paginate": false
* } );
*
* // Some time later....
* $('#example').dataTable( {
- * "bFilter": false,
- * "bDestroy": true
+ * "filter": false,
+ * "destroy": true
* } );
* } );
*/
@@ -8047,15 +8152,17 @@
* specified (this allow matching across multiple columns). Note that if you
* wish to use filtering in DataTables this must remain 'true' - to remove the
* default filtering input box and retain filtering abilities, please use
- * {@link DataTable.defaults.sDom}.
+ * {@link DataTable.defaults.dom}.
* @type boolean
* @default true
+ *
* @dtopt Features
+ * @name DataTable.defaults.filter
*
* @example
* $(document).ready( function () {
* $('#example').dataTable( {
- * "bFilter": false
+ * "filter": false
* } );
* } );
*/
@@ -8068,12 +8175,14 @@
* about filtered data if that action is being performed.
* @type boolean
* @default true
+ *
* @dtopt Features
+ * @name DataTable.defaults.info
*
* @example
* $(document).ready( function () {
* $('#example').dataTable( {
- * "bInfo": false
+ * "info": false
* } );
* } );
*/
@@ -8086,12 +8195,14 @@
* traditionally used).
* @type boolean
* @default false
+ *
* @dtopt Features
+ * @name DataTable.defaults.jQueryUI
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bJQueryUI": true
+ * "jQueryUI": true
* } );
* } );
*/
@@ -8100,15 +8211,17 @@
/**
* Allows the end user to select the size of a formatted page from a select
- * menu (sizes are 10, 25, 50 and 100). Requires pagination (bPaginate).
+ * menu (sizes are 10, 25, 50 and 100). Requires pagination (`paginate`).
* @type boolean
* @default true
+ *
* @dtopt Features
+ * @name DataTable.defaults.lengthChange
*
* @example
* $(document).ready( function () {
* $('#example').dataTable( {
- * "bLengthChange": false
+ * "lengthChange": false
* } );
* } );
*/
@@ -8119,12 +8232,14 @@
* Enable or disable pagination.
* @type boolean
* @default true
+ *
* @dtopt Features
+ * @name DataTable.defaults.paginate
*
* @example
* $(document).ready( function () {
* $('#example').dataTable( {
- * "bPaginate": false
+ * "paginate": false
* } );
* } );
*/
@@ -8138,12 +8253,14 @@
* the entries.
* @type boolean
* @default false
+ *
* @dtopt Features
+ * @name DataTable.defaults.processing
*
* @example
* $(document).ready( function () {
* $('#example').dataTable( {
- * "bProcessing": true
+ * "processing": true
* } );
* } );
*/
@@ -8156,11 +8273,13 @@
* to simply return the object that has already been set up - it will not take
* account of any changes you might have made to the initialisation object
* passed to DataTables (setting this parameter to true is an acknowledgement
- * that you understand this). bDestroy can be used to reinitialise a table if
+ * that you understand this). `destroy` can be used to reinitialise a table if
* you need.
* @type boolean
* @default false
+ *
* @dtopt Options
+ * @name DataTable.defaults.retrieve
*
* @example
* $(document).ready( function() {
@@ -8171,15 +8290,15 @@
* function initTable ()
* {
* return $('#example').dataTable( {
- * "sScrollY": "200px",
- * "bPaginate": false,
- * "bRetrieve": true
+ * "scrollY": "200px",
+ * "paginate": false,
+ * "retrieve": true
* } );
* }
*
* function tableActions ()
* {
- * var oTable = initTable();
+ * var table = initTable();
* // perform API operations with oTable
* }
*/
@@ -8192,13 +8311,15 @@
* this.
* @type boolean
* @default true
+ *
* @dtopt Options
+ * @name DataTable.defaults.scrollAutoCss
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bScrollAutoCss": false,
- * "sScrollY": "200px"
+ * "scrollAutoCss": false,
+ * "scrollY": "200px"
* } );
* } );
*/
@@ -8214,13 +8335,15 @@
* the result set will fit within the given Y height.
* @type boolean
* @default false
+ *
* @dtopt Options
+ * @name DataTable.defaults.scrollCollapse
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "sScrollY": "200",
- * "bScrollCollapse": true
+ * "scrollY": "200",
+ * "scrollCollapse": true
* } );
* } );
*/
@@ -8229,21 +8352,23 @@
/**
* Enable infinite scrolling for DataTables (to be used in combination with
- * sScrollY). Infinite scrolling means that DataTables will continually load
+ * `scrollY`). Infinite scrolling means that DataTables will continually load
* data as a user scrolls through a table, which is very useful for large
* dataset. This cannot be used with pagination, which is automatically
- * disabled. Note - the Scroller extra for DataTables is recommended in
+ * disabled. *Note*: the Scroller extra for DataTables is recommended in
* in preference to this option.
* @type boolean
* @default false
+ *
* @dtopt Features
+ * @name DataTable.defaults.scrollInfinite
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bScrollInfinite": true,
- * "bScrollCollapse": true,
- * "sScrollY": "200px"
+ * "scrollInfinite": true,
+ * "scrollCollapse": true,
+ * "scrollY": "200px"
* } );
* } );
*/
@@ -8252,18 +8377,20 @@
/**
* Configure DataTables to use server-side processing. Note that the
- * sAjaxSource parameter must also be given in order to give DataTables a
+ * `ajaxSource` parameter must also be given in order to give DataTables a
* source to obtain the required data for each draw.
* @type boolean
* @default false
+ *
* @dtopt Features
* @dtopt Server-side
+ * @name DataTable.defaults.serverSide
*
* @example
* $(document).ready( function () {
* $('#example').dataTable( {
- * "bServerSide": true,
- * "sAjaxSource": "xhr.php"
+ * "serverSide": true,
+ * "ajaxSource": "xhr.php"
* } );
* } );
*/
@@ -8272,15 +8399,17 @@
/**
* Enable or disable sorting of columns. Sorting of individual columns can be
- * disabled by the "bSortable" option for each column.
+ * disabled by the `sortable` option for each column.
* @type boolean
* @default true
+ *
* @dtopt Features
+ * @name DataTable.defaults.sort
*
* @example
* $(document).ready( function () {
* $('#example').dataTable( {
- * "bSort": false
+ * "sort": false
* } );
* } );
*/
@@ -8293,12 +8422,14 @@
* This is useful when using complex headers.
* @type boolean
* @default false
+ *
* @dtopt Options
+ * @name DataTable.defaults.sortCellsTop
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bSortCellsTop": true
+ * "sortCellsTop": true
* } );
* } );
*/
@@ -8313,12 +8444,14 @@
* turn this off.
* @type boolean
* @default true
+ *
* @dtopt Features
+ * @name DataTable.defaults.sortClasses
*
* @example
* $(document).ready( function () {
* $('#example').dataTable( {
- * "bSortClasses": false
+ * "sortClasses": false
* } );
* } );
*/
@@ -8332,12 +8465,14 @@
* display display will match what thy had previously set up.
* @type boolean
* @default false
+ *
* @dtopt Features
+ * @name DataTable.defaults.stateSave
*
* @example
* $(document).ready( function () {
* $('#example').dataTable( {
- * "bStateSave": true
+ * "stateSave": true
* } );
* } );
*/
@@ -8349,22 +8484,24 @@
* DataTables with state saving enabled. This function is called whenever
* the cookie is modified, and it expects a fully formed cookie string to be
* returned. Note that the data object passed in is a Javascript object which
- * must be converted to a string (JSON.stringify for example).
+ * must be converted to a string (`JSON.stringify` for example).
* @type function
- * @param {string} sName Name of the cookie defined by DataTables
- * @param {object} oData Data to be stored in the cookie
- * @param {string} sExpires Cookie expires string
- * @param {string} sPath Path of the cookie to set
+ * @param {string} name Name of the cookie defined by DataTables
+ * @param {object} data Data to be stored in the cookie
+ * @param {string} expires Cookie expires string
+ * @param {string} path Path of the cookie to set
* @returns {string} Cookie formatted string (which should be encoded by
* using encodeURIComponent())
+ *
* @dtopt Callbacks
+ * @name DataTable.defaults.cookieCallback
*
* @example
* $(document).ready( function () {
* $('#example').dataTable( {
- * "fnCookieCallback": function (sName, oData, sExpires, sPath) {
- * // Customise oData or sName or whatever else here
- * return sName + "="+JSON.stringify(oData)+"; expires=" + sExpires +"; path=" + sPath;
+ * "cookieCallback": function (name, data, expires, path) {
+ * // Customise data or name or whatever else here
+ * return name + "="+JSON.stringify(data)+"; expires=" + expires +"; path=" + path;
* }
* } );
* } );
@@ -8377,19 +8514,21 @@
* elements have been inserted), or registered if using a DOM source, allowing
* manipulation of the TR element (adding classes etc).
* @type function
- * @param {node} nRow "TR" element for the current row
- * @param {array} aData Raw data array for this row
- * @param {int} iDataIndex The index of this row in aoData
+ * @param {node} row "TR" element for the current row
+ * @param {array} data Raw data array for this row
+ * @param {int} dataIndex The index of this row in the internal aoData array
+ *
* @dtopt Callbacks
+ * @name DataTable.defaults.createdRow
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "fnCreatedRow": function( nRow, aData, iDataIndex ) {
+ * "createdRow": function( row, data, dataIndex ) {
* // Bold the grade for all 'A' grade browsers
- * if ( aData[4] == "A" )
+ * if ( data[4] == "A" )
* {
- * $('td:eq(4)', nRow).html( 'A' );
+ * $('td:eq(4)', row).html( 'A' );
* }
* }
* } );
@@ -8402,13 +8541,15 @@
* This function is called on every 'draw' event, and allows you to
* dynamically modify any aspect you want about the created DOM.
* @type function
- * @param {object} oSettings DataTables settings object
+ * @param {object} settings DataTables settings object
+ *
* @dtopt Callbacks
+ * @name DataTable.defaults.drawCallback
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "fnDrawCallback": function( oSettings ) {
+ * "fnDrawCallback": function( settings ) {
* alert( 'DataTables has redrawn the table' );
* }
* } );
@@ -8421,21 +8562,23 @@
* Identical to fnHeaderCallback() but for the table footer this function
* allows you to modify the table footer on every 'draw' even.
* @type function
- * @param {node} nFoot "TR" element for the footer
- * @param {array} aData Full table data (as derived from the original HTML)
- * @param {int} iStart Index for the current display starting point in the
+ * @param {node} foot "TR" element for the footer
+ * @param {array} data Full table data (as derived from the original HTML)
+ * @param {int} start Index for the current display starting point in the
* display array
- * @param {int} iEnd Index for the current display ending point in the
+ * @param {int} end Index for the current display ending point in the
* display array
- * @param {array int} aiDisplay Index array to translate the visual position
+ * @param {array int} display Index array to translate the visual position
* to the full data array
+ *
* @dtopt Callbacks
+ * @name DataTable.defaults.footerCallback
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "fnFooterCallback": function( nFoot, aData, iStart, iEnd, aiDisplay ) {
- * nFoot.getElementsByTagName('th')[0].innerHTML = "Starting index is "+iStart;
+ * "footerCallback": function( foot, data, start, end, display ) {
+ * foot.getElementsByTagName('th')[0].innerHTML = "Starting index is "+start;
* }
* } );
* } )
@@ -8451,19 +8594,21 @@
* function will override the default method DataTables uses.
* @type function
* @member
- * @param {int} iIn number to be formatted
+ * @param {int} toFormat number to be formatted
* @returns {string} formatted string for DataTables to show the number
+ *
* @dtopt Callbacks
+ * @name DataTable.defaults.formatNumber
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "fnFormatNumber": function ( iIn ) {
- * if ( iIn < 1000 ) {
- * return iIn;
+ * "formatNumber": function ( toFormat ) {
+ * if ( toFormat < 1000 ) {
+ * return toFormat;
* } else {
* var
- * s=(iIn+""),
+ * s=(toFormat+""),
* a=s.split(""), out="",
* iLen=s.length;
*
@@ -8479,20 +8624,20 @@
* } );
* } );
*/
- "fnFormatNumber": function ( iIn ) {
- if ( iIn < 1000 )
+ "fnFormatNumber": function ( toFormat ) {
+ if ( toFormat < 1000 )
{
// A small optimisation for what is likely to be the majority of use cases
- return iIn;
+ return toFormat;
}
- var s=(iIn+""), a=s.split(""), out="", iLen=s.length;
+ var s=(toFormat+""), a=s.split(""), out="", iLen=s.length;
for ( var i=0 ; iA' );
+ * if ( data[4] == "A" ) {
+ * $('td:eq(4)', row).html( 'A' );
* }
* }
* } );
@@ -8632,57 +8786,60 @@
/**
* This parameter allows you to override the default function which obtains
- * the data from the server ($.getJSON) so something more suitable for your
- * application. For example you could use POST data, or pull information from
- * a Gears or AIR database.
+ * the data from the server so something more suitable for your application. For
+ * example you could use POST data, or pull information from a Gears or AIR
+ * database.
* @type function
* @member
- * @param {string} sSource HTTP source to obtain the data from (sAjaxSource)
- * @param {array} aoData A key/value pair object containing the data to send
+ * @param {string} source HTTP source to obtain the data from (`ajaxSource`)
+ * @param {array} data A key/value pair object containing the data to send
* to the server
- * @param {function} fnCallback to be called on completion of the data get
+ * @param {function} callback to be called on completion of the data get
* process that will draw the data on the page.
- * @param {object} oSettings DataTables settings object
+ * @param {object} settings DataTables settings object
+ *
* @dtopt Callbacks
* @dtopt Server-side
+ * @name DataTable.defaults.serverData
*
* @example
- * // POST data to server
+ * // POST data to server (note you can use `serverMethod` to set the
+ * // HTTP method is that is all you want to use `serverData` for.
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bProcessing": true,
- * "bServerSide": true,
- * "sAjaxSource": "xhr.php",
- * "fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
- * oSettings.jqXHR = $.ajax( {
+ * "processing": true,
+ * "serverSide": true,
+ * "ajaxSource": "xhr.php",
+ * "serverData": function ( source, data, callback, settings ) {
+ * settings.jqXHR = $.ajax( {
* "dataType": 'json',
* "type": "POST",
- * "url": sSource,
- * "data": aoData,
- * "success": fnCallback
+ * "url": source,
+ * "data": data,
+ * "success": callback
* } );
* }
* } );
* } );
*/
- "fnServerData": function ( sUrl, aoData, fnCallback, oSettings ) {
- oSettings.jqXHR = $.ajax( {
- "url": sUrl,
- "data": aoData,
+ "fnServerData": function ( url, data, callback, settings ) {
+ settings.jqXHR = $.ajax( {
+ "url": url,
+ "data": data,
"success": function (json) {
if ( json.sError ) {
- oSettings.oApi._fnLog( oSettings, 0, json.sError );
+ settings.oApi._fnLog( settings, 0, json.sError );
}
- $(oSettings.oInstance).trigger('xhr', [oSettings, json]);
- fnCallback( json );
+ $(oSettings.oInstance).trigger('xhr', [settings, json]);
+ callback( json );
},
"dataType": "json",
"cache": false,
- "type": oSettings.sServerMethod,
+ "type": settings.sServerMethod,
"error": function (xhr, error, thrown) {
if ( error == "parsererror" ) {
- oSettings.oApi._fnLog( oSettings, 0, "DataTables warning: JSON data from "+
+ settings.oApi._fnLog( settings, 0, "DataTables warning: JSON data from "+
"server could not be parsed. This is caused by a JSON formatting error." );
}
}
@@ -8697,24 +8854,26 @@
* passed in parameter is the data set that has been constructed by
* DataTables, and you can add to this or modify it as you require.
* @type function
- * @param {array} aoData Data array (array of objects which are name/value
+ * @param {array} data Data array (array of objects which are name/value
* pairs) that has been constructed by DataTables and will be sent to the
* server. In the case of Ajax sourced data with server-side processing
* this will be an empty array, for server-side processing there will be a
* significant number of parameters!
- * @returns {undefined} Ensure that you modify the aoData array passed in,
+ * @returns {undefined} Ensure that you modify the data array passed in,
* as this is passed by reference.
+ *
* @dtopt Callbacks
* @dtopt Server-side
+ * @name DataTable.defaults.serverParams
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bProcessing": true,
- * "bServerSide": true,
- * "sAjaxSource": "scripts/server_processing.php",
- * "fnServerParams": function ( aoData ) {
- * aoData.push( { "name": "more_data", "value": "my_value" } );
+ * "processing": true,
+ * "serverSide": true,
+ * "ajaxSource": "scripts/server_processing.php",
+ * "serverParams": function ( data ) {
+ * data.push( { "name": "more_data", "value": "my_value" } );
* }
* } );
* } );
@@ -8728,15 +8887,17 @@
* cookie, but you might wish to use local storage (HTML5) or a server-side database.
* @type function
* @member
- * @param {object} oSettings DataTables settings object
+ * @param {object} settings DataTables settings object
* @return {object} The DataTables state object to be loaded
+ *
* @dtopt Callbacks
+ * @name DataTable.defaults.stateLoadCallback
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bStateSave": true,
- * "fnStateLoad": function (oSettings) {
+ * "stateSave": true,
+ * "stateLoadCallback": function (settings) {
* var o;
*
* // Send an Ajax request to the server to get the data. Note that
@@ -8755,8 +8916,8 @@
* } );
* } );
*/
- "fnStateLoad": function ( oSettings ) {
- var sData = this.oApi._fnReadCookie( oSettings.sCookiePrefix+oSettings.sInstance );
+ "fnStateLoadCallback": function ( settings ) {
+ var sData = this.oApi._fnReadCookie( settings.sCookiePrefix+settings.sInstance );
var oData;
try {
@@ -8774,20 +8935,22 @@
* Callback which allows modification of the saved state prior to loading that state.
* This callback is called when the table is loading state from the stored data, but
* prior to the settings object being modified by the saved state. Note that for
- * plug-in authors, you should use the 'stateLoadParams' event to load parameters for
+ * plug-in authors, you should use the `stateLoadParams` event to load parameters for
* a plug-in.
* @type function
- * @param {object} oSettings DataTables settings object
- * @param {object} oData The state object that is to be loaded
+ * @param {object} settings DataTables settings object
+ * @param {object} data The state object that is to be loaded
+ *
* @dtopt Callbacks
+ * @name DataTable.defaults.stateLoadParams
*
* @example
* // Remove a saved filter, so filtering is never loaded
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bStateSave": true,
- * "fnStateLoadParams": function (oSettings, oData) {
- * oData.oSearch.sSearch = "";
+ * "stateSave": true,
+ * "stateLoadParams": function (settings, data) {
+ * data.oSearch.sSearch = "";
* }
* } );
* } );
@@ -8796,8 +8959,8 @@
* // Disallow state loading by returning false
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bStateSave": true,
- * "fnStateLoadParams": function (oSettings, oData) {
+ * "stateSave": true,
+ * "stateLoadParams": function (settings, data) {
* return false;
* }
* } );
@@ -8810,17 +8973,19 @@
* Callback that is called when the state has been loaded from the state saving method
* and the DataTables settings object has been modified as a result of the loaded state.
* @type function
- * @param {object} oSettings DataTables settings object
- * @param {object} oData The state object that was loaded
+ * @param {object} settings DataTables settings object
+ * @param {object} data The state object that was loaded
+ *
* @dtopt Callbacks
+ * @name DataTable.defaults.stateLoaded
*
* @example
* // Show an alert with the filtering value that was saved
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bStateSave": true,
- * "fnStateLoaded": function (oSettings, oData) {
- * alert( 'Saved filter was: '+oData.oSearch.sSearch );
+ * "stateSave": true,
+ * "stateLoaded": function (settings, data) {
+ * alert( 'Saved filter was: '+data.oSearch.sSearch );
* }
* } );
* } );
@@ -8834,19 +8999,21 @@
* might want to use local storage (HTML5) or a server-side database.
* @type function
* @member
- * @param {object} oSettings DataTables settings object
- * @param {object} oData The state object to be saved
+ * @param {object} settings DataTables settings object
+ * @param {object} data The state object to be saved
+ *
* @dtopt Callbacks
+ * @name DataTable.defaults.stateSaveCallback
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bStateSave": true,
- * "fnStateSave": function (oSettings, oData) {
+ * "stateSave": true,
+ * "stateSaveCallback": function (settings, data) {
* // Send an Ajax request to the server with the state object
* $.ajax( {
* "url": "/state_save",
- * "data": oData,
+ * "data": data,
* "dataType": "json",
* "method": "POST"
* "success": function () {}
@@ -8855,13 +9022,13 @@
* } );
* } );
*/
- "fnStateSave": function ( oSettings, oData ) {
+ "fnStateSaveCallback": function ( settings, data ) {
this.oApi._fnCreateCookie(
- oSettings.sCookiePrefix+oSettings.sInstance,
- this.oApi._fnJsonString(oData),
- oSettings.iCookieDuration,
- oSettings.sCookiePrefix,
- oSettings.fnCookieCallback
+ settings.sCookiePrefix+settings.sInstance,
+ this.oApi._fnJsonString(data),
+ settings.iCookieDuration,
+ settings.sCookiePrefix,
+ settings.fnCookieCallback
);
},
@@ -8871,19 +9038,21 @@
* has changed state a new state save is required. This method allows modification of
* the state saving object prior to actually doing the save, including addition or
* other state properties or modification. Note that for plug-in authors, you should
- * use the 'stateSaveParams' event to save parameters for a plug-in.
+ * use the `stateSaveParams` event to save parameters for a plug-in.
* @type function
- * @param {object} oSettings DataTables settings object
- * @param {object} oData The state object to be saved
+ * @param {object} settings DataTables settings object
+ * @param {object} data The state object to be saved
+ *
* @dtopt Callbacks
+ * @name DataTable.defaults.stateSaveParams
*
* @example
* // Remove a saved filter, so filtering is never saved
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bStateSave": true,
- * "fnStateSaveParams": function (oSettings, oData) {
- * oData.oSearch.sSearch = "";
+ * "stateSave": true,
+ * "stateSaveParams": function (settings, data) {
+ * data.oSearch.sSearch = "";
* }
* } );
* } );
@@ -8896,22 +9065,24 @@
* value is given in seconds.
* @type int
* @default 7200 (2 hours)
+ *
* @dtopt Options
+ * @name DataTable.defaults.cookieDuration
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "iCookieDuration": 60*60*24; // 1 day
+ * "cookieDuration": 60*60*24; // 1 day
* } );
* } )
*/
- "iCookieDuration": 7200,
+ "fnCookieDuration": 7200,
/**
* When enabled DataTables will not make a request to the server for the first
* page draw - rather it will use the data already on the page (no sorting etc
- * will be applied to it), thus saving on an XHR at load time. iDeferLoading
+ * will be applied to it), thus saving on an XHR at load time. `deferLoading`
* is used to indicate that deferred loading is required, but it is also used
* to tell DataTables how many records there are in the full table (allowing
* the information element and pagination to be displayed correctly). In the case
@@ -8922,15 +9093,17 @@
* to be shown correctly).
* @type int | array
* @default null
+ *
* @dtopt Options
+ * @name DataTable.defaults.deferLoading
*
* @example
* // 57 records available in the table, no filtering applied
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bServerSide": true,
- * "sAjaxSource": "scripts/server_processing.php",
- * "iDeferLoading": 57
+ * "serverSide": true,
+ * "ajaxSource": "scripts/server_processing.php",
+ * "deferLoading": 57
* } );
* } );
*
@@ -8938,30 +9111,32 @@
* // 57 records after filtering, 100 without filtering (an initial filter applied)
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bServerSide": true,
- * "sAjaxSource": "scripts/server_processing.php",
- * "iDeferLoading": [ 57, 100 ],
- * "oSearch": {
- * "sSearch": "my_filter"
+ * "serverSide": true,
+ * "ajaxSource": "scripts/server_processing.php",
+ * "deferLoading": [ 57, 100 ],
+ * "search": {
+ * "search": "my_filter"
* }
* } );
* } );
*/
- "iDeferLoading": null,
+ "bDeferLoading": null,
/**
* Number of rows to display on a single page when using pagination. If
- * feature enabled (bLengthChange) then the end user will be able to override
+ * feature enabled (`lengthChange`) then the end user will be able to override
* this to a custom setting using a pop-up menu.
* @type int
* @default 10
+ *
* @dtopt Options
+ * @name DataTable.defaults.displayLength
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "iDisplayLength": 50
+ * "displayLength": 50
* } );
* } )
*/
@@ -8975,12 +9150,14 @@
* the third page, it should be "20".
* @type int
* @default 0
+ *
* @dtopt Options
+ * @name DataTable.defaults.displayStart
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "iDisplayStart": 20
+ * "displayStart": 20
* } );
* } )
*/
@@ -8989,20 +9166,23 @@
/**
* The scroll gap is the amount of scrolling that is left to go before
- * DataTables will load the next 'page' of data automatically. You typically
- * want a gap which is big enough that the scrolling will be smooth for the
- * user, while not so large that it will load more data than need.
+ * DataTables will load the next 'page' of data automatically when using
+ * `scrollInfinite`. You typically want a gap which is big enough that the
+ * scrolling will be smooth for the user, while not so large that it will
+ * load more data than need.
* @type int
* @default 100
+ *
* @dtopt Options
+ * @name DataTable.defaults.scrollLoadGap
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "bScrollInfinite": true,
- * "bScrollCollapse": true,
- * "sScrollY": "200px",
- * "iScrollLoadGap": 50
+ * "scrollInfinite": true,
+ * "scrollCollapse": true,
+ * "scrollY": "200px",
+ * "scrollLoadGap": 50
* } );
* } );
*/
@@ -9011,19 +9191,21 @@
/**
* By default DataTables allows keyboard navigation of the table (sorting, paging,
- * and filtering) by adding a tabindex attribute to the required elements. This
+ * and filtering) by adding a `tabindex` attribute to the required elements. This
* allows you to tab through the controls and press the enter key to activate them.
* The tabindex is default 0, meaning that the tab follows the flow of the document.
* You can overrule this using this parameter if you wish. Use a value of -1 to
* disable built-in keyboard navigation.
* @type int
* @default 0
+ *
* @dtopt Options
+ * @name DataTable.defaults.tabIndex
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "iTabIndex": 1
+ * "tabIndex": 1
* } );
* } );
*/
@@ -9035,6 +9217,7 @@
* are defined in this object, allowing you to modified them individually or
* completely replace them all as required.
* @namespace
+ * @name DataTable.defaults.language
*/
"oLanguage": {
/**
@@ -9042,6 +9225,7 @@
* actually visible on the page, but will be read by screenreaders, and thus
* must be internationalised as well).
* @namespace
+ * @name DataTable.defaults.language.aria
*/
"oAria": {
/**
@@ -9050,14 +9234,16 @@
* Note that the column header is prefixed to this string.
* @type string
* @default : activate to sort column ascending
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.aria.sortAscending
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "oAria": {
- * "sSortAscending": " - click/return to sort ascending"
+ * "language": {
+ * "aria": {
+ * "sortAscending": " - click/return to sort ascending"
* }
* }
* } );
@@ -9071,14 +9257,16 @@
* Note that the column header is prefixed to this string.
* @type string
* @default : activate to sort column ascending
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.aria.sortDescending
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "oAria": {
- * "sSortDescending": " - click/return to sort descending"
+ * "language": {
+ * "aria": {
+ * "sortDescending": " - click/return to sort descending"
* }
* }
* } );
@@ -9091,6 +9279,7 @@
* Pagination string used by DataTables for the two built-in pagination
* control types ("two_button" and "full_numbers")
* @namespace
+ * @name DataTable.defaults.language.paginate
*/
"oPaginate": {
/**
@@ -9098,14 +9287,16 @@
* button to take the user to the first page.
* @type string
* @default First
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.paginate.first
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "oPaginate": {
- * "sFirst": "First page"
+ * "language": {
+ * "paginate": {
+ * "first": "First page"
* }
* }
* } );
@@ -9119,14 +9310,16 @@
* button to take the user to the last page.
* @type string
* @default Last
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.paginate.last
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "oPaginate": {
- * "sLast": "Last page"
+ * "language": {
+ * "paginate": {
+ * "last": "Last page"
* }
* }
* } );
@@ -9140,14 +9333,16 @@
* next page).
* @type string
* @default Next
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.paginate.next
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "oPaginate": {
- * "sNext": "Next page"
+ * "language": {
+ * "paginate": {
+ * "next": "Next page"
* }
* }
* } );
@@ -9161,14 +9356,16 @@
* the previous page).
* @type string
* @default Previous
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.paginate.previous
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "oPaginate": {
- * "sPrevious": "Previous page"
+ * "language": {
+ * "paginate": {
+ * "previous": "Previous page"
* }
* }
* } );
@@ -9178,19 +9375,21 @@
},
/**
- * This string is shown in preference to sZeroRecords when the table is
+ * This string is shown in preference to `zeroRecords` when the table is
* empty of data (regardless of filtering). Note that this is an optional
- * parameter - if it is not given, the value of sZeroRecords will be used
+ * parameter - if it is not given, the value of `zeroRecords` will be used
* instead (either the default or given value).
* @type string
* @default No data available in table
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.emptyTable
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "sEmptyTable": "No data available in table"
+ * "language": {
+ * "emptyTable": "No data available in table"
* }
* } );
* } );
@@ -9205,13 +9404,15 @@
* can be freely moved or removed as the language requirements change.
* @type string
* @default Showing _START_ to _END_ of _TOTAL_ entries
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.info
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "sInfo": "Got a total of _TOTAL_ entries to show (_START_ to _END_)"
+ * "language": {
+ * "info": "Got a total of _TOTAL_ entries to show (_START_ to _END_)"
* }
* } );
* } );
@@ -9221,16 +9422,18 @@
/**
* Display information string for when the table is empty. Typically the
- * format of this string should match sInfo.
+ * format of this string should match `info`.
* @type string
* @default Showing 0 to 0 of 0 entries
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.infoEmpty
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "sInfoEmpty": "No entries to show"
+ * "language": {
+ * "infoEmpty": "No entries to show"
* }
* } );
* } );
@@ -9240,17 +9443,19 @@
/**
* When a user filters the information in a table, this string is appended
- * to the information (sInfo) to give an idea of how strong the filtering
+ * to the information (`info`) to give an idea of how strong the filtering
* is. The variable _MAX_ is dynamically updated.
* @type string
* @default (filtered from _MAX_ total entries)
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.infoFiltered
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "sInfoFiltered": " - filtering from _MAX_ records"
+ * "language": {
+ * "infoFiltered": " - filtering from _MAX_ records"
* }
* } );
* } );
@@ -9261,17 +9466,19 @@
/**
* If can be useful to append extra information to the info string at times,
* and this variable does exactly that. This information will be appended to
- * the sInfo (sInfoEmpty and sInfoFiltered in whatever combination they are
+ * the `info` (`infoEmpty` and `infoFiltered` in whatever combination they are
* being used) at all times.
* @type string
* @default Empty string
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.infoPostFix
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "sInfoPostFix": "All records shown are derived from real information."
+ * "language": {
+ * "infoPostFix": "All records shown are derived from real information."
* }
* } );
* } );
@@ -9280,19 +9487,21 @@
/**
- * DataTables has a build in number formatter (fnFormatNumber) which is used
+ * DataTables has a build in number formatter (`formatNumber`) which is used
* to format large numbers that are used in the table information. By
* default a comma is used, but this can be trivially changed to any
* character you wish with this parameter.
* @type string
* @default ,
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.infoThousands
*
* @example
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "sInfoThousands": "'"
+ * "language": {
+ * "infoThousands": "'"
* }
* } );
* } );
@@ -9307,14 +9516,16 @@
* with a custom select box if required.
* @type string
* @default Show _MENU_ entries
+ *
* @dtopt Language
+ * @name DataTable.defaults.language.lengthMenu
*
* @example
* // Language change only
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "sLengthMenu": "Display _MENU_ records"
+ * "language": {
+ * "lengthMenu": "Display _MENU_ records"
* }
* } );
* } );
@@ -9323,8 +9534,8 @@
* // Language and options change
* $(document).ready( function() {
* $('#example').dataTable( {
- * "oLanguage": {
- * "sLengthMenu": 'Display