(js) Fix refresh after deleting card(s)
parent
88a0dfdac3
commit
c9703c0f74
3
NEWS
3
NEWS
|
@ -6,6 +6,9 @@ Enhancements
|
|||
- [web] don't allow to send the message while an upload is in progress
|
||||
- [web] notify when successfuly copied or moved some messages
|
||||
|
||||
Bug fixes
|
||||
- [web] fixed refresh of addressbook when deleting one or many cards
|
||||
|
||||
3.1.4 (2016-07-12)
|
||||
------------------
|
||||
|
||||
|
|
|
@ -564,9 +564,21 @@
|
|||
ids = _.map(cards, function(card) { return card.id; });
|
||||
|
||||
return AddressBook.$$resource.post(this.id, 'batchDelete', {uids: ids}).then(function() {
|
||||
_this.$cards = _.differenceBy(_this.$cards, cards, 'id');
|
||||
_.forEach(cards, function(card) {
|
||||
// Remove cards from $cards and idsMap
|
||||
_.forEachRight(_this.$cards, function(card, index) {
|
||||
var selectedIndex = _.findIndex(ids, function(id) {
|
||||
return card.id == id;
|
||||
});
|
||||
if (selectedIndex > -1) {
|
||||
ids.splice(selectedIndex, 1);
|
||||
delete _this.idsMap[card.id];
|
||||
if (_this.isSelectedCard(card.id))
|
||||
delete _this.selectedCard;
|
||||
_this.$cards.splice(index, 1);
|
||||
}
|
||||
else {
|
||||
_this.idsMap[card.id] -= ids.length;
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
|
@ -58,8 +58,10 @@
|
|||
.then(function() {
|
||||
// User confirmed the deletion
|
||||
var selectedCards = _.filter(vm.selectedFolder.$cards, function(card) { return card.selected; });
|
||||
vm.selectedFolder.$deleteCards(selectedCards);
|
||||
delete vm.selectedFolder.selectedCard;
|
||||
vm.selectedFolder.$deleteCards(selectedCards).then(function() {
|
||||
if (!vm.selectedFolder.selectedCard)
|
||||
$state.go('app.addressbook');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
}
|
||||
}
|
||||
function close() {
|
||||
$state.go('app.addressbook', { addressbookId: AddressBook.selectedFolder.id }).then(function() {
|
||||
$state.go('app.addressbook').then(function() {
|
||||
vm.card = null;
|
||||
delete AddressBook.selectedFolder.selectedCard;
|
||||
});
|
||||
|
@ -118,12 +118,8 @@
|
|||
{ ok: l('Delete') })
|
||||
.then(function() {
|
||||
// User confirmed the deletion
|
||||
card.$delete()
|
||||
AddressBook.selectedFolder.$deleteCards([card])
|
||||
.then(function() {
|
||||
// Remove card from addressbook
|
||||
AddressBook.selectedFolder.$cards = _.reject(AddressBook.selectedFolder.$cards, function(o) {
|
||||
return o.id == card.id;
|
||||
});
|
||||
close();
|
||||
}, function(data, status) {
|
||||
Dialog.alert(l('Warning'), l('An error occured while deleting the card "%{0}".',
|
||||
|
|
Loading…
Reference in New Issue