(js) Support backspace AND delete keys

pull/237/head
Francis Lachapelle 2017-06-14 13:37:13 -04:00
parent 67b9ef0b8b
commit 7464c2e680
7 changed files with 56 additions and 43 deletions

1
NEWS
View File

@ -14,6 +14,7 @@ Enhancements
- [web] added Latvian (lv) translation - thanks to Juris Balandis
- [web] expose user's defaults and settings inline
- [web] can now discard incoming mails during vacation
- [web] support both backspace and delete keys in Mail and Contacts modules
Bug fixes
- [web] respect SOGoLanguage and SOGoSupportedLanguages (#4169)

View File

@ -88,11 +88,13 @@
description: l('Add previous item to selection'),
callback: _addPreviousCardToSelection
}));
keys.push(sgHotkeys.createHotkey({
key: 'backspace',
description: l('Delete selected card or address book'),
callback: confirmDeleteSelectedCards
}));
_.forEach(['backspace', 'delete'], function(hotkey) {
keys.push(sgHotkeys.createHotkey({
key: hotkey,
description: l('Delete selected card or address book'),
callback: confirmDeleteSelectedCards
}));
});
// Register the hotkeys
_.forEach(keys, function(key) {

View File

@ -38,14 +38,16 @@
function _registerHotkeys(keys) {
keys.push(sgHotkeys.createHotkey({
key: 'backspace',
description: l('Delete selected card or address book'),
callback: function() {
if (AddressBook.selectedFolder && !AddressBook.selectedFolder.hasSelectedCard())
confirmDelete();
}
}));
_.forEach(['backspace', 'delete'], function(hotkey) {
keys.push(sgHotkeys.createHotkey({
key: hotkey,
description: l('Delete selected card or address book'),
callback: function() {
if (AddressBook.selectedFolder && !AddressBook.selectedFolder.hasSelectedCard())
confirmDelete();
}
}));
});
// Register the hotkeys
_.forEach(keys, function(key) {

View File

@ -53,15 +53,17 @@
function _registerHotkeys(keys) {
keys.push(sgHotkeys.createHotkey({
key: 'backspace',
description: l('Delete'),
callback: function($event) {
if (vm.currentFolder.$selectedCount() === 0)
confirmDelete();
$event.preventDefault();
}
}));
_.forEach(['backspace', 'delete'], function(hotkey) {
keys.push(sgHotkeys.createHotkey({
key: hotkey,
description: l('Delete'),
callback: function($event) {
if (vm.currentFolder.$selectedCount() === 0)
confirmDelete();
$event.preventDefault();
}
}));
});
// Register the hotkeys
_.forEach(keys, function(key) {

View File

@ -99,11 +99,13 @@
callback: _addPreviousMessageToSelection,
preventInClass: ['sg-mail-part']
}));
keys.push(sgHotkeys.createHotkey({
key: 'backspace',
description: l('Delete selected message or folder'),
callback: vm.confirmDeleteSelectedMessages
}));
_.forEach(['backspace', 'delete'], function(hotkey) {
keys.push(sgHotkeys.createHotkey({
key: hotkey,
description: l('Delete selected message or folder'),
callback: vm.confirmDeleteSelectedMessages
}));
});
// Register the hotkeys
_.forEach(keys, function(key) {

View File

@ -48,14 +48,16 @@
function _registerHotkeys(keys) {
keys.push(sgHotkeys.createHotkey({
key: 'backspace',
description: l('Delete selected message or folder'),
callback: function() {
if (Mailbox.selectedFolderController && Mailbox.selectedFolder && !Mailbox.selectedFolder.hasSelectedMessage())
Mailbox.selectedFolderController.confirmDelete(Mailbox.selectedFolder);
}
}));
_.forEach(['backspace', 'delete'], function(hotkey) {
keys.push(sgHotkeys.createHotkey({
key: hotkey,
description: l('Delete selected message or folder'),
callback: function() {
if (Mailbox.selectedFolderController && Mailbox.selectedFolder && !Mailbox.selectedFolder.hasSelectedMessage())
Mailbox.selectedFolderController.confirmDelete(Mailbox.selectedFolder);
}
}));
});
// Register the hotkeys
_.forEach(keys, function(key) {

View File

@ -147,14 +147,16 @@
description: l('Flagged'),
callback: _unlessInDialog(angular.bind(stateMessage, stateMessage.toggleFlag))
}));
keys.push(sgHotkeys.createHotkey({
key: 'backspace',
callback: _unlessInDialog(function($event) {
if (vm.mailbox.$selectedCount() === 0)
deleteMessage();
$event.preventDefault();
})
}));
_.forEach(['backspace', 'delete'], function(hotkey) {
keys.push(sgHotkeys.createHotkey({
key: hotkey,
callback: _unlessInDialog(function($event) {
if (vm.mailbox.$selectedCount() === 0)
deleteMessage();
$event.preventDefault();
}),
}));
});
// Register the hotkeys
_.forEach(keys, function(key) {