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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/jquery-tablesorter/version.rb +1 -1
  4. data/vendor/assets/javascripts/jquery-tablesorter/addons/pager/jquery.tablesorter.pager.js +76 -71
  5. data/vendor/assets/javascripts/jquery-tablesorter/extras/jquery.dragtable.mod.js +1 -1
  6. data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.combined.js +2647 -2576
  7. data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.js +174 -119
  8. data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets.js +2487 -2471
  9. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-extract.js +15 -15
  10. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-iso8601.js +1 -1
  11. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-month.js +4 -4
  12. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-range.js +1 -1
  13. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-two-digit-year.js +12 -12
  14. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date-weekday.js +4 -4
  15. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-date.js +1 -1
  16. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-duration.js +1 -1
  17. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-feet-inch-fraction.js +6 -6
  18. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-file-type.js +22 -22
  19. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-globalize.js +1 -1
  20. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-ignore-articles.js +15 -15
  21. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-image.js +3 -3
  22. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-input-select.js +10 -3
  23. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-metric.js +2 -2
  24. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-named-numbers.js +3 -3
  25. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-network.js +1 -1
  26. data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-roman.js +4 -4
  27. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-alignChar.js +122 -121
  28. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-build-table.js +13 -13
  29. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-chart.js +2 -2
  30. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-columnSelector.js +324 -324
  31. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-columns.js +60 -60
  32. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-editable.js +219 -219
  33. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-formatter-html5.js +360 -361
  34. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-formatter-jui.js +666 -666
  35. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-formatter-select2.js +124 -124
  36. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter-type-insideRange.js +1 -1
  37. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter.js +1448 -1433
  38. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-formatter.js +1 -1
  39. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-grouping.js +213 -213
  40. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-headerTitles.js +3 -3
  41. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-math.js +271 -216
  42. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-output.js +339 -320
  43. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-pager.js +1057 -1045
  44. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-print.js +109 -109
  45. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-reflow.js +114 -115
  46. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-resizable.js +360 -359
  47. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-saveSort.js +59 -59
  48. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-scroller.js +818 -806
  49. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-sort2Hash.js +128 -0
  50. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-sortTbodies.js +195 -195
  51. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-staticRow.js +90 -90
  52. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-stickyHeaders.js +257 -257
  53. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-storage.js +76 -76
  54. data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-uitheme.js +170 -170
  55. metadata +3 -3
  56. data/vendor/assets/javascripts/jquery-tablesorter/extras/jquery.quicksearch.js +0 -195
@@ -4,120 +4,120 @@
4
4
  /*jshint browser:true, jquery:true, unused:false */
5
5
  /*global jQuery: false */
6
6
  ;(function($){
7
- "use strict";
8
-
9
- var ts = $.tablesorter,
10
-
11
- printTable = ts.printTable = {
12
-
13
- event : 'printTable',
14
- basicStyle : 'table, tr, td, th { border : solid 1px black; border-collapse : collapse; } td, th { padding: 2px; }',
15
-
16
- init : function(c) {
17
- c.$table
18
- .unbind(printTable.event)
19
- .bind(printTable.event, function(){
20
- // explicitly use table.config.widgetOptions because we want
21
- // the most up-to-date values; not the "wo" from initialization
22
- printTable.process(c, c.widgetOptions);
7
+ 'use strict';
8
+
9
+ var ts = $.tablesorter,
10
+
11
+ printTable = ts.printTable = {
12
+
13
+ event : 'printTable',
14
+ basicStyle : 'table, tr, td, th { border : solid 1px black; border-collapse : collapse; } td, th { padding: 2px; }',
15
+
16
+ init : function(c) {
17
+ c.$table
18
+ .unbind(printTable.event)
19
+ .bind(printTable.event, function(){
20
+ // explicitly use table.config.widgetOptions because we want
21
+ // the most up-to-date values; not the 'wo' from initialization
22
+ printTable.process(c, c.widgetOptions);
23
+ });
24
+ },
25
+
26
+ process : function(c, wo) {
27
+ var $this,
28
+ $table = $('<div/>').append(c.$table.clone()),
29
+ printStyle = printTable.basicStyle + 'table { width: 100% }' +
30
+ // hide filter row
31
+ '.tablesorter-filter-row { display: none }' +
32
+ // hide sort arrows
33
+ '.tablesorter-header { background-image: none !important; }';
34
+
35
+ // replace content with data-attribute content
36
+ $table.find('[' + wo.print_dataAttrib + ']').each(function(){
37
+ $this = $(this);
38
+ $this.text( $this.attr(wo.print_dataAttrib) );
23
39
  });
24
- },
25
-
26
- process : function(c, wo) {
27
- var $this,
28
- $table = $('<div/>').append(c.$table.clone()),
29
- printStyle = printTable.basicStyle + 'table { width: 100% }' +
30
- // hide filter row
31
- '.tablesorter-filter-row { display: none }' +
32
- // hide sort arrows
33
- '.tablesorter-header { background-image: none !important; }';
34
-
35
- // replace content with data-attribute content
36
- $table.find('[' + wo.print_dataAttrib + ']').each(function(){
37
- $this = $(this);
38
- $this.text( $this.attr(wo.print_dataAttrib) );
39
- });
40
-
41
- // === rows ===
42
- // Assume "visible" means rows hidden by the pager (rows set to "display:none")
43
- // or hidden by a class name which is added to the wo.print_extraCSS definition
44
- if (/a/i.test(wo.print_rows)) {
45
- // force show of all rows
46
- printStyle += 'tbody tr { display: table-row !important; }';
47
- } else if (/f/i.test(wo.print_rows)) {
48
- // add definition to show all non-filtered rows (cells hidden by the pager)
49
- printStyle += 'tbody tr:not(.' + (wo.filter_filteredRow || 'filtered') + ') { display: table-row !important; }';
50
- }
51
40
 
52
- // === columns ===
53
- // columnSelector -> c.selector.$style
54
- // Assume "visible" means hidden columns have a "display:none" style, or a class name
55
- // add the definition to the wo.print_extraCSS option
56
- if (/s/i.test(wo.print_columns) && c.selector && c.widgets.indexOf('columnSelector') >= 0) {
57
- // show selected (visible) columns; make a copy of the columnSelector widget css (not media queries)
58
- printStyle += wo.columnSelector_mediaquery && c.selector.auto ? '' : c.selector.$style.text();
59
- } else if (/a/i.test(wo.print_columns)) {
60
- // force show all cells
61
- printStyle += 'td, th { display: table-cell !important; }';
41
+ // === rows ===
42
+ // Assume 'visible' means rows hidden by the pager (rows set to 'display:none')
43
+ // or hidden by a class name which is added to the wo.print_extraCSS definition
44
+ if (/a/i.test(wo.print_rows)) {
45
+ // force show of all rows
46
+ printStyle += 'tbody tr { display: table-row !important; }';
47
+ } else if (/f/i.test(wo.print_rows)) {
48
+ // add definition to show all non-filtered rows (cells hidden by the pager)
49
+ printStyle += 'tbody tr:not(.' + (wo.filter_filteredRow || 'filtered') + ') { display: table-row !important; }';
50
+ }
51
+
52
+ // === columns ===
53
+ // columnSelector -> c.selector.$style
54
+ // Assume 'visible' means hidden columns have a 'display:none' style, or a class name
55
+ // add the definition to the wo.print_extraCSS option
56
+ if (/s/i.test(wo.print_columns) && c.selector && c.widgets.indexOf('columnSelector') >= 0) {
57
+ // show selected (visible) columns; make a copy of the columnSelector widget css (not media queries)
58
+ printStyle += wo.columnSelector_mediaquery && c.selector.auto ? '' : c.selector.$style.text();
59
+ } else if (/a/i.test(wo.print_columns)) {
60
+ // force show all cells
61
+ printStyle += 'td, th { display: table-cell !important; }';
62
+ }
63
+
64
+ printStyle += wo.print_extraCSS;
65
+
66
+ // callback function
67
+ if ( $.isFunction(wo.print_callback) ) {
68
+ wo.print_callback( c, $table, printStyle );
69
+ } else {
70
+ printTable.printOutput(c, $table.html(), printStyle);
71
+ }
72
+
73
+ }, // end process
74
+
75
+ printOutput : function(c, data, style) {
76
+ var wo = c.widgetOptions,
77
+ generator = window.open('', wo.print_title, 'width=500,height=300'),
78
+ t = wo.print_title || c.$table.find('caption').text() || c.$table[0].id || document.title || 'table';
79
+ generator.document.write(
80
+ '<html><head><title>' + t + '</title>' +
81
+ ( wo.print_styleSheet ? '<link rel="stylesheet" href="' + wo.print_styleSheet + '">' : '' ) +
82
+ '<style>' + style + '</style>' +
83
+ '</head><body>' + data + '</body></html>'
84
+ );
85
+ generator.document.close();
86
+ generator.print();
87
+ generator.close();
88
+ return true;
89
+ },
90
+
91
+ remove : function(c) {
92
+ c.$table.off(printTable.event);
62
93
  }
63
94
 
64
- printStyle += wo.print_extraCSS;
65
-
66
- // callback function
67
- if ( $.isFunction(wo.print_callback) ) {
68
- wo.print_callback( c, $table, printStyle );
69
- } else {
70
- printTable.printOutput(c, $table.html(), printStyle);
95
+ };
96
+
97
+ ts.addWidget({
98
+ id: 'print',
99
+ options: {
100
+ print_title : '', // this option > caption > table id > 'table'
101
+ print_dataAttrib : 'data-name', // header attrib containing modified header name
102
+ print_rows : 'filtered', // (a)ll, (v)isible or (f)iltered
103
+ print_columns : 'selected', // (a)ll or (s)elected (if columnSelector widget is added)
104
+ print_extraCSS : '', // add any extra css definitions for the popup window here
105
+ print_styleSheet : '', // add the url of your print stylesheet
106
+ // callback executed when processing completes
107
+ // to continue printing, use the following function:
108
+ // function( config, $table, printStyle ) {
109
+ // // do something to the table or printStyle string
110
+ // $.tablesorter.printTable.printOutput( config, $table.html(), printStyle );
111
+ // }
112
+ print_callback : null
113
+ },
114
+ init: function(table, thisWidget, c) {
115
+ printTable.init(c);
116
+ },
117
+ remove: function(table, c){
118
+ printTable.remove(c);
71
119
  }
72
120
 
73
- }, // end process
74
-
75
- printOutput : function(c, data, style) {
76
- var wo = c.widgetOptions,
77
- generator = window.open('', wo.print_title, 'width=500,height=300'),
78
- t = wo.print_title || c.$table.find('caption').text() || c.$table[0].id || document.title || 'table';
79
- generator.document.write(
80
- '<html><head><title>' + t + '</title>' +
81
- ( wo.print_styleSheet ? '<link rel="stylesheet" href="' + wo.print_styleSheet + '">' : '' ) +
82
- '<style>' + style + '</style>' +
83
- '</head><body>' + data + '</body></html>'
84
- );
85
- generator.document.close();
86
- generator.print();
87
- generator.close();
88
- return true;
89
- },
90
-
91
- remove : function(c) {
92
- c.$table.off(printTable.event);
93
- }
94
-
95
- };
96
-
97
- ts.addWidget({
98
- id: 'print',
99
- options: {
100
- print_title : '', // this option > caption > table id > "table"
101
- print_dataAttrib : 'data-name', // header attrib containing modified header name
102
- print_rows : 'filtered', // (a)ll, (v)isible or (f)iltered
103
- print_columns : 'selected', // (a)ll or (s)elected (if columnSelector widget is added)
104
- print_extraCSS : '', // add any extra css definitions for the popup window here
105
- print_styleSheet : '', // add the url of your print stylesheet
106
- // callback executed when processing completes
107
- // to continue printing, use the following function:
108
- // function( config, $table, printStyle ) {
109
- // // do something to the table or printStyle string
110
- // $.tablesorter.printTable.printOutput( config, $table.html(), printStyle );
111
- // }
112
- print_callback : null
113
- },
114
- init: function(table, thisWidget, c) {
115
- printTable.init(c);
116
- },
117
- remove: function(table, c){
118
- printTable.remove(c);
119
- }
120
-
121
- });
121
+ });
122
122
 
123
123
  })(jQuery);
@@ -50,131 +50,130 @@
50
50
  /*jshint browser:true, jquery:true, unused:false */
51
51
  /*global jQuery: false */
52
52
  ;(function($){
53
- "use strict";
53
+ 'use strict';
54
54
 
55
- var ts = $.tablesorter,
55
+ var ts = $.tablesorter,
56
56
 
57
- tablereflow = {
58
- // simple reflow
59
- // add data-attribute to each cell which shows when media query is active
60
- // this widget DOES NOT WORK on a table with multiple thead rows
61
- init : function(table, c, wo) {
62
- var $this,
63
- title = wo.reflow_dataAttrib,
64
- header = wo.reflow_headerAttrib,
65
- headers = [];
66
- c.$table
67
- .addClass(wo.reflow_className)
68
- .off('refresh.tsreflow updateComplete.tsreflow2')
69
- // emulate jQuery Mobile refresh
70
- // https://api.jquerymobile.com/table-reflow/#method-refresh
71
- .on('refresh.tsreflow updateComplete.tsreflow2', function(){
72
- tablereflow.init(table, c, wo);
73
- });
74
- c.$headers.each(function(){
75
- $this = $(this);
76
- headers.push( $.trim( $this.attr(header) || $this.text() ) );
77
- });
78
- c.$tbodies.children().each(function(){
79
- $(this).children().each(function(i){
80
- $(this).attr(title, headers[i]);
57
+ tablereflow = {
58
+ // simple reflow
59
+ // add data-attribute to each cell which shows when media query is active
60
+ // this widget DOES NOT WORK on a table with multiple thead rows
61
+ init : function(table, c, wo) {
62
+ var $this,
63
+ title = wo.reflow_dataAttrib,
64
+ header = wo.reflow_headerAttrib,
65
+ headers = [];
66
+ c.$table
67
+ .addClass(wo.reflow_className)
68
+ .off('refresh.tsreflow updateComplete.tsreflow2')
69
+ // emulate jQuery Mobile refresh
70
+ // https://api.jquerymobile.com/table-reflow/#method-refresh
71
+ .on('refresh.tsreflow updateComplete.tsreflow2', function(){
72
+ tablereflow.init(table, c, wo);
73
+ });
74
+ c.$headers.each(function(){
75
+ $this = $(this);
76
+ headers.push( $.trim( $this.attr(header) || $this.text() ) );
81
77
  });
82
- });
83
- },
84
- init2: function(table, c, wo) {
85
- var $this, $tbody, i, $hdr, txt, len,
86
- cols = c.columns,
87
- header = wo.reflow2_headerAttrib,
88
- headers = [];
89
- c.$table
90
- .addClass(wo.reflow2_className)
91
- .off('refresh.tsreflow2 updateComplete.tsreflow2')
92
- // emulate jQuery Mobile refresh
93
- // https://api.jquerymobile.com/table-reflow/#method-refresh
94
- .on('refresh.tsreflow2 updateComplete.tsreflow2', function(){
95
- tablereflow.init2(table, c, wo);
78
+ c.$tbodies.children().each(function(){
79
+ $(this).children().each(function(i){
80
+ $(this).attr(title, headers[i]);
81
+ });
96
82
  });
83
+ },
84
+ init2: function(table, c, wo) {
85
+ var $this, $tbody, i, $hdr, txt, len,
86
+ cols = c.columns,
87
+ header = wo.reflow2_headerAttrib,
88
+ headers = [];
89
+ c.$table
90
+ .addClass(wo.reflow2_className)
91
+ .off('refresh.tsreflow2 updateComplete.tsreflow2')
92
+ // emulate jQuery Mobile refresh
93
+ // https://api.jquerymobile.com/table-reflow/#method-refresh
94
+ .on('refresh.tsreflow2 updateComplete.tsreflow2', function(){
95
+ tablereflow.init2(table, c, wo);
96
+ });
97
97
 
98
- // add <b> to every table cell with thead cell contents
99
- for (i = 0; i < cols; i++) {
100
- $hdr = c.$headers.filter('[data-column="' + i + '"]');
101
- if ($hdr.length > 1) {
102
- txt = [];
103
- /*jshint loopfunc:true */
104
- $hdr.each(function(){
98
+ // add <b> to every table cell with thead cell contents
99
+ for (i = 0; i < cols; i++) {
100
+ $hdr = c.$headers.filter('[data-column="' + i + '"]');
101
+ if ($hdr.length > 1) {
102
+ txt = [];
103
+ /*jshint loopfunc:true */
104
+ $hdr.each(function(){
105
+ $this = $(this);
106
+ if (!$this.hasClass(wo.reflow2_classIgnore)) {
107
+ txt.push( $this.attr(header) || $this.text() );
108
+ }
109
+ });
110
+ } else {
111
+ txt = [ $hdr.attr(header) || $hdr.text() ];
112
+ }
113
+ headers.push( txt );
114
+ }
115
+ // include 'remove-me' class so these additional elements are removed before updating
116
+ txt = '<b class="' + c.selectorRemove.slice(1) + ' ' + wo.reflow2_labelClass;
117
+ c.$tbodies.children().each(function(){
118
+ $tbody = ts.processTbody(table, $(this), true);
119
+ $tbody.children().each(function(j){
105
120
  $this = $(this);
106
- if (!$this.hasClass(wo.reflow2_classIgnore)) {
107
- txt.push( $this.attr(header) || $this.text() );
121
+ len = headers[j].length;
122
+ i = len - 1;
123
+ while (i >= 0) {
124
+ $this.prepend(txt + (i === 0 && len > 1 ? ' ' + wo.reflow2_labelTop : '') + '">' + headers[j][i] + '</b>');
125
+ i--;
108
126
  }
109
127
  });
110
- } else {
111
- txt = [ $hdr.attr(header) || $hdr.text() ];
112
- }
113
- headers.push( txt );
114
- }
115
- // include "remove-me" class so these additional elements are removed before updating
116
- txt = '<b class="' + c.selectorRemove.slice(1) + ' ' + wo.reflow2_labelClass;
117
- c.$tbodies.children().each(function(){
118
- $tbody = ts.processTbody(table, $(this), true);
119
- $tbody.children().each(function(j){
120
- $this = $(this);
121
- len = headers[j].length;
122
- i = len - 1;
123
- while (i >= 0) {
124
- $this.prepend(txt + (i === 0 && len > 1 ? ' ' + wo.reflow2_labelTop : '') + '">' + headers[j][i] + '</b>');
125
- i--;
126
- }
128
+ ts.processTbody(table, $tbody, false);
127
129
  });
128
- ts.processTbody(table, $tbody, false);
129
- });
130
- },
131
- remove : function(table, c, wo) {
132
- c.$table.removeClass(wo.reflow_className);
133
- },
134
- remove2 : function(table, c, wo) {
135
- c.$table.removeClass(wo.reflow2_className);
136
- }
137
- };
138
-
139
- ts.addWidget({
140
- id: "reflow",
141
- options: {
142
- // class name added to make it responsive (class name within media query)
143
- reflow_className : 'ui-table-reflow',
144
- // header attribute containing modified header name
145
- reflow_headerAttrib : 'data-name',
146
- // data attribute added to each tbody cell
147
- reflow_dataAttrib : 'data-title'
148
- },
149
- init: function(table, thisWidget, c, wo) {
150
- tablereflow.init(table, c, wo);
151
- },
152
- remove: function(table, c, wo){
153
- tablereflow.remove(table, c, wo);
154
- }
155
- });
130
+ },
131
+ remove : function(table, c, wo) {
132
+ c.$table.removeClass(wo.reflow_className);
133
+ },
134
+ remove2 : function(table, c, wo) {
135
+ c.$table.removeClass(wo.reflow2_className);
136
+ }
137
+ };
156
138
 
157
- ts.addWidget({
158
- id: "reflow2",
159
- options: {
160
- // class name added to make it responsive (class name within media query)
161
- reflow2_className : 'ui-table-reflow',
162
- // ignore header cell content with this class name
163
- reflow2_classIgnore : 'ui-table-reflow-ignore',
164
- // header attribute containing modified header name
165
- reflow2_headerAttrib : 'data-name',
166
- // class name applied to thead labels
167
- reflow2_labelClass : 'ui-table-cell-label',
168
- // class name applied to first row thead label
169
- reflow2_labelTop : 'ui-table-cell-label-top'
170
- },
171
- init: function(table, thisWidget, c, wo) {
172
- tablereflow.init2(table, c, wo);
173
- },
174
- remove: function(table, c, wo){
175
- tablereflow.remove2(table, c, wo);
176
- }
177
- });
139
+ ts.addWidget({
140
+ id: 'reflow',
141
+ options: {
142
+ // class name added to make it responsive (class name within media query)
143
+ reflow_className : 'ui-table-reflow',
144
+ // header attribute containing modified header name
145
+ reflow_headerAttrib : 'data-name',
146
+ // data attribute added to each tbody cell
147
+ reflow_dataAttrib : 'data-title'
148
+ },
149
+ init: function(table, thisWidget, c, wo) {
150
+ tablereflow.init(table, c, wo);
151
+ },
152
+ remove: function(table, c, wo){
153
+ tablereflow.remove(table, c, wo);
154
+ }
155
+ });
178
156
 
157
+ ts.addWidget({
158
+ id: 'reflow2',
159
+ options: {
160
+ // class name added to make it responsive (class name within media query)
161
+ reflow2_className : 'ui-table-reflow',
162
+ // ignore header cell content with this class name
163
+ reflow2_classIgnore : 'ui-table-reflow-ignore',
164
+ // header attribute containing modified header name
165
+ reflow2_headerAttrib : 'data-name',
166
+ // class name applied to thead labels
167
+ reflow2_labelClass : 'ui-table-cell-label',
168
+ // class name applied to first row thead label
169
+ reflow2_labelTop : 'ui-table-cell-label-top'
170
+ },
171
+ init: function(table, thisWidget, c, wo) {
172
+ tablereflow.init2(table, c, wo);
173
+ },
174
+ remove: function(table, c, wo){
175
+ tablereflow.remove2(table, c, wo);
176
+ }
177
+ });
179
178
 
180
179
  })(jQuery);