deprecatedabstract class %iKnow.UI.AbstractPortal
extends Styles
This is the base class for the sample iKnow Portal pages, which is available to be subclassed
by custom Zen pages exposing iKnow content and/or functionality. Some of the convenience services
provided by this page include:
- methods and widgets to select and manage a 'current' domain, source and term for the session, which can be used by queries and operations on this page.
- a pane featuring a modalGroup widget for the user to specify a filter based on metadata criteria (showing all visible metadat fields for the current domain).
- utility methods to page through results from iKnow queries.
This is a Zen Page class.
parameter APPLICATION;
This is the class name of this application this page belongs to.
If not defined, this page does not belong to an application.
parameter AUTONS = 1;
If true, auto-switch namespace to whatever $NAMESPACE is passed in.
parameter DOMAIN = "%iKnow";
Localization domain
parameter RESOURCE = "%Development";
All pages in %iKnow.UI require at least the %Development resource
method %OnAfterCreatePage()
as %Status
Initializes some of the panes and session variables used by this page, fetching domain,
source and term variables from the request (if present).
If certain activities need to be performed in a subclass, override
OnAfterCreatePage rather than this method.
method AddFilter(pGroup As %String = 0)
as %String
[ ZenMethod ]
final method BuildInfoPane()
as %Status
Builds infoPane.
method ChangeFilterDSDimField(pDimSpec As %String)
as %Status
[ ZenMethod ]
method ChangeFilterMDField(pFieldId As %Integer)
as %Status
[ ZenMethod ]
method ChangeFilterMDOp(pOperator As %Integer)
as %Status
[ ZenMethod ]
method ChangeFilterType(pFilterType As %String)
as %Status
[ ZenMethod ]
method ClearFilter()
as %Status
[ ZenMethod ]
method DrawFilter(pSeed As %String)
as %Status
This method draws the filter in the filter popup screen
final method EndSession()
as %Status
[ ZenMethod ]
Utility method to end the session from the client.
method ExecuteQuery(pRS As %Library.ResultSet, ByRef tSC As %Status, pInfo As %ZEN.Auxiliary.QueryInfo)
as %Boolean
Utility method to avoid executing queries when no domain is specified (which could lead to
noisy errors in the UI).
method ExecuteQuerySys(pRS As %Library.ResultSet, ByRef tSC As %Status, pInfo As %ZEN.Auxiliary.QueryInfo)
as %Boolean
Same as ExecuteQuery, but will use the system domain (ID=0) if ..source<0
method GetCurrentFilterMode()
as %Integer
Returns the current filter mode, if any
method GetCurrentFilterObject()
as %iKnow.Filters.Filter
Returns the current filter object, if any
deprecatedmethod GetCurrentFilterString()
as %String
Returns the current filter string, if any
NOTE: this method is deprecated. Please access filter directly instead.
method GetInfoPaneText()
as %String
Returns the text to be displayed in infoPane. To be overridden by the subclass using it.
final method GetPage(componentName As %String)
as %Integer
Utility method to return the "current page" stored in the session for the supplied component
name, or 1 if no page was registered so far.
deprecatedfinal method GetSource()
as %Integer
[ ZenMethod ]
Returns the currently selected source ID.
NOTE: this method is deprecated. Please access source directly instead.
final method GetSourceObject()
as %iKnow.Objects.Source
Returns the currently selected source as a %iKnow.Objects.Source or
%iKnow.Objects.VirtualSource object.
method InitPages()
as %Status
This method should to be implemented by subclasses using the paging functions, giving all paged
components a meaningful initial page value (usually 1).
method InputTerm(pBase As %String)
as %String
[ ZenMethod ]
final method NextPage(componentName As %String)
as %Integer
[ ZenMethod ]
Updates the current page for the supplied component to the next integer value.
method OnAfterCreatePage()
as %Status
method OnChangeLanguageMode()
as %Status
This method is called whenever the language mode changes, as part of UpdateSource
or %OnAfterCreatePage
method OnUpdateDomain(domainId As %Integer)
as %Status
This method can be overridden at the subclass level to take any additional server-side
actions when the domain is changed.
method OnUpdateFilter()
as %Status
[ ZenMethod ]
method OnUpdateSource(sourceId As %Integer)
as %Status
Server-side method subclasses can override to take additional actions upon a change in the
current source.
method OnUpdateTerm(term As %String)
as %Status
Server-side methods subclasses can override to take additional actions when the user selects
a new term.
final method PreviousPage(componentName As %String)
as %Integer
[ ZenMethod ]
Updates the current page for the supplied component to the previous integer value (minimum value is 1).
method RemoveFilterAt(pGroup)
as %Status
[ ZenMethod ]
method ResetPages()
as %Integer
[ ZenMethod ]
Resets all page information in the session.
method SetSkiplists(skipListIds As %String)
[ ZenMethod ]
method ToggleGroupLogic(pGroup As %String)
as %Status
[ ZenMethod ]
final method UpdateDomain(domainId As %Integer)
as %Status
[ ZenMethod ]
ZenMethod to take appropriate cleanup action if the domain is updated. Will in turn call
OnUpdateDomain, which can be overridden by subclasses.
final method UpdateSource(sourceId As %Integer)
as %Status
[ ZenMethod ]
Server-side method updating the source pointers and taking any other appropriate actions. Invokes
OnUpdateSource afterwards.
final method UpdateTerm(term As %String)
as %Status
[ ZenMethod ]
ZenMethod taking appropriate server-side cleanup and update actions when a new term is selected.
Calls OnUpdateTerm afterwards.
method addFilterClient()
[ Language = javascript ]
method changeFilterDSDimFieldClient()
[ Language = javascript ]
method changeFilterMDFieldClient()
[ Language = javascript ]
method changeFilterMDOpClient()
[ Language = javascript ]
method changeFilterTypeClient()
[ Language = javascript ]
method clearFilterClient()
[ Language = javascript ]
method drillFilterClient(filterString)
[ Language = javascript ]
Client-side method called when the "drill" link next to a filter (in VIEW mode) is clicked
method inputTermClient(text)
[ Language = javascript ]
method inputTermDeferred(text)
[ Language = javascript ]
final method nextPageClient(componentName)
as %Status
[ Language = javascript ]
Client-side method to trigger a components query to be re-executed for the next page of results.
method onTermKeyUp()
[ Language = javascript ]
Key capture method to trigger updateTermClient when the enter key is pressed.
method onUpdateFilterClient()
[ Language = javascript ]
Client-side method subclasses can override to execute additional logic when the user has changed
filter criteria.
method onUpdateSourceClient(source)
[ Language = javascript ]
Client-side method subclasses can override to take additional actions upon a change in the
current source.
method onUpdateTermClient(term)
[ Language = javascript ]
Client-side method subclasses can override to take additional actions when the user selects
a new term.
final method previousPageClient(componentName)
as %Status
[ Language = javascript ]
Client-side method to trigger a components query to be re-executed for the previous page of results.
method refreshMDFilterFields()
[ Language = javascript ]
method removeFilterClient(depth)
[ Language = javascript ]
method setCurrentGroupClient(depth)
[ Language = javascript ]
method setSkiplistsClient()
[ Language = javascript ]
final method showFilterForm()
[ Language = javascript ]
Display the filter popup window.
method showSkiplists()
[ Language = javascript ]
method toggleGroupLogicClient(depth)
[ Language = javascript ]
final method updateFilterClient()
[ Language = javascript ]
Client-side method called when the user commits his filter criteria in the filter popup window.
This will call OnUpdateFilter on the server, close the popup and call
onUpdateFilterClient afterwards.
final method updateSourceClient(source)
[ Language = javascript ]
Client-side method updating the source pointers and taking any other appropriate actions. In turn
invokes Updatesource and onUpdateSourceClient.
final method updateTermClient(term)
[ Language = javascript ]
Client-side method to be called when the user selects a new term, which will call
UpdateTerm and onUpdateTermClient.
final method useTermClient(term)
[ Language = javascript ]
Client-side method which will explicitly select a certain term, updating the txtTerm input field in
txtTermPane and then call updateTermClient.