ZCS 6.0:Zimlet Developers Guide:Examples:Tab Template
![]() |
Introduction | ![]() |
Getting Started | ![]() |
Dev Environment Setup | ![]() |
Developing Zimlets | ![]() |
Advanced Concepts | ![]() |
API Specifications | ![]() |
Example Zimlets |
Description
This zimlet will create a "tab" application that loads HTML content from a template for display in the tab.
Screen Shot
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