Difference between revisions of "ZCS 6.0:Zimlet Developers Guide:Examples:Simple Dialog with Template"

(Download)
 
(20 intermediate revisions by 5 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:Siample Dialog with Template=
 +
{{KB|{{Unsupported}}|{{ZCS 7.0}}|{{ZCS 6.0}}|}}
 +
{{Archive}}{{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 8: Line 13:
 
|style="border-left: 1px solid rgb(153, 153, 170);"|[[Image:zdg-6-menu-icon-gear.png|20px]]
 
|style="border-left: 1px solid rgb(153, 153, 170);"|[[Image:zdg-6-menu-icon-gear.png|20px]]
 
|[[ZCS 6.0:Zimlet Developers Guide:Developing Zimlets|Developing Zimlets]]
 
|[[ZCS 6.0:Zimlet Developers Guide:Developing Zimlets|Developing Zimlets]]
 +
|style="border-left: 1px solid rgb(153, 153, 170);"|[[Image:zdg-6-menu-icon-advanced.jpg|20px]]
 +
|[[ZCS 6.0:Zimlet Developers Guide:Advanced Concepts|Advanced Concepts]]
 
|style="border-left: 1px solid rgb(153, 153, 170);"|[[Image:zdg-6-menu-icon-library.jpg|20px]]
 
|style="border-left: 1px solid rgb(153, 153, 170);"|[[Image:zdg-6-menu-icon-library.jpg|20px]]
 
|[[ZCS 6.0:Zimlet Developers Guide:Zimlet API Specifications|API Specifications]]
 
|[[ZCS 6.0:Zimlet Developers Guide:Zimlet API Specifications|API Specifications]]
Line 13: Line 20:
 
|[[ZCS 6.0:Zimlet Developers Guide:Example Zimlets|Example Zimlets]]
 
|[[ZCS 6.0:Zimlet Developers Guide:Example Zimlets|Example Zimlets]]
 
|}
 
|}
 
 
== Description ==
 
== Description ==
  
Line 25: Line 31:
  
 
<pre>
 
<pre>
<zimlet name="com_zimbra_simpledialogtemplate" version="1.0" description="Create a custom dialog using a template.">
+
<zimlet name="com_zimbra_example_simpledialogtemplate" version="1.0" description="Create a custom dialog using a template.">
     <include>simpledialogtemplate.js</include>
+
     <include>com_zimbra_example_simpledialogtemplate.js</include>
    <include>templates/Simple.template.js</include>
+
<include>templates/Simple.template.js</include>
     <handlerObject>com_zimbra_simpledialogtemplateHandlerObject</handlerObject>
+
     <handlerObject>com_zimbra_example_simpledialogtemplate_HandlerObject</handlerObject>
 
     <zimletPanelItem label="Simple Dialog Template Example" icon="zimbraIcon">
 
     <zimletPanelItem label="Simple Dialog Template Example" icon="zimbraIcon">
 
       <toolTipText>${msg.simpledialog_tooltip}</toolTipText>
 
       <toolTipText>${msg.simpledialog_tooltip}</toolTipText>
    </zimletPanelItem>
+
  </zimletPanelItem>
 
</zimlet>
 
</zimlet>
 
</pre>
 
</pre>
Line 63: Line 69:
 
  *  
 
  *  
 
  */
 
  */
com_zimbra_simpledialogtemplateHandlerObject.prototype._createDialogView =
+
com_zimbra_example_simpledialogtemplate_HandlerObject.prototype._createDialogView =
 
function() {
 
function() {
     var html = AjxTemplate.expand("com_zimbra_simpledialogtemplate.templates.Simple#Main");
+
     var html = AjxTemplate.expand("com_zimbra_example_simpledialogtemplate.templates.Simple#Main");
 
     return html;
 
     return html;
 
};
 
};
 
</pre>  
 
</pre>  
  
 +
== Template ==
 +
 +
The following is the <code>Simple.template</code> file (before compilation). The HTML code is wrapped in the <code><template></code> tag (with the template id "Main").
 +
 +
<pre>
 +
<template id="Main">
 +
  <table cellpadding="2" cellspacing="0" border="0" width="100%">
 +
    <tr>
 +
      <td colspan="2">
 +
      This is a sample dialog with HTML code...
 +
      </td>
 +
    </tr>
 +
    <tr>
 +
      <td colspan="2">&nbsp;</td>
 +
    </tr>
 +
    <tr>
 +
      <td>
 +
      <b>Text Property:</b>
 +
      </td>
 +
      <td>
 +
      <input type="text" name="simpledialog_text_prop" />
 +
      </td>
 +
    </tr>
 +
    <tr>
 +
      <td>
 +
      <b>Password Property:</b>
 +
      </td>
 +
      <td>
 +
      <input type="password" name="simpledialog_password_prop" />
 +
      </td>
 +
    </tr>
 +
  </table>
 +
</template>
 +
</pre>
 
== Download ==
 
== Download ==
  
 
{| cellspacing="0" cellpadding="5" border="1"
 
{| cellspacing="0" cellpadding="5" border="1"
 
|Zimlet Package
 
|Zimlet Package
|[[Media:zcs-6-examples-simpledialogtemplate-com_zimbra_simpledialogtemplate.zip|com_zimbra_simpledialogtemplate.zip]]
+
|[https://github.com/Zimbra-Community/zimlets-foss/raw/master/Zimlet/src/zimlet/com_zimbra_example_simpledialogtemplate.zip com_zimbra_example_simpledialogtemplate.zip]
 
|}
 
|}
  
Line 81: Line 121:
 
<ul>
 
<ul>
 
<li>[[ZCS_6.0:Zimlet_Developers_Guide:Examples:Simple_Dialog|Simple Dialog]]</li>
 
<li>[[ZCS_6.0:Zimlet_Developers_Guide:Examples:Simple_Dialog|Simple Dialog]]</li>
 +
<li>[[ZCS_6.0:Zimlet_Developers_Guide:Templates|Templates]]</li>
 +
<li>[[ZCS_6.0:Zimlet_Developers_Guide:Templates#Compiling_the_Template|Templates > Compiling the Template]]</li>
 
</ul>
 
</ul>
  
Line 86: Line 128:
  
 
{{Article Footer|Zimbra Collaboration Suite 6.0|12/22/2009}}
 
{{Article Footer|Zimbra Collaboration Suite 6.0|12/22/2009}}
 +
 +
 +
[[Category:Developers]]
 +
[[Category:Zimlets]]
 +
[[Category:ZCS 6.0]]

Latest revision as of 12:03, 3 November 2020

ZCS 6.0: Zimlet Developer Guide:Examples:Siample Dialog with Template

   KB 3252        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 shows-up as a panel item and will display a simple custom dialog on a single or double-click. This example uses a template to create the HTML mark-up for the dialog. The Zimlet Definition File includes the compiled template file Simple.template.js using the <include> element.

Screenshot

Zcs-6-examples-simpledialogtemplate.png

Definition File

<zimlet name="com_zimbra_example_simpledialogtemplate" version="1.0" description="Create a custom dialog using a template.">
    <include>com_zimbra_example_simpledialogtemplate.js</include>
	<include>templates/Simple.template.js</include>
    <handlerObject>com_zimbra_example_simpledialogtemplate_HandlerObject</handlerObject>
    <zimletPanelItem label="Simple Dialog Template Example" icon="zimbraIcon">
      <toolTipText>${msg.simpledialog_tooltip}</toolTipText>
   </zimletPanelItem>
</zimlet>

Creating the Dialog

Here is snippet from the Zimlet Handler Object (_displayDialog() method) where we create and show the dialog:

  var sDialogTitle = this.getMessage("simpledialog_dialog_title"); // get i18n resource string
  var sStatusMsg = this.getMessage("simpledialog_status_launch"); // get i18n resource string
	
  this.pView = new DwtComposite(this.getShell()); //creates an empty div as a child of main shell div
  this.pView.setSize("250", "150"); // set width and height
  this.pView.getHtmlElement().style.overflow = "auto"; // adds scrollbar
  this.pView.getHtmlElement().innerHTML = this._createDialogView(); // insert html to the dialogbox
	
  // pass the title, view & buttons information to create dialog box
  this.pbDialog = new ZmDialog({title:sDialogTitle, view:this.pView, parent:this.getShell(), standardButtons:[DwtDialog.DISMISS_BUTTON]});

  this.pbDialog.setButtonListener(DwtDialog.DISMISS_BUTTON, new AjxListener(this, this._okBtnListener)); 

  this.pbDialog.popup(); //show the dialog

The _createDialogView() method creates the HTML mark-up by getting the template:

/**
 * Creates the dialog view.
 * 
 */
com_zimbra_example_simpledialogtemplate_HandlerObject.prototype._createDialogView =
function() {
    var html = AjxTemplate.expand("com_zimbra_example_simpledialogtemplate.templates.Simple#Main");		
    return html;
};

Template

The following is the Simple.template file (before compilation). The HTML code is wrapped in the <template> tag (with the template id "Main").

<template id="Main">
  <table cellpadding="2" cellspacing="0" border="0" width="100%">
    <tr>
      <td colspan="2">
      This is a sample dialog with HTML code...
      </td>
    </tr>
    <tr>
      <td colspan="2"> </td>
    </tr>
    <tr>
      <td>
      <b>Text Property:</b>
      </td>
      <td>
      <input type="text" name="simpledialog_text_prop" />
      </td>
    </tr>
    <tr>
      <td>
      <b>Password Property:</b>
      </td>
      <td>
      <input type="password" name="simpledialog_password_prop" />
      </td>
    </tr>
  </table>
</template>

Download

Zimlet Package com_zimbra_example_simpledialogtemplate.zip

Useful Links


Verified Against: Zimbra Collaboration Suite 6.0 Date Created: 12/22/2009
Article ID: https://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Examples:Simple_Dialog_with_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