summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--web-ui/app/js/mail_view/ui/recipients/recipients.js19
1 files changed, 11 insertions, 8 deletions
diff --git a/web-ui/app/js/mail_view/ui/recipients/recipients.js b/web-ui/app/js/mail_view/ui/recipients/recipients.js
index 3dfd6661..966f4ba8 100644
--- a/web-ui/app/js/mail_view/ui/recipients/recipients.js
+++ b/web-ui/app/js/mail_view/ui/recipients/recipients.js
@@ -58,7 +58,7 @@ define(
this.attr.iterator = null;
var mailAddr = recipient.getMailAddress();
- var position = recipient.$node.closest('.recipients-area').find('.fixed-recipient').index(recipient.$node);
+ var position = this.getRecipientPosition(recipient);
this.attr.recipients.splice(position, 1);
recipient.destroy();
@@ -67,6 +67,10 @@ define(
this.attr.input.$node.val(mailAddr).focus();
};
+ this.getRecipientPosition = function(recipient) {
+ return recipient.$node.closest('.recipients-area').find('.fixed-recipient').index(recipient.$node);
+ }
+
this.unselectAllRecipients = function() {
this.$node.find('.recipient-value.selected').removeClass('selected');
}
@@ -96,14 +100,13 @@ define(
};
this.deleteRecipient = function (event, recipient) {
- var iter = new Iterator(this.attr.recipients, /*startingIndex=*/-1);
+ this.attr.iterator = null;
+ var position = this.getRecipientPosition(recipient);
- while(iter.hasNext() && iter.next()) {
- if (iter.current().isSelected() && iter.current().address === recipient.address) {
- iter.removeCurrent().destroy();
- break;
- }
- }
+ this.attr.recipients.splice(position, 1);
+ recipient.destroy();
+
+ this.addressesUpdated();
};
this.deleteLastRecipient = function () {