summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/projects/clusters_controller.rb7
-rw-r--r--app/views/projects/clusters/_tabs.html.haml16
-rw-r--r--app/views/projects/clusters/index.html.haml14
-rw-r--r--changelogs/unreleased/multiple-clusters-single-list.yml5
-rw-r--r--spec/controllers/projects/clusters_controller_spec.rb28
-rw-r--r--spec/features/projects/clusters_spec.rb11
6 files changed, 13 insertions, 68 deletions
diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb
index 0907daacbc3..4a7879db313 100644
--- a/app/controllers/projects/clusters_controller.rb
+++ b/app/controllers/projects/clusters_controller.rb
@@ -8,11 +8,8 @@ class Projects::ClustersController < Projects::ApplicationController
STATUS_POLLING_INTERVAL = 10_000
def index
- @scope = params[:scope] || 'all'
- @clusters = ClustersFinder.new(project, current_user, @scope).execute.page(params[:page])
- @active_count = ClustersFinder.new(project, current_user, :active).execute.count
- @inactive_count = ClustersFinder.new(project, current_user, :inactive).execute.count
- @all_count = @active_count + @inactive_count
+ clusters = ClustersFinder.new(project, current_user, :all).execute
+ @clusters = clusters.page(params[:page]).per(20)
end
def new
diff --git a/app/views/projects/clusters/_tabs.html.haml b/app/views/projects/clusters/_tabs.html.haml
deleted file mode 100644
index c8120e806fa..00000000000
--- a/app/views/projects/clusters/_tabs.html.haml
+++ /dev/null
@@ -1,16 +0,0 @@
-.top-area.scrolling-tabs-container.inner-page-scroll-tabs
- .fade-left= icon("angle-left")
- .fade-right= icon("angle-right")
- %ul.nav-links.scrolling-tabs
- %li{ class: ('active' if @scope == 'active') }>
- = link_to project_clusters_path(@project, scope: :active), class: "js-active-tab" do
- = s_("ClusterIntegration|Active")
- %span.badge= @active_count
- %li{ class: ('active' if @scope == 'inactive') }>
- = link_to project_clusters_path(@project, scope: :inactive), class: "js-inactive-tab" do
- = s_("ClusterIntegration|Inactive")
- %span.badge= @inactive_count
- %li{ class: ('active' if @scope.nil? || @scope == 'all') }>
- = link_to project_clusters_path(@project), class: "js-all-tab" do
- = s_("ClusterIntegration|All")
- %span.badge= @all_count
diff --git a/app/views/projects/clusters/index.html.haml b/app/views/projects/clusters/index.html.haml
index 104e39b0e06..bec512be91c 100644
--- a/app/views/projects/clusters/index.html.haml
+++ b/app/views/projects/clusters/index.html.haml
@@ -2,8 +2,12 @@
- page_title "Clusters"
.clusters-container
- - if !@clusters.empty?
- = render "tabs"
+ - if @clusters.empty?
+ = render "empty_state"
+ - else
+ .top-area.adjust
+ .nav-text
+ = s_("ClusterIntegration|Clusters can be used to deploy applications and to provide Review Apps for this project")
.ci-table.js-clusters-list
.gl-responsive-table-row.table-row-header{ role: "row" }
.table-section.section-30{ role: "rowheader" }
@@ -16,9 +20,3 @@
- @clusters.each do |cluster|
= render "cluster", cluster: cluster.present(current_user: current_user)
= paginate @clusters, theme: "gitlab"
- - elsif @scope == 'all'
- = render "empty_state"
- - else
- = render "tabs"
- .prepend-top-20.text-center
- = s_("ClusterIntegration|There are no clusters to show")
diff --git a/changelogs/unreleased/multiple-clusters-single-list.yml b/changelogs/unreleased/multiple-clusters-single-list.yml
new file mode 100644
index 00000000000..55743f3c00e
--- /dev/null
+++ b/changelogs/unreleased/multiple-clusters-single-list.yml
@@ -0,0 +1,5 @@
+---
+title: Present multiple clusters in a single list instead of a tabbed view
+merge_request: 15669
+author:
+type: changed
diff --git a/spec/controllers/projects/clusters_controller_spec.rb b/spec/controllers/projects/clusters_controller_spec.rb
index 280b7e4d8b9..a3b13647c92 100644
--- a/spec/controllers/projects/clusters_controller_spec.rb
+++ b/spec/controllers/projects/clusters_controller_spec.rb
@@ -27,13 +27,6 @@ describe Projects::ClustersController do
expect(assigns(:clusters)).to match_array([enabled_cluster, disabled_cluster])
end
- it 'assigns counters to correct values' do
- go
-
- expect(assigns(:active_count)).to eq(1)
- expect(assigns(:inactive_count)).to eq(1)
- end
-
context 'when page is specified' do
let(:last_page) { project.clusters.page.total_pages }
@@ -48,20 +41,6 @@ describe Projects::ClustersController do
expect(assigns(:clusters).current_page).to eq(last_page)
end
end
-
- context 'when only enabled clusters are requested' do
- it 'returns only enabled clusters' do
- get :index, namespace_id: project.namespace, project_id: project, scope: 'active'
- expect(assigns(:clusters)).to all(have_attributes(enabled: true))
- end
- end
-
- context 'when only disabled clusters are requested' do
- it 'returns only disabled clusters' do
- get :index, namespace_id: project.namespace, project_id: project, scope: 'inactive'
- expect(assigns(:clusters)).to all(have_attributes(enabled: false))
- end
- end
end
context 'when project does not have a cluster' do
@@ -74,13 +53,6 @@ describe Projects::ClustersController do
expect(response).to render_template(:index, partial: :empty_state)
expect(assigns(:clusters)).to eq([])
end
-
- it 'assigns counters to zero' do
- go
-
- expect(assigns(:active_count)).to eq(0)
- expect(assigns(:inactive_count)).to eq(0)
- end
end
end
diff --git a/spec/features/projects/clusters_spec.rb b/spec/features/projects/clusters_spec.rb
index 008bdf2044b..93929bf6814 100644
--- a/spec/features/projects/clusters_spec.rb
+++ b/spec/features/projects/clusters_spec.rb
@@ -35,17 +35,6 @@ feature 'Clusters', :js do
expect(page).to have_selector('.gl-responsive-table-row', count: 2)
end
- it 'user sees navigation tabs' do
- expect(page.find('.js-active-tab').text).to include('Active')
- expect(page.find('.js-active-tab .badge').text).to include('1')
-
- expect(page.find('.js-inactive-tab').text).to include('Inactive')
- expect(page.find('.js-inactive-tab .badge').text).to include('0')
-
- expect(page.find('.js-all-tab').text).to include('All')
- expect(page.find('.js-all-tab .badge').text).to include('1')
- end
-
context 'inline update of cluster' do
it 'user can update cluster' do
expect(page).to have_selector('.js-toggle-cluster-list')