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

VaAutocomplete component #2228

Closed
aluarius opened this issue Aug 12, 2022 · 1 comment · Fixed by #2909
Closed

VaAutocomplete component #2228

aluarius opened this issue Aug 12, 2022 · 1 comment · Fixed by #2909
Assignees
Labels
component Is a new component or part of existing one d4: hard Fast monsters, respawning turrets, templars, reavers, crusaders, and inquisitors epic Feature that is too big to fit in one issue

Comments

@aluarius
Copy link
Contributor

aluarius commented Aug 12, 2022

Ref: https://element-plus.org/en-US/component/autocomplete.html

Do some research on which of the implementation ways we want to take

  • inline autocomplete (hints you text in input) vs dropdown suggestion (probably dropdown suggestion)
  • separate component vs implementing on top of select (we though using select could be a better idea)

Potential complications

  • Search select has a separate search field.

image

@aluarius aluarius added team discussion Feedback wanted component Is a new component or part of existing one labels Aug 12, 2022
@asvae asvae added epic Feature that is too big to fit in one issue ready for research d4: hard Fast monsters, respawning turrets, templars, reavers, crusaders, and inquisitors and removed team discussion Feedback wanted labels Sep 8, 2022
@aluarius aluarius added the team discussion Feedback wanted label Sep 28, 2022
@aluarius
Copy link
Contributor Author

Overview:

  1. 90% of other implementations are related to dropdown suggestions list.
  2. We can implement this via separate component (and reuse VaSelectOptionsList) or integrate it into VaSelect.

Other UI-kits:

  1. Quasar - integrated into the select component. Always contains input but in non-autocomplete state it just has zero width. Design equal to the base select state.

image

  1. Vuetify - extends select component, but still stays separate one. Design equal to the base select state.

image

  1. AntDesign - separate component. Looks like regular input.

image

  1. MUI - separate component, but no difference with select.

image

Features we want (may be):

  1. Minimum entered chars amount to start suggestion logic to work (easy-peasy but useful sometimes - some sort of debounce).
  2. Autofocus suggestion in the list.
  3. Matches highlighting:

image

  1. Async items (pretty widespread case, when you need to get autocomplete data from the api).
  2. Mb we want to remove current VaSelect search field and change it to the autocomplete-like one. Or leave it for prop? But what will be the difference between VaSelect search and autocomplete?
  3. Keyboard accessibility for autocomplete - almost all other implementations contains critical problems related to this (except MUI).
  4. Auto grouping by alphabet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component Is a new component or part of existing one d4: hard Fast monsters, respawning turrets, templars, reavers, crusaders, and inquisitors epic Feature that is too big to fit in one issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants