-
Notifications
You must be signed in to change notification settings - Fork 843
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
Updated EuiComboBox to allow the options list to open for single selection custom options #3706
Updated EuiComboBox to allow the options list to open for single selection custom options #3706
Conversation
Preview documentation changes for this PR: https://eui.elastic.co/pr_3706/ |
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 change does not appear to fix the underlying issue in #3701. To test with, I modified the src-docs/src/views/combo_box/combo_box.js example by:
- removing the
options.push(newOption);
action inonCreateOption
- added
singleSelection={{asPlainText: true}}
to the combobox
A larger question though: do we really want to suppress the options list when the sole entry in a single selection is a custom option? As the original issue mentioned, it is still triggered when typing. Seems like this setup creates a less unified user experience.
…options-list-not-opening-bug
@chandlerprall, not sure I understood the issue. 😛 I thought the problem was when we have This issue was fixed. You don't need to start typing to make the list showing up. |
Preview documentation changes for this PR: https://eui.elastic.co/pr_3706/ |
There are two identified issues:
Your PR addresses the second item, but not the first. To demonstrate, replace src-docs/src/views/combo_box/combo_box.js with the following
Then in that first Combo box example, add a custom entry. The popover will now not trigger by clicking on the input. I took an additional step back in the response by asking: do we really want to prevent that popover in any case? The component is structured in a way where the issue in #3701 is a feature, not a bug. If we're changing that decision, we should be able to remove the call to eui/src/components/combo_box/combo_box.tsx Lines 535 to 543 in 4a0d20e
|
Thanks @Chandler for helping me out! I think it makes more sense to always allow the list to open for single selection custom options. So I worked on adding this new feature. I also provided a new example in our docs. |
…options-list-not-opening-bug
Preview documentation changes for this PR: https://eui.elastic.co/pr_3706/ |
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.
Couple more comments
src-docs/src/views/combo_box/single_selection_custom_options.js
Outdated
Show resolved
Hide resolved
…options-list-not-opening-bug
Preview documentation changes for this PR: https://eui.elastic.co/pr_3706/ |
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 think this is a good place to also showcase a best-practice of supplying the user with help text indicating the ability to create a custom option. For instance, we do this in Visualize where the combo box is used for a time interval that has a few defaults, but a user can also type in their own.
Can you add some text in the example about providing help text when allowing for custom options and also wrap the example in a EuiFormRow with an example help text?
Preview documentation changes for this PR: https://eui.elastic.co/pr_3706/ |
1 similar comment
Preview documentation changes for this PR: https://eui.elastic.co/pr_3706/ |
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.
Code & doc changes LGTM! Left one small comment on the Single selection example, but I don't want to be a blocker as I'm out tomorrow.
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.
Extra stamp of approval. Thanks for all the iterations on this one!
Preview documentation changes for this PR: https://eui.elastic.co/pr_3706/ |
Preview documentation changes for this PR: https://eui.elastic.co/pr_3706/ |
Thanks @chandlerprall. @cchaos I improved the example. Can you take another look? |
…options-list-not-opening-bug
jenkins test this |
Preview documentation changes for this PR: https://eui.elastic.co/pr_3706/ |
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! Works as described. Just a couple nit-picky items.
Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com>
…://github.com/miukimiu/eui into single-selection-options-list-not-opening-bug
Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com>
Preview documentation changes for this PR: https://eui.elastic.co/pr_3706/ |
* Break up release.js (elastic#3723) * Switch release.js to use arguments instead of env vars * Switch MFA code back to env var so it doesn't leak in CI logs * Update job definition to use --type arg * Support breaking up release steps with args * Break release up to fetch time-sensitive MFA token right before publish * Strip whitespace from each step Co-authored-by: Chandler Prall <chandler.prall@gmail.com> Co-authored-by: Chandler Prall <chandler.prall@gmail.com> * Allow prop-setting on the FlexItems within DescribedFormGroup (elastic#3717) * Allow prop-setting on the FlexItems within DescribedFormGroup * Add changelog entry * Honor classes on fieldFlexItem * Update src/components/form/described_form_group/described_form_group.test.tsx Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com> * Update snap name Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com> * Re-focus EuiSuperSelect input after making a value change (elastic#3734) * Re-focus EuiSuperSelect input after making a value change * changelog * [EuiStat] Allow customizing the render of the title and description HTML tags (elastic#3693) * Add titleElement and descriptionElement to EuiStat * Updated snapshots * Updated changelog * Fixed issue with screenreader * Updated snapshots * Use screen reader only if title and description is a string * updated snapshots * Merge remote-tracking branch 'upstream/master' into fix/stat * Fixed typo in changelod * removed titleChildren * titlechildren as variable * Update CHANGELOG.md Remove an extra line left over from a merge resolution Co-authored-by: Chandler Prall <chandler.prall@gmail.com> * [EuiTable] Expand item action name to allow a function (elastic#3739) * allow for item -> ReactNode in name * docs * CL * Add ssh keys so new tags can be pushed to Github from Jenkins (elastic#3740) * Add ssh keys so new tags can be pushed to Github * Need a vault token before we can pull secrets * update i18ntokens * 27.1.0 * Updated documentation. * Chore/decouple button content (elastic#3730) * [New] EuiButtonContent For rendering the contents of buttons, icon (loading spinner) and text wrapper for children * Use EuiButtonContent in EuiButtonEmpty * Fixing classNames and disabled states * Create EuiButtonDisplay for internal usage * Fix snaps * ts gymnastics * Added tests for EuiButtonContent * More optimization - Extend EuiButtonContentProps - Content styles are in button_content.scss * Restricted list of `element`s * [Docs] Adding more acccessibility-focused notes and examples (elastic#3714) * making more a11y callouts in docs * Apply suggestions from code review Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> * prettier update Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> * [EuiFocusTrap] Use `react-focus-on` (elastic#3631) * WIP: react-focus-on * WIP: fix GuideFullScreen * noIsolation; onClickOutside * euiflyout snapshot updates * euiflyout snapshot updates * euimodal snapshot updates * euidatagrid snapshot updates * euicolorpalettepicker snapshot updates * euisuperselect snapshot updates * euicollapsible snapshot updates * euifocustrap snapshot updates * allow for array snapshots with takeMountedSnapshot * docs improvements * default to noIsolation=true and scrollLock=false * CL * Fixed bug in EuiComboBox always showing a scrollbar (elastic#3744) * Fixed EuiComboBox always showing a scrollbar * Adding the right PR number to CL * Added useEuiI18n hook (elastic#3749) * Added useEuiI18n hook * Updated docs with useEuiI18n hook, added snippets * Add support to fetch-1i8n-strings or useEuiI18n to match EuiI18n extraction * Fix up return types for useEuiI18n * Updated custom eslint i18n rule/package to lint useEuiI18n usages * changelog * Remove something I was testing with and lost where I had placeed it. * [EuiSuperDatePicker] Bypass formatting `null` dates (elastic#3750) * prevent formatting on null value * remove unnecessary cast * account for keyboard nav with null selection * CL * Updated EuiComboBox to allow the options list to open for single selection custom options (elastic#3706) * Fixing includes to return true when object exists in array * changelog * Allowing list to open for single selection custom options * Updated changelog * PR review * Improving example * Improving example * Addind isClearable * Improving examples * Improving explanation text * Adding note * Addressing PR issues * Update src-docs/src/views/combo_box/combo_box_example.js Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com> * Update src-docs/src/views/combo_box/combo_box_example.js Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com> * Snippet Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com> * Add analyze event glyph to EuiIcon (elastic#3729) * adding analyze event security icon * updating analyze_event icon * updating again * Update CHANGELOG.md * Update consuming.md (elastic#3769) * Path has changed and the wiki has not been updated. * Fix zIndex for two popup ups (elastic#3768) Clicking both buttons on https://eui.elastic.co/#/tabular-content/data-grid-styling-and-toolbar demo brings up partially hidden popups because their z-index is too low. Increasing by one seems to do the trick. * [Playground] EuiBadge, EuiNotificationBadge, EuiBetaBadge (elastic#3722) * created playground for badges * removed commented code * used validator for iconType and colour * updated variable name * removed colour validation * removed unnecessary imports * removed default values, fullscreen mode * suggesstions * removed placeholder, added required, some badge props set to string * used actual value of child in text field * added sanitize function * fixed unique-key warning * added validation * updated to identify the change whenthe state changes * suggestions * added onCLick function snippet * removed error popup by react-view * removed lint err * removed commented code Co-authored-by: Josh Mock <joshua.mock@elastic.co> Co-authored-by: Chandler Prall <chandler.prall@gmail.com> Co-authored-by: Scott Gould <sbg@elastic.co> Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com> Co-authored-by: Ashik Meerankutty <ashik9591@gmail.com> Co-authored-by: Greg Thompson <thompson.glowe@gmail.com> Co-authored-by: Michail Yasonik <michail.yasonik@elastic.co> Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> Co-authored-by: Elizabet Oliveira <elizabet.oliveira@gmail.com> Co-authored-by: Marra Sherrier <45169477+marrasherrier@users.noreply.github.com> Co-authored-by: Alberto Andújar <josealbertoandujar@gmail.com> Co-authored-by: Yuri Astrakhan <yuriastrakhan@gmail.com>
…ction custom options (elastic#3706) * Fixing includes to return true when object exists in array * changelog * Allowing list to open for single selection custom options * Updated changelog * PR review * Improving example * Improving example * Addind isClearable * Improving examples * Improving explanation text * Adding note * Addressing PR issues * Update src-docs/src/views/combo_box/combo_box_example.js Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com> * Update src-docs/src/views/combo_box/combo_box_example.js Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com> * Snippet Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com>
…gle selection custom options (elastic#3706)" This reverts commit 535182a.
…gle selection custom options (elastic#3706)" This reverts commit 535182a.
Summary
This PR fixes #3701.
Feature
Before this PR, when selecting a single selection custom option the options list wouldn't open. Consumers could think this was a bug. So we decided to improve the code and to always allow the list to open for single selection custom options.
Checklist
[ ] Check against all themes for compatibility in both light and dark modes[ ] Checked in mobile[ ] Props have proper autodocs[ ] Added documentation[ ] Checked Code Sandbox works for the any docs examples[ ] Added or updated jest tests[ ] Checked for breaking changes and labeled appropriately[ ] Checked for accessibility including keyboard-only and screenreader modes