ZCS 6.0:Zimlet Developers Guide:Examples:Simple Dialog with Template
Introduction | Getting Started | Dev Environment Setup | Developing Zimlets | 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; };
Download
Zimlet Package | com_zimbra_simpledialogtemplate.zip |
Useful Links