ZCS 6.0:Zimlet Developers Guide:Examples:Tab Template: Difference between revisions
No edit summary |
|||
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