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 unique value & autocomplete ☂️ #6102

Open
14 of 15 tasks
laurenmrice opened this issue May 18, 2020 · 13 comments
Open
14 of 15 tasks

Combobox unique value & autocomplete ☂️ #6102

laurenmrice opened this issue May 18, 2020 · 13 comments
Labels
component: combobox planning: umbrella Umbrella issues, surfaced in Projects views proposal: accepted This request has gone through triaging and we are accepting PR's against it. type: enhancement 💡
Milestone

Comments

@laurenmrice
Copy link
Member

laurenmrice commented May 18, 2020

Acceptance criteria


Unique value

Preview Give feedback
  1. 4 of 4
    component: combobox role: design ✏️ role: dev 🤖 type: enhancement 💡
    thyhmdo
  2. component: combobox role: design ✏️ type: enhancement 💡
    thyhmdo
  3. component: combobox role: design ✏️ type: enhancement 💡
    thyhmdo
  4. component: combobox kit: figma role: design ✏️ type: enhancement 💡
  5. component: combobox role: dev 🤖 type: enhancement 💡
    tw15egan
  6. status: ready to merge 🎉
  7. component: combobox role: design ✏️ type: docs 📖 type: enhancement 💡
    Kritvi-bhatia17

Focus state changes

Preview Give feedback
  1. component: combobox component: dropdown component: filterable-multiselect component: multiselect kit: figma role: design ✏️ type: enhancement 💡
    Kritvi-bhatia17
  2. component: combobox component: dropdown component: multiselect role: dev 🤖 type: enhancement 💡
    tw15egan
  3. type: enhancement 💡
    guidari
  4. component: combobox component: dropdown component: multiselect role: design ✏️ type: docs 📖 type: enhancement 💡
    Kritvi-bhatia17
  5. component: combobox component: dropdown component: filterable-multiselect component: multiselect role: dev 🤖 type: bug 🐛
    annawen1

Refactor and Autocomplete

Preview Give feedback
  1. component: combobox proposal: accepted role: dev 🤖 type: enhancement 💡
    preetibansalui tay1orjones
    tw15egan
  2. component: combobox role: dev 🤖 type: enhancement 💡
    2nikhiltom Gururajj77
  3. component: combobox role: design ✏️ type: docs 📖 type: enhancement 💡
    thyhmdo
@cbix
Copy link

cbix commented Nov 25, 2020

I do need this option for a project, would be great to see an implementation! Currently it works really inconsistently:

  • when unique text is entered and Enter is pressed with focus on the combo box, it becomes the input value
  • focusing another input doesn't clear the custom value
  • when clicking outside while the combo box is focused, a custom value gets cleared

Demo:
Peek 2020-11-25 10-11

@dpklahn
Copy link

dpklahn commented Feb 13, 2021

The work my team is doing would greatly benefit from this functionality as well. We'd like to allow the user to type in their own credentials OR select from a list of saved (and encrypted) credentials.

We'd also like to indicate when a selection has been made vs user input. In the example below we proposed an icon next to component when a selection is made, but it would be great to have a built in "state" for the two options.

Combo box.pdf

@tw15egan tw15egan added the proposal: open This request has gone through triaging. We're determining whether we take this on or not. label Feb 16, 2021
@guigueb
Copy link
Contributor

guigueb commented Mar 24, 2021

Issue #6102 and this issue #8170 are related.
#6102 talks about adding the ability to add values not in the item list
#8170 talks about dis-allowing values that are not in the item list

Both are good options and should be supported.
By default the ComboBox should only allow items that can be found in the list.
An additional prop (?allowUnmatchedItems?) would allow users to type in and retain a value that does not match an item.

The caveat for retaining a value is the need for validation to ensure the retained value is good.

Further along the lines of what the user can type in...., we should have a way to always validate what is typed in.
ie: if the drop down values are all integers - there should be some way to limit the user input to integers.

@godivareisen
Copy link

The DataStage team would benefit from being able to add unique input values via the combo-box. We have many cases where users have to specify what specific date format to use, and we cannot include every possible date format in the dropdown list. Ideally, we would be able to list commonly used date formats in the dropdown, but users would be able to enter other date formats that aren't part of the default list.

@grahamharper
Copy link

+1 for this. We required this functionality for a time input control where the user could pick from a list of times or enter a custom time value. We had to copy the component and add the feature in our codebase temporarily to meet a delivery date. Ideally the combobox would support this as it's expected functionality.

@guigueb
Copy link
Contributor

guigueb commented Apr 28, 2021

I did this by...

  • wrapping the Carbon ComboBox
  • adding a reserved/hidden 0th location item to the items list
  • intercepted the input, enter, and click away events to select an existing item or populate and select the 0th item

Something that would make this (and other free form find/search components) better, is to set the TYPE of input.
ie:

  • if the combobox values are only numbers then you should only be able to type in numbers in the input
  • if the combobox values are only times then you should only be able to type in times in the input

@grahamharper
Copy link

@guigueb is your code available to share?

@tay1orjones tay1orjones added proposal: accepted This request has gone through triaging and we are accepting PR's against it. and removed proposal: open This request has gone through triaging. We're determining whether we take this on or not. labels Nov 8, 2021
@tay1orjones tay1orjones moved this to Accepted in Roadmap Aug 24, 2022
@sstrubberg sstrubberg moved this from Accepted to Dev Heavy in Roadmap Oct 11, 2022
@sstrubberg sstrubberg moved this from Dev Heavy to Combobox in Roadmap Oct 13, 2022
@tay1orjones tay1orjones moved this from 🪆 Needs Refined to 🏗 In Progress in Design System Jul 25, 2023
@tay1orjones tay1orjones modified the milestones: 2023 Q3, 2023 Q4 Oct 2, 2023
@tay1orjones tay1orjones modified the milestones: 2023 Q4, 2024 Q1 Jan 11, 2024
@tay1orjones tay1orjones modified the milestones: 2024 Q1, 2024 Q2 Apr 3, 2024
@laurenmrice laurenmrice changed the title Combobox unique value: ☂️ Combobox unique value ☂️ May 22, 2024
@sstrubberg sstrubberg moved this from 🏗 In Progress to 🪆 Needs Refined in Design System Jun 19, 2024
@sstrubberg sstrubberg modified the milestones: 2024 Q2, 2024 Q3 Jun 19, 2024
@sstrubberg sstrubberg moved this from 🪆 Needs Refined to 🏗 In Progress in Design System Jun 27, 2024
@sstrubberg sstrubberg moved this to In Progress in Roadmap (deprecated) Jul 25, 2024
@sstrubberg sstrubberg modified the milestones: 2024 Q3, 2024 Q4 Sep 12, 2024
@sstrubberg
Copy link
Member

Auto-complete specs vs Auto-complete implementation so we know what to write about in our website docs.

@thyhmdo to surface specs for docs.

@sstrubberg sstrubberg changed the title Combobox unique value ☂️ Combobox unique value & autocomplete ☂️ Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: combobox planning: umbrella Umbrella issues, surfaced in Projects views proposal: accepted This request has gone through triaging and we are accepting PR's against it. type: enhancement 💡
Projects
Status: 🏗 In Progress
Status: Now 💫
Development

No branches or pull requests