Skip to content

Draft: feat(GlDrawer): change drawer layout concept

Artur Fedorov requested to merge 1964-new-drawer-layout into main

What does this MR do?

This MR resolves #1964

As a follow-up of this comment

It makes header sticky by default and reorganise drawer layout.

Drawer is not scrollable anymore, only drawer-body.

It helps keep header and footer sticky and scrim becomes a pseudo element

of a drawer-body

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.

Screenshots

Here is a list of components in gitlab using drawer

GlDrawer uses in GitLab
  • ~/pipeline_editor/components/drawer/pipeline_editor_drawer.vue
  • ~/crm/components/form.vue
  • ~/whats_new/components/app.vue
  • ~/boards/components/board_content_sidebar.vue
  • ~/boards/components/board_settings_sidebar.vue
  • ee/roadmap/components/roadmap_settings.vue
  • ee/security_orchestration/components/policy_drawer/policy_drawer.vue
  • ee/requirements/components/requirement_form.vue
  • ee/boards/components/epic_board_content_sidebar.vue
  • ee/security_configuration/dast_profiles/dast_profiles_sidebar/dast_profiles_sidebar.vue
    • This is the only one currently opting in to a stick header.
  • ee/compliance_dashboard/components/drawer.vue
Drawer Screenshot after padding change
~/pipeline_editor/components/drawer/pipeline_editor_drawer.vue Screenshot_2022-12-26_at_20.27.30
~/crm/components/form.vue Screenshot_2022-12-26_at_20.34.33
~/whats_new/components/app.vue

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 #1964

Edited by Artur Fedorov

Merge request reports

Loading