Difference between revisions of "ZCS 6.0:Zimlet Developers Guide:Examples:Tab Template"

(Handler Object)
Line 48: Line 48:
 
com_zimbra_tabiframeHandlerObject.prototype.init =
 
com_zimbra_tabiframeHandlerObject.prototype.init =
 
function() {
 
function() {
  this._simpleAppName = this.createApp("Tab iFrame App", "zimbraIcon", "An app in a new tab");
+
    this._simpleAppName = this.createApp("Tab Template App", "zimbraIcon", "A app in a new tab with a template");
 
};
 
};
 
</pre>
 
</pre>
Line 65: Line 65:
 
     case this._simpleAppName: {
 
     case this._simpleAppName: {
 
       var app = appCtxt.getApp(appName); // get access to ZmZimletApp
 
       var app = appCtxt.getApp(appName); // get access to ZmZimletApp
       app.setContent("<iframe name=\"tabiframe-app\" src=\"http://www.yahoo.com/\" width=\"100%\" height=\"100%\" /></iframe>"); // write HTML to app
+
 
 +
      var content = this._createTabView();
 +
       app.setContent(content); // write HTML to application tab
 +
 
 
       break;
 
       break;
 
     }
 
     }
 
   }
 
   }
 +
};
 +
</pre>
 +
 +
In this snippet, we call the template and return the HTML content:
 +
<pre>
 +
/**
 +
* Creates the tab view using the template.
 +
*
 +
* @return {String} the tab HTML content
 +
*/
 +
com_zimbra_tabtemplateHandlerObject.prototype._createTabView =
 +
function() {
 +
    return  AjxTemplate.expand("com_zimbra_tabtemplate.templates.Tab#Main");
 
};
 
};
 
</pre>
 
</pre>

Revision as of 02:36, 9 January 2010

Zdg-6-menu-icon-zimbra.jpg Introduction Zdg-6-menu-icon-green-flag.png Getting Started Zdg-6-menu-icon-terminal.png Dev Environment Setup Zdg-6-menu-icon-gear.png Developing Zimlets Zdg-6-menu-icon-advanced.jpg Advanced Concepts Zdg-6-menu-icon-library.jpg API Specifications Zdg-6-menu-icon-checkbox.jpg Example Zimlets

Description

This zimlet will create a "tab" application that loads HTML from a template.

Screen Shot

Zcs-6-examples-tabtemplate.png


Definition File

Below is the Zimlet Definition File. Notice we include the compiled template with an <include> element:

<zimlet name="com_zimbra_tabtemplate" version="0.1" description="Demos a tab application with a template">
  <include>com_zimbra_tabtemplate.js</include>
  <include>templates/Tab.template.js</include>
  <handlerObject>com_zimbra_tabtemplateHandlerObject</handlerObject>
</zimlet>

Handler Object

Below is a snippet from the Handler Object from the zimlet JavaScript file. In zimlet init(), the "tab" application is created. The newly created application name is returned and set as a local zimlet property _simpleAppName for later use.

/**
 * This method gets called by the Zimlet framework when the zimlet loads.
 *  
 */
com_zimbra_tabiframeHandlerObject.prototype.init =
function() {
    this._simpleAppName = this.createApp("Tab Template App", "zimbraIcon", "A app in a new tab with a template");
};

In this snippet, when the tab application is launched, HTML code (that produces an iframe) is loaded into the tab application content:

/**
 * This method gets called by the Zimlet framework when the application is opened for the first time.
 *  
 * @param	{String}	appName		the application name		
 */
com_zimbra_tabiframeHandlerObject.prototype.appLaunch =
function(appName) {
  switch (appName) {
    case this._simpleAppName: {
      var app = appCtxt.getApp(appName); // get access to ZmZimletApp

      var content = this._createTabView();
      app.setContent(content); // write HTML to application tab

      break;
    }
  }
};

In this snippet, we call the template and return the HTML content:

/**
 * Creates the tab view using the template.
 * 
 * @return	{String}	the tab HTML content
 */
com_zimbra_tabtemplateHandlerObject.prototype._createTabView =
function() {
    return  AjxTemplate.expand("com_zimbra_tabtemplate.templates.Tab#Main");		
};

Download

Zimlet Package com_zimbra_tabiframe.zip


Useful Links


Verified Against: Zimbra Collaboration Suite 6.0 Date Created: 01/06/2010
Article ID: https://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Examples:Tab_Template Date Modified: 2010-01-09



Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »


Jump to: navigation, search