Skip to main content


deprecated class %ZEN.Component.modalGroup extends

Specialized group for creating a set of modal components displayed within a page.
To display a modalGroup, use the modalGroup's show() method. Use the zenPage object's endModal() to remove the modalGroup.
You can define the contents of a modalGroup in three different ways:
  1. Static mode: The modalGroup is defined within a page definition in the same way as any other group. The contents of the group will be hidden until the show() is called.
  2. Dynamic mode: The application creates a modalGroup dynamically (using the page's createComponent() method), adds components to it, and displays it with the show() method.
  3. Built-in mode: The application uses the show() method to display one of the built-in groups: "msgBox" or "calendar".

Property Inventory

Method Inventory


parameter DEFAULTHIDDEN = 1;
Inherited description: Subclasses can set this to change default hidden property for a component.
parameter DEFAULTLAYOUT = vertical;
Inherited description: Subclasses can set this to change default layout for a group.


property groupTitle as %ZEN.Datatype.caption;
Title to display at top of modal group. This is set dynamically by the show() method. For static modalGroups, it can be set in the original page definition.
Property methods: groupTitleDisplayToLogical(), groupTitleGet(), groupTitleIsValid(), groupTitleLogicalToDisplay(), groupTitleLogicalToOdbc(), groupTitleNormalize(), groupTitleSet()
property groupType as %ZEN.Datatype.string (VALUELIST = ",msgBox,calendar,dialog", XMLPROJECTION = "none", ZENSETTING = 0);
If set, this indicates that a pre-defined modalGroup of the specified type should be displayed. This is set by the show() method; applications should not set this.
Property methods: groupTypeDisplayToLogical(), groupTypeGet(), groupTypeIsValid(), groupTypeLogicalToDisplay(), groupTypeLogicalToOdbc(), groupTypeNormalize(), groupTypeSet()
property okCaption as %ZEN.Datatype.caption [ InitialExpression = $$$Text("OK","%ZEN") ];
Localizable "OK" caption displayed in OK button for a message box.
Property methods: okCaptionDisplayToLogical(), okCaptionGet(), okCaptionIsValid(), okCaptionLogicalToDisplay(), okCaptionLogicalToOdbc(), okCaptionNormalize(), okCaptionSet()
property onaction as %ZEN.Datatype.eventHandler;
onaction event handler: client code to run when user takes action with pre-defined modalGroup.
Property methods: onactionDisplayToLogical(), onactionGet(), onactionIsValid(), onactionLogicalToDisplay(), onactionLogicalToOdbc(), onactionNormalize(), onactionSet()
property onhideGroup as %ZEN.Datatype.eventHandler;
onhideGroup event handler: This event is fired when the modalGroup is hidden.
Property methods: onhideGroupDisplayToLogical(), onhideGroupGet(), onhideGroupIsValid(), onhideGroupLogicalToDisplay(), onhideGroupLogicalToOdbc(), onhideGroupNormalize(), onhideGroupSet()
property onshowGroup as %ZEN.Datatype.eventHandler;
onshowGroup event handler: This event is fired when the modalGroup is made visible.
Property methods: onshowGroupDisplayToLogical(), onshowGroupGet(), onshowGroupIsValid(), onshowGroupLogicalToDisplay(), onshowGroupLogicalToOdbc(), onshowGroupNormalize(), onshowGroupSet()
property seed as %ZEN.Datatype.string;
Optional. User-defined seed value. This is an optional parameter that is passed on to the onaction event handler.
Property methods: seedDisplayToLogical(), seedGet(), seedIsValid(), seedLogicalToDisplay(), seedLogicalToOdbc(), seedNormalize(), seedSet()
property value as %ZEN.Datatype.string (XMLPROJECTION = "none", ZENSETTING = 0);
This is used to hold a value for the modalGroup.
This is set by the show() method; applications should not set this.
Property methods: valueDisplayToLogical(), valueGet(), valueIsValid(), valueLogicalToDisplay(), valueLogicalToOdbc(), valueNormalize(), valueSet()


clientmethod actionHandler() [ Language = javascript ]
This method handles user actions within a pre-defined modalGroup.
clientmethod constrainDragX(engine, wrapper, intendedX) [ Language = javascript ]
Limit the x-axis changes to the current screen size.
clientmethod constrainDragY(engine, wrapper, intendedY) [ Language = javascript ]
Limit the y-axis changes to the current screen size.
clientmethod endDrag(engine, wrapper) [ Language = javascript ]
Callback from the ZLM drag which is used to clean up.
clientmethod getFloatingDiv() [ Language = javascript ]
Return the HTML element used to display this modal group
clientmethod getModalBodyContent(update) [ Language = javascript ]
Helper method to get the content for static modalGroups. If the enclosing div has content, that content is returned, and the enclosing div's content is cleared. If update is true AND the modalBody element for this group exists (i.e. the group has been displayed), then the modalBody's content is updated to the new value.
final clientmethod getValue() as %String [ Language = javascript ]
Client-side method to return the value associated with this group.
clientmethod hideGroup() [ Language = javascript ]
Hide the group.
clientmethod mousedownHandler(evt) [ Language = javascript ]
mousedownHandler: handles start of move operation
clientmethod mousemoveHandler(evt) [ Language = javascript ]
mousemoveHandler: handles move operation
clientmethod mouseupHandler(evt) [ Language = javascript ]
mouseupHandler: handles end of move operation
clientmethod onCanEndModalHandler() [ Language = javascript ]
Don't allow the dialog to be closed unless the user explicitly does something to close the popup or fire a valid action.
clientmethod onDelete() [ Language = javascript ]
Ensure that we remove the floating div when the component is deleted.
clientmethod onDialogFrameLoad(contentWindow) [ Language = javascript ]
clientmethod onEndModalHandler(zindex) [ Language = javascript ]
Notification that this component is about to stop being modal.
clientmethod onRefreshContents() [ Language = javascript ]
Make sure that we correctly track the HTML for static modal groups.
clientmethod onStartModalHandler(zindex) [ Language = javascript ]
Notification that this component is about to become modal.
clientmethod show(title, type, value, top, left, wid, hgt, parms) [ Language = javascript ]
Make this group visible with modal behavior.
title is the optional title to display for the group. For a static group, the application-defined value of groupTitle is used if title is not supplied.
type is the optional type of modalGroup to display. This can be:
  • "msgBox"-display the built-in message box.
  • "calendar"-display the built-in calendar box.
  • "dynamic"-display a dynamically created modalGroup.
  • "static"-display a modalGroup that has been defined as part of the page.
  • "dialog"-display the page with the URL supplied in value in an iframe.
If omitted, then the type will be "static" if the modalGroup has been defined within the page object otherwise "dynamic".
value is an optional value to display when a built-in modalGroup is used.
top,left,wid, and hgt are optional position and dimensions to use for the modalGroup.
parms is an optional object containing a set of additional characteristics passed on to the modalGroup (as a set of name/value pairs). Basically this is a way to pass additional parameters to the popup calendar.
clientmethod startZLMDrag(evt) [ Language = javascript ]
Start ZLM drag once this._dragData has been set up.
clientmethod startZLMMove(evt) [ Language = javascript ]
Start the ZLM drag-based move operation.
clientmethod startZLMResize(evt) [ Language = javascript ]
Start the ZLM drag-based resize operation.
clientmethod toggleDragMouseTrap(show) [ Language = javascript ]
Toggle "visibility" of dragMouseTrap. The trap should be completely transparent but allows the component to trap mouse events reliably during drag operations.
clientmethod updateFrameSize(width, height) [ Language = javascript ]
clientmethod updateTitle(newTitle) [ Language = javascript ]

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab