Skip to main content


abstract class %DeepSee.Component.Widget.widget extends %ZEN.Component.dragGroup

Base class for DeepSee Dashboard widgets.
Instances of this class, or its subclasses, represent graphical items within a DeepSee Dashboard (such as a pivot, chart, or meter).

Property Inventory

Method Inventory


parameter DEFAULTCLOSEIMAGE = images/MacCloseX.png;
Default image for close group button.
parameter DEFAULTCONTRACTIMAGE = images/MacIconifyDash.png;
Default image for contract group button.
parameter DEFAULTEXPANDIMAGE = images/MacIconifyDash.png;
Default image for expand group button.
Default header layout pattern. N.B. Overridden in code.
parameter DEFAULTMAXIMAGE = images/MacFullScreenPlus.png;
Default image for maximize group button.
parameter DEFAULTMINIMAGE = images/MacIconifyDash.png;
Default image for minimize group button.
Default resize icon size in pixels
parameter DEFAULTRESIZEIMAGE = images/grayDragResize.png;
Default image for maximize group button.
parameter DOMAIN = %DeepSee;
parameter JSINCLUDES = zenCSLM.js,zenESVG.js,DeepSee.js;
parameter NAMESPACE =;
Inherited description: This is the XML namespace used for library components.
parameter PUBLISHED = 1;
Set this to false to prevent this widget from being listed.


property %definition as %DeepSee.Dashboard.Widget (XMLPROJECTION = "none");
Used to hold a reference to the widget definition that defined this widget.
Property methods: %definitionGet(), %definitionGetObject(), %definitionGetObjectId(), %definitionGetSwizzled(), %definitionIsEmpty(), %definitionIsValid(), %definitionNewObject(), %definitionSet(), %definitionSetObject(), %definitionSetObjectId(), %definitionUnSwizzle()
property backgroundColor as %ZEN.Datatype.color (XMLPROJECTION = "NONE") [ InitialExpression = "#F0F0F0" ];
color of widget background
Property methods: backgroundColorDisplayToLogical(), backgroundColorGet(), backgroundColorIsValid(), backgroundColorLogicalToDisplay(), backgroundColorLogicalToOdbc(), backgroundColorNormalize(), backgroundColorSet()
property clickActions as list of %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Names of actions to raise for click events.
Property methods: clickActionsBuildValueArray(), clickActionsCollectionToDisplay(), clickActionsCollectionToOdbc(), clickActionsDisplayToCollection(), clickActionsDisplayToLogical(), clickActionsGet(), clickActionsGetObject(), clickActionsGetObjectId(), clickActionsGetSwizzled(), clickActionsIsValid(), clickActionsLogicalToDisplay(), clickActionsLogicalToOdbc(), clickActionsNormalize(), clickActionsOdbcToCollection(), clickActionsSet(), clickActionsSetObject(), clickActionsSetObjectId()
property clickActive as list of %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Names of activeWhen values for click events.
Property methods: clickActiveBuildValueArray(), clickActiveCollectionToDisplay(), clickActiveCollectionToOdbc(), clickActiveDisplayToCollection(), clickActiveDisplayToLogical(), clickActiveGet(), clickActiveGetObject(), clickActiveGetObjectId(), clickActiveGetSwizzled(), clickActiveIsValid(), clickActiveLogicalToDisplay(), clickActiveLogicalToOdbc(), clickActiveNormalize(), clickActiveOdbcToCollection(), clickActiveSet(), clickActiveSetObject(), clickActiveSetObjectId()
property clickFilterSpec as %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Special filter value applied to this widget in response to a click event. Also used to handle filters passed in as part of the URL that are not mapped to a filter control.
If this starts with "%FILTER ", then this is one or more %FILTER clauses.
Property methods: clickFilterSpecDisplayToLogical(), clickFilterSpecGet(), clickFilterSpecIsValid(), clickFilterSpecLogicalToDisplay(), clickFilterSpecLogicalToOdbc(), clickFilterSpecNormalize(), clickFilterSpecSet()
property clickTargetProperties as list of %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Names of target properties for click events.
Property methods: clickTargetPropertiesBuildValueArray(), clickTargetPropertiesCollectionToDisplay(), clickTargetPropertiesCollectionToOdbc(), clickTargetPropertiesDisplayToCollection(), clickTargetPropertiesDisplayToLogical(), clickTargetPropertiesGet(), clickTargetPropertiesGetObject(), clickTargetPropertiesGetObjectId(), clickTargetPropertiesGetSwizzled(), clickTargetPropertiesIsValid(), clickTargetPropertiesLogicalToDisplay(), clickTargetPropertiesLogicalToOdbc(), clickTargetPropertiesNormalize(), clickTargetPropertiesOdbcToCollection(), clickTargetPropertiesSet(), clickTargetPropertiesSetObject(), clickTargetPropertiesSetObjectId()
property clickTargets as list of %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Names of target widgets to send click events to.
Property methods: clickTargetsBuildValueArray(), clickTargetsCollectionToDisplay(), clickTargetsCollectionToOdbc(), clickTargetsDisplayToCollection(), clickTargetsDisplayToLogical(), clickTargetsGet(), clickTargetsGetObject(), clickTargetsGetObjectId(), clickTargetsGetSwizzled(), clickTargetsIsValid(), clickTargetsLogicalToDisplay(), clickTargetsLogicalToOdbc(), clickTargetsNormalize(), clickTargetsOdbcToCollection(), clickTargetsSet(), clickTargetsSetObject(), clickTargetsSetObjectId()
property colorToolbar as %ZEN.Datatype.color (XMLPROJECTION = "NONE") [ InitialExpression = "#F0F0F0" ];
color of toolbar
Property methods: colorToolbarDisplayToLogical(), colorToolbarGet(), colorToolbarIsValid(), colorToolbarLogicalToDisplay(), colorToolbarLogicalToOdbc(), colorToolbarNormalize(), colorToolbarSet()
property controlIndices as list of %ZEN.Datatype.integer (XMLPROJECTION = "NONE");
Array of component indices for controls created by this widget.
Property methods: controlIndicesBuildValueArray(), controlIndicesCollectionToDisplay(), controlIndicesCollectionToOdbc(), controlIndicesDisplayToCollection(), controlIndicesDisplayToLogical(), controlIndicesGet(), controlIndicesGetObject(), controlIndicesGetObjectId(), controlIndicesGetSwizzled(), controlIndicesIsValid(), controlIndicesLogicalToDisplay(), controlIndicesLogicalToOdbc(), controlIndicesNormalize(), controlIndicesOdbcToCollection(), controlIndicesSet(), controlIndicesSetObject(), controlIndicesSetObjectId()
property currFilterSpec as %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Filter spec for most recently selected item on this widget, if applicable. If this starts with "%FILTER ", then it contains one or more "%FILTER" clauses.
Property methods: currFilterSpecDisplayToLogical(), currFilterSpecGet(), currFilterSpecIsValid(), currFilterSpecLogicalToDisplay(), currFilterSpecLogicalToOdbc(), currFilterSpecNormalize(), currFilterSpecSet()
property currItemNo as %ZEN.Datatype.integer (XMLPROJECTION = "NONE");
Item number for most recently selected item on this widget, if applicable.
Property methods: currItemNoDisplayToLogical(), currItemNoGet(), currItemNoIsValid(), currItemNoLogicalToDisplay(), currItemNoLogicalToOdbc(), currItemNoNormalize(), currItemNoSet()
property currSeriesNo as %ZEN.Datatype.integer (XMLPROJECTION = "NONE");
Series number for most recently selected item on this widget, if applicable.
Property methods: currSeriesNoDisplayToLogical(), currSeriesNoGet(), currSeriesNoIsValid(), currSeriesNoLogicalToDisplay(), currSeriesNoLogicalToOdbc(), currSeriesNoNormalize(), currSeriesNoSet()
property currValue as %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Value of most recently selected item on this widget, if applicable.
Property methods: currValueDisplayToLogical(), currValueGet(), currValueIsValid(), currValueLogicalToDisplay(), currValueLogicalToOdbc(), currValueNormalize(), currValueSet()
property currValueName as %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Value name for most recently selected item on this widget, if applicable.
Property methods: currValueNameDisplayToLogical(), currValueNameGet(), currValueNameIsValid(), currValueNameLogicalToDisplay(), currValueNameLogicalToOdbc(), currValueNameNormalize(), currValueNameSet()
property dataSource as %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Holder for dataSource.
Property methods: dataSourceDisplayToLogical(), dataSourceGet(), dataSourceIsValid(), dataSourceLogicalToDisplay(), dataSourceLogicalToOdbc(), dataSourceNormalize(), dataSourceSet()
property filterDefault as array of %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Array of default values of filters on this widget.
This is used to prevent saving of default values for widgets. This augments the filterState property.
Property methods: filterDefaultBuildValueArray(), filterDefaultCollectionToDisplay(), filterDefaultCollectionToOdbc(), filterDefaultDisplayToCollection(), filterDefaultDisplayToLogical(), filterDefaultGet(), filterDefaultGetObject(), filterDefaultGetObjectId(), filterDefaultGetSwizzled(), filterDefaultIsValid(), filterDefaultLogicalToDisplay(), filterDefaultLogicalToOdbc(), filterDefaultNormalize(), filterDefaultOdbcToCollection(), filterDefaultSet(), filterDefaultSetObject(), filterDefaultSetObjectId()
property filterState as array of %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Array of logical names of filters on this widget and their current values.
Each name is of the form: [DIM].[HIER].[LEVEL]
Each value is an MDX key value.
Property methods: filterStateBuildValueArray(), filterStateCollectionToDisplay(), filterStateCollectionToOdbc(), filterStateDisplayToCollection(), filterStateDisplayToLogical(), filterStateGet(), filterStateGetObject(), filterStateGetObjectId(), filterStateGetSwizzled(), filterStateIsValid(), filterStateLogicalToDisplay(), filterStateLogicalToOdbc(), filterStateNormalize(), filterStateOdbcToCollection(), filterStateSet(), filterStateSetObject(), filterStateSetObjectId()
property filterText as array of %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Array of logical names of filters on this widget and their current display value.
This augments the filterState property.
Property methods: filterTextBuildValueArray(), filterTextCollectionToDisplay(), filterTextCollectionToOdbc(), filterTextDisplayToCollection(), filterTextDisplayToLogical(), filterTextGet(), filterTextGetObject(), filterTextGetObjectId(), filterTextGetSwizzled(), filterTextIsValid(), filterTextLogicalToDisplay(), filterTextLogicalToOdbc(), filterTextNormalize(), filterTextOdbcToCollection(), filterTextSet(), filterTextSetObject(), filterTextSetObjectId()
property forceToolbar as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
Prevent the user from changing the settings for show toolbar.
Property methods: forceToolbarDisplayToLogical(), forceToolbarGet(), forceToolbarIsValid(), forceToolbarLogicalToDisplay(), forceToolbarLogicalToOdbc(), forceToolbarLogicalToXSD(), forceToolbarNormalize(), forceToolbarSet(), forceToolbarXSDToLogical()
property hasInitialFilters as %ZEN.Datatype.boolean (XMLPROJECTION = "NONE") [ InitialExpression = 0 ];
If true, then there are filter values that have to be applied.
Property methods: hasInitialFiltersDisplayToLogical(), hasInitialFiltersGet(), hasInitialFiltersIsValid(), hasInitialFiltersLogicalToDisplay(), hasInitialFiltersLogicalToOdbc(), hasInitialFiltersLogicalToXSD(), hasInitialFiltersNormalize(), hasInitialFiltersSet(), hasInitialFiltersXSDToLogical()
property linkWidgetKey as %ZEN.Datatype.integer (XMLPROJECTION = "NONE");
If this widget is linked, then this is the key of the widget we are linked to. Set when the page is created.
Property methods: linkWidgetKeyDisplayToLogical(), linkWidgetKeyGet(), linkWidgetKeyIsValid(), linkWidgetKeyLogicalToDisplay(), linkWidgetKeyLogicalToOdbc(), linkWidgetKeyNormalize(), linkWidgetKeySet()
property maximized as %ZEN.Datatype.boolean (XMLPROJECTION = "NONE") [ InitialExpression = 0 ];
If true, then this widget should be maximized when it is initially displayed.
Property methods: maximizedDisplayToLogical(), maximizedGet(), maximizedIsValid(), maximizedLogicalToDisplay(), maximizedLogicalToOdbc(), maximizedLogicalToXSD(), maximizedNormalize(), maximizedSet(), maximizedXSDToLogical()
property opacity as %ZEN.Datatype.float (XMLPROJECTION = "NONE") [ InitialExpression = 1.0 ];
opacity of widget background
Property methods: opacityDisplayToLogical(), opacityGet(), opacityIsValid(), opacityLogicalToDisplay(), opacityLogicalToOdbc(), opacityNormalize(), opacitySet()
property opacityToolbar as %ZEN.Datatype.float (XMLPROJECTION = "NONE") [ InitialExpression = 1.0 ];
Property methods: opacityToolbarDisplayToLogical(), opacityToolbarGet(), opacityToolbarIsValid(), opacityToolbarLogicalToDisplay(), opacityToolbarLogicalToOdbc(), opacityToolbarNormalize(), opacityToolbarSet()
property previewMode as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If true, then render in preview mode.
Property methods: previewModeDisplayToLogical(), previewModeGet(), previewModeIsValid(), previewModeLogicalToDisplay(), previewModeLogicalToOdbc(), previewModeLogicalToXSD(), previewModeNormalize(), previewModeSet(), previewModeXSDToLogical()
property sessionCookie as %ZEN.Datatype.string;
Current CSP session.
Property methods: sessionCookieDisplayToLogical(), sessionCookieGet(), sessionCookieIsValid(), sessionCookieLogicalToDisplay(), sessionCookieLogicalToOdbc(), sessionCookieNormalize(), sessionCookieSet()
property settings as array of %ZEN.Datatype.string (XMLPROJECTION = "NONE");
Settings applied to this widget. These are pulled from the URL of the dashboard viewer.
Property methods: settingsBuildValueArray(), settingsCollectionToDisplay(), settingsCollectionToOdbc(), settingsDisplayToCollection(), settingsDisplayToLogical(), settingsGet(), settingsGetObject(), settingsGetObjectId(), settingsGetSwizzled(), settingsIsValid(), settingsLogicalToDisplay(), settingsLogicalToOdbc(), settingsNormalize(), settingsOdbcToCollection(), settingsSet(), settingsSetObject(), settingsSetObjectId()
property showSidebar as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
Specify whether to display a sidebar.
Property methods: showSidebarDisplayToLogical(), showSidebarGet(), showSidebarIsValid(), showSidebarLogicalToDisplay(), showSidebarLogicalToOdbc(), showSidebarLogicalToXSD(), showSidebarNormalize(), showSidebarSet(), showSidebarXSDToLogical()
property showToolbar as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
Specify whether to display a toolbar.
Property methods: showToolbarDisplayToLogical(), showToolbarGet(), showToolbarIsValid(), showToolbarLogicalToDisplay(), showToolbarLogicalToOdbc(), showToolbarLogicalToXSD(), showToolbarNormalize(), showToolbarSet(), showToolbarXSDToLogical()
property showToolbarBottomBorder as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
Specify whether to display the separator between the toolbar and widget content
Property methods: showToolbarBottomBorderDisplayToLogical(), showToolbarBottomBorderGet(), showToolbarBottomBorderIsValid(), showToolbarBottomBorderLogicalToDisplay(), showToolbarBottomBorderLogicalToOdbc(), showToolbarBottomBorderLogicalToXSD(), showToolbarBottomBorderNormalize(), showToolbarBottomBorderSet(), showToolbarBottomBorderXSDToLogical()
property showToolbarOnlyWhenMaximized as %ZEN.Datatype.boolean (XMLPROJECTION = "attribute") [ InitialExpression = 0 ];
Specify whether to display a toolbar.
Property methods: showToolbarOnlyWhenMaximizedDisplayToLogical(), showToolbarOnlyWhenMaximizedGet(), showToolbarOnlyWhenMaximizedIsValid(), showToolbarOnlyWhenMaximizedLogicalToDisplay(), showToolbarOnlyWhenMaximizedLogicalToOdbc(), showToolbarOnlyWhenMaximizedLogicalToXSD(), showToolbarOnlyWhenMaximizedNormalize(), showToolbarOnlyWhenMaximizedSet(), showToolbarOnlyWhenMaximizedXSDToLogical()
property sidebarContent as %ZEN.Datatype.html;
HTML content of sidebar.
Property methods: sidebarContentDisplayToLogical(), sidebarContentGet(), sidebarContentIsValid(), sidebarContentLogicalToDisplay(), sidebarContentLogicalToOdbc(), sidebarContentNormalize(), sidebarContentSet()
property sidebarWidth as %ZEN.Datatype.length [ InitialExpression = "25%" ];
Width of sidebar area.
Property methods: sidebarWidthDisplayToLogical(), sidebarWidthGet(), sidebarWidthIsValid(), sidebarWidthLogicalToDisplay(), sidebarWidthLogicalToOdbc(), sidebarWidthNormalize(), sidebarWidthSet()
property subtype as %ZEN.Datatype.string;
Specify which specific sub-type of widget to display. The interpretation of this is up to subclasses to implement.
Property methods: subtypeDisplayToLogical(), subtypeGet(), subtypeIsValid(), subtypeLogicalToDisplay(), subtypeLogicalToOdbc(), subtypeNormalize(), subtypeSet()
property widgetKey as %ZEN.Datatype.integer;
Identifying key for the widget.
Property methods: widgetKeyDisplayToLogical(), widgetKeyGet(), widgetKeyIsValid(), widgetKeyLogicalToDisplay(), widgetKeyLogicalToOdbc(), widgetKeyNormalize(), widgetKeySet()
property widgetLayout as %ZEN.Datatype.string;
A string containing the layout state for this widget: "key:top:left:width:height:max" This is used by "SaveSettings"
Property methods: widgetLayoutDisplayToLogical(), widgetLayoutGet(), widgetLayoutIsValid(), widgetLayoutLogicalToDisplay(), widgetLayoutLogicalToOdbc(), widgetLayoutNormalize(), widgetLayoutSet()


method %AddFooter() as %Status
Add a footer to this widget.
method %AddSidebar(pMainGroup) as %Status
Add a sidebar to the pMainGroup of this widget.
method %DrawHTML()
Override dragGroup behavior.
method %FindComponent(id As %String) as %ZEN.Component.component
Find a component within this widget with the given sub id.
classmethod %GetCatalogInfo(Output pInfo As %List, Output pSubtypeList As %List) as %Status
Return information used to list this widget within the "widget catalog".
method %GetDataController() as %ZEN.Auxiliary.abstractController
If this widget contains a data controller, return it.
classmethod %GetWidgetPropertyInfo(pSubtype As %String, Output pInfo As %List) as %Status
Return information on additional "properties" supported by this widget for the given subtype.
method %GetWidgetSettings(ByRef pSettings As %String) as %Status
Get array of "dashboard" settings for this widget.
method %MakeWidgetId(pString As %String) as %String
Create an id value for an component within this widget.
method %OnAddToPageBefore() as %Status
If implemented, this callback method is called at page render-time when this component is added to a page but before any of its children have been created.
method %OnCreateControls(pGroup As as %Status
This callback is called just before controls are added to the top of the widget. pGroup is the header in which new Zen control can be added.
method %OnCreateWidget(pGroup As as %Status
This callback is responsible for creating the contents of the widget. pGroup is the group to which new Zen components should be added.
classmethod GetKpiFilterCaption(pKPIName, pSpec) as %String [ ZenMethod ]
Lookup a filter caption for a KPI
method ResolveText(pEncodedText) as %String [ ZenMethod ]
Client-visible wrapper for the %ResolveText() method to translate title text.
clientmethod adjustContentSize(load, width, height) [ Language = javascript ]
Called when page is loaded (load will be true) or the widget is resized. This lets a subclass adjust the size of any components it has placed in the contents area. width and height contain the size of the content area.
clientmethod adjustSizes(load) [ Language = javascript ]
Called when page is loaded or widget is resized.
clientmethod controlEventHandler(which, action, targetProp, value, text) [ Language = javascript ]
This method is called when a control event is sent to this widget. A control event is raised by filter controls.
text is optional display value for value.
clientmethod findComponent(id) [ Language = javascript ]
Find a component within this widget with the given sub id.
clientmethod getDataController() [ Language = javascript ]
If this widget contains a data controller, return it. This allows for generic capabilities in this base class.
clientmethod getDefinition(key) [ Language = javascript ]
Return the definition object for a given widget, if available. Use this widget by default.
clientmethod getFilterTableForPrinting(parms) [ Language = javascript ]
Find the filters defined for the current widget and return them in a JSON table fit for consumption by the SVG printer.
clientmethod getOverrideSkipList(type) [ Language = javascript ]
Return a list of items that should not be saved in override JSON arrays. The return is passed to componentToJSON().
clientmethod getOverrides() [ Language = javascript ]
Return an array of current style overrides for this widget. Used to save to a theme.
clientmethod getSVGFrame() [ Language = javascript ]
clientmethod getSettingDisplayValue(setting, value) [ Language = javascript ]
clientmethod getSettingLists(setting) [ Language = javascript ]
clientmethod getSubtypeClass() [ Language = javascript ]
Return the actual type used for a widget subtype (such as "barChart").
clientmethod hasOverrides() [ Language = javascript ]
Test if there are any style overrides for this widget.
clientmethod isMasterWidget(widgetId) [ Language = javascript ]
Click on close button in navigator.
Re-arrange of a list in navigator.
Change of data value in navigator.
Click on header button in navigator.
Popup action in navigator.
Select of item in navigator.
clientmethod onloadHandler() [ Language = javascript ]
This client event, if present, is fired when the page is loaded.
clientmethod printSVGContent(svgFrameId, parms, svgContent, filename) [ Language = javascript ]
Print SVG content using the svgImageProvider. Parameters specific to the widget type may be passed in via the parms object, and those parameters will be augmented using settings common to all widgets in this clientMethod.
The target content may be looked up in the current svgFrameId, or printable content can be passed in directly as svgContent.
clientmethod processAppMessage(value) [ Language = javascript ]
This is called by dragGroupManager when it is given 'processAppMessage' method
clientmethod raiseEventHandler(action) [ Language = javascript ]
This method is called an event on this widget (such as click on a chart series) occurs and it needs to be dispatched.
clientmethod resetOverrides(themeOnly, recreate) [ Language = javascript ]
Reset any style overrides for this widget.
clientmethod resize(width, height) [ Language = javascript ]
Resize the active group to the given geometry.
clientmethod selectWidget(evt) [ Language = javascript ]
Select this widget.
clientmethod setOpacity(opacity) [ Language = javascript ]
clientmethod setProperty(property, value, value2) [ Language = javascript ]
Set the value of a named property.
clientmethod setToolbarProperty(property, value) [ Language = javascript ]
clientmethod showBreakdown(analysisClass) [ Language = javascript ]
Perform a showBreakdown action, if supported.
clientmethod showDimensions() [ Language = javascript ]
Perform a showDimensions action, if supported.
clientmethod showGeoListing(listing) [ Language = javascript ]
Perform a showGeoListing action, if supported.
clientmethod showListing(listing) [ Language = javascript ]
Perform a showListing action, if supported.

Inherited Members

Inherited Properties

Inherited Methods


FeedbackOpens in a new tab