summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/sidebar.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/sidebar.js')
-rw-r--r--app/assets/javascripts/sidebar.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/app/assets/javascripts/sidebar.js b/app/assets/javascripts/sidebar.js
new file mode 100644
index 00000000000..bd0c1194b36
--- /dev/null
+++ b/app/assets/javascripts/sidebar.js
@@ -0,0 +1,41 @@
+(function() {
+ var collapsed, expanded, toggleSidebar;
+
+ collapsed = 'page-sidebar-collapsed';
+
+ expanded = 'page-sidebar-expanded';
+
+ toggleSidebar = function() {
+ $('.page-with-sidebar').toggleClass(collapsed + " " + expanded);
+ $('.navbar-fixed-top').toggleClass("header-collapsed header-expanded");
+ if ($.cookie('pin_nav') === 'true') {
+ $('.navbar-fixed-top').toggleClass('header-pinned-nav');
+ $('.page-with-sidebar').toggleClass('page-sidebar-pinned');
+ }
+ return setTimeout((function() {
+ var niceScrollBars;
+ niceScrollBars = $('.nav-sidebar').niceScroll();
+ return niceScrollBars.updateScrollBar();
+ }), 300);
+ };
+
+ $(document).off('click', 'body').on('click', 'body', function(e) {
+ var $nav, $target, $toggle, pageExpanded;
+ if ($.cookie('pin_nav') !== 'true') {
+ $target = $(e.target);
+ $nav = $target.closest('.sidebar-wrapper');
+ pageExpanded = $('.page-with-sidebar').hasClass('page-sidebar-expanded');
+ $toggle = $target.closest('.toggle-nav-collapse, .side-nav-toggle');
+ if ($nav.length === 0 && pageExpanded && $toggle.length === 0) {
+ $('.page-with-sidebar').toggleClass('page-sidebar-collapsed page-sidebar-expanded');
+ return $('.navbar-fixed-top').toggleClass('header-collapsed header-expanded');
+ }
+ }
+ });
+
+ $(document).on("click", '.toggle-nav-collapse, .side-nav-toggle', function(e) {
+ e.preventDefault();
+ return toggleSidebar();
+ });
+
+}).call(this);