-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Data table] Reactify & EUIficate the visualization #70801
Conversation
…table # Conflicts: # src/plugins/vis_type_table/public/table_vis_type.ts
…table # Conflicts: # package.json
# Conflicts: # src/plugins/vis_type_table/public/agg_table/_agg_table.scss # src/plugins/vis_type_table/public/agg_table/agg_table.js # src/plugins/vis_type_table/public/paginated_table/rows.js # src/plugins/vis_type_table/public/vis_controller.ts
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@flash1293 |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This LGTM
The following things are not working perfectly, but I would be fine with merging:
- Weird behavior on row split: Resizing columns is very slow and has the chart moving for multiple seconds. Table are not always sized the same (sometimes very narrow, sometimes taking 100% of the width)
- Column width / sorting not tied to column, but to index, causing some inconsistencies (e.g. not possible to reset column width to auto)
- Some small EUI data grid problems (typings not matching, sorting popovers not closing) (edited)
- Density settings has been removed
We still should decide on the name of the "toolbar flag" it's just controlling the csv export button now, but I don't think an additional round of review will be necessary
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanx @sulemanof I tested it and it works now 🎉
Datatable seems to work as expected, I don't like a lot how it behaves on split tables but it seems fine for now 🙂 ++ for adding some unit tests ❤️
@elasticmachine merge upstream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
app services code LGTM
@elasticmachine merge upstream |
The comments has been already addressed and other member of the team has already approved it
@elasticmachine merge upstream |
💚 Build SucceededMetrics [docs]Module Count
Async chunks
Distributable file count
Page load bundle
History
To update your PR or re-run it, just comment with: |
* Use data grid for table vis * Create basic table template * Add table_vis_split component * Apply cell filtering * Add aria-label attributes * Use field formatters for values * Add no results component * Remove legacy dependencies * Add usePagination * Create usePagination util * Use percentage column and total row * Use csv export button * Update labels * Fix merge conflicts * Use split table * Fix functional tests * Fix dashboard tests * Update data table functional tests * Fix missed test * Introduce showToolbar option * Remove useless package * Fix merge conflicts * Return back kibanaUtils required bundle * Revert "Remove useless package" This reverts commit 144a7cd. * Use feature flag for legacy vis * Add footer row * Remove lock files * Revert "Remove lock files" This reverts commit 5c5acd7. * Minor fixes * Use common no result message * Fix broken tests * Use ui state sorting * Fix error * Fix merge conflicts * Add legacy functional tests * Pull pagination footer up to keep with table and fix column split growing continuously in dashboard * Comments fixes * Use cell actions for filtering * Fix translations * Fix comments * Reduce legacy tests amount * Update sorting * Update split column layout * Add telemetry for legacy vis * Apply latest changes for split table * Fix eslint errors * Use aria labels with values * Use aria label for export btn * Fix functional test * Update translations * Cleanup * Truncate cells content * Enhance types in table_vis_response_handler.ts * Persist columns width on change * Fix sorting history * Add a migration script for toolbar * Export sorted table * Use reportUiCounter instead of reportUiStats * Fix integration tests * Fix typos * Adjust FieldFormat type * Hide the density selector * Update docs * Fix pagination * Restrict hiding the toolbar * Fix column index on filter * Add closePopover action Co-authored-by: cchaos <caroline.horn@elastic.co> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> # Conflicts: # scripts/functional_tests.js Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Summary
Resolves #64444
Resolves #2516
Resolves #2128
This converts the
Data table
visualization intoReact
+ EUIDataGrid
component.By default a new version of visualization will be used. Discussed with @timroes .
To turn on the legacy one, include
vis_type_table.legacyVisEnabled: true
setting inkibana.yml
.Single table mode:
Split table mode (several grids displayed):
The split table mode could have performance issue while a lot of data grids render at once.
Despite this, the PR is good to go, since:
A separate issue is created to track and potentially solve the problem: #84509
Changes include:
legacyVisEnabled
;Release notes:
Show toolbar
option adds an ability toshow/hide
the visualization toolbar, where the onlyExport
button currently live (the toolbar will be expanded in future releases).By default, a new visualization will have the toolbar disabled. Saved objects will be migrated to have the toolbar enabled initially.
( feature commit, migration script commit )
Exported as CSV tables will preserve the sorting by column direction!
Customizing a column
width
option is in. The value is saved into theuiState
- that means columns width will be saved even after page reload. While usingSplit table
mode, columns width will be synchronized between tables.Single table mode
Split table mode
Expand a cell to see a collapsed content - hover over the cell to see the expand button:
Checklist
Delete any items that are not applicable to this PR.
For maintainers