package.js.dataTables.bootstrap.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of datatables.net-bs Show documentation
Show all versions of datatables.net-bs Show documentation
DataTables for jQuery with styling for [Bootstrap](https://getbootstrap.com/docs/3.3/)
The newest version!
/*! DataTables Bootstrap 3 integration
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document ) {
'use strict';
var DataTable = $.fn.dataTable;
/**
* DataTables integration for Bootstrap 3.
*
* This file sets the defaults and adds options to DataTables to style its
* controls using Bootstrap. See https://datatables.net/manual/styling/bootstrap
* for further information.
*/
/* Set the defaults for DataTables initialisation */
$.extend( true, DataTable.defaults, {
renderer: 'bootstrap'
} );
/* Default class modification */
$.extend( true, DataTable.ext.classes, {
container: "dt-container form-inline dt-bootstrap",
search: {
input: "form-control input-sm"
},
length: {
select: "form-control input-sm"
},
processing: {
container: "dt-processing panel panel-default"
},
layout: {
row: 'row dt-layout-row',
cell: 'dt-layout-cell',
tableCell: 'col-12',
start: 'dt-layout-start col-sm-6',
end: 'dt-layout-end col-sm-6',
full: 'dt-layout-full col-sm-12'
}
} );
/* Bootstrap paging button renderer */
DataTable.ext.renderer.pagingButton.bootstrap = function (settings, buttonType, content, active, disabled) {
var btnClasses = ['dt-paging-button', 'page-item'];
if (active) {
btnClasses.push('active');
}
if (disabled) {
btnClasses.push('disabled')
}
var li = $('').addClass(btnClasses.join(' '));
var a = $('', {
'href': disabled ? null : '#',
'class': 'page-link'
})
.html(content)
.appendTo(li);
return {
display: li,
clicker: a
};
};
DataTable.ext.renderer.pagingContainer.bootstrap = function (settings, buttonEls) {
return $('
').addClass('pagination').append(buttonEls);
};
return DataTable;
}));