Commit 6e584f46 authored by Annabel Dunstone Gray's avatar Annabel Dunstone Gray

Merge branch 'add-vertical-scrolling-sub-nav' into 'master'

Add horizontal scrolling to all sub-navs on mobile viewports

## What does this MR do?
Adds horizontal scrolling to all the sub navigation on mobile views. This was previously only available on the repository tab (commits page). 

## Are there points in the code the reviewer needs to double check?
Perhaps a better way to refactor out the common haml code

## Why was this MR needed?
Adding it to all to keep the UI consistency and to offer mobile users a better interface

## What are the relevant issue numbers?
Closes #20779 

## Screenshots (if relevant)
Before:
![Screen_Shot_2016-08-23_at_3.52.35_PM](/uploads/3833da4252cf616266a77654cee89faf/Screen_Shot_2016-08-23_at_3.52.35_PM.png)

After:
![Screen_Shot_2016-08-23_at_3.52.21_PM](/uploads/5a023bb1e639f16f2471009dd6ae0d62/Screen_Shot_2016-08-23_at_3.52.21_PM.png)

## Does this MR meet the acceptance criteria?

- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- Tests
  - [x] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

See merge request !5762
parents 1bf2fe27 4d6dfeee
...@@ -13,6 +13,7 @@ v 8.12.0 (unreleased) ...@@ -13,6 +13,7 @@ v 8.12.0 (unreleased)
- Add Sentry logging to API calls - Add Sentry logging to API calls
- Automatically expand hidden discussions when accessed by a permalink !5585 (Mike Greiling) - Automatically expand hidden discussions when accessed by a permalink !5585 (Mike Greiling)
- Fix groups sort dropdown alignment (ClemMakesApps) - Fix groups sort dropdown alignment (ClemMakesApps)
- Add horizontal scrolling to all sub-navs on mobile viewports (ClemMakesApps)
- Added tests for diff notes - Added tests for diff notes
- Add delimiter to project stars and forks count (ClemMakesApps) - Add delimiter to project stars and forks count (ClemMakesApps)
- Fix badge count alignment (ClemMakesApps) - Fix badge count alignment (ClemMakesApps)
......
@mixin fade($gradient-direction, $rgba, $gradient-color) { @mixin fade($gradient-direction, $gradient-color) {
visibility: hidden; visibility: hidden;
opacity: 0; opacity: 0;
z-index: 2; z-index: 2;
...@@ -8,10 +8,10 @@ ...@@ -8,10 +8,10 @@
height: 30px; height: 30px;
transition-duration: .3s; transition-duration: .3s;
-webkit-transform: translateZ(0); -webkit-transform: translateZ(0);
background: -webkit-linear-gradient($gradient-direction, $rgba, $gradient-color 45%); background: -webkit-linear-gradient($gradient-direction, rgba($gradient-color, 0.4), $gradient-color 45%);
background: -o-linear-gradient($gradient-direction, $rgba, $gradient-color 45%); background: -o-linear-gradient($gradient-direction, rgba($gradient-color, 0.4), $gradient-color 45%);
background: -moz-linear-gradient($gradient-direction, $rgba, $gradient-color 45%); background: -moz-linear-gradient($gradient-direction, rgba($gradient-color, 0.4), $gradient-color 45%);
background: linear-gradient($gradient-direction, $rgba, $gradient-color 45%); background: linear-gradient($gradient-direction, rgba($gradient-color, 0.4), $gradient-color 45%);
&.scrolling { &.scrolling {
visibility: visible; visibility: visible;
...@@ -356,7 +356,7 @@ ...@@ -356,7 +356,7 @@
} }
.fade-right { .fade-right {
@include fade(left, rgba(255, 255, 255, 0.4), $background-color); @include fade(left, $background-color);
right: -5px; right: -5px;
.fa { .fa {
...@@ -365,7 +365,7 @@ ...@@ -365,7 +365,7 @@
} }
.fade-left { .fade-left {
@include fade(right, rgba(255, 255, 255, 0.4), $background-color); @include fade(right, $background-color);
left: -5px; left: -5px;
.fa { .fa {
...@@ -376,6 +376,7 @@ ...@@ -376,6 +376,7 @@
&.sub-nav-scroll { &.sub-nav-scroll {
.fade-right { .fade-right {
@include fade(left, $dark-background-color);
right: 0; right: 0;
.fa { .fa {
...@@ -384,6 +385,7 @@ ...@@ -384,6 +385,7 @@
} }
.fade-left { .fade-left {
@include fade(right, $dark-background-color);
left: 0; left: 0;
.fa { .fa {
...@@ -400,7 +402,7 @@ ...@@ -400,7 +402,7 @@
@include scrolling-links(); @include scrolling-links();
.fade-right { .fade-right {
@include fade(left, rgba(255, 255, 255, 0.4), $white-light); @include fade(left, $white-light);
right: -5px; right: -5px;
.fa { .fa {
...@@ -409,7 +411,7 @@ ...@@ -409,7 +411,7 @@
} }
.fade-left { .fade-left {
@include fade(right, rgba(255, 255, 255, 0.4), $white-light); @include fade(right, $white-light);
left: -5px; left: -5px;
.fa { .fa {
......
.nav-links.sub-nav .scrolling-tabs-container.sub-nav-scroll
%ul{ class: (container_class) } = render 'shared/nav_scroll'
= nav_link(controller: :system_info) do .nav-links.sub-nav.scrolling-tabs
= link_to admin_system_info_path, title: 'System Info' do %ul{ class: (container_class) }
%span = nav_link(controller: :system_info) do
System Info = link_to admin_system_info_path, title: 'System Info' do
= nav_link(controller: :background_jobs) do %span
= link_to admin_background_jobs_path, title: 'Background Jobs' do System Info
%span = nav_link(controller: :background_jobs) do
Background Jobs = link_to admin_background_jobs_path, title: 'Background Jobs' do
= nav_link(controller: :logs) do %span
= link_to admin_logs_path, title: 'Logs' do Background Jobs
%span = nav_link(controller: :logs) do
Logs = link_to admin_logs_path, title: 'Logs' do
= nav_link(controller: :health_check) do %span
= link_to admin_health_check_path, title: 'Health Check' do Logs
%span = nav_link(controller: :health_check) do
Health Check = link_to admin_health_check_path, title: 'Health Check' do
= nav_link(controller: :requests_profiles) do %span
= link_to admin_requests_profiles_path, title: 'Requests Profiles' do Health Check
%span = nav_link(controller: :requests_profiles) do
Requests Profiles = link_to admin_requests_profiles_path, title: 'Requests Profiles' do
%span
Requests Profiles
.nav-links.sub-nav .scrolling-tabs-container.sub-nav-scroll
%ul{ class: (container_class) } = render 'shared/nav_scroll'
= nav_link(controller: :dashboard, html_options: {class: 'home'}) do .nav-links.sub-nav.scrolling-tabs
= link_to admin_root_path, title: 'Overview' do %ul{ class: (container_class) }
%span = nav_link(controller: :dashboard, html_options: {class: 'home'}) do
Overview = link_to admin_root_path, title: 'Overview' do
= nav_link(controller: [:admin, :projects]) do %span
= link_to admin_namespaces_projects_path, title: 'Projects' do Overview
%span = nav_link(controller: [:admin, :projects]) do
Projects = link_to admin_namespaces_projects_path, title: 'Projects' do
= nav_link(controller: :users) do %span
= link_to admin_users_path, title: 'Users' do Projects
%span = nav_link(controller: :users) do
Users = link_to admin_users_path, title: 'Users' do
= nav_link(controller: :groups) do %span
= link_to admin_groups_path, title: 'Groups' do Users
%span = nav_link(controller: :groups) do
Groups = link_to admin_groups_path, title: 'Groups' do
= nav_link path: 'builds#index' do %span
= link_to admin_builds_path, title: 'Builds' do Groups
%span = nav_link path: 'builds#index' do
Builds = link_to admin_builds_path, title: 'Builds' do
= nav_link path: ['runners#index', 'runners#show'] do %span
= link_to admin_runners_path, title: 'Runners' do Builds
%span = nav_link path: ['runners#index', 'runners#show'] do
Runners = link_to admin_runners_path, title: 'Runners' do
%span
Runners
.scrolling-tabs-container.sub-nav-scroll .scrolling-tabs-container.sub-nav-scroll
.fade-left = render 'shared/nav_scroll'
= icon('angle-left')
.fade-right
= icon('angle-right')
.nav-links.sub-nav.scrolling-tabs .nav-links.sub-nav.scrolling-tabs
%ul{ class: (container_class) } %ul{ class: (container_class) }
= nav_link(controller: %w(tree blob blame edit_tree new_tree find_file)) do = nav_link(controller: %w(tree blob blame edit_tree new_tree find_file)) do
......
.nav-links.sub-nav .scrolling-tabs-container.sub-nav-scroll
%ul{ class: (container_class) } = render 'shared/nav_scroll'
.nav-links.sub-nav.scrolling-tabs
%ul{ class: (container_class) }
- content_for :page_specific_javascripts do - content_for :page_specific_javascripts do
= page_specific_javascript_tag('lib/chart.js') = page_specific_javascript_tag('lib/chart.js')
= page_specific_javascript_tag('graphs/graphs_bundle.js') = page_specific_javascript_tag('graphs/graphs_bundle.js')
= nav_link(action: :show) do = nav_link(action: :show) do
= link_to 'Contributors', namespace_project_graph_path = link_to 'Contributors', namespace_project_graph_path
= nav_link(action: :commits) do = nav_link(action: :commits) do
= link_to 'Commits', commits_namespace_project_graph_path = link_to 'Commits', commits_namespace_project_graph_path
= nav_link(action: :languages) do = nav_link(action: :languages) do
= link_to 'Languages', languages_namespace_project_graph_path = link_to 'Languages', languages_namespace_project_graph_path
- if @project.builds_enabled? - if @project.builds_enabled?
= nav_link(action: :ci) do = nav_link(action: :ci) do
= link_to ci_namespace_project_graph_path do = link_to ci_namespace_project_graph_path do
Continuous Integration Continuous Integration
.nav-links.sub-nav .scrolling-tabs-container.sub-nav-scroll
%ul{ class: (container_class) } = render 'shared/nav_scroll'
- if project_nav_tab?(:issues) && !current_controller?(:merge_requests) .nav-links.sub-nav.scrolling-tabs
= nav_link(controller: :issues) do %ul{ class: (container_class) }
= link_to namespace_project_issues_path(@project.namespace, @project), title: 'Issues' do - if project_nav_tab?(:issues) && !current_controller?(:merge_requests)
%span = nav_link(controller: :issues) do
Issues = link_to namespace_project_issues_path(@project.namespace, @project), title: 'Issues' do
%span
Issues
= nav_link(controller: :boards) do = nav_link(controller: :boards) do
= link_to namespace_project_board_path(@project.namespace, @project), title: 'Board' do = link_to namespace_project_board_path(@project.namespace, @project), title: 'Board' do
%span %span
Board Board
- if project_nav_tab?(:merge_requests) && current_controller?(:merge_requests) - if project_nav_tab?(:merge_requests) && current_controller?(:merge_requests)
= nav_link(controller: :merge_requests) do = nav_link(controller: :merge_requests) do
= link_to namespace_project_merge_requests_path(@project.namespace, @project), title: 'Merge Requests' do = link_to namespace_project_merge_requests_path(@project.namespace, @project), title: 'Merge Requests' do
%span %span
Merge Requests Merge Requests
- if project_nav_tab? :labels - if project_nav_tab? :labels
= nav_link(controller: :labels) do = nav_link(controller: :labels) do
= link_to namespace_project_labels_path(@project.namespace, @project), title: 'Labels' do = link_to namespace_project_labels_path(@project.namespace, @project), title: 'Labels' do
%span %span
Labels Labels
- if project_nav_tab? :milestones - if project_nav_tab? :milestones
= nav_link(controller: :milestones) do = nav_link(controller: :milestones) do
= link_to namespace_project_milestones_path(@project.namespace, @project), title: 'Milestones' do = link_to namespace_project_milestones_path(@project.namespace, @project), title: 'Milestones' do
%span %span
Milestones Milestones
\ No newline at end of file
.nav-links.sub-nav .scrolling-tabs-container.sub-nav-scroll
%ul{ class: (container_class) } = render 'shared/nav_scroll'
- if project_nav_tab? :pipelines .nav-links.sub-nav.scrolling-tabs
= nav_link(controller: :pipelines) do %ul{ class: (container_class) }
= link_to project_pipelines_path(@project), title: 'Pipelines', class: 'shortcuts-pipelines' do - if project_nav_tab? :pipelines
%span = nav_link(controller: :pipelines) do
Pipelines = link_to project_pipelines_path(@project), title: 'Pipelines', class: 'shortcuts-pipelines' do
%span
Pipelines
- if project_nav_tab? :builds - if project_nav_tab? :builds
= nav_link(controller: %w(builds)) do = nav_link(controller: %w(builds)) do
= link_to project_builds_path(@project), title: 'Builds', class: 'shortcuts-builds' do = link_to project_builds_path(@project), title: 'Builds', class: 'shortcuts-builds' do
%span %span
Builds Builds
- if project_nav_tab? :environments - if project_nav_tab? :environments
= nav_link(controller: %w(environments)) do = nav_link(controller: %w(environments)) do
= link_to project_environments_path(@project), title: 'Environments', class: 'shortcuts-environments' do = link_to project_environments_path(@project), title: 'Environments', class: 'shortcuts-environments' do
%span %span
Environments Environments
.nav-links.sub-nav .scrolling-tabs-container.sub-nav-scroll
%ul{ class: (container_class) } = render 'shared/nav_scroll'
= nav_link(html_options: {class: params[:id] == 'home' ? 'active' : '' }) do .nav-links.sub-nav.scrolling-tabs
= link_to 'Home', namespace_project_wiki_path(@project.namespace, @project, :home) %ul{ class: (container_class) }
= nav_link(html_options: {class: params[:id] == 'home' ? 'active' : '' }) do
= link_to 'Home', namespace_project_wiki_path(@project.namespace, @project, :home)
= nav_link(path: 'wikis#pages') do = nav_link(path: 'wikis#pages') do
= link_to 'Pages', namespace_project_wiki_pages_path(@project.namespace, @project) = link_to 'Pages', namespace_project_wiki_pages_path(@project.namespace, @project)
= nav_link(path: 'wikis#git_access') do = nav_link(path: 'wikis#git_access') do
= link_to namespace_project_wikis_git_access_path(@project.namespace, @project) do = link_to namespace_project_wikis_git_access_path(@project.namespace, @project) do
Git Access Git Access
= render 'projects/wikis/new' = render 'projects/wikis/new'
.fade-left
= icon('angle-left')
.fade-right
= icon('angle-right')
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment