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

☂ ComboBox/Dropdown: Open issues and history for convergence #6030

Closed
23 tasks
micahgodbolt opened this issue Aug 22, 2018 · 18 comments
Closed
23 tasks

☂ ComboBox/Dropdown: Open issues and history for convergence #6030

micahgodbolt opened this issue Aug 22, 2018 · 18 comments
Assignees
Labels
Milestone

Comments

@micahgodbolt
Copy link
Member

micahgodbolt commented Aug 22, 2018

Component Details

Imports

Exports/ Component Breakdown

Intended Package

Code mockup/example

Code Sample


Types

Name Type Default Value Description
className string Optional class name to be added to the root

Design Assets

Component Ownership

Deadlines

Todos

Steps

  • Themable (Component.base/Component.styles)
  • Unit tests
  • Visual tests
  • Documentation and examples
  • Keyboard Accessible
  • High Constrast Support
  • RTL Support
  • Design Review
  • API review
  • Public Preview
  • Ready for Publishing
@micahgodbolt micahgodbolt changed the title ComboBox/Dropdown merged into one experimental component ComboBox/Dropdown merged into one component Aug 22, 2018
@micahgodbolt
Copy link
Member Author

Notes from 08/22 discussion

Work location and backwards compatibility

  1. Work should start in experiments
  2. Backwards compatibility is the goal. If deprecations are needed to align the two interfaces, we'll make that alignment now, deprecate the old props, and then release this via major release without the old props

Opportunities to improve the component

  1. Leverage other components like Autofill and contextual menu
  2. Look for abstractions and API consistency opportunities with pickers and new dropdown
  3. Look at ways to abstract searching/displaying selected from the list below to enable custom dropdowns

Things that we should do

  1. Avoid making component to become a huge, heavy, complicated beast
  2. Incorporate createComponent for building this
  3. Wait for text, buttons and other primitives to be ready so that they can be fully integrated

Expected Dev time

  • Discovery : 2 weeks of dev or 1 month PM
  • Initial Experiment: 1 month
  • Ready for Publishing: 1 month

@betrue-final-final
Copy link
Member

Hey, so we may want to reconsider this as a dropdown and combobox are two different things for ARIA. I had a short conversation with James Jackson about this.

@micahgodbolt
Copy link
Member Author

We'd certainly want to capture proper aria values based on the type of UI used.

@cliffkoh
Copy link
Contributor

@betrue-final-final that was one of the feedback I provided to @micahgodbolt which is that I think their accessibility treatment is very different. W.r.t. to merging the two, managing the accessibility for the many permutating states of Dropdown/ComboBox while keeping the component lightweight and the complexity manageable is likely going to be a significant challenge with this work.

@betrue-final-final
Copy link
Member

James on our team has lots of knowledge here and can advise. He's not an engineer though!

@ecraig12345
Copy link
Member

ecraig12345 commented Dec 19, 2018

Assigning this to myself (and slightly repurposing) since David asked me to look into refactoring and/or merging ComboBox and Dropdown.

Other things to fix/consider as part of this work:

@micahgodbolt
Copy link
Member Author

@ecraig12345 update the topmost point with TODOS reflecting those issues you mentioned

@kenotron
Copy link
Member

Have another one where we mutate props.options when items are selected:
#9162

@popeadam
Copy link

popeadam commented Nov 8, 2019

We have a page that allows people to use 10 drop-down menus to filter a library of hundreds of items. People's filtering behaviour can become complex, and though we have a 'clear filters' button that allows all 10 drop-downs to be cleared, we regularly get feedback that they'd like to just clear one of the drop-down menus.

Once a user has selected an item/items, can we work on the ability to easily clear all those items from the dropdown? Example of how this might work below. once an item from a drop-down has been selected:

image

@ecraig12345
Copy link
Member

@popeadam Can you please open a separate feature request for that?

@malvica
Copy link

malvica commented May 5, 2020

Hello @ecraig12345 ,
Is the following issue still being worked on?
Dropdown & ComboBox options screen reader fix #7409
When using Dropdown I still see a default tooltip appearing for all the values.
in order to get rid of that I have to use an empty string for the title for each dropdown element:
const options: IDropdownOption[] = [
{ key: 'apple', text: 'Apple', title:'' },

Is there a way to disable this built-in tooltip? I am using office-fabric-ui-react version ^7.98.3

Thanks

@ecraig12345
Copy link
Member

@malvica Can you please open a separate issue about that? It's not directly related to this refactoring issue.

@malvica
Copy link

malvica commented May 5, 2020

Sure @ecraig12345 , done #13007.
Thanks

@ecraig12345
Copy link
Member

Update: our roadmap and approach have changed a lot since this was first opened, so while we certainly still want to refactor these components, the approach may look significantly different than what was discussed above (also TBD whether it will happen as part of version 8 or not until the future converged version). At some point @joschect or another team member will need to go through the points called out here and determine which ones are still relevant and how we want to address them in a refactored version.

@JustSlone JustSlone changed the title Refactor: ComboBox/Dropdown ☂ ComboBox/Dropdown: Open issues and history for convergence Oct 28, 2020
@jtbandes
Copy link

jtbandes commented Apr 7, 2021

Hi, is there any update on the status of this? I'm specifically interested in filtering options as the user types.

@jtbandes
Copy link

jtbandes commented Apr 9, 2021

In case anyone else is looking for a filtering solution, there are some pretty good examples over in #8606 that show how to use onPendingValueChanged to filter the set of options as the user types.

@smhigley
Copy link
Contributor

Merging #16335 into this one. From that issue, two closed issues to consider for Dropdown convergence:

@msft-fluent-ui-bot
Copy link
Collaborator

Because this issue has not had activity for over 150 days, we're automatically closing it for house-keeping purposes.

Still require assistance? Please, create a new issue with up-to date details.

@msft-fluent-ui-bot msft-fluent-ui-bot added the Resolution: Soft Close Soft closing inactive issues over a certain period label Feb 4, 2022
@microsoft microsoft locked as resolved and limited conversation to collaborators Mar 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests