class %CSP.Portal.Home
extends %ZEN.Portal.standardPage
Home page for the Interoperability Management Portal.
If the current user holds the %Admin_Secure resource, then this page
can be used to view and define custom resources.
parameter APPLICATION = "%ZEN.Portal.Application";
Set this to the appropriate application class.
parameter DOMAIN = "%Utility";
Set this to the correct domain.
parameter FAVORITEICON = "$$$ISCFAVORITEICON";
Home favorite icon.
parameter PAGENAME = "Home";
Name of this page.
parameter RECENT = 0;
If true, register visits to this page in the recent list.
property HSHomePage
as %String(MAXLEN=256);
This gets computed on after page create
property InstanceGUID
as %String [ InitialExpression = ##class(%SYS.System).InstanceGUID() ];
property IsEnsembleInstalled
as %ZEN.Datatype.boolean [ InitialExpression = ##class(%Library.EnsembleMgr).IsEnsembleInstalled() ];
property IsHealthShareInstalled
as %ZEN.Datatype.boolean [ InitialExpression = ##class(%Library.EnsembleMgr).IsHealthShareInstalled() ];
property NAMESPACE
as %ZEN.Datatype.string;
Current $NAMESPACE. This is the namespace user seleccted from the Switch namespace dialog and will be used in navigate().
property NSNAME
as %ZEN.Datatype.string;
Name of the current namespace (from $namespace).
property PRODUCT1
as %String [ InitialExpression = $$$PRODUCT1 ];
property PRODUCT2
as %String [ InitialExpression = $$$PRODUCT2 ];
property btnGo
as %ZEN.Datatype.caption [ InitialExpression = $$$Text("Go") ];
property clickElement
as %ZEN.Datatype.string;
Used by search box to track current active element.
property clickSrc
as %ZEN.Datatype.string;
property cookieSameSite
as %ZEN.Datatype.string [ InitialExpression = "strict" ];
Specifies the SameSite flag as strict, lax, or none. Set based on the current
session's SessionScope setting and applied to all cookies generated by this page.
property cookieSecure
as %ZEN.Datatype.integer [ InitialExpression = 0 ];
If HTTPS is enabled, set to 1 (true). Otherwise remains 0 (false). If true,
the "secure" flag is applied to all cookies generated by this page.
property currDropdownIndex
as %ZEN.Datatype.integer;
Index of current item in search dropdown.
property currItemId
as %ZEN.Datatype.string [ InitialExpression = "HOME" ];
Indicates the id of which item is selected in the selector pane (on the left).
property hashedUsername
as %ZEN.Datatype.string;
Hash of current login user name.
property homeChanged
as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If true, the the "Home" page needs to be refreshed to see new favorites.
property isGoHome
as %ZEN.Datatype.boolean(ZENURL="isGoHome") [ InitialExpression = 0 ];
If it is 1, it indicates that user clicked the "Home" link in small menu link then show "Home" selector.
property itemCount
as %ZEN.Datatype.integer;
Number of items in the selector pane (this is automatically computed).
property resourceMode
as %ZEN.Datatype.boolean;
If true, then show this page in a special mode where the user can assign resources.
User must hold %Admin_Secure for this to be enabled.
property searchLink
as %ZEN.Datatype.string;
Used by search box to track link of selected item.
method %ApplySearchToArray(pSearchKey As %String, ByRef pArray, Output pResults As %List)
Walk down array; find elements containing search key.
method %DrawDidYouKnow()
as %Status
Draw the did you know box.
method %DrawFavorites()
as %Status
Draw the favorites box.
method %DrawLinks()
as %Status
Draw the Links list.
method %DrawOptionsBox(pTitle As %String, pSubtitle As %String, ByRef pOptions As %List, pWhich As %String = "")
as %Status
Draw contents of one options box (favorites or recent).
method %DrawRecent()
as %Status
Draw the recent items list.
classmethod %GetDidYouKnowText()
as %String
Return localized "did you know" message.
method %GetLocatorLinks(Output pLink)
as %Status
Return the array of links to show in the locator bar.
pLink(n)=$LB(caption,link)
method %GetSearchResults(pSearchKey As %String, Output pResults As %List)
Return an array of search results:
pResults(n) = $LB(name,url,title)
method %OnAfterCreatePage()
as %Status
This class method callback is called just before the server-side page
object is created.
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.
classmethod %OnPreHTTP()
as %Boolean
Zen page notification of an HTTP request. This method can be overwritten
by subclasses.
This is called before the standard Zen pre-HTTP processing occurs.
classmethod AddToFavorites(pName As %String, pURL As %String, pLink As %String)
as %Boolean
[ ZenMethod ]
Add item to favorites list.
classmethod CheckSecurity(pResource As %String)
as %Boolean
Given a security resource, this method returns 1 if user has privilege, and 0 if the user does not security privilege for using a particular function.
classmethod CheckURL(pURL, pNAMESPACE)
as %String
[ ZenMethod ]
This method is called when user clicked "Go" after selecting a menu item. The url may be reconstructed based on where you are going.
For example, if you are going to an production-enabled namespace, the url will become /csp/ensnamespace/...
method CollectDisable(Output pData)
as %Boolean
CollectDisable is a helper method for DrawSelector.
This method builds the menu tree to check it for any access.
If none of the branches can be navigated, we want to disable the primary menu item.
pData is menu metadata.
This method returns 1 if all subpages are disabled.
Set tDisabled=..CollectDisable(.tData)
method DrawMessagePanel(pSeed As %String)
as %Status
Draw contents of the message panel.
method DrawSearchDropDown(pSeed As %String)
as %Status
Draw contents of the search results dropdown.
method DrawSearchResults(pSeed As %String)
as %Status
Draw contents of the search results panel.
method DrawSelector(pSeed As %String)
as %Status
Draw content of the selector pane.
method DrawSplashContent(pSeed As %String)
as %Status
Draw content of the splash pane.
method GetDeepSeeArray(Output pData)
as %Status
Provide finder contents for the DeepSee pages.
method GetEnsembleArray(Output pData)
as %Status
Provide finder contents for the Interoperability pages.
method GetFinderArray(ByRef pParameters, Output pMetaData, Output pData)
as %Status
Provide the source data (as an array) that will drive the finder.
method GetHealthShareArray(Output pData)
as %Status
Provide finder contents for the HealthShare pages.
classmethod GetNamespaceList()
as %String
[ ZenMethod ]
Populate the client-size zenPage._nsList array
with a list of available namespace and flags to indicate whether
each is production- and Analytics-enabled.
method GetSystemConfigArray(Output pData)
as %Status
Provide finder contents for the System Config pages.
method GetSystemExplorerArray(Output pData)
as %Status
Provide finder contents for the System Explorer pages.
method GetSystemOperationArray(Output pData)
as %Status
Provide finder contents for the System Operator pages.
classmethod HashUsername()
as %String
Hash current login username
method OnDrawRibbon()
as %Status
This is called in the middle of rendering the tool ribbon.
method OnGetRibbonInfo(Output pDisplay As %Boolean, Output pViewIcons As %List, Output pSortOptions As %List, Output pSearchBox As %Boolean, Output pRibbonTitle As %String)
as %Status
Get information to display in the ribbon bar.
classmethod RemoveFavorite(pName As %String)
as %Boolean
[ ZenMethod ]
Remove a favorite item from the list.
classmethod RemoveRecent(pName As %String)
as %Boolean
[ ZenMethod ]
Remove a recent item from the list.
method addFavorite(name, url, link)
[ Language = javascript ]
method assignResource(name, link)
[ Language = javascript ]
Launch the assign resource dialog.
method changeNamespace(ns)
[ Language = javascript ]
Change to a new namespace.
method clearSearchTimer()
[ Language = javascript ]
Stop the search timer.
method clearState()
[ Language = javascript ]
This method clears the 'state' cookie which indicates the last selection for the finderPane position on the SMP portal home.
method drawDetails(item, finder, index)
[ Language = javascript ]
Provide HTML for details on selected item in finder.
method drawEmptyFinder(item)
[ Language = javascript ]
Provide HTML for empty finder.
method dropDownClick(evt)
[ Language = javascript ]
method enableMirroring()
[ Language = javascript ]
method enableSharding()
[ Language = javascript ]
method getCookieValue(cookieName, cookieString)
as %String
[ Language = javascript ]
Generic method to get a cookie value. cookieName is the name, e.g. "state", cookieString is document.cookie.
method getNamespaceHTML(cat)
[ Language = javascript ]
Provide HTML to select a namespace.
method goHome()
[ Language = javascript ]
Go to the home page.
method hideSearchDropdown()
[ Language = javascript ]
Display the search results drop down.
method itemDoubleClick(item)
[ Language = javascript ]
Item double-clicked within the Finder.
method itemSelected(item)
[ Language = javascript ]
Item selected within the Finder.
method makeSelectorBig(flag)
[ Language = javascript ]
Set size of selector to big (true) or small (false).
method navigate(url)
[ Language = javascript ]
Navigate to a new page in the portal.
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 onlayoutHandler(load)
[ Language = javascript ]
Adjust sizes of components on the page.
method removeItem(which, name)
[ Language = javascript ]
Remove the given item from its list.
method saveState()
[ Language = javascript ]
Save current state into cookie so when page is refreshed it goes back to the last selection.
This method is called from navigate()and onPopupAction() for case switchNamespace
method searchBlur(evt)
[ Language = javascript ]
Blur event in search box.
method searchBoxDown()
[ Language = javascript ]
Go to next item in search box dropdown.
method searchBoxHandler(searchKey)
[ Language = javascript ]
Change in search box value. Can be overridden by subclasses.
method searchBoxUp()
[ Language = javascript ]
Go to prev item in search box dropdown.
method searchFocus(evt)
[ Language = javascript ]
Focus event in search box.
method searchKeyDown(evt)
[ Language = javascript ]
Key down in search box (override).
method searchKeyPress(evt)
[ Language = javascript ]
Key press in search box (override).
method searchTimerHandler()
[ Language = javascript ]
Action for search timer.
method selectCategory(cat)
[ Language = javascript ]
Item selected within the Selector.
method setClickElementClass(e)
[ Language = javascript ]
method setCookieValue(cookieName, cookieValue)
as %String
[ Language = javascript ]
Generic method to set a cookie name and value pair.
The expiration date is set to 2020 which is the same as in generic SMP pages, which should be changed before end of 2020.
method setSortModeHandler(mode)
[ Language = javascript ]
Do the actual work of updating the view to match the current sort mode.
method setViewModeHandler(mode, oldmode)
[ Language = javascript ]
Do the actual work of updating the view to match the current view mode.
method showSearchDropdown()
[ Language = javascript ]
Display the search results drop down.
method showSearchResults(flag)
[ Language = javascript ]
Hide/show search results.
method startSearchTimer()
[ Language = javascript ]
Start the search timer.
method thisnew()
[ Language = javascript ]
method toggleResourceMode(iscb)
[ Language = javascript ]
Toggle resource edit mode.
method updateMessagePanel(timer)
[ Language = javascript ]