/*! DataTables Bootstrap 3 integration * ©2011-2014 SpryMedia Ltd - datatables.net/license */ /** * DataTables integration for Bootstrap 3. This requires Bootstrap 3 and * DataTables 1.10 or newer. * * This file sets the defaults and adds options to DataTables to style its * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap * for further information. */ (function (window, document, undefined) { var factory = function ($, DataTable) { "use strict"; /* Set the defaults for DataTables initialisation */ $.extend(true, DataTable.defaults, { dom: "<'row'<'col-sm-6'l><'col-sm-6'f>>" + "<'row'<'col-sm-12'tr>>" + "<'row'<'col-sm-6'i><'col-sm-6'p>>", renderer: 'bootstrap' }); /* Default class modification */ $.extend(DataTable.ext.classes, { sWrapper: "dataTables_wrapper form-inline dt-bootstrap", sFilterInput: "form-control input-sm", sLengthSelect: "form-control input-sm" }); /* Bootstrap paging button renderer */ DataTable.ext.renderer.pageButton.bootstrap = function (settings, host, idx, buttons, page, pages) { var api = new DataTable.Api(settings); var classes = settings.oClasses; var lang = settings.oLanguage.oPaginate; var btnDisplay, btnClass; var attach = function (container, buttons) { var i, ien, node, button; var clickHandler = function (e) { e.preventDefault(); if (!$(e.currentTarget).hasClass('disabled')) { api.page(e.data.action).draw(false); } }; for (i = 0, ien = buttons.length; i < ien; i++) { button = buttons[i]; if ($.isArray(button)) { attach(container, button); } else { btnDisplay = ''; btnClass = ''; switch (button) { case 'ellipsis': btnDisplay = '…'; btnClass = 'disabled'; break; case 'first': btnDisplay = lang.sFirst; btnClass = button + (page > 0 ? '' : ' disabled'); break; case 'previous': btnDisplay = lang.sPrevious; btnClass = button + (page > 0 ? '' : ' disabled'); break; case 'next': btnDisplay = lang.sNext; btnClass = button + (page < pages - 1 ? '' : ' disabled'); break; case 'last': btnDisplay = lang.sLast; btnClass = button + (page < pages - 1 ? '' : ' disabled'); break; default: btnDisplay = button + 1; btnClass = page === button ? 'active' : ''; break; } if (btnDisplay) { node = $('
  • ', { 'class': classes.sPageButton + ' ' + btnClass, 'aria-controls': settings.sTableId, 'tabindex': settings.iTabIndex, 'id': idx === 0 && typeof button === 'string' ? settings.sTableId + '_' + button : null }) .append($('', { 'href': '#' }) .html(btnDisplay) ) .appendTo(container); settings.oApi._fnBindAction( node, { action: button }, clickHandler ); } } } }; attach( $(host).empty().html('