summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Zallmann <tzallmann@gitlab.com>2017-05-29 10:24:53 +0200
committerTim Zallmann <tzallmann@gitlab.com>2017-05-29 10:24:53 +0200
commite8a305170b33f06012def2afa80326c55257128a (patch)
tree988f9289e33fcac5d4ba7b477e4748b805f1a801
parentc5d3b723544cf2bbf2af95487f8ed5b72cbc0552 (diff)
downloadgitlab-ce-e8a305170b33f06012def2afa80326c55257128a.tar.gz
Externalised Dropdown
Checks for creating new issue Styling of .dropdown-bold-header Fixed Spinach Tests to limit them to the main content area for clicking 'New Project' etc. so that they don't click the dropdown menu
-rw-r--r--app/assets/stylesheets/framework/dropdowns.scss8
-rw-r--r--app/views/layouts/header/_new_dropdown.haml55
-rw-r--r--features/steps/dashboard/new_project.rb2
-rw-r--r--features/steps/project/create.rb4
-rw-r--r--features/steps/project/forked_merge_requests.rb4
-rw-r--r--features/steps/project/issues/issues.rb4
6 files changed, 46 insertions, 31 deletions
diff --git a/app/assets/stylesheets/framework/dropdowns.scss b/app/assets/stylesheets/framework/dropdowns.scss
index 5ab48b6c874..9613006d021 100644
--- a/app/assets/stylesheets/framework/dropdowns.scss
+++ b/app/assets/stylesheets/framework/dropdowns.scss
@@ -261,7 +261,13 @@
text-transform: capitalize;
}
- .separator + .dropdown-header {
+ .dropdown-bold-header {
+ font-weight: 600;
+ line-height: 22px;
+ padding: 0 16px;
+ }
+
+ .separator + .dropdown-header, .separator + .dropdown-bold-header {
padding-top: 2px;
}
diff --git a/app/views/layouts/header/_new_dropdown.haml b/app/views/layouts/header/_new_dropdown.haml
index 931c02b7268..e9d45802bac 100644
--- a/app/views/layouts/header/_new_dropdown.haml
+++ b/app/views/layouts/header/_new_dropdown.haml
@@ -3,35 +3,38 @@
= icon('plus fw')
= icon('caret-down')
.dropdown-menu-nav.dropdown-menu-align-right
- %ul
- - create_group_project = can?(current_user, :create_projects, @group)
- - create_group_subgroup = can?(current_user, :create_subgroup, @group)
- - if @group && (create_group_project || create_group_subgroup)
- %li
- .bold This group
- - if create_group_project
- %li
- = link_to 'New project', new_project_path(namespace_id: @group.id)
- - if create_group_subgroup
- %li
- = link_to 'New subgroup', new_group_path(parent_id: @group.id)
+ %ul
+ - if @group
+ - create_group_project = can?(current_user, :create_projects, @group)
+ - create_group_subgroup = can?(current_user, :create_subgroup, @group)
+ - if (create_group_project || create_group_subgroup)
+ %li.dropdown-bold-header This group
+ - if create_group_project
+ %li
+ = link_to 'New project', new_project_path(namespace_id: @group.id)
+ - if create_group_subgroup
+ %li
+ = link_to 'New subgroup', new_group_path(parent_id: @group.id)
+ %li.divider
+ %li.dropdown-bold-header GitLab
- if @project
- %li
- .bold This project
- %li
- = link_to 'New issue', new_namespace_project_issue_path(@project.namespace, @project)
+ - create_project_issue = can?(current_user, :create_issue, @project)
- merge_project = can?(current_user, :create_merge_request, @project) ? @project : (current_user && current_user.fork_of(@project))
- - if merge_project
- %li
- = link_to 'New merge request', new_namespace_project_merge_request_path(merge_project.namespace, merge_project)
- - if can?(current_user, :create_project_snippet, @project)
- %li
- = link_to 'New snippet', new_namespace_project_snippet_path(@project.namespace, @project)
- - if @group || @project
- %li.divider
- %li
- .bold GitLab
+ - create_project_snippet = can?(current_user, :create_project_snippet, @project)
+ - if (create_project_issue || create_project_mr || create_project_snippet)
+ %li.dropdown-bold-header This project
+ - if create_project_issue
+ %li
+ = link_to 'New issue', new_namespace_project_issue_path(@project.namespace, @project)
+ - if merge_project
+ %li
+ = link_to 'New merge request', new_namespace_project_merge_request_path(merge_project.namespace, merge_project)
+ - if create_project_snippet
+ %li
+ = link_to 'New snippet', new_namespace_project_snippet_path(@project.namespace, @project)
+ %li.divider
+ %li.dropdown-bold-header GitLab
- if current_user.can_create_project?
%li
= link_to 'New project', new_project_path
diff --git a/features/steps/dashboard/new_project.rb b/features/steps/dashboard/new_project.rb
index 4fb16d3bb57..766aa9b0468 100644
--- a/features/steps/dashboard/new_project.rb
+++ b/features/steps/dashboard/new_project.rb
@@ -4,7 +4,7 @@ class Spinach::Features::NewProject < Spinach::FeatureSteps
include SharedProject
step 'I click "New project" link' do
- page.within('.content') do
+ page.within '#content-body' do
click_link "New project"
end
end
diff --git a/features/steps/project/create.rb b/features/steps/project/create.rb
index 5f5f806df36..28be9c6df5b 100644
--- a/features/steps/project/create.rb
+++ b/features/steps/project/create.rb
@@ -5,7 +5,9 @@ class Spinach::Features::ProjectCreate < Spinach::FeatureSteps
step 'fill project form with valid data' do
fill_in 'project_path', with: 'Empty'
- click_button "Create project"
+ page.within '#content-body' do
+ click_button "Create project"
+ end
end
step 'I should see project page' do
diff --git a/features/steps/project/forked_merge_requests.rb b/features/steps/project/forked_merge_requests.rb
index 25514eb9ef2..2d9d3efd9d4 100644
--- a/features/steps/project/forked_merge_requests.rb
+++ b/features/steps/project/forked_merge_requests.rb
@@ -17,7 +17,9 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps
end
step 'I click link "New Merge Request"' do
- page.has_link?('New Merge Request') ? click_link("New Merge Request") : click_link('New merge request')
+ page.within '#content-body' do
+ page.has_link?('New Merge Request') ? click_link("New Merge Request") : click_link('New merge request')
+ end
end
step 'I should see merge request "Merge Request On Forked Project"' do
diff --git a/features/steps/project/issues/issues.rb b/features/steps/project/issues/issues.rb
index 637e6568267..b376c5049c1 100644
--- a/features/steps/project/issues/issues.rb
+++ b/features/steps/project/issues/issues.rb
@@ -62,7 +62,9 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
end
step 'I click link "New issue"' do
- page.has_link?('New Issue') ? click_link('New Issue') : click_link('New issue')
+ page.within '#content-body' do
+ page.has_link?('New Issue') ? click_link('New Issue') : click_link('New issue')
+ end
end
step 'I click "author" dropdown' do