ZCS 6.0:Zimlet Developers Guide:Examples:Tab Template

From Zimbra :: Wiki

Jump to: navigation, search
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


Developer Article

Article Information

This article applies to the following ZCS versions.
  ZCS 7.0 Article  ZCS 7.0
  ZCS 6.0 Article  ZCS 6.0

Contents

Description

This zimlet will create a "tab" application that loads HTML content from a template for display in the tab.

Screen Shot

Zcs-6-examples-tabtemplate.png

Definition File

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

<zimlet name="com_zimbra_example_tabtemplate" version="0.1" description="Demos a tab application with a template">
  <include>com_zimbra_example_tabtemplate.js</include>
  <include>templates/Tab.template.js</include>
  <handlerObject>com_zimbra_example_tabtemplate_HandlerObject</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_example_tabtemplate_HandlerObject.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_example_tabtemplate_HandlerObject.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, the template is called and the method returns the HTML content:

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

Download

Zimlet Package com_zimbra_example_tabtemplate.zip

Useful Links


Verified Against: Zimbra Collaboration Server 7.001/06/2010 Date Created: {{{2}}}
Article ID: http://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Examples:Tab_Template Date Modified: 09/13/2011
Personal tools