• Stars
    star
    1,381
  • Rank 34,057 (Top 0.7 %)
  • Language
    TypeScript
  • License
    Other
  • Created over 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DataTables but in TypeScript transpiled to Vanilla JS

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, and sql
  • Import csv and json 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?

  1. Fork the repository
  2. Create a sub-branch
  3. Clone the sub-branch to your local system
  4. Install NodeJS
  5. Open the project in a code editor (for example Visual Studio Code or Pulsar Edit)
  6. Open the Terminal
  7. Run npm install in the Terminal
  8. Start making changes and contributing to the project ๐Ÿ™‚
  9. You can run npm run test_server to test your code. This runs on port 3000 (http://localhost:3000/)
  10. You can also run npm run build in the Terminal to build the final files
  11. Once finished, then commit/push your code and create a Pull Request on GitHub for the changes

More Repositories

1

diffDOM

A diff for DOM elements, as client-side JavaScript code. Gets all modifications, insertions and removals between two DOM fragments.
HTML
816
star
2

fiduswriter

Fidus Writer is an online collaborative editor for academics.
JavaScript
518
star
3

biblatex-csl-converter

A set of JavaScript converters: bib(la)tex => json, json => csl, and json => biblatex
TypeScript
34
star
4

paginate-for-print

paginate-for-print is trying to recreate some of the basic features of pagination.js without using CSS Regions with a focus on Chrome, Firefox, Safari and Edge.
JavaScript
25
star
5

Simple-DataTables-classic

a version of Simple-DataTables for older browsers
JavaScript
19
star
6

pagination.js

pagination.js is a Javascript library that can be included in HTML files to render the contents of the HTML to pages that can be printed to PDF using CSS Regions. It requires a browser with support for CSS Regions.
JavaScript
15
star
7

mathml2omml

Convert MathML to OMML using only JavaScript
JavaScript
13
star
8

django-npm-mjs

A Django package to take care of npm.js ES2016+ dependencies
Python
9
star
9

fiduswriter-languagetool

JavaScript
8
star
10

prosemirror-python

Python translation of prosemirror parts needed to modify a document in Python
Python
6
star
11

fiduswriter-docker

Python
4
star
12

citeproc-plus

Citeproc-js + citation styles bundled
JavaScript
3
star
13

fiduswriter-books

A Fidus Writer plugin to create books and article collections
JavaScript
2
star
14

styles

style files to be used in Fidus Writer
CSS
1
star
15

ojs-fiduswriter

A Open Journal Systems (OJS) plugin to connect to Fidus Writer
PHP
1
star
16

fiduswriter-ojs

A Fidus Writer plugin to connect to the Open Journal Systems (OJS)
Python
1
star
17

fiduswriter-snap

Snapcraft build instructions for Fidus Writer (work in progress)
Shell
1
star