1
0
Fork 0

Merge pull request #3472 from rabuzarus/feature/frio/fixedaside2

Frio: better UX for aside bar
This commit is contained in:
Tobias Diekershoff 2017-05-17 11:27:37 +02:00 committed by GitHub
commit fd5d058156
4 changed files with 78 additions and 0 deletions

View file

@ -315,6 +315,44 @@ $(document).ready(function(){
$(document).on('change', 'textarea', function(event) {
autosize.update(event.target);
});
/*
* Sticky aside on page scroll
* We enable the sticky aside only when window is wider than
* 976px - which is the maximum width where the aside is shown in
* mobile style - because on chrome-based browsers (desktop and
* android) the sticky plugin in mobile style causes the browser to
* scroll back to top the main content, making it impossible
* to navigate.
* A side effect is that the sitky aside isn't really responsive,
* since is enabled or not at page loading time.
*/
if ($(window).width() > 976) {
$("aside").stick_in_parent({
offset_top: 100, // px, header + tab bar + spacing
recalc_every: 10
});
// recalculate sticky aside on clicks on <a> elements
// this handle height changes on expanding submenus
$("aside").on("click", "a", function(){
$(document.body).trigger("sticky_kit:recalc");
});
}
/*
* Add or remove "aside-out" class to body tag
* when the mobile aside is shown or hidden.
* The class is used in css to disable scroll in page when the aside
* is shown.
*/
$("aside")
.on("shown.bs.offcanvas", function() {
$("body").addClass("aside-out");
})
.on("hidden.bs.offcanvas", function() {
$("body").removeClass("aside-out");
});
});
function openClose(theID) {