jquery-datatables-rails 1.11.2 → 1.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|