Fixing infinite spinner animation

setupMainMenu() & setupUserMenu():
Changed click delegate to add the spinner animation only the primary mouse button was clicked without ctrl- or meta-key modifier
Adding mouseup delegate to hide the menu if the middle mouse button was clicked.

Redone #778
This commit is contained in:
Thomas Pulzer 2016-08-19 10:47:02 +02:00
parent a83c5e8b00
commit 58f9340d93

View file

@ -1506,12 +1506,20 @@ function initCore() {
if(!$app.is('a')) {
$app = $app.closest('a');
}
if(!event.ctrlKey) {
if(event.which === 1 && !event.ctrlKey && !event.metaKey) {
$app.addClass('app-loading');
} else {
// Close navigation when opening app in
// a new tab
OC.hideMenus();
OC.hideMenus(function(){return false});
}
});
$navigation.delegate('a', 'mouseup', function(event) {
if(event.which === 2) {
// Close navigation when opening app in
// a new tab via middle click
OC.hideMenus(function(){return false});
}
});
}
@ -1519,14 +1527,29 @@ function initCore() {
function setupUserMenu() {
var $menu = $('#header #settings');
// show loading feedback
$menu.delegate('a', 'click', function(event) {
var $page = $(event.target);
if (!$page.is('a')) {
$page = $page.closest('a');
}
$page.find('img').remove();
$page.find('div').remove(); // prevent odd double-clicks
$page.prepend($('<div/>').addClass('icon-loading-small-dark'));
if(event.which === 1 && !event.ctrlKey && !event.metaKey) {
$page.find('img').remove();
$page.find('div').remove(); // prevent odd double-clicks
$page.prepend($('<div/>').addClass('icon-loading-small-dark'));
} else {
// Close navigation when opening menu entry in
// a new tab
OC.hideMenus(function(){return false});
}
});
$menu.delegate('a', 'mouseup', function(event) {
if(event.which === 2) {
// Close navigation when opening app in
// a new tab via middle click
OC.hideMenus(function(){return false});
}
});
}