Merge pull request #778 from nextcloud/Faldon-user_menu_ui
Fixing infinite spinning animation on user menu ctrl+click
This commit is contained in:
commit
3e7710c0d8
1 changed files with 25 additions and 9 deletions
|
@ -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();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue