jquery-tablesorter 1.17.2 → 1.17.3
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/jquery-tablesorter/version.rb +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/addons/pager/jquery.tablesorter.pager.js +76 -71
- data/vendor/assets/javascripts/jquery-tablesorter/extras/jquery.dragtable.mod.js +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.combined.js +2647 -2576
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.js +174 -119
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets.js +2487 -2471
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-extract.js +15 -15
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-iso8601.js +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-month.js +4 -4
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-range.js +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-two-digit-year.js +12 -12
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-weekday.js +4 -4
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date.js +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-duration.js +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-feet-inch-fraction.js +6 -6
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-file-type.js +22 -22
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-globalize.js +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-ignore-articles.js +15 -15
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-image.js +3 -3
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-input-select.js +10 -3
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-metric.js +2 -2
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-named-numbers.js +3 -3
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-network.js +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-roman.js +4 -4
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-alignChar.js +122 -121
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-build-table.js +13 -13
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-chart.js +2 -2
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-columnSelector.js +324 -324
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-columns.js +60 -60
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-editable.js +219 -219
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-formatter-html5.js +360 -361
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-formatter-jui.js +666 -666
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-formatter-select2.js +124 -124
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-type-insideRange.js +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter.js +1448 -1433
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-formatter.js +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-grouping.js +213 -213
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-headerTitles.js +3 -3
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-math.js +271 -216
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-output.js +339 -320
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-pager.js +1057 -1045
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-print.js +109 -109
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-reflow.js +114 -115
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-resizable.js +360 -359
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-saveSort.js +59 -59
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-scroller.js +818 -806
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-sort2Hash.js +128 -0
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-sortTbodies.js +195 -195
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-staticRow.js +90 -90
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-stickyHeaders.js +257 -257
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-storage.js +76 -76
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-uitheme.js +170 -170
- metadata +3 -3
- data/vendor/assets/javascripts/jquery-tablesorter/extras/jquery.quicksearch.js +0 -195
@@ -1,7 +1,7 @@
|
|
1
1
|
/*! Parser: Extract out date - updated 10/26/2014 (v2.18.0) */
|
2
2
|
/*jshint jquery:true */
|
3
3
|
;(function($){
|
4
|
-
|
4
|
+
'use strict';
|
5
5
|
|
6
6
|
var regex = {
|
7
7
|
usLong : /[A-Z]{3,10}\.?\s+\d{1,2},?\s+(?:\d{4})(?:\s+\d{1,2}:\d{2}(?::\d{2})?(?:\s+[AP]M)?)?/i,
|
@@ -15,10 +15,10 @@
|
|
15
15
|
};
|
16
16
|
|
17
17
|
/*! extract US Long Date *//* (ignore any other text)
|
18
|
-
* e.g.
|
18
|
+
* e.g. 'Sue's Birthday! Jun 26, 2004 7:22 AM (8# 2oz)'
|
19
19
|
* demo: http://jsfiddle.net/Mottie/abkNM/4165/ */
|
20
20
|
$.tablesorter.addParser({
|
21
|
-
id:
|
21
|
+
id: 'extractUSLongDate',
|
22
22
|
is: function () {
|
23
23
|
// don't auto detect this parser
|
24
24
|
return false;
|
@@ -32,67 +32,67 @@
|
|
32
32
|
}
|
33
33
|
return s;
|
34
34
|
},
|
35
|
-
type:
|
35
|
+
type: 'numeric'
|
36
36
|
});
|
37
37
|
|
38
38
|
/*! extract MMDDYYYY *//* (ignore any other text)
|
39
39
|
* demo: http://jsfiddle.net/Mottie/abkNM/4166/ */
|
40
40
|
$.tablesorter.addParser({
|
41
|
-
id:
|
41
|
+
id: 'extractMMDDYYYY',
|
42
42
|
is: function () {
|
43
43
|
// don't auto detect this parser
|
44
44
|
return false;
|
45
45
|
},
|
46
46
|
format: function (s) {
|
47
47
|
var date,
|
48
|
-
str = s ? s.replace(/\s+/g,
|
48
|
+
str = s ? s.replace(/\s+/g, ' ').replace(/[\-.,]/g, '/').match(regex.mdy) : s;
|
49
49
|
if (str) {
|
50
50
|
date = new Date( str[0] );
|
51
51
|
return date instanceof Date && isFinite(date) ? date.getTime() : s;
|
52
52
|
}
|
53
53
|
return s;
|
54
54
|
},
|
55
|
-
type:
|
55
|
+
type: 'numeric'
|
56
56
|
});
|
57
57
|
|
58
58
|
/*! extract DDMMYYYY *//* (ignore any other text)
|
59
59
|
* demo: http://jsfiddle.net/Mottie/abkNM/4167/ */
|
60
60
|
$.tablesorter.addParser({
|
61
|
-
id:
|
61
|
+
id: 'extractDDMMYYYY',
|
62
62
|
is: function () {
|
63
63
|
// don't auto detect this parser
|
64
64
|
return false;
|
65
65
|
},
|
66
66
|
format: function (s) {
|
67
67
|
var date,
|
68
|
-
str = s ? s.replace(/\s+/g,
|
68
|
+
str = s ? s.replace(/\s+/g, ' ').replace(/[\-.,]/g, '/').match(regex.dmy) : s;
|
69
69
|
if (str) {
|
70
|
-
date = new Date( str[0].replace(regex.dmyreplace,
|
70
|
+
date = new Date( str[0].replace(regex.dmyreplace, '$2/$1/$3') );
|
71
71
|
return date instanceof Date && isFinite(date) ? date.getTime() : s;
|
72
72
|
}
|
73
73
|
return s;
|
74
74
|
},
|
75
|
-
type:
|
75
|
+
type: 'numeric'
|
76
76
|
});
|
77
77
|
|
78
78
|
/*! extract YYYYMMDD *//* (ignore any other text)
|
79
79
|
* demo: http://jsfiddle.net/Mottie/abkNM/4168/ */
|
80
80
|
$.tablesorter.addParser({
|
81
|
-
id:
|
81
|
+
id: 'extractYYYYMMDD',
|
82
82
|
is: function () {
|
83
83
|
// don't auto detect this parser
|
84
84
|
return false;
|
85
85
|
},
|
86
86
|
format: function (s) {
|
87
87
|
var date,
|
88
|
-
str = s ? s.replace(/\s+/g,
|
88
|
+
str = s ? s.replace(/\s+/g, ' ').replace(/[\-.,]/g, '/').match(regex.ymd) : s;
|
89
89
|
if (str) {
|
90
|
-
date = new Date( str[0].replace(regex.ymdreplace,
|
90
|
+
date = new Date( str[0].replace(regex.ymdreplace, '$2/$3/$1') );
|
91
91
|
return date instanceof Date && isFinite(date) ? date.getTime() : s;
|
92
92
|
}
|
93
93
|
return s;
|
94
94
|
},
|
95
|
-
type:
|
95
|
+
type: 'numeric'
|
96
96
|
});
|
97
97
|
|
98
98
|
})(jQuery);
|
@@ -2,7 +2,7 @@
|
|
2
2
|
/* Demo: http://jsfiddle.net/Mottie/abkNM/4169/ */
|
3
3
|
/*jshint jquery:true */
|
4
4
|
;(function($){
|
5
|
-
|
5
|
+
'use strict';
|
6
6
|
|
7
7
|
var ts = $.tablesorter;
|
8
8
|
ts.dates = $.extend({}, ts.dates, {
|
@@ -12,7 +12,7 @@
|
|
12
12
|
ts.dates.monthLower = ts.dates.monthCased.join(',').toLocaleLowerCase().split(',');
|
13
13
|
|
14
14
|
ts.addParser({
|
15
|
-
id:
|
15
|
+
id: 'month',
|
16
16
|
is: function(){
|
17
17
|
return false;
|
18
18
|
},
|
@@ -20,7 +20,7 @@
|
|
20
20
|
if (s) {
|
21
21
|
var j = -1, c = table.config,
|
22
22
|
n = c.ignoreCase ? s.toLocaleLowerCase() : s;
|
23
|
-
$.each(ts.dates[ 'month' + (c.ignoreCase ? 'Lower' : 'Cased') ], function(i,v){
|
23
|
+
$.each(ts.dates[ 'month' + (c.ignoreCase ? 'Lower' : 'Cased') ], function(i, v){
|
24
24
|
if (j < 0 && n.match(v)) {
|
25
25
|
j = i;
|
26
26
|
return false;
|
@@ -32,7 +32,7 @@
|
|
32
32
|
}
|
33
33
|
return s;
|
34
34
|
},
|
35
|
-
type:
|
35
|
+
type: 'numeric'
|
36
36
|
});
|
37
37
|
|
38
38
|
})(jQuery);
|
@@ -2,7 +2,7 @@
|
|
2
2
|
/* Demo: http://mottie.github.io/tablesorter/docs/example-parsers-dates.html */
|
3
3
|
/*jshint jquery:true */
|
4
4
|
;(function($){
|
5
|
-
|
5
|
+
'use strict';
|
6
6
|
|
7
7
|
// Make the date be within +/- range of the 2 digit year
|
8
8
|
// so if the current year is 2020, and the 2 digit year is 80 (2080 - 2020 > 50), it becomes 1980
|
@@ -23,7 +23,7 @@
|
|
23
23
|
var y, rng,
|
24
24
|
n = s
|
25
25
|
// replace separators
|
26
|
-
.replace(/\s+/g,
|
26
|
+
.replace(/\s+/g, ' ').replace(/[-.,]/g, '/')
|
27
27
|
// reformat xx/xx/xx to mm/dd/19yy;
|
28
28
|
.replace(regex, format),
|
29
29
|
d = new Date(n);
|
@@ -31,7 +31,7 @@
|
|
31
31
|
y = d.getFullYear();
|
32
32
|
rng = table && table.config.dateRange || range;
|
33
33
|
// if date > 50 years old (set range), add 100 years
|
34
|
-
// this will work when people start using
|
34
|
+
// this will work when people start using '50' and mean '2050'
|
35
35
|
while (now - y > rng) {
|
36
36
|
y += 100;
|
37
37
|
}
|
@@ -42,39 +42,39 @@
|
|
42
42
|
};
|
43
43
|
|
44
44
|
$.tablesorter.addParser({
|
45
|
-
id:
|
45
|
+
id: 'ddmmyy',
|
46
46
|
is: function() {
|
47
47
|
return false;
|
48
48
|
},
|
49
49
|
format: function(s, table) {
|
50
50
|
// reformat dd/mm/yy to mm/dd/19yy;
|
51
|
-
return ts.formatDate(s, ts.dates.regxxxxyy,
|
51
|
+
return ts.formatDate(s, ts.dates.regxxxxyy, '$2/$1/19$3', table);
|
52
52
|
},
|
53
|
-
type:
|
53
|
+
type: 'numeric'
|
54
54
|
});
|
55
55
|
|
56
56
|
$.tablesorter.addParser({
|
57
|
-
id:
|
57
|
+
id: 'mmddyy',
|
58
58
|
is: function() {
|
59
59
|
return false;
|
60
60
|
},
|
61
61
|
format: function(s, table) {
|
62
62
|
// reformat mm/dd/yy to mm/dd/19yy
|
63
|
-
return ts.formatDate(s, ts.dates.regxxxxyy,
|
63
|
+
return ts.formatDate(s, ts.dates.regxxxxyy, '$1/$2/19$3', table);
|
64
64
|
},
|
65
|
-
type:
|
65
|
+
type: 'numeric'
|
66
66
|
});
|
67
67
|
|
68
68
|
$.tablesorter.addParser({
|
69
|
-
id:
|
69
|
+
id: 'yymmdd',
|
70
70
|
is: function() {
|
71
71
|
return false;
|
72
72
|
},
|
73
73
|
format: function(s, table) {
|
74
74
|
// reformat yy/mm/dd to mm/dd/19yy
|
75
|
-
return ts.formatDate(s, ts.dates.regyyxxxx,
|
75
|
+
return ts.formatDate(s, ts.dates.regyyxxxx, '$2/$3/19$1', table);
|
76
76
|
},
|
77
|
-
type:
|
77
|
+
type: 'numeric'
|
78
78
|
});
|
79
79
|
|
80
80
|
})(jQuery);
|
@@ -2,7 +2,7 @@
|
|
2
2
|
/* Demo: http://jsfiddle.net/Mottie/abkNM/4169/ */
|
3
3
|
/*jshint jquery:true */
|
4
4
|
;(function($){
|
5
|
-
|
5
|
+
'use strict';
|
6
6
|
|
7
7
|
var ts = $.tablesorter;
|
8
8
|
ts.dates = $.extend({}, ts.dates, {
|
@@ -12,7 +12,7 @@
|
|
12
12
|
ts.dates.weekdayLower = ts.dates.weekdayCased.join(',').toLocaleLowerCase().split(',');
|
13
13
|
|
14
14
|
ts.addParser({
|
15
|
-
id:
|
15
|
+
id: 'weekday',
|
16
16
|
is: function(){
|
17
17
|
return false;
|
18
18
|
},
|
@@ -20,7 +20,7 @@
|
|
20
20
|
if (s) {
|
21
21
|
var j = -1, c = table.config;
|
22
22
|
s = c.ignoreCase ? s.toLocaleLowerCase() : s;
|
23
|
-
$.each(ts.dates[ 'weekday' + (c.ignoreCase ? 'Lower' : 'Cased') ], function(i,v){
|
23
|
+
$.each(ts.dates[ 'weekday' + (c.ignoreCase ? 'Lower' : 'Cased') ], function(i, v){
|
24
24
|
if (j < 0 && s.match(v)) {
|
25
25
|
j = i;
|
26
26
|
return false;
|
@@ -32,7 +32,7 @@
|
|
32
32
|
}
|
33
33
|
return s;
|
34
34
|
},
|
35
|
-
type:
|
35
|
+
type: 'numeric'
|
36
36
|
});
|
37
37
|
|
38
38
|
})(jQuery);
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*! Parser: duration & countdown - updated 2/7/2015 (v2.19.0) */
|
2
2
|
/*jshint jquery:true, unused:false */
|
3
3
|
;(function($){
|
4
|
-
'use strict';
|
4
|
+
'use strict';
|
5
5
|
|
6
6
|
// If any number > 9999, then set table.config.durationLength = 5
|
7
7
|
// The below regex matches this duration example: 1y 23d 12h 44m 9s
|
@@ -5,21 +5,21 @@
|
|
5
5
|
*/
|
6
6
|
/*global jQuery: false */
|
7
7
|
;(function($){
|
8
|
-
|
8
|
+
'use strict';
|
9
9
|
|
10
10
|
var ts = $.tablesorter;
|
11
11
|
ts.symbolRegex = /[\u215b\u215c\u215d\u215e\u00bc\u00bd\u00be]/g;
|
12
12
|
ts.processFractions = function(n, table) {
|
13
13
|
if (n) {
|
14
14
|
var t, p = 0;
|
15
|
-
n = $.trim(n.replace(/\"/,''));
|
16
|
-
// look for a space in the first part of the number:
|
15
|
+
n = $.trim(n.replace(/\"/, ''));
|
16
|
+
// look for a space in the first part of the number: '10 3/4' and save the '10'
|
17
17
|
if (/\s/.test(n)) {
|
18
18
|
p = ts.formatFloat(n.split(' ')[0], table);
|
19
19
|
// remove stuff to the left of the space
|
20
20
|
n = $.trim(n.substring(n.indexOf(' '), n.length));
|
21
21
|
}
|
22
|
-
// look for a
|
22
|
+
// look for a '/' to calculate fractions
|
23
23
|
if (/\//g.test(n)) {
|
24
24
|
t = n.split('/');
|
25
25
|
// turn 3/4 into .75; make sure we don't divide by zero
|
@@ -52,10 +52,10 @@
|
|
52
52
|
if (s === '') { return ''; }
|
53
53
|
// look for feet symbol = '
|
54
54
|
// very generic test to catch 1.1', 1 1/2' and 1½'
|
55
|
-
var d = (/^\s*\S*(\s+\S+)?\s*\'/.test(s)) ? s.split(
|
55
|
+
var d = (/^\s*\S*(\s+\S+)?\s*\'/.test(s)) ? s.split(/\'/) : [ 0, s ],
|
56
56
|
f = ts.processFractions(d[0], table), // feet
|
57
57
|
i = ts.processFractions(d[1], table); // inches
|
58
|
-
return (/[\'\"]/).test(s) ? parseFloat(f) + (parseFloat(i)/12 || 0) : parseFloat(f) + parseFloat(i);
|
58
|
+
return (/[\'\"]/).test(s) ? parseFloat(f) + (parseFloat(i) / 12 || 0) : parseFloat(f) + parseFloat(i);
|
59
59
|
},
|
60
60
|
type: 'numeric'
|
61
61
|
});
|
@@ -4,33 +4,33 @@
|
|
4
4
|
*/
|
5
5
|
/*global jQuery: false */
|
6
6
|
;(function($){
|
7
|
-
|
7
|
+
'use strict';
|
8
8
|
|
9
9
|
// basic list from http://en.wikipedia.org/wiki/List_of_file_formats
|
10
10
|
// To add a custom equivalent, define:
|
11
|
-
// $.tablesorter.fileTypes.equivalents['xx'] =
|
11
|
+
// $.tablesorter.fileTypes.equivalents['xx'] = 'A|B|C';
|
12
12
|
$.tablesorter.fileTypes = {
|
13
13
|
// divides filetype extensions in the equivalent list below
|
14
14
|
separator : '|',
|
15
15
|
equivalents : {
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
16
|
+
'3D Image' : '3dm|3ds|dwg|max|obj',
|
17
|
+
'Audio' : 'aif|aac|ape|flac|la|m4a|mid|midi|mp2|mp3|ogg|ra|raw|rm|wav|wma',
|
18
|
+
'Compressed' : '7z|bin|cab|cbr|gz|gzip|iso|lha|lz|rar|tar|tgz|zip|zipx|zoo',
|
19
|
+
'Database' : 'csv|dat|db|dbf|json|ldb|mdb|myd|pdb|sql|tsv|wdb|wmdb|xlr|xls|xlsx|xml',
|
20
|
+
'Development' : 'asm|c|class|cls|cpp|cc|cs|cxx|cbp|cs|dba|fla|h|java|lua|pl|py|pyc|pyo|sh|sln|r|rb|vb',
|
21
|
+
'Document' : 'doc|docx|odt|ott|pages|pdf|rtf|tex|wpd|wps|wrd|wri',
|
22
|
+
'Executable' : 'apk|app|com|exe|gadget|lnk|msi',
|
23
|
+
'Fonts' : 'eot|fnt|fon|otf|ttf|woff',
|
24
|
+
'Icons' : 'ani|cur|icns|ico',
|
25
|
+
'Images' : 'bmp|gif|jpg|jpeg|jpe|jp2|pic|png|psd|tga|tif|tiff|wmf|webp',
|
26
|
+
'Presentation' : 'pps|ppt',
|
27
|
+
'Published' : 'chp|epub|lit|pub|ppp|fm|mobi',
|
28
|
+
'Script' : 'as|bat|cgi|cmd|jar|js|lua|scpt|scptd|sh|vbs|vb|wsf',
|
29
|
+
'Styles' : 'css|less|sass',
|
30
|
+
'Text' : 'info|log|md|markdown|nfo|tex|text|txt',
|
31
|
+
'Vectors' : 'awg|ai|eps|cdr|ps|svg',
|
32
|
+
'Video' : 'asf|avi|flv|m4v|mkv|mov|mp4|mpe|mpeg|mpg|ogg|rm|rv|swf|vob|wmv',
|
33
|
+
'Web' : 'asp|aspx|cer|cfm|htm|html|php|url|xhtml'
|
34
34
|
}
|
35
35
|
};
|
36
36
|
|
@@ -48,9 +48,9 @@
|
|
48
48
|
m = $.tablesorter.fileTypes.matching,
|
49
49
|
types = $.tablesorter.fileTypes.equivalents;
|
50
50
|
if (!m) {
|
51
|
-
// make a string to
|
51
|
+
// make a string to 'quick' match the existing equivalents
|
52
52
|
t = [];
|
53
|
-
$.each(types, function(i,v){
|
53
|
+
$.each(types, function(i, v){
|
54
54
|
t.push(v);
|
55
55
|
});
|
56
56
|
m = $.tablesorter.fileTypes.matching = sep + t.join(sep) + sep;
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Globalize.locale( 'xx' ) prior to initializing tablesorter! */
|
4
4
|
/*jshint jquery:true */
|
5
5
|
;( function( $ ) {
|
6
|
-
'use strict';
|
6
|
+
'use strict';
|
7
7
|
|
8
8
|
/*! jQuery Globalize date parser (https://github.com/jquery/globalize#date-module) */
|
9
9
|
/* demo: http://jsfiddle.net/Mottie/0j18Lw8r/ */
|
@@ -1,28 +1,28 @@
|
|
1
1
|
/*! Parser: ignoreArticles - updated 9/15/2014 (v2.17.8) *//*
|
2
|
-
* This parser will remove
|
2
|
+
* This parser will remove 'The', 'A' and 'An' from the beginning of a book
|
3
3
|
* or movie title, so it sorts by the second word or number
|
4
4
|
* Demo: http://jsfiddle.net/Mottie/abkNM/5/
|
5
5
|
*/
|
6
6
|
/*jshint browser: true, jquery:true, unused:false */
|
7
7
|
;(function($){
|
8
|
-
|
8
|
+
'use strict';
|
9
9
|
|
10
|
-
var ts = $.tablesorter;
|
10
|
+
var ts = $.tablesorter;
|
11
11
|
|
12
12
|
// basic list from http://en.wikipedia.org/wiki/Article_%28grammar%29
|
13
13
|
ts.ignoreArticles = {
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
14
|
+
'en' : 'the, a, an',
|
15
|
+
'de' : 'der, die, das, des, dem, den, ein, eine, einer, eines, einem, einen',
|
16
|
+
'nl' : 'de, het, de, een',
|
17
|
+
'es' : 'el, la, lo, los, las, un, una, unos, unas',
|
18
|
+
'pt' : 'o, a, os, as, um, uma, uns, umas',
|
19
|
+
'fr' : 'le, la, l\'_, les, un, une, des',
|
20
|
+
'it' : 'il, lo, la, l\'_, i, gli, le, un\', uno, una, un',
|
21
|
+
'hu' : 'a, az, egy'
|
22
22
|
};
|
23
23
|
|
24
24
|
// To add a custom parser, define:
|
25
|
-
// $.tablesorter.ignoreArticles['xx'] =
|
25
|
+
// $.tablesorter.ignoreArticles['xx'] = 'A, B, C';
|
26
26
|
// and then set the language id 'xx' in the headers option
|
27
27
|
// ignoreArticles : 'xx'
|
28
28
|
|
@@ -40,11 +40,11 @@ var ts = $.tablesorter;
|
|
40
40
|
if (!c.headers) { c.headers = {}; }
|
41
41
|
if (!c.headers[cellIndex]) { c.headers[cellIndex] = {}; }
|
42
42
|
lang = ts.getData( c.$headers.eq(cellIndex), ts.getColumnData( table, c.headers, cellIndex ), 'ignoreArticles' );
|
43
|
-
art = (ts.ignoreArticles[lang] ||
|
44
|
-
c.headers[cellIndex].ignoreArticlesRegex = new RegExp('^(' + $.trim( art.split(/\s*\,\s*/).join('\\s|') +
|
43
|
+
art = (ts.ignoreArticles[lang] || 'the, a, an' ) + '';
|
44
|
+
c.headers[cellIndex].ignoreArticlesRegex = new RegExp('^(' + $.trim( art.split(/\s*\,\s*/).join('\\s|') + '\\s' ).replace('_\\s', '') + ')', 'i');
|
45
45
|
// exception regex stored in c.headers[cellIndex].ignoreArticlesRegex2
|
46
46
|
ignore = ts.getData( c.$headers.eq(cellIndex), ts.getColumnData( table, c.headers, cellIndex ), 'ignoreArticlesExcept' );
|
47
|
-
c.headers[cellIndex].ignoreArticlesRegex2 = ignore !== '' ? new RegExp('^(' + ignore.replace(/\s/g,
|
47
|
+
c.headers[cellIndex].ignoreArticlesRegex2 = ignore !== '' ? new RegExp('^(' + ignore.replace(/\s/g, '\\s') + ')', 'i') : '';
|
48
48
|
}
|
49
49
|
art = c.headers[cellIndex].ignoreArticlesRegex;
|
50
50
|
if (art.test(str)) {
|