Class Reference
%ZEN.Dialog.finderDialog
Server:appadmin-00044-deployment-6bf4cbc86d-9f4xc
Instance:IRIS
User:SuperUser
 
-
  [USER] >  [%ZEN] >  [Dialog] >  [finderDialog]
Private  Storage

deprecatedclass %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:
ClientMethod onPopupAction(popupName, action, value) [ Language = javascript ]
{
	switch(popupName) {
	case 'DataSource':
			if (value != '') {
				// value is name plus extension
				// pull extension off of name
				var s = value.toString().split('.');
				if ('cls' == s[s.length-1]) {
					s.length = s.length-1;
					var className = (s.join('.');
				}
			}
			break;
		}
	}
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

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
4 18 29


Summary

This is a Zen Page class. 

Properties
%condition %import %includeFiles %page
%resource align aux backgroundTimerInterval
caller category cellAlign cellSize
cellStyle cellVAlign children composite
containerStyle cssLevel currCategory currSortMode
currViewMode dialogTitle disabled disabledStyle
dragAndDrop dragEnabled dropEnabled enclosingClass
enclosingStyle error extension groupClass
groupStyle height hidden hideApplyButton
hideCancelButton hint hintClass hintStyle
id includeAbstract includeContext includeDatatype
includeGenerated includePercent includeProduct includeSystem
index label labelClass labelDisabledClass
labelPosition labelStyle layout mode
name onafterdrag onbeforedrag onclick
ondrag ondrop onhide onrefresh
onshow onupdate parent returnValue
searchKey showLabel slice subKey
superKey title tuple useSVG
useSoftModals valign visible width
window zenPersistentPopup

Methods
%AddChild %AddChildAfter %AddChildBefore %AddComponent
%AddImportedComponents %AddToSaveSet %ApplyURLParms %Attr
%BindExport %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %DrawAutoLogout
%DrawClassDefinitions %DrawComponentHTML %DrawHTML %DrawHTMLPage
%DrawJSStrings %DrawObjectDefinitions %DrawTitle %EnclosingDivId
%EndBackgroundMethod %EndScript %Eval %EvalC
%Extends %ForceClientRender %GetChildIndex %GetComponent
%GetComponentById %GetComponentByName %GetEventHandlers %GetLinks
%GetPageName %GetParameter %GetValueById %GetValueByName
%GetXMLName %IsA %IsModified %Link
%LinkCSS %LinkScript %MakeId %New
%NormalizeObject %ObjectModified %OnAddToPageAfter %OnAddToPageBefore
%OnAfterCreatePage %OnBeforeCreatePage %OnCreateApplication %OnCreatePage
%OnDetermineCSSLevel %OnDrawEnclosingDiv %OnDrawHTMLBody %OnDrawHTMLHead
%OnDrawHTMLMeta %OnDrawObjectProperties %OnFinishBackgroundTask %OnGetSubtitle
%OnGetTitle %OnMonitorBackgroundTask %OnMutateChildren %OnObjectSynch
%OnSubmit %OnUseSoftModals %OnZENDeserialize %OriginalNamespace
%PackageName %QuoteValue %QuoteValueL10N %RemoveChild
%RemoveChildren %RemoveComponent %RemoveFromSaveSet %RunBackgroundMethod
%Self %SerializeObject %SetBackgroundMethodStatus %SetErrorById
%SetErrorByName %SetModified %SetValueById %SetValueByName
%SetValuesByName %StartScript %ValidateObject %ZENVersion
ConvertParameter Decrypt DrawCategories DrawRibbon
Encrypt EscapeHTML EscapeURL GetFinderArray
HyperEventCall HyperEventHead Include InsertHiddenField
InsertHiddenFields IsPrivate JavaInstalled Link
OnGetCategoryInfo OnGetRibbonInfo OnHTTPHeader OnPage
OnPageError OnPostHTTP OnPostHyperEvent OnPreHTTP
OnPreHyperEvent Page QuoteJS RewriteURL
ShowError StartTimer StopTimer ThrowError
UnescapeHTML UnescapeURL XMLDTD XMLExport
XMLExportToStream XMLExportToString XMLNew XMLSchema
XMLSchemaNamespace XMLSchemaType addChild addChildAfter
addChildBefore adjustSize btnApply btnOK
cancelPopup childrenMutated correctIELayering createComponent
createComponentNS ctrlKeyDown deleteComponent dialogApply
dialogCancel dialogFinish dialogTitleGet disableButtons
dragFinishHandler dragHandler dragNotifyHandler dragStartHandler
drawDetails dropHandler dropStartHandler endModal
exposeComponent findElement fireOnResizeEvent fireOnUnloadEvent
fireOnUpdateEvent firePopupAction getChildIndex getComponent
getComponentById getDialogValue getEnclosingDiv getHidden
getHintElement getItemIcon getLabelElement getOpener
getProperty getSettings getType gotoPage
invokeSuper isOfType itemDoubleClick itemSelected
launchPopupWindow loadChildren makeId onCreate
onDelete onDisplayHandler onEndModalHandler onPopupAction
onRefreshContents onSerialize onServerMethodCall onServerMethodError
onServerMethodReturn onStartModalHandler ondialogCancel ondialogFinish
ondialogStart ondisabledHandler onhandleAutoLogoutWarn onkeydownHandler
onkeyupHandler onlayoutHandler onloadHandler onlogoutHandler
onoverlayHandler onresizeHandler onunloadHandler onupdateHandler
openSuper popupActionHandler refreshContents removeChild
render renderContents renderSVG searchKeyChange
setCategory setCategoryHandler setComponentId setHidden
setOverlayMode setProperty setPropertyAll setSortMode
setSortModeHandler setTraceOption setViewMode setViewModeHandler
startModal startProgressBar stopProgressBar

Subclasses
%DeepSee.UI.Dialog.finderDialog %iKnow.UI.Dialog.openDomain

Parameters

• parameter AUTOLOGOUT = 0;
AUTOLOGOUT is disabled for the finder dialog as we expect it to be called as a soft modal, and the timeout behaviour should thus be controlled by the opening page.
• 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

Properties

• property caller as %ZEN.Datatype.string(ZENURL="CALLER");
Page calling page might populate e.g dtleditor
• 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. IRISSYS, IRISLIB, ENSLIB, HSLIB
• property includeSystem as %ZEN.Datatype.boolean(ZENURL="SYSTEM");
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".

In "classes" mode the finderDialog supports four different sub-modes (stored in the currCategory property) which are chosen by the user clicking on an icon in the left-hand column of the finder.

The "local" sub-mode sets SYSTEM=0 and PERCENT=0 and PRODUCT=0. This is the default sub-mode for "classes".
The "persistent" sub-mode sets PERSISTENT=1 and, if they are undefined, SYSTEM=0, PERCENT=0, and PRODUCT=0.
The "datatype" sub-mode sets DATATYPE=1. The "system" sub-mode sets SYSTEM=1 and PERCENT=1 and PRODUCT=1.

Any URL parameter for the finderDialog that is not set by a "classes" sub-mode as described above may be used effectively with "classes" mode.

Other mode options are:
"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 BPL business process finder.
"bplplus" -- show business process finder: BPL and non-BPL.
"dtl" -- show DTL data transformation finder.
"dtlplus" -- show 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 rules finder.
"nms" -- show production-enabled namespaces.
"vdocclass" -- show VDoc or persistent classes.
"vdocschema" -- show VDoc schema categories for one or all VDoc families.
"vdoctype" -- show DocType structures. CATEGORY indicates the doc class.
"vdoccontents" -- show the contents of an VDoc structure. CATEGORY indicates the VDoc class and the DocType in the following format: CATEGORY=VDocClass|DocType.
"vdocsegtype" -- show segment types. CATEGORY indicates the VDoc class.
"vdocsegcontents" -- show property paths for a given segment. CATEGORY indicates the VDoc class and the DocType in the following format: CATEGORY=VDocClass|DocType.
"configurations" -- show configuration 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 except default extent queries.
"allqueries" -- show all stored procedures that return resultSets.
"views" -- show all SQL views.
"querycontext" -- alternately show queries, allqueries or view.
"prjfiles" -- show all Studio project files.
"production" -- show productions which are allowed in the namespace.
"datasettings" -- show all Deployable Settings Documents.

• 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.

Methods

• 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 a 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.


Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.