simple-datatables
A lightweight, extendable, JavaScript HTML table library written in TypeScript and transpilled to Vanilla JavaScript. Similar to jQuery DataTables for use in modern browsers, but without the jQuery dependency.
Examples / Demos
See the demos here.
Upgrading
For upgrading from one major version to another, check the upgrade guide: https://fiduswriter.github.io/simple-datatables/documentation/Upgrading
Note: The upgrade from version 5 version 6 is the most complicated upgrade so far. Please read through the instructions before filing complaints. If you run simple-datatables from a CDN, make sure that you have fixed it to a specific major or minor version so that you do not accidentally upload to a new version that requires you to do lots of manual adjustments.
CDN
To use the CDN version of simple-datatables use either https://cdn.jsdelivr.net/npm/simple-datatables@latest or https://unpkg.com/simple-datatables. You also need to add the CSS styling, so the elements you'll add to html head element can for example be these:
Note: For production websites, specify a specific major version. For example https://cdn.jsdelivr.net/npm/simple-datatables@6 for the latest version in the 6.x.x series or https://cdn.jsdelivr.net/npm/[email protected] for the latest version in the 6.0.x series.
<link href="https://cdn.jsdelivr.net/npm/simple-datatables@latest/dist/style.css" rel="stylesheet" type="text/css">
<script src="https://cdn.jsdelivr.net/npm/simple-datatables@latest" type="text/javascript"></script>
License
LGPL
Features
- Sortable/filterable columns
- Pagination
- Searchable
- Customisable layout
- Customisable labels
- Customise column rendering
- Export to common formats like
csv
,txt
,json
, andsql
- Import
csv
andjson
data - Control column visibility
- Reorder or swap columns
- dayjs integration for sorting columns with datetime strings
- Using diffDOM for faster DOM updates.
simple-datatables Documentation
History
This project started as a fork of Vanilla-DataTables, but it has since been converted to TypeScript.
If you want a version that works in very old browsers (IE, etc.), then head over to https://github.com/fiduswriter/simple-datatables-classic .
Install
npm
npm install simple-datatables --save
Yarn
yarn add simple-datatables
Quick Start
Then just initialise the plugin by import DataTable and either passing a reference to the table or a CSS3 selector string as the first parameter:
import {DataTable} from "simple-datatables"
const myTable = document.querySelector("#myTable");
const dataTable = new DataTable(myTable);
// or
const dataTable = new DataTable("#myTable");
You can also pass the options object as the second parameter:
import {DataTable} from "simple-datatables"
const dataTable = new DataTable("#myTable", {
searchable: false,
fixedHeight: true,
...
})
If using the CDN:
const dataTable = new simpleDatatables.DataTable("#myTable", {
searchable: false,
fixedHeight: true,
...
})
How to contribute?
- Fork the repository
- Create a sub-branch
- Clone the sub-branch to your local system
- Install NodeJS
- Open the project in a code editor (for example Visual Studio Code or Pulsar Edit)
- Open the Terminal
- Run
npm install
in the Terminal - Start making changes and contributing to the project ๐
- You can run
npm run test_server
to test your code. This runs on port 3000 (http://localhost:3000/) - You can also run
npm run build
in the Terminal to build the final files - Once finished, then commit/push your code and create a Pull Request on GitHub for the changes