fix(addressbook(js)): load selected cards prior to display mail editor
parent
9c493e004b
commit
c6d6dc3e66
|
@ -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;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}));
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue