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