phot0n 430d7cfe48 fix: use custom formatter when filtering rows
As datatable renders only some rows at a time and sets each
cell's html property based on that rendering, so when someone
filters things and only looks at some rows without scrolling the whole
grid and tries to filter things (when there is a custom cell formatter),
they won't be able to see the data as the filtering is done based on cell's
content not html (as it's not set at that point)
2022-06-10 11:51:11 +05:30
2018-02-06 22:51:42 +05:30
2018-04-15 22:20:18 +05:30
2022-01-04 15:03:36 +05:30
2018-02-20 18:28:32 +05:30
2022-06-03 15:07:57 +05:30
2020-09-16 23:14:49 +05:30

Frappe DataTable

A modern datatable library for the web

Test and Release npm version MIT License npm bundle size (minified + gzip) semantic-release

Introduction

Frappe DataTable is a simple, modern and interactive datatable library for displaying tabular data. Originally built for ERPNext, it can be used to render large amount of rows without sacrificing performance and has the basic data grid features like inline editing and keyboard navigation. It does not require jQuery, unlike most data grids out there.

Demo

datatable-demo-2

Features

Cell Features

  • Custom Formatters
  • Inline Editing
  • Mouse Selection
  • Copy Cells
  • Keyboard Navigation
  • Custom Cell Editor

Column Features

  • Reorder Columns
  • Sort by Column
  • Remove / Hide Column
  • Custom Actions
  • Resize Column
  • Flexible Layout

Row Features

  • Row Selection
  • Tree Structured Rows
  • Inline Filters
  • Large Number of Rows
  • Dynamic Row Height

Install

yarn add frappe-datatable
# or
npm install frappe-datatable

Note: sortablejs is required to be installed as well.

Usage

const datatable = new DataTable('#datatable', {
  columns: [ 'First Name', 'Last Name', 'Position' ],
  data: [
    [ 'Don', 'Joe', 'Designer' ],
    [ 'Mary', 'Jane', 'Software Developer' ]
  ]
});

Contribution

  • yarn start - Start dev server
  • Open index.html located in the root folder, and start development.
  • Run yarn lint before committing changes
  • This project uses commitizen for conventional commit messages, use yarn commit command instead of git commit

Read the blog

Making a new datatable for the web

License

MIT

Description
The Missing Javascript Datatable for the Web
Readme MIT 3.9 MiB
Languages
JavaScript 86.4%
HTML 9.6%
CSS 4%