lib/table_beet/formatters/html_template/data/js/plugins/jquery.responsiveTables.js
// Generated by CoffeeScript 1.4.0
/*
*
* jQuery ResponsiveTables by Gary Hepting - https://github.com/ghepting/responsiveTables
*
* Open source under the BSD License.
*
* Copyright © 2013 Gary Hepting. All rights reserved.
*
*/
(function() {
(function($) {
var elems;
elems = [];
$.fn.responsiveTable = function(options) {
var settings;
settings = {
compressor: options.compressor || 10,
minSize: options.minSize || Number.NEGATIVE_INFINITY,
maxSize: options.maxSize || Number.POSITIVE_INFINITY,
padding: 2,
height: "auto",
adjust_parents: true
};
return this.each(function() {
var columns, elem, fontSize, rows;
elem = $(this);
elem.attr('data-compression', settings.compressor);
elem.attr('data-min', settings.minSize);
elem.attr('data-max', settings.maxSize);
elem.attr('data-padding', settings.padding);
columns = $("tr", elem).first().children("th, td").length;
rows = $("tr", elem).length;
if (settings.height !== "auto") {
$this.css("height", settings.height);
if (settings.adjust_parents) {
$this.parents().each(function() {
return $(this).css("height", "100%");
});
}
}
$("tr th, tr td", elem).css("width", Math.floor(100 / columns) + "%");
$("tr th, tr td", elem).css("height", Math.floor(100 / rows) + "%");
fontSize = Math.floor(Math.max(Math.min(elem.width() / settings.compressor, parseFloat(settings.maxSize)), parseFloat(settings.minSize)));
$("tr th, tr td", elem).css("font-size", fontSize + "px");
return elems.push(elem);
});
};
return $(window).on("resize", function() {
return $(elems).each(function() {
var elem, fontSize;
elem = $(this);
fontSize = Math.floor(Math.max(Math.min(elem.width() / (elem.attr('data-compression')), parseFloat(elem.attr('data-max'))), parseFloat(elem.attr('data-min'))));
return $("tr th, tr td", elem).css("font-size", fontSize + "px");
});
});
})(jQuery);
}).call(this);