aChild.getAttribute("selected") == "true") .forEach(this.selectedItems.append, this.selectedItems); ]]> 3 1) numExistingCachedAddresses = (numExistingCachedAddresses + 1)/ 2; var index = 0; var numAddressesAdded = 0; var emailAddressNode; var commaNode; while (numAddressesAdded < numExistingCachedAddresses && numAddressesAdded < aNumAddressesToShow) { if (index && numExistingCachedAddresses > 1) { commaNode = aAddressesNode.childNodes[index++]; if (commaNode) commaNode.hidden = false; } // get the node pointed to by index emailAddressNode = aAddressesNode.childNodes[index++]; this.updateEmailAddressNode(emailAddressNode, this.mAddresses[numAddressesAdded]); emailAddressNode.hidden = false; numAddressesAdded++; } // if we have added all of our elements but we still have more cached items in this address node // then make sure the extra cached copies are hidden... numExistingCachedAddresses = aAddressesNode.childNodes.length; // reset while (index < numExistingCachedAddresses) { aAddressesNode.childNodes[index++].hidden = true; } return this.mAddresses.length - numAddressesAdded; ]]> numAddresses) // then show all aNumAddressesToShow = numAddresses; // before we try to create email address nodes, try to leverage any cached nodes... var remainder = this.fillCachedAddresses(aAddressesNode, aNumAddressesToShow); var index = numAddresses - remainder; while (index < numAddresses && index < aNumAddressesToShow) { var newAddressNode = document.createElement("mail-emailaddress"); // Stash the headerName somewhere that UpdateEmailNodeDetails // will be able to find it. newAddressNode.setAttribute("headerName", this.headerName); if (index) { var textNode = document.createElement("text"); textNode.setAttribute("value", ", "); textNode.setAttribute("class", "emailSeparator"); aAddressesNode.appendChild(textNode); } var itemInDocument = aAddressesNode.appendChild(newAddressNode); this.updateEmailAddressNode(itemInDocument, this.mAddresses[index]); index++; } ]]> numItemsToPreserve)) { aParentNode.childNodes[numItemsInNode - 1].remove(); numItemsInNode = numItemsInNode - 1; } ]]> numMessageIds * 2 - 1) headerValue.lastChild.remove(); this.toggleIcon.hidden = numMessageIds <= 1; for (var index = 0; index < numMessageIds; index++) { if (index * 2 <= messageIdNodes.length - 1) { this.updateMessageIdNode(messageIdNodes[index * 2], index + 1, this.mMessageIds[index], numMessageIds); } else { var newMessageIdNode = document.createElement("mail-messageid"); if (index) { var textNode = document.createElement("text"); textNode.setAttribute("value", ", "); textNode.setAttribute("class", "messageIdSeparator"); headerValue.appendChild(textNode); } var itemInDocument = headerValue.appendChild(newMessageIdNode); this.updateMessageIdNode(itemInDocument, index + 1, this.mMessageIds[index], numMessageIds); } } ]]> = 0; --i) headerValueNode.childNodes[i].remove(); // tokenize the keywords based on ' ' var tagsArray = aTags.split(' '); for (var index = 0; index < tagsArray.length; index++) { // for each tag, create a label, give it the font color that corresponds to the // color of the tag and append it. var tagName; try { // if we got a bad tag name, getTagForKey will throw an exception, skip it // and go to the next one. tagName = MailServices.tags.getTagForKey(tagsArray[index]); } catch (ex) { continue; } var color = MailServices.tags.getColorForKey(tagsArray[index]); // now create a label for the tag name, and set the color var label = document.createElement("label"); label.setAttribute('value', tagName); label.style.color = color; label.className = "tagvalue blc-" + color.substr(1); headerValueNode.appendChild(label); } ]]> null -1 Ci.nsMsgSearchAttrib.OtherHeader && hdrsArray) strings[i] = hdrsArray[j++]; else strings[i] = this.stringBundle.GetStringFromName( this.validityManager.getAttributeProperty(ids[i])); } return strings; ]]> Ci.nsMsgSearchAttrib.Default null null null document.getAnonymousNodes(this)[0].clear(); 8 = this.mMaxMsgHdrsInPopup) return true; } return foundNewMsg; ]]>