diff options
| author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-03-14 18:08:55 +0000 |
|---|---|---|
| committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-03-14 18:08:55 +0000 |
| commit | 3828d19ab2d68dd6cafa6f08221e1eee572671e7 (patch) | |
| tree | afd36fcf20499d876493bf24bd9f0ee926454547 /lib/sidebars | |
| parent | 3e764061b3209d4deee2a55851d5d564a9f19d8b (diff) | |
| download | gitlab-ce-3828d19ab2d68dd6cafa6f08221e1eee572671e7.tar.gz | |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/sidebars')
| -rw-r--r-- | lib/sidebars/explore/menus/groups_menu.rb | 34 | ||||
| -rw-r--r-- | lib/sidebars/explore/menus/projects_menu.rb | 34 | ||||
| -rw-r--r-- | lib/sidebars/explore/menus/snippets_menu.rb | 34 | ||||
| -rw-r--r-- | lib/sidebars/explore/menus/topics_menu.rb | 34 | ||||
| -rw-r--r-- | lib/sidebars/explore/panel.rb | 39 | ||||
| -rw-r--r-- | lib/sidebars/groups/menus/invite_team_members_menu.rb | 46 | ||||
| -rw-r--r-- | lib/sidebars/groups/panel.rb | 10 | ||||
| -rw-r--r-- | lib/sidebars/panel.rb | 1 | ||||
| -rw-r--r-- | lib/sidebars/projects/menus/invite_team_members_menu.rb | 47 | ||||
| -rw-r--r-- | lib/sidebars/projects/panel.rb | 8 |
10 files changed, 175 insertions, 112 deletions
diff --git a/lib/sidebars/explore/menus/groups_menu.rb b/lib/sidebars/explore/menus/groups_menu.rb new file mode 100644 index 00000000000..542da0ad7fd --- /dev/null +++ b/lib/sidebars/explore/menus/groups_menu.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Sidebars + module Explore + module Menus + class GroupsMenu < ::Sidebars::Menu + override :link + def link + explore_groups_path + end + + override :title + def title + _('Groups') + end + + override :sprite_icon + def sprite_icon + 'group' + end + + override :render? + def render? + true + end + + override :active_routes + def active_routes + { controller: ['explore/groups'] } + end + end + end + end +end diff --git a/lib/sidebars/explore/menus/projects_menu.rb b/lib/sidebars/explore/menus/projects_menu.rb new file mode 100644 index 00000000000..29c35d23b7b --- /dev/null +++ b/lib/sidebars/explore/menus/projects_menu.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Sidebars + module Explore + module Menus + class ProjectsMenu < ::Sidebars::Menu + override :link + def link + explore_projects_path + end + + override :title + def title + _('Projects') + end + + override :sprite_icon + def sprite_icon + 'project' + end + + override :render? + def render? + true + end + + override :active_routes + def active_routes + { page: [link, explore_root_path] } + end + end + end + end +end diff --git a/lib/sidebars/explore/menus/snippets_menu.rb b/lib/sidebars/explore/menus/snippets_menu.rb new file mode 100644 index 00000000000..67b852258a7 --- /dev/null +++ b/lib/sidebars/explore/menus/snippets_menu.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Sidebars + module Explore + module Menus + class SnippetsMenu < ::Sidebars::Menu + override :link + def link + explore_snippets_path + end + + override :title + def title + _('Snippets') + end + + override :sprite_icon + def sprite_icon + 'snippet' + end + + override :render? + def render? + true + end + + override :active_routes + def active_routes + { controller: ['explore/snippets'] } + end + end + end + end +end diff --git a/lib/sidebars/explore/menus/topics_menu.rb b/lib/sidebars/explore/menus/topics_menu.rb new file mode 100644 index 00000000000..5e0a7897873 --- /dev/null +++ b/lib/sidebars/explore/menus/topics_menu.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Sidebars + module Explore + module Menus + class TopicsMenu < ::Sidebars::Menu + override :link + def link + topics_explore_projects_path + end + + override :title + def title + _('Topics') + end + + override :sprite_icon + def sprite_icon + 'labels' + end + + override :render? + def render? + true + end + + override :active_routes + def active_routes + { page: link, path: 'projects#topic' } + end + end + end + end +end diff --git a/lib/sidebars/explore/panel.rb b/lib/sidebars/explore/panel.rb new file mode 100644 index 00000000000..9a585a99705 --- /dev/null +++ b/lib/sidebars/explore/panel.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +module Sidebars + module Explore + class Panel < ::Sidebars::Panel + override :configure_menus + def configure_menus + add_menus + end + + override :aria_label + def aria_label + _('Explore') + end + + override :render_raw_scope_menu_partial + def render_raw_scope_menu_partial + "shared/nav/explore_scope_header" + end + + override :super_sidebar_context_header + def super_sidebar_context_header + { + title: aria_label, + icon: 'compass' + } + end + + private + + def add_menus + add_menu(Sidebars::Explore::Menus::ProjectsMenu.new(context)) + add_menu(Sidebars::Explore::Menus::GroupsMenu.new(context)) + add_menu(Sidebars::Explore::Menus::TopicsMenu.new(context)) + add_menu(Sidebars::Explore::Menus::SnippetsMenu.new(context)) + end + end + end +end diff --git a/lib/sidebars/groups/menus/invite_team_members_menu.rb b/lib/sidebars/groups/menus/invite_team_members_menu.rb deleted file mode 100644 index 0779b696061..00000000000 --- a/lib/sidebars/groups/menus/invite_team_members_menu.rb +++ /dev/null @@ -1,46 +0,0 @@ -# frozen_string_literal: true - -module Sidebars - module Groups - module Menus - class InviteTeamMembersMenu < ::Sidebars::Menu - override :title - def title - s_('InviteMember|Invite members') - end - - override :render? - def render? - can?(context.current_user, :admin_group_member, context.group) && all_valid_members.size <= 1 - end - - override :menu_partial - def menu_partial - 'groups/invite_members_side_nav_link' - end - - override :menu_partial_options - def menu_partial_options - { - group: context.group, - title: title, - sidebar_menu: self - } - end - - override :extra_nav_link_html_options - def extra_nav_link_html_options - { - 'data-test-id': 'side-nav-invite-members' - } - end - - private - - def all_valid_members - GroupMembersFinder.new(context.group, context.current_user).execute - end - end - end - end -end diff --git a/lib/sidebars/groups/panel.rb b/lib/sidebars/groups/panel.rb index e8b815bdce7..77ca51ddf92 100644 --- a/lib/sidebars/groups/panel.rb +++ b/lib/sidebars/groups/panel.rb @@ -16,22 +16,12 @@ module Sidebars add_menu(Sidebars::Groups::Menus::PackagesRegistriesMenu.new(context)) add_menu(Sidebars::Groups::Menus::CustomerRelationsMenu.new(context)) add_menu(Sidebars::Groups::Menus::SettingsMenu.new(context)) - add_invite_members_menu end override :aria_label def aria_label context.group.subgroup? ? _('Subgroup navigation') : _('Group navigation') end - - private - - def add_invite_members_menu - experiment(:invite_members_in_side_nav, group: context.group) do |e| - e.control {} - e.candidate { add_menu(Sidebars::Groups::Menus::InviteTeamMembersMenu.new(context)) } - end - end end end end diff --git a/lib/sidebars/panel.rb b/lib/sidebars/panel.rb index aa8ff177caa..4c0d4caf81e 100644 --- a/lib/sidebars/panel.rb +++ b/lib/sidebars/panel.rb @@ -4,7 +4,6 @@ module Sidebars class Panel extend ::Gitlab::Utils::Override include ::Sidebars::Concerns::PositionableList - include Gitlab::Experiment::Dsl attr_reader :context, :scope_menu, :hidden_menu diff --git a/lib/sidebars/projects/menus/invite_team_members_menu.rb b/lib/sidebars/projects/menus/invite_team_members_menu.rb deleted file mode 100644 index 0db49f1e12a..00000000000 --- a/lib/sidebars/projects/menus/invite_team_members_menu.rb +++ /dev/null @@ -1,47 +0,0 @@ -# frozen_string_literal: true - -module Sidebars - module Projects - module Menus - class InviteTeamMembersMenu < ::Sidebars::Menu - override :title - def title - s_('InviteMember|Invite members') - end - - override :render? - def render? - can?(context.current_user, :admin_project_member, context.project) && all_valid_members.size <= 1 - end - - override :menu_partial - def menu_partial - 'projects/invite_members_side_nav_link' - end - - override :menu_partial_options - def menu_partial_options - { - project: context.project, - title: title, - sidebar_menu: self - } - end - - override :extra_nav_link_html_options - def extra_nav_link_html_options - { - 'data-test-id': 'side-nav-invite-members' - } - end - - private - - def all_valid_members - MembersFinder.new(context.project, context.current_user) - .execute(include_relations: [:inherited, :direct, :invited_groups]) - end - end - end - end -end diff --git a/lib/sidebars/projects/panel.rb b/lib/sidebars/projects/panel.rb index 9d0f5eb87bd..5d8bc18ac88 100644 --- a/lib/sidebars/projects/panel.rb +++ b/lib/sidebars/projects/panel.rb @@ -34,14 +34,6 @@ module Sidebars add_wiki_menus add_menu(Sidebars::Projects::Menus::SnippetsMenu.new(context)) add_menu(Sidebars::Projects::Menus::SettingsMenu.new(context)) - add_invite_members_menu - end - - def add_invite_members_menu - experiment(:invite_members_in_side_nav, group: context.project.group) do |e| - e.control {} - e.candidate { add_menu(Sidebars::Projects::Menus::InviteTeamMembersMenu.new(context)) } - end end def add_wiki_menus |
