serial class %DeepSee.Dashboard.Widget
extends %SerialObject, %XML.Adaptor
This class represents the definition of a visual widget (such as a chart) within a user-defined DeepSee dashboard.
This is what is saved to disk, not the actual visual component.
parameter NAMESPACE = "http://www.intersystems.com/deepsee/library";
NAMESPACE specifies the XML namespace to be used when projecting the
class to XML. If NAMESPACE = "", the default namespace is used for the XML schema
is used as the namespace for his class.
parameter XMLIGNORENULL = 1;
XMLIGNORENULL allows the programmer to override the default XML handling
of empty strings for properties of type %String. By default (XMLIGNORENULL = 0),
empty strings in the XML input are stored as $c(0) and $c(0) is written to XML
as an empty tag. A missing tag in the XML input is always stored as "" and
"" is always output to XML as no tag.
If XMLIGNORENULL is set = 1, then both missing tags in the XML and empty
strings are input as "", and both "" and $c(0) are output as empty tags
(i.e. <tag></tag>).
If XMLIGNORENULL is set = "inputonly", then both missing tags in the XML and empty
strings are input as "". Output of "" and $c(0) are for XMLIGNORENULL = 0:
$c(0) is output as an empty tag (i.e. <tag></tag>) and "" is output as no tag.
If XMLIGNORENULL = "runtime" (runtime is not case sensitive), then the behavior
of XMLIGNORENULL is determined by the format parameter of XMLExport, XMLImport
and %XML.Reader.OpenFile. The default behavior for XMLIGNORENULL="runtime is
the same as XMLIGNORENULL=0. Adding "ignorenull" to the format argument changes
the behavior to that of XMLIGNORENULL=1. "ignorenull" shoud be separated by a comma
from literal/encoded part of the format. Example values for format are "", ",ignorenull",
"literal,ignorenull" and "encoded,ignorenull".
Note that "inputonly" is equivalent to using ,ignorenull for XMLExport and not for %XML.Reader.
parameter XMLNAME = "widget";
This parameter provides the default XMLNAME for the class. If it is
empty then the class name will be used to construct a default XML name.
The default XMLNAME is used as the top level tag
when exporting objects and the export context
did not provide an XML container name.
property backgroundColor
as %ZEN.Datatype.color(XMLPROJECTION="attribute") [ InitialExpression = "#F0F0F0" ];
JSL4483 color of widget background
property colSpanL
as %Integer(MINVAL=1,XMLPROJECTION="attribute");
colSpan (landscape) of the widget (if in snap grid mode).
property colSpanP
as %Integer(MINVAL=1,XMLPROJECTION="attribute");
colSpan (portrait) of the widget (if in snap grid mode).
property colorToolbar
as %ZEN.Datatype.color(XMLPROJECTION="attribute") [ InitialExpression = "#F0F0F0" ];
Specify color of toolbar
property controls
as list of Control(XMLNAME="control",XMLPROJECTION="element");
Set of controls displayed within this widget.
property dataColorList
as %ZEN.Datatype.string(MAXLEN=255,XMLPROJECTION="attribute");
Optional. Name of termlist (with or without extension) that supplies data-driven colors
for chart series.
property dataLink
as %String(MAXLEN=255,XMLPROJECTION="attribute");
If defined, this the name of a widget on the dashboard that provides the data for this widget.
This overrides dataSource if present.
property dataProperties
as list of DataProperty(XMLNAME="dataProperty",XMLPROJECTION="element");
Set of dataProperties displayed within this widget.
(Interpretation of this is dependent on the type of widget in use).
property dataSeries
as list of ChartDataSeries(XMLNAME="dataSeries",XMLPROJECTION="element");
Set of data series used displayed within this widget.
property dataSource
as %String(MAXLEN=255,XMLPROJECTION="attribute");
Name of the data source for the widget.
This is the name of the data source originally defined for this widget.
It may be the case that the widget is using a local override of the data source
(such as when a user uses the "analyze" button on a pivot widget).
property drillDownDataSource
as %String(MAXLEN=255,XMLPROJECTION="attribute");
Name of the drill down data source for the widget.
This is the name of a data source used when the user performs a "drill down" operation
(if supported) on the widget. (This is a dashboard to display when the user drills down on
a cell within a pivot widget).
property filterState
as array of %String(MAXLEN=5000,XMLKEYNAME="name",XMLNAME="filterState",XMLPROJECTION="ELEMENT");
Array of filter states for the widget.
Each name is of the form: [DIM].[HIER].[LEVEL]
Each value is an MDX key value.
property height
as %Integer(MINVAL=0,XMLPROJECTION="attribute");
Height of the widget.
property homeColL
as %Integer(MINVAL=0,XMLPROJECTION="attribute");
homeCol position (landscape) of the widge (if in snap grid mode)t.
property homeColP
as %Integer(MINVAL=0,XMLPROJECTION="attribute");
homeCol position (portrait) of the widge (if in snap grid mode)t.
property homeRowL
as %Integer(MINVAL=0,XMLPROJECTION="attribute");
homeRow position (landscape) of the widget (if in snap grid mode).
property homeRowP
as %Integer(MINVAL=0,XMLPROJECTION="attribute");
homeRow position (portrait) of the widget (if in snap grid mode).
property left
as %Integer(MINVAL=0,XMLPROJECTION="attribute");
Left position of the widget.
property localDataSource
as %String(MAXLEN=255,XMLPROJECTION="none") [ Transient ];
Name of local datasource, if the user has made a local modification to its datasource.
This is stored in the dashboard settings global.
property maximized
as %Boolean(XMLPROJECTION="attribute") [ InitialExpression = 0 ];
If true, this widget should be maximized when first displayed.
property name
as %String(MAXLEN=255,XMLPROJECTION="attribute");
Identifying name for this widget. This is used to logically identify the widget within
a dashboard (such as for sending filter events to it).
property opacity
as %ZEN.Datatype.float(XMLPROJECTION="attribute") [ InitialExpression = 1.0 ];
JSL4483 opacity of widget background
property opacityToolbar
as %ZEN.Datatype.float(XMLPROJECTION="attribute") [ InitialExpression = 1.0 ];
Specify opacity of toolbar
property overrides
as array of %String(MAXLEN=30000,XMLKEYNAME="name",XMLNAME="override",XMLPROJECTION="ELEMENT");
Array of additional override values (such as chart state) to apply to the widget.
property properties
as array of %String(MAXLEN=5000,XMLKEYNAME="name",XMLNAME="property",XMLPROJECTION="ELEMENT");
Array of additional property values to apply to the widget.
property resetDataSource
as %Boolean(XMLPROJECTION="none") [ InitialExpression = 0,Transient ];
Indicates that the user-specific localDataSource for this widget should be cleared when this widget is saved.
property rowSpanL
as %Integer(MINVAL=1,XMLPROJECTION="attribute");
rowSpan (landscape) of the widget (if in snap grid mode).
property rowSpanP
as %Integer(MINVAL=1,XMLPROJECTION="attribute");
rowSpan (portrait) of the widget (if in snap grid mode).
property showSidebar
as %ZEN.Datatype.boolean(XMLPROJECTION="attribute") [ InitialExpression = 0 ];
Specify whether to display a sidebar.
property showToolbar
as %ZEN.Datatype.boolean(XMLPROJECTION="attribute") [ InitialExpression = 1 ];
Specify whether to display a toolbar.
property showToolbarBottomBorder
as %ZEN.Datatype.boolean(XMLPROJECTION="attribute") [ InitialExpression = 1 ];
Specify whether to display the separator between the toolbar and widget content
property showToolbarOnlyWhenMaximized
as %ZEN.Datatype.boolean(XMLPROJECTION="attribute") [ InitialExpression = 0 ];
Specify whether to display a toolbar.
property sidebarContent
as %ZEN.Datatype.html(XMLPROJECTION="attribute");
HTML content of sidebar.
property sidebarWidth
as %ZEN.Datatype.length(XMLPROJECTION="attribute");
Width of sidebar area.
property subtype
as %String(MAXLEN=255,XMLPROJECTION="attribute");
Widget subtype.
This is used by widgets that support various subtypes (such as a meter).
property subtypeClass
as %String(MAXLEN=255,XMLPROJECTION="attribute");
Widget subtype class.
If the user overrides the subtype class (such as in a chart or meter), this
holds the actual type.
property theme
as %String(MAXLEN=512,XMLPROJECTION="attribute");
If defined, this the name of a theme provides the styles for this widget.
property themeOverrides
as array of %String(MAXLEN=30000,XMLPROJECTION="NONE") [ Transient ];
Transient array of additional override values that come from the theme for this widget.
property title
as %String(MAXLEN=255,XMLPROJECTION="attribute");
Title to display for the widget.
Long titles may not display well.
property top
as %Integer(MINVAL=0,XMLPROJECTION="attribute");
Top position of the widget.
property type
as %String(MAXLEN=255,XMLPROJECTION="attribute");
Which type of widget to display.
This is the class name of a widget. If no class package is provided, then
"%DeepSee.Component.Widget" is used.
property width
as %Integer(MINVAL=0,XMLPROJECTION="attribute");
Width of the widget.
method %CopyTo(ByRef pTarget)
as %Status
Copy contents of this widget to pTarget.
method %CopyToDao(ByRef pTarget As %DynamicObject = $$$NULLOREF)
as %Status
Copy the contents of this definition to an Dao.
method %CopyToDef(ByRef pTarget As %DeepSee.Dashboard.Widget)
as %Status
method %CreateVisualWidget(Output pWidget As %DeepSee.Component.Widget.widget, ByRef pURLSettings As %String, pPreviewMode As %Boolean = 0)
as %Status
Create a visual widget component using this definition.
pURLSettings is an array of settings values pulled out of the URL.
method %Dump()
as %Status
Diagnostic method: display contents of this widget definition to the console.
method %GetDataSource()
as %String
Return the name of the data source for this widget.
If there is a local override, return it.
method %GetDependencies(pList As %String)
as %Status
Return a list of all folder items that this widget depends upon.
Returns a list of the form:
pList(ITEMNAME) = itemName