class %ZEN.Dialog.finderDialog
extends standardDialog
This dialog window displays a finder-style file selection window.
This is intended for use within server portal pages.
To launch the finder use the zenLaunchPopupWindow function:
zenLaunchPopupWindow('%ZEN.Dialog.finderDialog.cls?MODE=classes',
'DataSource',
'status,scrollbars,resizable=yes,width=800,height=600');
Set URL parameter
MODE to the type of thing you wish to display.
Refer to the
mode for a list of possible values.
Set URL parameter
SUPER to limit the finder to showing classes that inherit
from a specified class. In this case,
MODE is ignored.
The return value of this dialog is of the form "name.type", where type is "cls" or "int" etc.
To process the return value:
To use this dialog, the current user must hold USE privileges on
one of the following resources:
%Admin_Manage,%Admin_Operate,%Admin_Secure,%Development,%Ens_Portal
This is a Zen Page class.
parameter DEFAULTCATEGORY = "local";
If this page has multiple categories, this is its initial value.
Note: the "local" value has meaning only for "classes" mode. Other modes should set a different default category.
See %OnAfterCreatePage() for where these defaults are set for each mode.
parameter DEFAULTVIEWMODE = "columns";
If this page has multiple views, this is its initial display mode.
parameter DOMAIN = "%ZEN";
Localization domain
property category
as %ZEN.Datatype.string(ZENURL="CATEGORY");
Category used by some modes.
property currCategory
as %ZEN.Datatype.string [ InitialExpression = ..#DEFAULTCATEGORY ];
Current Category.
property currSortMode
as %ZEN.Datatype.string [ InitialExpression = "name" ];
Current sort mode for this page.
property currViewMode
as %ZEN.Datatype.string [ InitialExpression = ..#DEFAULTVIEWMODE ];
If this page has "views", this is the current view type.
property extension
as %ZEN.Datatype.string;
If defined, then use this as the extension for items returned by the finder (e.g., "bpl").
property includeAbstract
as %ZEN.Datatype.boolean(ZENURL="ABSTRACT") [ InitialExpression = 1 ];
Include abstract classes. Used by some modes.
property includeContext
as %ZEN.Datatype.boolean(ZENURL="CONTEXT");
Used with mode "classes" for the business process context.
Include or do not include classes that are either persistent, serial, or datatype.
If true, accept any of these types. If false, accept none of them.
As you can see in %ZEN.FinderUtils, the value for includeContext overrides any value for includeDatatype.
The value for includeContext will also override mode "persistent" so they should not be used together.
Use includeContext only with mode "classes".
property includeDatatype
as %ZEN.Datatype.boolean(ZENURL="DATATYPE");
Used with mode "classes". Include or do not include classes that are datatypes.
property includeGenerated
as %ZEN.Datatype.boolean(ZENURL="GENERATED");
Used with mode "classes". Include or do not include classes that are generated.
property includePercent
as %ZEN.Datatype.boolean(ZENURL="PERCENT");
Used with mode "classes". Include or do not include classes whose names include the % character.
property includeProduct
as %ZEN.Datatype.boolean(ZENURL="PRODUCT");
Used with mode "classes". Include or do not include classes that are mapped to product databases, e.g. CACHESYS, CACHELIB, ENSLIB, HSLIB
property includeSystem
as %ZEN.Datatype.boolean(ZENURL="SYSTEM") [ InitialExpression = 0 ];
Include system items. Used by some modes.
Note that passing in the empty string when in "classes" mode and "local" category
will include both system and non-system classes.
property mode
as %ZEN.Datatype.string(ZENURL="MODE") [ InitialExpression = "classes" ];
This value is passed in by the caller of this dialog. It indicates
what things to display. The default is "classes".
Options include:
"classes" -- show class finder.
"persistent" -- show persistent class finder. Do not use DATATYPE or CONTEXT modifiers with this mode.
"datatype" -- show datatype class finder. Do not use DATATYPE or CONTEXT modifiers with this mode.
"cubes" -- show DeepSee cube finder.
"bpl" -- show Ensemble BPL business process finder.
"bplplus" -- show Ensemble business process finder: BPL and non-BPL.
"dtl" -- show Ensemble DTL data transformation finder.
"dtlplus" -- show Ensemble DTL data transformation finder: DTL and non-DTL.
"request" -- show all message request classes.
"response" -- show all message response classes.
"allmessages" -- show all message classes, grouped into categories.
"rules" -- show Ensemble rules finder.
"nms" -- show Ensemble namespaces.
"vdocclass" -- show Ensemble VDoc or persistent classes.
"vdocschema" -- show Ensemble VDoc schema categories for one or all VDoc families.
"vdoctype" -- show Ensemble DocType structures. CATEGORY indicates the doc class.
"vdoccontents" -- show the contents of an Ensemble VDoc structure. CATEGORY indicates the VDoc class and the DocType in the following format: CATEGORY=VDocClass|DocType.
"vdocsegtype" -- show Ensemble segment types. CATEGORY indicates the VDoc class.
"vdocsegcontents" -- show Ensemble property paths for a given segment. CATEGORY indicates the VDoc class and the DocType in the following format: CATEGORY=VDocClass|DocType.
"configurations" -- show Ensemble config items for all productions
"folderitems" -- show DeepSee folder items
"services" -- show all Business Service classes
"operations" -- show all Business Operation classes
"lookups" -- show all defined lookup tables
"sqlstored" -- show all stored procedures.
"queries" -- show all stored procedures that return resultSets
property returnValue
as %ZEN.Datatype.string;
Value to be returned by this dialog.
property searchKey
as %ZEN.Datatype.string;
Current search (filter) key value.
property subKey
as %ZEN.Datatype.string(ZENURL="SUB");
Current super class filter value which does not include the superclass in the output.
If set, this overrides the mode behaviour. Note that superKey takes precedence
if both properties are specified.
property superKey
as %ZEN.Datatype.string(ZENURL="SUPER");
Current super class filter value. If set, this overrides the mode behavior.
method %OnAfterCreatePage()
as %Status
Add components to page.
method %OnDrawHTMLHead()
as %Status
This callback is called at the end of the HTML HEAD section of the page.
(default implementation is a simple expression).
method %OnGetSubtitle()
as %String
Get the (localized) subtitle string for the dialog.
This should be implemented in a subclass.
method %OnGetTitle()
as %String
Get the (localized) title string for the dialog.
This should be implemented in a subclass.
method DrawCategories(pSeed As %String)
as %Status
Draw the contents of the Categories list on the left side of the dialog.
This is displayed if a subclass implements the OnGetCategoryInfo
callback.
pSeed indicates what to draw: "classes","zen", etc.
method DrawRibbon(pSeed As %String)
as %Status
Draw the contents of the tool ribbon.
This is displayed if a subclass implements the OnGetRibbonInfo
callback.
method GetFinderArray(ByRef pParameters, Output pMetaData, Output pData)
as %Status
Provide the source data (as an array) that will drive the finder.
method OnGetCategoryInfo(pCategory As %String, Output pDisplay As %Boolean, Output pIcons As %List)
as %Status
Get information to display in the category box.
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 OnPreHyperEvent(class As %String, method As %String)
as %Status
Avoid writing out the session cookie if we are in an Ensemble Studio session.
method adjustSize()
[ Language = javascript ]
Adjust size and position of components on this page.
method drawDetails(item, finder, index)
[ Language = javascript ]
Provide HTML for details on selected item in finder.
method getDialogValue()
[ Language = javascript ]
Get the value that will be applied when the user presses the OK button.
This is implemented by subclasses.
method getItemIcon(item)
[ Language = javascript ]
Return the icon for the item in "icons" mode.
method itemDoubleClick(item)
[ Language = javascript ]
Item double-clicked within the Finder.
method itemSelected(item)
[ Language = javascript ]
Item selected within the Finder.
method loadChildren(item)
[ Language = javascript ]
Load the children for the given node in the finder.
method onloadHandler()
[ Language = javascript ]
This client event, if present, is fired when the page is loaded.
method openSuper(superclass)
[ Language = javascript ]
User clicked on super class link.
method searchKeyChange(key)
[ Language = javascript ]
User has changed search key value.
method setCategory(cat)
[ Language = javascript ]
Change the current category for this page.
method setCategoryHandler(category)
[ Language = javascript ]
Do the actual work of applying the new category selection.
method setSortMode(mode)
[ Language = javascript ]
Change the current sort mode for the page.
method setSortModeHandler(mode)
[ Language = javascript ]
Do the actual work of applying the new sort option.
method setViewMode(mode)
[ Language = javascript ]
Change the current display mode for this page.
This is called by the icon buttons on the ribbon.
This will call the setViewModeHandler within a subclass.
method setViewModeHandler(mode, oldmode)
[ Language = javascript ]
Do the actual work of updating the view to match the current view mode.