1.2.0 • Published 1 year ago
@aodin/tablesorter v1.2.0
tablesorter
Native JS tablesorter. View a live example.
Install with:
npm i @aodin/tablesorterA minified JS file and map is included in the dist directory along with optional CSS styles.
Usage
Tables must be initialized before sorting is active.
tablesorter.New(document.getElementById("table"))Or to initialize all tables with a certain class, such as tablesorter:
document.querySelectorAll(".tablesorter").forEach(elem => tablesorter.New(elem))Column types can be explicitly set using a data-type attribute on the th element. For example:
<th data-type="numeric">Data</th>To prevent a column from being sortable, add a no-sort class to the th element.
Sorting can also be performed with the sortAsc and sortDesc methods:
const table = tablesorter.New(elem)
table.sortAsc(1)
table.sortDesc(1)Project summary
- Native JS with no dependencies
- About 1kb minified and compressed
- Module and ES6 export based file structure
- Simple class-based states:
active,asc,desc - Reads from either the data attribute
data-valueor HTML inner text - Uses local string comparison
- Default sort for text columns is ascending, default sort for numeric is descending
- Table fires a
sortevent when sorted, which includes col and asc details - Includes example Sass and CSS styles
- MIT license
Development
Test with:
npm testBuild with:
npm run buildHappy hacking!
aodin, 2024