Skip to content
Snippets Groups Projects
Commit ff063023 authored by Sam Beckham's avatar Sam Beckham :red_circle: Committed by John Mason
Browse files

Adds a deploy section for groups

Moves package registry to the new menu
parent ef7b2147
No related branches found
No related tags found
1 merge request!120860Adds a deploy collection for groups and projects
Showing
with 127 additions and 31 deletions
......@@ -36,7 +36,7 @@ def packages_registry_menu_item
::Sidebars::MenuItem.new(
title: _('Package Registry'),
link: group_packages_path(context.group),
super_sidebar_parent: ::Sidebars::Groups::SuperSidebarMenus::OperationsMenu,
super_sidebar_parent: ::Sidebars::Groups::SuperSidebarMenus::DeployMenu,
active_routes: { controller: 'groups/packages' },
item_id: :packages_registry
)
......
# frozen_string_literal: true
module Sidebars
module Groups
module SuperSidebarMenus
class DeployMenu < ::Sidebars::Menu
override :title
def title
s_('Navigation|Deploy')
end
override :sprite_icon
def sprite_icon
'deployments'
end
override :configure_menu_items
def configure_menu_items
[
:packages_registry
].each { |id| add_item(::Sidebars::NilMenuItem.new(item_id: id)) }
end
end
end
end
end
......@@ -11,14 +11,13 @@ def title
override :sprite_icon
def sprite_icon
'deployments'
'cloud-pod'
end
override :configure_menu_items
def configure_menu_items
[
:dependency_proxy,
:packages_registry,
:container_registry,
:group_kubernetes_clusters
].each { |id| add_item(::Sidebars::NilMenuItem.new(item_id: id)) }
......
......@@ -17,6 +17,7 @@ def configure_menus
add_menu(Sidebars::Groups::SuperSidebarMenus::PlanMenu.new(context))
add_menu(Sidebars::Groups::SuperSidebarMenus::CodeMenu.new(context))
add_menu(Sidebars::Groups::SuperSidebarMenus::BuildMenu.new(context))
add_menu(Sidebars::Groups::SuperSidebarMenus::DeployMenu.new(context))
add_menu(Sidebars::Groups::SuperSidebarMenus::SecureMenu.new(context))
add_menu(Sidebars::Groups::SuperSidebarMenus::OperationsMenu.new(context))
add_menu(Sidebars::Groups::SuperSidebarMenus::MonitorMenu.new(context))
......
......@@ -49,7 +49,7 @@ def feature_flags_menu_item
::Sidebars::MenuItem.new(
title: s_('FeatureFlags|Feature flags'),
link: project_feature_flags_path(context.project),
super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::BuildMenu,
super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::DeployMenu,
active_routes: { controller: :feature_flags },
container_html_options: { class: 'shortcuts-feature-flags' },
item_id: :feature_flags
......@@ -64,7 +64,7 @@ def environments_menu_item
::Sidebars::MenuItem.new(
title: _('Environments'),
link: project_environments_path(context.project),
super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::BuildMenu,
super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::OperationsMenu,
active_routes: { controller: :environments },
container_html_options: { class: 'shortcuts-environments' },
item_id: :environments
......@@ -80,7 +80,7 @@ def releases_menu_item
::Sidebars::MenuItem.new(
title: _('Releases'),
link: project_releases_path(context.project),
super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::BuildMenu,
super_sidebar_parent: ::Sidebars::Projects::SuperSidebarMenus::DeployMenu,
item_id: :releases,
active_routes: { controller: :releases },
container_html_options: { class: 'shortcuts-deployments-releases' }
......
......@@ -39,7 +39,7 @@ def packages_registry_menu_item
::Sidebars::MenuItem.new(
title: _('Package Registry'),
link: project_packages_path(context.project),
super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::OperationsMenu,
super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::DeployMenu,
active_routes: { controller: :packages },
item_id: :packages_registry,
container_html_options: { class: 'shortcuts-container-registry' }
......@@ -54,7 +54,7 @@ def container_registry_menu_item
::Sidebars::MenuItem.new(
title: _('Container Registry'),
link: project_container_registry_index_path(context.project),
super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::OperationsMenu,
super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::DeployMenu,
active_routes: { controller: 'projects/registry/repositories' },
item_id: :container_registry
)
......@@ -98,7 +98,7 @@ def model_experiments_menu_item
::Sidebars::MenuItem.new(
title: _('Model experiments'),
link: project_ml_experiments_path(context.project),
super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::AnalyzeMenu,
super_sidebar_parent: Sidebars::Projects::SuperSidebarMenus::DeployMenu,
active_routes: { controller: %w[projects/ml/experiments projects/ml/candidates] },
item_id: :model_experiments
)
......
......@@ -25,8 +25,7 @@ def configure_menu_items
:code_review,
:merge_request_analytics,
:issues,
:insights,
:model_experiments
:insights
].each { |id| add_item(::Sidebars::NilMenuItem.new(item_id: id)) }
end
end
......
......@@ -20,10 +20,7 @@ def configure_menu_items
:pipelines,
:jobs,
:pipelines_editor,
:releases,
:environments,
:pipeline_schedules,
:feature_flags,
:test_cases,
:artifacts
].each { |id| add_item(::Sidebars::NilMenuItem.new(item_id: id)) }
......
# frozen_string_literal: true
module Sidebars
module Projects
module SuperSidebarMenus
class DeployMenu < ::Sidebars::Menu
override :title
def title
s_('Navigation|Deploy')
end
override :sprite_icon
def sprite_icon
'deployments'
end
override :configure_menu_items
def configure_menu_items
[
:releases,
:feature_flags,
:packages_registry,
:container_registry,
:model_experiments
].each { |id| add_item(::Sidebars::NilMenuItem.new(item_id: id)) }
end
end
end
end
end
......@@ -11,14 +11,13 @@ def title
override :sprite_icon
def sprite_icon
'deployments'
'cloud-pod'
end
override :configure_menu_items
def configure_menu_items
[
:packages_registry,
:container_registry,
:environments,
:kubernetes,
:terraform_states,
:infrastructure_registry,
......
......@@ -17,6 +17,7 @@ def configure_menus
add_menu(Sidebars::Projects::SuperSidebarMenus::PlanMenu.new(context))
add_menu(Sidebars::Projects::SuperSidebarMenus::CodeMenu.new(context))
add_menu(Sidebars::Projects::SuperSidebarMenus::BuildMenu.new(context))
add_menu(Sidebars::Projects::SuperSidebarMenus::DeployMenu.new(context))
add_menu(Sidebars::Projects::SuperSidebarMenus::SecureMenu.new(context))
add_menu(Sidebars::Projects::SuperSidebarMenus::OperationsMenu.new(context))
add_menu(Sidebars::Projects::SuperSidebarMenus::MonitorMenu.new(context))
......
......@@ -29508,6 +29508,9 @@ msgstr ""
msgid "Navigation|Context navigation"
msgstr ""
 
msgid "Navigation|Deploy"
msgstr ""
msgid "Navigation|Enter admin mode"
msgstr ""
 
......@@ -89,7 +89,7 @@
before do
within '#super-sidebar' do
click_on 'Operate'
add_pin('Package Registry')
add_pin('Terraform states')
add_pin('Terraform modules')
wait_for_requests
end
......@@ -97,8 +97,8 @@
it 'can be unpinned from within the pinned section' do
within '[data-testid="pinned-nav-items"]' do
remove_pin('Package Registry')
expect(page).not_to have_content 'Package Registry'
remove_pin('Terraform states')
expect(page).not_to have_content 'Terraform states'
end
end
......@@ -117,7 +117,7 @@
it 'can be reordered' do
within '[data-testid="pinned-nav-items"]' do
pinned_items = page.find_all('a').map(&:text)
item2 = page.find('a', text: 'Package Registry')
item2 = page.find('a', text: 'Terraform states')
item3 = page.find('a', text: 'Terraform modules')
expect(pinned_items[1..2]).to eq [item2.text, item3.text]
drag_item(item3, to: item2)
......
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Sidebars::Groups::SuperSidebarMenus::DeployMenu, feature_category: :navigation do
subject { described_class.new({}) }
let(:items) { subject.instance_variable_get(:@items) }
it 'has title and sprite_icon' do
expect(subject.title).to eq(s_("Navigation|Deploy"))
expect(subject.sprite_icon).to eq("deployments")
end
it 'defines list of NilMenuItem placeholders' do
expect(items.map(&:class).uniq).to eq([Sidebars::NilMenuItem])
expect(items.map(&:item_id)).to eq([
:packages_registry
])
end
end
......@@ -9,14 +9,13 @@
it 'has title and sprite_icon' do
expect(subject.title).to eq(s_("Navigation|Operate"))
expect(subject.sprite_icon).to eq("deployments")
expect(subject.sprite_icon).to eq("cloud-pod")
end
it 'defines list of NilMenuItem placeholders' do
expect(items.map(&:class).uniq).to eq([Sidebars::NilMenuItem])
expect(items.map(&:item_id)).to eq([
:dependency_proxy,
:packages_registry,
:container_registry,
:group_kubernetes_clusters
])
......
......@@ -36,6 +36,7 @@
Sidebars::Groups::SuperSidebarMenus::PlanMenu,
Sidebars::Groups::SuperSidebarMenus::CodeMenu,
Sidebars::Groups::SuperSidebarMenus::BuildMenu,
Sidebars::Groups::SuperSidebarMenus::DeployMenu,
Sidebars::Groups::SuperSidebarMenus::SecureMenu,
Sidebars::Groups::SuperSidebarMenus::OperationsMenu,
Sidebars::Groups::SuperSidebarMenus::MonitorMenu,
......
......@@ -23,8 +23,7 @@
:code_review,
:merge_request_analytics,
:issues,
:insights,
:model_experiments
:insights
])
end
end
......@@ -18,10 +18,7 @@
:pipelines,
:jobs,
:pipelines_editor,
:releases,
:environments,
:pipeline_schedules,
:feature_flags,
:test_cases,
:artifacts
])
......
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Sidebars::Projects::SuperSidebarMenus::DeployMenu, feature_category: :navigation do
subject { described_class.new({}) }
let(:items) { subject.instance_variable_get(:@items) }
it 'has title and sprite_icon' do
expect(subject.title).to eq(s_("Navigation|Deploy"))
expect(subject.sprite_icon).to eq("deployments")
end
it 'defines list of NilMenuItem placeholders' do
expect(items.map(&:class).uniq).to eq([Sidebars::NilMenuItem])
expect(items.map(&:item_id)).to eq([
:releases,
:feature_flags,
:packages_registry,
:container_registry,
:model_experiments
])
end
end
......@@ -9,14 +9,13 @@
it 'has title and sprite_icon' do
expect(subject.title).to eq(s_("Navigation|Operate"))
expect(subject.sprite_icon).to eq("deployments")
expect(subject.sprite_icon).to eq("cloud-pod")
end
it 'defines list of NilMenuItem placeholders' do
expect(items.map(&:class).uniq).to eq([Sidebars::NilMenuItem])
expect(items.map(&:item_id)).to eq([
:packages_registry,
:container_registry,
:environments,
:kubernetes,
:terraform_states,
:infrastructure_registry,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment