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 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( | + | |
+ | 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
![]() |
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 from a template.
Screen Shot
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