fix(addressbook(js)): load selected cards prior to display mail editor

master
Francis Lachapelle 2021-09-21 14:42:05 -04:00
parent 9c493e004b
commit c6d6dc3e66
2 changed files with 23 additions and 3 deletions

View File

@ -850,8 +850,10 @@
* @param {promise} futureHeadersData - a promise of the metadata of some cards
*/
AddressBook.prototype.$unwrapHeaders = function(futureHeadersData) {
var _this = this;
var _this = this,
deferred = AddressBook.$q.defer();
this.$futureHeadersData = deferred.promise;
futureHeadersData.then(function(data) {
AddressBook.$timeout(function() {
var headers, j;
@ -867,8 +869,13 @@
}
});
}
deferred.resolve(_this.$cards);
});
}, function() {
deferred.reject();
});
return this.$futureHeadersData;
};
/**

View File

@ -380,6 +380,7 @@
};
this.newMessageWithSelectedCards = function($event, recipientsField) {
var selectedFolder = this.selectedFolder;
var selectedCards = _.filter(this.selectedFolder.$cards, function(card) { return card.selected; });
var promises = [], recipients = [];
@ -401,8 +402,20 @@
}));
}
}
else if (card.c_mail.length) {
recipients.push(card.$shortFormat());
else if (card.$loaded == Card.STATUS.LOADED) {
if (card.c_mail) {
recipients.push(card.$shortFormat());
}
}
else if (selectedFolder.$loadCard(card)) {
promises.push(selectedFolder.$futureHeadersData.then(function() {
var i = selectedFolder.idsMap[card.id];
if (angular.isDefined(i)) {
var loadedCard = selectedFolder.$cards[i];
if (loadedCard.c_mail)
recipients.push(loadedCard.$shortFormat());
}
}));
}
});