Skip to content

Add view only state to filtered search input and tokens

Jiaan Louw requested to merge 1699-glfilteredsearch-add-view-only-mode into main

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:

  1. Adds a viewOnly prop to filtered_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.
  2. Adds a viewOnly prop to filtered_search_token.vue. When true:
    • Prevents any actions.
    • Overrides the pointer cursor.
    • Does not apply a mouse EH.
    • Sets viewOnly: true on the GlToken.
  3. Adds a viewOnly prop to filtered_search_token_segment.vue. When true:
    • Overrides the pointer cursor.
    • Does not apply a mouse EH.
  4. Adds a viewOnly prop to filtered_search_term.vue. When true:
    • Sets the input to readonly.
    • Applies readonly style to the input that matches form input.

Related issue

GlFilteredSearch - Add readonly state to search... (#1699 - closed)

Screenshots

View only
image

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:
  • 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" to aria-expanded="true" when an accordion is expanded.
  • Color combinations have sufficient contrast.

Closes #1699 (closed)

Edited by Jiaan Louw

Merge request reports