Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-14 17:50:30 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-14 17:50:30 +0400
commit1555146adf7e23085f04eda76f3c7f213a2e774c (patch)
treecb9a1df1e365769ec7dc9c95950b165dffe6e974 /app
parent228386d15da884a7c8663193942a23352f35afcd (diff)
parent9c843041faf000a76bd2b542f594c061dab45c3a (diff)
Merge branch 'responsive-sidebar' into 'master'
Responsive sidebar Puts the sidebar on the dashboard in a off-screen sidebar that can be called by pressing a button with a fixed position. Any sidebar with the .responsive-sidebar class will follow this behavior. Button must be added manually.
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/application.js.coffee1
-rw-r--r--app/assets/javascripts/sidebar.js.coffee31
-rw-r--r--app/assets/stylesheets/application.scss5
-rw-r--r--app/assets/stylesheets/generic/sidebar.scss49
-rwxr-xr-xapp/views/dashboard/issues.html.haml4
-rwxr-xr-xapp/views/dashboard/merge_requests.html.haml4
-rw-r--r--app/views/dashboard/show.html.haml5
-rw-r--r--app/views/groups/issues.html.haml4
-rw-r--r--app/views/groups/merge_requests.html.haml4
-rw-r--r--app/views/projects/issues/index.html.haml4
-rw-r--r--app/views/projects/merge_requests/index.html.haml4
-rw-r--r--app/views/projects/milestones/index.html.haml4
-rw-r--r--app/views/shared/_filter.html.haml2
-rw-r--r--app/views/shared/_project_filter.html.haml2
14 files changed, 113 insertions, 10 deletions
diff --git a/app/assets/javascripts/application.js.coffee b/app/assets/javascripts/application.js.coffee
index 35e43554661..9bcd8f0a171 100644
--- a/app/assets/javascripts/application.js.coffee
+++ b/app/assets/javascripts/application.js.coffee
@@ -30,6 +30,7 @@
#= require nprogress
#= require nprogress-turbolinks
#= require dropzone
+#= require semantic-ui/sidebar
#= require_tree .
window.slugify = (text) ->
diff --git a/app/assets/javascripts/sidebar.js.coffee b/app/assets/javascripts/sidebar.js.coffee
new file mode 100644
index 00000000000..e4a8cc6a4b0
--- /dev/null
+++ b/app/assets/javascripts/sidebar.js.coffee
@@ -0,0 +1,31 @@
+responsive_resize = ->
+ current_width = $(window).width()
+ if current_width < 985
+ $('.responsive-side').addClass("ui right wide sidebar")
+ $('.responsive-side-left').addClass("ui left sidebar")
+ else
+ $('.responsive-side').removeClass("ui right wide sidebar")
+ $('.responsive-side-left').removeClass("ui left sidebar")
+
+$ ->
+ # Depending on window size, set the sidebar offscreen.
+ responsive_resize()
+
+ $('.ui.sidebar')
+ .sidebar()
+
+ $('.sidebar-expand-button').click ->
+ $('.ui.sidebar')
+ .sidebar({overlay: true})
+ .sidebar('toggle')
+
+ # Hide sidebar on click outside of sidebar
+ $(document).mouseup (e) ->
+ container = $(".ui.sidebar")
+ container.sidebar "hide" if not container.is(e.target) and container.has(e.target).length is 0
+ return
+
+# On resize, check if sidebar should be offscreen.
+$(window).resize ->
+ responsive_resize()
+ return
diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss
index 630d2aa429b..7d058ad7719 100644
--- a/app/assets/stylesheets/application.scss
+++ b/app/assets/stylesheets/application.scss
@@ -51,3 +51,8 @@
* Styles for JS behaviors.
*/
@import "behaviors.scss";
+
+/**
+* Styles for responsive sidebar
+*/
+@import "semantic-ui/modules/sidebar"
diff --git a/app/assets/stylesheets/generic/sidebar.scss b/app/assets/stylesheets/generic/sidebar.scss
new file mode 100644
index 00000000000..7d93db3cf90
--- /dev/null
+++ b/app/assets/stylesheets/generic/sidebar.scss
@@ -0,0 +1,49 @@
+.ui.sidebar {
+ z-index: 1000 !important;
+ background: #fff;
+ padding: 10px;
+ width: 285px;
+}
+
+.ui.left.sidebar {
+ border-right: 1px solid #e1e1e1;
+ border-left: 0;
+}
+
+.ui.right.sidebar {
+ border-left: 1px solid #e1e1e1;
+ border-right: 0;
+}
+
+.sidebar-expand-button {
+ background: #f9f9f9;
+ color: #555;
+ padding: 9px 12px 6px 14px;
+ border: 1px solid #E1E1E1;
+ border-right: 0;
+ position: fixed;
+ top: 108px;
+ right: 0px;
+ margin-right: 0;
+ cursor: pointer;
+ transition: all 0.4s;
+ -moz-transition: all 0.4s;
+ -webkit-transition: all 0.4s;
+
+ &:hover {
+ background: #ddd;
+ color: #333;
+ padding-right: 25px;
+ }
+}
+
+.left.sidebar-expand-button {
+ left: 0px;
+ right: auto;
+ border: 1px solid #E1E1E1;
+ border-left: 0;
+ &:hover {
+ padding-right: 14px;
+ padding-left: 25px;
+ }
+}
diff --git a/app/views/dashboard/issues.html.haml b/app/views/dashboard/issues.html.haml
index af627588ad9..670755b8996 100755
--- a/app/views/dashboard/issues.html.haml
+++ b/app/views/dashboard/issues.html.haml
@@ -7,7 +7,9 @@
%hr
.row
- .col-md-3
+ .left.sidebar-expand-button.hidden-lg.hidden-md
+ %i.icon-list.icon-2x
+ .col-md-3.responsive-side-left
= render 'shared/filter', entity: 'issue'
.col-md-9
= render 'shared/issues'
diff --git a/app/views/dashboard/merge_requests.html.haml b/app/views/dashboard/merge_requests.html.haml
index 550a93e178c..0a87eedaecc 100755
--- a/app/views/dashboard/merge_requests.html.haml
+++ b/app/views/dashboard/merge_requests.html.haml
@@ -7,7 +7,9 @@
List all merge requests from all projects you have access to.
%hr
.row
- .col-md-3
+ .left.sidebar-expand-button.hidden-lg.hidden-md
+ %i.icon-list.icon-2x
+ .col-md-3.responsive-side-left
= render 'shared/filter', entity: 'merge_request'
.col-md-9
= render 'shared/merge_requests'
diff --git a/app/views/dashboard/show.html.haml b/app/views/dashboard/show.html.haml
index e5b7fbf097e..b81eed76001 100644
--- a/app/views/dashboard/show.html.haml
+++ b/app/views/dashboard/show.html.haml
@@ -2,8 +2,11 @@
.dashboard.row
.activities.col-md-8
= render 'activities'
- .side.col-md-4.hidden-sm.hidden-xs
+ .side.col-md-4.left.responsive-side
= render 'sidebar'
+ .sidebar-expand-button.hidden-lg.hidden-md
+ %i.icon-list.icon-2x
+
- else
= render "zero_authorized_projects"
diff --git a/app/views/groups/issues.html.haml b/app/views/groups/issues.html.haml
index 4b11d91dc98..7c6042b8ba3 100644
--- a/app/views/groups/issues.html.haml
+++ b/app/views/groups/issues.html.haml
@@ -11,7 +11,9 @@
%hr
.row
- .col-md-3
+ .left.sidebar-expand-button.hidden-lg.hidden-md
+ %i.icon-list.icon-2x
+ .col-md-3.responsive-side-left
= render 'shared/filter', entity: 'issue'
.col-md-9
= render 'shared/issues'
diff --git a/app/views/groups/merge_requests.html.haml b/app/views/groups/merge_requests.html.haml
index 209130ec444..817790f06ce 100644
--- a/app/views/groups/merge_requests.html.haml
+++ b/app/views/groups/merge_requests.html.haml
@@ -10,7 +10,9 @@
To see all merge requests you should visit #{link_to 'dashboard', merge_requests_dashboard_path} page.
%hr
.row
- .col-md-3
+ .left.sidebar-expand-button.hidden-lg.hidden-md
+ %i.icon-list.icon-2x
+ .col-md-3.responsive-side-left
= render 'shared/filter', entity: 'merge_request'
.col-md-9
= render 'shared/merge_requests'
diff --git a/app/views/projects/issues/index.html.haml b/app/views/projects/issues/index.html.haml
index 51a8c911af8..e527b7bc2c8 100644
--- a/app/views/projects/issues/index.html.haml
+++ b/app/views/projects/issues/index.html.haml
@@ -1,6 +1,8 @@
= render "head"
.row
- .col-md-3
+ .left.sidebar-expand-button.hidden-lg.hidden-md
+ %i.icon-list.icon-2x
+ .col-md-3.responsive-side-left
= render 'shared/project_filter', project_entities_path: project_issues_path(@project),
labels: true, redirect: 'issues'
.col-md-9.issues-holder
diff --git a/app/views/projects/merge_requests/index.html.haml b/app/views/projects/merge_requests/index.html.haml
index 232d398c530..919efc5fa16 100644
--- a/app/views/projects/merge_requests/index.html.haml
+++ b/app/views/projects/merge_requests/index.html.haml
@@ -7,7 +7,9 @@
%span (#{@merge_requests.total_count})
%hr
.row
- .col-md-3
+ .left.sidebar-expand-button.hidden-lg.hidden-md
+ %i.icon-list.icon-2x
+ .col-md-3.responsive-side-left
= render 'shared/project_filter', project_entities_path: project_merge_requests_path(@project),
labels: true, redirect: 'merge_requests'
.col-md-9
diff --git a/app/views/projects/milestones/index.html.haml b/app/views/projects/milestones/index.html.haml
index 15635b299f4..4b44d68a919 100644
--- a/app/views/projects/milestones/index.html.haml
+++ b/app/views/projects/milestones/index.html.haml
@@ -8,7 +8,9 @@
New Milestone
.row
- .col-md-3.hidden-sm
+ .left.sidebar-expand-button.hidden-lg.hidden-md
+ %i.icon-list.icon-2x
+ .col-md-3.responsive-side-left
%ul.nav.nav-pills.nav-stacked
%li{class: ("active" if (params[:f] == "active" || !params[:f]))}
= link_to project_milestones_path(@project, f: "active") do
diff --git a/app/views/shared/_filter.html.haml b/app/views/shared/_filter.html.haml
index 0becf531cc3..19ecc458e29 100644
--- a/app/views/shared/_filter.html.haml
+++ b/app/views/shared/_filter.html.haml
@@ -1,4 +1,4 @@
-.side-filters.hidden-xs.hidden-sm
+.side-filters
= form_tag filter_path(entity), method: 'get' do
- if current_user
%fieldset.scope-filter
diff --git a/app/views/shared/_project_filter.html.haml b/app/views/shared/_project_filter.html.haml
index 7936a038be3..743b4fba542 100644
--- a/app/views/shared/_project_filter.html.haml
+++ b/app/views/shared/_project_filter.html.haml
@@ -1,4 +1,4 @@
-.side-filters.hidden-xs.hidden-sm
+.side-filters
= form_tag project_entities_path, method: 'get' do
- if current_user
%fieldset