Skip to content

The expand and collapse of global navigation at level three is too greedy

When making use of the new level 4 and level 5 nested-documentation functionality !1625 (merged), expanding and collapsing a level three item can hide other level three items, instead of limiting itself to it's own level 4 and level 5.

For example, this structure that only has level three items is fine:

- category_title: Repository storage
  category_url: 'administration/repository_storage_paths.html'
  docs:
    - doc_title: Repository storage types
      doc_url: 'administration/repository_storage_types.html'
    - doc_title: Gitaly
      doc_url: 'administration/gitaly/'
    - doc_title: Configure Gitaly
      doc_url: 'administration/gitaly/configure_gitaly.html'
    - doc_title: Gitaly Cluster
      doc_url: 'administration/gitaly/praefect.html'
    - doc_title: Gitaly reference
      doc_url: 'administration/gitaly/reference.html'
    - doc_title: Gitaly timeouts
      doc_url: 'user/admin_area/settings/gitaly_timeouts.html'

It produces:

Screen_Recording_2021-03-26_at_11.59.15_am

This structure with level four items malfunctions:

- category_title: Repository storage
  category_url: 'administration/repository_storage_paths.html'
  docs:
    - doc_title: Repository storage types
      doc_url: 'administration/repository_storage_types.html'
    - doc_title: Gitaly
      doc_url: 'administration/gitaly/'
      docs:
        - doc_title: Configure Gitaly
          doc_url: 'administration/gitaly/configure_gitaly.html'
        - doc_title: Configure Gitaly Cluster
          doc_url: 'administration/gitaly/praefect.html'
    - doc_title: Gitaly reference
      doc_url: 'administration/gitaly/reference.html'
    - doc_title: Gitaly timeouts
      doc_url: 'user/admin_area/settings/gitaly_timeouts.html'

The level three item controls the visibility of level three items below it:

Screen_Recording_2021-03-26_at_12.08.13_pm

Interestingly, level four expand and collapse is ok for level five items:

- category_title: Repository storage
  category_url: 'administration/repository_storage_paths.html'
  docs:
    - doc_title: Repository storage types
      doc_url: 'administration/repository_storage_types.html'
    - doc_title: Gitaly
      doc_url: 'administration/gitaly/'
      docs:
        - doc_title: Configure Gitaly
          doc_url: 'administration/gitaly/configure_gitaly.html'
          docs:
            - doc_title: Gitaly timeouts
              doc_url: 'user/admin_area/settings/gitaly_timeouts.html'
        - doc_title: Configure Gitaly Cluster
          doc_url: 'administration/gitaly/praefect.html'
    - doc_title: Gitaly reference
      doc_url: 'administration/gitaly/reference.html'

Level four is ok, level three is too greedy:

Screen_Recording_2021-03-26_at_12.27.33_pm

CC @sselhorn @tnir @oregand @cnorris