-
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
[Lens] Move configuration popover to flyout #76046
Conversation
isInvalid={Boolean(incompatibleSelectedOperationType && selectedColumnOperationType)} | ||
isInvalid={Boolean(incompatibleSelectedOperationType)} |
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.
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.
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.
Resolved!
<EuiFormLabel>Choose a function</EuiFormLabel> | ||
<EuiSpacer size="s" /> | ||
<EuiListGroup | ||
className={sideNavItems.length > 3 ? 'lnsIndexPatternDimensionEditor__columns' : ''} | ||
gutterSize="none" | ||
listItems={sideNavItems} | ||
maxWidth={false} | ||
/> |
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.
I need to check the a11y of this group. Likely needs to change to some sort of fieldset and legend combo.
<EuiCallOut | ||
data-test-subj="indexPattern-invalid-operation" | ||
title={i18n.translate('xpack.lens.indexPattern.invalidOperationLabel', { | ||
defaultMessage: 'To use this function, select a different field.', | ||
})} | ||
color="warning" | ||
size="s" | ||
iconType="sortUp" | ||
/> |
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.
@wylieconlon / @mbondyra : I'll need help fixing the tests on this one. I still have to evaluate a bit of accessibility and browser test, but those should be minimal and shouldn't affect tests. Please feel free to commit directly to this branch. |
I can help with the tests @cchaos |
@cchaos I've submitted a PR with naming changes. Other than that, is this PR still in the draft mode? I'm happy to merge it as it is (after naming changes), I just have one question: is it intentional that the copy for flyout title for non configured dimension is not the same as for the configured one (x-axis vs x-axis configuration)? If so, why is 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.
Tested on Firefox and Chrome.
Code looks good to me 🥇
Thanks for a great job!
Thanks @mbondyra and @dej611 for taking this one forward!
I commented on that PR about the name itself. But I can pull this one out of draft now and see if there's time to merge that one first or do a follow up.
This was not intentional but an oversight. If you know where that title is can you update it by adding |
@elasticmachine merge upstream |
Hey @mbondyra I found some a11y issues that needed fixing, but in turn screwed up the |
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.
Looking and feeling good! Found a bug, steps to reproduce:
- Start from an already-configured XY chart
- Click the empty Y axis that isn't configured yet
- Once you finish configuring the minimum required fields (just Count, or field + function) the flyout stays in the empty state
- When you close the flyout, it reveals that there were actually 2 flyouts: the empty one, and the previously configured dimension
In general, I found that I was really missing the ability to click outside the flyout to close it, like we previously had with the popover. It feels like this is higher-commitment flow because it's harder to close. Maybe I'll get used to it, but if we can bring it back I think we should.
x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_editor.tsx
Outdated
Show resolved
Hide resolved
x-pack/plugins/lens/public/indexpattern_datasource/dimension_panel/dimension_editor.tsx
Show resolved
Hide resolved
I pushed a fix for the hidden popover - this should also fix the tests. |
I'm not really sure how to solve this one as I think it has to do with something outside of the flyout itself.
I totally understand and agree that the extra click can be a bit annoying. However, I do see it as a feature that it stays open as you play with other settings and we don't want to obscure the chart with the mask overlay. One thing I thought about doing is somehow adding a timer that starts when focus leaves the flyout and closes the flyout automatically after like 5 seconds or something. |
@cchaos the first part with the empty flyout is what I fixed earlier today |
3763a33
to
8c61729
Compare
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.
Reviewed and looks mostly good to me. The readme (https://github.com/elastic/kibana/blob/9186171ad160ead3fb9ec977f3465904fd293aa0/x-pack/plugins/lens/readme.md) is still referencing the popover, could you update it?
@elasticmachine merge upstream |
💚 Build SucceededBuild metrics@kbn/optimizer bundle module count
page load bundle size
History
To update your PR or re-run it, just comment with: |
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.
LGTM, tested and couldn't find any issues!
* Moving to a Flyout implementation * Fix up inner layout of flyout * Fix up form rows
* master: (25 commits) [Security Solution] Add unit tests for Network search strategy (elastic#77416) [Alerting] Improves performance of the authorization filter in AlertsClient.find by skipping KQL parsing (elastic#77040) [Ingest Manager] Add route for package installation by upload (elastic#77044) [APM-UI][E2E] filter PRs from the uptime GH team (elastic#77359) [APM] Remove useLocation and some minor route improvements (elastic#76343) [Enterprise Search] Update enterpriseSearchRequestHandler to manage range of errors + add handleAPIErrors helper (elastic#77258) [SECURITY_SOLUTION] Task/hostname policy response ux updates (elastic#76444) Move remaining uses of serviceName away from urlParams (elastic#77248) [Lens] Move configuration popover to flyout (elastic#76046) [Ingest Manager] Manually build Fleet kuery with Node arguments (elastic#76589) skip flaky suite (elastic#59975) Neutral-naming in reporting plugin (elastic#77371) [Enterprise Search] Add UserIcon styles (elastic#77385) [RUM Dashboard] Added loading state to visitor breakdown pie charts (elastic#77201) [Ingest Manager] Fix polling for new agent action (elastic#77339) Remote cluster - Functional UI test to change the superuser to a test_user with limited role (elastic#77212) Stacked headers and navigational search (elastic#72331) [ML] DF Analytics creation wizard: Fixing field loading race condition (elastic#77326) [Monitoring] Handle no mappings found for sort and collapse fields (elastic#77099) Add Lens to Recently Accessed (elastic#77249) ...
* master: (293 commits) Fix tsvb filter ration for table (elastic#77272) [Security Solution] Add unit tests for Network search strategy (elastic#77416) [Alerting] Improves performance of the authorization filter in AlertsClient.find by skipping KQL parsing (elastic#77040) [Ingest Manager] Add route for package installation by upload (elastic#77044) [APM-UI][E2E] filter PRs from the uptime GH team (elastic#77359) [APM] Remove useLocation and some minor route improvements (elastic#76343) [Enterprise Search] Update enterpriseSearchRequestHandler to manage range of errors + add handleAPIErrors helper (elastic#77258) [SECURITY_SOLUTION] Task/hostname policy response ux updates (elastic#76444) Move remaining uses of serviceName away from urlParams (elastic#77248) [Lens] Move configuration popover to flyout (elastic#76046) [Ingest Manager] Manually build Fleet kuery with Node arguments (elastic#76589) skip flaky suite (elastic#59975) Neutral-naming in reporting plugin (elastic#77371) [Enterprise Search] Add UserIcon styles (elastic#77385) [RUM Dashboard] Added loading state to visitor breakdown pie charts (elastic#77201) [Ingest Manager] Fix polling for new agent action (elastic#77339) Remote cluster - Functional UI test to change the superuser to a test_user with limited role (elastic#77212) Stacked headers and navigational search (elastic#72331) [ML] DF Analytics creation wizard: Fixing field loading race condition (elastic#77326) [Monitoring] Handle no mappings found for sort and collapse fields (elastic#77099) ...
* Moving to a Flyout implementation * Fix up inner layout of flyout * Fix up form rows
Fixes #75568
This PR changes the Lens configuration popover to be a flyout (contained within the sidebar). It doesn't use EuiFlyout because we want it to be specially positioned. But it does use the EUI flyout mixin to align styling.
Checklist
Delete any items that are not applicable to this PR.