From bf079a8945dac3c842c8597f4d89321167f52529 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 4 Sep 2018 02:06:04 -0400 Subject: [PATCH] Don't refresh the partial main menu HTML if there are open dropdowns Signed-off-by: Roberto Rosario --- .../static/appearance/js/mayan_app.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/mayan/apps/appearance/static/appearance/js/mayan_app.js b/mayan/apps/appearance/static/appearance/js/mayan_app.js index 7928164aa3..3d35bd5107 100644 --- a/mayan/apps/appearance/static/appearance/js/mayan_app.js +++ b/mayan/apps/appearance/static/appearance/js/mayan_app.js @@ -105,16 +105,19 @@ class MayanApp { }); } - doRefreshMainMenu () { - console.log('doRefreshMainMenu'); + doRefreshMainMenu (options) { $.ajax({ complete: function() { - setTimeout(app.doRefreshMainMenu, 5000); + setTimeout(app.doRefreshMainMenu, options.interval, options); }, success: function(data) { - $('#main-menu').html(data); + var $elements = $('.dropdown.open'); + if ($elements.length === 0) { + // Don't refresh the HTML if there are open dropdowns + $('#main-menu').html(data); + } }, - url: '/main_menu', + url: options.url, }); } @@ -196,7 +199,10 @@ class MayanApp { this.setupItemsSelector(); this.setupNavbarCollapse(); this.setupNewWindowAnchor(); - this.doRefreshMainMenu(); + this.doRefreshMainMenu({ + interval: 5000, + url: '/main_menu' + }); partialNavigation.initialize(); }