jquery-datatables-rails 1.11.2 → 1.11.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/jquery/datatables/rails/engine.rb +1 -1
- data/lib/jquery/datatables/rails/version.rb +1 -1
- data/vendor/assets/images/dataTables/extras/button.png +0 -0
- data/vendor/assets/images/dataTables/extras/insert.png +0 -0
- data/vendor/assets/images/dataTables/foundation/sort_asc.png +0 -0
- data/vendor/assets/images/dataTables/foundation/sort_asc_disabled.png +0 -0
- data/vendor/assets/images/dataTables/foundation/sort_both.png +0 -0
- data/vendor/assets/images/dataTables/foundation/sort_desc.png +0 -0
- data/vendor/assets/images/dataTables/foundation/sort_desc_disabled.png +0 -0
- data/vendor/assets/images/dataTables/minus.png +0 -0
- data/vendor/assets/images/dataTables/plus.png +0 -0
- data/vendor/assets/javascripts/dataTables/extras/ColReorder.js +41 -15
- data/vendor/assets/javascripts/dataTables/extras/ColVis.js +1 -9
- data/vendor/assets/javascripts/dataTables/extras/TableTools.js +121 -69
- data/vendor/assets/javascripts/dataTables/extras/TableTools.min.js +50 -49
- data/vendor/assets/javascripts/dataTables/jquery.dataTables.bootstrap.js +2 -2
- data/vendor/assets/javascripts/dataTables/jquery.dataTables.bootstrap3.js +152 -0
- data/vendor/assets/javascripts/dataTables/jquery.dataTables.foundation.js +186 -0
- data/vendor/assets/javascripts/dataTables/jquery.dataTables.responsive.js +435 -0
- data/vendor/assets/media/dataTables/extras/as3/ZeroClipboard.as +1 -1
- data/vendor/assets/media/dataTables/extras/as3/ZeroClipboardPdf.as +1 -1
- data/vendor/assets/media/dataTables/extras/swf/copy_csv_xls.swf +0 -0
- data/vendor/assets/media/dataTables/extras/swf/copy_csv_xls_pdf.swf +0 -0
- data/vendor/assets/stylesheets/dataTables/extras/ColReorder.css.erb +21 -0
- data/vendor/assets/stylesheets/dataTables/extras/ColVis.css +76 -0
- data/vendor/assets/stylesheets/dataTables/extras/ColVisAlt.css.erb +104 -0
- data/vendor/assets/stylesheets/dataTables/extras/{TableTools.css → TableTools.css.erb} +39 -31
- data/vendor/assets/stylesheets/dataTables/jquery.dataTables.bootstrap.css.scss +5 -0
- data/vendor/assets/stylesheets/dataTables/jquery.dataTables.bootstrap3.css.scss +216 -0
- data/vendor/assets/stylesheets/dataTables/jquery.dataTables.foundation.css.scss +211 -0
- data/vendor/assets/stylesheets/dataTables/jquery.dataTables.responsive.css.scss +22 -0
- metadata +28 -15
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 037dfdbef8b4ecec1f3529c3748a8265e48d6569
|
4
|
+
data.tar.gz: 7cf9eb12d937c254ce8a49e2362af6d88f8094a1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 93b9dfe61876537f5058e7f9905f3254aa80970a18624efd54e0ac0e0fdc909a8e14a9d00ad61ee23c45a74f7eae4dbf7cd2526707da7da057e1e3d7ca953a33
|
7
|
+
data.tar.gz: ec194243411f26c77e9c3bb929815248db9f1de06cc0ffc178f1873febc8b32991e70d91c35c4da7b03e2b22043ad0baa162881177b2b4290b92c7e8f6d9003b
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# Configure for Rails 3.1
|
2
2
|
module Jquery
|
3
3
|
module Datatables
|
4
|
-
if defined?(::Rails) and ::
|
4
|
+
if defined?(::Rails) and Gem::Requirement.new('>= 3.1').satisfied_by?(Gem::Version.new ::Rails.version)
|
5
5
|
module Rails
|
6
6
|
class Engine < ::Rails::Engine
|
7
7
|
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,8 +1,8 @@
|
|
1
1
|
/*
|
2
2
|
* File: ColReorder.js
|
3
|
-
* Version: 1.0.
|
3
|
+
* Version: 1.0.8
|
4
4
|
* CVS: $Id$
|
5
|
-
* Description:
|
5
|
+
* Description: Allow columns to be reordered in a DataTable
|
6
6
|
* Author: Allan Jardine (www.sprymedia.co.uk)
|
7
7
|
* Created: Wed Sep 15 18:23:29 BST 2010
|
8
8
|
* Modified: $Date$ by $Author$
|
@@ -174,10 +174,10 @@ $.fn.dataTableExt.oApi.fnColReorder = function ( oSettings, iFrom, iTo )
|
|
174
174
|
for ( i=0, iLen=iCols ; i<iLen ; i++ )
|
175
175
|
{
|
176
176
|
oCol = oSettings.aoColumns[i];
|
177
|
-
if ( typeof oCol.
|
178
|
-
oCol.
|
179
|
-
oCol.fnGetData = oSettings.oApi._fnGetObjectDataFn( oCol.
|
180
|
-
oCol.fnSetData = oSettings.oApi._fnSetObjectDataFn( oCol.
|
177
|
+
if ( typeof oCol.mData == 'number' ) {
|
178
|
+
oCol.mData = aiInvertMapping[ oCol.mData ];
|
179
|
+
oCol.fnGetData = oSettings.oApi._fnGetObjectDataFn( oCol.mData );
|
180
|
+
oCol.fnSetData = oSettings.oApi._fnSetObjectDataFn( oCol.mData );
|
181
181
|
}
|
182
182
|
}
|
183
183
|
|
@@ -294,10 +294,10 @@ $.fn.dataTableExt.oApi.fnColReorder = function ( oSettings, iFrom, iTo )
|
|
294
294
|
* ColReorder provides column visiblity control for DataTables
|
295
295
|
* @class ColReorder
|
296
296
|
* @constructor
|
297
|
-
* @param {object} DataTables object
|
297
|
+
* @param {object} DataTables settings object
|
298
298
|
* @param {object} ColReorder options
|
299
299
|
*/
|
300
|
-
ColReorder = function(
|
300
|
+
ColReorder = function( oDTSettings, oOpts )
|
301
301
|
{
|
302
302
|
/* Santiy check that we are a new instance */
|
303
303
|
if ( !this.CLASS || this.CLASS != "ColReorder" )
|
@@ -400,9 +400,12 @@ ColReorder = function( oTable, oOpts )
|
|
400
400
|
|
401
401
|
|
402
402
|
/* Constructor logic */
|
403
|
-
this.s.dt =
|
403
|
+
this.s.dt = oDTSettings.oInstance.fnSettings();
|
404
404
|
this._fnConstruct();
|
405
405
|
|
406
|
+
/* Add destroy callback */
|
407
|
+
oDTSettings.oApi._fnCallbackReg(oDTSettings, 'aoDestroyCallback', jQuery.proxy(this._fnDestroy, this), 'ColReorder');
|
408
|
+
|
406
409
|
/* Store the instance for later use */
|
407
410
|
ColReorder.aoInstances.push( this );
|
408
411
|
return this;
|
@@ -811,7 +814,7 @@ ColReorder.prototype = {
|
|
811
814
|
}
|
812
815
|
|
813
816
|
$('thead tr:eq(0)', this.dom.drag).each( function () {
|
814
|
-
$('th
|
817
|
+
$('th', this).eq(that.s.mouse.targetIndex).siblings().remove();
|
815
818
|
} );
|
816
819
|
$('tr', this.dom.drag).height( $('tr:eq(0)', that.s.dt.nTHead).height() );
|
817
820
|
|
@@ -844,6 +847,29 @@ ColReorder.prototype = {
|
|
844
847
|
|
845
848
|
document.body.appendChild( this.dom.pointer );
|
846
849
|
document.body.appendChild( this.dom.drag );
|
850
|
+
},
|
851
|
+
|
852
|
+
/**
|
853
|
+
* Clean up ColReorder memory references and event handlers
|
854
|
+
* @method _fnDestroy
|
855
|
+
* @returns void
|
856
|
+
* @private
|
857
|
+
*/
|
858
|
+
"_fnDestroy": function ()
|
859
|
+
{
|
860
|
+
for ( var i=0, iLen=ColReorder.aoInstances.length ; i<iLen ; i++ )
|
861
|
+
{
|
862
|
+
if ( ColReorder.aoInstances[i] === this )
|
863
|
+
{
|
864
|
+
ColReorder.aoInstances.splice( i, 1 );
|
865
|
+
break;
|
866
|
+
}
|
867
|
+
}
|
868
|
+
|
869
|
+
$(this.s.dt.nTHead).find( '*' ).unbind( '.ColReorder' );
|
870
|
+
|
871
|
+
this.s.dt.oInstance._oPluginColReorder = null;
|
872
|
+
this.s = null;
|
847
873
|
}
|
848
874
|
};
|
849
875
|
|
@@ -913,7 +939,7 @@ ColReorder.prototype.CLASS = "ColReorder";
|
|
913
939
|
* @type String
|
914
940
|
* @default As code
|
915
941
|
*/
|
916
|
-
ColReorder.VERSION = "1.0.
|
942
|
+
ColReorder.VERSION = "1.0.8";
|
917
943
|
ColReorder.prototype.VERSION = ColReorder.VERSION;
|
918
944
|
|
919
945
|
|
@@ -929,7 +955,7 @@ ColReorder.prototype.VERSION = ColReorder.VERSION;
|
|
929
955
|
*/
|
930
956
|
if ( typeof $.fn.dataTable == "function" &&
|
931
957
|
typeof $.fn.dataTableExt.fnVersionCheck == "function" &&
|
932
|
-
$.fn.dataTableExt.fnVersionCheck('1.9.
|
958
|
+
$.fn.dataTableExt.fnVersionCheck('1.9.3') )
|
933
959
|
{
|
934
960
|
$.fn.dataTableExt.aoFeatures.push( {
|
935
961
|
"fnInit": function( oDTSettings ) {
|
@@ -937,7 +963,7 @@ if ( typeof $.fn.dataTable == "function" &&
|
|
937
963
|
if ( typeof oTable._oPluginColReorder == 'undefined' ) {
|
938
964
|
var opts = typeof oDTSettings.oInit.oColReorder != 'undefined' ?
|
939
965
|
oDTSettings.oInit.oColReorder : {};
|
940
|
-
oTable._oPluginColReorder = new ColReorder( oDTSettings
|
966
|
+
oTable._oPluginColReorder = new ColReorder( oDTSettings, opts );
|
941
967
|
} else {
|
942
968
|
oTable.oApi._fnLog( oDTSettings, 1, "ColReorder attempted to initialise twice. Ignoring second" );
|
943
969
|
}
|
@@ -950,7 +976,7 @@ if ( typeof $.fn.dataTable == "function" &&
|
|
950
976
|
}
|
951
977
|
else
|
952
978
|
{
|
953
|
-
alert( "Warning: ColReorder requires DataTables 1.9.
|
979
|
+
alert( "Warning: ColReorder requires DataTables 1.9.3 or greater - www.datatables.net/download");
|
954
980
|
}
|
955
981
|
|
956
|
-
})(jQuery, window, document);
|
982
|
+
})(jQuery, window, document);
|
@@ -849,15 +849,7 @@ ColVis.prototype = {
|
|
849
849
|
*/
|
850
850
|
setTimeout( function () {
|
851
851
|
$(nHidden).animate({"opacity": 1}, that.s.iOverlayFade);
|
852
|
-
$(nBackground).animate({"opacity": 0.1}, that.s.iOverlayFade, 'linear'
|
853
|
-
/* In IE6 if you set the checked attribute of a hidden checkbox, then this is not visually
|
854
|
-
* reflected. As such, we need to do it here, once it is visible. Unbelievable.
|
855
|
-
*/
|
856
|
-
if ( jQuery.browser.msie && jQuery.browser.version == "6.0" )
|
857
|
-
{
|
858
|
-
that._fnDrawCallback();
|
859
|
-
}
|
860
|
-
});
|
852
|
+
$(nBackground).animate({"opacity": 0.1}, that.s.iOverlayFade, 'linear');
|
861
853
|
}, 10 );
|
862
854
|
|
863
855
|
this.s.hidden = false;
|
@@ -1,13 +1,13 @@
|
|
1
1
|
/*
|
2
2
|
* File: TableTools.js
|
3
|
-
* Version: 2.1.
|
3
|
+
* Version: 2.1.5
|
4
4
|
* Description: Tools and buttons for DataTables
|
5
5
|
* Author: Allan Jardine (www.sprymedia.co.uk)
|
6
6
|
* Language: Javascript
|
7
7
|
* License: GPL v2 or BSD 3 point style
|
8
8
|
* Project: DataTables
|
9
9
|
*
|
10
|
-
* Copyright 2009-
|
10
|
+
* Copyright 2009-2013 Allan Jardine, all rights reserved.
|
11
11
|
*
|
12
12
|
* This source file is free software, under either the GPL v2 license or a
|
13
13
|
* BSD style license, available at:
|
@@ -323,18 +323,39 @@ TableTools.prototype = {
|
|
323
323
|
/**
|
324
324
|
* Retreieve the settings object from an instance
|
325
325
|
* @returns {array} List of TR nodes which are currently selected
|
326
|
+
* @param {boolean} [filtered=false] Get only selected rows which are
|
327
|
+
* available given the filtering applied to the table. By default
|
328
|
+
* this is false - i.e. all rows, regardless of filtering are
|
329
|
+
selected.
|
326
330
|
*/
|
327
|
-
"fnGetSelected": function ()
|
331
|
+
"fnGetSelected": function ( filtered )
|
328
332
|
{
|
329
|
-
var
|
330
|
-
|
331
|
-
|
333
|
+
var
|
334
|
+
out = [],
|
335
|
+
data = this.s.dt.aoData,
|
336
|
+
displayed = this.s.dt.aiDisplay,
|
337
|
+
i, iLen;
|
332
338
|
|
333
|
-
|
339
|
+
if ( filtered )
|
334
340
|
{
|
335
|
-
|
341
|
+
// Only consider filtered rows
|
342
|
+
for ( i=0, iLen=displayed.length ; i<iLen ; i++ )
|
336
343
|
{
|
337
|
-
|
344
|
+
if ( data[ displayed[i] ]._DTTT_selected )
|
345
|
+
{
|
346
|
+
out.push( data[ displayed[i] ].nTr );
|
347
|
+
}
|
348
|
+
}
|
349
|
+
}
|
350
|
+
else
|
351
|
+
{
|
352
|
+
// Use all rows
|
353
|
+
for ( i=0, iLen=data.length ; i<iLen ; i++ )
|
354
|
+
{
|
355
|
+
if ( data[i]._DTTT_selected )
|
356
|
+
{
|
357
|
+
out.push( data[i].nTr );
|
358
|
+
}
|
338
359
|
}
|
339
360
|
}
|
340
361
|
|
@@ -404,10 +425,7 @@ TableTools.prototype = {
|
|
404
425
|
{
|
405
426
|
var s = this._fnGetMasterSettings();
|
406
427
|
|
407
|
-
this._fnRowDeselect( (filtered
|
408
|
-
s.dt.aiDisplay :
|
409
|
-
s.dt.aoData
|
410
|
-
);
|
428
|
+
this._fnRowDeselect( this.fnGetSelected(filtered) );
|
411
429
|
},
|
412
430
|
|
413
431
|
|
@@ -655,11 +673,12 @@ TableTools.prototype = {
|
|
655
673
|
/* Buttons */
|
656
674
|
this._fnButtonDefinations( this.s.buttonSet, this.dom.container );
|
657
675
|
|
658
|
-
/* Destructor
|
676
|
+
/* Destructor */
|
659
677
|
this.s.dt.aoDestroyCallback.push( {
|
660
678
|
"sName": "TableTools",
|
661
679
|
"fn": function () {
|
662
|
-
that.
|
680
|
+
$(that.s.dt.nTBody).off( 'click.DTTT_Select', 'tr' );
|
681
|
+
$(that.dom.container).empty();
|
663
682
|
}
|
664
683
|
} );
|
665
684
|
},
|
@@ -1006,7 +1025,7 @@ TableTools.prototype = {
|
|
1006
1025
|
|
1007
1026
|
$(dt.nTable).addClass( this.classes.select.table );
|
1008
1027
|
|
1009
|
-
$(
|
1028
|
+
$(dt.nTBody).on( 'click.DTTT_Select', 'tr', function(e) {
|
1010
1029
|
/* Sub-table must be ignored (odd that the selector won't do this with >) */
|
1011
1030
|
if ( this.parentNode != dt.nTBody )
|
1012
1031
|
{
|
@@ -1018,25 +1037,19 @@ TableTools.prototype = {
|
|
1018
1037
|
{
|
1019
1038
|
return;
|
1020
1039
|
}
|
1021
|
-
|
1022
|
-
/* User defined selection function */
|
1023
|
-
if ( that.s.select.preRowSelect !== null && !that.s.select.preRowSelect.call(that, e) )
|
1024
|
-
{
|
1025
|
-
return;
|
1026
|
-
}
|
1027
1040
|
|
1028
1041
|
if ( that.fnIsSelected( this ) )
|
1029
1042
|
{
|
1030
|
-
that._fnRowDeselect( this );
|
1043
|
+
that._fnRowDeselect( this, e );
|
1031
1044
|
}
|
1032
1045
|
else if ( that.s.select.type == "single" )
|
1033
1046
|
{
|
1034
1047
|
that.fnSelectNone();
|
1035
|
-
that._fnRowSelect( this );
|
1048
|
+
that._fnRowSelect( this, e );
|
1036
1049
|
}
|
1037
1050
|
else if ( that.s.select.type == "multi" )
|
1038
1051
|
{
|
1039
|
-
that._fnRowSelect( this );
|
1052
|
+
that._fnRowSelect( this, e );
|
1040
1053
|
}
|
1041
1054
|
} );
|
1042
1055
|
|
@@ -1056,27 +1069,48 @@ TableTools.prototype = {
|
|
1056
1069
|
* @param {*} src Rows to select - see _fnSelectData for a description of valid inputs
|
1057
1070
|
* @private
|
1058
1071
|
*/
|
1059
|
-
"_fnRowSelect": function ( src )
|
1072
|
+
"_fnRowSelect": function ( src, e )
|
1060
1073
|
{
|
1061
|
-
var
|
1062
|
-
|
1074
|
+
var
|
1075
|
+
that = this,
|
1076
|
+
data = this._fnSelectData( src ),
|
1077
|
+
firstTr = data.length===0 ? null : data[0].nTr,
|
1078
|
+
anSelected = [],
|
1079
|
+
i, len;
|
1080
|
+
|
1081
|
+
// Get all the rows that will be selected
|
1082
|
+
for ( i=0, len=data.length ; i<len ; i++ )
|
1083
|
+
{
|
1084
|
+
if ( data[i].nTr )
|
1085
|
+
{
|
1086
|
+
anSelected.push( data[i].nTr );
|
1087
|
+
}
|
1088
|
+
}
|
1089
|
+
|
1090
|
+
// User defined pre-selection function
|
1091
|
+
if ( this.s.select.preRowSelect !== null && !this.s.select.preRowSelect.call(this, e, anSelected, true) )
|
1092
|
+
{
|
1093
|
+
return;
|
1094
|
+
}
|
1063
1095
|
|
1064
|
-
|
1096
|
+
// Mark them as selected
|
1097
|
+
for ( i=0, len=data.length ; i<len ; i++ )
|
1065
1098
|
{
|
1066
1099
|
data[i]._DTTT_selected = true;
|
1067
1100
|
|
1068
1101
|
if ( data[i].nTr )
|
1069
1102
|
{
|
1070
|
-
$(data[i].nTr).addClass(
|
1103
|
+
$(data[i].nTr).addClass( that.classes.select.row );
|
1071
1104
|
}
|
1072
1105
|
}
|
1073
1106
|
|
1107
|
+
// Post-selection function
|
1074
1108
|
if ( this.s.select.postSelected !== null )
|
1075
1109
|
{
|
1076
|
-
this.s.select.postSelected.call( this,
|
1110
|
+
this.s.select.postSelected.call( this, anSelected );
|
1077
1111
|
}
|
1078
1112
|
|
1079
|
-
TableTools._fnEventDispatch( this, 'select',
|
1113
|
+
TableTools._fnEventDispatch( this, 'select', anSelected, true );
|
1080
1114
|
},
|
1081
1115
|
|
1082
1116
|
/**
|
@@ -1084,27 +1118,48 @@ TableTools.prototype = {
|
|
1084
1118
|
* @param {*} src Rows to deselect - see _fnSelectData for a description of valid inputs
|
1085
1119
|
* @private
|
1086
1120
|
*/
|
1087
|
-
"_fnRowDeselect": function ( src )
|
1121
|
+
"_fnRowDeselect": function ( src, e )
|
1088
1122
|
{
|
1089
|
-
var
|
1090
|
-
|
1123
|
+
var
|
1124
|
+
that = this,
|
1125
|
+
data = this._fnSelectData( src ),
|
1126
|
+
firstTr = data.length===0 ? null : data[0].nTr,
|
1127
|
+
anDeselectedTrs = [],
|
1128
|
+
i, len;
|
1091
1129
|
|
1092
|
-
|
1130
|
+
// Get all the rows that will be deselected
|
1131
|
+
for ( i=0, len=data.length ; i<len ; i++ )
|
1093
1132
|
{
|
1094
|
-
if ( data[i].nTr
|
1133
|
+
if ( data[i].nTr )
|
1095
1134
|
{
|
1096
|
-
|
1135
|
+
anDeselectedTrs.push( data[i].nTr );
|
1097
1136
|
}
|
1137
|
+
}
|
1098
1138
|
|
1139
|
+
// User defined pre-selection function
|
1140
|
+
if ( this.s.select.preRowSelect !== null && !this.s.select.preRowSelect.call(this, e, anDeselectedTrs, false) )
|
1141
|
+
{
|
1142
|
+
return;
|
1143
|
+
}
|
1144
|
+
|
1145
|
+
// Mark them as deselected
|
1146
|
+
for ( i=0, len=data.length ; i<len ; i++ )
|
1147
|
+
{
|
1099
1148
|
data[i]._DTTT_selected = false;
|
1149
|
+
|
1150
|
+
if ( data[i].nTr )
|
1151
|
+
{
|
1152
|
+
$(data[i].nTr).removeClass( that.classes.select.row );
|
1153
|
+
}
|
1100
1154
|
}
|
1101
1155
|
|
1156
|
+
// Post-deselection function
|
1102
1157
|
if ( this.s.select.postDeselected !== null )
|
1103
1158
|
{
|
1104
|
-
this.s.select.postDeselected.call( this,
|
1159
|
+
this.s.select.postDeselected.call( this, anDeselectedTrs );
|
1105
1160
|
}
|
1106
1161
|
|
1107
|
-
TableTools._fnEventDispatch( this, 'select',
|
1162
|
+
TableTools._fnEventDispatch( this, 'select', anDeselectedTrs, false );
|
1108
1163
|
},
|
1109
1164
|
|
1110
1165
|
/**
|
@@ -1206,7 +1261,7 @@ TableTools.prototype = {
|
|
1206
1261
|
|
1207
1262
|
if ( oConfig.fnClick !== null )
|
1208
1263
|
{
|
1209
|
-
oConfig.fnClick.call( that, nButton, oConfig, null );
|
1264
|
+
oConfig.fnClick.call( that, nButton, oConfig, null, e );
|
1210
1265
|
}
|
1211
1266
|
|
1212
1267
|
/* Provide a complete function to match the behaviour of the flash elements */
|
@@ -1633,36 +1688,24 @@ TableTools.prototype = {
|
|
1633
1688
|
*/
|
1634
1689
|
"_fnHtmlDecode": function ( sData )
|
1635
1690
|
{
|
1636
|
-
if ( sData.indexOf('&')
|
1691
|
+
if ( sData.indexOf('&') === -1 )
|
1637
1692
|
{
|
1638
1693
|
return sData;
|
1639
1694
|
}
|
1640
1695
|
|
1641
|
-
var
|
1642
|
-
|
1643
|
-
|
1644
|
-
|
1645
|
-
sReturn = "", sInner;
|
1646
|
-
|
1647
|
-
/* nodeValue has a limit in browsers - so we chunk the data into smaller segments to build
|
1648
|
-
* up the string. Note that the 'trick' here is to remember than we might have split over
|
1649
|
-
* an HTML entity, so we backtrack a little to make sure this doesn't happen
|
1650
|
-
*/
|
1651
|
-
for ( i=0, iLen=aData.length ; i<iLen ; i++ )
|
1652
|
-
{
|
1653
|
-
/* Magic number 8 is because no entity is longer then strlen 8 in ISO 8859-1 */
|
1654
|
-
iIndex = aData[i].lastIndexOf( '&' );
|
1655
|
-
if ( iIndex != -1 && aData[i].length >= 8 && iIndex > aData[i].length - 8 )
|
1696
|
+
var n = document.createElement('div');
|
1697
|
+
|
1698
|
+
return sData.replace( /&([^\s]*);/g, function( match, match2 ) {
|
1699
|
+
if ( match.substr(1, 1) === '#' )
|
1656
1700
|
{
|
1657
|
-
|
1658
|
-
aData[i] = aData[i].substr( 0, iIndex );
|
1701
|
+
return String.fromCharCode( Number(match2.substr(1)) );
|
1659
1702
|
}
|
1660
|
-
|
1661
|
-
|
1662
|
-
|
1663
|
-
|
1664
|
-
|
1665
|
-
|
1703
|
+
else
|
1704
|
+
{
|
1705
|
+
n.innerHTML = match;
|
1706
|
+
return n.childNodes[0].nodeValue;
|
1707
|
+
}
|
1708
|
+
} );
|
1666
1709
|
},
|
1667
1710
|
|
1668
1711
|
|
@@ -1703,6 +1746,12 @@ TableTools.prototype = {
|
|
1703
1746
|
if ( oSetDT.oScroll.sX !== "" || oSetDT.oScroll.sY !== "" )
|
1704
1747
|
{
|
1705
1748
|
this._fnPrintScrollStart( oSetDT );
|
1749
|
+
|
1750
|
+
// If the table redraws while in print view, the DataTables scrolling
|
1751
|
+
// setup would hide the header, so we need to readd it on draw
|
1752
|
+
$(this.s.dt.nTable).bind('draw.DTTT_Print', function () {
|
1753
|
+
that._fnPrintScrollStart( oSetDT );
|
1754
|
+
} );
|
1706
1755
|
}
|
1707
1756
|
|
1708
1757
|
/* Remove the other DataTables feature nodes - but leave the table! and info div */
|
@@ -1778,6 +1827,8 @@ TableTools.prototype = {
|
|
1778
1827
|
/* Restore DataTables' scrolling */
|
1779
1828
|
if ( oSetDT.oScroll.sX !== "" || oSetDT.oScroll.sY !== "" )
|
1780
1829
|
{
|
1830
|
+
$(this.s.dt.nTable).unbind('draw.DTTT_Print');
|
1831
|
+
|
1781
1832
|
this._fnPrintScrollEnd();
|
1782
1833
|
}
|
1783
1834
|
|
@@ -2044,18 +2095,19 @@ TableTools._fnEventListen = function ( that, type, fn )
|
|
2044
2095
|
* @param {Object} that Scope of the listening function (i.e. 'this' in the caller)
|
2045
2096
|
* @param {String} type Event type
|
2046
2097
|
* @param {Node} node Element that the event occurred on (may be null)
|
2098
|
+
* @param {boolean} [selected] Indicate if the node was selected (true) or deselected (false)
|
2047
2099
|
* @returns void
|
2048
2100
|
* @private
|
2049
2101
|
* @static
|
2050
2102
|
*/
|
2051
|
-
TableTools._fnEventDispatch = function ( that, type, node )
|
2103
|
+
TableTools._fnEventDispatch = function ( that, type, node, selected )
|
2052
2104
|
{
|
2053
2105
|
var listeners = TableTools._aListeners;
|
2054
2106
|
for ( var i=0, iLen=listeners.length ; i<iLen ; i++ )
|
2055
2107
|
{
|
2056
2108
|
if ( that.dom.table == listeners[i].that.dom.table && listeners[i].type == type )
|
2057
2109
|
{
|
2058
|
-
listeners[i].fn( node );
|
2110
|
+
listeners[i].fn( node, selected );
|
2059
2111
|
}
|
2060
2112
|
}
|
2061
2113
|
};
|
@@ -2347,7 +2399,7 @@ TableTools.classes_themeroller = {
|
|
2347
2399
|
* @namespace TableTools default settings for initialisation
|
2348
2400
|
*/
|
2349
2401
|
TableTools.DEFAULTS = {
|
2350
|
-
"sSwfPath": "/
|
2402
|
+
"sSwfPath": "media/swf/copy_csv_xls_pdf.swf",
|
2351
2403
|
"sRowSelect": "none",
|
2352
2404
|
"sSelectedClass": null,
|
2353
2405
|
"fnPreRowSelect": null,
|
@@ -2383,7 +2435,7 @@ TableTools.prototype.CLASS = "TableTools";
|
|
2383
2435
|
* @type String
|
2384
2436
|
* @default See code
|
2385
2437
|
*/
|
2386
|
-
TableTools.VERSION = "2.1.
|
2438
|
+
TableTools.VERSION = "2.1.5";
|
2387
2439
|
TableTools.prototype.VERSION = TableTools.VERSION;
|
2388
2440
|
|
2389
2441
|
|