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

Line 1: Line 1:
{| cellspacing="0" cellpadding="5" style="border: 1px solid rgb(153, 153, 170); margin: 0pt 0.5em 0.5em 0pt; float: none; background-color: rgb(249, 249, 255);"
+
{{WIP}}{| cellspacing="0" cellpadding="5" style="border: 1px solid rgb(153, 153, 170); margin: 0pt 0.5em 0.5em 0pt; float: none; background-color: rgb(249, 249, 255);"
 
|[[Image:zdg-6-menu-icon-zimbra.jpg|20px]]
 
|[[Image:zdg-6-menu-icon-zimbra.jpg|20px]]
 
|[[ZCS 6.0:Zimlet Developers Guide:Introduction|Introduction]]
 
|[[ZCS 6.0:Zimlet Developers Guide:Introduction|Introduction]]

Revision as of 19:27, 25 March 2015

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

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: https://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Examples:Tab_Template Date Modified: 2015-03-25



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