Go to file
Max Guglielmi 8af1cab7ff Added missing source maps 2016-12-24 23:55:31 +11:00
dist Added missing source maps 2016-12-24 23:55:31 +11:00
libs Added selection grid demo, removed old demos 2015-07-11 20:38:36 +10:00
src Addressed destroy TODO 2016-12-24 23:35:26 +11:00
static Unrelate: fixed in linked filters disabled demo column types 2016-12-01 21:34:03 +11:00
test Addressed destroy TODO 2016-12-24 23:35:26 +11:00
.editorconfig Renamed long custom event names, added hashchange event 2016-03-16 18:08:26 +11:00
.eslintrc Added missing source maps 2016-12-24 23:55:31 +11:00
.gitignore Added missing source maps 2016-12-24 23:55:31 +11:00
.travis.yml Modified travis yaml 2016-12-07 23:54:13 +11:00
CONTRIBUTING.md Updated README 2016-11-26 20:30:00 +11:00
Gruntfile.js Added and configured isparta and codecov (1) 2016-12-07 23:48:28 +11:00
LICENSE Fixed clear all filters functionality when linked filters is on 2015-10-17 19:49:38 +11:00
README.md Added codecov badge 2016-12-08 00:16:14 +11:00
index.js Added index.js 2016-09-07 21:37:22 +10:00
package.json Addressed destroy TODO 2016-12-24 23:35:26 +11:00
webpack.config.js Addressed destroy TODO 2016-12-24 23:35:26 +11:00
webpack.test.config.js Testing codecov 2016-12-08 14:21:39 +11:00

README.md

Build Status Document codecov

TableFilter

A Javascript library making HTML tables filterable

TableFilter is a modernised version of the HTML Table Filter generator javascript plugin. This library adds to any html table a "filter by column" feature that enables users to filter and limit the data displayed within a long table. By default, the script automatically adds a filter grid bar at the top of the desired table.

Features

  • Convert a regular HTML table into an advanced grid component providing:
    • Advanced columns filtering model
    • Sorting and pagination capabilities
    • Complete selection model (ezEditTable extension)
    • Extended keyboard navigation (ezEditTable extension)
    • Inline cell or row editing (ezEditTable extension)
    • Row insertion or deleting (ezEditTable extension)
    • And even more features...
  • Attach to an existing HTML table
  • Integration with any server-side technology as this is a pure client-side solution
  • Exhaustive documentation and poweful API

Getting started

  • Clone the repo using Git:
git clone https://github.com/koalyptus/TableFilter.git
  • You can download this repository.

  • Alternatively, install TableFilter files in your npm enabled project using:

npm install tablefilter --save
  • or get the future features from the next release channel:
npm install tablefilter@next --save

Setup

Copy the tablefilter directory under dist and place it at desired location in your project. Then include the main js file in your page:

<script src="path/to/my/scripts/tablefilter/tablefilter.js"></script>

Place the following snippet just under the HTML table and always define a base_path property in the configuration object to reflect the path to the script

<script>
var tf = new TableFilter(document.querySelector('.my-table'), {
    base_path: 'path/to/my/scripts/tablefilter/'
});
tf.init();
</script>

If the base_path property is not specified, it will default to /tablefilter directory:

your-page.html
 |— tablefilter

Development

This project requires node.js and Grunt to be installed:

  • install node.js
  • install Grunt from the command line using npm (comes with node.js):
npm install -g grunt-cli

Once Grunt is sorted out you can follow the instructions below. Start by installing any dependencies.

npm install

Use

npm run dev

command to launch a build / watch cycle and start the local sever on port 8080.

Use

npm run build

command to generate a production build.

The

npm run build-all

command will create a production build, run the tests and finally generate the demos:

To run all the tests and generate the coverage report:

npm test

or to run specific test(s):

grunt test-only:test.html
grunt test-only:test.html,test-sort.html

to view the coverage report(s), open the index.html under the report/coverage folder or online.

Demos

Check out the online examples or generate the demos locally:

npm run build-demos

then run the local webserver:

npm start

then pick a demo from:

http://localhost:8080/demos/

Documentation

Find exhaustive documentation on the configuration options in the WIKI section.

Autogenerated documentation of the ES6 modules is available on the website: docs

If you previously used the HTML Table Filter Generator plugin, verify the configuration options you are using are still supported: Obsolete

Run this task to generate the documentation in the docs/docs directory:

npm run esdoc

Support

  • GitHub for reporting bugs and feature requests.

License

MIT