aboutsummaryrefslogtreecommitdiffstats
path: root/core/js/js.js
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-06-06 11:27:04 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2014-06-06 11:27:04 +0200
commit289accc31bd2adb98833e470162483119924e2e9 (patch)
treea8547b7eb22d481f2752403b486ebe1e8636414a /core/js/js.js
parent3a7b30795c56f1debdb7a9dcd51578b711c2f622 (diff)
parentb2bae9313d3467f945ef02a3091d8cbf52c1382a (diff)
downloadnextcloud-server-289accc31bd2adb98833e470162483119924e2e9.tar.gz
nextcloud-server-289accc31bd2adb98833e470162483119924e2e9.zip
Merge pull request #8159 from owncloud/mobile-sidebar-swipe
Mobile sidebar swipe
Diffstat (limited to 'core/js/js.js')
-rw-r--r--core/js/js.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/core/js/js.js b/core/js/js.js
index b3cefa83bee..d02dc6445f2 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -1131,6 +1131,60 @@ function initCore() {
}
setupMainMenu();
+
+ // just add snapper for logged in users
+ if($('#body-login, #body-public').length === 0) {
+
+ // App sidebar on mobile
+ var snapper = new Snap({
+ element: document.getElementById('app-content'),
+ disable: 'right',
+ maxPosition: 250
+ });
+ $('#app-content').prepend('<div id="app-navigation-toggle" class="icon-menu" style="display:none;"></div>');
+ $('#app-navigation-toggle').click(function(){
+ if(snapper.state().state == 'left'){
+ snapper.close();
+ } else {
+ snapper.open('left');
+ }
+ });
+ // close sidebar when switching navigation entry
+ var $appNavigation = $('#app-navigation');
+ $appNavigation.delegate('a', 'click', function(event) {
+ var $target = $(event.target);
+ // don't hide navigation when changing settings or adding things
+ if($target.is('.app-navigation-noclose') ||
+ $target.closest('.app-navigation-noclose').length) {
+ return;
+ }
+ if($target.is('.add-new') ||
+ $target.closest('.add-new').length) {
+ return;
+ }
+ if($target.is('#app-settings') ||
+ $target.closest('#app-settings').length) {
+ return;
+ }
+ snapper.close();
+ });
+
+ var toggleSnapperOnSize = function() {
+ if($(window).width() > 768) {
+ snapper.close();
+ snapper.disable();
+ } else {
+ snapper.enable();
+ }
+ };
+
+ $(window).resize(_.debounce(toggleSnapperOnSize, 250));
+
+ // initial call
+ toggleSnapperOnSize();
+
+ }
+
}
$(document).ready(initCore);