simple-datatables

A lightweight, dependency-free JavaScript HTML table plugin.
- Static
- Latest Patch
- Latest Minor
- Latest Major
- 10.0.0
- 9.2.2
- 9.2.1
- 9.2.0
- 9.1.0
- 9.0.4
- 9.0.3
- 9.0.2
- 9.0.1
- 9.0.0
- 8.0.1
- 8.0.0
- 7.3.0
- 7.2.0
- 7.1.2
- 7.1.1
- 7.1.0
- 7.0.3
- 7.0.2
- 7.0.1
- 7.0.0
- 6.0.8
- 6.0.7
- 6.0.6
- 6.0.5
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.2.2
- 3.2.0
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.2
- 3.0.1
- 3.0.0
- 2.1.13
- 2.1.12
- 2.1.11
- 2.1.10
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.0
- 1.7.9
- 1.7.8
- 1.7.6
- 1.7.5
- 1.7.4
- 1.7.3
- 1.7.2
- 1.7.1
- 1.7.0
- 7.0.0-rc.4
- 7.0.0-rc.3
- 7.0.0-rc.2
- 7.0.0-rc.1
- 7.0.0-rc.0
- 6.0.0-16
- 6.0.0-15
- 6.0.0-14
- 6.0.0-13
- 6.0.0-12
- 6.0.0-11
- 6.0.0-10
- 6.0.0-9
- 6.0.0-8
- 6.0.0-7
- 6.0.0-6
- 6.0.0-5
- 6.0.0-4
- 6.0.0-3
- 6.0.0-2
- 6.0.0-1
- 6.0.0-0
- 2.0.0-beta.1
- 2.0.0-beta.0
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 and the documentation 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/simple-datatables@6.0 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