From bf8acbc6ab72889b3b55a02ccadb8bb53ad70cca Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Tue, 4 Dec 2007 22:47:41 +0000 Subject: [PATCH] Monotone-Parent: a311d7d0d46a40428355d5d16855425659aafddf Monotone-Revision: 0dd67af506445aca2871edc97a4383c609e20c42 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2007-12-04T22:47:41 Monotone-Branch: ca.inverse.sogo --- UI/MailerUI/UIxMailToSelection.m | 14 ++++---------- UI/WebServerResources/UIxMailToSelection.js | 16 +++++++++------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/UI/MailerUI/UIxMailToSelection.m b/UI/MailerUI/UIxMailToSelection.m index c241105eb..16000c373 100644 --- a/UI/MailerUI/UIxMailToSelection.m +++ b/UI/MailerUI/UIxMailToSelection.m @@ -86,7 +86,7 @@ static NSArray *headers = nil; - (id) init { if ((self = [super init])) - currentIndex = 0; + currentIndex = -1; return self; } @@ -215,11 +215,14 @@ static NSArray *headers = nil; - (NSString *) currentRowId { + [self nextId]; + return [NSString stringWithFormat: @"row_%d", currentIndex]; } - (NSString *) currentPopUpId { + return [NSString stringWithFormat: @"popup_%d", currentIndex]; } @@ -326,13 +329,4 @@ static NSArray *headers = nil; return [to count] + [cc count] + [bcc count]; } -- (int) currentIndex -{ - int count; - - count = [self addressCount]; - - return count > 0 ? count - 1 : 0; -} - @end /* UIxMailToSelection */ diff --git a/UI/WebServerResources/UIxMailToSelection.js b/UI/WebServerResources/UIxMailToSelection.js index 4593693d8..4a30bdf51 100644 --- a/UI/WebServerResources/UIxMailToSelection.js +++ b/UI/WebServerResources/UIxMailToSelection.js @@ -98,16 +98,15 @@ function fancyAddRow(shouldEdit, text) { lastChild = $("lastRow"); currentIndex++; - - proto = $('row_' + lastIndex); + proto = lastChild.previous("tr"); row = proto.cloneNode(true); - row.id = 'row_' + currentIndex; + row.setAttribute("id", 'row_' + currentIndex); // select popup var rowNodes = row.childNodesWithTag("td"); select = $(rowNodes[0]).childNodesWithTag("select")[0]; select.name = 'popup_' + currentIndex; -// select.value = row.childNodesWithTag("span")[0].childNodesWithTag("select")[0].value; + select.value = proto.down("select").value; input = $(rowNodes[1]).childNodesWithTag("input")[0]; input.name = 'addr_' + currentIndex; input.id = 'addr_' + currentIndex; @@ -136,7 +135,7 @@ function addressFieldGotFocus(sender) { function addressFieldLostFocus(sender) { lastIndex = this.getIndexFromIdentifier(sender.id); - + return false; } @@ -147,7 +146,7 @@ function removeLastEditedRowIfEmpty() { if (idx == 0) return; addr = $('addr_' + idx); if (!addr) return; - if (addr.value != '') return; + if (addr.value.strip() != '') return; addr = this.findAddressWithIndex(idx); if(addr) { var addresses = $('addr_addresses'); @@ -223,5 +222,8 @@ function hasRecipients() { return (count > 0) } -/* addressbook helpers */ +function initMailToSelection() { + currentIndex = lastIndex = $$("table#addressList tr").length - 2; +} +FastInit.addOnLoad(initMailToSelection);