From 0822c7c340f2584947e63d666c3cf7469276894c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 5 Feb 2016 14:50:33 +0100 Subject: [PATCH] backoffice: keep sidebar sticky (#9879) --- wcs/qommon/static/css/dc2/admin.css | 5 ++++- wcs/qommon/static/css/dc2/gadjo.css | 1 + wcs/qommon/static/js/qommon.admin.js | 17 +++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/wcs/qommon/static/css/dc2/admin.css b/wcs/qommon/static/css/dc2/admin.css index 4f8a459..228488d 100644 --- a/wcs/qommon/static/css/dc2/admin.css +++ b/wcs/qommon/static/css/dc2/admin.css @@ -511,10 +511,13 @@ div#main-content { } div#sidebar { - float: right; + position: absolute; + right: 0; width: 21%; margin-right: 2%; color: #666; + height: calc(100vh - 5em - 3em); + overflow-y: auto; } div#sidebar select { diff --git a/wcs/qommon/static/css/dc2/gadjo.css b/wcs/qommon/static/css/dc2/gadjo.css index 9fc3784..fce7632 100644 --- a/wcs/qommon/static/css/dc2/gadjo.css +++ b/wcs/qommon/static/css/dc2/gadjo.css @@ -630,6 +630,7 @@ form.small button + a.button { #main { transition: margin-left 0ms ease-in; + position: relative; } #sidepage span#applabel { diff --git a/wcs/qommon/static/js/qommon.admin.js b/wcs/qommon/static/js/qommon.admin.js index 1ef75bd..4483cdf 100644 --- a/wcs/qommon/static/js/qommon.admin.js +++ b/wcs/qommon/static/js/qommon.admin.js @@ -46,4 +46,21 @@ $(function() { $(elem).removeClass('highlight'); }); }); + + /* keep sidebar sticky */ + var $window = $(window); + var sidebar_fixed_from = $('#sidebar').offset().top; + var sidebar_top = $('#sidebar').position().top; + $window.bind('scroll', function() { + var pos = $window.scrollTop(); + var minus = 0; + if (pos >= sidebar_fixed_from) { + $('#sidebar').css('top', pos - (sidebar_fixed_from - sidebar_top)); + } else { + $('#sidebar').css('top', 'auto'); + minus = sidebar_fixed_from - pos; + } + $('#sidebar').css('height', 'calc(100vh - 5px - ' + minus + 'px)'); + }); + $window.trigger('scroll'); }); -- 2.7.0