-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
[App Search] Migrate expanded rows for meta engines table in Engines Overview #96251
Conversation
@include euiBreakpoint('l', 'xl') { | ||
.euiTableRowCell { | ||
border-top: none; | ||
} | ||
|
||
.euiTitle { | ||
display: none; | ||
} | ||
} |
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.
Is there a better way to accomplish this?
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.
After thinking about this and how the expanded row works I don't think so, currently. One possible option would be to not nest an EuiBasicTable within the expanded row and instead try to directly use cell components, e.g. <EuiTableRowCell>
- but then you lose some of the automatic mobile UX that comes with the basic table.
I think this is fine for now, especially since after testing the expanded row behavior in a screenreader, it appears that EUI's implementation of expanded rows has a known issue where screen readers cannot dive into the expanded row, so it's not really possible to test this accessibility-wise anyway.
It might be interesting to revisit it someday to try and compare implementations, but I'm definitely good with a nested table for now (which I learned today is semantically valid! 🤯)
...ic/applications/app_search/components/engines/components/meta_engines_table_expanded_row.tsx
Outdated
Show resolved
Hide resolved
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.
General folder architecture request: Can we move all table-related components/logic/styles to its own directory? I'm fine with either:
engines/
|_ components/
|_tables/
|- engines_table.tsx
|- meta_engines_table_expansion.tsx
|- meta_engines_table_logic.tsx
|- meta_engines_table.tsx
|_ // etc.
or skipping components/
and just giving it its own tables/
dir
engines/
|_ tables/
|- engines_table.tsx
|- meta_engines_table_expansion.tsx
|- meta_engines_table_logic.tsx
|- meta_engines_table.tsx
|_ // etc.
LMK what you think!
On another shared architecture note - I'd love it if the shared columns between the 2 tables got pulled out to a columns.tsx
or shared_columns.tsx
file rather than only living in engines_table.tsx
- I think that will make it easier to find/see when exploring the component from a directory POV.
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.
First pass of feedback - I have a few more subjective or higher level thoughts/suggestions, but need to stop for today - will come back to this tomorrow!
x-pack/plugins/enterprise_search/public/applications/app_search/components/engines/utils.ts
Outdated
Show resolved
Hide resolved
...erprise_search/public/applications/app_search/components/engines/meta_engines_table_logic.ts
Outdated
Show resolved
Hide resolved
...erprise_search/public/applications/app_search/components/engines/meta_engines_table_logic.ts
Outdated
Show resolved
Hide resolved
...se_search/public/applications/app_search/components/engines/meta_engines_table_logic.test.ts
Outdated
Show resolved
Hide resolved
...s/enterprise_search/public/applications/app_search/components/engines/meta_engines_table.tsx
Outdated
Show resolved
Hide resolved
...ications/app_search/components/engines/components/meta_engines_table_name_column_content.tsx
Outdated
Show resolved
Hide resolved
...ic/applications/app_search/components/engines/components/meta_engines_table_expanded_row.tsx
Outdated
Show resolved
Hide resolved
...c/applications/app_search/components/engines/components/meta_engines_table_expanded_row.scss
Outdated
Show resolved
Hide resolved
...c/applications/app_search/components/engines/components/meta_engines_table_expanded_row.scss
Outdated
Show resolved
Hide resolved
...ic/applications/app_search/components/engines/components/meta_engines_table_expanded_row.tsx
Outdated
Show resolved
Hide resolved
Yes to both of these. Thanks for reviewing this so far @constancecchen, I'm going to be pushing updates in response to this review, but will anticipate another round from you today/next week. |
Hey @constancecchen I've pushed some updates based on your feedback. Let me know what else I can do to improve this. Even if we decide to have you take over the PR I still think I could do another round today. |
...cations/app_search/components/engines/components/tables/meta_engines_table_expanded_row.scss
Outdated
Show resolved
Hide resolved
...cations/app_search/components/engines/components/tables/meta_engines_table_expanded_row.scss
Outdated
Show resolved
Hide resolved
...ications/app_search/components/engines/components/tables/meta_engines_table_expanded_row.tsx
Show resolved
Hide resolved
...s/app_search/components/engines/components/tables/meta_engines_table_name_column_content.tsx
Outdated
Show resolved
Hide resolved
...s/app_search/components/engines/components/tables/meta_engines_table_name_column_content.tsx
Outdated
Show resolved
Hide resolved
...ise_search/public/applications/app_search/components/engines/components/tables/utils.test.ts
Outdated
Show resolved
Hide resolved
...ise_search/public/applications/app_search/components/engines/components/tables/utils.test.ts
Outdated
Show resolved
Hide resolved
...earch/public/applications/app_search/components/engines/components/tables/shared_columns.tsx
Outdated
Show resolved
Hide resolved
...earch/public/applications/app_search/components/engines/components/tables/shared_columns.tsx
Outdated
Show resolved
Hide resolved
...earch/public/applications/app_search/components/engines/components/tables/shared_columns.tsx
Outdated
Show resolved
Hide resolved
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.
Here's an optional round of feedback that contain a few higher-level / more complex questions/requests. If those would take too long to do, definitely feel free to say you'd rather defer and I can grab it in a follow-up PR or take over the PR. Alternatively if you're strongly not a fan, I'd love to hear your thoughts
...h/public/applications/app_search/components/engines/components/tables/meta_engines_table.tsx
Outdated
Show resolved
Hide resolved
...s/app_search/components/engines/components/tables/meta_engines_table_name_column_content.tsx
Outdated
Show resolved
Hide resolved
..._search/components/engines/components/tables/meta_engines_table_name_column_content.test.tsx
Outdated
Show resolved
Hide resolved
...lic/applications/app_search/components/engines/components/tables/meta_engines_table.test.tsx
Outdated
Show resolved
Hide resolved
...lic/applications/app_search/components/engines/components/tables/meta_engines_table.test.tsx
Outdated
Show resolved
Hide resolved
...lic/applications/app_search/components/engines/components/tables/meta_engines_table.test.tsx
Outdated
Show resolved
Hide resolved
Hey @constancecchen another round your way. I hit some of the suggestions you made in the third round of feedback, but passed on the ones involving abstraction. I've given you access to this remote repo, its up to you if you'd rather take over the branch or do a follow-up PR, I'm happy either way as long as this is in 7.13 😎 |
@elasticmachine merge upstream |
@elasticmachine merge upstream |
@elasticmachine merge upstream |
+ update to account for 2 previous DRY commits (e.g. deleteEngine mock)
💚 Build SucceededMetrics [docs]Module Count
Async chunks
History
To update your PR or re-run it, just comment with: |
💔 Backport failed
To backport manually run: |
…ax_primary_shard_size * 'master' of github.com:elastic/kibana: (99 commits) added missing optional chain for bracket notation (elastic#96939) [Discover][DocViewer] Fix toggle columns from doc viewer table tab (elastic#95748) [TSVB] Fix per-request caching of index patterns (elastic#97043) [Datatable] Fix filter cell flakiness (elastic#96934) Unskip heatmap suite and fixes flakiness (elastic#96941) [Fleet] Improve performance of data stream API (elastic#97058) [ML] Data Frame Analytics: remove beta badge (elastic#96977) [App Search] Migrate expanded rows for meta engines table in Engines Overview (elastic#96251) Instances latency distribution chart tooltips and axis fixes (elastic#95577) [Monitoring] Using primary average shard size (elastic#96177) [Workplace Search] Hide Kibana chrome on 3rd party connector redirects (elastic#97028) ## [Security Solution] Fixes `Exit full screen` and `Copy to cliboard` styling issues (elastic#96676) Index pattern field editor - Add warning on name or type change (elastic#95528) [App Search] Add small engine breadcrumb utility helper (elastic#96917) Copy esArchiver commands from ./reassign.ts to fix tests (elastic#97012) [Security Solution][Detections] Updates MITRE Tactics, Techniques, and Subtechniques for 7.13 (elastic#97011) Index patterns server - throw correct error on field caps 404 (elastic#95879) Use `EuiThemeProvider` in lists plugin tests and stories (elastic#96129) [npm] upgrade caniuse database (elastic#97002) chore(NA): moving @kbn/apm-utils into bazel (elastic#96227) ... # Conflicts: # x-pack/plugins/index_lifecycle_management/__jest__/client_integration/edit_policy/serialization/policy_serialization.test.ts # x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/form/schema.ts
…to-metrics-tab * 'master' of github.com:elastic/kibana: (61 commits) [Usage collection] Usage counters (elastic#96696) UI actions readme (elastic#96925) [TSVB] Enable brush for visualizations created with no index patterns (elastic#96727) [Data telemetry] Add Async Search to the tests (elastic#96693) added missing optional chain for bracket notation (elastic#96939) [Discover][DocViewer] Fix toggle columns from doc viewer table tab (elastic#95748) [TSVB] Fix per-request caching of index patterns (elastic#97043) [Datatable] Fix filter cell flakiness (elastic#96934) Unskip heatmap suite and fixes flakiness (elastic#96941) [Fleet] Improve performance of data stream API (elastic#97058) [ML] Data Frame Analytics: remove beta badge (elastic#96977) [App Search] Migrate expanded rows for meta engines table in Engines Overview (elastic#96251) Instances latency distribution chart tooltips and axis fixes (elastic#95577) [Monitoring] Using primary average shard size (elastic#96177) [Workplace Search] Hide Kibana chrome on 3rd party connector redirects (elastic#97028) ## [Security Solution] Fixes `Exit full screen` and `Copy to cliboard` styling issues (elastic#96676) Index pattern field editor - Add warning on name or type change (elastic#95528) [App Search] Add small engine breadcrumb utility helper (elastic#96917) Copy esArchiver commands from ./reassign.ts to fix tests (elastic#97012) [Security Solution][Detections] Updates MITRE Tactics, Techniques, and Subtechniques for 7.13 (elastic#97011) ...
Will take care of the manual backport for this: #97123 |
…Overview (#96251) (#97123) * Pull out columns to be re-used for MetaEnginesTable * Add route to get source engines for meta engines * New MetaEnginesTableLogic * New MetaEnginesTable component * Remove isMeta prop from EnginesTable * Swap EnginesTable with MetaEnginesTable in EnginesOverview for meta engines * Missing test for MetaEnginesTableNameColumnContent * Created new /app_search/components/engines/components/tables directory * Moving columns to shared_columns.tsx file * Updates to MetaEnginesTableExpandedRow and MetaEnginesTableNameColumnContent * Fixes to EnginesTable, MetaEnginesTable, MetaEnginesTableLogic * Remove flatten import * Fix i18n * PR Feedback * DRY out shared engine link helpers * DRY out shared ACTIONS_COLUMN * Tests: DRY out shared columns/props tests + update to account for 2 previous DRY commits (e.g. deleteEngine mock) Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Constance Chen <[email protected]> Co-authored-by: Byron Hulcher <[email protected]> Co-authored-by: Kibana Machine <[email protected]>
Summary
Migrates the expanded rows from the Meta Engines table containing information about the source engines and their conflicts for each meta engine. This required the creation of a new
MetaEnginesTable
component, with its own logic file responsible for retrieving the source engines for each meta engine from the API when the user requests it. We also have some logic to inform the user about schema conflicts, and which source engines are responsible for them.On mobile this is usable but having a responsive table inside a responsive table is a little rough. This could be a good candidate for a design pass later.
Screenshots
Checklist