From a696c011c24b76b2590a9f45fc861e8b4a667b03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Mon, 27 Aug 2018 18:03:42 +0200 Subject: [PATCH] Fix app menu calculation for random size of the right header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- core/js/js.js | 9 +++++---- core/js/tests/specs/coreSpec.js | 4 ++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/core/js/js.js b/core/js/js.js index fd6e0a68da..026cc6bb0d 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -1562,13 +1562,14 @@ function initCore() { var resizeMenu = function() { var appList = $('#appmenu li'); - var headerWidth = $('.header-left').outerWidth() - $('#nextcloud').outerWidth(); + var rightHeaderWidth = $('.header-right').outerWidth(); + var headerWidth = $('header').outerWidth(); var usePercentualAppMenuLimit = 0.33; var minAppsDesktop = 8; - var availableWidth = headerWidth - $(appList).width(); + var availableWidth = headerWidth - $('#nextcloud').outerWidth() - (rightHeaderWidth > 210 ? rightHeaderWidth : 210) var isMobile = $(window).width() < 768; if (!isMobile) { - availableWidth = headerWidth * usePercentualAppMenuLimit; + availableWidth = availableWidth * usePercentualAppMenuLimit; } var appCount = Math.floor((availableWidth / $(appList).width())); if (isMobile && appCount > minAppsDesktop) { @@ -1613,7 +1614,7 @@ function initCore() { } }; $(window).resize(resizeMenu); - resizeMenu(); + setTimeout(resizeMenu, 0); // just add snapper for logged in users if($('#app-navigation').length && !$('html').hasClass('lte9')) { diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js index 67b7d77be6..63c02048a3 100644 --- a/core/js/tests/specs/coreSpec.js +++ b/core/js/tests/specs/coreSpec.js @@ -573,6 +573,10 @@ describe('Core base tests', function() { }); it('Clicking menu toggle toggles navigation in', function() { window.initCore(); + // fore show more apps icon since otherwise it would be hidden since no icons are available + clock.tick(1 * 1000); + $('#more-apps').show(); + expect($navigation.is(':visible')).toEqual(false); $toggle.click(); clock.tick(1 * 1000);