ZCS 6.0:Zimlet Developers Guide:Examples:Tab Template: Difference between revisions
(Adding categories) |
No edit summary |
||
Line 29: | Line 29: | ||
<pre> | <pre> | ||
<zimlet name=" | <zimlet name="com_zimbra_example_tabtemplate" version="0.1" description="Demos a tab application with a template"> | ||
<include> | <include>com_zimbra_example_tabtemplate.js</include> | ||
<include>templates/Tab.template.js</include> | <include>templates/Tab.template.js</include> | ||
<handlerObject> | <handlerObject>com_zimbra_example_tabtemplate_HandlerObject</handlerObject> | ||
</zimlet> | </zimlet> | ||
</pre> | </pre> | ||
Line 45: | Line 45: | ||
* | * | ||
*/ | */ | ||
com_zimbra_example_tabtemplate_HandlerObject.prototype.init = | |||
function() { | function() { | ||
this._simpleAppName = this.createApp("Tab Template App", "zimbraIcon", "A app in a new tab with a template"); | this._simpleAppName = this.createApp("Tab Template App", "zimbraIcon", "A app in a new tab with a template"); | ||
Line 59: | Line 59: | ||
* @param {String} appName the application name | * @param {String} appName the application name | ||
*/ | */ | ||
com_zimbra_example_tabtemplate_HandlerObject.prototype.appLaunch = | |||
function(appName) { | function(appName) { | ||
switch (appName) { | switch (appName) { | ||
Line 81: | Line 81: | ||
* @return {String} the tab HTML content | * @return {String} the tab HTML content | ||
*/ | */ | ||
com_zimbra_example_tabtemplate_HandlerObject.prototype._createTabView = | |||
function() { | function() { | ||
return AjxTemplate.expand(" | return AjxTemplate.expand("com_zimbra_example_tabtemplate.templates.Tab#Main"); | ||
}; | }; | ||
</pre> | </pre> | ||
Line 91: | Line 91: | ||
{| cellspacing="0" cellpadding="5" border="1" | {| cellspacing="0" cellpadding="5" border="1" | ||
|Zimlet Package | |Zimlet Package | ||
|[ | |[http://files.zimbra.com/docs/zimlet/zcs/6.0/examples/com_zimbra_example_tabtemplate/com_zimbra_example_tabtemplate.zip com_zimbra_example_tabtemplate.zip] | ||
|} | |} | ||
Revision as of 19:58, 10 February 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 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