The Directory element is a UI element used to present the folder and document structure within an application in a hierarchical tree view. Especially in Document Management System (DMS) scenarios, it allows users to navigate comfortably between folders and documents using a VS Code-like explorer structure.
Thanks to this element, even if folder and document records from the backend are in a flat data structure, they can be displayed on the screen as a tree structure. Users can open folders, navigate through subfolders, select documents, and track their current location via the breadcrumb trail. This makes multi-layered content structures more organized, readable, and manageable.
The Directory element is commonly used in the following scenarios:
The Directory element offers the following key features for managing folder and document structures:
When you select the Directory element, you can control its data structure and visual appearance via the Properties panel on the right.
The basic properties available for this element are as follows:

Options: Options refers to the flat node list coming from the Backend. The Directory element uses this dataset to create the folder and document structure. Therefore, the data structure provided in the Options field must correctly include parent-child relationships.
For each node used in this field, the following fields are typically present:
DataTextField: Determines the text field to be displayed on the screen for each Node. By default, the name field is used. If the text to be displayed is stored in a different field in the data source, the relevant field name can be defined via this property.
DataValueField: Defines the field representing each node’s unique identifier. By default, id is used. This field must be unique for selection, event, and binding operations to function correctly.
DataParentField: Defines the field that determines the parent-child relationship between nodes. By default, parentId is used. For records at the root level, this field must be empty or null.
DataNodeTypeField: Defines the field that specifies the node’s type. The default is `nodeType`. This field allows for the differentiation of various node types, such as folder, document, or virtual folder, if applicable.
Supported example values:
Theme: Theme determines the visual theme of the Directory element. Supported values:
Theme selection is particularly important for readability and visual harmony on screens with dense data.
ShowSearch: When this feature is enabled, a search field is displayed at the top of the Directory element. The search operates on the client side and provides normalization support compatible with Turkish characters.
With this feature, users can:
to perform faster searches.
ShowAddressBar: When this feature is enabled, a breadcrumb structure and navigation controls are displayed at the top of the element. Users can track their current folder path and navigate using the back/forward/up logic.
This feature particularly simplifies navigation in multi-level folder structures.
ClientPageSize: Enables client-side pagination. It can be used to improve performance and readability, especially in folder structures with a large number of nodes.
For example, if the value 50 is set here, a maximum of 50 records are displayed in a folder at any given time. Users can navigate to the next page for additional records.
Style: Used to define style settings to be applied to the Directory element’s container. It can be used for sizing, spacing, alignment, or custom appearance needs.
The Directory element has a structure capable of executing actions based on user interactions. When the element is selected, the ADD ACTION button appears, and actions can be defined via specific events.
The event actions available in the Directory element are as follows:
OnNodeSelect: Triggered when the user selects any node in the Directory structure.
This event is used to manage more general selection scenarios. For example, it can be used to display detailed information about the selected node, open related content in a different panel, or filter data based on the selection.
OnDocumentSelect: Triggers when the user selects a document. It is typically used for document-focused operations. For example, the selected document’s detail screen can be opened, a preview can be displayed, a download can be initiated, or additional information about the document can be presented to the user.
OnFolderSelect: Triggers when the user selects a folder. The contents of the selected folder can be listed, subfolders can be displayed, or only documents associated with the relevant folder can be displayed on the screen. It is particularly useful in folder-based navigation scenarios.
The Directory element generates various output values based on the selected node and user interactions. These values can be read using the value() function and transferred to other elements via SetValueOf.
Available Binding Values
Virtual Folders operate in smart mode. This mode automatically generates different views based on the document’s language and version structure.
Document Management on the DMS Main Screen
The Directory element can be used to display the folder and document tree in the left panel of the DMS main screen. In this scenario, the user makes a selection from the tree on the left, and operations are performed on the selected content in the right panel.
Page Initialization Flow
User Interaction
When the user clicks a folder in the tree, the onFolderSelect event is triggered.
When the user clicks a document, the onDocumentSelect event is triggered.
The Document element automatically uploads the new version.
Example Action Binding
Page Init:
1. GetDocumentTree → dsDocumentTree
2. Directory.options = dsDocumentTree
Directory.onDocumentSelect:
1. SetValueOf(Document.versionId, Directory.selectedVersionId)
Directory.onFolderSelect:
1. SetValueOf(DocumentUploader.folderId, Directory.selectedFolderId)