diff --git a/css/sideMenu.css b/css/sideMenu.css index c1930c2..2b120ba 100644 --- a/css/sideMenu.css +++ b/css/sideMenu.css @@ -45,7 +45,7 @@ border: 0; } -#side-menu.hide-opener .side-menu-opener { +#side-menu.hide-opener .side-menu-opener, .side-menu-opener.hide { display: none; } diff --git a/src/SideMenu.js b/src/SideMenu.js index 0e5c8dd..dd7d323 100644 --- a/src/SideMenu.js +++ b/src/SideMenu.js @@ -30,6 +30,7 @@ const mountSideMenuComponent = () => { if (sideMenuContainer) { sideMenu.$mount('#side-menu') + $('body').trigger('side-menu.ready') } else { window.setTimeout(mountSideMenuComponent, 50) diff --git a/src/SideMenu.vue b/src/SideMenu.vue index 8c796df..f2ecc2c 100644 --- a/src/SideMenu.vue +++ b/src/SideMenu.vue @@ -46,8 +46,8 @@ export default { }, methods: { retrieveApps() { - this.apps = []; - const links = document.querySelectorAll('#appmenu a'); + this.apps = [] + const links = document.querySelectorAll('#appmenu a') for (let element of links) { let href = element.getAttribute('href') @@ -65,6 +65,8 @@ export default { }); } } + + jQuery('body').trigger('side-menu.apps', [this.apps]) }, retrieveLogo() { const ncLogo = document.querySelector('#nextcloud .logo') diff --git a/templates/js/script.php b/templates/js/script.php index b93058e..ce81eab 100644 --- a/templates/js/script.php +++ b/templates/js/script.php @@ -16,6 +16,17 @@ var isTouchDevice = window.matchMedia("(pointer: coarse)").matches + 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')