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
|
* @param {promise} futureHeadersData - a promise of the metadata of some cards
|
||||||
*/
|
*/
|
||||||
AddressBook.prototype.$unwrapHeaders = function(futureHeadersData) {
|
AddressBook.prototype.$unwrapHeaders = function(futureHeadersData) {
|
||||||
var _this = this;
|
var _this = this,
|
||||||
|
deferred = AddressBook.$q.defer();
|
||||||
|
|
||||||
|
this.$futureHeadersData = deferred.promise;
|
||||||
futureHeadersData.then(function(data) {
|
futureHeadersData.then(function(data) {
|
||||||
AddressBook.$timeout(function() {
|
AddressBook.$timeout(function() {
|
||||||
var headers, j;
|
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) {
|
this.newMessageWithSelectedCards = function($event, recipientsField) {
|
||||||
|
var selectedFolder = this.selectedFolder;
|
||||||
var selectedCards = _.filter(this.selectedFolder.$cards, function(card) { return card.selected; });
|
var selectedCards = _.filter(this.selectedFolder.$cards, function(card) { return card.selected; });
|
||||||
var promises = [], recipients = [];
|
var promises = [], recipients = [];
|
||||||
|
|
||||||
|
@ -401,9 +402,21 @@
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (card.c_mail.length) {
|
else if (card.$loaded == Card.STATUS.LOADED) {
|
||||||
|
if (card.c_mail) {
|
||||||
recipients.push(card.$shortFormat());
|
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());
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$q.all(promises).then(function() {
|
$q.all(promises).then(function() {
|
||||||
|
|
Loading…
Reference in New Issue