ZCS 6.0:Zimlet Developers Guide:Examples:Simple Dialog with Template: Difference between revisions
No edit summary |
No edit summary |
||
Line 72: | Line 72: | ||
</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"> </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 == | ||
Revision as of 14:30, 30 December 2009
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_simpledialogtemplate" version="1.0" description="Create a custom dialog using a template."> <include>simpledialogtemplate.js</include> <include>templates/Simple.template.js</include> <handlerObject>com_zimbra_simpledialogtemplateHandlerObject</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_simpledialogtemplateHandlerObject.prototype._createDialogView = function() { var html = AjxTemplate.expand("com_zimbra_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_simpledialogtemplate.zip |
Useful Links