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
@@ -5,246 +5,246 @@
|
|
5
5
|
/*jshint browser:true, jquery:true, unused:false */
|
6
6
|
/*global jQuery: false */
|
7
7
|
;(function($){
|
8
|
-
|
9
|
-
var ts = $.tablesorter;
|
8
|
+
'use strict';
|
9
|
+
var ts = $.tablesorter;
|
10
10
|
|
11
|
-
ts.grouping = {
|
11
|
+
ts.grouping = {
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
types : {
|
14
|
+
number : function(c, $column, txt, num, group){
|
15
|
+
var value, word;
|
16
|
+
if (num > 1 && txt !== '') {
|
17
|
+
if ($column.hasClass(ts.css.sortAsc)) {
|
18
|
+
value = Math.floor(parseFloat(txt) / num) * num;
|
19
|
+
return value > parseFloat(group || 0) ? value : parseFloat(group || 0);
|
20
|
+
} else {
|
21
|
+
value = Math.ceil(parseFloat(txt) / num) * num;
|
22
|
+
return value < parseFloat(group || num) - value ? parseFloat(group || num) - value : value;
|
23
|
+
}
|
20
24
|
} else {
|
21
|
-
|
22
|
-
return
|
25
|
+
word = (txt + '').match(/\d+/g);
|
26
|
+
return word && word.length >= num ? word[num - 1] : txt || '';
|
23
27
|
}
|
24
|
-
}
|
25
|
-
|
28
|
+
},
|
29
|
+
separator : function(c, $column, txt, num){
|
30
|
+
var word = (txt + '').split(c.widgetOptions.group_separator);
|
31
|
+
return $.trim(word && num > 0 && word.length >= num ? word[(num || 1) - 1] : '');
|
32
|
+
},
|
33
|
+
word : function(c, $column, txt, num){
|
34
|
+
var word = (txt + ' ').match(/\w+/g);
|
26
35
|
return word && word.length >= num ? word[num - 1] : txt || '';
|
36
|
+
},
|
37
|
+
letter : function(c, $column, txt, num){
|
38
|
+
return txt ? (txt + ' ').substring(0, num) : '';
|
39
|
+
},
|
40
|
+
date : function(c, $column, txt, part, group){
|
41
|
+
var wo = c.widgetOptions,
|
42
|
+
time = new Date(txt || ''),
|
43
|
+
hours = time.getHours();
|
44
|
+
return part === 'year' ? time.getFullYear() :
|
45
|
+
part === 'month' ? wo.group_months[time.getMonth()] :
|
46
|
+
part === 'monthyear' ? wo.group_months[time.getMonth()] + ' ' + time.getFullYear() :
|
47
|
+
part === 'day' ? wo.group_months[time.getMonth()] + ' ' + time.getDate() :
|
48
|
+
part === 'week' ? wo.group_week[time.getDay()] :
|
49
|
+
part === 'time' ? ('00' + (hours > 12 ? hours - 12 : hours === 0 ? hours + 12 : hours)).slice(-2) + ':' +
|
50
|
+
('00' + time.getMinutes()).slice(-2) + ' ' + ('00' + wo.group_time[hours >= 12 ? 1 : 0]).slice(-2) :
|
51
|
+
wo.group_dateString(time);
|
27
52
|
}
|
28
53
|
},
|
29
|
-
separator : function(c, $column, txt, num){
|
30
|
-
var word = (txt + '').split(c.widgetOptions.group_separator);
|
31
|
-
return $.trim(word && num > 0 && word.length >= num ? word[(num || 1) - 1] : '');
|
32
|
-
},
|
33
|
-
word : function(c, $column, txt, num){
|
34
|
-
var word = (txt + ' ').match(/\w+/g);
|
35
|
-
return word && word.length >= num ? word[num - 1] : txt || '';
|
36
|
-
},
|
37
|
-
letter : function(c, $column, txt, num){
|
38
|
-
return txt ? (txt + ' ').substring(0, num) : '';
|
39
|
-
},
|
40
|
-
date : function(c, $column, txt, part, group){
|
41
|
-
var wo = c.widgetOptions,
|
42
|
-
time = new Date(txt || ''),
|
43
|
-
hours = time.getHours();
|
44
|
-
return part === 'year' ? time.getFullYear() :
|
45
|
-
part === 'month' ? wo.group_months[time.getMonth()] :
|
46
|
-
part === 'monthyear' ? wo.group_months[time.getMonth()] + ' ' + time.getFullYear() :
|
47
|
-
part === 'day' ? wo.group_months[time.getMonth()] + ' ' + time.getDate() :
|
48
|
-
part === 'week' ? wo.group_week[time.getDay()] :
|
49
|
-
part === 'time' ? ('00' + (hours > 12 ? hours - 12 : hours === 0 ? hours + 12 : hours)).slice(-2) + ':' +
|
50
|
-
('00' + time.getMinutes()).slice(-2) + ' ' + ('00' + wo.group_time[hours >= 12 ? 1 : 0]).slice(-2) :
|
51
|
-
wo.group_dateString(time);
|
52
|
-
}
|
53
|
-
},
|
54
54
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
55
|
+
update : function(table, c, wo){
|
56
|
+
if ($.isEmptyObject(c.cache)) { return; }
|
57
|
+
var rowIndex, tbodyIndex, currentGroup, $rows, groupClass, grouping, norm_rows, saveName, direction,
|
58
|
+
lang = wo.grouping_language,
|
59
|
+
group = '',
|
60
|
+
savedGroup = false,
|
61
|
+
column = c.sortList[0] ? c.sortList[0][0] : -1;
|
62
|
+
c.$table
|
63
|
+
.find('tr.group-hidden').removeClass('group-hidden').end()
|
64
|
+
.find('tr.group-header').remove();
|
65
|
+
if (wo.group_collapsible) {
|
66
|
+
// clear pager saved spacer height (in case the rows are collapsed)
|
67
|
+
c.$table.data('pagerSavedHeight', 0);
|
68
|
+
}
|
69
|
+
if (column >= 0 && !c.$headerIndexed[column].hasClass('group-false')) {
|
70
|
+
wo.group_currentGroup = ''; // save current groups
|
71
|
+
wo.group_currentGroups = {};
|
72
72
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
73
|
+
// group class finds 'group-{word/separator/letter/number/date/false}-{optional:#/year/month/day/week/time}'
|
74
|
+
groupClass = (c.$headerIndexed[column].attr('class') || '').match(/(group-\w+(-\w+)?)/g);
|
75
|
+
// grouping = [ 'group', '{word/separator/letter/number/date/false}', '{#/year/month/day/week/time}' ]
|
76
|
+
grouping = groupClass ? groupClass[0].split('-') : [ 'group', 'letter', 1 ]; // default to letter 1
|
77
77
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
78
|
+
// save current grouping
|
79
|
+
if (wo.group_collapsible && wo.group_saveGroups && ts.storage) {
|
80
|
+
wo.group_currentGroups = ts.storage( table, 'tablesorter-groups' ) || {};
|
81
|
+
// include direction when grouping numbers > 1 (reversed direction shows different range values)
|
82
|
+
direction = (grouping[1] === 'number' && grouping[2] > 1) ? 'dir' + c.sortList[0][1] : '';
|
83
|
+
// combine column, sort direction & grouping as save key
|
84
|
+
saveName = wo.group_currentGroup = '' + column + direction + grouping.join('');
|
85
|
+
if (!wo.group_currentGroups[saveName]) {
|
86
|
+
wo.group_currentGroups[saveName] = [];
|
87
|
+
} else {
|
88
|
+
savedGroup = true;
|
89
|
+
}
|
89
90
|
}
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
91
|
+
for (tbodyIndex = 0; tbodyIndex < c.$tbodies.length; tbodyIndex++) {
|
92
|
+
norm_rows = c.cache[tbodyIndex].normalized;
|
93
|
+
group = ''; // clear grouping across tbodies
|
94
|
+
$rows = c.$tbodies.eq(tbodyIndex).children('tr').not('.' + c.cssChildRow);
|
95
|
+
for (rowIndex = 0; rowIndex < $rows.length; rowIndex++) {
|
96
|
+
if ( $rows.eq(rowIndex).is(':visible') ) {
|
97
|
+
// fixes #438
|
98
|
+
if (ts.grouping.types[grouping[1]]) {
|
99
|
+
currentGroup = norm_rows[rowIndex] ?
|
100
|
+
ts.grouping.types[grouping[1]]( c, c.$headerIndexed[column], norm_rows[rowIndex][column], /date/.test(groupClass) ?
|
101
|
+
grouping[2] : parseInt(grouping[2] || 1, 10) || 1, group, lang ) : currentGroup;
|
102
|
+
if (group !== currentGroup) {
|
103
|
+
group = currentGroup;
|
104
|
+
// show range if number > 1
|
105
|
+
if (grouping[1] === 'number' && grouping[2] > 1 && currentGroup !== '') {
|
106
|
+
currentGroup += ' - ' + (parseInt(currentGroup, 10) +
|
107
|
+
((parseInt(grouping[2], 10) - 1) * (c.$headerIndexed[column].hasClass(ts.css.sortAsc) ? 1 : -1)));
|
108
|
+
}
|
109
|
+
if ($.isFunction(wo.group_formatter)) {
|
110
|
+
currentGroup = wo.group_formatter((currentGroup || '').toString(), column, table, c, wo) || currentGroup;
|
111
|
+
}
|
112
|
+
$rows.eq(rowIndex).before('<tr class="group-header ' + c.selectorRemove.slice(1) +
|
113
|
+
'" unselectable="on"' + ( c.tabIndex ? ' tabindex="0"' : '' ) + '><td colspan="' +
|
114
|
+
c.columns + '">' + (wo.group_collapsible ? '<i/>' : '') + '<span class="group-name">' +
|
115
|
+
currentGroup + '</span><span class="group-count"></span></td></tr>');
|
116
|
+
if (wo.group_saveGroups && !savedGroup && wo.group_collapsed && wo.group_collapsible) {
|
117
|
+
// all groups start collapsed
|
118
|
+
wo.group_currentGroups[wo.group_currentGroup].push(currentGroup);
|
119
|
+
}
|
119
120
|
}
|
120
121
|
}
|
121
122
|
}
|
122
123
|
}
|
123
124
|
}
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
125
|
+
c.$table.find('tr.group-header')
|
126
|
+
.bind('selectstart', false)
|
127
|
+
.each(function(){
|
128
|
+
var isHidden, $label, name,
|
129
|
+
$row = $(this),
|
130
|
+
$rows = $row.nextUntil('tr.group-header').filter(':visible');
|
131
|
+
if (wo.group_count || $.isFunction(wo.group_callback)) {
|
132
|
+
$label = $row.find('.group-count');
|
133
|
+
if ($label.length) {
|
134
|
+
if (wo.group_count) {
|
135
|
+
$label.html( wo.group_count.replace(/\{num\}/g, $rows.length) );
|
136
|
+
}
|
137
|
+
if ($.isFunction(wo.group_callback)) {
|
138
|
+
wo.group_callback($row.find('td'), $rows, column, table);
|
139
|
+
}
|
139
140
|
}
|
140
141
|
}
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
}
|
151
|
-
|
152
|
-
|
153
|
-
}
|
154
|
-
},
|
142
|
+
if (wo.group_saveGroups && wo.group_currentGroups.length && wo.group_currentGroups[wo.group_currentGroup].length) {
|
143
|
+
name = $row.find('.group-name').text().toLowerCase();
|
144
|
+
isHidden = $.inArray( name, wo.group_currentGroups[wo.group_currentGroup] ) > -1;
|
145
|
+
$row.toggleClass('collapsed', isHidden);
|
146
|
+
$rows.toggleClass('group-hidden', isHidden);
|
147
|
+
} else if (wo.group_collapsed && wo.group_collapsible) {
|
148
|
+
$row.addClass('collapsed');
|
149
|
+
$rows.addClass('group-hidden');
|
150
|
+
}
|
151
|
+
});
|
152
|
+
c.$table.trigger(wo.group_complete);
|
153
|
+
}
|
154
|
+
},
|
155
155
|
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
}
|
171
|
-
$this.toggleClass('collapsed');
|
172
|
-
// nextUntil requires jQuery 1.4+
|
173
|
-
$this.nextUntil('tr.group-header').toggleClass('group-hidden', $this.hasClass('collapsed') );
|
174
|
-
// save collapsed groups
|
175
|
-
if (wo.group_saveGroups && ts.storage) {
|
176
|
-
$groups = c.$table.find('.group-header');
|
177
|
-
isCollapsed = $this.hasClass('collapsed');
|
178
|
-
if (!wo.group_currentGroups[wo.group_currentGroup]) {
|
179
|
-
wo.group_currentGroups[wo.group_currentGroup] = [];
|
156
|
+
bindEvents : function(table, c, wo){
|
157
|
+
if (wo.group_collapsible) {
|
158
|
+
wo.group_currentGroups = [];
|
159
|
+
// .on() requires jQuery 1.7+
|
160
|
+
c.$table.on('click toggleGroup keyup', 'tr.group-header', function(event){
|
161
|
+
event.stopPropagation();
|
162
|
+
// pressing enter will toggle the group
|
163
|
+
if (event.type === 'keyup' && event.which !== 13) { return; }
|
164
|
+
var isCollapsed, $groups, indx,
|
165
|
+
$this = $(this),
|
166
|
+
name = $this.find('.group-name').text().toLowerCase();
|
167
|
+
// use shift-click to toggle ALL groups
|
168
|
+
if (event.shiftKey && (event.type === 'click' || event.type === 'keyup')) {
|
169
|
+
$this.siblings('.group-header').trigger('toggleGroup');
|
180
170
|
}
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
171
|
+
$this.toggleClass('collapsed');
|
172
|
+
// nextUntil requires jQuery 1.4+
|
173
|
+
$this.nextUntil('tr.group-header').toggleClass('group-hidden', $this.hasClass('collapsed') );
|
174
|
+
// save collapsed groups
|
175
|
+
if (wo.group_saveGroups && ts.storage) {
|
176
|
+
$groups = c.$table.find('.group-header');
|
177
|
+
isCollapsed = $this.hasClass('collapsed');
|
178
|
+
if (!wo.group_currentGroups[wo.group_currentGroup]) {
|
179
|
+
wo.group_currentGroups[wo.group_currentGroup] = [];
|
187
180
|
}
|
181
|
+
if (isCollapsed && wo.group_currentGroup) {
|
182
|
+
wo.group_currentGroups[wo.group_currentGroup].push( name );
|
183
|
+
} else if (wo.group_currentGroup) {
|
184
|
+
indx = $.inArray( name, wo.group_currentGroups[wo.group_currentGroup] );
|
185
|
+
if (indx > -1) {
|
186
|
+
wo.group_currentGroups[wo.group_currentGroup].splice( indx, 1 );
|
187
|
+
}
|
188
|
+
}
|
189
|
+
ts.storage( table, 'tablesorter-groups', wo.group_currentGroups );
|
188
190
|
}
|
189
|
-
|
190
|
-
|
191
|
+
});
|
192
|
+
}
|
193
|
+
$(wo.group_saveReset).on('click', function(){
|
194
|
+
ts.grouping.clearSavedGroups(table);
|
191
195
|
});
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
}
|
196
|
-
c.$table.on('pagerChange.tsgrouping', function(){
|
197
|
-
ts.grouping.update(table, c, wo);
|
198
|
-
});
|
199
|
-
},
|
196
|
+
c.$table.on('pagerChange.tsgrouping', function(){
|
197
|
+
ts.grouping.update(table, c, wo);
|
198
|
+
});
|
199
|
+
},
|
200
200
|
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
201
|
+
clearSavedGroups: function(table){
|
202
|
+
if (table && ts.storage) {
|
203
|
+
ts.storage(table, 'tablesorter-groups', '');
|
204
|
+
ts.grouping.update(table, table.config, table.config.widgetOptions);
|
205
|
+
}
|
205
206
|
}
|
206
|
-
}
|
207
207
|
|
208
|
-
};
|
208
|
+
};
|
209
209
|
|
210
|
-
ts.addWidget({
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
210
|
+
ts.addWidget({
|
211
|
+
id: 'group',
|
212
|
+
priority: 100,
|
213
|
+
options: {
|
214
|
+
group_collapsible : true, // make the group header clickable and collapse the rows below it.
|
215
|
+
group_collapsed : false, // start with all groups collapsed
|
216
|
+
group_saveGroups : true, // remember collapsed groups
|
217
|
+
group_saveReset : null, // element to clear saved collapsed groups
|
218
|
+
group_count : ' ({num})', // if not false, the '{num}' string is replaced with the number of rows in the group
|
219
|
+
group_separator : '-', // group name separator; used when group-separator-# class is used.
|
220
|
+
group_formatter : null, // function(txt, column, table, c, wo) { return txt; }
|
221
|
+
group_callback : null, // function($cell, $rows, column, table){}, callback allowing modification of the group header labels
|
222
|
+
group_complete : 'groupingComplete', // event triggered on the table when the grouping widget has finished work
|
223
223
|
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
});
|
224
|
+
// checkbox parser text used for checked/unchecked values
|
225
|
+
group_checkbox : [ 'checked', 'unchecked' ],
|
226
|
+
// change these default date names based on your language preferences
|
227
|
+
group_months : [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ],
|
228
|
+
group_week : [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],
|
229
|
+
group_time : [ 'AM', 'PM' ],
|
230
|
+
// this function is used when 'group-date' is set to create the date string
|
231
|
+
// you can just return date, date.toLocaleString(), date.toLocaleDateString() or d.toLocaleTimeString()
|
232
|
+
// reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#Conversion_getter
|
233
|
+
group_dateString : function(date) { return date.toLocaleString(); }
|
234
|
+
},
|
235
|
+
init: function(table, thisWidget, c, wo){
|
236
|
+
ts.grouping.bindEvents(table, c, wo);
|
237
|
+
},
|
238
|
+
format: function(table, c, wo) {
|
239
|
+
ts.grouping.update(table, c, wo);
|
240
|
+
},
|
241
|
+
remove : function(table, c, wo){
|
242
|
+
c.$table
|
243
|
+
.off('click', 'tr.group-header')
|
244
|
+
.off('pagerChange.tsgrouping')
|
245
|
+
.find('.group-hidden').removeClass('group-hidden').end()
|
246
|
+
.find('tr.group-header').remove();
|
247
|
+
}
|
248
|
+
});
|
249
249
|
|
250
250
|
})(jQuery);
|