Mercurial > repos > saskia-hiltemann > ireport
comparison DataTables-1.9.4/docs/DataTable.models.ext.html @ 0:ac5f9272033b draft
first upload
| author | saskia-hiltemann |
|---|---|
| date | Tue, 01 Jul 2014 11:42:23 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:ac5f9272033b |
|---|---|
| 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | |
| 2 <html> | |
| 3 <head> | |
| 4 <meta http-equiv="Content-type" content="text/html; charset=utf-8"> | |
| 5 <title>Namespace: ext - documentation</title> | |
| 6 | |
| 7 <style type="text/css" media="screen"> | |
| 8 @import "media/css/doc.css"; | |
| 9 @import "media/css/shCore.css"; | |
| 10 @import "media/css/shThemeDataTables.css"; | |
| 11 </style> | |
| 12 | |
| 13 <script type="text/javascript" src="media/js/shCore.js"></script> | |
| 14 <script type="text/javascript" src="media/js/shBrushJScript.js"></script> | |
| 15 <script type="text/javascript" src="media/js/jquery.js"></script> | |
| 16 <script type="text/javascript" src="media/js/doc.js"></script> | |
| 17 </head> | |
| 18 <body> | |
| 19 <div class="fw_container"> | |
| 20 | |
| 21 <a name="top"></a> | |
| 22 <div class="fw_header"> | |
| 23 <h1 class="page-title">Namespace: ext</h1> | |
| 24 <h2 class="ancestors">Ancestry: <span class="ancestors"><a href="DataTable.html">DataTable</a> » <a href="DataTable.models.html">.models</a>.</span> » ext</h2> | |
| 25 <div class="page-info"> | |
| 26 DataTables v1.9.4 documentation | |
| 27 </div> | |
| 28 </div> | |
| 29 | |
| 30 | |
| 31 | |
| 32 <div class="fw_nav"> | |
| 33 <h2>Navigation</h2> | |
| 34 <ul> | |
| 35 <li><a href="#top">Overview</a></li> | |
| 36 <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> | |
| 37 <div style="margin-top: 10px;"> | |
| 38 <input type="hidden" name="show_private" value="0"> | |
| 39 <span id="private_label">Hiding</span> private elements | |
| 40 (<a id="private_toggle" href="">toggle</a>) | |
| 41 </span> | |
| 42 </div> | |
| 43 <div> | |
| 44 <input type="hidden" name="show_extended" value="1"> | |
| 45 <span id="extended_label">Showing</span> extended elements | |
| 46 (<a id="extended_toggle" href="">toggle</a>) | |
| 47 </span> | |
| 48 </div> | |
| 49 </div> | |
| 50 | |
| 51 <div class="fw_content"> | |
| 52 <a name="overview"></a> | |
| 53 <div class="doc_overview"> | |
| 54 <div class="nav_blocker"></div> | |
| 55 <p>DataTables extension options and plug-ins. This namespace acts as a collection "area" | |
| 56 for plug-ins that can be used to extend the default DataTables behaviour - indeed many | |
| 57 of the build in methods use this method to provide their own capabilities (sorting methods | |
| 58 for example).</p> | |
| 59 | |
| 60 <p>Note that this namespace is aliased to jQuery.fn.dataTableExt so it can be readily accessed | |
| 61 and modified by plug-ins.</p><dl class="details"> | |
| 62 | |
| 63 </dl> | |
| 64 | |
| 65 </div> | |
| 66 | |
| 67 | |
| 68 <div class="doc_summary"> | |
| 69 <a name="summary"></a> | |
| 70 <h2>Summary</h2> | |
| 71 | |
| 72 <div class="doc_group"><a name="summary_properties_static"></a><h3 class="subsection-title">Properties - static</h3> | |
| 73 | |
| 74 <dl> | |
| 75 <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 | |
| 76 type based filtering, and a lot more comprehensive as it allows you complete control | |
| 77 over the filtering logic. Each element in this array is a function (parameters | |
| 78 described below) that is called for every row in the table, and your logic decides if | |
| 79 it should be included in the filtered data set or not. | |
| 80 <ul> | |
| 81 <li> | |
| 82 Function input parameters: | |
| 83 <ul> | |
| 84 <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> | |
| 85 <li>{array|object} Data for the row to be processed (same as the original format | |
| 86 that was passed in as the data source, or an array from a DOM data source</li> | |
| 87 <li>{int} Row index in aoData (<a href="DataTable.models.oSettings.html#aoData">DataTable.models.oSettings.aoData</a>), which can | |
| 88 be useful to retrieve the TR element if you need DOM interaction.</li> | |
| 89 </ul> | |
| 90 </li> | |
| 91 <li> | |
| 92 Function return: | |
| 93 <ul> | |
| 94 <li>{boolean} Include the row in the filtered result set (true) or not (false)</li> | |
| 95 </ul> | |
| 96 </il> | |
| 97 </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 | |
| 98 based sorting that DataTables does automatically, allowing much greater control over the | |
| 99 the data that is being used to sort a column. This is useful if you want to do sorting | |
| 100 based on live data (for example the contents of an 'input' element) rather than just the | |
| 101 static string that DataTables knows of. The way these plug-ins work is that you create | |
| 102 an array of the values you wish to be sorted for the column in question and then return | |
| 103 that array. Which pre-sorting function is run here depends on the sSortDataType parameter | |
| 104 that is used for the column (if any). This is the corollary of <i>ofnSearch</i> for sort | |
| 105 data. | |
| 106 <ul> | |
| 107 <li> | |
| 108 Function input parameters: | |
| 109 <ul> | |
| 110 <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> | |
| 111 <li>{int} Target column index</li> | |
| 112 </ul> | |
| 113 </li> | |
| 114 <li> | |
| 115 Function return: | |
| 116 <ul> | |
| 117 <li>{array} Data for the column to be sorted upon</li> | |
| 118 </ul> | |
| 119 </il> | |
| 120 </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 | |
| 121 available to DataTables. These feature plug-ins are accessible through the sDom initialisation | |
| 122 option. As such, each feature plug-in must describe a function that is used to initialise | |
| 123 itself (fnInit), a character so the feature can be enabled by sDom (cFeature) and the name | |
| 124 of the feature (sFeature). Thus the objects attached to this method must provide: | |
| 125 <ul> | |
| 126 <li>{function} fnInit Initialisation of the plug-in | |
| 127 <ul> | |
| 128 <li> | |
| 129 Function input parameters: | |
| 130 <ul> | |
| 131 <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> | |
| 132 </ul> | |
| 133 </li> | |
| 134 <li> | |
| 135 Function return: | |
| 136 <ul> | |
| 137 <li>{node|null} The element which contains your feature. Note that the return | |
| 138 may also be void if your plug-in does not require to inject any DOM elements | |
| 139 into DataTables control (sDom) - for example this might be useful when | |
| 140 developing a plug-in which allows table control via keyboard entry.</li> | |
| 141 </ul> | |
| 142 </il> | |
| 143 </ul> | |
| 144 </li> | |
| 145 <li>{character} cFeature Character that will be matched in sDom - case sensitive</li> | |
| 146 <li>{string} sFeature Feature name</li> | |
| 147 </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 | |
| 148 filtering behave, and types can be either be defined by the developer (sType for the | |
| 149 column) or they can be automatically detected by the methods in this array. The functions | |
| 150 defined in the array are quite simple, taking a single parameter (the data to analyse) | |
| 151 and returning the type if it is a known type, or null otherwise. | |
| 152 <ul> | |
| 153 <li> | |
| 154 Function input parameters: | |
| 155 <ul> | |
| 156 <li>{*} Data from the column cell to be analysed</li> | |
| 157 </ul> | |
| 158 </li> | |
| 159 <li> | |
| 160 Function return: | |
| 161 <ul> | |
| 162 <li>{string|null} Data type detected, or null if unknown (and thus pass it | |
| 163 on to the other type detection functions.</li> | |
| 164 </ul> | |
| 165 </il> | |
| 166 </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, | |
| 167 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 | |
| 168 (or have it automatically detected for you by DataTables or a type detection plug-in), | |
| 169 you will typically be using this for custom sorting, but it can also be used to provide | |
| 170 custom filtering by allowing you to pre-processing the data and returning the data in | |
| 171 the format that should be filtered upon. This is done by adding functions this object | |
| 172 with a parameter name which matches the sType for that target column. This is the | |
| 173 corollary of <i>afnSortData</i> for filtering data. | |
| 174 <ul> | |
| 175 <li> | |
| 176 Function input parameters: | |
| 177 <ul> | |
| 178 <li>{*} Data from the column cell to be prepared for filtering</li> | |
| 179 </ul> | |
| 180 </li> | |
| 181 <li> | |
| 182 Function return: | |
| 183 <ul> | |
| 184 <li>{string|null} Formatted string that will be used for the filtering.</li> | |
| 185 </ul> | |
| 186 </il> | |
| 187 </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 | |
| 188 impact on how the end user interacts with the data in your table, and DataTables allows | |
| 189 the addition of pagination controls by extending this object, which can then be enabled | |
| 190 through the <i>sPaginationType</i> initialisation parameter. Each pagination type that | |
| 191 is added is an object (the property name of which is what <i>sPaginationType</i> refers | |
| 192 to) that has two properties, both methods that are used by DataTables to update the | |
| 193 control's state. | |
| 194 <ul> | |
| 195 <li> | |
| 196 fnInit - Initialisation of the paging controls. Called only during initialisation | |
| 197 of the table. It is expected that this function will add the required DOM elements | |
| 198 to the page for the paging controls to work. The element pointer | |
| 199 'oSettings.aanFeatures.p' array is provided by DataTables to contain the paging | |
| 200 controls (note that this is a 2D array to allow for multiple instances of each | |
| 201 DataTables DOM element). It is suggested that you add the controls to this element | |
| 202 as children | |
| 203 <ul> | |
| 204 <li> | |
| 205 Function input parameters: | |
| 206 <ul> | |
| 207 <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> | |
| 208 <li>{node} Container into which the pagination controls must be inserted</li> | |
| 209 <li>{function} Draw callback function - whenever the controls cause a page | |
| 210 change, this method must be called to redraw the table.</li> | |
| 211 </ul> | |
| 212 </li> | |
| 213 <li> | |
| 214 Function return: | |
| 215 <ul> | |
| 216 <li>No return required</li> | |
| 217 </ul> | |
| 218 </il> | |
| 219 </ul> | |
| 220 </il> | |
| 221 <li> | |
| 222 fnInit - This function is called whenever the paging status of the table changes and is | |
| 223 typically used to update classes and/or text of the paging controls to reflex the new | |
| 224 status. | |
| 225 <ul> | |
| 226 <li> | |
| 227 Function input parameters: | |
| 228 <ul> | |
| 229 <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> | |
| 230 <li>{function} Draw callback function - in case you need to redraw the table again | |
| 231 or attach new event listeners</li> | |
| 232 </ul> | |
| 233 </li> | |
| 234 <li> | |
| 235 Function return: | |
| 236 <ul> | |
| 237 <li>No return required</li> | |
| 238 </ul> | |
| 239 </il> | |
| 240 </ul> | |
| 241 </il> | |
| 242 </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 | |
| 243 data column (you can add your own type detection functions, or override automatic | |
| 244 detection using sType). With this specific type given to the column, DataTables will | |
| 245 apply the required sort from the functions in the object. Each sort type must provide | |
| 246 two mandatory methods, one each for ascending and descending sorting, and can optionally | |
| 247 provide a pre-formatting method that will help speed up sorting by allowing DataTables | |
| 248 to pre-format the sort data only once (rather than every time the actual sort functions | |
| 249 are run). The two sorting functions are typical Javascript sort methods: | |
| 250 <ul> | |
| 251 <li> | |
| 252 Function input parameters: | |
| 253 <ul> | |
| 254 <li>{<em>} Data to compare to the second parameter</li> | |
| 255 <li>{</em>} Data to compare to the first parameter</li> | |
| 256 </ul> | |
| 257 </li> | |
| 258 <li> | |
| 259 Function return: | |
| 260 <ul> | |
| 261 <li>{int} Sorting match: <0 if first parameter should be sorted lower than | |
| 262 the second parameter, ===0 if the two parameters are equal and >0 if | |
| 263 the first parameter should be sorted height than the second parameter.</li> | |
| 264 </ul> | |
| 265 </il> | |
| 266 </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 | |
| 267 a.b.c.d.e where: a:int, b:int, c:int, d:string(dev|beta), e:int. d and | |
| 268 e are optional</p></dd> | |
| 269 </dl></div> | |
| 270 </div> | |
| 271 | |
| 272 | |
| 273 | |
| 274 | |
| 275 <div class="doc_details"> | |
| 276 <a name="details"></a> | |
| 277 <h2>Details</h2> | |
| 278 <div class="doc_group"><a name="details_properties"></a><h3 class="subsection-title">Properties - static</h3> | |
| 279 <dl> | |
| 280 <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 | |
| 281 type based filtering, and a lot more comprehensive as it allows you complete control | |
| 282 over the filtering logic. Each element in this array is a function (parameters | |
| 283 described below) that is called for every row in the table, and your logic decides if | |
| 284 it should be included in the filtered data set or not. | |
| 285 <ul> | |
| 286 <li> | |
| 287 Function input parameters: | |
| 288 <ul> | |
| 289 <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> | |
| 290 <li>{array|object} Data for the row to be processed (same as the original format | |
| 291 that was passed in as the data source, or an array from a DOM data source</li> | |
| 292 <li>{int} Row index in aoData (<a href="DataTable.models.oSettings.html#aoData">DataTable.models.oSettings.aoData</a>), which can | |
| 293 be useful to retrieve the TR element if you need DOM interaction.</li> | |
| 294 </ul> | |
| 295 </li> | |
| 296 <li> | |
| 297 Function return: | |
| 298 <ul> | |
| 299 <li>{boolean} Include the row in the filtered result set (true) or not (false)</li> | |
| 300 </ul> | |
| 301 </il> | |
| 302 </ul></p><div class="collapse_details"><dl class="details"> | |
| 303 | |
| 304 </dl> | |
| 305 <h5>Example</h5> | |
| 306 <div class="example-code"> | |
| 307 <pre class="brush: js"> // The following example shows custom filtering being applied to the fourth column (i.e. | |
| 308 // the aData[3] index) based on two input values from the end-user, matching the data in | |
| 309 // a certain range. | |
| 310 $.fn.dataTableExt.afnFiltering.push( | |
| 311 function( oSettings, aData, iDataIndex ) { | |
| 312 var iMin = document.getElementById('min').value * 1; | |
| 313 var iMax = document.getElementById('max').value * 1; | |
| 314 var iVersion = aData[3] == "-" ? 0 : aData[3]*1; | |
| 315 if ( iMin == "" && iMax == "" ) { | |
| 316 return true; | |
| 317 } | |
| 318 else if ( iMin == "" && iVersion < iMax ) { | |
| 319 return true; | |
| 320 } | |
| 321 else if ( iMin < iVersion && "" == iMax ) { | |
| 322 return true; | |
| 323 } | |
| 324 else if ( iMin < iVersion && iVersion < iMax ) { | |
| 325 return true; | |
| 326 } | |
| 327 return false; | |
| 328 } | |
| 329 );</pre> | |
| 330 </div> | |
| 331 </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 | |
| 332 based sorting that DataTables does automatically, allowing much greater control over the | |
| 333 the data that is being used to sort a column. This is useful if you want to do sorting | |
| 334 based on live data (for example the contents of an 'input' element) rather than just the | |
| 335 static string that DataTables knows of. The way these plug-ins work is that you create | |
| 336 an array of the values you wish to be sorted for the column in question and then return | |
| 337 that array. Which pre-sorting function is run here depends on the sSortDataType parameter | |
| 338 that is used for the column (if any). This is the corollary of <i>ofnSearch</i> for sort | |
| 339 data. | |
| 340 <ul> | |
| 341 <li> | |
| 342 Function input parameters: | |
| 343 <ul> | |
| 344 <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> | |
| 345 <li>{int} Target column index</li> | |
| 346 </ul> | |
| 347 </li> | |
| 348 <li> | |
| 349 Function return: | |
| 350 <ul> | |
| 351 <li>{array} Data for the column to be sorted upon</li> | |
| 352 </ul> | |
| 353 </il> | |
| 354 </ul></p> | |
| 355 | |
| 356 <p>Note that as of v1.9, it is typically preferable to use <i>mData</i> to prepare data for | |
| 357 the different uses that DataTables can put the data to. Specifically <i>mData</i> when | |
| 358 used as a function will give you a 'type' (sorting, filtering etc) that you can use to | |
| 359 prepare the data as required for the different types. As such, this method is deprecated.</p><div class="collapse_details"><dl class="details"> | |
| 360 <dt class="important">Deprecated</dt><dd class="yes-def">Yes</dd> | |
| 361 </dl> | |
| 362 <h5>Example</h5> | |
| 363 <div class="example-code"> | |
| 364 <pre class="brush: js"> // Updating the cached sorting information with user entered values in HTML input elements | |
| 365 jQuery.fn.dataTableExt.afnSortData['dom-text'] = function ( oSettings, iColumn ) | |
| 366 { | |
| 367 var aData = []; | |
| 368 $( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () { | |
| 369 aData.push( this.value ); | |
| 370 } ); | |
| 371 return aData; | |
| 372 }</pre> | |
| 373 </div> | |
| 374 </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 | |
| 375 available to DataTables. These feature plug-ins are accessible through the sDom initialisation | |
| 376 option. As such, each feature plug-in must describe a function that is used to initialise | |
| 377 itself (fnInit), a character so the feature can be enabled by sDom (cFeature) and the name | |
| 378 of the feature (sFeature). Thus the objects attached to this method must provide: | |
| 379 <ul> | |
| 380 <li>{function} fnInit Initialisation of the plug-in | |
| 381 <ul> | |
| 382 <li> | |
| 383 Function input parameters: | |
| 384 <ul> | |
| 385 <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> | |
| 386 </ul> | |
| 387 </li> | |
| 388 <li> | |
| 389 Function return: | |
| 390 <ul> | |
| 391 <li>{node|null} The element which contains your feature. Note that the return | |
| 392 may also be void if your plug-in does not require to inject any DOM elements | |
| 393 into DataTables control (sDom) - for example this might be useful when | |
| 394 developing a plug-in which allows table control via keyboard entry.</li> | |
| 395 </ul> | |
| 396 </il> | |
| 397 </ul> | |
| 398 </li> | |
| 399 <li>{character} cFeature Character that will be matched in sDom - case sensitive</li> | |
| 400 <li>{string} sFeature Feature name</li> | |
| 401 </ul></p><div class="collapse_details"><dl class="details"> | |
| 402 | |
| 403 </dl> | |
| 404 <h5>Example</h5> | |
| 405 <div class="example-code"> | |
| 406 <pre class="brush: js"> // How TableTools initialises itself. | |
| 407 $.fn.dataTableExt.aoFeatures.push( { | |
| 408 "fnInit": function( oSettings ) { | |
| 409 return new TableTools( { "oDTSettings": oSettings } ); | |
| 410 }, | |
| 411 "cFeature": "T", | |
| 412 "sFeature": "TableTools" | |
| 413 } );</pre> | |
| 414 </div> | |
| 415 </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 | |
| 416 filtering behave, and types can be either be defined by the developer (sType for the | |
| 417 column) or they can be automatically detected by the methods in this array. The functions | |
| 418 defined in the array are quite simple, taking a single parameter (the data to analyse) | |
| 419 and returning the type if it is a known type, or null otherwise. | |
| 420 <ul> | |
| 421 <li> | |
| 422 Function input parameters: | |
| 423 <ul> | |
| 424 <li>{*} Data from the column cell to be analysed</li> | |
| 425 </ul> | |
| 426 </li> | |
| 427 <li> | |
| 428 Function return: | |
| 429 <ul> | |
| 430 <li>{string|null} Data type detected, or null if unknown (and thus pass it | |
| 431 on to the other type detection functions.</li> | |
| 432 </ul> | |
| 433 </il> | |
| 434 </ul></p><div class="collapse_details"><dl class="details"> | |
| 435 | |
| 436 </dl> | |
| 437 <h5>Example</h5> | |
| 438 <div class="example-code"> | |
| 439 <pre class="brush: js"> // Currency type detection plug-in: | |
| 440 jQuery.fn.dataTableExt.aTypes.push( | |
| 441 function ( sData ) { | |
| 442 var sValidChars = "0123456789.-"; | |
| 443 var Char; | |
| 444 | |
| 445 // Check the numeric part | |
| 446 for ( i=1 ; i<sData.length ; i++ ) { | |
| 447 Char = sData.charAt(i); | |
| 448 if (sValidChars.indexOf(Char) == -1) { | |
| 449 return null; | |
| 450 } | |
| 451 } | |
| 452 | |
| 453 // Check prefixed by currency | |
| 454 if ( sData.charAt(0) == '$' || sData.charAt(0) == '£' ) { | |
| 455 return 'currency'; | |
| 456 } | |
| 457 return null; | |
| 458 } | |
| 459 );</pre> | |
| 460 </div> | |
| 461 </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, | |
| 462 in order to ensure compatibility.</p><div class="collapse_details"><dl class="details"> | |
| 463 | |
| 464 </dl> | |
| 465 <h5>Parameters:</h5> | |
| 466 | |
| 467 <table class="params"> | |
| 468 <thead> | |
| 469 <tr> | |
| 470 <th width="20"></th> | |
| 471 <th width="12%" class="bottom_border name">Name</th> | |
| 472 <th width="10%" class="bottom_border">Type</th> | |
| 473 <th width="10%" class="bottom_border">Attributes</th> | |
| 474 <th width="10%" class="bottom_border">Default</th> | |
| 475 <th class="last bottom_border">Description</th> | |
| 476 </tr> | |
| 477 </thead> | |
| 478 | |
| 479 <tbody> | |
| 480 <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 | |
| 481 that the formats "X" and "X.Y" are also acceptable.</p></td></tr> | |
| 482 </tbody> | |
| 483 </table><h5>Returns:</h5><p class="returns"><p>true if this version of DataTables is greater or equal to the | |
| 484 required version, or false if this version of DataTales is not suitable</p></p><h5>Example:</h5> | |
| 485 <div class="example-code"> | |
| 486 <pre class="brush: js"> $(document).ready(function() { | |
| 487 var oTable = $('#example').dataTable(); | |
| 488 alert( oTable.fnVersionCheck( '1.9.0' ) ); | |
| 489 } );</pre> | |
| 490 </div> | |
| 491 </div> | |
| 492 <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"> | |
| 493 | |
| 494 </dl> | |
| 495 </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"> | |
| 496 | |
| 497 </dl> | |
| 498 </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 | |
| 499 (or have it automatically detected for you by DataTables or a type detection plug-in), | |
| 500 you will typically be using this for custom sorting, but it can also be used to provide | |
| 501 custom filtering by allowing you to pre-processing the data and returning the data in | |
| 502 the format that should be filtered upon. This is done by adding functions this object | |
| 503 with a parameter name which matches the sType for that target column. This is the | |
| 504 corollary of <i>afnSortData</i> for filtering data. | |
| 505 <ul> | |
| 506 <li> | |
| 507 Function input parameters: | |
| 508 <ul> | |
| 509 <li>{*} Data from the column cell to be prepared for filtering</li> | |
| 510 </ul> | |
| 511 </li> | |
| 512 <li> | |
| 513 Function return: | |
| 514 <ul> | |
| 515 <li>{string|null} Formatted string that will be used for the filtering.</li> | |
| 516 </ul> | |
| 517 </il> | |
| 518 </ul></p> | |
| 519 | |
| 520 <p>Note that as of v1.9, it is typically preferable to use <i>mData</i> to prepare data for | |
| 521 the different uses that DataTables can put the data to. Specifically <i>mData</i> when | |
| 522 used as a function will give you a 'type' (sorting, filtering etc) that you can use to | |
| 523 prepare the data as required for the different types. As such, this method is deprecated.</p><div class="collapse_details"><dl class="details"> | |
| 524 <dt class="important">Deprecated</dt><dd class="yes-def">Yes</dd> | |
| 525 </dl> | |
| 526 <h5>Example</h5> | |
| 527 <div class="example-code"> | |
| 528 <pre class="brush: js"> $.fn.dataTableExt.ofnSearch['title-numeric'] = function ( sData ) { | |
| 529 return sData.replace(/\n/g," ").replace( /<.*?>/g, "" ); | |
| 530 }</pre> | |
| 531 </div> | |
| 532 </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"> | |
| 533 | |
| 534 </dl> | |
| 535 </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 | |
| 536 impact on how the end user interacts with the data in your table, and DataTables allows | |
| 537 the addition of pagination controls by extending this object, which can then be enabled | |
| 538 through the <i>sPaginationType</i> initialisation parameter. Each pagination type that | |
| 539 is added is an object (the property name of which is what <i>sPaginationType</i> refers | |
| 540 to) that has two properties, both methods that are used by DataTables to update the | |
| 541 control's state. | |
| 542 <ul> | |
| 543 <li> | |
| 544 fnInit - Initialisation of the paging controls. Called only during initialisation | |
| 545 of the table. It is expected that this function will add the required DOM elements | |
| 546 to the page for the paging controls to work. The element pointer | |
| 547 'oSettings.aanFeatures.p' array is provided by DataTables to contain the paging | |
| 548 controls (note that this is a 2D array to allow for multiple instances of each | |
| 549 DataTables DOM element). It is suggested that you add the controls to this element | |
| 550 as children | |
| 551 <ul> | |
| 552 <li> | |
| 553 Function input parameters: | |
| 554 <ul> | |
| 555 <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> | |
| 556 <li>{node} Container into which the pagination controls must be inserted</li> | |
| 557 <li>{function} Draw callback function - whenever the controls cause a page | |
| 558 change, this method must be called to redraw the table.</li> | |
| 559 </ul> | |
| 560 </li> | |
| 561 <li> | |
| 562 Function return: | |
| 563 <ul> | |
| 564 <li>No return required</li> | |
| 565 </ul> | |
| 566 </il> | |
| 567 </ul> | |
| 568 </il> | |
| 569 <li> | |
| 570 fnInit - This function is called whenever the paging status of the table changes and is | |
| 571 typically used to update classes and/or text of the paging controls to reflex the new | |
| 572 status. | |
| 573 <ul> | |
| 574 <li> | |
| 575 Function input parameters: | |
| 576 <ul> | |
| 577 <li>{object} DataTables settings object: see <a href="DataTable.models.oSettings.html">DataTable.models.oSettings</a>.</li> | |
| 578 <li>{function} Draw callback function - in case you need to redraw the table again | |
| 579 or attach new event listeners</li> | |
| 580 </ul> | |
| 581 </li> | |
| 582 <li> | |
| 583 Function return: | |
| 584 <ul> | |
| 585 <li>No return required</li> | |
| 586 </ul> | |
| 587 </il> | |
| 588 </ul> | |
| 589 </il> | |
| 590 </ul></p><div class="collapse_details"><dl class="details"> | |
| 591 | |
| 592 </dl> | |
| 593 <h5>Example</h5> | |
| 594 <div class="example-code"> | |
| 595 <pre class="brush: js"> $.fn.dataTableExt.oPagination.four_button = { | |
| 596 "fnInit": function ( oSettings, nPaging, fnCallbackDraw ) { | |
| 597 nFirst = document.createElement( 'span' ); | |
| 598 nPrevious = document.createElement( 'span' ); | |
| 599 nNext = document.createElement( 'span' ); | |
| 600 nLast = document.createElement( 'span' ); | |
| 601 | |
| 602 nFirst.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sFirst ) ); | |
| 603 nPrevious.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sPrevious ) ); | |
| 604 nNext.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sNext ) ); | |
| 605 nLast.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sLast ) ); | |
| 606 | |
| 607 nFirst.className = "paginate_button first"; | |
| 608 nPrevious.className = "paginate_button previous"; | |
| 609 nNext.className="paginate_button next"; | |
| 610 nLast.className = "paginate_button last"; | |
| 611 | |
| 612 nPaging.appendChild( nFirst ); | |
| 613 nPaging.appendChild( nPrevious ); | |
| 614 nPaging.appendChild( nNext ); | |
| 615 nPaging.appendChild( nLast ); | |
| 616 | |
| 617 $(nFirst).click( function () { | |
| 618 oSettings.oApi._fnPageChange( oSettings, "first" ); | |
| 619 fnCallbackDraw( oSettings ); | |
| 620 } ); | |
| 621 | |
| 622 $(nPrevious).click( function() { | |
| 623 oSettings.oApi._fnPageChange( oSettings, "previous" ); | |
| 624 fnCallbackDraw( oSettings ); | |
| 625 } ); | |
| 626 | |
| 627 $(nNext).click( function() { | |
| 628 oSettings.oApi._fnPageChange( oSettings, "next" ); | |
| 629 fnCallbackDraw( oSettings ); | |
| 630 } ); | |
| 631 | |
| 632 $(nLast).click( function() { | |
| 633 oSettings.oApi._fnPageChange( oSettings, "last" ); | |
| 634 fnCallbackDraw( oSettings ); | |
| 635 } ); | |
| 636 | |
| 637 $(nFirst).bind( 'selectstart', function () { return false; } ); | |
| 638 $(nPrevious).bind( 'selectstart', function () { return false; } ); | |
| 639 $(nNext).bind( 'selectstart', function () { return false; } ); | |
| 640 $(nLast).bind( 'selectstart', function () { return false; } ); | |
| 641 }, | |
| 642 | |
| 643 "fnUpdate": function ( oSettings, fnCallbackDraw ) { | |
| 644 if ( !oSettings.aanFeatures.p ) { | |
| 645 return; | |
| 646 } | |
| 647 | |
| 648 // Loop over each instance of the pager | |
| 649 var an = oSettings.aanFeatures.p; | |
| 650 for ( var i=0, iLen=an.length ; i<iLen ; i++ ) { | |
| 651 var buttons = an[i].getElementsByTagName('span'); | |
| 652 if ( oSettings._iDisplayStart === 0 ) { | |
| 653 buttons[0].className = "paginate_disabled_previous"; | |
| 654 buttons[1].className = "paginate_disabled_previous"; | |
| 655 } | |
| 656 else { | |
| 657 buttons[0].className = "paginate_enabled_previous"; | |
| 658 buttons[1].className = "paginate_enabled_previous"; | |
| 659 } | |
| 660 | |
| 661 if ( oSettings.fnDisplayEnd() == oSettings.fnRecordsDisplay() ) { | |
| 662 buttons[2].className = "paginate_disabled_next"; | |
| 663 buttons[3].className = "paginate_disabled_next"; | |
| 664 } | |
| 665 else { | |
| 666 buttons[2].className = "paginate_enabled_next"; | |
| 667 buttons[3].className = "paginate_enabled_next"; | |
| 668 } | |
| 669 } | |
| 670 } | |
| 671 };</pre> | |
| 672 </div> | |
| 673 </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 | |
| 674 data column (you can add your own type detection functions, or override automatic | |
| 675 detection using sType). With this specific type given to the column, DataTables will | |
| 676 apply the required sort from the functions in the object. Each sort type must provide | |
| 677 two mandatory methods, one each for ascending and descending sorting, and can optionally | |
| 678 provide a pre-formatting method that will help speed up sorting by allowing DataTables | |
| 679 to pre-format the sort data only once (rather than every time the actual sort functions | |
| 680 are run). The two sorting functions are typical Javascript sort methods: | |
| 681 <ul> | |
| 682 <li> | |
| 683 Function input parameters: | |
| 684 <ul> | |
| 685 <li>{<em>} Data to compare to the second parameter</li> | |
| 686 <li>{</em>} Data to compare to the first parameter</li> | |
| 687 </ul> | |
| 688 </li> | |
| 689 <li> | |
| 690 Function return: | |
| 691 <ul> | |
| 692 <li>{int} Sorting match: <0 if first parameter should be sorted lower than | |
| 693 the second parameter, ===0 if the two parameters are equal and >0 if | |
| 694 the first parameter should be sorted height than the second parameter.</li> | |
| 695 </ul> | |
| 696 </il> | |
| 697 </ul></p><div class="collapse_details"><dl class="details"> | |
| 698 | |
| 699 </dl> | |
| 700 <h5>Examples</h5> | |
| 701 <div class="example-code"> | |
| 702 <pre class="brush: js"> // Case-sensitive string sorting, with no pre-formatting method | |
| 703 $.extend( $.fn.dataTableExt.oSort, { | |
| 704 "string-case-asc": function(x,y) { | |
| 705 return ((x < y) ? -1 : ((x > y) ? 1 : 0)); | |
| 706 }, | |
| 707 "string-case-desc": function(x,y) { | |
| 708 return ((x < y) ? 1 : ((x > y) ? -1 : 0)); | |
| 709 } | |
| 710 } ); | |
| 711 | |
| 712 </pre> | |
| 713 </div> | |
| 714 | |
| 715 <div class="example-code"> | |
| 716 <pre class="brush: js"> // Case-insensitive string sorting, with pre-formatting | |
| 717 $.extend( $.fn.dataTableExt.oSort, { | |
| 718 "string-pre": function(x) { | |
| 719 return x.toLowerCase(); | |
| 720 }, | |
| 721 "string-asc": function(x,y) { | |
| 722 return ((x < y) ? -1 : ((x > y) ? 1 : 0)); | |
| 723 }, | |
| 724 "string-desc": function(x,y) { | |
| 725 return ((x < y) ? 1 : ((x > y) ? -1 : 0)); | |
| 726 } | |
| 727 } );</pre> | |
| 728 </div> | |
| 729 </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"> | |
| 730 | |
| 731 </dl> | |
| 732 </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"> | |
| 733 | |
| 734 </dl> | |
| 735 </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 | |
| 736 a.b.c.d.e where: a:int, b:int, c:int, d:string(dev|beta), e:int. d and | |
| 737 e are optional</p><div class="collapse_details"><dl class="details"> | |
| 738 | |
| 739 </dl> | |
| 740 </div></dd> | |
| 741 </dl></div> | |
| 742 </div> | |
| 743 | |
| 744 </div> | |
| 745 | |
| 746 <div class="fw_footer"> | |
| 747 DataTables: Copyright 2008-2012 Allan Jardine, all rights reserved<br> | |
| 748 | |
| 749 Documentation generated by <a href="https://github.com/micmath/JSDoc">JSDoc 3</a> on | |
| 750 23th Sep 2012 - 14:27 | |
| 751 with the <a href="http://datatables.net/">DataTables</a> template. | |
| 752 </div> | |
| 753 </body> | |
| 754 </html> |
