/[projects]/misc/horsensspejder-web/jquery/DataTables-1.9.4/docs/DataTable.models.ext.html
ViewVC logotype

Contents of /misc/horsensspejder-web/jquery/DataTables-1.9.4/docs/DataTable.models.ext.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2125 - (show annotations) (download) (as text)
Wed Mar 12 19:30:05 2014 UTC (10 years, 2 months ago) by torben
File MIME type: text/html
File size: 41046 byte(s)
initial import
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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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: &lt;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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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) == '&pound;' ) {
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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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">&lt;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: &lt;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">&lt;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">&lt;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">&lt;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>

  ViewVC Help
Powered by ViewVC 1.1.20