Consider deprecating GlFormCombobox
What is GlFormCombobox?
https://gitlab-org.gitlab.io/gitlab-ui/?path=/docs/base-form-form-combobox--docs
Why do we have GlFormCombobox?
In order to add an autocomplete list and validations, specifically for a limited set of AWS keys. More information in gitlab!29124 (merged)
However, for this component, validation is now done outside of GlFormCombobox. more information in gitlab!137370 (merged)
So now only purpose of using GlFormCombobox instead of GlFormInput is so that we can have an autocomplete in the field.
How are we currently using FormCombobox?
It is currently being used in 3 places:
app/assets/javascripts/ci/ci_variable_list/components/ci_variable_drawer.vue
this is implementation that created the component and is described in detail above
app/assets/javascripts/ci/pipeline_editor/components/job_assistant_drawer/accordion_items/job_setup_item.vue
To see this in action, you can view the screenshare in MR: gitlab!132067 (merged)
The "key" input is using GlFormCombobox with no validation, only autocomplete
ee/app/assets/javascripts/vue_shared/license_compliance/components/add_license_form_dropdown.vue
This was only using the autocomplete feature, but in any case we can disregard this instance as the entire license compliance app is due to be removed with: gitlab#460631 (closed)
Other considerations
There is a current epic to refactor and enhance GlFormCombobox here: &8901
GlFormCombobox uses the deprecated gl-dropdown-item
, here is the issue to replace: #1974
Options for Moving Forward
- Make autocomplete possible on GlFormInput by passing an optional
autocomplete-options
array, then deprecate GlFormCombobox - Keep GlFormCombobox but remove unused
action
andresults
slots as they not used, maybe rename to show that this is an unvalidated text input with built in autocomplete