2021-04-12 12:09:15 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Sidebars
|
|
|
|
module Projects
|
|
|
|
class Panel < ::Sidebars::Panel
|
2021-04-14 15:09:04 +00:00
|
|
|
override :configure_menus
|
|
|
|
def configure_menus
|
2021-04-23 12:09:52 +00:00
|
|
|
set_scope_menu(Sidebars::Projects::Menus::ScopeMenu.new(context))
|
2021-05-10 09:10:28 +00:00
|
|
|
set_hidden_menu(Sidebars::Projects::Menus::HiddenMenu.new(context))
|
2021-05-14 18:10:34 +00:00
|
|
|
add_menus
|
|
|
|
end
|
|
|
|
|
|
|
|
override :aria_label
|
|
|
|
def aria_label
|
|
|
|
_('Project navigation')
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
2021-04-15 15:09:11 +00:00
|
|
|
|
2021-05-14 18:10:34 +00:00
|
|
|
def add_menus
|
2021-05-07 18:10:21 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::ProjectInformationMenu.new(context))
|
2021-04-23 12:09:52 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::LearnGitlabMenu.new(context))
|
|
|
|
add_menu(Sidebars::Projects::Menus::RepositoryMenu.new(context))
|
2021-04-26 12:09:44 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::IssuesMenu.new(context))
|
2021-04-27 12:10:12 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::ExternalIssueTrackerMenu.new(context))
|
2021-10-29 00:10:36 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::ZentaoMenu.new(context))
|
2021-04-28 15:09:35 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::MergeRequestsMenu.new(context))
|
2021-04-29 09:10:11 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::CiCdMenu.new(context))
|
2021-04-29 15:10:07 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::SecurityComplianceMenu.new(context))
|
2021-05-14 18:10:34 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::DeploymentsMenu.new(context))
|
2021-05-04 09:09:59 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::PackagesRegistriesMenu.new(context))
|
2022-04-29 09:09:48 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::InfrastructureMenu.new(context))
|
|
|
|
add_menu(Sidebars::Projects::Menus::MonitorMenu.new(context))
|
2021-05-05 12:10:33 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::AnalyticsMenu.new(context))
|
2021-11-18 18:14:27 +00:00
|
|
|
add_wiki_menus
|
2021-05-06 18:10:06 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::SnippetsMenu.new(context))
|
2021-05-07 12:10:27 +00:00
|
|
|
add_menu(Sidebars::Projects::Menus::SettingsMenu.new(context))
|
2021-11-17 06:12:07 +00:00
|
|
|
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
|
2021-04-12 12:09:15 +00:00
|
|
|
end
|
|
|
|
|
2021-11-18 18:14:27 +00:00
|
|
|
def add_wiki_menus
|
|
|
|
add_menu((third_party_wiki_menu || Sidebars::Projects::Menus::WikiMenu).new(context))
|
|
|
|
add_menu(Sidebars::Projects::Menus::ExternalWikiMenu.new(context))
|
|
|
|
end
|
|
|
|
|
|
|
|
def third_party_wiki_menu
|
|
|
|
wiki_menu_list = [::Sidebars::Projects::Menus::ConfluenceMenu]
|
|
|
|
wiki_menu_list << ::Sidebars::Projects::Menus::ShimoMenu if Feature.enabled?(:shimo_integration, context.project)
|
2021-05-06 12:10:38 +00:00
|
|
|
|
2021-11-18 18:14:27 +00:00
|
|
|
wiki_menu_list.find { |wiki_menu| wiki_menu.new(context).render? }
|
2021-05-06 12:10:38 +00:00
|
|
|
end
|
2021-04-12 12:09:15 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2021-04-27 12:10:12 +00:00
|
|
|
|
2021-05-11 21:10:21 +00:00
|
|
|
Sidebars::Projects::Panel.prepend_mod_with('Sidebars::Projects::Panel')
|