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

[Table list view] Improve UX (phase 1) #135892

Merged
merged 35 commits into from
Sep 19, 2022
Merged

[Table list view] Improve UX (phase 1) #135892

merged 35 commits into from
Sep 19, 2022

Conversation

sebelga
Copy link
Contributor

@sebelga sebelga commented Jul 7, 2022

This PR is the phase 1 for the work to enhance the UX of the <TableListView />. It consist mainly in converting the component exposed by the kibana_react plugin into a package, refactor and cleanup the interface and integrate the package into

  • Dashboard
  • Visualisation
  • Maps
  • Graphs

It contains the following intermediate PR that have already been reviewed

How to test

  • Launch the cloud deployment
  • Navigate to the list view of the above apps and make sure that everything works as expected, mainly:
    • search filter
    • tags
    • description
    • navigate to details / edit view

@sebelga sebelga added Team:SharedUX Team label for AppEx-SharedUX (formerly Global Experience) Feature:Content Management User generated content (saved objects) management labels Jul 7, 2022
@sebelga
Copy link
Contributor Author

sebelga commented Aug 9, 2022

@elasticmachine merge upstream

@sebelga
Copy link
Contributor Author

sebelga commented Aug 11, 2022

@elasticmachine merge upstream

@sebelga
Copy link
Contributor Author

sebelga commented Aug 22, 2022

@elasticmachine merge upstream

@sebelga
Copy link
Contributor Author

sebelga commented Aug 31, 2022

@elasticmachine merge upstream

@sebelga
Copy link
Contributor Author

sebelga commented Sep 5, 2022

@elasticmachine merge upstream

@sebelga sebelga changed the title [Table list view] Improve UX [Table list view] Improve UX (phase 1) Sep 6, 2022
@sebelga sebelga added the v8.5.0 label Sep 6, 2022
@sebelga sebelga self-assigned this Sep 6, 2022
@Heenawter Heenawter force-pushed the table-list-view/enhance-ux branch from ddbd8a4 to 91fd89d Compare September 14, 2022 20:58
@sebelga
Copy link
Contributor Author

sebelga commented Sep 15, 2022

@elasticmachine merge upstream

Copy link
Member

@kertal kertal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DataDiscovery.team code LGTM, tested with 🍜 deployment, just changes in Graph, Table list providing the selection of available Graph saved objects, works as expected 👍

Copy link
Contributor

@ThomThomson ThomThomson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Presentation team changes LGTM!

Copy link
Contributor

@nreese nreese left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kibana-gis changes LGTM

@sebelga sebelga requested a review from cjcenizal September 15, 2022 14:28
Copy link
Contributor

@cjcenizal cjcenizal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes to Data Streams test LGTM.

Copy link
Contributor

@majagrubic majagrubic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested this in Storybook, in Chrome on Mac OSX. I didn't run Kibana nor tested application-specific changes. Shared-ux changes and conversion to package look good to me. My only question is if we're planning on adding more unit tests to components, like ListLimitWarning and ConfirmDeleteModal components.

@sebelga
Copy link
Contributor Author

sebelga commented Sep 16, 2022

@elasticmachine merge upstream

@sebelga sebelga enabled auto-merge (squash) September 16, 2022 09:03
@sebelga
Copy link
Contributor Author

sebelga commented Sep 19, 2022

@elasticmachine merge upstream

@sebelga
Copy link
Contributor Author

sebelga commented Sep 19, 2022

Thanks for the review @majagrubic !

My only question is if we're planning on adding more unit tests to components, like ListLimitWarning and ConfirmDeleteModal components.

Probably not. I prefer component integration tests over unit tests. They give higher confidence in the test coverage.

  • I will test: "Is there a warning message above the table if the limit (passed to the table) is lower than the length of items of the table?". --> I test a business rule. If that message is rendered by a <ListLimitWarning /> component or a <FooWarning /> component I don't need to know.
  • I will not test: "Snapshot the ListLimitWarning component and make sure it renders." --> it does not give me any confidence that the app works as expected. I just know that a React component renders.

@kibana-ci
Copy link
Collaborator

kibana-ci commented Sep 19, 2022

💚 Build Succeeded

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
dashboard 382 398 +16
graph 220 289 +69
kibanaReact 313 311 -2
maps 924 994 +70
visualizations 304 320 +16
total +169

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
@kbn/content-management-table-list - 10 +10
kibanaReact 214 151 -63
total -53

Any counts in public APIs

Total count of every any typed public API. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats any for more detailed information.

id before after diff
@kbn/test-jest-helpers 8 5 -3

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
dashboard 366.6KB 387.4KB +20.8KB
graph 412.7KB 450.0KB +37.3KB
kibanaReact 208.1KB 208.1KB -3.0B
maps 2.6MB 2.6MB +37.3KB
visualizations 198.5KB 217.9KB +19.4KB
total +114.9KB

Public APIs missing exports

Total count of every type that is part of your API that should be exported but is not. This will cause broken links in the API documentation system. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats exports for more detailed information.

id before after diff
@kbn/content-management-table-list - 4 +4

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
dashboard 72.5KB 72.2KB -258.0B
graph 7.1KB 7.2KB +49.0B
kibanaReact 63.0KB 52.1KB -11.0KB
maps 81.3KB 81.5KB +168.0B
total -11.0KB
Unknown metric groups

API count

id before after diff
@kbn/content-management-table-list - 12 +12
kibanaReact 251 184 -67
total -55

ESLint disabled line counts

id before after diff
@kbn/content-management-table-list - 2 +2
kibanaReact 13 12 -1
total +1

miscellaneous assets size

id before after diff
graph 928.6KB 1.1MB +161.8KB
maps 497.0KB 658.8KB +161.8KB
total +323.5KB

References to deprecated APIs

id before after diff
savedObjects 48 52 +4

Total ESLint disabled count

id before after diff
@kbn/content-management-table-list - 2 +2
kibanaReact 17 16 -1
total +1

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

cc @sebelga

@sabarasaba sabarasaba self-requested a review September 19, 2022 10:29
@sebelga sebelga merged commit 1891961 into main Sep 19, 2022
@sebelga sebelga deleted the table-list-view/enhance-ux branch September 19, 2022 10:29
@kibanamachine kibanamachine added the backport:skip This commit does not require backporting label Sep 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:skip This commit does not require backporting ci:cloud-deploy Create or update a Cloud deployment Feature:Content Management User generated content (saved objects) management release_note:skip Skip the PR/issue when compiling release notes Team:SharedUX Team label for AppEx-SharedUX (formerly Global Experience) v8.5.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.