ZCS 6.0:Zimlet Developers Guide:Examples:Tab Template: Difference between revisions
No edit summary |
|||
(9 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{BC|Community Sandbox}} | |||
__FORCETOC__ | |||
<div class="col-md-12 ibox-content"> | |||
=ZCS 6.0: Zimlet Developer Guide:Examples:Tab Templates= | |||
{{KB|{{Unsupported}}|{{ZCS 7.0}}|{{ZCS 6.0}}|}} | |||
{{WIP}} | |||
{{warning|1=You are looking at legacy Zimlet documentation. For Zimbra Modern UI Zimlet development go to: https://wiki.zimbra.com/wiki/DevelopersGuide#Zimlet_Development_Guide.}} | |||
{| 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);" | {| 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]] | ||
Line 15: | Line 23: | ||
|[[ZCS 6.0:Zimlet Developers Guide:Example Zimlets|Example Zimlets]] | |[[ZCS 6.0:Zimlet Developers Guide:Example Zimlets|Example Zimlets]] | ||
|} | |} | ||
== Description == | == Description == | ||
Line 26: | Line 33: | ||
== Definition File == | == Definition File == | ||
Below is the Zimlet Definition File. Notice | Below is the Zimlet Definition File. Notice: the compiled template is included with an <code><include></code> element: | ||
<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 52: | ||
* | * | ||
*/ | */ | ||
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 66: | ||
* @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 88: | ||
* @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 98: | ||
{| cellspacing="0" cellpadding="5" border="1" | {| cellspacing="0" cellpadding="5" border="1" | ||
|Zimlet Package | |Zimlet Package | ||
|[ | |[https://github.com/Zimbra-Community/zimlets-foss/raw/master/Zimlet/src/zimlet/com_zimbra_example_tabtemplate.zip com_zimbra_example_tabtemplate.zip] | ||
|} | |} | ||
Line 98: | Line 105: | ||
<ul> | <ul> | ||
<li>[[ZCS 6.0:Zimlet Developers Guide:Zimlet_Definition_File_Reference|Zimlet Definition File Reference]]</li> | <li>[[ZCS 6.0:Zimlet Developers Guide:Zimlet_Definition_File_Reference|Zimlet Definition File Reference]]</li> | ||
<li>[[ZCS 6.0:Zimlet Developers Guide: | <li>[[ZCS 6.0:Zimlet Developers Guide:Zimlet_Tab|Zimlet Tab]]</li> | ||
<li>[[ZCS_6.0:Zimlet_Developers_Guide:Templates|Templates]]</li> | <li>[[ZCS_6.0:Zimlet_Developers_Guide:Templates|Templates]]</li> | ||
</ul> | </ul> | ||
Line 104: | Line 111: | ||
{{Article Footer|Zimbra Collaboration | {{Article Footer|Zimbra Collaboration Server 7.001/06/2010}} | ||
[[Category:Developers]] | |||
[[Category:Zimlets]] | |||
[[Category:ZCS 7.0]] | |||
[[Category:ZCS 6.0]] |
Latest revision as of 06:01, 17 July 2021
ZCS 6.0: Zimlet Developer Guide:Examples:Tab Templates
![]() |
You are looking at legacy Zimlet documentation. For Zimbra Modern UI Zimlet development go to: https://wiki.zimbra.com/wiki/DevelopersGuide#Zimlet_Development_Guide. |
![]() |
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