jquery-tablesorter 1.24.5 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -4,7 +4,7 @@
4
4
  ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
5
5
  █████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
6
6
  */
7
- /*! tablesorter (FORK) - updated 2018-02-25 (v2.29.6)*/
7
+ /*! tablesorter (FORK) - updated 2018-03-19 (v2.30.1)*/
8
8
  /* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
9
9
  (function(factory) {
10
10
  if (typeof define === 'function' && define.amd) {
@@ -16,7 +16,7 @@
16
16
  }
17
17
  }(function(jQuery) {
18
18
 
19
- /*! Widget: storage - updated 4/18/2017 (v2.28.8) */
19
+ /*! Widget: storage - updated 2018-03-18 (v2.30.0) */
20
20
  /*global JSON:false */
21
21
  ;(function ($, window, document) {
22
22
  'use strict';
@@ -62,6 +62,7 @@
62
62
  values = {},
63
63
  c = table.config,
64
64
  wo = c && c.widgetOptions,
65
+ debug = ts.debug(c, 'storage'),
65
66
  storageType = (
66
67
  ( options && options.storageType ) || ( wo && wo.storage_storageType )
67
68
  ).toString().charAt(0).toLowerCase(),
@@ -90,14 +91,12 @@
90
91
  hasStorage = true;
91
92
  window[storageType].removeItem('_tmptest');
92
93
  } catch (error) {
93
- if (c && c.debug) {
94
- console.warn( storageType + ' is not supported in this browser' );
95
- }
94
+ console.warn( storageType + ' is not supported in this browser' );
96
95
  }
97
96
  }
98
97
  }
99
- if (c.debug) {
100
- console.log('Storage widget using', hasStorage ? storageType : 'cookies');
98
+ if (debug) {
99
+ console.log('Storage >> Using', hasStorage ? storageType : 'cookies');
101
100
  }
102
101
  // *** get value ***
103
102
  if ($.parseJSON) {
@@ -133,7 +132,7 @@
133
132
 
134
133
  })(jQuery, window, document);
135
134
 
136
- /*! Widget: uitheme - updated 9/27/2017 (v2.29.0) */
135
+ /*! Widget: uitheme - updated 2018-03-18 (v2.30.0) */
137
136
  ;(function ($) {
138
137
  'use strict';
139
138
  var ts = $.tablesorter || {};
@@ -198,8 +197,9 @@
198
197
  theme = c.theme || 'jui',
199
198
  themes = themesAll[theme] || {},
200
199
  remove = $.trim( [ themes.sortNone, themes.sortDesc, themes.sortAsc, themes.active ].join( ' ' ) ),
201
- iconRmv = $.trim( [ themes.iconSortNone, themes.iconSortDesc, themes.iconSortAsc ].join( ' ' ) );
202
- if (c.debug) { time = new Date(); }
200
+ iconRmv = $.trim( [ themes.iconSortNone, themes.iconSortDesc, themes.iconSortAsc ].join( ' ' ) ),
201
+ debug = ts.debug(c, 'uitheme');
202
+ if (debug) { time = new Date(); }
203
203
  // initialization code - run once
204
204
  if (!$table.hasClass('tablesorter-' + theme) || c.theme !== c.appliedTheme || !wo.uitheme_applied) {
205
205
  wo.uitheme_applied = true;
@@ -244,7 +244,7 @@
244
244
  $(this)[ event.type === 'mouseenter' ? 'addClass' : 'removeClass' ](themes.hover || '');
245
245
  });
246
246
 
247
- $headers.each(function(){
247
+ $headers.each(function() {
248
248
  var $this = $(this);
249
249
  if (!$this.find('.' + ts.css.wrapper).length) {
250
250
  // Firefox needs this inner div to position the icon & resizer correctly
@@ -302,8 +302,8 @@
302
302
  }
303
303
  }
304
304
  }
305
- if (c.debug) {
306
- console.log('Applying ' + theme + ' theme' + ts.benchmark(time));
305
+ if (debug) {
306
+ console.log('uitheme >> Applied ' + theme + ' theme' + ts.benchmark(time));
307
307
  }
308
308
  },
309
309
  remove: function(table, c, wo, refreshing) {
@@ -408,7 +408,7 @@
408
408
 
409
409
  })(jQuery);
410
410
 
411
- /*! Widget: filter - updated 2018-01-30 (v2.29.5) *//*
411
+ /*! Widget: filter - updated 2018-03-18 (v2.30.0) *//*
412
412
  * Requires tablesorter v2.8+ and jQuery 1.7+
413
413
  * by Rob Garrison
414
414
  */
@@ -690,6 +690,7 @@
690
690
  if ( tsfRegex.exact.test( data.iFilter ) ) {
691
691
  var txt = data.iFilter.replace( tsfRegex.exact, '' ),
692
692
  filter = tsf.parseFilter( c, txt, data ) || '';
693
+ // eslint-disable-next-line eqeqeq
693
694
  return data.anyMatch ? $.inArray( filter, data.rowArray ) >= 0 : filter == data.iExact;
694
695
  }
695
696
  return null;
@@ -863,7 +864,7 @@
863
864
  c.lastCombinedFilter = null;
864
865
  c.lastSearch = [];
865
866
  // update filterFormatters after update (& small delay) - Fixes #1237
866
- setTimeout(function(){
867
+ setTimeout(function() {
867
868
  c.$table.triggerHandler( 'filterFomatterUpdate' );
868
869
  }, 100);
869
870
  }
@@ -957,7 +958,7 @@
957
958
 
958
959
  // show processing icon
959
960
  if ( c.showProcessing ) {
960
- txt = 'filterStart filterEnd '.split( ' ' ).join( c.namespace + 'filter ' );
961
+ txt = 'filterStart filterEnd '.split( ' ' ).join( c.namespace + 'filter-sp ' );
961
962
  c.$table
962
963
  .unbind( txt.replace( ts.regex.spaces, ' ' ) )
963
964
  .bind( txt, function( event, columns ) {
@@ -1036,6 +1037,9 @@
1036
1037
  c.lastSearch = c.$table.data( 'lastSearch' );
1037
1038
  c.$table.triggerHandler( 'filterInit', c );
1038
1039
  tsf.findRows( c.table, c.lastSearch || [] );
1040
+ if (ts.debug(c, 'filter')) {
1041
+ console.log('Filter >> Widget initialized');
1042
+ }
1039
1043
  };
1040
1044
  if ( $.isEmptyObject( wo.filter_formatter ) ) {
1041
1045
  completed();
@@ -1736,6 +1740,7 @@
1736
1740
  storedFilters = $.extend( [], filters ),
1737
1741
  c = table.config,
1738
1742
  wo = c.widgetOptions,
1743
+ debug = ts.debug(c, 'filter'),
1739
1744
  // data object passed to filters; anyMatch is a flag for the filters
1740
1745
  data = {
1741
1746
  anyMatch: false,
@@ -1752,7 +1757,6 @@
1752
1757
  defaultColFilter : [],
1753
1758
  defaultAnyFilter : ts.getColumnData( table, wo.filter_defaultFilter, c.columns, true ) || ''
1754
1759
  };
1755
-
1756
1760
  // parse columns after formatter, in case the class is added at that point
1757
1761
  data.parsed = [];
1758
1762
  for ( columnIndex = 0; columnIndex < c.columns; columnIndex++ ) {
@@ -1774,8 +1778,8 @@
1774
1778
  ( ts.getColumnData( table, wo.filter_excludeFilter, columnIndex, true ) || '' ).split( /\s+/ );
1775
1779
  }
1776
1780
 
1777
- if ( c.debug ) {
1778
- console.log( 'Filter: Starting filter widget search', filters );
1781
+ if ( debug ) {
1782
+ console.log( 'Filter >> Starting filter widget search', filters );
1779
1783
  time = new Date();
1780
1784
  }
1781
1785
  // filtered rows count
@@ -1873,8 +1877,8 @@
1873
1877
  notFiltered = $rows.not( '.' + wo.filter_filteredRow ).length;
1874
1878
  // can't search when all rows are hidden - this happens when looking for exact matches
1875
1879
  if ( searchFiltered && notFiltered === 0 ) { searchFiltered = false; }
1876
- if ( c.debug ) {
1877
- console.log( 'Filter: Searching through ' +
1880
+ if ( debug ) {
1881
+ console.log( 'Filter >> Searching through ' +
1878
1882
  ( searchFiltered && notFiltered < len ? notFiltered : 'all' ) + ' rows' );
1879
1883
  }
1880
1884
  if ( data.anyMatchFlag ) {
@@ -1977,8 +1981,8 @@
1977
1981
  if ( wo.filter_saveFilters && ts.storage ) {
1978
1982
  ts.storage( table, 'tablesorter-filters', tsf.processFilters( storedFilters, true ) );
1979
1983
  }
1980
- if ( c.debug ) {
1981
- console.log( 'Completed filter widget search' + ts.benchmark(time) );
1984
+ if ( debug ) {
1985
+ console.log( 'Filter >> Completed search' + ts.benchmark(time) );
1982
1986
  }
1983
1987
  if ( wo.filter_initialized ) {
1984
1988
  c.$table.triggerHandler( 'filterBeforeEnd', c );
@@ -2193,13 +2197,13 @@
2193
2197
  options += '<option';
2194
2198
  for ( val in option ) {
2195
2199
  if ( option.hasOwnProperty( val ) && val !== 'text' ) {
2196
- options += ' ' + val + '="' + option[ val ] + '"';
2200
+ options += ' ' + val + '="' + option[ val ].replace( tsfRegex.quote, '&quot;' ) + '"';
2197
2201
  }
2198
2202
  }
2199
2203
  if ( !option.value ) {
2200
- options += ' value="' + option.text + '"';
2204
+ options += ' value="' + option.text.replace( tsfRegex.quote, '&quot;' ) + '"';
2201
2205
  }
2202
- options += '>' + option.text + '</option>';
2206
+ options += '>' + option.text.replace( tsfRegex.quote, '&quot;' ) + '</option>';
2203
2207
  // above code is needed in jQuery < v1.8
2204
2208
 
2205
2209
  // make sure we don't turn an object into a string (objects without a "text" property)
@@ -2483,7 +2487,7 @@
2483
2487
  $stickyThead = $stickyTable.children('thead:first'),
2484
2488
  $stickyCells,
2485
2489
  laststate = '',
2486
- setWidth = function($orig, $clone){
2490
+ setWidth = function($orig, $clone) {
2487
2491
  var index, width, border, $cell, $this,
2488
2492
  $cells = $orig.filter(':visible'),
2489
2493
  len = $cells.length;
@@ -2624,7 +2628,7 @@
2624
2628
  });
2625
2629
  c.$table
2626
2630
  .unbind('stickyHeadersUpdate' + namespace)
2627
- .bind('stickyHeadersUpdate' + namespace, function(){
2631
+ .bind('stickyHeadersUpdate' + namespace, function() {
2628
2632
  scrollSticky( true );
2629
2633
  });
2630
2634
 
@@ -2700,7 +2704,7 @@
2700
2704
  });
2701
2705
 
2702
2706
  // Add extra scroller css
2703
- $(function(){
2707
+ $(function() {
2704
2708
  var s = '<style>' +
2705
2709
  'body.' + ts.css.resizableNoSelect + ' { -ms-user-select: none; -moz-user-select: -moz-none;' +
2706
2710
  '-khtml-user-select: none; -webkit-user-select: none; user-select: none; }' +
@@ -2845,7 +2849,7 @@
2845
2849
 
2846
2850
  if ( ts.hasWidget( c.table, 'scroller' ) ) {
2847
2851
  tableHeight = 0;
2848
- c.$table.closest( '.' + ts.css.scrollerWrap ).children().each(function(){
2852
+ c.$table.closest( '.' + ts.css.scrollerWrap ).children().each(function() {
2849
2853
  var $this = $(this);
2850
2854
  // center table has a max-height set
2851
2855
  tableHeight += $this.filter('[style*="height"]').length ? $this.height() : $this.children('table').height();
@@ -3067,7 +3071,7 @@
3067
3071
  });
3068
3072
 
3069
3073
  ts.resizableReset = function( table, refreshing ) {
3070
- $( table ).each(function(){
3074
+ $( table ).each(function() {
3071
3075
  var index, $t,
3072
3076
  c = this.config,
3073
3077
  wo = c && c.widgetOptions,
@@ -3101,7 +3105,7 @@
3101
3105
 
3102
3106
  })( jQuery, window );
3103
3107
 
3104
- /*! Widget: saveSort - updated 10/31/2015 (v2.24.0) *//*
3108
+ /*! Widget: saveSort - updated 2018-03-19 (v2.30.1) *//*
3105
3109
  * Requires tablesorter v2.16+
3106
3110
  * by Rob Garrison
3107
3111
  */
@@ -3109,6 +3113,15 @@
3109
3113
  'use strict';
3110
3114
  var ts = $.tablesorter || {};
3111
3115
 
3116
+ function getStoredSortList(c) {
3117
+ var stored = ts.storage( c.table, 'tablesorter-savesort' );
3118
+ return (stored && stored.hasOwnProperty('sortList') && $.isArray(stored.sortList)) ? stored.sortList : [];
3119
+ }
3120
+
3121
+ function sortListChanged(c, sortList) {
3122
+ return (sortList || getStoredSortList(c)).join(',') !== c.sortList.join(',');
3123
+ }
3124
+
3112
3125
  // this widget saves the last sort only if the
3113
3126
  // saveSort widget option is true AND the
3114
3127
  // $.tablesorter.storage function is included
@@ -3124,18 +3137,19 @@
3124
3137
  thisWidget.format(table, c, wo, true);
3125
3138
  },
3126
3139
  format: function(table, c, wo, init) {
3127
- var stored, time,
3140
+ var time,
3128
3141
  $table = c.$table,
3129
3142
  saveSort = wo.saveSort !== false, // make saveSort active/inactive; default to true
3130
- sortList = { 'sortList' : c.sortList };
3131
- if (c.debug) {
3143
+ sortList = { 'sortList' : c.sortList },
3144
+ debug = ts.debug(c, 'saveSort');
3145
+ if (debug) {
3132
3146
  time = new Date();
3133
3147
  }
3134
3148
  if ($table.hasClass('hasSaveSort')) {
3135
- if (saveSort && table.hasInitialized && ts.storage) {
3149
+ if (saveSort && table.hasInitialized && ts.storage && sortListChanged(c)) {
3136
3150
  ts.storage( table, 'tablesorter-savesort', sortList );
3137
- if (c.debug) {
3138
- console.log('saveSort widget: Saving last sort: ' + c.sortList + ts.benchmark(time));
3151
+ if (debug) {
3152
+ console.log('saveSort >> Saving last sort: ' + c.sortList + ts.benchmark(time));
3139
3153
  }
3140
3154
  }
3141
3155
  } else {
@@ -3144,10 +3158,9 @@
3144
3158
  sortList = '';
3145
3159
  // get data
3146
3160
  if (ts.storage) {
3147
- stored = ts.storage( table, 'tablesorter-savesort' );
3148
- sortList = (stored && stored.hasOwnProperty('sortList') && $.isArray(stored.sortList)) ? stored.sortList : '';
3149
- if (c.debug) {
3150
- console.log('saveSort: Last sort loaded: "' + sortList + '"' + ts.benchmark(time));
3161
+ sortList = getStoredSortList(c);
3162
+ if (debug) {
3163
+ console.log('saveSort >> Last sort loaded: "' + sortList + '"' + ts.benchmark(time));
3151
3164
  }
3152
3165
  $table.bind('saveSortReset', function(event) {
3153
3166
  event.stopPropagation();
@@ -3160,7 +3173,9 @@
3160
3173
  c.sortList = sortList;
3161
3174
  } else if (table.hasInitialized && sortList && sortList.length > 0) {
3162
3175
  // update sort change
3163
- ts.sortOn( c, sortList );
3176
+ if (sortListChanged(c, sortList)) {
3177
+ ts.sortOn(c, sortList);
3178
+ }
3164
3179
  }
3165
3180
  }
3166
3181
  },
@@ -1,6 +1,6 @@
1
1
  /*! Parser: Extract out date - updated 10/26/2014 (v2.18.0) */
2
2
  /*jshint jquery:true */
3
- ;(function($){
3
+ ;(function($) {
4
4
  'use strict';
5
5
 
6
6
  var regex = {
@@ -5,7 +5,7 @@
5
5
  * See https://github.com/Mottie/tablesorter/issues/247
6
6
  */
7
7
  /*global jQuery: false */
8
- ;(function($){
8
+ ;(function($) {
9
9
  'use strict';
10
10
 
11
11
  var iso8601date = /^([0-9]{4})(-([0-9]{2})(-([0-9]{2})(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?$/;
@@ -1,7 +1,7 @@
1
1
  /*! Parser: Month - updated 11/22/2015 (v2.24.6) */
2
2
  /* Demo: http://jsfiddle.net/Mottie/abkNM/4169/ */
3
3
  /*jshint jquery:true */
4
- ;(function($){
4
+ ;(function($) {
5
5
  'use strict';
6
6
 
7
7
  var ts = $.tablesorter;
@@ -1,7 +1,7 @@
1
1
  /*! Parser: date ranges -updated 11/22/2015 (v2.24.6) */
2
2
  /* Include the 'widget-filter-type-insideRange.js' to filter ranges */
3
3
  /*jshint jquery:true */
4
- ;(function($){
4
+ ;(function($) {
5
5
  'use strict';
6
6
 
7
7
  var ts = $.tablesorter,
@@ -1,7 +1,7 @@
1
1
  /*! Parser: two digit year - updated 11/26/2016 (v2.28.0) */
2
2
  /* Demo: http://mottie.github.io/tablesorter/docs/example-parsers-dates.html */
3
3
  /*jshint jquery:true */
4
- ;(function($){
4
+ ;(function($) {
5
5
  'use strict';
6
6
 
7
7
  // Make the date be within +/- range of the 2 digit year
@@ -20,7 +20,7 @@
20
20
  ts.dates.regxxxxyy = /(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{2})/;
21
21
  ts.dates.regyyxxxx = /(\d{2})[\/\s](\d{1,2})[\/\s](\d{1,2})/;
22
22
 
23
- ts.formatDate = function(s, regex, format, table){
23
+ ts.formatDate = function(s, regex, format, table) {
24
24
  if (s) {
25
25
  var y, rng,
26
26
  n = s
@@ -1,7 +1,7 @@
1
1
  /*! Parser: weekday - updated 11/22/2015 (v2.24.6) */
2
2
  /* Demo: http://jsfiddle.net/Mottie/abkNM/4169/ */
3
3
  /*jshint jquery:true */
4
- ;(function($){
4
+ ;(function($) {
5
5
  'use strict';
6
6
 
7
7
  var ts = $.tablesorter;
@@ -2,7 +2,7 @@
2
2
  /* Extract dates using popular natural language date parsers */
3
3
  /*jshint jquery:true */
4
4
  /*global Sugar*/
5
- ;(function($){
5
+ ;(function($) {
6
6
  'use strict';
7
7
 
8
8
  /*! Sugar (https://sugarjs.com/docs/#/DateParsing) */
@@ -1,6 +1,6 @@
1
1
  /*! Parser: duration & countdown - updated 2/7/2015 (v2.19.0) */
2
2
  /*jshint jquery:true, unused:false */
3
- ;(function($){
3
+ ;(function($) {
4
4
  'use strict';
5
5
 
6
6
  // If any number > 9999, then set table.config.durationLength = 5
@@ -4,7 +4,7 @@
4
4
  * Demo: http://jsfiddle.net/Mottie/abkNM/154/
5
5
  */
6
6
  /*global jQuery: false */
7
- ;(function($){
7
+ ;(function($) {
8
8
  'use strict';
9
9
 
10
10
  var ts = $.tablesorter;
@@ -26,7 +26,7 @@
26
26
  n = p + parseInt(t[0], 10) / parseInt(t[1] || 1, 10);
27
27
  // look for fraction symbols
28
28
  } else if (ts.symbolRegex.test(n)) {
29
- n = p + n.replace(ts.symbolRegex, function(m){
29
+ n = p + n.replace(ts.symbolRegex, function(m) {
30
30
  return {
31
31
  '\u215b' : '.125', // 1/8
32
32
  '\u215c' : '.375', // 3/8
@@ -3,7 +3,7 @@
3
3
  * prefixed into the parsed data, so sorting occurs in groups
4
4
  */
5
5
  /*global jQuery: false */
6
- ;(function($){
6
+ ;(function($) {
7
7
  'use strict';
8
8
 
9
9
  // basic list from http://en.wikipedia.org/wiki/List_of_file_formats
@@ -51,7 +51,7 @@
51
51
  if (!m) {
52
52
  // make a string to 'quick' match the existing equivalents
53
53
  t = [];
54
- $.each(types, function(i, v){
54
+ $.each(types, function(i, v) {
55
55
  t.push(v);
56
56
  });
57
57
  m = $.tablesorter.fileTypes.matching = sep + t.join(sep) + sep;
@@ -4,7 +4,7 @@
4
4
  * Demo: http://jsfiddle.net/Mottie/abkNM/5/
5
5
  */
6
6
  /*jshint browser: true, jquery:true, unused:false */
7
- ;(function($){
7
+ ;(function($) {
8
8
  'use strict';
9
9
 
10
10
  var ts = $.tablesorter;
@@ -2,12 +2,12 @@
2
2
  /* alt attribute parser for jQuery 1.7+ & tablesorter 2.7.11+ */
3
3
  /* NOTE! Moved to jquery.tablesorter.js (core) in v2.18.0 */
4
4
  /*jshint jquery:true, unused:false */
5
- ;(function($){
5
+ ;(function($) {
6
6
  'use strict';
7
7
 
8
8
  $.tablesorter.addParser({
9
9
  id: 'image',
10
- is: function(){
10
+ is: function() {
11
11
  return false;
12
12
  },
13
13
  format: function(s, table, cell) {