Difference between revisions of "ZCS 6.0:Zimlet Developers Guide:Examples:Tab Template"

(ZCS 6.0: Zimlet Developer Guide:Examples:Tab Templates)
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{| 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);"
+
{{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}}{| 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]]
 
|[[ZCS 6.0:Zimlet Developers Guide:Introduction|Introduction]]
 
|[[ZCS 6.0:Zimlet Developers Guide:Introduction|Introduction]]
Line 15: Line 20:
 
|[[ZCS 6.0:Zimlet Developers Guide:Example Zimlets|Example Zimlets]]
 
|[[ZCS 6.0:Zimlet Developers Guide:Example Zimlets|Example Zimlets]]
 
|}
 
|}
 
 
== Description ==
 
== Description ==
  
This zimlet will create a "tab" application that loads HTML from a template.  
+
This zimlet will create a "tab" application that loads HTML content from a template for display in the tab.
  
 
== Screen Shot ==
 
== Screen Shot ==
Line 26: Line 30:
 
== Definition File ==
 
== Definition File ==
  
Below is the Zimlet Definition File. Notice we include the compiled template with an <code><include></code> element:
+
Below is the Zimlet Definition File. Notice: the compiled template is included with an <code><include></code> element:
  
 
<pre>
 
<pre>
<zimlet name="com_zimbra_tabtemplate" version="0.1" description="Demos a tab application with a template">
+
<zimlet name="com_zimbra_example_tabtemplate" version="0.1" description="Demos a tab application with a template">
   <include>com_zimbra_tabtemplate.js</include>
+
   <include>com_zimbra_example_tabtemplate.js</include>
 
   <include>templates/Tab.template.js</include>
 
   <include>templates/Tab.template.js</include>
   <handlerObject>com_zimbra_tabtemplateHandlerObject</handlerObject>
+
   <handlerObject>com_zimbra_example_tabtemplate_HandlerObject</handlerObject>
 
</zimlet>
 
</zimlet>
 
</pre>
 
</pre>
Line 45: Line 49:
 
  *   
 
  *   
 
  */
 
  */
com_zimbra_tabiframeHandlerObject.prototype.init =
+
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 63:
 
  * @param {String} appName the application name
 
  * @param {String} appName the application name
 
  */
 
  */
com_zimbra_tabiframeHandlerObject.prototype.appLaunch =
+
com_zimbra_example_tabtemplate_HandlerObject.prototype.appLaunch =
 
function(appName) {
 
function(appName) {
 
   switch (appName) {
 
   switch (appName) {
Line 74: Line 78:
 
</pre>
 
</pre>
  
In this snippet, we call the template and return the HTML content:
+
In this snippet, the template is called and the method returns the HTML content:
 
<pre>
 
<pre>
 
/**
 
/**
Line 81: Line 85:
 
  * @return {String} the tab HTML content
 
  * @return {String} the tab HTML content
 
  */
 
  */
com_zimbra_tabtemplateHandlerObject.prototype._createTabView =
+
com_zimbra_example_tabtemplate_HandlerObject.prototype._createTabView =
 
function() {
 
function() {
     return  AjxTemplate.expand("com_zimbra_tabtemplate.templates.Tab#Main");
+
     return  AjxTemplate.expand("com_zimbra_example_tabtemplate.templates.Tab#Main");
 
};
 
};
 
</pre>
 
</pre>
Line 91: Line 95:
 
{| cellspacing="0" cellpadding="5" border="1"
 
{| cellspacing="0" cellpadding="5" border="1"
 
|Zimlet Package
 
|Zimlet Package
|[[Media:zcs-6-examples-tabtemplate-com_zimbra_tabtemplate.zip|com_zimbra_tabtemplate.zip]]
+
|[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 102:
 
<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:Developing Zimlets#Tab Zimlets Life Cycle|Tab Zimlets Life Cycle]]</li>
+
<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 108:
  
  
{{Article Footer|Zimbra Collaboration Suite 6.0|01/06/2010}}
+
{{Article Footer|Zimbra Collaboration Server 7.001/06/2010}}
 +
 
 +
 
 +
[[Category:Developers]]
 +
[[Category:Zimlets]]
 +
[[Category:ZCS 7.0]]
 +
[[Category:ZCS 6.0]]

Revision as of 12:06, 3 November 2020

ZCS 6.0: Zimlet Developer Guide:Examples:Tab Templates

   KB 3286        Last updated on 2020-11-3  




0.00
(0 votes)
Zdg-6-menu-icon-zimbra.jpg Introduction Zdg-6-menu-icon-green-flag.png Getting Started Zdg-6-menu-icon-terminal.png Dev Environment Setup Zdg-6-menu-icon-gear.png Developing Zimlets Zdg-6-menu-icon-advanced.jpg Advanced Concepts Zdg-6-menu-icon-library.jpg API Specifications Zdg-6-menu-icon-checkbox.jpg Example Zimlets

Description

This zimlet will create a "tab" application that loads HTML content from a template for display in the tab.

Screen Shot

Zcs-6-examples-tabtemplate.png

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


Verified Against: Zimbra Collaboration Server 7.001/06/2010 Date Created: {{{2}}}
Article ID: https://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Examples:Tab_Template Date Modified: 2020-11-03



Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search