Add view only state to filtered search input and tokens
What does this MR do?
Add a view-only property to all filtered search components. When set it true a user can only view the token values and editing is disabled.
The following changes are made:
- Adds a
viewOnly
prop tofiltered_search.vue
. When true:- Disables
gl-search-box-by-click
. - Prevents an empty token from being appended.
- Adds styling that matches a
readonly
form input. - Propagates down to the other token components.
- Disables
- Adds a
viewOnly
prop tofiltered_search_token.vue
. When true:- Prevents any actions.
- Overrides the pointer cursor.
- Does not apply a mouse EH.
- Sets
viewOnly: true
on theGlToken
.
- Adds a
viewOnly
prop tofiltered_search_token_segment.vue
. When true:- Overrides the pointer cursor.
- Does not apply a mouse EH.
- Adds a
viewOnly
prop tofiltered_search_term.vue
. When true:- Sets the input to
readonly
. - Applies
readonly
style to the input that matches form input.
- Sets the input to
Related issue
GlFilteredSearch - Add readonly state to search... (#1699 - closed)
Screenshots
View only |
---|
![]() |
Does this MR meet the acceptance criteria?
Conformity
-
Code review guidelines. -
GitLab UI's contributing guidlines. -
If it changes a Pajamas-compliant component's look & feel, the MR has been reviewed by a UX designer. -
If it changes GitLab UI's documentation guidelines, the MR has been reviewed by a Technical Writer. -
If the MR changes a component's API, integration MR(s) have been opened in the following projects to ensure that the @gitlab/ui
package can be upgraded quickly after the changes are released:-
GitLab: mr_url -
CustomersDot: mr_url -
Status Page: mr_url
-
-
Added the ~"component:*"
label(s) if applicable.
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
Security reports checked/validated by a reviewer from the AppSec team
Accessibility
If this MR adds or modifies a component, take a few moments to review the following:
-
All actions and functionality can be done with a keyboard. -
Links, buttons, and controls have a visible focus state. -
All content is presented in text or with a text equivalent. For example, alt text for SVG, or aria-label
for icons that have meaning or perform actions. -
Changes in a component’s state are announced by a screen reader. For example, changing aria-expanded="false"
toaria-expanded="true"
when an accordion is expanded. -
Color combinations have sufficient contrast.
Closes #1699 (closed)
Edited by Jiaan Louw