Difference between revisions of "Zimlet cookbook based on JavaScript API"

(Get mail subject1)
(Mail)
Line 32: Line 32:
  
  
  At this point we have a single message "ZmMailMsg" object and we can access all its properties.
+
At this point we have a single message "ZmMailMsg" object and we can access all its properties.
 
    
 
    
 
====Get mail subject====
 
====Get mail subject====
Line 41: Line 41:
 
====Get all email address====
 
====Get all email address====
 
<pre>
 
<pre>
var emails = [];//stores all email address in the email
+
var emailsArray = msgObj.getEmails(); //where msgObj is of type "ZmMailMsg"
var participants = msgObj.participants.getArray(); //where msgObj is of type "ZmMailMsg"
 
for(var i =0; i < participants.length; i++) {
 
  emails.push(participants[i].address);
 
}
 
 
</pre>
 
</pre>
  
Line 66: Line 62:
 
  AjxEmailAddress.SENDER = "SENDER";
 
  AjxEmailAddress.SENDER = "SENDER";
 
</pre>
 
</pre>
 
 
 
  
 
== Calendar ==
 
== Calendar ==

Revision as of 05:57, 31 March 2009

Mail

1. How to get access to an email's to,cc,bcc,subject, body information when its drag-dropped onto Zimlet's panel Item? First off we need to allow message(ZmMailMsg) or conversation(ZmConv) to be dragged onto Zimlet Panel Item.

  <zimletPanelItem label="Zimlet Name" icon="Zimlet-panelIcon">
		<dragSource type="ZmConv" />
		<dragSource type="ZmMailMsg" />
  </zimletPanelItem>

Then, within the Zimlet's Javascript file, we need to override 'doDrop' function.

com_zimbra_coloredemails.prototype.doDrop =
function(zmObject) {

};

The email dropped(zmObject) can be either a conversation or a single email. This zmObject internally has an object called 'srcObj' (source-object) and contains the real or actual Zimbra Object that was dropped. Once we get access to this, we can access all the properties and even functions.

com_zimbra_coloredemails.prototype.doDrop =
function(zmObject) {
     var msgObj = zmObject.srcObj;//get access to source-object

    //if its a conversation i.e. "ZmConv" object, get the first loaded message "ZmMailMsg" object within that.
    if (zmObject.type == "CONV") {
      msgObj  = zmObject.getFirstHotMsg();
    }

};


At this point we have a single message "ZmMailMsg" object and we can access all its properties.

Get mail subject

  var subject = msgObj.subject; //where msgObj is of type "ZmMailMsg"

Get all email address

var emailsArray =  msgObj.getEmails(); //where msgObj is of type "ZmMailMsg"

Get email addresses only in CC

var ccemails = [];//stores all email address in the email
var participants = msgObj.participants.getArray(); //where msgObj is of type "ZmMailMsg"
for(var i =0; i < participants.length; i++) {
     if(participants[i].type == AjxEmailAddress.CC) {
      ccemails.push(participants[i].address);
    }
}

 PS: Email address type can be any of the following:
 AjxEmailAddress.FROM = "FROM";
 AjxEmailAddress.TO = "TO";
 AjxEmailAddress.CC = "CC";
 AjxEmailAddress.BCC = "BCC";
 AjxEmailAddress.REPLY_TO = "REPLY_TO";
 AjxEmailAddress.SENDER = "SENDER";

Calendar

AddressBook

Notebook

Tasks

Briefcase

General(Common to all apps modules )

Jump to: navigation, search