ZCS 6.0:Zimlet Developers Guide:Examples:Simple Dialog

ZCS 6.0: Zimlet Developer Guide:Examples:Simple Dialog

   KB 3249        Last updated on 2021-07-17  




0.00
(0 votes)
Warning: You are looking at legacy Zimlet documentation. For Zimbra Modern UI Zimlet development go to: https://wiki.zimbra.com/wiki/DevelopersGuide#Zimlet_Development_Guide.
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 also uses internationalization properties.

Screenshot

Zcs-6-examples-simpledialog.png

Definition File

<zimlet name="com_zimbra_example_simpledialog" version="1.0" description="Create a simple custom dialog.">
    <include>com_zimbra_example_simpledialog.js</include>
    <handlerObject>com_zimbra_example_simpledialog_HandlerObject</handlerObject>
    <zimletPanelItem label="${msg.simpledialog_label}" 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 using an Array:

/**
 * Creates the dialog view.
 * 
 */
com_zimbra_example_simpledialog_HandlerObject.prototype._createDialogView =
function() {
  var html = new Array();
  var i = 0;
  html[i++] = "<table>";
  html[i++] = "<tr>";
  html[i++] = "<td colspan='2'>";
  html[i++] = "This is a sample dialog with HTML code";
  html[i++] = "</td>";
  html[i++] = "</tr>";
  html[i++] = "<tr>";
  html[i++] = "<td>";
  html[i++] = "Some field ONE:";
  html[i++] = "</td>";
  html[i++] = "<td>";
  html[i++] = "<input id='simpledlg_someField1'  type='text'/>";
  html[i++] = "</td>";
  html[i++] = "</tr>";
  html[i++] = "<tr>";
  html[i++] = "<td>";
  html[i++] = "Some field TWO:";
  html[i++] = "</td>";
  html[i++] = "<td>";
  html[i++] = "<input id='simpledlg_someField2'  type='text'/>";
  html[i++] = "</td>";
  html[i++] = "</tr>";
  html[i++] = "</table>";
		
  return html.join("");
};

Download

Zimlet Package com_zimbra_example_simpledialog.zip

Useful Links


Verified Against: Zimbra Collaboration Server 7.0 Date Created: 12/22/2009
Article ID: https://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Examples:Simple_Dialog Date Modified: 2021-07-17



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