jquery-tablesorter 1.13.3 → 1.13.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 118a095f29f08043c86da826b130c99bde031eef
4
- data.tar.gz: 2c3c3439dd14689e8aceedddcbb473c33a70c56d
3
+ metadata.gz: fbc77e5c7eae0e53eeabee85b7bc2383ee47f418
4
+ data.tar.gz: fc1cc344b8642f999e4787d8c82e4d93c6f73f30
5
5
  SHA512:
6
- metadata.gz: 21a31cdb42000c4027b9ceb97d7e3337bad59fa67460d2d55a697ba61ed95f0a10185fd605951790f740029112f409ef689bcd1726035b0fb9674fec42e1c1e3
7
- data.tar.gz: 6c5475bb17311b6df0f58acd007427899f0829e28fc0f256f867f2d587afdd328ba958f812bca8106bfea82e4b79bcb721aff23b06844c9aec1bfec5ae61cd64
6
+ metadata.gz: db3c65d13f8da77d1cdd84f9c40d6e3460317d7f59f3a30a3c6042f7366d0bc2606c2b4fcb94030164e8490251d592764c6664523b5e0cf6e4eb65fb34e6d46f
7
+ data.tar.gz: 0cd1b23750074956747fba1febbbcbe0d1084bcef6218d67d96723e65c6aeb28959ed198d016984a32f6667b7e57040e8ddce8b8531c7f63aa40dfc2de8a1b95
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Simple integration of jquery-tablesorter into the asset pipeline.
6
6
 
7
- Current tablesorter version: 2.18.3 (11/7/2014), [documentation]
7
+ Current tablesorter version: 2.18.4 (12/22/2014), [documentation]
8
8
 
9
9
  Any issue associated with the js/css files, please report to [Mottie's fork].
10
10
 
@@ -24,9 +24,9 @@ Or install it yourself as:
24
24
 
25
25
  ## Requirements
26
26
 
27
- Rails 3.1 and higher (tested up to 4.1)
27
+ Rails 3.1 and higher (tested up to 4.2)
28
28
 
29
- Tested with ruby 1.9.3 - 2.1.4
29
+ Tested with ruby 1.9.3 - 2.1.5
30
30
 
31
31
  ## Usage
32
32
 
@@ -73,11 +73,11 @@ Avaliable theme names:
73
73
  * theme.dropbox
74
74
  * theme.green
75
75
  * theme.grey
76
- * theme.ice
76
+ * theme.ice.css (file extension required due to sprockets, see [issue #3](https://github.com/themilkman/jquery-tablesorter-rails/issues/3))
77
77
  * theme.jui
78
78
  * theme.metro-dark
79
79
 
80
- pager theme:
80
+ Pager theme:
81
81
 
82
82
  ```css
83
83
  /*
@@ -1,3 +1,3 @@
1
1
  module JqueryTablesorter
2
- VERSION = '1.13.3'
2
+ VERSION = '1.13.4'
3
3
  end
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * tablesorter (FORK) pager plugin
3
- * updated 11/3/2014 (v2.18.2)
3
+ * updated 12/22/2014 (v2.18.4)
4
4
  */
5
5
  /*jshint browser:true, jquery:true, unused:false */
6
6
  ;(function($) {
@@ -284,7 +284,7 @@
284
284
  c = table.config,
285
285
  $b = c.$tbodies.eq(0);
286
286
  $b.find('tr.pagerSavedHeightSpacer').remove();
287
- if (p.fixedHeight && !p.isDisabled) {
287
+ if (p.fixedHeight && !p.isDisabled) {
288
288
  h = $.data(table, 'pagerSavedHeight');
289
289
  if (h) {
290
290
  d = h - $b.height();
@@ -846,9 +846,9 @@
846
846
  // make sure we have a copy of all table rows once the cache has been built
847
847
  updateCache(table);
848
848
  }
849
+ updatePageDisplay(table, p, false);
849
850
  moveToPage(table, p, false);
850
851
  c.$table.trigger('applyWidgets');
851
- updatePageDisplay(table, p, false);
852
852
  }
853
853
  })
854
854
  .bind('disable.pager', function(e){
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * TableSorter (FORK) 2.18.3 - Client-side table sorting with ease!
2
+ * TableSorter (FORK) 2.18.4 - Client-side table sorting with ease!
3
3
  * @requires jQuery v1.2.6+
4
4
  *
5
5
  * Copyright (c) 2007 Christian Bach
@@ -24,7 +24,7 @@
24
24
 
25
25
  var ts = this;
26
26
 
27
- ts.version = "2.18.3";
27
+ ts.version = "2.18.4";
28
28
 
29
29
  ts.parsers = [];
30
30
  ts.widgets = [];
@@ -96,6 +96,7 @@
96
96
  cssIconDesc : '', // class name added to the icon when the column has a descending sort
97
97
  cssInfoBlock : 'tablesorter-infoOnly', // don't sort tbody with this class name (only one class name allowed here!)
98
98
  cssAllowClicks : 'tablesorter-allowClicks', // class name added to table header which allows clicks to bubble up
99
+ cssIgnoreRow : 'tablesorter-ignoreRow', // header row to ignore; cells within this row will not be added to c.$headers
99
100
 
100
101
  // *** selectors
101
102
  selectorHeaders : '> thead th, > thead td',
@@ -447,40 +448,44 @@
447
448
  // add icon if cssIcon option exists
448
449
  i = c.cssIcon ? '<i class="' + ( c.cssIcon === ts.css.icon ? ts.css.icon : c.cssIcon + ' ' + ts.css.icon ) + '"></i>' : '';
449
450
  // redefine c.$headers here in case of an updateAll that replaces or adds an entire header cell - see #683
450
- c.$headers = $(table).find(c.selectorHeaders).each(function(index) {
451
- $t = $(this);
451
+ c.$headers = $( $.map( $(table).find(c.selectorHeaders), function(elem, index) {
452
+ $t = $(elem);
453
+ // ignore cell (don't add it to c.$headers) if row has ignoreRow class
454
+ if ($t.parent().hasClass(c.cssIgnoreRow)) { return; }
452
455
  // make sure to get header cell & not column indexed cell
453
456
  ch = ts.getColumnData( table, c.headers, index, true );
454
457
  // save original header content
455
- c.headerContent[index] = $(this).html();
458
+ c.headerContent[index] = $t.html();
456
459
  // if headerTemplate is empty, don't reformat the header cell
457
460
  if ( c.headerTemplate !== '' ) {
458
461
  // set up header template
459
- t = c.headerTemplate.replace(/\{content\}/g, $(this).html()).replace(/\{icon\}/g, i);
462
+ t = c.headerTemplate.replace(/\{content\}/g, $t.html()).replace(/\{icon\}/g, i);
460
463
  if (c.onRenderTemplate) {
461
464
  h = c.onRenderTemplate.apply($t, [index, t]);
462
465
  if (h && typeof h === 'string') { t = h; } // only change t if something is returned
463
466
  }
464
- $(this).html('<div class="' + ts.css.headerIn + '">' + t + '</div>'); // faster than wrapInner
467
+ $t.html('<div class="' + ts.css.headerIn + '">' + t + '</div>'); // faster than wrapInner
465
468
  }
466
469
  if (c.onRenderHeader) { c.onRenderHeader.apply($t, [index, c, c.$table]); }
467
470
  // *** remove this.column value if no conflicts found
468
- this.column = parseInt( $(this).attr('data-column'), 10);
469
- this.order = formatSortingOrder( ts.getData($t, ch, 'sortInitialOrder') || c.sortInitialOrder ) ? [1,0,2] : [0,1,2];
470
- this.count = -1; // set to -1 because clicking on the header automatically adds one
471
- this.lockedOrder = false;
471
+ elem.column = parseInt( $t.attr('data-column'), 10);
472
+ elem.order = formatSortingOrder( ts.getData($t, ch, 'sortInitialOrder') || c.sortInitialOrder ) ? [1,0,2] : [0,1,2];
473
+ elem.count = -1; // set to -1 because clicking on the header automatically adds one
474
+ elem.lockedOrder = false;
472
475
  lock = ts.getData($t, ch, 'lockedOrder') || false;
473
476
  if (typeof lock !== 'undefined' && lock !== false) {
474
- this.order = this.lockedOrder = formatSortingOrder(lock) ? [1,1,1] : [0,0,0];
477
+ elem.order = elem.lockedOrder = formatSortingOrder(lock) ? [1,1,1] : [0,0,0];
475
478
  }
476
479
  $t.addClass(ts.css.header + ' ' + c.cssHeader);
477
480
  // add cell to headerList
478
- c.headerList[index] = this;
481
+ c.headerList[index] = elem;
479
482
  // add to parent in case there are multiple rows
480
483
  $t.parent().addClass(ts.css.headerRow + ' ' + c.cssHeaderRow).attr('role', 'row');
481
484
  // allow keyboard cursor to focus on element
482
485
  if (c.tabIndex) { $t.attr("tabindex", 0); }
483
- }).attr({
486
+ return elem;
487
+ }));
488
+ $(table).find(c.selectorHeaders).attr({
484
489
  scope: 'col',
485
490
  role : 'columnheader'
486
491
  });
@@ -1163,27 +1168,28 @@
1163
1168
  if (typeof c.initialized === 'function') { c.initialized(table); }
1164
1169
  };
1165
1170
 
1166
- ts.getColumnData = function(table, obj, indx, getCell){
1171
+ ts.getColumnData = function(table, obj, indx, getCell, $headers){
1167
1172
  if (typeof obj === 'undefined' || obj === null) { return; }
1168
1173
  table = $(table)[0];
1169
- var result, $h, k,
1170
- c = table.config;
1174
+ var $h, k,
1175
+ c = table.config,
1176
+ $cell = ( $headers || c.$headers );
1171
1177
  if (obj[indx]) {
1172
- return getCell ? obj[indx] : obj[c.$headers.index( c.$headers.filter('[data-column="' + indx + '"]:last') )];
1178
+ return getCell ? obj[indx] : obj[$cell.index( $cell.filter('[data-column="' + indx + '"]:last') )];
1173
1179
  }
1174
1180
  for (k in obj) {
1175
1181
  if (typeof k === 'string') {
1176
- $h = c.$headers.filter('[data-column="' + indx + '"]:last')
1182
+ $h = $cell.filter('[data-column="' + indx + '"]:last')
1177
1183
  // header cell with class/id
1178
1184
  .filter(k)
1179
1185
  // find elements within the header cell with cell/id
1180
- .add( c.$headers.filter('[data-column="' + indx + '"]:last').find(k) );
1186
+ .add( $cell.filter('[data-column="' + indx + '"]:last').find(k) );
1181
1187
  if ($h.length) {
1182
1188
  return obj[k];
1183
1189
  }
1184
1190
  }
1185
1191
  }
1186
- return result;
1192
+ return;
1187
1193
  };
1188
1194
 
1189
1195
  // computeTableHeaderCellIndexes from:
@@ -1,4 +1,4 @@
1
- /*! tableSorter (FORK) 2.16+ widgets - updated 11/7/2014 (v2.18.3)
1
+ /*! tableSorter (FORK) 2.16+ widgets - updated 12/22/2014 (v2.18.4)
2
2
  *
3
3
  * Column Styles
4
4
  * Column Filters
@@ -1655,7 +1655,7 @@ ts.addWidget({
1655
1655
  .wrap('<div class="' + ts.css.stickyWrap + '">'),
1656
1656
  $stickyWrap = $stickyTable.parent().css({
1657
1657
  position : $attach.length ? 'absolute' : 'fixed',
1658
- margin : 0,
1658
+ padding : parseInt( $stickyTable.parent().parent().css('padding-left'), 10 ),
1659
1659
  top : stickyOffset + nestedStickyTop,
1660
1660
  left : 0,
1661
1661
  visibility : 'hidden',
@@ -1709,9 +1709,7 @@ ts.addWidget({
1709
1709
  // include caption & filter row (fixes #126 & #249) - don't remove cells to get correct cell indexing
1710
1710
  $stickyTable.find('thead:gt(0), tr.sticky-false').hide();
1711
1711
  $stickyTable.find('tbody, tfoot').remove();
1712
- if (!wo.stickyHeaders_includeCaption) {
1713
- $stickyTable.find('caption').remove();
1714
- }
1712
+ $stickyTable.find('caption').toggle(wo.stickyHeaders_includeCaption);
1715
1713
  // issue #172 - find td/th in sticky header
1716
1714
  $stickyCells = $stickyThead.children().children();
1717
1715
  $stickyTable.css({ height:0, width:0, margin: 0 });
@@ -1746,12 +1744,12 @@ ts.addWidget({
1746
1744
  nestedStickyTop = $nestedSticky.length ? $nestedSticky.offset().top - $yScroll.scrollTop() + $nestedSticky.height() : 0;
1747
1745
  var prefix = 'tablesorter-sticky-',
1748
1746
  offset = $table.offset(),
1749
- yWindow = $.isWindow( $yScroll[0] ),
1747
+ yWindow = $.isWindow( $yScroll[0] ), // $.isWindow needs jQuery 1.4.3
1750
1748
  xWindow = $.isWindow( $xScroll[0] ),
1751
1749
  // scrollTop = ( $attach.length ? $attach.offset().top : $yScroll.scrollTop() ) + stickyOffset + nestedStickyTop,
1752
1750
  scrollTop = ( $attach.length ? ( yWindow ? $yScroll.scrollTop() : $yScroll.offset().top ) : $yScroll.scrollTop() ) + stickyOffset + nestedStickyTop,
1753
1751
  tableHeight = $table.height() - ($stickyWrap.height() + ($tfoot.height() || 0)),
1754
- isVisible = ( scrollTop > offset.top) && (scrollTop < offset.top + tableHeight) ? 'visible' : 'hidden',
1752
+ isVisible = ( scrollTop > offset.top ) && ( scrollTop < offset.top + tableHeight ) ? 'visible' : 'hidden',
1755
1753
  cssSettings = { visibility : isVisible };
1756
1754
 
1757
1755
  if ($attach.length) {
@@ -1,4 +1,4 @@
1
- /* Column Selector/Responsive table widget (beta) for TableSorter - 11/3/2014 (v2.18.1)
1
+ /* Column Selector/Responsive table widget (beta) for TableSorter - 12/22/2014 (v2.18.4)
2
2
  * Requires tablesorter v2.8+ and jQuery 1.7+
3
3
  * by Justin Hallett & Rob Garrison
4
4
  */
@@ -103,6 +103,7 @@ tsColSel = ts.columnSelector = {
103
103
  // input may not be wrapped within the layout template
104
104
  .find('input').add( colSel.$wrapper[colId].filter('input') )
105
105
  .attr('data-column', colId)
106
+ .toggleClass( wo.columnSelector_cssChecked, colSel.states[colId] )
106
107
  .prop('checked', colSel.states[colId])
107
108
  .on('change', function(){
108
109
  colSel.states[colId] = this.checked;
@@ -138,6 +139,7 @@ tsColSel = ts.columnSelector = {
138
139
  .find('input').add( colSel.$auto.filter('input') )
139
140
  .attr('data-column', 'auto')
140
141
  .prop('checked', colSel.auto)
142
+ .toggleClass( wo.columnSelector_cssChecked, colSel.auto )
141
143
  .on('change', function(){
142
144
  colSel.auto = this.checked;
143
145
  $.each( colSel.$checkbox, function(i, $cb){
@@ -225,6 +227,7 @@ tsColSel = ts.columnSelector = {
225
227
  styles.push(prefix + ' tr th:nth-child(' + column + ')');
226
228
  styles.push(prefix + ' tr td:nth-child(' + column + ')');
227
229
  }
230
+ $(this).toggleClass( wo.columnSelector_cssChecked, this.checked );
228
231
  });
229
232
  if (wo.columnSelector_mediaquery){
230
233
  colSel.$breakpoints.prop('disabled', true);
@@ -235,6 +238,7 @@ tsColSel = ts.columnSelector = {
235
238
  if (wo.columnSelector_saveColumns && ts.storage) {
236
239
  ts.storage( c.$table[0], 'tablesorter-columnSelector', colSel.states );
237
240
  }
241
+ c.$table.trigger('columnUpdate');
238
242
  },
239
243
 
240
244
  attachTo : function(table, elm) {
@@ -252,12 +256,13 @@ tsColSel = ts.columnSelector = {
252
256
  $popup.find('.tablesorter-column-selector')
253
257
  .html( colSel.$container.html() )
254
258
  .find('input').each(function(){
255
- var indx = $(this).attr('data-column');
256
- $(this).prop( 'checked', indx === 'auto' ? colSel.auto : colSel.states[indx] );
259
+ var indx = $(this).toggleClass( wo.columnSelector_cssChecked, isChecked ).attr('data-column'),
260
+ isChecked = indx === 'auto' ? colSel.auto : colSel.states[indx];
261
+ $(this).prop( 'checked', isChecked );
257
262
  });
258
263
  colSel.$popup = $popup.on('change', 'input', function(){
259
264
  // data input
260
- indx = $(this).attr('data-column');
265
+ indx = $(this).toggleClass( wo.columnSelector_cssChecked, this.checked ).attr('data-column');
261
266
  // update original popup
262
267
  colSel.$container.find('input[data-column="' + indx + '"]')
263
268
  .prop('checked', this.checked)
@@ -299,7 +304,10 @@ ts.addWidget({
299
304
  // data attribute containing column priority
300
305
  // duplicates how jQuery mobile uses priorities:
301
306
  // http://view.jquerymobile.com/1.3.2/dist/demos/widgets/table-column-toggle/
302
- columnSelector_priority : 'data-priority'
307
+ columnSelector_priority : 'data-priority',
308
+ // class name added to checked checkboxes - this fixes an issue with Chrome not updating FontAwesome
309
+ // applied icons; use this class name (input.checked) instead of input:checked
310
+ columnSelector_cssChecked : 'checked'
303
311
 
304
312
  },
305
313
  init: function(table, thisWidget, c, wo) {
@@ -1,4 +1,4 @@
1
- /* Pager widget for TableSorter 11/3/2014 (v2.18.1) - requires jQuery 1.7+ */
1
+ /* Pager widget for TableSorter 12/22/2014 (v2.18.4) - requires jQuery 1.7+ */
2
2
  /*jshint browser:true, jquery:true, unused:false */
3
3
  ;(function($){
4
4
  "use strict";
@@ -240,9 +240,9 @@ tsp = ts.pager = {
240
240
  // make sure we have a copy of all table rows once the cache has been built
241
241
  tsp.updateCache(table);
242
242
  }
243
+ tsp.updatePageDisplay(table, c, false);
243
244
  // tsp.moveToPage(table, p, false); <-- called when applyWidgets is triggered
244
245
  c.$table.trigger('applyWidgets');
245
- tsp.updatePageDisplay(table, c, false);
246
246
  }
247
247
  })
248
248
  .on('disable.pager', function(e){
@@ -157,7 +157,8 @@ caption {
157
157
  filter: alpha(opacity=0);
158
158
  }
159
159
  /* filters */
160
- .tablesorter-blackice .tablesorter-filter {
160
+ .tablesorter-blackice input.tablesorter-filter,
161
+ .tablesorter-blackice select.tablesorter-filter {
161
162
  width: 98%;
162
163
  height: auto;
163
164
  margin: 0;
@@ -192,7 +192,8 @@ caption {
192
192
  filter: alpha(opacity=0);
193
193
  }
194
194
  /* filters */
195
- .tablesorter-blue .tablesorter-filter {
195
+ .tablesorter-blue input.tablesorter-filter,
196
+ .tablesorter-blue select.tablesorter-filter {
196
197
  width: 98%;
197
198
  height: auto;
198
199
  margin: 0;
@@ -25,7 +25,7 @@
25
25
  }
26
26
 
27
27
  /* bootstrap uses <i> for icons */
28
- .tablesorter-bootstrap .tablesorter-header i {
28
+ .tablesorter-bootstrap .tablesorter-header i.tablesorter-icon {
29
29
  font-size: 11px;
30
30
  position: absolute;
31
31
  right: 2px;
@@ -77,7 +77,8 @@
77
77
  }
78
78
 
79
79
  /* filter widget */
80
- .tablesorter-bootstrap .tablesorter-filter-row .tablesorter-filter {
80
+ .tablesorter-bootstrap .tablesorter-filter-row input.tablesorter-filter,
81
+ .tablesorter-bootstrap .tablesorter-filter-row select.tablesorter-filter {
81
82
  width: 98%;
82
83
  margin: 0 auto;
83
84
  padding: 4px 6px;
@@ -37,7 +37,7 @@
37
37
  }
38
38
 
39
39
  /* bootstrap uses <i> for icons */
40
- .tablesorter-bootstrap .tablesorter-header i {
40
+ .tablesorter-bootstrap .tablesorter-header i.tablesorter-icon {
41
41
  position: absolute;
42
42
  right: 2px;
43
43
  top: 50%;
@@ -84,7 +84,8 @@ caption {
84
84
  }
85
85
 
86
86
  /* filter widget */
87
- .tablesorter-bootstrap .tablesorter-filter-row .tablesorter-filter {
87
+ .tablesorter-bootstrap .tablesorter-filter-row input.tablesorter-filter,
88
+ .tablesorter-bootstrap .tablesorter-filter-row select.tablesorter-filter {
88
89
  width: 98%;
89
90
  margin: 0 auto;
90
91
  padding: 4px 6px;
@@ -158,7 +158,8 @@ caption {
158
158
  }
159
159
 
160
160
  /* filters */
161
- .tablesorter-dark .tablesorter-filter {
161
+ .tablesorter-dark input.tablesorter-filter,
162
+ .tablesorter-dark select.tablesorter-filter {
162
163
  width: 98%;
163
164
  height: auto;
164
165
  margin: 4px;
@@ -160,7 +160,8 @@ caption {
160
160
  filter: alpha(opacity=0);
161
161
  }
162
162
  /* filters */
163
- .tablesorter-default .tablesorter-filter {
163
+ .tablesorter-default input.tablesorter-filter,
164
+ .tablesorter-default select.tablesorter-filter {
164
165
  width: 95%;
165
166
  height: auto;
166
167
  margin: 4px;
@@ -46,7 +46,7 @@
46
46
  .tablesorter-dropbox .tablesorter-header {
47
47
  cursor: pointer;
48
48
  }
49
- .tablesorter-dropbox .tablesorter-header i {
49
+ .tablesorter-dropbox .tablesorter-header i.tablesorter-icon {
50
50
  width: 9px;
51
51
  height: 9px;
52
52
  padding: 0 10px 0 4px;
@@ -55,23 +55,23 @@
55
55
  background-repeat: no-repeat;
56
56
  content: "";
57
57
  }
58
- .tablesorter-dropbox .tablesorter-headerSortUp i,
59
- .tablesorter-dropbox .tablesorter-headerAsc i {
58
+ .tablesorter-dropbox .tablesorter-headerSortUp i.tablesorter-icon,
59
+ .tablesorter-dropbox .tablesorter-headerAsc i.tablesorter-icon {
60
60
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALhJREFUeNpi/P//PwMhwILMiexYx8bIxNTy/9+/muUVQb9g4kzIitg4edI4+YRLQTSyOCPMupjerUI8whK3OXgEhH58+fDuy9sXqkuKvd+hmMTOxdvCxS8sxMUvxACiQXwU6+Im7DDg5BNKY+fiY2BmYWMA0SA+SByuiJ2bbzIHrwAzMxsb0AGMDCAaxAeJg+SZ7wtaqfAISfQAdTIwMUM8ywhUyMTEzPD/71+5FXvPLWUkJpwAAgwAZqYvvHStbD4AAAAASUVORK5CYII=');
61
61
  /* background-image: url(/assets/jquery-tablesorter/dropbox-asc.png); */
62
62
  }
63
- .tablesorter-dropbox .tablesorter-headerSortUp:hover i,
64
- .tablesorter-dropbox .tablesorter-headerAsc:hover i {
63
+ .tablesorter-dropbox .tablesorter-headerSortUp:hover i.tablesorter-icon,
64
+ .tablesorter-dropbox .tablesorter-headerAsc:hover i.tablesorter-icon {
65
65
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALVJREFUeNpi/P//PwMhwILMCc+qZGNkYmr5/+9fzcpp7b9g4kzIitjYOdM4uXlLQTSyOCPMuqi8OiEefsHbHFzcQj++fX335eN71WWTmt6hmMTOwdXCycMnBDSJAUSD+CjWxRQ0GHBw86Sxc3AyMDOzMIBoEB8kDlfEzsk1mYOLByjPCnQAIwOIBvFB4iB55rsfmVS4+QV7QNYwMTNDHApUyMTExPDv/z+5Feu3L2UkJpwAAgwA244u+I9CleAAAAAASUVORK5CYII=');
66
66
  /* background-image: url(/assets/jquery-tablesorter/dropbox-asc-hovered.png); */
67
67
  }
68
- .tablesorter-dropbox .tablesorter-headerSortDown i,
69
- .tablesorter-dropbox .tablesorter-headerDesc i {
68
+ .tablesorter-dropbox .tablesorter-headerSortDown i.tablesorter-icon,
69
+ .tablesorter-dropbox .tablesorter-headerDesc i.tablesorter-icon {
70
70
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNpi/P//PwMhwBLdtVGFhZ3zNhMzC4bkv79/GP78/K7KCDIpZ9mVw+xcfDaMTExwBf///WP4+e3TkSlROrZg7UxMLLns3HxnmFnZmGGK/v7+9ff3j2+5YHkQMSlC48Kv719m/f//D2IKkAbxQeJwRSDw4/OHmr+/fr0DqmAA0SA+TA6uaEq0zjugG+r//vkFcks9iA/3HbJvvn18O+vf379yP758mMXAoAAXZyQmnAACDADX316BiTFbMQAAAABJRU5ErkJggg==');
71
71
  /* background-image: url(/assets/jquery-tablesorter/dropbox-desc.png); */
72
72
  }
73
- .tablesorter-dropbox .tablesorter-headerSortDown:hover i,
74
- .tablesorter-dropbox .tablesorter-headerDesc:hover i {
73
+ .tablesorter-dropbox .tablesorter-headerSortDown:hover i.tablesorter-icon,
74
+ .tablesorter-dropbox .tablesorter-headerDesc:hover i.tablesorter-icon {
75
75
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALNJREFUeNpi/P//PwMhwBJf3uP879e3PUzMzBiS//7+ZWBi43JhBJmU2z7nIzMzEx8jIyNcAUj8799/nyZXpvCzgARYuXjTWBkZVjCzIEz7++cvw+//DGkgNiPMTWVT1l5hZvynDTINbMp/pqtdOcE6IDkmmM5fv3/5//v37z9QBQOIBvFhcnBFEwoj7/5jZFnz9+8fBhAN4sN9h+ybH9++JrGxscr/+vE1CVmckZhwAggwANvlUyq5Dd1wAAAAAElFTkSuQmCC');
76
76
  /* background-image: url(/assets/jquery-tablesorter/dropbox-desc-hovered.png); */
77
77
  }
@@ -79,8 +79,8 @@
79
79
  cursor: default;
80
80
  }
81
81
 
82
- .tablesorter-dropbox thead .sorter-false i,
83
- .tablesorter-dropbox thead .sorter-false:hover i {
82
+ .tablesorter-dropbox thead .sorter-false i.tablesorter-icon,
83
+ .tablesorter-dropbox thead .sorter-false:hover i.tablesorter-icon {
84
84
  background-image: none;
85
85
  padding: 4px;
86
86
  }
@@ -183,7 +183,8 @@ caption {
183
183
  }
184
184
 
185
185
  /* filters */
186
- .tablesorter-dropbox .tablesorter-filter {
186
+ .tablesorter-dropbox input.tablesorter-filter,
187
+ .tablesorter-dropbox select.tablesorter-filter {
187
188
  width: 98%;
188
189
  height: auto;
189
190
  margin: 4px;
@@ -174,7 +174,8 @@ caption {
174
174
  filter: alpha(opacity=0);
175
175
  }
176
176
  /* filters */
177
- .tablesorter-green .tablesorter-filter {
177
+ .tablesorter-green input.tablesorter-filter,
178
+ .tablesorter-green select.tablesorter-filter {
178
179
  width: 98%;
179
180
  height: auto;
180
181
  margin: 4px;
@@ -41,7 +41,7 @@
41
41
  cursor: pointer;
42
42
  }
43
43
  .tablesorter-grey .header i,
44
- .tablesorter-grey .tablesorter-header i {
44
+ .tablesorter-grey .tablesorter-header i.tablesorter-icon {
45
45
  width: 18px;
46
46
  height: 10px;
47
47
  position: absolute;
@@ -69,22 +69,22 @@
69
69
  background-image: linear-gradient(to bottom, #195c93, #0e4776);
70
70
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#195c93', endColorstr='#0e4776',GradientType=0 );
71
71
  }
72
- .tablesorter-grey .headerSortUp i,
73
- .tablesorter-grey .tablesorter-headerSortUp i,
74
- .tablesorter-grey .tablesorter-headerAsc i {
72
+ .tablesorter-grey .headerSortUp i.tablesorter-icon,
73
+ .tablesorter-grey .tablesorter-headerSortUp i.tablesorter-icon,
74
+ .tablesorter-grey .tablesorter-headerAsc i.tablesorter-icon {
75
75
  /* white asc arrow */
76
76
  background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
77
77
  }
78
- .tablesorter-grey .headerSortDown i,
79
- .tablesorter-grey .tablesorter-headerSortDown i,
80
- .tablesorter-grey .tablesorter-headerDesc i {
78
+ .tablesorter-grey .headerSortDown i.tablesorter-icon,
79
+ .tablesorter-grey .tablesorter-headerSortDown i.tablesorter-icon,
80
+ .tablesorter-grey .tablesorter-headerDesc i.tablesorter-icon {
81
81
  /* white desc arrow */
82
82
  background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
83
83
  }
84
84
  .tablesorter-grey thead .sorter-false {
85
85
  cursor: default;
86
86
  }
87
- .tablesorter-grey thead .sorter-false i {
87
+ .tablesorter-grey thead .sorter-false i.tablesorter-icon {
88
88
  background-image: none;
89
89
  padding: 4px;
90
90
  }
@@ -216,7 +216,8 @@ caption {
216
216
  filter: alpha(opacity=0);
217
217
  }
218
218
  /* filters */
219
- .tablesorter-grey .tablesorter-filter {
219
+ .tablesorter-grey input.tablesorter-filter,
220
+ .tablesorter-grey select.tablesorter-filter {
220
221
  width: 98%;
221
222
  height: auto;
222
223
  margin: 0;
@@ -172,7 +172,8 @@ caption {
172
172
  filter: alpha(opacity=0);
173
173
  }
174
174
  /* filters */
175
- .tablesorter-ice .tablesorter-filter {
175
+ .tablesorter-ice input.tablesorter-filter,
176
+ .tablesorter-ice select.tablesorter-filter {
176
177
  width: 98%;
177
178
  height: auto;
178
179
  margin: 4px;
@@ -130,7 +130,8 @@
130
130
  filter: alpha(opacity=0);
131
131
  }
132
132
  /* filters */
133
- .tablesorter-jui .tablesorter-filter {
133
+ .tablesorter-jui input.tablesorter-filter,
134
+ .tablesorter-jui select.tablesorter-filter {
134
135
  width: 98%;
135
136
  height: auto;
136
137
  margin: 0;
@@ -163,7 +163,8 @@ Metro Dark Theme
163
163
  filter: alpha(opacity=0);
164
164
  }
165
165
  /* filters */
166
- .tablesorter-metro-dark .tablesorter-filter {
166
+ .tablesorter-metro-dark input.tablesorter-filter,
167
+ .tablesorter-metro-dark select.tablesorter-filter {
167
168
  width: 95%;
168
169
  height: auto;
169
170
  margin: 4px;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jquery-tablesorter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.3
4
+ version: 1.13.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jun Lin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-11-10 00:00:00.000000000 Z
12
+ date: 2014-12-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties
@@ -150,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  version: '0'
151
151
  requirements: []
152
152
  rubyforge_project:
153
- rubygems_version: 2.4.2
153
+ rubygems_version: 2.4.3
154
154
  signing_key:
155
155
  specification_version: 4
156
156
  summary: Simple integration of jquery-tablesorter (Mottie's fork) into the Rails asset