jquery-tablesorter 1.10.5 → 1.10.6

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: 6ae86c5a6be578e3345d4a9d6d360139e14f5117
4
- data.tar.gz: 86e5f16bcbace09e8eab622aa11a1bc7403f7ba3
3
+ metadata.gz: 3d3adc7a7db442e6adb168ea1823bad3a8a6e536
4
+ data.tar.gz: d33937ddb41d6bd2d398596f27b64280f165cf56
5
5
  SHA512:
6
- metadata.gz: b86a226432a4b741a8b54e6f73180924524876e1a4a21b46f192f1c7e1f24fdd727c017cb1f05ff4a448944b88751177db793d1c95e765966a7809aae0beb441
7
- data.tar.gz: 7898210ee3314a69b1c330bf9dfa9fc364288c59769f5976f6ccc4f293a9527d2dd7c22bd374e5269c03643a2cdda18ce5aecbb8444ae8ef6acb22afe3901a0f
6
+ metadata.gz: c61b8896dbc3dc199ace46e1e994c731e5adac2c8c8c9654265074ebb165f247a0256e6c96f749a253a64ba62a49ca2f11245304b56e4196974d9edead32d0c1
7
+ data.tar.gz: a74201f992bc577663ba977a40732909b2f2fe569750b4d25666d100a28d49e48d3c289609a559f462e213d4ef649aa409c6790ed93edfd768f9dc46ffed8f15
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.15.7 (3/10/2014), [documentation]
7
+ Current tablesorter version: 2.15.10 (3/13/2014), [documentation]
8
8
 
9
9
  Any issue associate with the js/css files, please report to [Mottie's fork].
10
10
 
@@ -1,3 +1,3 @@
1
1
  module JqueryTablesorter
2
- VERSION = "1.10.5"
2
+ VERSION = '1.10.6'
3
3
  end
@@ -1,5 +1,5 @@
1
1
  /**!
2
- * TableSorter 2.15.7 - Client-side table sorting with ease!
2
+ * TableSorter 2.15.10 - 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.15.7";
27
+ ts.version = "2.15.10";
28
28
 
29
29
  ts.parsers = [];
30
30
  ts.widgets = [];
@@ -729,7 +729,7 @@
729
729
  }
730
730
  // fall back to built-in numeric sort
731
731
  // var sort = $.tablesorter["sort" + s](table, a[c], b[c], c, colMax[c], dir);
732
- sort = c.numberSorter ? c.numberSorter(x[col], y[col], dir, colMax[col], table) :
732
+ sort = c.numberSorter ? c.numberSorter(a[col], b[col], dir, colMax[col], table) :
733
733
  ts[ 'sortNumeric' + (dir ? 'Asc' : 'Desc') ](a[col], b[col], num, colMax[col], col, table);
734
734
  } else {
735
735
  // set a & b depending on sort direction
@@ -1,4 +1,4 @@
1
- /*! Filter widget formatter functions - updated 3/9/2014 (v2.15.7)
1
+ /*! Filter widget formatter functions - updated 3/12/2014 (v2.15.9)
2
2
  * requires: tableSorter 2.15+ and jQuery 1.4.3+
3
3
  *
4
4
  * uiSpinner (jQuery UI spinner)
@@ -70,6 +70,7 @@ tsff = ts.filterFormatter = {
70
70
  disabled : false
71
71
 
72
72
  }, spinnerDef ),
73
+ c = $cell.closest('table')[0].config,
73
74
  // Add a hidden input to hold the range values
74
75
  $input = $('<input class="filter" type="hidden">')
75
76
  .appendTo($cell)
@@ -78,7 +79,6 @@ tsff = ts.filterFormatter = {
78
79
  updateSpinner({ value: this.value, delayed: false });
79
80
  }),
80
81
  $shcell = [],
81
- c = $cell.closest('table')[0].config,
82
82
 
83
83
  // this function updates the hidden input and adds the current values to the header cell text
84
84
  updateSpinner = function(ui, notrigger) {
@@ -227,6 +227,7 @@ tsff = ts.filterFormatter = {
227
227
  step : 1,
228
228
  range : "min"
229
229
  }, sliderDef ),
230
+ c = $cell.closest('table')[0].config,
230
231
  // Add a hidden input to hold the range values
231
232
  $input = $('<input class="filter" type="hidden">')
232
233
  .appendTo($cell)
@@ -235,7 +236,6 @@ tsff = ts.filterFormatter = {
235
236
  updateSlider({ value: this.value });
236
237
  }),
237
238
  $shcell = [],
238
- c = $cell.closest('table')[0].config,
239
239
 
240
240
  // this function updates the hidden input and adds the current values to the header cell text
241
241
  updateSlider = function(ui, notrigger) {
@@ -365,6 +365,7 @@ tsff = ts.filterFormatter = {
365
365
  max : 100,
366
366
  range : true
367
367
  }, rangeDef ),
368
+ c = $cell.closest('table')[0].config,
368
369
  // Add a hidden input to hold the range values
369
370
  $input = $('<input class="filter" type="hidden">')
370
371
  .appendTo($cell)
@@ -373,7 +374,6 @@ tsff = ts.filterFormatter = {
373
374
  getRange();
374
375
  }),
375
376
  $shcell = [],
376
- c = $cell.closest('table')[0].config,
377
377
 
378
378
  getRange = function(){
379
379
  var val = $input.val(),
@@ -495,6 +495,7 @@ tsff = ts.filterFormatter = {
495
495
  }, defDate),
496
496
 
497
497
  $date,
498
+ c = $cell.closest('table')[0].config,
498
499
  // make sure we're using parsed dates in the search
499
500
  $hdr = $cell.closest('thead').find('th[data-column=' + indx + ']').addClass('filter-parsed'),
500
501
  // Add a hidden input to hold the range values
@@ -508,7 +509,6 @@ tsff = ts.filterFormatter = {
508
509
  }
509
510
  }),
510
511
  t, $shcell = [],
511
- c = $cell.closest('table')[0].config,
512
512
 
513
513
  // this function updates the hidden input
514
514
  date1Compare = function(v, notrigger) {
@@ -629,6 +629,7 @@ tsff = ts.filterFormatter = {
629
629
  numberOfMonths : 1
630
630
  }, defDate),
631
631
  t, closeTo, closeFrom, $shcell = [],
632
+ c = $cell.closest('table')[0].config,
632
633
  // Add a hidden input to hold the range values
633
634
  $input = $('<input class="dateRange" type="hidden">')
634
635
  .appendTo($cell)
@@ -644,8 +645,7 @@ tsff = ts.filterFormatter = {
644
645
  } else if (v.match('<=')) {
645
646
  closeTo( v.replace('<=', '') );
646
647
  }
647
- }),
648
- c = $cell.closest('table')[0].config;
648
+ });
649
649
 
650
650
  // make sure we're using parsed dates in the search
651
651
  $cell.closest('thead').find('th[data-column=' + indx + ']').addClass('filter-parsed');
@@ -1,4 +1,4 @@
1
- /*! tableSorter 2.15+ widgets - updated 3/9/2014 (v2.15.7)
1
+ /*! tableSorter 2.15+ widgets - updated 3/12/2014 (v2.15.8)
2
2
  *
3
3
  * Column Styles
4
4
  * Column Filters
@@ -765,7 +765,7 @@ ts.filter = {
765
765
  return;
766
766
  }
767
767
  // true flag tells getFilters to skip newest timed input
768
- ts.filter.searching( table, '', true );
768
+ ts.filter.searching( table, true, true );
769
769
  });
770
770
  c.$table.bind('filterReset', function(){
771
771
  $el.val('');
@@ -0,0 +1,145 @@
1
+ /*! tablesorter Align Character widget - updated 3/12/2014 (core v2.15.8)
2
+ * Requires tablesorter v2.8+ and jQuery 1.7+
3
+ * by Rob Garrison
4
+ */
5
+ /*jshint browser:true, jquery:true, unused:false */
6
+ /*global jQuery: false */
7
+ ;(function($){
8
+ "use strict";
9
+ var ts = $.tablesorter;
10
+
11
+ ts.alignChar = {
12
+
13
+ init : function(table, c, wo) {
14
+ c.$headers.filter('[' + wo.alignChar_charAttrib + ']').each(function(){
15
+ var $this = $(this),
16
+ vars = {
17
+ column : this.column,
18
+ align : $this.attr(wo.alignChar_charAttrib),
19
+ alignIndex : parseInt( $this.attr(wo.alignChar_indexAttrib) || 0, 10),
20
+ adjust : parseFloat($this.attr(wo.alignChar_adjustAttrib)) || 0,
21
+ };
22
+ vars.regex = new RegExp('\\' + vars.align, 'g');
23
+ if (typeof vars.align !== 'undefined') {
24
+ wo.alignChar_savedVars[this.column] = vars;
25
+ ts.alignChar.setup(table, c, wo, vars);
26
+ }
27
+ });
28
+ },
29
+
30
+ setup: function(table, c, wo, v){
31
+ // do nothing for empty tables
32
+ if ($.isEmptyObject(c.cache)) { return; }
33
+ var tbodyIndex, rowIndex, start, end, last, index, rows, val, count,
34
+ len, wLeft, wRight, alignChar, $row,
35
+ left = [],
36
+ right = [];
37
+ for (tbodyIndex = 0; tbodyIndex < c.$tbodies.length; tbodyIndex++){
38
+ rows = c.cache[tbodyIndex];
39
+ len = rows.normalized.length;
40
+ for (rowIndex = 0; rowIndex < len; rowIndex++) {
41
+ // set up to work with modified cache v2.16.0+
42
+ $row = rows.row ? rows.row[rowIndex] : rows.normalized[rowIndex][c.columns].$row;
43
+ val = $row.find('td').eq(v.column).text().replace(/[ ]/g, "\u00a0");
44
+ // count how many "align" characters are in the string
45
+ count = (val.match( v.regex ) || []).length;
46
+ // set alignment @ alignIndex (one-based index)
47
+ if (count > 0 && v.alignIndex > 0) {
48
+ end = Math.min(v.alignIndex, count);
49
+ start = 0;
50
+ index = 0;
51
+ last = 0;
52
+ // find index of nth align character based on alignIndex (data-align-index)
53
+ while (start++ < end) {
54
+ last = val.indexOf(v.align, last + 1);
55
+ index = last < 0 ? index : last;
56
+ }
57
+ } else {
58
+ index = val.indexOf(v.align);
59
+ }
60
+ if ( index >= 0 ) {
61
+ left.push( val.substring(0, index) || '' );
62
+ right.push( val.substring(index, val.length) || '' );
63
+ } else {
64
+ // no align character found!
65
+ // put val in right or left based on the align index
66
+ left.push( (count >= 1 && v.alignIndex >= count) ? '' : val || '' );
67
+ right.push( (count >= 1 && v.alignIndex >= count) ? val || '' : '' );
68
+ }
69
+ }
70
+ }
71
+
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];
75
+ // calculate percentage widths
76
+ v.width = v.width || ( Math.floor(wLeft.length / (wLeft.length + wRight.length) * 100) + v.adjust );
77
+ wLeft = 'min-width:' + v.width + '%';
78
+ wRight = 'min-width:' + (100 - v.width) + '%';
79
+
80
+ for (tbodyIndex = 0; tbodyIndex < c.$tbodies.length; tbodyIndex++){
81
+ rows = c.cache[tbodyIndex];
82
+ len = rows.normalized.length;
83
+ for (rowIndex = 0; rowIndex < len; rowIndex++) {
84
+ alignChar = $(wo.alignChar_wrap).length ? $(wo.alignChar_wrap).html(v.align)[0].outerHTML : v.align;
85
+ $row = rows.row ? rows.row[rowIndex] : rows.normalized[rowIndex][c.columns].$row;
86
+ $row.find('td').eq(v.column).html(
87
+ '<span class="ts-align-wrap"><span class="ts-align-left" style="' + wLeft + '">' + left[rowIndex] + '</span>' +
88
+ '<span class="ts-align-right" style="' + wRight + '">' + alignChar +
89
+ right[rowIndex].slice(v.align.length) + '</span></span>'
90
+ );
91
+ }
92
+ }
93
+ wo.alignChar_initialized = true;
94
+
95
+ },
96
+ remove: function(table, c, column){
97
+ if ($.isEmptyObject(c.cache)) { return; }
98
+ var tbodyIndex, rowIndex, len, rows, $row, $cell;
99
+ for (tbodyIndex = 0; tbodyIndex < c.$tbodies.length; tbodyIndex++){
100
+ rows = c.cache[tbodyIndex];
101
+ len = rows.normalized.length;
102
+ for (rowIndex = 0; rowIndex < len; rowIndex++) {
103
+ $row = rows.row ? rows.row[rowIndex] : rows.normalized[rowIndex][c.columns].$row;
104
+ $cell = $row.find('td').eq(column);
105
+ $cell.html( $cell.text().replace(/\s/g, ' ') );
106
+ }
107
+ }
108
+ }
109
+ };
110
+
111
+ ts.addWidget({
112
+ id: 'alignChar',
113
+ priority: 100,
114
+ options: {
115
+ alignChar_wrap : '',
116
+ alignChar_charAttrib : 'data-align-char',
117
+ alignChar_indexAttrib : 'data-align-index',
118
+ alignChar_adjustAttrib : 'data-align-adjust' // percentage width adjustments
119
+ },
120
+ init: function(table, thisWidget, c, wo){
121
+ wo.alignChar_initialized = false;
122
+ wo.alignChar_savedVars = [];
123
+ ts.alignChar.init(table, c, wo);
124
+ c.$table.on('pagerEnd refreshAlign', function(){
125
+ c.$headers.filter('[' + wo.alignChar_charAttrib + ']').each(function(){
126
+ ts.alignChar.remove(table, c, this.column);
127
+ });
128
+ ts.alignChar.init(table, c, wo);
129
+ });
130
+ },
131
+ format : function(table, c, wo){
132
+ // reinitialize in case table is empty when first initialized
133
+ if (!wo.alignChar_initialized) {
134
+ c.$table.trigger('refreshAlign');
135
+ }
136
+ },
137
+ remove : function(table, c, wo){
138
+ c.$headers.filter('[' + wo.alignChar_charAttrib + ']').each(function(){
139
+ ts.alignChar.remove(table, c, this.column);
140
+ });
141
+ wo.alignChar_initialized = false;
142
+ }
143
+ });
144
+
145
+ })(jQuery);
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.10.5
4
+ version: 1.10.6
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-03-11 00:00:00.000000000 Z
12
+ date: 2014-03-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties
@@ -94,6 +94,7 @@ files:
94
94
  - vendor/assets/javascripts/jquery-tablesorter/parsers/parser-input-select.js
95
95
  - vendor/assets/javascripts/jquery-tablesorter/parsers/parser-ipv6.js
96
96
  - vendor/assets/javascripts/jquery-tablesorter/parsers/parser-metric.js
97
+ - vendor/assets/javascripts/jquery-tablesorter/widgets/widget-alignChar.js
97
98
  - vendor/assets/javascripts/jquery-tablesorter/widgets/widget-build-table.js
98
99
  - vendor/assets/javascripts/jquery-tablesorter/widgets/widget-columnSelector.js
99
100
  - vendor/assets/javascripts/jquery-tablesorter/widgets/widget-cssStickyHeaders.js