Skip to content

[Lens] Replace basic table with EuiDataGrid #72504

@wylieconlon

Description

@wylieconlon

Edit: Discussion concluded and this is now a recommended improvement that is not really a new feature, but tech debt we should tackle

The current Lens table implementation is very simple and supports no interactivity or custom styling. There are three elements to the discussion of replacing the Lens table with a more powerful table:

  • Are there product requirements that aren't supported by the basic table, but are supported by the data grid?
  • Technical requirements for the table
  • Consistency across Kibana

Unless there is a strong reason to use the data grid in one of these categories, Lens should not switch.

Product requirements that might need to be supported

Based on the table features for Lens:

Feature Basic table Data grid
Changing sort order from table Lens is not using this feature, but could Yes
Align numbers to the right Lens is not using this feature, but could Yes
Reordering columns via drag & drop - Yes, but in a separate menu, WIP PR for in-header
Changing column width - Yes
Subtotal rows Yes, can add a footer row WIP PR
Hierarchical display - -
Grouped rows - -
Full pivot table support - -
Colored backgrounds Yes Yes
Infinite scroll Yes Not yet
Cell-level widgets Yes Yes

The main difference is therefore support for changing column width, reordering columns, and subtotal rows.

Technical requirements

The EuiDataGrid must be performant and stable before we switch.

Consistency across Kibana

Currently, the EuiBasicTable is used in every table visualization that can be embedded in a dashboard, except for the upcoming Discover implementation. If we make a change only in Lens, will this introduce inconsistency?


Conclusion

Based on this analysis of the requirements for Lens tables, I do not think that the benefits outweigh the costs of switching.

cc @elastic/eui-design

Metadata

Metadata

Assignees

Labels

Feature:LensTeam:VisualizationsTeam label for Lens, elastic-charts, Graph, legacy editors (TSVB, Visualize, Timelion) t//technical debtImprovement of the software architecture and operational architecture

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions