Skip to content
This repository has been archived by the owner on Oct 21, 2023. It is now read-only.

dc-js/dc.datatables.js

Repository files navigation

dc.datatables.js

NOTE: This library is archived, as it was an incomplete demo and I (Gordon) have moved on. If you are interested in reviving and maintaining this library in the dc-js organization, please reach out to me via my email in bio.

The intent of this project is to integrate the powerful UI, styling, and plugins of DataTables with dc.js filtered data.

Demo using the dc.js stock example, but displaying the data with a DataTable.

NOTE: dc-tableview has a lot more features than this library, check it out!

Instead of generating an HTML table using dc.dataTable and then converting the DOM elements to a DataTable, use dc.datatables.js to import the data programmatically. This should be faster and less error-prone.

Implementation:

  • .render() creates the DataTable object and maps columns defined similar to those in dc.dataTable
  • .redraw() pulls all the data (.top(Infinity) from the dimension and puts it into the DataTable using rows.add()
  • .dt() fetches the underlying DataTable object for further customization.

For control over column formatting and behavior, use the object form of columns

  • columns.type, used for sorting, is 'num' by default; use type to override this
  • columns.name, used as a unique id, is read from the label
  • columns.title, used to provide heading text, is read from the label and capitalized
  • columns.render, used to fetch and format the data, uses the function format

In limited cases, you can also use the string form of columns. This will read the field with that name, use the default numeric ordering

See something missing? File an issue on this repo, or even better, fork this project and file a pull request!