jquery-tablesorter 1.24.5 → 1.25.0

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/jquery-tablesorter/version.rb +2 -2
  4. data/vendor/assets/javascripts/jquery-tablesorter/addons/pager/jquery.tablesorter.pager.js +85 -85
  5. data/vendor/assets/javascripts/jquery-tablesorter/beta-testing/widget-reorder.js +17 -18
  6. data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.combined.js +128 -101
  7. data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.js +70 -58
  8. data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets.js +58 -43
  9. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-extract.js +1 -1
  10. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-iso8601.js +1 -1
  11. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-month.js +1 -1
  12. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-range.js +1 -1
  13. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-two-digit-year.js +2 -2
  14. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-weekday.js +1 -1
  15. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date.js +1 -1
  16. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-duration.js +1 -1
  17. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-feet-inch-fraction.js +2 -2
  18. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-file-type.js +2 -2
  19. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-ignore-articles.js +1 -1
  20. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-image.js +2 -2
  21. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-input-select.js +1 -1
  22. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-leading-zeros.js +1 -0
  23. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-named-numbers.js +1 -1
  24. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-network.js +4 -4
  25. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-roman.js +5 -5
  26. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-alignChar.js +15 -15
  27. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-build-table.js +28 -18
  28. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-chart.js +1 -1
  29. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-columnSelector.js +22 -18
  30. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-cssStickyHeaders.js +1 -1
  31. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-formatter-html5.js +34 -31
  32. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-formatter-jui.js +46 -46
  33. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-formatter-select2.js +10 -10
  34. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-type-insideRange.js +1 -1
  35. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter.js +17 -13
  36. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-formatter.js +2 -2
  37. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-grouping.js +14 -15
  38. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-headerTitles.js +8 -9
  39. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-lazyload.js +35 -35
  40. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-math.js +8 -9
  41. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-output.js +7 -6
  42. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-pager.js +60 -56
  43. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-print.js +1 -1
  44. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-reflow.js +11 -11
  45. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js +2 -2
  46. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-resizable.js +3 -3
  47. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-saveSort.js +23 -12
  48. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-scroller.js +3 -4
  49. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-sort2Hash.js +2 -2
  50. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-sortTbodies.js +1 -1
  51. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-staticRow.js +7 -7
  52. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-stickyHeaders.js +2 -2
  53. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-storage.js +5 -6
  54. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-uitheme.js +7 -6
  55. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-vertical-group.js +10 -12
  56. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-view.js +3 -3
  57. metadata +2 -2
@@ -6,7 +6,7 @@
6
6
  ;( function( $ ) {
7
7
  'use strict';
8
8
 
9
- var updateServer = function( event, $table, $input ) {
9
+ var updateServer = function( /* event, $table, $input */ ) {
10
10
  // do something here to update your server, if needed
11
11
  // event = change event object
12
12
  // $table = jQuery object of the table that was just updated
@@ -18,6 +18,7 @@
18
18
  str = number.toString();
19
19
  if (
20
20
  !isNaN( number ) &&
21
+ // eslint-disable-next-line eqeqeq
21
22
  number == val && // jshint ignore:line
22
23
  val.length !== str.length
23
24
  ) {
@@ -2,7 +2,7 @@
2
2
  * code modified from http://stackoverflow.com/a/12014376/145346
3
3
  */
4
4
  /*jshint jquery:true */
5
- ;(function($){
5
+ ;(function($) {
6
6
  'use strict';
7
7
 
8
8
  // Change language of the named numbers as needed
@@ -1,7 +1,7 @@
1
1
  /*! Parser: network - updated 2018-01-10 (v2.29.3) */
2
2
  /* IPv4, IPv6 and MAC Addresses */
3
3
  /*global jQuery: false */
4
- ;(function($){
4
+ ;(function($) {
5
5
  'use strict';
6
6
 
7
7
  var ts = $.tablesorter,
@@ -47,13 +47,13 @@
47
47
  if (ts.regex.ipv4Validate.test(address)) {
48
48
  groups = address.match(ts.regex.ipv4Extract);
49
49
  t = '';
50
- for (i = 1; i < groups.length; i++){
50
+ for (i = 1; i < groups.length; i++) {
51
51
  t += ('00' + (parseInt(groups[i], 10).toString(16)) ).slice(-2) + ( i === 2 ? ':' : '' );
52
52
  }
53
53
  address = address.replace( ts.regex.ipv4Extract, t );
54
54
  }
55
55
 
56
- if (address.indexOf('::') == -1) {
56
+ if (address.indexOf('::') === -1) {
57
57
  // All eight groups are present
58
58
  fullAddress = address;
59
59
  } else {
@@ -74,7 +74,7 @@
74
74
  // it's fastest & easiest for tablesorter to sort decimal values (vs hex)
75
75
  groups[i] = hex ? ('0000' + groups[i]).slice(-4) :
76
76
  ('00000' + (parseInt(groups[i], 16) || 0)).slice(-5);
77
- expandedAddress += ( i != validGroupCount - 1) ? groups[i] + ':' : groups[i];
77
+ expandedAddress += ( i !== validGroupCount - 1) ? groups[i] + ':' : groups[i];
78
78
  }
79
79
  return expandedAddress;
80
80
  },
@@ -4,7 +4,7 @@
4
4
  * Jonathan Snook comment @ http://blog.stevenlevithan.com/archives/javascript-roman-numeral-converter#comment-16140
5
5
  */
6
6
  /*jshint jquery:true, unused:false */
7
- ;(function($){
7
+ ;(function($) {
8
8
  'use strict';
9
9
 
10
10
  // allow lower case roman numerals, since lists use i, ii, iii, etc.
@@ -14,7 +14,7 @@
14
14
 
15
15
  $.tablesorter.addParser({
16
16
  id: 'roman',
17
- is: function(){
17
+ is: function() {
18
18
  return false;
19
19
  },
20
20
  format: function(s) {
@@ -39,7 +39,7 @@
39
39
 
40
40
  $.tablesorter.addParser({
41
41
  id: 'roman-ignore',
42
- is: function(){
42
+ is: function() {
43
43
  return false;
44
44
  },
45
45
  format: function(s, table, cell, column) {
@@ -80,13 +80,13 @@
80
80
 
81
81
  $.tablesorter.addParser({
82
82
  id: 'roman-extract',
83
- is: function(){
83
+ is: function() {
84
84
  return false;
85
85
  },
86
86
  format: function(s) {
87
87
  var val,
88
88
  // find roman numerals
89
- roman = $.grep(s.split(/\b/), function(v, i){
89
+ roman = $.grep(s.split(/\b/), function(v) {
90
90
  return validator.test(v) ? v : '';
91
91
  }).join('').match(matcher),
92
92
 
@@ -4,14 +4,14 @@
4
4
  */
5
5
  /*jshint browser:true, jquery:true, unused:false */
6
6
  /*global jQuery: false */
7
- ;(function($){
7
+ ;(function($) {
8
8
  'use strict';
9
9
  var ts = $.tablesorter;
10
10
 
11
11
  ts.alignChar = {
12
12
 
13
13
  init : function(table, c, wo) {
14
- c.$headers.filter('[' + wo.alignChar_charAttrib + ']').each(function(){
14
+ c.$headers.filter('[' + wo.alignChar_charAttrib + ']').each(function() {
15
15
  var $this = $(this),
16
16
  vars = {
17
17
  column : this.column,
@@ -27,14 +27,14 @@
27
27
  });
28
28
  },
29
29
 
30
- setup: function(table, c, wo, v){
30
+ setup: function(table, c, wo, v) {
31
31
  // do nothing for empty tables
32
32
  if ($.isEmptyObject(c.cache)) { return; }
33
33
  var tbodyIndex, rowIndex, start, end, last, index, rows, val, count,
34
34
  len, wLeft, wRight, alignChar, $row,
35
35
  left = [],
36
36
  right = [];
37
- for (tbodyIndex = 0; tbodyIndex < c.$tbodies.length; tbodyIndex++){
37
+ for (tbodyIndex = 0; tbodyIndex < c.$tbodies.length; tbodyIndex++) {
38
38
  rows = c.cache[tbodyIndex];
39
39
  len = rows.normalized.length;
40
40
  for (rowIndex = 0; rowIndex < len; rowIndex++) {
@@ -70,14 +70,14 @@
70
70
  }
71
71
 
72
72
  // find widest segments
73
- wLeft = ($.extend([], left)).sort(function(a, b){ return b.length - a.length; })[0];
74
- wRight = ($.extend([], right)).sort(function(a, b){ return b.length - a.length; })[0];
73
+ wLeft = ($.extend([], left)).sort(function(a, b) { return b.length - a.length; })[0];
74
+ wRight = ($.extend([], right)).sort(function(a, b) { return b.length - a.length; })[0];
75
75
  // calculate percentage widths
76
76
  v.width = v.width || ( Math.floor(wLeft.length / (wLeft.length + wRight.length) * 100) + v.adjust );
77
77
  wLeft = 'min-width:' + v.width + '%';
78
78
  wRight = 'min-width:' + (100 - v.width) + '%';
79
79
 
80
- for (tbodyIndex = 0; tbodyIndex < c.$tbodies.length; tbodyIndex++){
80
+ for (tbodyIndex = 0; tbodyIndex < c.$tbodies.length; tbodyIndex++) {
81
81
  rows = c.cache[tbodyIndex];
82
82
  len = rows.normalized.length;
83
83
  for (rowIndex = 0; rowIndex < len; rowIndex++) {
@@ -94,10 +94,10 @@
94
94
 
95
95
  },
96
96
 
97
- remove: function(table, c, column){
97
+ remove: function(table, c, column) {
98
98
  if ($.isEmptyObject(c.cache)) { return; }
99
99
  var tbodyIndex, rowIndex, len, rows, $row, $cell;
100
- for (tbodyIndex = 0; tbodyIndex < c.$tbodies.length; tbodyIndex++){
100
+ for (tbodyIndex = 0; tbodyIndex < c.$tbodies.length; tbodyIndex++) {
101
101
  rows = c.cache[tbodyIndex];
102
102
  len = rows.normalized.length;
103
103
  for (rowIndex = 0; rowIndex < len; rowIndex++) {
@@ -118,26 +118,26 @@
118
118
  alignChar_indexAttrib : 'data-align-index',
119
119
  alignChar_adjustAttrib : 'data-align-adjust' // percentage width adjustments
120
120
  },
121
- init: function(table, thisWidget, c, wo){
121
+ init: function(table, thisWidget, c, wo) {
122
122
  wo.alignChar_initialized = false;
123
123
  wo.alignChar_savedVars = [];
124
124
  ts.alignChar.init(table, c, wo);
125
- c.$table.on('pagerEnd refreshAlign', function(){
126
- c.$headers.filter('[' + wo.alignChar_charAttrib + ']').each(function(){
125
+ c.$table.on('pagerEnd refreshAlign', function() {
126
+ c.$headers.filter('[' + wo.alignChar_charAttrib + ']').each(function() {
127
127
  ts.alignChar.remove(table, c, this.column);
128
128
  });
129
129
  ts.alignChar.init(table, c, wo);
130
130
  });
131
131
  },
132
- format : function(table, c, wo){
132
+ format : function(table, c, wo) {
133
133
  // reinitialize in case table is empty when first initialized
134
134
  if (!wo.alignChar_initialized) {
135
135
  c.$table.triggerHandler('refreshAlign');
136
136
  }
137
137
  },
138
- remove : function(table, c, wo, refreshing){
138
+ remove : function(table, c, wo, refreshing) {
139
139
  if (refreshing) { return; }
140
- c.$headers.filter('[' + wo.alignChar_charAttrib + ']').each(function(){
140
+ c.$headers.filter('[' + wo.alignChar_charAttrib + ']').each(function() {
141
141
  ts.alignChar.remove(table, c, this.column);
142
142
  });
143
143
  wo.alignChar_initialized = false;
@@ -1,17 +1,17 @@
1
- /*! Widget: Build Table - updated 4/2/2017 (v2.28.6) *//*
1
+ /*! Widget: Build Table - updated 2018-03-18 (v2.30.0) *//*
2
2
  * for tableSorter v2.16.0+
3
3
  * by Rob Garrison
4
4
  */
5
5
  /*jshint browser:true, jquery:true, unused:false */
6
6
  /*global jQuery: false */
7
- ;(function($){
7
+ ;(function($) {
8
8
  'use strict';
9
9
  var ts = $.tablesorter = $.tablesorter || {},
10
10
 
11
11
  // build a table from data (requires existing <table> tag)
12
12
  // data.header contains an array of header titles
13
13
  // data.rows contains an array of rows which contains an array of cells
14
- bt = ts.buildTable = function(tar, c){
14
+ bt = ts.buildTable = function(tar, c) {
15
15
  // add build options to defaults to prevent warnings
16
16
  $.extend(true, ts.defaults.widgetOptions, bt.defaults);
17
17
  // add table if one doesn't exist
@@ -21,9 +21,10 @@
21
21
  p = wo.build_processing,
22
22
  typ = wo.build_type,
23
23
  d = wo.build_source || c.data,
24
+ debug = ts.debug(c, 'build'),
24
25
 
25
26
  // determine type: html, json, array, csv, object
26
- runType = function(d){
27
+ runType = function(d) {
27
28
  var t = $.type(d),
28
29
  jq = d instanceof jQuery;
29
30
  // run any processing if set
@@ -59,7 +60,9 @@
59
60
 
60
61
  // even if wo.build_type is undefined, we can try to figure out the type
61
62
  if ( !ts.buildTable.hasOwnProperty(typ) && typ !== '' ) {
62
- if (c.debug) { console.error('aborting build table widget, incorrect build type'); }
63
+ if (debug) {
64
+ console.error('Build >> ERROR: Aborting build table widget, incorrect build type');
65
+ }
63
66
  return false;
64
67
  }
65
68
 
@@ -72,8 +75,10 @@
72
75
  .done(function(data) {
73
76
  runType(data);
74
77
  })
75
- .fail(function( jqXHR, textStatus, errorThrown) {
76
- if (c.debug) { console.error('aborting build table widget, failed ajax load'); }
78
+ .fail(function( jqXHR, textStatus) {
79
+ if (debug) {
80
+ console.error('Build >> ERROR: Aborting build table widget, failed ajax load');
81
+ }
77
82
  $tbl.html('<tr><td class="error">' + jqXHR.status + ' ' + textStatus + '</td></tr>');
78
83
  });
79
84
  } else {
@@ -125,7 +130,7 @@
125
130
  // add colgroup if widths set
126
131
  if (widths && widths.length) {
127
132
  t += '<colgroup>';
128
- $.each(widths, function(i, w){
133
+ $.each(widths, function(i, w) {
129
134
  t += '<col' + ( w ? ' style="width:' + w + '"' : '' ) + '>';
130
135
  });
131
136
  t += '</colgroup>';
@@ -133,7 +138,7 @@
133
138
  return t;
134
139
  },
135
140
  // d = cell data; typ = 'th' or 'td'; first = save widths from first header row only
136
- cell : function(d, wo, typ, col, first){
141
+ cell : function(d, wo, typ, col, first) {
137
142
  var j, $td,
138
143
  $col = first ? $('<col>') : '',
139
144
  cls = wo.build_headers.classes,
@@ -150,7 +155,7 @@
150
155
  // assume we have an object
151
156
  $td = $('<' + typ + '>');
152
157
  for (j in d) {
153
- if (d.hasOwnProperty(j)){
158
+ if (d.hasOwnProperty(j)) {
154
159
  if (j === 'text' || j === 'html') {
155
160
  $td[j]( d[j] );
156
161
  } else if (first && j === 'width') {
@@ -165,7 +170,7 @@
165
170
  return [ $td, $col ];
166
171
  },
167
172
  // h1 = header text from data
168
- header : function(h1, wo){
173
+ header : function(h1, wo) {
169
174
  var h2 = wo.build_headers.text,
170
175
  cls = wo.build_headers.classes,
171
176
  t = '<tr>' + (wo.build_numbers.addColumn ? '<th' + (wo.build_numbers.sortable ? '' :
@@ -180,7 +185,7 @@
180
185
  });
181
186
  return t + '</tr>';
182
187
  },
183
- rows : function(items, txt, c, wo, num, ftr){
188
+ rows : function(items, txt, c, wo, num, ftr) {
184
189
  var h = (ftr ? 'th' : 'td'),
185
190
  t = '<tr>' + (wo.build_numbers.addColumn ? '<' + h + '>' + (ftr ? '' : num) + '</' + h + '>' : '');
186
191
  $.each(items, function(i, item) {
@@ -196,8 +201,11 @@
196
201
  }
197
202
  };
198
203
 
199
- bt.buildComplete = function(table, wo){
204
+ bt.buildComplete = function(table, wo) {
200
205
  $(table).triggerHandler(wo.build_complete);
206
+ if (table.config && ts.debug(table.config, 'build')) {
207
+ console.log('Build >> Table build complete');
208
+ }
201
209
  ts.setup(table, table.config);
202
210
  };
203
211
 
@@ -361,7 +369,9 @@
361
369
  r = data.hasOwnProperty(kr) && !$.isEmptyObject(data.kr) ? data.kr : data.hasOwnProperty('rows') ? data.rows : false;
362
370
 
363
371
  if (!h || !r || h.length === 0 || r.length === 0) {
364
- if (c.debug) { console.error('aborting build table widget, missing data for object build'); }
372
+ if (ts.debug(c, 'build')) {
373
+ console.error('Build >> ERROR: Aborting build table widget, missing data for object build');
374
+ }
365
375
  return false;
366
376
  }
367
377
 
@@ -371,7 +381,7 @@
371
381
  // Build thead
372
382
  // h = [ ['headerRow1Cell1', 'headerRow1Cell2', ... 'headerRow1CellN' ], ['headerRow2Cell1', ... ] ]
373
383
  // or h = [ [ { text: 'firstCell', class: 'fc', width: '20%' }, ..., { text: 'last Cell' } ], [ /* second row */ ] ]
374
- $.each(h, function(i, d){
384
+ $.each(h, function(i, d) {
375
385
  $tr = $('<tr>').appendTo( $t.find('thead') );
376
386
  l = d.length; // header row
377
387
  for ( j = 0; j < l; j++ ) {
@@ -388,14 +398,14 @@
388
398
 
389
399
  $tb = $('<tbody>');
390
400
  // Build tbody
391
- $.each(r, function(i, d){
401
+ $.each(r, function(i, d) {
392
402
  var j;
393
403
  t = $.type(d) === 'object';
394
404
  // add new tbody
395
405
  if (t && d.newTbody) {
396
406
  $tb = $('<tbody>').appendTo( $t );
397
407
  for (j in d) {
398
- if (d.hasOwnProperty(j) && j !== 'newTbody'){
408
+ if (d.hasOwnProperty(j) && j !== 'newTbody') {
399
409
  $tb.attr(j, d[j]);
400
410
  }
401
411
  }
@@ -409,7 +419,7 @@
409
419
  if (t) {
410
420
  // row defined by object
411
421
  for (j in d) {
412
- if (d.hasOwnProperty(j) && j !== wo.build_objectCellKey){
422
+ if (d.hasOwnProperty(j) && j !== wo.build_objectCellKey) {
413
423
  $tr.attr(j, d[j]);
414
424
  }
415
425
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  /*jshint browser:true, jquery:true, unused:false */
5
5
  /*global jQuery: false */
6
- ;(function($){
6
+ ;(function($) {
7
7
  'use strict';
8
8
 
9
9
  var ts = $.tablesorter,
@@ -1,10 +1,10 @@
1
- /* Widget: columnSelector (responsive table widget) - updated 9/27/2017 (v2.29.0) *//*
1
+ /* Widget: columnSelector (responsive table widget) - updated 2018-03-18 (v2.30.0) *//*
2
2
  * Requires tablesorter v2.8+ and jQuery 1.7+
3
3
  * by Justin Hallett & Rob Garrison
4
4
  */
5
5
  /*jshint browser:true, jquery:true, unused:false */
6
6
  /*global jQuery: false */
7
- ;(function($){
7
+ ;(function($) {
8
8
  'use strict';
9
9
 
10
10
  var ts = $.tablesorter,
@@ -15,13 +15,14 @@
15
15
  queryBreak : '@media all and (min-width: [size]) { [columns] { display: table-cell; } } ',
16
16
 
17
17
  init: function(table, c, wo) {
18
- var $t, colSel;
18
+ var $t, colSel,
19
+ debug = ts.debug(c, 'columnSelector');
19
20
 
20
21
  // abort if no input is contained within the layout
21
22
  $t = $(wo.columnSelector_layout);
22
23
  if (!$t.find('input').add( $t.filter('input') ).length) {
23
- if (c.debug) {
24
- console.error('ColumnSelector: >> ERROR: Column Selector aborting, no input found in the layout! ***');
24
+ if (debug) {
25
+ console.error('ColumnSelector >> ERROR: Column Selector aborting, no input found in the layout! ***');
25
26
  }
26
27
  return;
27
28
  }
@@ -45,8 +46,8 @@
45
46
  colSel.isInitializing = false;
46
47
  if (colSel.$container.length) {
47
48
  tsColSel.updateCols(c, wo);
48
- } else if (c.debug) {
49
- console.warn('ColumnSelector: >> container not found');
49
+ } else if (debug) {
50
+ console.warn('ColumnSelector >> container not found');
50
51
  }
51
52
 
52
53
  c.$table
@@ -59,11 +60,14 @@
59
60
  [ 'auto', [2,3,4] ] = set visible columns; turn on "auto" mode.
60
61
  true = turn on "auto" mode.
61
62
  */
62
- .on('refreshColumnSelector' + namespace, function( e, optName, optState ){
63
+ .on('refreshColumnSelector' + namespace, function( e, optName, optState ) {
63
64
  // make sure we're using current config settings
64
65
  tsColSel.refreshColumns( this.config, optName, optState );
65
66
  });
66
67
 
68
+ if (debug) {
69
+ console.log('ColumnSelector >> Widget initialized');
70
+ }
67
71
  },
68
72
 
69
73
  refreshColumns: function( c, optName, optState ) {
@@ -87,7 +91,7 @@
87
91
  if (isArry) {
88
92
  arry = optState || optName;
89
93
  // make sure array contains numbers
90
- $.each(arry, function(i, v){
94
+ $.each(arry, function(i, v) {
91
95
  arry[i] = parseInt(v, 10);
92
96
  });
93
97
  for (i = 0; i < c.columns; i++) {
@@ -229,7 +233,7 @@
229
233
  .attr('data-column', 'auto')
230
234
  .prop('checked', colSel.auto)
231
235
  .toggleClass( wo.columnSelector_cssChecked, colSel.auto )
232
- .on('change', function(){
236
+ .on('change', function() {
233
237
  tsColSel.updateAuto(c, wo, $(this));
234
238
  }).change();
235
239
  }
@@ -243,7 +247,7 @@
243
247
  updateAuto: function(c, wo, $el) {
244
248
  var colSel = c.selector;
245
249
  colSel.auto = $el.prop('checked') || false;
246
- $.each( colSel.$checkbox, function(i, $cb){
250
+ $.each( colSel.$checkbox, function(i, $cb) {
247
251
  if ($cb) {
248
252
  $cb[0].disabled = colSel.auto;
249
253
  colSel.$wrapper[i].toggleClass('disabled', colSel.auto);
@@ -257,7 +261,7 @@
257
261
  if (c.selector.$popup) {
258
262
  c.selector.$popup.find('.tablesorter-column-selector')
259
263
  .html( colSel.$container.html() )
260
- .find('input').each(function(){
264
+ .find('input').each(function() {
261
265
  var indx = $(this).attr('data-column');
262
266
  $(this).prop( 'checked', indx === 'auto' ? colSel.auto : colSel.states[indx] );
263
267
  });
@@ -306,10 +310,10 @@
306
310
  }
307
311
  }
308
312
  // only 6 breakpoints (same as jQuery Mobile)
309
- for (priority = 0; priority < wo.columnSelector_maxPriorities; priority++){
313
+ for (priority = 0; priority < wo.columnSelector_maxPriorities; priority++) {
310
314
  /*jshint loopfunc:true */
311
315
  breaks = [];
312
- c.$headers.filter('[' + wo.columnSelector_priority + '=' + (priority + 1) + ']').each(function(){
316
+ c.$headers.filter('[' + wo.columnSelector_priority + '=' + (priority + 1) + ']').each(function() {
313
317
  column = parseInt($(this).attr('data-column'), 10) + 1;
314
318
  // don't reveal columnSelector false columns
315
319
  if ( !isHidden[ column ] ) {
@@ -340,14 +344,14 @@
340
344
  colSel = c.selector,
341
345
  styles = [],
342
346
  prefix = c.namespace + 'columnselector';
343
- colSel.$container.find('input[data-column]').filter('[data-column!="auto"]').each(function(){
347
+ colSel.$container.find('input[data-column]').filter('[data-column!="auto"]').each(function() {
344
348
  if (!this.checked) {
345
349
  column = parseInt( $(this).attr('data-column'), 10 ) + 1;
346
350
  styles = styles.concat( tsColSel.addSelectors( wo, prefix, column ) );
347
351
  }
348
352
  $(this).toggleClass( wo.columnSelector_cssChecked, this.checked );
349
353
  });
350
- if (wo.columnSelector_mediaquery){
354
+ if (wo.columnSelector_mediaquery) {
351
355
  colSel.$breakpoints.prop('disabled', true);
352
356
  }
353
357
  if (colSel.$style) {
@@ -451,7 +455,7 @@
451
455
  wo = c.widgetOptions;
452
456
  $popup.find('.tablesorter-column-selector')
453
457
  .html( colSel.$container.html() )
454
- .find('input').each(function(){
458
+ .find('input').each(function() {
455
459
  var indx = $(this).attr('data-column'),
456
460
  isChecked = indx === 'auto' ? colSel.auto : colSel.states[indx];
457
461
  $(this)
@@ -503,7 +507,7 @@
503
507
  // container layout
504
508
  columnSelector_layout : '<label><input type="checkbox">{name}</label>',
505
509
  // layout customizer callback called for each column
506
- // function($cell, name, column){ return name || $cell.html(); }
510
+ // function($cell, name, column) { return name || $cell.html(); }
507
511
  columnSelector_layoutCustomizer : null,
508
512
  // data attribute containing column name to use in the selector container
509
513
  columnSelector_name : 'data-selector-name',