A simple lightweight jQuery or Vanilla JS responsive table library. A library to setup tables for a basic responsive table stucture. Utilizing the techniques of http://css-tricks.com/responsive-data-tables/. This is to assists in those situations where the users don't necessarily have access or capacity to modify HTML such as input from a WYSIWYG.
The jQuery version remains the same as 1.0.0. While the source remains unchanged there are three things to note when upgrading:
- Distribution files are no longer in the root directory, they've moved to
/dist/js/jquery.basictable.js
and/dist/js/jquery.basictable.min.js
, - The non-minified version is now a beautified version rather than the source file, and
- The minified version is no longer compressed with uglifyjs, it's compressed using Tercer.
These changes should have no impact on the way it functions in comparison with 1.x.
Include the CSS and jQuery library in the <head>
of your page.
<link rel="stylesheet" type="text/css" href="basictable.min.css" />
<script src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.basictable.min.js"></script>
Initiate on any table(s) with:
$('table').basictable();
Include the CSS and basictable library in the <head>
of your page.
<link rel="stylesheet" type="text/css" href="basictable.min.css" />
<script type="text/javascript" src="basictable.min.js"></script>
Initiate on any table(s) with:
new basictable('table');
Options are applicable to both the jQuery and Vanilla JS.
integer
default: null
Define the breakpoint (viewport's width) when the table will engage in responsive mode. If the containerBreakpoint
is null
(which is the default) the value will be 568px.
integer
default: null
Define the breakpoint of the table's container when the table will engage in responsive mode.
boolean
default: true
Wraps the original content within the cell in a span with class .bt-content, to help with CSS selection.
boolean
default: true
The library will always force the table into responsive mode once the breakpoint is met. If this is set to false the table will only change mode when the table itself is larger than its immediate parent's inner width.
boolean
default: false
Disable Basic Table's JS resize. The table won't engage in responsive mode unless media query or another resize bind outside of Basic Table is defined.
boolean
default: false
When the library is initialize create a div wrapper around the table with class .bt-wrapper. This wrapper will toggle an active class when the table mode changes.
boolean
default: false
When true, empty cells will be shown.
boolean
default: true
Set to false if table does not have a header row. Table will just be responsive with table body and optional footer.
Engage the table in responsive mode. This method can only run after the table has been initialized.
$('table').basictable('start');
Toggle the table back to normal mode, removing the responsive look. This does not destory the Basic Table data and wrappers. The table will still work once the breakpoint is met.
$('table').basictable('stop');
Destroy the the responsive bind on the table. This will remove all data and generated wrappers from the table, returning it to its initial state.
$('table').basictable('destroy');
Run destroy
, setup
then check
without resetting the table data. Run this if the table dynamically updates.
$('table').basictable('restart');
Methods demonstrated assuming you've defined the object as table
.
const table = new basictable('.table');
Engage the table in responsive mode. This method can only run after the table has been initialized.
table.start();
Toggle the table back to normal mode, removing the responsive look. This does not destory the Basic Table data and wrappers. The table will still work once the breakpoint is met.
table.stop();
Destroy the the responsive bind on the table. This will remove all data and generated wrappers from the table, returning it to its initial state.
table.destroy();
Run destroy
, setup
then check
without resetting the table data. Run this if the table dynamically updates.
table.restart();