JSFiddle - React, Tailwind, and code Playground
HTML
<body>
<div class="row">
<div id="admin" class="col s12">
<div class="card material-table">
<div class="table-header">
<span class="table-title">Material DataTable</span>
<div class="actions">
<a href="#add_users" class="modal-trigger waves-effect btn-flat nopadding"><i class="material-icons">person_add</i></a>
<a href="#" class="search-toggle waves-effect btn-flat nopadding"><i class="material-icons">search</i></a>
</div>
</div>
<table id="datatable">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</body>
JavaScript
(function(window, document, undefined) {
var factory = function($, DataTable) {
"use strict";
$('.search-toggle').click(function() {
if ($('.hiddensearch').css('display') == 'none')
$('.hiddensearch').slideDown();
else
$('.hiddensearch').slideUp();
});
/* Set the defaults for DataTables initialisation */
$.extend(true, DataTable.defaults, {
dom: "<'hiddensearch'f'>" +
"tr" +
"<'table-footer'lip'>",
renderer: 'material'
});
/* Default class modification */
$.extend(DataTable.ext.classes, {
sWrapper: "dataTables_wrapper",
sFilterInput: "form-control input-sm",
sLengthSelect: "form-control input-sm"
});
/* Bootstrap paging button renderer */
DataTable.ext.renderer.pageButton.material = 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, counter = 0;
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 'first':
btnDisplay = lang.sFirst;
btnClass = button + (page > 0 ?
'' : ' disabled');
break;
case 'previous':
btnDisplay = '<i class="material-icons">chevron_left</i>';
btnClass = button + (page > 0 ?
'' : ' disabled');
...