jquery-tablesorter 1.13.2 → 1.13.3

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: 4ca1be22fc4f48f78994645c994a19b4a81532eb
4
- data.tar.gz: 4b116d3b7cca561fc5ba97c329be6312588836ca
3
+ metadata.gz: 118a095f29f08043c86da826b130c99bde031eef
4
+ data.tar.gz: 2c3c3439dd14689e8aceedddcbb473c33a70c56d
5
5
  SHA512:
6
- metadata.gz: 53ed8c07aad40c2a6499f8fc6bd4469d23f80301f0e45e8f884b281036ca3afadc578cf6876107767b85c2bf684d27353b4d0eb3099d14df23555b64745e660c
7
- data.tar.gz: 8dd105b6bd4e7d4a996872088b4b3d8549642fa2d570254dcb5d23a28ce39c2d55de46be65d97b497b86c09a61c2a88b3cea71119a0f1da14ee45afb7104e011
6
+ metadata.gz: 21a31cdb42000c4027b9ceb97d7e3337bad59fa67460d2d55a697ba61ed95f0a10185fd605951790f740029112f409ef689bcd1726035b0fb9674fec42e1c1e3
7
+ data.tar.gz: 6c5475bb17311b6df0f58acd007427899f0829e28fc0f256f867f2d587afdd328ba958f812bca8106bfea82e4b79bcb721aff23b06844c9aec1bfec5ae61cd64
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.2 (11/3/2014), [documentation]
7
+ Current tablesorter version: 2.18.3 (11/7/2014), [documentation]
8
8
 
9
9
  Any issue associated with the js/css files, please report to [Mottie's fork].
10
10
 
@@ -26,7 +26,7 @@ Or install it yourself as:
26
26
 
27
27
  Rails 3.1 and higher (tested up to 4.1)
28
28
 
29
- Tested with ruby 1.9.3 - 2.1.2
29
+ Tested with ruby 1.9.3 - 2.1.4
30
30
 
31
31
  ## Usage
32
32
 
@@ -1,3 +1,3 @@
1
1
  module JqueryTablesorter
2
- VERSION = '1.13.2'
2
+ VERSION = '1.13.3'
3
3
  end
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * TableSorter (FORK) 2.18.2 - Client-side table sorting with ease!
2
+ * TableSorter (FORK) 2.18.3 - 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.2";
27
+ ts.version = "2.18.3";
28
28
 
29
29
  ts.parsers = [];
30
30
  ts.widgets = [];
@@ -89,8 +89,11 @@
89
89
  cssHeaderRow : '',
90
90
  cssProcessing : '', // processing icon applied to header during sort/filter
91
91
 
92
- cssChildRow : 'tablesorter-childRow', // class name indiciating that a row is to be attached to the its parent
92
+ cssChildRow : 'tablesorter-childRow', // class name indiciating that a row is to be attached to the its parent
93
93
  cssIcon : 'tablesorter-icon', // if this class exists, a <i> will be added to the header automatically
94
+ cssIconNone : '', // class name added to the icon when there is no column sort
95
+ cssIconAsc : '', // class name added to the icon when the column has an ascending sort
96
+ cssIconDesc : '', // class name added to the icon when the column has a descending sort
94
97
  cssInfoBlock : 'tablesorter-infoOnly', // don't sort tbody with this class name (only one class name allowed here!)
95
98
  cssAllowClicks : 'tablesorter-allowClicks', // class name added to table header which allows clicks to bubble up
96
99
 
@@ -528,13 +531,17 @@
528
531
  len = list.length,
529
532
  none = ts.css.sortNone + ' ' + c.cssNone,
530
533
  css = [ts.css.sortAsc + ' ' + c.cssAsc, ts.css.sortDesc + ' ' + c.cssDesc],
534
+ cssIcon = [ c.cssIconAsc, c.cssIconDesc, c.cssIconNone ],
531
535
  aria = ['ascending', 'descending'],
532
536
  // find the footer
533
537
  $t = $(table).find('tfoot tr').children().add(c.$extraHeaders).removeClass(css.join(' '));
534
538
  // remove all header information
535
539
  c.$headers
536
540
  .removeClass(css.join(' '))
537
- .addClass(none).attr('aria-sort', 'none');
541
+ .addClass(none).attr('aria-sort', 'none')
542
+ .find('.' + c.cssIcon)
543
+ .removeClass(cssIcon.join(' '))
544
+ .addClass(cssIcon[2]);
538
545
  for (i = 0; i < len; i++) {
539
546
  // direction = 2 means reset!
540
547
  if (list[i][1] !== 2) {
@@ -543,7 +550,13 @@
543
550
  if (f.length) {
544
551
  for (j = 0; j < f.length; j++) {
545
552
  if (!f[j].sortDisabled) {
546
- f.eq(j).removeClass(none).addClass(css[list[i][1]]).attr('aria-sort', aria[list[i][1]]);
553
+ f.eq(j)
554
+ .removeClass(none)
555
+ .addClass(css[list[i][1]])
556
+ .attr('aria-sort', aria[list[i][1]])
557
+ .find('.' + c.cssIcon)
558
+ .removeClass(cssIcon[2])
559
+ .addClass(cssIcon[list[i][1]]);
547
560
  }
548
561
  }
549
562
  // add sorted class to footer & extra headers, if they exist
@@ -568,7 +581,7 @@
568
581
  function fixColumnWidth(table) {
569
582
  var colgroup, overallWidth,
570
583
  c = table.config;
571
- if (c.widthFixed && c.$table.find('colgroup').length === 0) {
584
+ if (c.widthFixed && c.$table.children('colgroup').length === 0) {
572
585
  colgroup = $('<colgroup>');
573
586
  overallWidth = $(table).width();
574
587
  // only add col for visible columns - fixes #371
@@ -1,4 +1,4 @@
1
- /*! tableSorter (FORK) 2.16+ widgets - updated 11/3/2014 (v2.18.2)
1
+ /*! tableSorter (FORK) 2.16+ widgets - updated 11/7/2014 (v2.18.3)
2
2
  *
3
3
  * Column Styles
4
4
  * Column Filters
@@ -821,7 +821,7 @@ ts.filter = {
821
821
  for (column = 0; column < columns; column++) {
822
822
  if (arry) {
823
823
  buildFilter += '<td' + ( wo.filter_cellFilter[column] ? ' class="' + wo.filter_cellFilter[column] + '"' : '' ) + '></td>';
824
- } else {
824
+ } else {
825
825
  buildFilter += '<td' + ( wo.filter_cellFilter !== '' ? ' class="' + wo.filter_cellFilter + '"' : '' ) + '></td>';
826
826
  }
827
827
  }
@@ -1732,7 +1732,7 @@ ts.addWidget({
1732
1732
  // onRenderHeader is defined, we need to do something about it (fixes #641)
1733
1733
  if (c.onRenderHeader) {
1734
1734
  $stickyThead.children('tr').children().each(function(index){
1735
- // send second parameter
1735
+ // send second parameter
1736
1736
  c.onRenderHeader.apply( $(this), [ index, c, $stickyTable ] );
1737
1737
  });
1738
1738
  }
@@ -1,4 +1,4 @@
1
- /*! tablesorter CSS Sticky Headers widget - updated 11/3/2014 (v2.18.1)
1
+ /*! tablesorter CSS Sticky Headers widget - updated 11/7/2014 (v2.18.3)
2
2
  * Requires a modern browser, tablesorter v2.8+
3
3
  */
4
4
  /*jshint jquery:true, unused:false */
@@ -18,17 +18,45 @@
18
18
  cssStickyHeaders_filteredToTop : true
19
19
  },
20
20
  init : function(table, thisWidget, c, wo) {
21
- var isIE = 'ActiveXObject' in window, // target all versions of IE
22
- isFF = navigator.userAgent.toLowerCase().indexOf('firefox') > -1,
21
+ var ht, offst, adjustY,
23
22
  $table = c.$table,
24
23
  $attach = $(wo.cssStickyHeaders_attachTo),
24
+ isIE = 'ActiveXObject' in window, // target all versions of IE
25
25
  namespace = c.namespace + 'cssstickyheader ',
26
26
  $thead = $table.children('thead'),
27
27
  $caption = $table.children('caption'),
28
28
  $win = $attach.length ? $attach : $(window),
29
29
  $parent = $table.parent().closest('table.' + ts.css.table),
30
30
  $parentThead = $parent.length && ts.hasWidget($parent[0], 'cssStickyHeaders') ? $parent.children('thead') : [],
31
- lastCaptionSetting = wo.cssStickyHeaders_addCaption;
31
+ borderTopWidth = ( parseInt( $table.css('border-top-width'), 10 ) || 0 ),
32
+ lastCaptionSetting = wo.cssStickyHeaders_addCaption,
33
+ // table offset top changes while scrolling in FF
34
+ adjustOffsetTop = false,
35
+ addCaptionHeight = false,
36
+ setTransform = function( $elms, y ) {
37
+ var translate = y === 0 ? '' : 'translate(0px,' + y + 'px)';
38
+ $elms.css({
39
+ 'transform' : translate,
40
+ '-ms-transform' : translate,
41
+ '-webkit-transform' : translate
42
+ });
43
+ };
44
+
45
+ // Firefox fixes
46
+ if ($caption.length) {
47
+ // Firefox does not include the caption height when getting the table height
48
+ // see https://bugzilla.mozilla.org/show_bug.cgi?id=820891, so lets detect it instead of browser sniff
49
+ ht = $table.height();
50
+ $caption.hide();
51
+ addCaptionHeight = $table.height() === ht;
52
+ $caption.show();
53
+
54
+ // Firefox changes the offset().top when translating the table caption
55
+ offst = $table.offset().top;
56
+ setTransform( $caption, 20 );
57
+ adjustOffsetTop = $table.offset().top !== offst;
58
+ setTransform( $caption, 0 );
59
+ }
32
60
 
33
61
  $win
34
62
  .unbind('scroll resize '.split(' ').join(namespace))
@@ -36,6 +64,13 @@
36
64
  // make sure "wo" is current otherwise changes to widgetOptions
37
65
  // are not dynamic (like the add caption button in the demo)
38
66
  wo = c.widgetOptions;
67
+
68
+ if ( adjustOffsetTop ) {
69
+ // remove transform from caption to get the correct offset().top value
70
+ setTransform( $caption, 0 );
71
+ adjustY = $table.offset().top;
72
+ }
73
+
39
74
  var top = $attach.length ? $attach.offset().top : $win.scrollTop(),
40
75
  // add caption height; include table padding top & border-spacing or text may be above the fold (jQuery UI themes)
41
76
  // border-spacing needed in Firefox, but not webkit... not sure if I should account for that
@@ -43,7 +78,9 @@
43
78
  ( parseInt( $table.css('padding-top'), 10 ) || 0 ) +
44
79
  ( parseInt( $table.css('border-spacing'), 10 ) || 0 ),
45
80
 
46
- bottom = $table.height() - $thead.height() - ( $table.children('tfoot').height() || 0 ) - ( wo.cssStickyHeaders_addCaption ? captionHeight : 0 ),
81
+ bottom = $table.height() + ( addCaptionHeight && wo.cssStickyHeaders_addCaption ? captionHeight : 0 ) -
82
+ $thead.height() - ( $table.children('tfoot').height() || 0 ) -
83
+ ( wo.cssStickyHeaders_addCaption ? captionHeight : ( addCaptionHeight ? 0 : captionHeight ) ),
47
84
 
48
85
  parentTheadHeight = $parentThead.length ? $parentThead.height() : 0,
49
86
 
@@ -53,13 +90,15 @@
53
90
  $parentThead.offset().top + parentTheadHeight - $win.scrollTop()
54
91
  ) : 0,
55
92
 
93
+ // in this case FF's offsetTop changes while scrolling, so we get a saved offsetTop before scrolling occurs
94
+ // but when the table is inside a wrapper ($attach) we need to continually update the offset top
95
+ tableOffsetTop = adjustOffsetTop ? adjustY : $table.offset().top,
96
+
97
+ offsetTop = addCaptionHeight ? tableOffsetTop - ( wo.cssStickyHeaders_addCaption ? captionHeight : 0 ) : tableOffsetTop,
98
+
56
99
  // Detect nested tables - fixes #724
57
- deltaY = top - $table.offset().top + nestedStickyBottom +
58
- ( parseInt( $table.css('border-top-width'), 10 ) || 0 ) +
59
- ( wo.cssStickyHeaders_offset || 0 ) +
60
- // Again, I dislike browser sniffing... but I have no idea why I need to include a captionHeight
61
- // for Firefox here and not for Chrome. Even IE behaves, sorta!
62
- ( wo.cssStickyHeaders_addCaption ? ( isFF ? captionHeight : 0 ) : -captionHeight ),
100
+ deltaY = top - offsetTop + nestedStickyBottom + borderTopWidth + ( wo.cssStickyHeaders_offset || 0 ) -
101
+ ( wo.cssStickyHeaders_addCaption ? ( addCaptionHeight ? captionHeight : 0 ) : captionHeight ),
63
102
 
64
103
  finalY = deltaY > 0 && deltaY <= bottom ? deltaY : 0,
65
104
 
@@ -80,19 +119,12 @@
80
119
  lastCaptionSetting = wo.cssStickyHeaders_addCaption;
81
120
  // reset caption position if addCaption option is dynamically changed to false
82
121
  if (!lastCaptionSetting) {
83
- $caption.css({
84
- 'transform' : '',
85
- '-ms-transform' : '',
86
- '-webkit-transform' : ''
87
- });
122
+ setTransform( $caption, 0 );
88
123
  }
89
124
  }
90
125
 
91
- $cells.css({
92
- 'transform' : finalY === 0 ? '' : 'translate(0px,' + finalY + 'px)',
93
- '-ms-transform' : finalY === 0 ? '' : 'translate(0px,' + finalY + 'px)',
94
- '-webkit-transform' : finalY === 0 ? '' : 'translate(0px,' + finalY + 'px)'
95
- });
126
+ setTransform( $cells, finalY );
127
+
96
128
  });
97
129
  $table.unbind('filterEnd' + namespace).bind('filterEnd' + namespace, function() {
98
130
  if (wo.cssStickyHeaders_filteredToTop) {
@@ -146,7 +146,7 @@ caption {
146
146
  line-height: 0;
147
147
  cursor: pointer;
148
148
  }
149
- .tablesorter-blackice .tablesorter-filter-row.hideme .tablesorter-filter {
149
+ .tablesorter-blackice .tablesorter-filter-row.hideme * {
150
150
  height: 1px;
151
151
  min-height: 0;
152
152
  border: 0;
@@ -181,7 +181,7 @@ caption {
181
181
  line-height: 0;
182
182
  cursor: pointer;
183
183
  }
184
- .tablesorter-blue .tablesorter-filter-row.hideme .tablesorter-filter {
184
+ .tablesorter-blue .tablesorter-filter-row.hideme * {
185
185
  height: 1px;
186
186
  min-height: 0;
187
187
  border: 0;
@@ -117,7 +117,7 @@
117
117
  margin: 0;
118
118
  line-height: 0;
119
119
  }
120
- .tablesorter-bootstrap .tablesorter-filter-row.hideme .tablesorter-filter {
120
+ .tablesorter-bootstrap .tablesorter-filter-row.hideme * {
121
121
  height: 1px;
122
122
  min-height: 0;
123
123
  border: 0;
@@ -119,7 +119,7 @@ caption {
119
119
  margin: 0;
120
120
  line-height: 0;
121
121
  }
122
- .tablesorter-bootstrap .tablesorter-filter-row.hideme .tablesorter-filter {
122
+ .tablesorter-bootstrap .tablesorter-filter-row.hideme * {
123
123
  height: 1px;
124
124
  min-height: 0;
125
125
  border: 0;
@@ -146,7 +146,7 @@ caption {
146
146
  line-height: 0;
147
147
  cursor: pointer;
148
148
  }
149
- .tablesorter-dark .tablesorter-filter-row.hideme .tablesorter-filter {
149
+ .tablesorter-dark .tablesorter-filter-row.hideme * {
150
150
  height: 1px;
151
151
  min-height: 0;
152
152
  border: 0;
@@ -149,7 +149,7 @@ caption {
149
149
  line-height: 0;
150
150
  cursor: pointer;
151
151
  }
152
- .tablesorter-default .tablesorter-filter-row.hideme .tablesorter-filter {
152
+ .tablesorter-default .tablesorter-filter-row.hideme * {
153
153
  height: 1px;
154
154
  min-height: 0;
155
155
  border: 0;
@@ -171,7 +171,7 @@ caption {
171
171
  line-height: 0;
172
172
  cursor: pointer;
173
173
  }
174
- .tablesorter-dropbox .tablesorter-filter-row.hideme .tablesorter-filter {
174
+ .tablesorter-dropbox .tablesorter-filter-row.hideme * {
175
175
  height: 1px;
176
176
  min-height: 0;
177
177
  border: 0;
@@ -163,7 +163,7 @@ caption {
163
163
  line-height: 0;
164
164
  cursor: pointer;
165
165
  }
166
- .tablesorter-green .tablesorter-filter-row.hideme .tablesorter-filter {
166
+ .tablesorter-green .tablesorter-filter-row.hideme * {
167
167
  height: 1px;
168
168
  min-height: 0;
169
169
  border: 0;
@@ -21,7 +21,7 @@
21
21
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555), to(#3c3c3c));
22
22
  background-image: -webkit-linear-gradient(top, #555, #3c3c3c);
23
23
  background-image: -o-linear-gradient(top, #555, #3c3c3c);
24
- background-image: linear-gradient(to bottom, #555,#3c3c3c);
24
+ background-image: linear-gradient(to bottom, #555,#3c3c3c);
25
25
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#555555', endColorstr='#3c3c3c',GradientType=0 );
26
26
  background-repeat: repeat-x;
27
27
  border-right: #555 1px solid;
@@ -205,7 +205,7 @@ caption {
205
205
  line-height: 0;
206
206
  cursor: pointer;
207
207
  }
208
- .tablesorter-grey .tablesorter-filter-row.hideme .tablesorter-filter {
208
+ .tablesorter-grey .tablesorter-filter-row.hideme * {
209
209
  height: 1px;
210
210
  min-height: 0;
211
211
  border: 0;
@@ -161,7 +161,7 @@ caption {
161
161
  line-height: 0;
162
162
  cursor: pointer;
163
163
  }
164
- .tablesorter-ice .tablesorter-filter-row.hideme .tablesorter-filter {
164
+ .tablesorter-ice .tablesorter-filter-row.hideme * {
165
165
  height: 1px;
166
166
  min-height: 0;
167
167
  border: 0;
@@ -119,7 +119,7 @@
119
119
  line-height: 0;
120
120
  cursor: pointer;
121
121
  }
122
- .tablesorter-jui .tablesorter-filter-row.hideme .tablesorter-filter {
122
+ .tablesorter-jui .tablesorter-filter-row.hideme * {
123
123
  height: 1px;
124
124
  min-height: 0;
125
125
  border: 0;
@@ -152,7 +152,7 @@ Metro Dark Theme
152
152
  line-height: 0;
153
153
  cursor: pointer;
154
154
  }
155
- .tablesorter-metro-dark .tablesorter-filter-row.hideme .tablesorter-filter {
155
+ .tablesorter-metro-dark .tablesorter-filter-row.hideme * {
156
156
  height: 1px;
157
157
  min-height: 0;
158
158
  border: 0;
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.2
4
+ version: 1.13.3
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-04 00:00:00.000000000 Z
12
+ date: 2014-11-10 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.2.2
153
+ rubygems_version: 2.4.2
154
154
  signing_key:
155
155
  specification_version: 4
156
156
  summary: Simple integration of jquery-tablesorter (Mottie's fork) into the Rails asset