(function() { var sideMenuContainer = $('
') var sideMenuOpener = $('') var sideMenu = $('
') var body = $('body') var isTouchDevice = window.matchMedia("(pointer: coarse)").matches sideMenu.attr('data-bigmenu', '1') sideMenuContainer.attr('data-forcelighticon', '1') body.on('side-menu.apps', function(e, apps) { sideMenu = $('#side-menu') if (apps.length === 0) { sideMenu.removeClass('open') sideMenuOpener.addClass('hide') } else { sideMenuOpener.removeClass('hide') } }) body.on('side-menu.ready', function() { sideMenu = $('#side-menu') var headerMenuOpener = $('#header .side-menu-opener') var sideMenuOpener = $('#side-menu .side-menu-opener') sideMenuFocus = function() { var a = sideMenu.find('.side-menu-app.active a') if (a.length === 0) { a = sideMenu.find('.side-menu-app:first-child a') } if (a.length > 0) { a.focus() } } var sideMenuMouseLeave = function() { sideMenu .removeClass('open') .off('mouseleave', sideMenuMouseLeave) } var sideMenuMouseEnter = function() { sideMenu.on('mouseleave', sideMenuMouseLeave) } var sideMenuOpenerMouseEnter = function() { sideMenu .addClass('open') .on('mouseenter', sideMenuMouseEnter) sideMenuFocus() } if (!isTouchDevice) { headerMenuOpener.on('mouseenter', sideMenuOpenerMouseEnter) sideMenu.addClass('hide-opener') } headerMenuOpener.on('click', function() { sideMenu.addClass('open') sideMenu.find('.side-menu-app.active a').focus() }) sideMenuOpener.on('click', function() { sideMenu.removeClass('open') }) $(document).keydown(function(e) { var key = e.key || e.keyCode if ((key === 'o' || key === 79) && e.ctrlKey === true) { e.preventDefault() sideMenu.toggleClass('open') sideMenuFocus() } }) }) body.append(sideMenuContainer) sideMenuContainer.append(sideMenu) sideMenuOpener.insertBefore('#nextcloud') sideMenuOpener.insertAfter('#nextcloud') })();