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

Deangularize data table visualization #64444

Closed
flash1293 opened this issue Apr 24, 2020 · 3 comments · Fixed by #70801
Closed

Deangularize data table visualization #64444

flash1293 opened this issue Apr 24, 2020 · 3 comments · Fixed by #70801
Assignees
Labels
Feature:Data Table Data table visualization feature Team:Visualizations Visualization editors, elastic-charts and infrastructure

Comments

@flash1293
Copy link
Contributor

The data table visualization https://github.com/elastic/kibana/tree/master/src/plugins/vis_type_table is currently implemented using angular which is bootstrapped when a table is rendered somewhere. To modernize the look and feel as well as to get rid of the angular dependency, it should be replaced by the data grid component: https://elastic.github.io/eui/#/tabular-content/data-grid. The features offered by the table visualization should stay the same (no changes to the available options).

Features of the rendered table

Screenshot 2020-04-24 at 18 03 24

  • Sort by column
  • Show total row below (but on each page)
  • Pagination
  • Data export as csv
  • Split table (either in columns or in rows)
  • Show calculated percentage column

Screenshot 2020-04-24 at 18 06 35

  • When hovering over a bucket column, show filters buttons to filter by the value in the cell

Implementation hints

Datagrid doesn't support "splitted" grids, so the visualization renderer has to render multiple data grid components and layout them itself when the "split table" feature is used.

Datagrid supports sorting out of the box, so we can leverage that. One thing to keep in mind - the sorting of splitted tables has to be kept consistent

Filter buttons per cell should be shown on hover (like in current table) and in the popover using the popoverContents property as well for keyboard-oriented usage.

The total row is not possible in the EUI component at the moment, please focus on the other parts of the visualization first.

The main entrypoint which is initializing angular and calling it to render the visualization is located in https://github.com/elastic/kibana/blob/master/src/plugins/vis_type_table/public/vis_controller.ts The render function in there should render the react component with ReactDom.render().

@flash1293 flash1293 added Feature:Data Table Data table visualization feature Team:Visualizations Visualization editors, elastic-charts and infrastructure labels Apr 24, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app (Team:KibanaApp)

@flash1293
Copy link
Contributor Author

cc @kertal @dziyanadzeraviankina

@kertal
Copy link
Member

kertal commented Apr 27, 2020

related: #51531

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Data Table Data table visualization feature Team:Visualizations Visualization editors, elastic-charts and infrastructure
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants