Mercurial > repos > saskia-hiltemann > ireport
view DataTables-1.9.4/docs/DataTable.models.ext.html @ 8:86219e4aa239 draft
Uploaded
author | saskia-hiltemann |
---|---|
date | Mon, 28 Aug 2017 10:23:21 -0400 |
parents | ac5f9272033b |
children |
line wrap: on
line source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>Namespace: ext - documentation</title> <style type="text/css" media="screen"> @import "media/css/doc.css"; @import "media/css/shCore.css"; @import "media/css/shThemeDataTables.css"; </style> <script type="text/javascript" src="media/js/shCore.js"></script> <script type="text/javascript" src="media/js/shBrushJScript.js"></script> <script type="text/javascript" src="media/js/jquery.js"></script> <script type="text/javascript" src="media/js/doc.js"></script> </head> <body> <div class="fw_container"> <a name="top"></a> <div class="fw_header"> <h1 class="page-title">Namespace: ext</h1> <h2 class="ancestors">Ancestry: <span class="ancestors"><a href="DataTable.html">DataTable</a> » <a href="DataTable.models.html">.models</a>.</span> » ext</h2> <div class="page-info"> DataTables v1.9.4 documentation </div> </div> <div class="fw_nav"> <h2>Navigation</h2> <ul> <li><a href="#top">Overview</a></li> <li><a href="#summary">Summary</a><div><table cellpadding="5" border="0" cellspacing="0" width="100%"><tbody><tr><td>Classes (0)</td><td>Namespaces (0)</td></tr><tr><td>Properties (0)</td><td><a href="#summary_properties_static">Static properties (14)</a></td></tr><tr><td>Methods (0)</td><td>Static methods (0)</td></tr><tr><td>Events (0)</td><td></td></tr></tbody></table></div></li><li><a href="#details">Details</a><div><table cellpadding="5" border="0" cellspacing="0" width="100%"><tbody><tr><td>Properties (0)</td><td><a href="#summary_properties_static">Static properties (14)</a></td></tr><tr><td>Methods (0)</td><td>Static methods (0)</td></tr><tr><td>Events (0)</td><td></td></tr></tbody></table></div></li></ul> <div style="margin-top: 10px;"> <input type="hidden" name="show_private" value="0"> <span id="private_label">Hiding</span> private elements (<a id="private_toggle" href="">toggle</a>) </span> </div> <div> <input type="hidden" name="show_extended" value="1"> <span id="extended_label">Showing</span> extended elements (<a id="extended_toggle" href="">toggle</a>) </span> </div> </div> <div class="fw_content"> <a name="overview"></a> <div class="doc_overview"> <div class="nav_blocker"></div> <p>DataTables extension options and plug-ins. This namespace acts as a collection "area" for plug-ins that can be used to extend the default DataTables behaviour - indeed many of the build in methods use this method to provide their own capabilities (sorting methods for example).</p> <p>Note that this namespace is aliased to jQuery.fn.dataTableExt so it can be readily accessed and modified by plug-ins.</p><dl class="details"> </dl> </div> <div class="doc_summary"> <a name="summary"></a> <h2>Summary</h2> <div class="doc_group"><a name="summary_properties_static"></a><h3 class="subsection-title">Properties - static</h3> <dl> <dt class=" even"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#afnFiltering">afnFiltering</a></span><span class="type-sig"><span class="type-signature"> :array</span></span></dt><dd class=" even"><p>Plug-in filtering functions - this method of filtering is complimentary to the default type based filtering, and a lot more comprehensive as it allows you complete control over the filtering logic. Each element in this array is a function (parameters described below) that is called for every row in the table, and your logic decides if it should be included in the filtered data set or not. <ul> <li> Function input parameters: <ul> <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> <li>{array|object} Data for the row to be processed (same as the original format that was passed in as the data source, or an array from a DOM data source</li> <li>{int} Row index in aoData (<a href="DataTable.models.oSettings.html#aoData">DataTable.models.oSettings.aoData</a>), which can be useful to retrieve the TR element if you need DOM interaction.</li> </ul> </li> <li> Function return: <ul> <li>{boolean} Include the row in the filtered result set (true) or not (false)</li> </ul> </il> </ul></p></dd><dt class=" odd"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#afnSortData">afnSortData</a></span><span class="type-sig"><span class="type-signature"> :array</span></span></dt><dd class=" odd"><p>Plug-in sorting functions - this method of sorting is complimentary to the default type based sorting that DataTables does automatically, allowing much greater control over the the data that is being used to sort a column. This is useful if you want to do sorting based on live data (for example the contents of an 'input' element) rather than just the static string that DataTables knows of. The way these plug-ins work is that you create an array of the values you wish to be sorted for the column in question and then return that array. Which pre-sorting function is run here depends on the sSortDataType parameter that is used for the column (if any). This is the corollary of <i>ofnSearch</i> for sort data. <ul> <li> Function input parameters: <ul> <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> <li>{int} Target column index</li> </ul> </li> <li> Function return: <ul> <li>{array} Data for the column to be sorted upon</li> </ul> </il> </ul> [<a href-"#afnSortData">...</a>] </p></dd><dt class=" even"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#aoFeatures">aoFeatures</a></span><span class="type-sig"><span class="type-signature"> :array</span></span></dt><dd class=" even"><p>Feature plug-ins - This is an array of objects which describe the feature plug-ins that are available to DataTables. These feature plug-ins are accessible through the sDom initialisation option. As such, each feature plug-in must describe a function that is used to initialise itself (fnInit), a character so the feature can be enabled by sDom (cFeature) and the name of the feature (sFeature). Thus the objects attached to this method must provide: <ul> <li>{function} fnInit Initialisation of the plug-in <ul> <li> Function input parameters: <ul> <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> </ul> </li> <li> Function return: <ul> <li>{node|null} The element which contains your feature. Note that the return may also be void if your plug-in does not require to inject any DOM elements into DataTables control (sDom) - for example this might be useful when developing a plug-in which allows table control via keyboard entry.</li> </ul> </il> </ul> </li> <li>{character} cFeature Character that will be matched in sDom - case sensitive</li> <li>{string} sFeature Feature name</li> </ul></p></dd><dt class=" odd"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#aTypes">aTypes</a></span><span class="type-sig"><span class="type-signature"> :array</span></span></dt><dd class=" odd"><p>Type detection plug-in functions - DataTables utilises types to define how sorting and filtering behave, and types can be either be defined by the developer (sType for the column) or they can be automatically detected by the methods in this array. The functions defined in the array are quite simple, taking a single parameter (the data to analyse) and returning the type if it is a known type, or null otherwise. <ul> <li> Function input parameters: <ul> <li>{*} Data from the column cell to be analysed</li> </ul> </li> <li> Function return: <ul> <li>{string|null} Data type detected, or null if unknown (and thus pass it on to the other type detection functions.</li> </ul> </il> </ul></p></dd><dt class=" even"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#fnVersionCheck">fnVersionCheck</a></span><span class="type-sig"><span class="type-signature"> :function</span></span></dt><dd class=" even"><p>Provide a common method for plug-ins to check the version of DataTables being used, in order to ensure compatibility.</p></dd><dt class=" odd"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#iApiIndex">iApiIndex</a></span><span class="type-sig"><span class="type-signature"> :int</span></span></dt><dd class=" odd"><p>Index for what 'this' index API functions should use</p></dd><dt class=" even"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#oApi">oApi</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" even"><p>Container for all private functions in DataTables so they can be exposed externally</p></dd><dt class=" odd"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#ofnSearch">ofnSearch</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" odd"><p>Pre-processing of filtering data plug-ins - When you assign the sType for a column (or have it automatically detected for you by DataTables or a type detection plug-in), you will typically be using this for custom sorting, but it can also be used to provide custom filtering by allowing you to pre-processing the data and returning the data in the format that should be filtered upon. This is done by adding functions this object with a parameter name which matches the sType for that target column. This is the corollary of <i>afnSortData</i> for filtering data. <ul> <li> Function input parameters: <ul> <li>{*} Data from the column cell to be prepared for filtering</li> </ul> </li> <li> Function return: <ul> <li>{string|null} Formatted string that will be used for the filtering.</li> </ul> </il> </ul> [<a href-"#ofnSearch">...</a>] </p></dd><dt class=" even"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#oJUIClasses">oJUIClasses</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" even"><p>Storage for the various classes that DataTables uses - jQuery UI suitable</p></dd><dt class=" odd"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#oPagination">oPagination</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" odd"><p>Pagination plug-in methods - The style and controls of the pagination can significantly impact on how the end user interacts with the data in your table, and DataTables allows the addition of pagination controls by extending this object, which can then be enabled through the <i>sPaginationType</i> initialisation parameter. Each pagination type that is added is an object (the property name of which is what <i>sPaginationType</i> refers to) that has two properties, both methods that are used by DataTables to update the control's state. <ul> <li> fnInit - Initialisation of the paging controls. Called only during initialisation of the table. It is expected that this function will add the required DOM elements to the page for the paging controls to work. The element pointer 'oSettings.aanFeatures.p' array is provided by DataTables to contain the paging controls (note that this is a 2D array to allow for multiple instances of each DataTables DOM element). It is suggested that you add the controls to this element as children <ul> <li> Function input parameters: <ul> <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> <li>{node} Container into which the pagination controls must be inserted</li> <li>{function} Draw callback function - whenever the controls cause a page change, this method must be called to redraw the table.</li> </ul> </li> <li> Function return: <ul> <li>No return required</li> </ul> </il> </ul> </il> <li> fnInit - This function is called whenever the paging status of the table changes and is typically used to update classes and/or text of the paging controls to reflex the new status. <ul> <li> Function input parameters: <ul> <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> <li>{function} Draw callback function - in case you need to redraw the table again or attach new event listeners</li> </ul> </li> <li> Function return: <ul> <li>No return required</li> </ul> </il> </ul> </il> </ul></p></dd><dt class=" even"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#oSort">oSort</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" even"><p>Sorting plug-in methods - Sorting in DataTables is based on the detected type of the data column (you can add your own type detection functions, or override automatic detection using sType). With this specific type given to the column, DataTables will apply the required sort from the functions in the object. Each sort type must provide two mandatory methods, one each for ascending and descending sorting, and can optionally provide a pre-formatting method that will help speed up sorting by allowing DataTables to pre-format the sort data only once (rather than every time the actual sort functions are run). The two sorting functions are typical Javascript sort methods: <ul> <li> Function input parameters: <ul> <li>{<em>} Data to compare to the second parameter</li> <li>{</em>} Data to compare to the first parameter</li> </ul> </li> <li> Function return: <ul> <li>{int} Sorting match: <0 if first parameter should be sorted lower than the second parameter, ===0 if the two parameters are equal and >0 if the first parameter should be sorted height than the second parameter.</li> </ul> </il> </ul></p></dd><dt class=" odd"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#oStdClasses">oStdClasses</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" odd"><p>Storage for the various classes that DataTables uses</p></dd><dt class=" even"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#sErrMode">sErrMode</a></span><span class="type-sig"><span class="type-signature"> :string</span></span></dt><dd class=" even"><p>How should DataTables report an error. Can take the value 'alert' or 'throw'</p></dd><dt class=" odd"><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#sVersion">sVersion</a></span><span class="type-sig"><span class="type-signature"> :string</span></span></dt><dd class=" odd"><p>Version string for plug-ins to check compatibility. Allowed format is a.b.c.d.e where: a:int, b:int, c:int, d:string(dev|beta), e:int. d and e are optional</p></dd> </dl></div> </div> <div class="doc_details"> <a name="details"></a> <h2>Details</h2> <div class="doc_group"><a name="details_properties"></a><h3 class="subsection-title">Properties - static</h3> <dl> <dt class=" even"><a name="afnFiltering"></a><a name="afnFiltering_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#afnFiltering">afnFiltering</a></span><span class="type-sig"><span class="type-signature"> :array</span></span></dt><dd class=" even"><p>Plug-in filtering functions - this method of filtering is complimentary to the default type based filtering, and a lot more comprehensive as it allows you complete control over the filtering logic. Each element in this array is a function (parameters described below) that is called for every row in the table, and your logic decides if it should be included in the filtered data set or not. <ul> <li> Function input parameters: <ul> <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> <li>{array|object} Data for the row to be processed (same as the original format that was passed in as the data source, or an array from a DOM data source</li> <li>{int} Row index in aoData (<a href="DataTable.models.oSettings.html#aoData">DataTable.models.oSettings.aoData</a>), which can be useful to retrieve the TR element if you need DOM interaction.</li> </ul> </li> <li> Function return: <ul> <li>{boolean} Include the row in the filtered result set (true) or not (false)</li> </ul> </il> </ul></p><div class="collapse_details"><dl class="details"> </dl> <h5>Example</h5> <div class="example-code"> <pre class="brush: js"> // The following example shows custom filtering being applied to the fourth column (i.e. // the aData[3] index) based on two input values from the end-user, matching the data in // a certain range. $.fn.dataTableExt.afnFiltering.push( function( oSettings, aData, iDataIndex ) { var iMin = document.getElementById('min').value * 1; var iMax = document.getElementById('max').value * 1; var iVersion = aData[3] == "-" ? 0 : aData[3]*1; if ( iMin == "" && iMax == "" ) { return true; } else if ( iMin == "" && iVersion < iMax ) { return true; } else if ( iMin < iVersion && "" == iMax ) { return true; } else if ( iMin < iVersion && iVersion < iMax ) { return true; } return false; } );</pre> </div> </div></dd><dt class=" odd"><a name="afnSortData"></a><a name="afnSortData_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#afnSortData">afnSortData</a></span><span class="type-sig"><span class="type-signature"> :array</span></span></dt><dd class=" odd"><p>Plug-in sorting functions - this method of sorting is complimentary to the default type based sorting that DataTables does automatically, allowing much greater control over the the data that is being used to sort a column. This is useful if you want to do sorting based on live data (for example the contents of an 'input' element) rather than just the static string that DataTables knows of. The way these plug-ins work is that you create an array of the values you wish to be sorted for the column in question and then return that array. Which pre-sorting function is run here depends on the sSortDataType parameter that is used for the column (if any). This is the corollary of <i>ofnSearch</i> for sort data. <ul> <li> Function input parameters: <ul> <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> <li>{int} Target column index</li> </ul> </li> <li> Function return: <ul> <li>{array} Data for the column to be sorted upon</li> </ul> </il> </ul></p> <p>Note that as of v1.9, it is typically preferable to use <i>mData</i> to prepare data for the different uses that DataTables can put the data to. Specifically <i>mData</i> when used as a function will give you a 'type' (sorting, filtering etc) that you can use to prepare the data as required for the different types. As such, this method is deprecated.</p><div class="collapse_details"><dl class="details"> <dt class="important">Deprecated</dt><dd class="yes-def">Yes</dd> </dl> <h5>Example</h5> <div class="example-code"> <pre class="brush: js"> // Updating the cached sorting information with user entered values in HTML input elements jQuery.fn.dataTableExt.afnSortData['dom-text'] = function ( oSettings, iColumn ) { var aData = []; $( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () { aData.push( this.value ); } ); return aData; }</pre> </div> </div></dd><dt class=" even"><a name="aoFeatures"></a><a name="aoFeatures_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#aoFeatures">aoFeatures</a></span><span class="type-sig"><span class="type-signature"> :array</span></span></dt><dd class=" even"><p>Feature plug-ins - This is an array of objects which describe the feature plug-ins that are available to DataTables. These feature plug-ins are accessible through the sDom initialisation option. As such, each feature plug-in must describe a function that is used to initialise itself (fnInit), a character so the feature can be enabled by sDom (cFeature) and the name of the feature (sFeature). Thus the objects attached to this method must provide: <ul> <li>{function} fnInit Initialisation of the plug-in <ul> <li> Function input parameters: <ul> <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> </ul> </li> <li> Function return: <ul> <li>{node|null} The element which contains your feature. Note that the return may also be void if your plug-in does not require to inject any DOM elements into DataTables control (sDom) - for example this might be useful when developing a plug-in which allows table control via keyboard entry.</li> </ul> </il> </ul> </li> <li>{character} cFeature Character that will be matched in sDom - case sensitive</li> <li>{string} sFeature Feature name</li> </ul></p><div class="collapse_details"><dl class="details"> </dl> <h5>Example</h5> <div class="example-code"> <pre class="brush: js"> // How TableTools initialises itself. $.fn.dataTableExt.aoFeatures.push( { "fnInit": function( oSettings ) { return new TableTools( { "oDTSettings": oSettings } ); }, "cFeature": "T", "sFeature": "TableTools" } );</pre> </div> </div></dd><dt class=" odd"><a name="aTypes"></a><a name="aTypes_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#aTypes">aTypes</a></span><span class="type-sig"><span class="type-signature"> :array</span></span></dt><dd class=" odd"><p>Type detection plug-in functions - DataTables utilises types to define how sorting and filtering behave, and types can be either be defined by the developer (sType for the column) or they can be automatically detected by the methods in this array. The functions defined in the array are quite simple, taking a single parameter (the data to analyse) and returning the type if it is a known type, or null otherwise. <ul> <li> Function input parameters: <ul> <li>{*} Data from the column cell to be analysed</li> </ul> </li> <li> Function return: <ul> <li>{string|null} Data type detected, or null if unknown (and thus pass it on to the other type detection functions.</li> </ul> </il> </ul></p><div class="collapse_details"><dl class="details"> </dl> <h5>Example</h5> <div class="example-code"> <pre class="brush: js"> // Currency type detection plug-in: jQuery.fn.dataTableExt.aTypes.push( function ( sData ) { var sValidChars = "0123456789.-"; var Char; // Check the numeric part for ( i=1 ; i<sData.length ; i++ ) { Char = sData.charAt(i); if (sValidChars.indexOf(Char) == -1) { return null; } } // Check prefixed by currency if ( sData.charAt(0) == '$' || sData.charAt(0) == '£' ) { return 'currency'; } return null; } );</pre> </div> </div></dd><dt id="DataTable.models.ext.fnVersionCheck" class=" even"><a name="fnVersionCheck"></a><a name="fnVersionCheck_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a>fnVersionCheck</a></span><span class="type-sig"><span class="type-signature"> :function</span></span></span></dt><dd class=" even"><p>Provide a common method for plug-ins to check the version of DataTables being used, in order to ensure compatibility.</p><div class="collapse_details"><dl class="details"> </dl> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th width="20"></th> <th width="12%" class="bottom_border name">Name</th> <th width="10%" class="bottom_border">Type</th> <th width="10%" class="bottom_border">Attributes</th> <th width="10%" class="bottom_border">Default</th> <th class="last bottom_border">Description</th> </tr> </thead> <tbody> <tr class="even"><td class="number right_border"><div>1</div></td><td class="name">sVersion</td><td class="type type-param">string</td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Version string to check for, in the format "X.Y.Z". Note that the formats "X" and "X.Y" are also acceptable.</p></td></tr> </tbody> </table><h5>Returns:</h5><p class="returns"><p>true if this version of DataTables is greater or equal to the required version, or false if this version of DataTales is not suitable</p></p><h5>Example:</h5> <div class="example-code"> <pre class="brush: js"> $(document).ready(function() { var oTable = $('#example').dataTable(); alert( oTable.fnVersionCheck( '1.9.0' ) ); } );</pre> </div> </div> <dt class=" odd"><a name="iApiIndex"></a><a name="iApiIndex_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#iApiIndex">iApiIndex</a></span><span class="type-sig"><span class="type-signature"> :int</span></span></dt><dd class=" odd"><p>Index for what 'this' index API functions should use</p><div class="collapse_details"><dl class="details"> </dl> </div></dd><dt class=" even"><a name="oApi"></a><a name="oApi_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#oApi">oApi</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" even"><p>Container for all private functions in DataTables so they can be exposed externally</p><div class="collapse_details"><dl class="details"> </dl> </div></dd><dt class=" odd"><a name="ofnSearch"></a><a name="ofnSearch_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#ofnSearch">ofnSearch</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" odd"><p>Pre-processing of filtering data plug-ins - When you assign the sType for a column (or have it automatically detected for you by DataTables or a type detection plug-in), you will typically be using this for custom sorting, but it can also be used to provide custom filtering by allowing you to pre-processing the data and returning the data in the format that should be filtered upon. This is done by adding functions this object with a parameter name which matches the sType for that target column. This is the corollary of <i>afnSortData</i> for filtering data. <ul> <li> Function input parameters: <ul> <li>{*} Data from the column cell to be prepared for filtering</li> </ul> </li> <li> Function return: <ul> <li>{string|null} Formatted string that will be used for the filtering.</li> </ul> </il> </ul></p> <p>Note that as of v1.9, it is typically preferable to use <i>mData</i> to prepare data for the different uses that DataTables can put the data to. Specifically <i>mData</i> when used as a function will give you a 'type' (sorting, filtering etc) that you can use to prepare the data as required for the different types. As such, this method is deprecated.</p><div class="collapse_details"><dl class="details"> <dt class="important">Deprecated</dt><dd class="yes-def">Yes</dd> </dl> <h5>Example</h5> <div class="example-code"> <pre class="brush: js"> $.fn.dataTableExt.ofnSearch['title-numeric'] = function ( sData ) { return sData.replace(/\n/g," ").replace( /<.*?>/g, "" ); }</pre> </div> </div></dd><dt class=" even"><a name="oJUIClasses"></a><a name="oJUIClasses_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#oJUIClasses">oJUIClasses</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" even"><p>Storage for the various classes that DataTables uses - jQuery UI suitable</p><div class="collapse_details"><dl class="details"> </dl> </div></dd><dt class=" odd"><a name="oPagination"></a><a name="oPagination_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#oPagination">oPagination</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" odd"><p>Pagination plug-in methods - The style and controls of the pagination can significantly impact on how the end user interacts with the data in your table, and DataTables allows the addition of pagination controls by extending this object, which can then be enabled through the <i>sPaginationType</i> initialisation parameter. Each pagination type that is added is an object (the property name of which is what <i>sPaginationType</i> refers to) that has two properties, both methods that are used by DataTables to update the control's state. <ul> <li> fnInit - Initialisation of the paging controls. Called only during initialisation of the table. It is expected that this function will add the required DOM elements to the page for the paging controls to work. The element pointer 'oSettings.aanFeatures.p' array is provided by DataTables to contain the paging controls (note that this is a 2D array to allow for multiple instances of each DataTables DOM element). It is suggested that you add the controls to this element as children <ul> <li> Function input parameters: <ul> <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> <li>{node} Container into which the pagination controls must be inserted</li> <li>{function} Draw callback function - whenever the controls cause a page change, this method must be called to redraw the table.</li> </ul> </li> <li> Function return: <ul> <li>No return required</li> </ul> </il> </ul> </il> <li> fnInit - This function is called whenever the paging status of the table changes and is typically used to update classes and/or text of the paging controls to reflex the new status. <ul> <li> Function input parameters: <ul> <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> <li>{function} Draw callback function - in case you need to redraw the table again or attach new event listeners</li> </ul> </li> <li> Function return: <ul> <li>No return required</li> </ul> </il> </ul> </il> </ul></p><div class="collapse_details"><dl class="details"> </dl> <h5>Example</h5> <div class="example-code"> <pre class="brush: js"> $.fn.dataTableExt.oPagination.four_button = { "fnInit": function ( oSettings, nPaging, fnCallbackDraw ) { nFirst = document.createElement( 'span' ); nPrevious = document.createElement( 'span' ); nNext = document.createElement( 'span' ); nLast = document.createElement( 'span' ); nFirst.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sFirst ) ); nPrevious.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sPrevious ) ); nNext.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sNext ) ); nLast.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sLast ) ); nFirst.className = "paginate_button first"; nPrevious.className = "paginate_button previous"; nNext.className="paginate_button next"; nLast.className = "paginate_button last"; nPaging.appendChild( nFirst ); nPaging.appendChild( nPrevious ); nPaging.appendChild( nNext ); nPaging.appendChild( nLast ); $(nFirst).click( function () { oSettings.oApi._fnPageChange( oSettings, "first" ); fnCallbackDraw( oSettings ); } ); $(nPrevious).click( function() { oSettings.oApi._fnPageChange( oSettings, "previous" ); fnCallbackDraw( oSettings ); } ); $(nNext).click( function() { oSettings.oApi._fnPageChange( oSettings, "next" ); fnCallbackDraw( oSettings ); } ); $(nLast).click( function() { oSettings.oApi._fnPageChange( oSettings, "last" ); fnCallbackDraw( oSettings ); } ); $(nFirst).bind( 'selectstart', function () { return false; } ); $(nPrevious).bind( 'selectstart', function () { return false; } ); $(nNext).bind( 'selectstart', function () { return false; } ); $(nLast).bind( 'selectstart', function () { return false; } ); }, "fnUpdate": function ( oSettings, fnCallbackDraw ) { if ( !oSettings.aanFeatures.p ) { return; } // Loop over each instance of the pager var an = oSettings.aanFeatures.p; for ( var i=0, iLen=an.length ; i<iLen ; i++ ) { var buttons = an[i].getElementsByTagName('span'); if ( oSettings._iDisplayStart === 0 ) { buttons[0].className = "paginate_disabled_previous"; buttons[1].className = "paginate_disabled_previous"; } else { buttons[0].className = "paginate_enabled_previous"; buttons[1].className = "paginate_enabled_previous"; } if ( oSettings.fnDisplayEnd() == oSettings.fnRecordsDisplay() ) { buttons[2].className = "paginate_disabled_next"; buttons[3].className = "paginate_disabled_next"; } else { buttons[2].className = "paginate_enabled_next"; buttons[3].className = "paginate_enabled_next"; } } } };</pre> </div> </div></dd><dt class=" even"><a name="oSort"></a><a name="oSort_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#oSort">oSort</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" even"><p>Sorting plug-in methods - Sorting in DataTables is based on the detected type of the data column (you can add your own type detection functions, or override automatic detection using sType). With this specific type given to the column, DataTables will apply the required sort from the functions in the object. Each sort type must provide two mandatory methods, one each for ascending and descending sorting, and can optionally provide a pre-formatting method that will help speed up sorting by allowing DataTables to pre-format the sort data only once (rather than every time the actual sort functions are run). The two sorting functions are typical Javascript sort methods: <ul> <li> Function input parameters: <ul> <li>{<em>} Data to compare to the second parameter</li> <li>{</em>} Data to compare to the first parameter</li> </ul> </li> <li> Function return: <ul> <li>{int} Sorting match: <0 if first parameter should be sorted lower than the second parameter, ===0 if the two parameters are equal and >0 if the first parameter should be sorted height than the second parameter.</li> </ul> </il> </ul></p><div class="collapse_details"><dl class="details"> </dl> <h5>Examples</h5> <div class="example-code"> <pre class="brush: js"> // Case-sensitive string sorting, with no pre-formatting method $.extend( $.fn.dataTableExt.oSort, { "string-case-asc": function(x,y) { return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }, "string-case-desc": function(x,y) { return ((x < y) ? 1 : ((x > y) ? -1 : 0)); } } ); </pre> </div> <div class="example-code"> <pre class="brush: js"> // Case-insensitive string sorting, with pre-formatting $.extend( $.fn.dataTableExt.oSort, { "string-pre": function(x) { return x.toLowerCase(); }, "string-asc": function(x,y) { return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }, "string-desc": function(x,y) { return ((x < y) ? 1 : ((x > y) ? -1 : 0)); } } );</pre> </div> </div></dd><dt class=" odd"><a name="oStdClasses"></a><a name="oStdClasses_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#oStdClasses">oStdClasses</a></span><span class="type-sig"><span class="type-signature"> :object</span></span></dt><dd class=" odd"><p>Storage for the various classes that DataTables uses</p><div class="collapse_details"><dl class="details"> </dl> </div></dd><dt class=" even"><a name="sErrMode"></a><a name="sErrMode_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#sErrMode">sErrMode</a></span><span class="type-sig"><span class="type-signature"> :string</span></span></dt><dd class=" even"><p>How should DataTables report an error. Can take the value 'alert' or 'throw'</p><div class="collapse_details"><dl class="details"> </dl> </div></dd><dt class=" odd"><a name="sVersion"></a><a name="sVersion_details"></a><span class="type-attr"><span class="type-signature"><static> </span></span><span class="type-name"><a href="#sVersion">sVersion</a></span><span class="type-sig"><span class="type-signature"> :string</span></span></dt><dd class=" odd"><p>Version string for plug-ins to check compatibility. Allowed format is a.b.c.d.e where: a:int, b:int, c:int, d:string(dev|beta), e:int. d and e are optional</p><div class="collapse_details"><dl class="details"> </dl> </div></dd> </dl></div> </div> </div> <div class="fw_footer"> DataTables: Copyright 2008-2012 Allan Jardine, all rights reserved<br> Documentation generated by <a href="https://github.com/micmath/JSDoc">JSDoc 3</a> on 23th Sep 2012 - 14:27 with the <a href="http://datatables.net/">DataTables</a> template. </div> </body> </html>