From 761ca0f983d957998b80bbabc68af84fc580aa97 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Thu, 11 Dec 2014 21:11:20 -0500 Subject: [PATCH] Add tags input to edit mail recipients --- UI/MailerUI/UIxMailEditor.m | 31 +++++++++++----------- UI/Templates/MailerUI/UIxMailEditor.wox | 11 ++++---- UI/Templates/MailerUI/UIxMailMainFrame.wox | 3 ++- UI/WebServerResources/Gruntfile.js | 19 ++++++++++++- UI/WebServerResources/bower.json | 1 + UI/WebServerResources/js/MailerUI.js | 26 +++++++++++------- 6 files changed, 59 insertions(+), 32 deletions(-) diff --git a/UI/MailerUI/UIxMailEditor.m b/UI/MailerUI/UIxMailEditor.m index 29515b2f9..eab72e820 100644 --- a/UI/MailerUI/UIxMailEditor.m +++ b/UI/MailerUI/UIxMailEditor.m @@ -84,7 +84,7 @@ NSString *sourceFolder; NSString *text; NSMutableArray *fromEMails; - NSDictionary *from; + NSString *from; SOGoMailFolder *sentFolder; BOOL isHTML; @@ -114,7 +114,7 @@ static NSArray *infoKeys = nil; @"from", @"inReplyTo", @"replyTo", @"priority", @"receipt", - @"content", nil]; + @"text", nil]; } - (id) init @@ -245,21 +245,20 @@ static NSArray *infoKeys = nil; ASSIGN (from, newFrom); } -- (NSDictionary *) _emailFromIdentity: (NSDictionary *) identity +- (NSString *) _emailFromIdentity: (NSDictionary *) identity { - static NSArray *keys = nil; + NSString *fullName, *format; - if (!keys) - { - keys = [NSArray arrayWithObjects: @"email", @"fullName", nil]; - [keys retain]; - } + fullName = [identity objectForKey: @"fullName"]; + if ([fullName length]) + format = @"%{fullName} <%{email}>"; + else + format = @"%{email}"; - return [NSDictionary dictionaryWithObjects: [identity objectsForKeys: keys notFoundMarker: [NSNull null]] - forKeys: [NSArray arrayWithObjects: @"email", @"name", nil]]; + return [identity keysWithFormat: format]; } -- (NSDictionary *) from +- (NSString *) from { NSDictionary *identity; @@ -412,7 +411,7 @@ static NSArray *infoKeys = nil; { NSArray *identities; int count, max; - NSDictionary *email; + NSString *email; SOGoMailAccount *account; if (!fromEMails) @@ -453,7 +452,7 @@ static NSArray *infoKeys = nil; [self setTo: [filteredParams objectForKey: @"to"]]; [self setCc: [filteredParams objectForKey: @"cc"]]; [self setBcc: [filteredParams objectForKey: @"bcc"]]; - [self setText: [filteredParams objectForKey: @"content"]]; + [self setText: [filteredParams objectForKey: @"text"]]; return filteredParams; } @@ -713,9 +712,9 @@ static NSArray *infoKeys = nil; [self setSourceFolder: [co sourceFolder]]; data = [NSMutableDictionary dictionaryWithObjectsAndKeys: - [NSArray arrayWithObject: [self from]], @"from", + [self from], @"from", [self localeCode], @"locale", - text, @"content", + text, @"text", nil]; if ((value = [self replyTo])) [data setObject: value forKey: @"replyTo"]; diff --git a/UI/Templates/MailerUI/UIxMailEditor.wox b/UI/Templates/MailerUI/UIxMailEditor.wox index 47e4970f3..f5260743e 100644 --- a/UI/Templates/MailerUI/UIxMailEditor.wox +++ b/UI/Templates/MailerUI/UIxMailEditor.wox @@ -10,13 +10,14 @@
+ data-ng-model="message.editable.from" + data-ng-options="identity for identity in identities"> + -