Merge pull request #778 from nextcloud/Faldon-user_menu_ui

Fixing infinite spinning animation on user menu ctrl+click
This commit is contained in:
Morris Jobke 2016-08-18 08:40:13 +02:00 committed by GitHub
commit 3e7710c0d8
1 changed files with 25 additions and 9 deletions

View File

@ -1501,17 +1501,21 @@ function initCore() {
$navigation.hide();
// show loading feedback
$navigation.delegate('a', 'click', function(event) {
$navigation.delegate('a', 'mousedown', function(event) {
var $app = $(event.target);
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();
// On middle click or on first button click with ctrl key or meta key hold
if(event.which === 2 || (event.which === 1 && (event.ctrlKey || event.metaKey))) {
// Close navigation when opening app in
// a new tab
OC.hideMenus();
window.open($app, '_blank');
}
}
});
}
@ -1519,14 +1523,26 @@ function initCore() {
function setupUserMenu() {
var $menu = $('#header #settings');
$menu.delegate('a', 'click', function(event) {
// show loading feedback
$menu.delegate('a', 'mousedown', 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 {
// On middle click or on first button click with ctrl key or meta key hold
if(event.which === 2 || (event.which === 1 && (event.ctrlKey || event.metaKey))) {
// Close navigation when opening menu entry in
// a new tab
OC.hideMenus();
window.open($page, '_blank');
}
}
$($page).click();
});
}