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).
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.
parameter DEFAULTHEADERLAYOUT = "CIFT";
Default header layout pattern.
parameter DEFAULTMAXIMAGE = "images/MacFullScreenPlus.png";
Default image for maximize group button.
parameter DEFAULTMINIMAGE = "images/MacIconifyDash.png";
Default image for minimize group button.
parameter DEFAULTRESIZEICONSIZE = 16;
Default resize icon size in pixels
parameter DEFAULTRESIZEIMAGE = "images/grayDragResize.png";
Default image for maximize group button.
parameter NAMESPACE = "http://www.intersystems.com/deepsee";
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 clickActions
as list of %ZEN.Datatype.string(XMLPROJECTION="NONE");
Names of actions to raise for click events.
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.
property clickTargetProperties
as list of %ZEN.Datatype.string(XMLPROJECTION="NONE");
Names of target properties for click events.
property clickTargets
as list of %ZEN.Datatype.string(XMLPROJECTION="NONE");
Names of target widgets to send click events to.
property controlIndices
as list of %ZEN.Datatype.integer(XMLPROJECTION="NONE");
Array of component indices for controls created by this widget.
property currFilterSpec
as %ZEN.Datatype.string(XMLPROJECTION="NONE");
Filter spec for most recently selected item on this widget, if applicable.
property currItemNo
as %ZEN.Datatype.integer(XMLPROJECTION="NONE");
Item number for most recently selected item on this widget, if applicable.
property currSeriesNo
as %ZEN.Datatype.integer(XMLPROJECTION="NONE");
Series number for most recently selected item on this widget, if applicable.
property currValue
as %ZEN.Datatype.string(XMLPROJECTION="NONE");
Value of most recently selected item on this widget, if applicable.
property currValueName
as %ZEN.Datatype.string(XMLPROJECTION="NONE");
Value name for most recently selected item on this widget, if applicable.
property dataSource
as %ZEN.Datatype.string(XMLPROJECTION="NONE");
Holder for dataSource.
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 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 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 hasInitialFilters
as %ZEN.Datatype.boolean(XMLPROJECTION="NONE") [ InitialExpression = 0 ];
If true, then there are filter values that have to be applied.
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 maximized
as %ZEN.Datatype.boolean(XMLPROJECTION="NONE") [ InitialExpression = 0 ];
If true, then this widget should be maximized when it is initially displayed.
property previewMode
as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If true, then render in preview mode.
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 showSidebar
as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
Specify whether to display a sidebar.
property sidebarContent
as %ZEN.Datatype.html;
HTML content of sidebar.
property sidebarWidth
as %ZEN.Datatype.length [ InitialExpression = "25%" ];
Width of sidebar area.
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 widgetKey
as %ZEN.Datatype.integer;
Identifying key for the widget.
property widgetLayout
as %ZEN.Datatype.string;
A string containing the layout state for this widget:
"key:top:left:width:height:max"
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 %ZEN.Component.group)
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 %ZEN.Component.group)
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.
method 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.
method adjustSizes(load)
[ Language = javascript ]
Called when page is loaded or widget is resized.
method 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.
method findComponent(id)
[ Language = javascript ]
Find a component within this widget with the given sub id.
method getDataController()
[ Language = javascript ]
If this widget contains a data controller, return it.
This allows for generic capabilities in this base class.
method navDataChange(key, value, final)
[ Language = javascript ]
Change of data value in navigator.
method onloadHandler()
[ Language = javascript ]
This client event, if present, is fired when the page is loaded.
method 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.
method resize(width, height)
[ Language = javascript ]
Resize the active group to the given geometry.
method setProperty(property, value, value2)
[ Language = javascript ]
Set the value of a named property.
method showBreakdown(analysisClass)
[ Language = javascript ]
Perform a showBreakdown action, if supported.
method showDimensions()
[ Language = javascript ]
Perform a showDimensions action, if supported.
method showGeoListing(listing)
[ Language = javascript ]
Perform a showGeoListing action, if supported.
method showListing(listing)
[ Language = javascript ]
Perform a showListing action, if supported.