Sha256: e8fbf2367555485152d1b3e6f21194b2e2b1027dfceb87569c471b1faa888de7

Contents?: true

Size: 1.56 KB

Versions: 21

Compression:

Stored size: 1.56 KB

Contents

/*! tablesorter repeatHeaders widget - updated 4/12/2013
* Requires tablesorter v2.8+ and jQuery 1.7+
* Original by Christian Bach from the example-widgets.html demo
*/
/*global jQuery: false */
;(function($){
	"use strict";

	$.tablesorter.addWidget({
		id: "repeatHeaders",
		priority: 10,
		options: {
			rowsToSkip : 4
		},
		// format is called on init and when a sorting has finished
		format: function(table, c, wo) {
			var h = '', i, $tr, l, skip;
			// cache and collect all TH headers
			if (!wo.repeatHeaders) {
				h = '<tr class="repeated-header remove-me">';
				$.each(c.headerContent, function(i,t) {
					h += '<th>' + t + '</th>';
				});
				// "remove-me" class was added in case the table needs to be updated, the "remove-me" rows will be
				// removed prior to the update to prevent including the rows in the update - see "selectorRemove" option
				wo.repeatHeaders = h + '</tr>';
			}

			// number of rows to skip
			skip = wo && wo.rowsToSkip || 4;

			// remove appended headers by classname
			c.$table.find("tr.repeated-header").remove();
			$tr = c.$tbodies.find('tr');
			l = $tr.length;
			// loop all tr elements and insert a copy of the "headers"
			for (i = skip; i < l; i += skip) {
				// insert a copy of the table head every X rows
				$tr.eq(i).before(wo.repeatHeaders);
			}
		},
		// this remove function is called when using the refreshWidgets method or when destroying the tablesorter plugin
		// this function only applies to tablesorter v2.4+
		remove: function(table, c){
			c.$table.find("tr.repeated-header").remove();
		}

	});

})(jQuery);

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
jquery-tablesorter-1.12.8 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.12.7 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.12.6 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.12.5 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.12.4 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.12.3 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.12.2 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.12.1 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.12.0 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.11.2 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.11.1 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.11.0 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.10.10 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.10.9 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.10.8 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.10.7 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.10.6 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.10.5 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.10.4 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js
jquery-tablesorter-1.10.3 vendor/assets/javascripts/jquery-tablesorter/widgets/widget-repeatheaders.js