class %DeepSee.UserPortal.DashboardViewer
extends %DeepSee.UserPortal.standardPage
The DeepSee DashBoard viewer page.
This page displays a saved DeepSee dashboard.
Invoke this page using the URL:
%25DeepSee.UserPortal.DashboardViewer.zen?DASHBOARD=dashboardname
Where dashboardname is the full name of the dashboard: e.g.,
"folder/name.dashboard"
This class should be considered as *internal*; subclassing is not supported.
parameter JSINCLUDES = "dsparser.js";
Pick up formula code.
parameter PAGENAME = "DeepSee Dashboard";
Name of this page.
parameter WORKLIST1MODE = "group";
Starting mode for worklist 1: html or group.
property %dashboard
as %DeepSee.Dashboard.Definition(XMLPROJECTION="none");
Instance of dashboard definition.
property dashboardDescription
as %ZEN.Datatype.string;
Description of the currently displayed dashboard.
property dashboardGridCols
as %ZEN.Datatype.integer [ InitialExpression = 2 ];
Is dashboard uses snap grid, then this is then number of grid columns.
property dashboardGridRows
as %ZEN.Datatype.integer [ InitialExpression = 2 ];
Is dashboard uses snap grid, then this is then number of grid rows.
property dashboardKeywords
as %ZEN.Datatype.string;
Keywords for the currently displayed dashboard.
property dashboardLocked
as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
Locked state of the currently displayed dashboard.
property dashboardModify
as %ZEN.Datatype.boolean(ZENURL="MODIFY") [ InitialExpression = 1 ];
Does this dashboard allow the user to modify widgets.
property dashboardName
as %ZEN.Datatype.string(ZENURL="DASHBOARD");
Name of the currently displayed dashboard.
Use XDASHBOARD to use a session encrypted value for this.
property dashboardOwner
as %ZEN.Datatype.string;
Owner of the currently displayed dashboard.
property dashboardPublic
as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
Public state of the currently displayed dashboard.
property dashboardResize
as %ZEN.Datatype.boolean(ZENURL="RESIZE") [ InitialExpression = 1 ];
Does this dashboard allow the user to move and resize widgets.
property dashboardResource
as %ZEN.Datatype.string;
Resource for the currently displayed dashboard.
property dashboardSnapGrid
as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If true, the dashboard uses the new snapGrid desktop and ignores the
the dashboardSnapTo property.
property dashboardSnapTo
as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
Is dashboard in "snap to" mode.
property dashboardTitle
as %ZEN.Datatype.string;
Title of the currently displayed dashboard.
property dashboardTitleLocal
as %ZEN.Datatype.string;
Localized title of the currently displayed dashboard.
property nonce
as %ZEN.Datatype.string(ZENURL="NONCE");
This is used when launching a dashboard from an email alert.
property readOnly
as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If true, user cannot modify the current dashboard.
property trace
as %ZEN.Datatype.boolean(ZENURL="TRACE") [ InitialExpression = 0 ];
If true, show alert message to trace filter events.
property userName
as %ZEN.Datatype.string [ InitialExpression = $UserName ];
Current user name.
method %CreateWidgets(pDashboard As %DeepSee.Dashboard.Definition, pDesktop As %ZEN.Component.desktop, ByRef pURLSettings As %String, ByRef pDBSettings As %String)
as %Status
Create the dashboard widgets and add them to the desktop.
pURLSettings is an array of settings values pulled out of the URL.
pDBSettings is an array of saved dashboard settings values.
method %GetDashboardSettings(ByRef pDBSettings As %String)
as %Status
Get array of "dashboard" settings for this dashboard.
method %LoadDashboard(Output pDashboard As %DeepSee.Dashboard.Definition, pDashboardName As %String)
as %Status
Open (or create) an instance of dashboard definition that defines the contents
of this dashboard.
method %OnAfterCreatePage()
as %Status
Decorate the page.
method %OnCreateControls(pDashboard As %DeepSee.Dashboard.Definition, pGroup As %ZEN.Component.group)
as %Status
Nofication that CreateControls was called.
method %OnCreateWidgets(pDashboard As %DeepSee.Dashboard.Definition, pDesktop As %ZEN.Component.desktop)
as %Status
Nofication that %CreateWidgets was called.
method %OnGetPageName()
as %String
Get the (localized) name of the page.
This should be implemented in a subclass.
method %OnGetTitle()
as %String
Get the (localized) title string for the page.
This should be implemented in a subclass.
method %OnGetWorklistOptions1(Output pOptions, Output pDefaultMode)
as %Status
Return list of options for work list 1.
method %OnGetWorklistOptions2(Output pOptions, Output pDefaultMode)
as %Status
Return list of options for work list 2.
classmethod %OnPreHTTP()
as %Boolean
Translate encrypted URL parameters
classmethod %ParseFilterSpec(pSpec As %String, Output pFSpec As %String, Output pFKey As %String, Output pFValue As %String, ByRef pIndex As %Integer = 0)
as %Status
Utility method.
Pull apart a filter spec, as we may get from a URL, into a spec and key or value:
[Outlet].[Country].[France] ==> "[Outlet].[Country]","[France]"
{[HOMED].[H1].[ZIP].[32006],[HOMED].[H1].[ZIP].[32007]} ==> "[HOMED].[H1].[ZIP]","{&[32006],&[32007]}"
Note that an array of results is returned. If the spec contains a tuple, each piece is
put into its own array node (pIndex is used to track how many pieces there are).
method ClearDashboardSettings()
as %String
[ ZenMethod ]
Clear settings for the current dashboard.
classmethod GetDimensionInfo(pRoot As %String, Output pTree, ByRef pParms)
as %Status
Provide contents of the dimension tree.
Used by pivot widget.
method SaveDashboardSettings(pUser As %String = "")
as %String
[ ZenMethod ]
Save settings for the current dashboard.
method SaveDashboardToFolder(pDashboardName As %String, pCreateNew As %Boolean = 0, pCreateCopy As %Boolean = 0)
as %String
[ ZenMethod ]
Save the dashboard.
method SaveWidget(pWidgetKey As %String, pLocalDataSource As %String)
as %String
[ ZenMethod ]
Change the datasource for one widget and save it to local settings.
method actionHandler(widget, dataSource, action)
[ Language = javascript ]
This handles any actions that were not handled by the widgets on the dashboard.
This is done by sending the event to the server-side dataSource.
method addThisToFavorites()
[ Language = javascript ]
Add this dashboard to the favorites list.
method addWidget()
[ Language = javascript ]
Invoke dialog to add a new widget to the dashboard.
method addWidgetFromCatalog()
[ Language = javascript ]
Invoke widget catalog dialog.
method clearSettings()
[ Language = javascript ]
Clear saved dashboard settings.
method dashboardEventHandler(sourceWidget, which, control, action, target, targetProperty)
[ Language = javascript ]
Central handler for control events on this dashboard.
This is called whenever a control is modified (or otherwise activated).
This is also called when a widget raises an event.
sourceWidget is the widget that raised the event.
which is either 'control' for controls or 'click' for click on widget element.
Return true if the event was handled.
method deleteDashboard()
[ Language = javascript ]
Delete this dashboard.
method drillDown(widget, dataSource)
[ Language = javascript ]
Execute a drill down for the given widget.
method editWidget(key)
[ Language = javascript ]
Invoke dialog to edit a new widget on the dashboard.
method filterDropDown(ctrl, widgetKey, dataSource)
[ Language = javascript ]
Drop down is about to appear for searchBox control.
method getCurrWidget()
[ Language = javascript ]
If there is a selected widget, return it.
method getGridColumns()
[ Language = javascript ]
Number of grid columns in the desktop.
method getGridRows()
[ Language = javascript ]
Number of grid rows in the desktop.
method getWidgetLayout()
[ Language = javascript ]
Get the current size and position of each widget and place it within the widget.
method gotoAnalyzer()
[ Language = javascript ]
Show the analyzer page.
method isReadOnly()
[ Language = javascript ]
Test if this page is in read only mode.
method mailDashboard()
[ Language = javascript ]
email this dashboard.
method navDataChange(key, value, final)
[ Language = javascript ]
Change of data value in navigator.
method navGetContentForLevel(level, key)
[ Language = javascript ]
Return an object describing what to display for this level within the navigator.
method navSelectItem(key, value)
[ Language = javascript ]
Select of item within the navigator.
method newDashboard()
[ Language = javascript ]
Create a new dashboard.
method onAdjustSizes(load, contentWidth, contentHeight)
[ Language = javascript ]
Adjust sizes of content area.
method onPopupAction(popupName, action, value)
[ Language = javascript ]
This client event is fired when the a popup page launched from this page fires an action.
method openDashboard()
[ Language = javascript ]
Launch the dashboard finder.
method reloadDashboard()
[ Language = javascript ]
Reload the dashboard (show current saved state)
method saveCopyOfDashboard()
[ Language = javascript ]
Launch the save as dialog.
method saveDashboard(show)
[ Language = javascript ]
Launch the save dialog.
If show is true, show the dialog.
method saveSettings(user)
[ Language = javascript ]
Save the dashboard settings for the current user (save my settings).
method setGridColumns(cols)
[ Language = javascript ]
Set number of grid columns in the desktop.
method setGridRows(rows)
[ Language = javascript ]
Set number of grid rows in the desktop.
method setProperty(property, value, value2)
[ Language = javascript ]
Set the value of a named property.
method updateWorklistTitle()
[ Language = javascript ]
Update the title for the dashboard.
method widgetSelected(key)
[ Language = javascript ]
User has selected a widget on the dashboard.