jquery-tablesorter 1.17.2 → 1.17.3
Sign up to get free protection for your applications and to get access to all the features.
- 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,89 +1,89 @@
|
|
1
1
|
/*! Widget: storage - updated 3/26/2015 (v2.21.3) */
|
2
2
|
;(function ($, window, document) {
|
3
|
-
'use strict';
|
3
|
+
'use strict';
|
4
4
|
|
5
|
-
var ts = $.tablesorter || {};
|
6
|
-
// *** Store data in local storage, with a cookie fallback ***
|
7
|
-
/* IE7 needs JSON library for JSON.stringify - (http://caniuse.com/#search=json)
|
8
|
-
|
5
|
+
var ts = $.tablesorter || {};
|
6
|
+
// *** Store data in local storage, with a cookie fallback ***
|
7
|
+
/* IE7 needs JSON library for JSON.stringify - (http://caniuse.com/#search=json)
|
8
|
+
if you need it, then include https://github.com/douglascrockford/JSON-js
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
$.parseJSON is not available is jQuery versions older than 1.4.1, using older
|
11
|
+
versions will only allow storing information for one page at a time
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
// *** Save data (JSON format only) ***
|
14
|
+
// val must be valid JSON... use http://jsonlint.com/ to ensure it is valid
|
15
|
+
var val = { "mywidget" : "data1" }; // valid JSON uses double quotes
|
16
|
+
// $.tablesorter.storage(table, key, val);
|
17
|
+
$.tablesorter.storage(table, 'tablesorter-mywidget', val);
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
*/
|
25
|
-
ts.storage = function(table, key, value, options) {
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
19
|
+
// *** Get data: $.tablesorter.storage(table, key); ***
|
20
|
+
v = $.tablesorter.storage(table, 'tablesorter-mywidget');
|
21
|
+
// val may be empty, so also check for your data
|
22
|
+
val = (v && v.hasOwnProperty('mywidget')) ? v.mywidget : '';
|
23
|
+
alert(val); // 'data1' if saved, or '' if not
|
24
|
+
*/
|
25
|
+
ts.storage = function(table, key, value, options) {
|
26
|
+
table = $(table)[0];
|
27
|
+
var cookieIndex, cookies, date,
|
28
|
+
hasStorage = false,
|
29
|
+
values = {},
|
30
|
+
c = table.config,
|
31
|
+
wo = c && c.widgetOptions,
|
32
|
+
storageType = ( options && options.useSessionStorage ) || ( wo && wo.storage_useSessionStorage ) ?
|
33
|
+
'sessionStorage' : 'localStorage',
|
34
|
+
$table = $(table),
|
35
|
+
// id from (1) options ID, (2) table 'data-table-group' attribute, (3) widgetOptions.storage_tableId,
|
36
|
+
// (4) table ID, then (5) table index
|
37
|
+
id = options && options.id ||
|
38
|
+
$table.attr( options && options.group || wo && wo.storage_group || 'data-table-group') ||
|
39
|
+
wo && wo.storage_tableId || table.id || $('.tablesorter').index( $table ),
|
40
|
+
// url from (1) options url, (2) table 'data-table-page' attribute, (3) widgetOptions.storage_fixedUrl,
|
41
|
+
// (4) table.config.fixedUrl (deprecated), then (5) window location path
|
42
|
+
url = options && options.url ||
|
43
|
+
$table.attr(options && options.page || wo && wo.storage_page || 'data-table-page') ||
|
44
|
+
wo && wo.storage_fixedUrl || c && c.fixedUrl || window.location.pathname;
|
45
|
+
// https://gist.github.com/paulirish/5558557
|
46
|
+
if (storageType in window) {
|
47
|
+
try {
|
48
|
+
window[storageType].setItem('_tmptest', 'temp');
|
49
|
+
hasStorage = true;
|
50
|
+
window[storageType].removeItem('_tmptest');
|
51
|
+
} catch (error) {
|
52
|
+
if (c && c.debug) {
|
53
|
+
console.warn( storageType + ' is not supported in this browser' );
|
54
|
+
}
|
54
55
|
}
|
55
56
|
}
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
}
|
68
|
-
}
|
69
|
-
// allow value to be an empty string too
|
70
|
-
if ((value || value === '') && window.JSON && JSON.hasOwnProperty('stringify')) {
|
71
|
-
// add unique identifiers = url pathname > table ID/index on page > data
|
72
|
-
if (!values[url]) {
|
73
|
-
values[url] = {};
|
57
|
+
// *** get value ***
|
58
|
+
if ($.parseJSON) {
|
59
|
+
if (hasStorage) {
|
60
|
+
values = $.parseJSON( window[storageType][key] || 'null' ) || {};
|
61
|
+
} else {
|
62
|
+
// old browser, using cookies
|
63
|
+
cookies = document.cookie.split(/[;\s|=]/);
|
64
|
+
// add one to get from the key to the value
|
65
|
+
cookieIndex = $.inArray(key, cookies) + 1;
|
66
|
+
values = (cookieIndex !== 0) ? $.parseJSON(cookies[cookieIndex] || 'null') || {} : {};
|
67
|
+
}
|
74
68
|
}
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
69
|
+
// allow value to be an empty string too
|
70
|
+
if ((value || value === '') && window.JSON && JSON.hasOwnProperty('stringify')) {
|
71
|
+
// add unique identifiers = url pathname > table ID/index on page > data
|
72
|
+
if (!values[url]) {
|
73
|
+
values[url] = {};
|
74
|
+
}
|
75
|
+
values[url][id] = value;
|
76
|
+
// *** set value ***
|
77
|
+
if (hasStorage) {
|
78
|
+
window[storageType][key] = JSON.stringify(values);
|
79
|
+
} else {
|
80
|
+
date = new Date();
|
81
|
+
date.setTime(date.getTime() + (31536e+6)); // 365 days
|
82
|
+
document.cookie = key + '=' + (JSON.stringify(values)).replace(/\"/g, '\"') + '; expires=' + date.toGMTString() + '; path=/';
|
83
|
+
}
|
79
84
|
} else {
|
80
|
-
|
81
|
-
date.setTime(date.getTime() + (31536e+6)); // 365 days
|
82
|
-
document.cookie = key + '=' + (JSON.stringify(values)).replace(/\"/g,'\"') + '; expires=' + date.toGMTString() + '; path=/';
|
85
|
+
return values && values[url] ? values[url][id] : '';
|
83
86
|
}
|
84
|
-
}
|
85
|
-
return values && values[url] ? values[url][id] : '';
|
86
|
-
}
|
87
|
-
};
|
87
|
+
};
|
88
88
|
|
89
89
|
})(jQuery, window, document);
|
@@ -1,185 +1,185 @@
|
|
1
1
|
/*! Widget: uitheme - updated 3/26/2015 (v2.21.3) */
|
2
2
|
;(function ($) {
|
3
|
-
'use strict';
|
4
|
-
var ts = $.tablesorter || {};
|
3
|
+
'use strict';
|
4
|
+
var ts = $.tablesorter || {};
|
5
5
|
|
6
|
-
ts.themes = {
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
};
|
50
|
-
|
51
|
-
$.extend(ts.css, {
|
52
|
-
wrapper : 'tablesorter-wrapper' // ui theme & resizable
|
53
|
-
});
|
6
|
+
ts.themes = {
|
7
|
+
'bootstrap' : {
|
8
|
+
table : 'table table-bordered table-striped',
|
9
|
+
caption : 'caption',
|
10
|
+
// header class names
|
11
|
+
header : 'bootstrap-header', // give the header a gradient background (theme.bootstrap_2.css)
|
12
|
+
sortNone : '',
|
13
|
+
sortAsc : '',
|
14
|
+
sortDesc : '',
|
15
|
+
active : '', // applied when column is sorted
|
16
|
+
hover : '', // custom css required - a defined bootstrap style may not override other classes
|
17
|
+
// icon class names
|
18
|
+
icons : '', // add 'icon-white' to make them white; this icon class is added to the <i> in the header
|
19
|
+
iconSortNone : 'bootstrap-icon-unsorted', // class name added to icon when column is not sorted
|
20
|
+
iconSortAsc : 'icon-chevron-up glyphicon glyphicon-chevron-up', // class name added to icon when column has ascending sort
|
21
|
+
iconSortDesc : 'icon-chevron-down glyphicon glyphicon-chevron-down', // class name added to icon when column has descending sort
|
22
|
+
filterRow : '', // filter row class
|
23
|
+
footerRow : '',
|
24
|
+
footerCells : '',
|
25
|
+
even : '', // even row zebra striping
|
26
|
+
odd : '' // odd row zebra striping
|
27
|
+
},
|
28
|
+
'jui' : {
|
29
|
+
table : 'ui-widget ui-widget-content ui-corner-all', // table classes
|
30
|
+
caption : 'ui-widget-content',
|
31
|
+
// header class names
|
32
|
+
header : 'ui-widget-header ui-corner-all ui-state-default', // header classes
|
33
|
+
sortNone : '',
|
34
|
+
sortAsc : '',
|
35
|
+
sortDesc : '',
|
36
|
+
active : 'ui-state-active', // applied when column is sorted
|
37
|
+
hover : 'ui-state-hover', // hover class
|
38
|
+
// icon class names
|
39
|
+
icons : 'ui-icon', // icon class added to the <i> in the header
|
40
|
+
iconSortNone : 'ui-icon-carat-2-n-s', // class name added to icon when column is not sorted
|
41
|
+
iconSortAsc : 'ui-icon-carat-1-n', // class name added to icon when column has ascending sort
|
42
|
+
iconSortDesc : 'ui-icon-carat-1-s', // class name added to icon when column has descending sort
|
43
|
+
filterRow : '',
|
44
|
+
footerRow : '',
|
45
|
+
footerCells : '',
|
46
|
+
even : 'ui-widget-content', // even row zebra striping
|
47
|
+
odd : 'ui-state-default' // odd row zebra striping
|
48
|
+
}
|
49
|
+
};
|
54
50
|
|
55
|
-
ts.
|
56
|
-
|
57
|
-
|
58
|
-
format: function(table, c, wo) {
|
59
|
-
var i, hdr, icon, time, $header, $icon, $tfoot, $h, oldtheme, oldremove, oldIconRmv, hasOldTheme,
|
60
|
-
themesAll = ts.themes,
|
61
|
-
$table = c.$table.add( $( c.namespace + '_extra_table' ) ),
|
62
|
-
$headers = c.$headers.add( $( c.namespace + '_extra_headers' ) ),
|
63
|
-
theme = c.theme || 'jui',
|
64
|
-
themes = themesAll[theme] || {},
|
65
|
-
remove = $.trim( [ themes.sortNone, themes.sortDesc, themes.sortAsc, themes.active ].join( ' ' ) ),
|
66
|
-
iconRmv = $.trim( [ themes.iconSortNone, themes.iconSortDesc, themes.iconSortAsc ].join( ' ' ) );
|
67
|
-
if (c.debug) { time = new Date(); }
|
68
|
-
// initialization code - run once
|
69
|
-
if (!$table.hasClass('tablesorter-' + theme) || c.theme !== c.appliedTheme || !wo.uitheme_applied) {
|
70
|
-
wo.uitheme_applied = true;
|
71
|
-
oldtheme = themesAll[c.appliedTheme] || {};
|
72
|
-
hasOldTheme = !$.isEmptyObject(oldtheme);
|
73
|
-
oldremove = hasOldTheme ? [ oldtheme.sortNone, oldtheme.sortDesc, oldtheme.sortAsc, oldtheme.active ].join( ' ' ) : '';
|
74
|
-
oldIconRmv = hasOldTheme ? [ oldtheme.iconSortNone, oldtheme.iconSortDesc, oldtheme.iconSortAsc ].join( ' ' ) : '';
|
75
|
-
if (hasOldTheme) {
|
76
|
-
wo.zebra[0] = $.trim( ' ' + wo.zebra[0].replace(' ' + oldtheme.even, '') );
|
77
|
-
wo.zebra[1] = $.trim( ' ' + wo.zebra[1].replace(' ' + oldtheme.odd, '') );
|
78
|
-
c.$tbodies.children().removeClass( [oldtheme.even, oldtheme.odd].join(' ') );
|
79
|
-
}
|
80
|
-
// update zebra stripes
|
81
|
-
if (themes.even) { wo.zebra[0] += ' ' + themes.even; }
|
82
|
-
if (themes.odd) { wo.zebra[1] += ' ' + themes.odd; }
|
83
|
-
// add caption style
|
84
|
-
$table.children('caption')
|
85
|
-
.removeClass(oldtheme.caption || '')
|
86
|
-
.addClass(themes.caption);
|
87
|
-
// add table/footer class names
|
88
|
-
$tfoot = $table
|
89
|
-
// remove other selected themes
|
90
|
-
.removeClass( (c.appliedTheme ? 'tablesorter-' + (c.appliedTheme || '') : '') + ' ' + (oldtheme.table || '') )
|
91
|
-
.addClass('tablesorter-' + theme + ' ' + (themes.table || '')) // add theme widget class name
|
92
|
-
.children('tfoot');
|
93
|
-
c.appliedTheme = c.theme;
|
51
|
+
$.extend(ts.css, {
|
52
|
+
wrapper : 'tablesorter-wrapper' // ui theme & resizable
|
53
|
+
});
|
94
54
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
.
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
55
|
+
ts.addWidget({
|
56
|
+
id: 'uitheme',
|
57
|
+
priority: 10,
|
58
|
+
format: function(table, c, wo) {
|
59
|
+
var i, hdr, icon, time, $header, $icon, $tfoot, $h, oldtheme, oldremove, oldIconRmv, hasOldTheme,
|
60
|
+
themesAll = ts.themes,
|
61
|
+
$table = c.$table.add( $( c.namespace + '_extra_table' ) ),
|
62
|
+
$headers = c.$headers.add( $( c.namespace + '_extra_headers' ) ),
|
63
|
+
theme = c.theme || 'jui',
|
64
|
+
themes = themesAll[theme] || {},
|
65
|
+
remove = $.trim( [ themes.sortNone, themes.sortDesc, themes.sortAsc, themes.active ].join( ' ' ) ),
|
66
|
+
iconRmv = $.trim( [ themes.iconSortNone, themes.iconSortDesc, themes.iconSortAsc ].join( ' ' ) );
|
67
|
+
if (c.debug) { time = new Date(); }
|
68
|
+
// initialization code - run once
|
69
|
+
if (!$table.hasClass('tablesorter-' + theme) || c.theme !== c.appliedTheme || !wo.uitheme_applied) {
|
70
|
+
wo.uitheme_applied = true;
|
71
|
+
oldtheme = themesAll[c.appliedTheme] || {};
|
72
|
+
hasOldTheme = !$.isEmptyObject(oldtheme);
|
73
|
+
oldremove = hasOldTheme ? [ oldtheme.sortNone, oldtheme.sortDesc, oldtheme.sortAsc, oldtheme.active ].join( ' ' ) : '';
|
74
|
+
oldIconRmv = hasOldTheme ? [ oldtheme.iconSortNone, oldtheme.iconSortDesc, oldtheme.iconSortAsc ].join( ' ' ) : '';
|
75
|
+
if (hasOldTheme) {
|
76
|
+
wo.zebra[0] = $.trim( ' ' + wo.zebra[0].replace(' ' + oldtheme.even, '') );
|
77
|
+
wo.zebra[1] = $.trim( ' ' + wo.zebra[1].replace(' ' + oldtheme.odd, '') );
|
78
|
+
c.$tbodies.children().removeClass( [ oldtheme.even, oldtheme.odd ].join(' ') );
|
79
|
+
}
|
80
|
+
// update zebra stripes
|
81
|
+
if (themes.even) { wo.zebra[0] += ' ' + themes.even; }
|
82
|
+
if (themes.odd) { wo.zebra[1] += ' ' + themes.odd; }
|
83
|
+
// add caption style
|
84
|
+
$table.children('caption')
|
85
|
+
.removeClass(oldtheme.caption || '')
|
86
|
+
.addClass(themes.caption);
|
87
|
+
// add table/footer class names
|
88
|
+
$tfoot = $table
|
89
|
+
// remove other selected themes
|
90
|
+
.removeClass( (c.appliedTheme ? 'tablesorter-' + (c.appliedTheme || '') : '') + ' ' + (oldtheme.table || '') )
|
91
|
+
.addClass('tablesorter-' + theme + ' ' + (themes.table || '')) // add theme widget class name
|
92
|
+
.children('tfoot');
|
93
|
+
c.appliedTheme = c.theme;
|
111
94
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
95
|
+
if ($tfoot.length) {
|
96
|
+
$tfoot
|
97
|
+
// if oldtheme.footerRow or oldtheme.footerCells are undefined, all class names are removed
|
98
|
+
.children('tr').removeClass(oldtheme.footerRow || '').addClass(themes.footerRow)
|
99
|
+
.children('th, td').removeClass(oldtheme.footerCells || '').addClass(themes.footerCells);
|
117
100
|
}
|
118
|
-
|
119
|
-
if (c.cssIcon) {
|
120
|
-
// if c.cssIcon is '', then no <i> is added to the header
|
101
|
+
// update header classes
|
121
102
|
$headers
|
122
|
-
.
|
123
|
-
.
|
124
|
-
.
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
103
|
+
.removeClass( (hasOldTheme ? [ oldtheme.header, oldtheme.hover, oldremove ].join(' ') : '') || '' )
|
104
|
+
.addClass(themes.header)
|
105
|
+
.not('.sorter-false')
|
106
|
+
.unbind('mouseenter.tsuitheme mouseleave.tsuitheme')
|
107
|
+
.bind('mouseenter.tsuitheme mouseleave.tsuitheme', function(event) {
|
108
|
+
// toggleClass with switch added in jQuery 1.3
|
109
|
+
$(this)[ event.type === 'mouseenter' ? 'addClass' : 'removeClass' ](themes.hover || '');
|
110
|
+
});
|
111
|
+
|
112
|
+
$headers.each(function(){
|
113
|
+
var $this = $(this);
|
114
|
+
if (!$this.find('.' + ts.css.wrapper).length) {
|
115
|
+
// Firefox needs this inner div to position the icon & resizer correctly
|
116
|
+
$this.wrapInner('<div class="' + ts.css.wrapper + '" style="position:relative;height:100%;width:100%"></div>');
|
117
|
+
}
|
118
|
+
});
|
119
|
+
if (c.cssIcon) {
|
120
|
+
// if c.cssIcon is '', then no <i> is added to the header
|
121
|
+
$headers
|
122
|
+
.find('.' + ts.css.icon)
|
123
|
+
.removeClass(hasOldTheme ? [ oldtheme.icons, oldIconRmv ].join(' ') : '')
|
124
|
+
.addClass(themes.icons || '');
|
125
|
+
}
|
126
|
+
if ($table.hasClass('hasFilters')) {
|
127
|
+
$table.children('thead').children('.' + ts.css.filterRow)
|
128
|
+
.removeClass(hasOldTheme ? oldtheme.filterRow || '' : '')
|
129
|
+
.addClass(themes.filterRow || '');
|
130
|
+
}
|
130
131
|
}
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
.
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
132
|
+
for (i = 0; i < c.columns; i++) {
|
133
|
+
$header = c.$headers
|
134
|
+
.add($(c.namespace + '_extra_headers'))
|
135
|
+
.not('.sorter-false')
|
136
|
+
.filter('[data-column="' + i + '"]');
|
137
|
+
$icon = (ts.css.icon) ? $header.find('.' + ts.css.icon) : $();
|
138
|
+
$h = $headers.not('.sorter-false').filter('[data-column="' + i + '"]:last');
|
139
|
+
if ($h.length) {
|
140
|
+
$header.removeClass(remove);
|
141
|
+
$icon.removeClass(iconRmv);
|
142
|
+
if ($h[0].sortDisabled) {
|
143
|
+
// no sort arrows for disabled columns!
|
144
|
+
$icon.removeClass(themes.icons || '');
|
145
|
+
} else {
|
146
|
+
hdr = themes.sortNone;
|
147
|
+
icon = themes.iconSortNone;
|
148
|
+
if ($h.hasClass(ts.css.sortAsc)) {
|
149
|
+
hdr = [ themes.sortAsc, themes.active ].join(' ');
|
150
|
+
icon = themes.iconSortAsc;
|
151
|
+
} else if ($h.hasClass(ts.css.sortDesc)) {
|
152
|
+
hdr = [ themes.sortDesc, themes.active ].join(' ');
|
153
|
+
icon = themes.iconSortDesc;
|
154
|
+
}
|
155
|
+
$header.addClass(hdr);
|
156
|
+
$icon.addClass(icon || '');
|
154
157
|
}
|
155
|
-
$header.addClass(hdr);
|
156
|
-
$icon.addClass(icon || '');
|
157
158
|
}
|
158
159
|
}
|
160
|
+
if (c.debug) {
|
161
|
+
console.log('Applying ' + theme + ' theme' + ts.benchmark(time));
|
162
|
+
}
|
163
|
+
},
|
164
|
+
remove: function(table, c, wo, refreshing) {
|
165
|
+
if (!wo.uitheme_applied) { return; }
|
166
|
+
var $table = c.$table,
|
167
|
+
theme = c.appliedTheme || 'jui',
|
168
|
+
themes = ts.themes[ theme ] || ts.themes.jui,
|
169
|
+
$headers = $table.children('thead').children(),
|
170
|
+
remove = themes.sortNone + ' ' + themes.sortDesc + ' ' + themes.sortAsc,
|
171
|
+
iconRmv = themes.iconSortNone + ' ' + themes.iconSortDesc + ' ' + themes.iconSortAsc;
|
172
|
+
$table.removeClass('tablesorter-' + theme + ' ' + themes.table);
|
173
|
+
wo.uitheme_applied = false;
|
174
|
+
if (refreshing) { return; }
|
175
|
+
$table.find(ts.css.header).removeClass(themes.header);
|
176
|
+
$headers
|
177
|
+
.unbind('mouseenter.tsuitheme mouseleave.tsuitheme') // remove hover
|
178
|
+
.removeClass(themes.hover + ' ' + remove + ' ' + themes.active)
|
179
|
+
.filter('.' + ts.css.filterRow)
|
180
|
+
.removeClass(themes.filterRow);
|
181
|
+
$headers.find('.' + ts.css.icon).removeClass(themes.icons + ' ' + iconRmv);
|
159
182
|
}
|
160
|
-
|
161
|
-
ts.benchmark("Applying " + theme + " theme", time);
|
162
|
-
}
|
163
|
-
},
|
164
|
-
remove: function(table, c, wo, refreshing) {
|
165
|
-
if (!wo.uitheme_applied) { return; }
|
166
|
-
var $table = c.$table,
|
167
|
-
theme = c.appliedTheme || 'jui',
|
168
|
-
themes = ts.themes[ theme ] || ts.themes.jui,
|
169
|
-
$headers = $table.children('thead').children(),
|
170
|
-
remove = themes.sortNone + ' ' + themes.sortDesc + ' ' + themes.sortAsc,
|
171
|
-
iconRmv = themes.iconSortNone + ' ' + themes.iconSortDesc + ' ' + themes.iconSortAsc;
|
172
|
-
$table.removeClass('tablesorter-' + theme + ' ' + themes.table);
|
173
|
-
wo.uitheme_applied = false;
|
174
|
-
if (refreshing) { return; }
|
175
|
-
$table.find(ts.css.header).removeClass(themes.header);
|
176
|
-
$headers
|
177
|
-
.unbind('mouseenter.tsuitheme mouseleave.tsuitheme') // remove hover
|
178
|
-
.removeClass(themes.hover + ' ' + remove + ' ' + themes.active)
|
179
|
-
.filter('.' + ts.css.filterRow)
|
180
|
-
.removeClass(themes.filterRow);
|
181
|
-
$headers.find('.' + ts.css.icon).removeClass(themes.icons + ' ' + iconRmv);
|
182
|
-
}
|
183
|
-
});
|
183
|
+
});
|
184
184
|
|
185
185
|
})(jQuery);
|