Skip to content

Datatable component #132

Description

@certainlyakey

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions