ZCS 6.0:Zimlet Developers Guide:Examples:Simple Dialog with Template
ZCS 6.0: Zimlet Developer Guide:Examples:Siample Dialog with Template
| 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 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
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



