File: /var/www/info.viitorcloud.in/wp-content/plugins/inline-google-spreadsheet-viewer/igsv-datatables.js
/**
* Inline Google Spreadsheet Viewer's DataTables integrations.
*
* @file Loads and applies DataTables to any tables on the page.
* @license GPL-3.0
* @author Meitar Moscovitz <meitarm+wordpress@gmail.com>
* @copyright Copyright 2017 by Meitar "maymay" Moscovitz
*/
(function () { // start immediately-invoked function expresion (IIFE)
// DataTables
jQuery(document).ready(function () {
// Set/load defaults.
if (igsv_plugin_vars.datatables_defaults_object) {
jQuery.extend(jQuery.fn.dataTable.defaults, igsv_plugin_vars.datatables_defaults_object);
} else {
igsv_plugin_vars.datatables_defaults_object = {};
}
// Initialize tables.
jQuery(igsv_plugin_vars.datatables_classes).each(function () {
var table = jQuery(this);
var dt_opts = {};
if (jQuery.fn.dataTable.defaults.buttons) { // apply defaults for Buttons
dt_opts.buttons = jQuery.fn.dataTable.defaults.buttons
}
if (false === table.hasClass('no-responsive')) {
dt_opts.responsive = true;
}
if (table.attr('lang')) {
dt_opts.language = {
'url': igsv_plugin_vars.lang_dir + '/datatables-' + table.attr('lang') + '.json'
}
}
table.DataTable(dt_opts);
var x;
if (table.is('.FixedHeader')) {
new jQuery.fn.dataTable.FixedHeader(table);
} else if (x = this.className.match(/FixedHeader-(top|right|footer|left)/g)) {
for (var i = 0; i < x.length; i++) {
var side = x[i].split('-')[1];
var fheader_opts = {};
fheader_opts[side] = true;
}
new jQuery.fn.dataTable.FixedHeader(table, fheader_opts);
} else if (table.is('.FixedColumns')) {
new jQuery.fn.dataTable.FixedColumns(table);
} else if (x = this.className.match(/FixedColumns-(left|right)-([0-9])*/g)) {
var l_n = 0;
var r_n = 0;
for (var i = 0; i < x.length; i++) {
var z = x[i].split('-');
if ('left' === z[1]) {
l_n = z[2];
} else {
r_n = z[2];
}
}
new jQuery.fn.dataTable.FixedColumns(table, {
'leftColumns': l_n,
'rightColumns': r_n
});
}
});
});
})(); // end IIFE