jquery-datatables 1.10.13 → 1.10.15

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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -3
  3. data/Rakefile +1 -1
  4. data/app/assets/javascripts/datatables/dataTables.bootstrap2.js +162 -0
  5. data/app/assets/javascripts/datatables/dataTables.bootstrap4.js +7 -7
  6. data/app/assets/javascripts/datatables/dataTables.semanticui.js +2 -2
  7. data/app/assets/javascripts/datatables/extensions/AutoFill/dataTables.autoFill.js +104 -13
  8. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.colVis.js +17 -9
  9. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.flash.js +41 -15
  10. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.html5.js +48 -18
  11. data/app/assets/javascripts/datatables/extensions/Buttons/buttons.print.js +29 -13
  12. data/app/assets/javascripts/datatables/extensions/Buttons/dataTables.buttons.js +46 -5
  13. data/app/assets/javascripts/datatables/extensions/ColReorder/dataTables.colReorder.js +37 -19
  14. data/app/assets/javascripts/datatables/extensions/KeyTable/dataTables.keyTable.js +65 -37
  15. data/app/assets/javascripts/datatables/extensions/RowGroup/dataTables.rowGroup.js +386 -0
  16. data/app/assets/javascripts/datatables/extensions/Select/dataTables.select.js +24 -14
  17. data/app/assets/javascripts/datatables/jquery.dataTables.js +48 -10
  18. data/app/assets/stylesheets/datatables/dataTables.bootstrap.css +7 -7
  19. data/app/assets/stylesheets/datatables/dataTables.bootstrap2.css +178 -0
  20. data/app/assets/stylesheets/datatables/dataTables.bootstrap4.css +1 -0
  21. data/app/assets/stylesheets/datatables/dataTables.foundation.css +8 -6
  22. data/app/assets/stylesheets/datatables/dataTables.jqueryui.css +6 -5
  23. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap.css +56 -0
  24. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap4.css +56 -0
  25. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.dataTables.css +56 -0
  26. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.foundation.css +60 -0
  27. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.jqueryui.css +56 -0
  28. data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.semanticui.css +57 -0
  29. data/app/assets/stylesheets/datatables/extensions/Buttons/mixins.scss +47 -0
  30. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.bootstrap.css +4 -0
  31. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.bootstrap4.css +4 -0
  32. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.dataTables.css +4 -0
  33. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.foundation.css +4 -0
  34. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.jqueryui.css +4 -0
  35. data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.semanticui.css +4 -0
  36. data/app/assets/stylesheets/datatables/extensions/Select/select.bootstrap.css +7 -7
  37. data/app/assets/stylesheets/datatables/extensions/Select/select.bootstrap4.css +7 -7
  38. data/app/assets/stylesheets/datatables/extensions/Select/select.dataTables.css +7 -7
  39. data/app/assets/stylesheets/datatables/extensions/Select/select.foundation.css +7 -7
  40. data/app/assets/stylesheets/datatables/extensions/Select/select.jqueryui.css +7 -7
  41. data/app/assets/stylesheets/datatables/extensions/Select/select.semanticui.css +7 -7
  42. data/app/assets/stylesheets/datatables/jquery.dataTables.css +14 -11
  43. data/lib/generators/jquery/datatables/templates/bootstrap2.css.tt +15 -0
  44. data/lib/generators/jquery/datatables/templates/bootstrap2.js.tt +22 -0
  45. data/lib/jquery-datatables/version.rb +1 -1
  46. metadata +14 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cf69e7f69f37cf3be807fb96646e14095ea5d3de
4
- data.tar.gz: cb8525a65895232943f6278db27556476d187d6b
3
+ metadata.gz: 236b87ab9a5acc3e8d1b7f36de1a9c759a758735
4
+ data.tar.gz: 34548dbb8cfa48d3b40dc055cc96aacfed251a68
5
5
  SHA512:
6
- metadata.gz: bf421ef9efd98efb194a4ad76da45c93b17ae4cdb34a5fd93c494c45df46f5c0a4b9c67f0b0919e85da0f0cbdbedbbac6a1884f3bbd7db2b152461647062d205
7
- data.tar.gz: 7bb1786138d0a17407af9bcd6607bc9a9414ed2f0736f841cfc33301124d72dbd4591aecab9b2a09bacc1225b0b82703d03882f57f83e1df0a5e09449ac3f46e
6
+ metadata.gz: 65964e17c7052585ab64d0bc25cb16a45f506c77786d2a055e4d988813289f89740ad15aa3450a04008e83a6a3ae0b2d5d12230245da707c4a7a03a5267fae4b
7
+ data.tar.gz: 53a1cfde92f8afe6e94f3c3a4a70a396c7d32db464b20c3ccad207748b20068efae32d3b417e9fc2c31bcf25f19c8cff4a79f8eff5b9a1e905b2a85aa3246122
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # jquery-datatables [![Gem Version](https://badge.fury.io/rb/jquery-datatables.svg)](http://badge.fury.io/rb/jquery-datatables)
2
2
  Jquery datatables assets pipeline :: sprockets
3
3
 
4
- Include [jQuery DataTables](http://www.datatables.net/) in your asset pipeline with ease using [jqury-datatables](https://rubygems.org/gems/jqury-datatables) gem.
4
+ Include [jQuery DataTables](http://www.datatables.net/) in your asset pipeline with ease using [jquery-datatables](https://rubygems.org/gems/jquery-datatables) gem.
5
5
 
6
6
  ## Gem Installation
7
7
 
@@ -38,7 +38,7 @@ rails g jquery:datatables:install bootstrap
38
38
  this generator will:
39
39
  - 1. append ```//= require datatables ``` add `app/assets/javascripts/application.js`
40
40
  - 2. append ```*= require datatables ``` add `app/assets/stylesheets/application.css`
41
- - 3. create datatable.js in ```app/assets/javasrcipts/```
41
+ - 3. create datatable.js in ```app/assets/javascripts/```
42
42
  - 4. create datatable.css in ```app/assets/stylesheets/```
43
43
 
44
44
  ## Manual install
@@ -107,7 +107,6 @@ $(document).ready(function() {
107
107
  ```
108
108
 
109
109
  ## Todo
110
- - add plugins
111
110
  - update instructions
112
111
 
113
112
  ## Contributing
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
2
 
3
3
  datatables_dir = "DataTablesSrc"
4
- extensions = %w(AutoFill Buttons ColReorder FixedColumns FixedHeader KeyTable Responsive RowReorder Scroller Select)
4
+ extensions = %w(AutoFill Buttons ColReorder FixedColumns FixedHeader KeyTable Responsive RowReorder Scroller Select RowGroup)
5
5
  frameworks = %w(regular bootstrap bootstrap4 foundation jqueryui material semanticui uikit)
6
6
 
7
7
  namespace :images do
@@ -0,0 +1,162 @@
1
+ /*! DataTables Bootstrap 2 integration
2
+ * ©2011-2014 SpryMedia Ltd - datatables.net/license
3
+ */
4
+
5
+ /**
6
+ * DataTables integration for Bootstrap 2. This requires Bootstrap 2 and
7
+ * DataTables 1.10 or newer.
8
+ *
9
+ * This file sets the defaults and adds options to DataTables to style its
10
+ * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
11
+ * for further information.
12
+ */
13
+ (function(window, document, $, DataTable, undefined){
14
+
15
+ $.extend( true, DataTable.defaults, {
16
+ "dom":
17
+ "<'row-fluid'<'span6'l><'span6'f>r>" +
18
+ "<'row-fluid'<'span12't>>" +
19
+ "<'row-fluid'<'span6'i><'span6'p>>",
20
+ renderer: 'bootstrap'
21
+ } );
22
+
23
+
24
+ /* Default class modification */
25
+ $.extend( DataTable.ext.classes, {
26
+ sWrapper: "dataTables_wrapper form-inline dt-bootstrap"
27
+ } );
28
+
29
+
30
+ /* Bootstrap paging button renderer */
31
+ DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
32
+ var api = new DataTable.Api( settings );
33
+ var classes = settings.oClasses;
34
+ var lang = settings.oLanguage.oPaginate;
35
+ var btnDisplay, btnClass;
36
+
37
+ var attach = function( container, buttons ) {
38
+ var i, ien, node, button;
39
+ var clickHandler = function ( e ) {
40
+ e.preventDefault();
41
+ if ( !$(e.currentTarget).hasClass('disabled') ) {
42
+ api.page( e.data.action ).draw( false );
43
+ }
44
+ };
45
+
46
+ for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
47
+ button = buttons[i];
48
+
49
+ if ( $.isArray( button ) ) {
50
+ attach( container, button );
51
+ }
52
+ else {
53
+ btnDisplay = '';
54
+ btnClass = '';
55
+
56
+ switch ( button ) {
57
+ case 'ellipsis':
58
+ btnDisplay = '&hellip;';
59
+ btnClass = 'disabled';
60
+ break;
61
+
62
+ case 'first':
63
+ btnDisplay = lang.sFirst;
64
+ btnClass = button + (page > 0 ?
65
+ '' : ' disabled');
66
+ break;
67
+
68
+ case 'previous':
69
+ btnDisplay = lang.sPrevious;
70
+ btnClass = button + (page > 0 ?
71
+ '' : ' disabled');
72
+ break;
73
+
74
+ case 'next':
75
+ btnDisplay = lang.sNext;
76
+ btnClass = button + (page < pages-1 ?
77
+ '' : ' disabled');
78
+ break;
79
+
80
+ case 'last':
81
+ btnDisplay = lang.sLast;
82
+ btnClass = button + (page < pages-1 ?
83
+ '' : ' disabled');
84
+ break;
85
+
86
+ default:
87
+ btnDisplay = button + 1;
88
+ btnClass = page === button ?
89
+ 'active' : '';
90
+ break;
91
+ }
92
+
93
+ if ( btnDisplay ) {
94
+ node = $('<li>', {
95
+ 'class': classes.sPageButton+' '+btnClass,
96
+ 'aria-controls': settings.sTableId,
97
+ 'tabindex': settings.iTabIndex,
98
+ 'id': idx === 0 && typeof button === 'string' ?
99
+ settings.sTableId +'_'+ button :
100
+ null
101
+ } )
102
+ .append( $('<a>', {
103
+ 'href': '#'
104
+ } )
105
+ .html( btnDisplay )
106
+ )
107
+ .appendTo( container );
108
+
109
+ settings.oApi._fnBindAction(
110
+ node, {action: button}, clickHandler
111
+ );
112
+ }
113
+ }
114
+ }
115
+ };
116
+
117
+ attach(
118
+ $(host).empty().html('<div class="pagination"><ul/></div>').find('ul'),
119
+ buttons
120
+ );
121
+ };
122
+
123
+
124
+ /*
125
+ * TableTools Bootstrap compatibility
126
+ * Required TableTools 2.1+
127
+ */
128
+ if ( DataTable.TableTools ) {
129
+ // Set the classes that TableTools uses to something suitable for Bootstrap
130
+ $.extend( true, DataTable.TableTools.classes, {
131
+ "container": "DTTT btn-group",
132
+ "buttons": {
133
+ "normal": "btn",
134
+ "disabled": "disabled"
135
+ },
136
+ "collection": {
137
+ "container": "DTTT_dropdown dropdown-menu",
138
+ "buttons": {
139
+ "normal": "",
140
+ "disabled": "disabled"
141
+ }
142
+ },
143
+ "print": {
144
+ "info": "DTTT_print_info modal"
145
+ },
146
+ "select": {
147
+ "row": "active"
148
+ }
149
+ } );
150
+
151
+ // Have the collection use a bootstrap compatible dropdown
152
+ $.extend( true, DataTable.TableTools.DEFAULTS.oTags, {
153
+ "collection": {
154
+ "container": "ul",
155
+ "button": "li",
156
+ "liner": "a"
157
+ }
158
+ } );
159
+ }
160
+
161
+
162
+ })(window, document, jQuery, jQuery.fn.dataTable);
@@ -46,19 +46,19 @@ var DataTable = $.fn.dataTable;
46
46
  /* Set the defaults for DataTables initialisation */
47
47
  $.extend( true, DataTable.defaults, {
48
48
  dom:
49
- "<'row'<'col-xs-12 col-md-6'l><'col-xs-12 col-md-6'f>>" +
50
- "<'row'<'col-xs-12'tr>>" +
51
- "<'row'<'col-xs-12 col-md-5'i><'col-xs-12 col-md-7'p>>",
49
+ "<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" +
50
+ "<'row'<'col-sm-12'tr>>" +
51
+ "<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
52
52
  renderer: 'bootstrap'
53
53
  } );
54
54
 
55
55
 
56
56
  /* Default class modification */
57
57
  $.extend( DataTable.ext.classes, {
58
- sWrapper: "dataTables_wrapper form-inline dt-bootstrap4",
59
- sFilterInput: "form-control input-sm",
60
- sLengthSelect: "form-control input-sm",
61
- sProcessing: "dataTables_processing panel panel-default",
58
+ sWrapper: "dataTables_wrapper container-fluid dt-bootstrap4",
59
+ sFilterInput: "form-control form-control-sm",
60
+ sLengthSelect: "form-control form-control-sm",
61
+ sProcessing: "dataTables_processing card",
62
62
  sPageButton: "paginate_button page-item"
63
63
  } );
64
64
 
@@ -46,7 +46,7 @@ var DataTable = $.fn.dataTable;
46
46
  /* Set the defaults for DataTables initialisation */
47
47
  $.extend( true, DataTable.defaults, {
48
48
  dom:
49
- "<'ui grid'"+
49
+ "<'ui stackable grid'"+
50
50
  "<'row'"+
51
51
  "<'eight wide column'l>"+
52
52
  "<'right aligned eight wide column'f>"+
@@ -179,7 +179,7 @@ DataTable.ext.renderer.pageButton.semanticUI = function ( settings, host, idx, b
179
179
  catch (e) {}
180
180
 
181
181
  attach(
182
- $(host).empty().html('<div class="ui pagination menu"/>').children(),
182
+ $(host).empty().html('<div class="ui stackable pagination menu"/>').children(),
183
183
  buttons
184
184
  );
185
185
 
@@ -1,11 +1,11 @@
1
- /*! AutoFill 2.1.3
1
+ /*! AutoFill 2.2.0
2
2
  * ©2008-2016 SpryMedia Ltd - datatables.net/license
3
3
  */
4
4
 
5
5
  /**
6
6
  * @summary AutoFill
7
7
  * @description Add Excel like click and drag auto-fill options to DataTables
8
- * @version 2.1.3
8
+ * @version 2.2.0
9
9
  * @file dataTables.autoFill.js
10
10
  * @author SpryMedia Ltd (www.sprymedia.co.uk)
11
11
  * @contact www.sprymedia.co.uk/contact
@@ -92,7 +92,13 @@ var AutoFill = function( dt, opts )
92
92
  handle: {
93
93
  height: 0,
94
94
  width: 0
95
- }
95
+ },
96
+
97
+ /**
98
+ * Enabled setting
99
+ * @type {Boolean}
100
+ */
101
+ enabled: false
96
102
  };
97
103
 
98
104
 
@@ -136,6 +142,45 @@ var AutoFill = function( dt, opts )
136
142
 
137
143
 
138
144
  $.extend( AutoFill.prototype, {
145
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
146
+ * Public methods (exposed via the DataTables API below)
147
+ */
148
+ enabled: function ()
149
+ {
150
+ return this.s.enabled;
151
+ },
152
+
153
+
154
+ enable: function ( flag )
155
+ {
156
+ var that = this;
157
+
158
+ if ( flag === false ) {
159
+ return this.disable();
160
+ }
161
+
162
+ this.s.enabled = true;
163
+
164
+ this._focusListener();
165
+
166
+ this.dom.handle.on( 'mousedown', function (e) {
167
+ that._mousedown( e );
168
+ return false;
169
+ } );
170
+
171
+ return this;
172
+ },
173
+
174
+ disable: function ()
175
+ {
176
+ this.s.enabled = false;
177
+
178
+ this._focusListenerRemove();
179
+
180
+ return this;
181
+ },
182
+
183
+
139
184
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
140
185
  * Constructor
141
186
  */
@@ -151,6 +196,9 @@ $.extend( AutoFill.prototype, {
151
196
  var dt = this.s.dt;
152
197
  var dtScroll = $('div.dataTables_scrollBody', this.s.dt.table().container());
153
198
 
199
+ // Make the instance accessible to the API
200
+ dt.settings()[0].autoFill = this;
201
+
154
202
  if ( dtScroll.length ) {
155
203
  this.dom.dtScroll = dtScroll;
156
204
 
@@ -160,17 +208,12 @@ $.extend( AutoFill.prototype, {
160
208
  }
161
209
  }
162
210
 
163
- this._focusListener();
164
-
165
- this.dom.handle.on( 'mousedown', function (e) {
166
- that._mousedown( e );
167
- return false;
168
- } );
211
+ if ( this.c.enable !== false ) {
212
+ this.enable();
213
+ }
169
214
 
170
215
  dt.on( 'destroy.autoFill', function () {
171
- dt.off( '.autoFill' );
172
- $(dt.table().body()).off( that.s.namespace );
173
- $(document.body).off( that.s.namespace );
216
+ that._focusListenerRemove();
174
217
  } );
175
218
  },
176
219
 
@@ -516,6 +559,16 @@ $.extend( AutoFill.prototype, {
516
559
  },
517
560
 
518
561
 
562
+ _focusListenerRemove: function ()
563
+ {
564
+ var dt = this.s.dt;
565
+
566
+ dt.off( '.autoFill' );
567
+ $(dt.table().body()).off( this.s.namespace );
568
+ $(document.body).off( this.s.namespace );
569
+ },
570
+
571
+
519
572
  /**
520
573
  * Get the position of a node, relative to another, including any scrolling
521
574
  * offsets.
@@ -1002,7 +1055,7 @@ AutoFill.actions = {
1002
1055
  * @static
1003
1056
  * @type String
1004
1057
  */
1005
- AutoFill.version = '2.1.3';
1058
+ AutoFill.version = '2.2.0';
1006
1059
 
1007
1060
 
1008
1061
  /**
@@ -1020,6 +1073,9 @@ AutoFill.defaults = {
1020
1073
  /** @type {column-selector} Columns to provide auto fill for */
1021
1074
  columns: '', // all
1022
1075
 
1076
+ /** @type {Boolean} Enable AutoFill on load */
1077
+ enable: true,
1078
+
1023
1079
  /** @type {boolean|null} Update the cells after a drag */
1024
1080
  update: null, // false is editor given, true otherwise
1025
1081
 
@@ -1039,6 +1095,41 @@ AutoFill.classes = {
1039
1095
  };
1040
1096
 
1041
1097
 
1098
+ /*
1099
+ * API
1100
+ */
1101
+ var Api = $.fn.dataTable.Api;
1102
+
1103
+ // Doesn't do anything - Not documented
1104
+ Api.register( 'autoFill()', function () {
1105
+ return this;
1106
+ } );
1107
+
1108
+ Api.register( 'autoFill().enabled()', function () {
1109
+ var ctx = this.context[0];
1110
+
1111
+ return ctx.autoFill ?
1112
+ ctx.autoFill.enabled() :
1113
+ false;
1114
+ } );
1115
+
1116
+ Api.register( 'autoFill().enable()', function ( flag ) {
1117
+ return this.iterator( 'table', function ( ctx ) {
1118
+ if ( ctx.autoFill ) {
1119
+ ctx.autoFill.enable( flag );
1120
+ }
1121
+ } );
1122
+ } );
1123
+
1124
+ Api.register( 'autoFill().disable()', function () {
1125
+ return this.iterator( 'table', function ( ctx ) {
1126
+ if ( ctx.autoFill ) {
1127
+ ctx.autoFill.disable();
1128
+ }
1129
+ } );
1130
+ } );
1131
+
1132
+
1042
1133
  // Attach a listener to the document which listens for DataTables initialisation
1043
1134
  // events so we can automatically initialise
1044
1135
  $(document).on( 'preInit.dt.autofill', function (e, settings, json) {
@@ -48,7 +48,8 @@ $.extend( DataTable.ext.buttons, {
48
48
  className: 'buttons-colvis',
49
49
  buttons: [ {
50
50
  extend: 'columnsToggle',
51
- columns: conf.columns
51
+ columns: conf.columns,
52
+ columnText: conf.columnText
52
53
  } ]
53
54
  };
54
55
  },
@@ -58,7 +59,8 @@ $.extend( DataTable.ext.buttons, {
58
59
  var columns = dt.columns( conf.columns ).indexes().map( function ( idx ) {
59
60
  return {
60
61
  extend: 'columnToggle',
61
- columns: idx
62
+ columns: idx,
63
+ columnText: conf.columnText
62
64
  };
63
65
  } ).toArray();
64
66
 
@@ -69,7 +71,8 @@ $.extend( DataTable.ext.buttons, {
69
71
  columnToggle: function ( dt, conf ) {
70
72
  return {
71
73
  extend: 'columnVisibility',
72
- columns: conf.columns
74
+ columns: conf.columns,
75
+ columnText: conf.columnText
73
76
  };
74
77
  },
75
78
 
@@ -79,7 +82,8 @@ $.extend( DataTable.ext.buttons, {
79
82
  return {
80
83
  extend: 'columnVisibility',
81
84
  columns: idx,
82
- visibility: conf.visibility
85
+ visibility: conf.visibility,
86
+ columnText: conf.columnText
83
87
  };
84
88
  } ).toArray();
85
89
 
@@ -90,7 +94,7 @@ $.extend( DataTable.ext.buttons, {
90
94
  columnVisibility: {
91
95
  columns: undefined, // column selector
92
96
  text: function ( dt, button, conf ) {
93
- return conf._columnText( dt, conf.columns );
97
+ return conf._columnText( dt, conf );
94
98
  },
95
99
  className: 'buttons-columnVisibility',
96
100
  action: function ( e, dt, button, conf ) {
@@ -124,7 +128,7 @@ $.extend( DataTable.ext.buttons, {
124
128
 
125
129
  var col = dt.column( conf.columns );
126
130
 
127
- that.text( conf._columnText( dt, conf.columns ) );
131
+ that.text( conf._columnText( dt, conf ) );
128
132
  that.active( col.visible() );
129
133
  } );
130
134
 
@@ -136,16 +140,20 @@ $.extend( DataTable.ext.buttons, {
136
140
  .off( 'column-reorder.dt'+conf.namespace );
137
141
  },
138
142
 
139
- _columnText: function ( dt, col ) {
143
+ _columnText: function ( dt, conf ) {
140
144
  // Use DataTables' internal data structure until this is presented
141
145
  // is a public API. The other option is to use
142
146
  // `$( column(col).node() ).text()` but the node might not have been
143
147
  // populated when Buttons is constructed.
144
- var idx = dt.column( col ).index();
145
- return dt.settings()[0].aoColumns[ idx ].sTitle
148
+ var idx = dt.column( conf.columns ).index();
149
+ var title = dt.settings()[0].aoColumns[ idx ].sTitle
146
150
  .replace(/\n/g," ") // remove new lines
147
151
  .replace( /<.*?>/g, "" ) // strip HTML
148
152
  .replace(/^\s+|\s+$/g,""); // trim
153
+
154
+ return conf.columnText ?
155
+ conf.columnText( dt, idx, title ) :
156
+ title;
149
157
  }
150
158
  },
151
159