0
|
1
|
|
2
|
|
3 /**
|
|
4 * Provide a common method for plug-ins to check the version of DataTables being used, in order
|
|
5 * to ensure compatibility.
|
|
6 * @param {string} sVersion Version string to check for, in the format "X.Y.Z". Note that the
|
|
7 * formats "X" and "X.Y" are also acceptable.
|
|
8 * @returns {boolean} true if this version of DataTables is greater or equal to the required
|
|
9 * version, or false if this version of DataTales is not suitable
|
|
10 * @static
|
|
11 * @dtopt API-Static
|
|
12 *
|
|
13 * @example
|
|
14 * alert( $.fn.dataTable.fnVersionCheck( '1.9.0' ) );
|
|
15 */
|
|
16 DataTable.fnVersionCheck = function( sVersion )
|
|
17 {
|
|
18 /* This is cheap, but effective */
|
|
19 var fnZPad = function (Zpad, count)
|
|
20 {
|
|
21 while(Zpad.length < count) {
|
|
22 Zpad += '0';
|
|
23 }
|
|
24 return Zpad;
|
|
25 };
|
|
26 var aThis = DataTable.ext.sVersion.split('.');
|
|
27 var aThat = sVersion.split('.');
|
|
28 var sThis = '', sThat = '';
|
|
29
|
|
30 for ( var i=0, iLen=aThat.length ; i<iLen ; i++ )
|
|
31 {
|
|
32 sThis += fnZPad( aThis[i], 3 );
|
|
33 sThat += fnZPad( aThat[i], 3 );
|
|
34 }
|
|
35
|
|
36 return parseInt(sThis, 10) >= parseInt(sThat, 10);
|
|
37 };
|
|
38
|
|
39
|
|
40 /**
|
|
41 * Check if a TABLE node is a DataTable table already or not.
|
|
42 * @param {node} nTable The TABLE node to check if it is a DataTable or not (note that other
|
|
43 * node types can be passed in, but will always return false).
|
|
44 * @returns {boolean} true the table given is a DataTable, or false otherwise
|
|
45 * @static
|
|
46 * @dtopt API-Static
|
|
47 *
|
|
48 * @example
|
|
49 * var ex = document.getElementById('example');
|
|
50 * if ( ! $.fn.DataTable.fnIsDataTable( ex ) ) {
|
|
51 * $(ex).dataTable();
|
|
52 * }
|
|
53 */
|
|
54 DataTable.fnIsDataTable = function ( nTable )
|
|
55 {
|
|
56 var o = DataTable.settings;
|
|
57
|
|
58 for ( var i=0 ; i<o.length ; i++ )
|
|
59 {
|
|
60 if ( o[i].nTable === nTable || o[i].nScrollHead === nTable || o[i].nScrollFoot === nTable )
|
|
61 {
|
|
62 return true;
|
|
63 }
|
|
64 }
|
|
65
|
|
66 return false;
|
|
67 };
|
|
68
|
|
69
|
|
70 /**
|
|
71 * Get all DataTable tables that have been initialised - optionally you can select to
|
|
72 * get only currently visible tables.
|
|
73 * @param {boolean} [bVisible=false] Flag to indicate if you want all (default) or
|
|
74 * visible tables only.
|
|
75 * @returns {array} Array of TABLE nodes (not DataTable instances) which are DataTables
|
|
76 * @static
|
|
77 * @dtopt API-Static
|
|
78 *
|
|
79 * @example
|
|
80 * var table = $.fn.dataTable.fnTables(true);
|
|
81 * if ( table.length > 0 ) {
|
|
82 * $(table).dataTable().fnAdjustColumnSizing();
|
|
83 * }
|
|
84 */
|
|
85 DataTable.fnTables = function ( bVisible )
|
|
86 {
|
|
87 var out = [];
|
|
88
|
|
89 jQuery.each( DataTable.settings, function (i, o) {
|
|
90 if ( !bVisible || (bVisible === true && $(o.nTable).is(':visible')) )
|
|
91 {
|
|
92 out.push( o.nTable );
|
|
93 }
|
|
94 } );
|
|
95
|
|
96 return out;
|
|
97 };
|
|
98
|