Skip to content
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

Datatable component #132

Open
certainlyakey opened this issue Jul 25, 2023 · 1 comment
Open

Datatable component #132

certainlyakey opened this issue Jul 25, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@certainlyakey
Copy link
Contributor

certainlyakey commented Jul 25, 2023

Summary

There's a need for a component supporting complex and dynamic tables with features like:

  • Sorting
  • Global filtering
  • Frozen/pinned columns
  • Selectable rows (rows with checkboxes)
  • Nested tables
  • Row editing

etc.

What alternatives have you tried?

The existing cvi-ng-table component is good for static tables. It also uses a visual design which is outdated by now. It could still be kept for simple solutions and backward compatibility.

Does this feature request involve any updates to the reference design?

No

Implementation details

Here're some technical prerequisites for the component architecture and requirements in case a third party dependency is used:

  • accessibility – the component should be perfectly accessible and ideally should use table markup (read this for an explanation);
  • if a third party dependency is used, it should have all of its own styles removed to provide maximum flexibility for CVI's own styling and zero conflicts with other frameworks' implementations of the same styles;
  • it should provide custom template options (eg component API should allow to project HTML to a cell);
  • it should work in tandem with other CVI components (eg pagination should be exported as a separate component, and it should be abstract enough to be usable within other contexts as well);
  • component usage and API should be as simple and intuitive as possible;
  • it should be easy to extend with new functionality (eg virtual scrolling, single cell editing, etc).

if a third party dependency is used, the component should be implemented as a separate package within this repo so that the dependency would end up installed only to a project which explicitly wishes to use the component.

@certainlyakey certainlyakey added the enhancement New feature or request label Jul 25, 2023
@certainlyakey
Copy link
Contributor Author

@helemand

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant