(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] don't allow to send the message while an upload is in progress
|
||||||
- [web] notify when successfuly copied or moved some messages
|
- [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)
|
3.1.4 (2016-07-12)
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
|
|
@ -564,9 +564,21 @@
|
||||||
ids = _.map(cards, function(card) { return card.id; });
|
ids = _.map(cards, function(card) { return card.id; });
|
||||||
|
|
||||||
return AddressBook.$$resource.post(this.id, 'batchDelete', {uids: ids}).then(function() {
|
return AddressBook.$$resource.post(this.id, 'batchDelete', {uids: ids}).then(function() {
|
||||||
_this.$cards = _.differenceBy(_this.$cards, cards, 'id');
|
// Remove cards from $cards and idsMap
|
||||||
_.forEach(cards, function(card) {
|
_.forEachRight(_this.$cards, function(card, index) {
|
||||||
delete _this.idsMap[card.id];
|
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() {
|
.then(function() {
|
||||||
// User confirmed the deletion
|
// User confirmed the deletion
|
||||||
var selectedCards = _.filter(vm.selectedFolder.$cards, function(card) { return card.selected; });
|
var selectedCards = _.filter(vm.selectedFolder.$cards, function(card) { return card.selected; });
|
||||||
vm.selectedFolder.$deleteCards(selectedCards);
|
vm.selectedFolder.$deleteCards(selectedCards).then(function() {
|
||||||
delete vm.selectedFolder.selectedCard;
|
if (!vm.selectedFolder.selectedCard)
|
||||||
|
$state.go('app.addressbook');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function close() {
|
function close() {
|
||||||
$state.go('app.addressbook', { addressbookId: AddressBook.selectedFolder.id }).then(function() {
|
$state.go('app.addressbook').then(function() {
|
||||||
vm.card = null;
|
vm.card = null;
|
||||||
delete AddressBook.selectedFolder.selectedCard;
|
delete AddressBook.selectedFolder.selectedCard;
|
||||||
});
|
});
|
||||||
|
@ -118,12 +118,8 @@
|
||||||
{ ok: l('Delete') })
|
{ ok: l('Delete') })
|
||||||
.then(function() {
|
.then(function() {
|
||||||
// User confirmed the deletion
|
// User confirmed the deletion
|
||||||
card.$delete()
|
AddressBook.selectedFolder.$deleteCards([card])
|
||||||
.then(function() {
|
.then(function() {
|
||||||
// Remove card from addressbook
|
|
||||||
AddressBook.selectedFolder.$cards = _.reject(AddressBook.selectedFolder.$cards, function(o) {
|
|
||||||
return o.id == card.id;
|
|
||||||
});
|
|
||||||
close();
|
close();
|
||||||
}, function(data, status) {
|
}, function(data, status) {
|
||||||
Dialog.alert(l('Warning'), l('An error occured while deleting the card "%{0}".',
|
Dialog.alert(l('Warning'), l('An error occured while deleting the card "%{0}".',
|
||||||
|
|
Loading…
Reference in New Issue