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 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 controls
as list of Control(XMLNAME="control",XMLPROJECTION="element");
Set of controls displayed within this widget.
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.
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 properties
as array of %String(MAXLEN=5000,XMLKEYNAME="name",XMLNAME="property",XMLPROJECTION="ELEMENT");
Array of additional property values to apply to the widget.
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 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 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(pTarget As %DeepSee.Dashboard.Widget)
as %Status
Copy contents of this widget to pTarget.
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