-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate use of DataTables library #237
Comments
I would like to contribute to this. @PhilippWendler Can you please guide me through this and suggest where should I start from. |
Well the goal of this is to investigate if the use of a library like DataTables can make our tables like this example render faster (even if the table has 20 columns with 10000 rows) and be more user-friendly. There is a template with all the JavaScript code from which these tables are generated. For testing, a somewhat larger table than the example table can be generated by running |
This provides a complete rewrite of the HTML tables that `table-generator` produces. Instead of statically creating a HTML `<table>`, we now insert the data as JSON and use [React](https://reactjs.org/) to render a table dynamically. Furthermore, all the spaghetti code for interactive features like plots is now completely replaced by a proper architecture using React components, and there exists infrastructure to test this. Some new features like better row filters and improvements have also been added based on a user study. But the main advantage is that it is now possible to open large tables in browsers without long waiting periods. The studies and the rewrite were done by @bschor and a report about this is available as her [Bachelor's thesis](https://www.sosy-lab.org/research/bsc/2019.Bschor.Modern_Architecture_and_Improved_UI_for_Tables_of_BenchExec.pdf). Users who whish to continue using the old tables can pass `--static-table` to `table-generator`, but we expect this to be removed in BenchExec 3.0. Fixes #130 (sorting added) Fixes #423 (summary tab with only header and footer of table added) Closes #123 (all Javascript is now bundled in the HTML file) Closes #195 (all Javascript is now bundled in the HTML file) Closes #214 (filtering is now longer in an overlay, and much faster anyway) Closes #237 ([react-table](https://www.npmjs.com/package/react-table) is used) Closes #296 (main table has only small header, full header is shown on summary tab) Closes #297 (main table has only small header, full header is shown on summary tab) Closes #375 (no longer applicable)
The DataTables library seems to be a powerful JavaScript library for tables, providing a lot of features that we have currently implemented ourselves or which would be nice to have:
We should probably use this library in the HTML tables.
The text was updated successfully, but these errors were encountered: