SiTreeViewComponent documentation¶
si-tree-view
Implements a tree view with the following main capabilities:
Showing multiple trees. The data of the trees is set via the input property 'items'.
Showing the trees in a flat mode with navigation/bread/crumb on top.
A tree/list item is composed of a 'folder' icon, any item icon, the label, two additional datafields and a context menu button.
Children of parent nodes are lazy loaded upon request (in case they are not yet available in model.)
Context menu support via context menu item: the context menu items can be set via input properties.
Multi selection and focus support.
Checkboxes and / or option boxes per tree node.
Virtualization support: Input properties allow to set the page size and the number of pages to be virtualized.
Current limitation is roughly half a million of nodes. This is due to some 'strange' behavior with flex containers.
Set the input properties 'pageSize' and 'pagesVirtualized' to a reasonable amount of virtualized items.
The number of virtualized items is the product of the pageSize and the pagesVirtualized (no of pages virtualized).
Choose a value in the area of 50 virtualized items, dependent on the screen size. Check at runtime if appropriate!
Grouped List support: The component does also support grouped lists.
See the test client implementation of this package for all functionality.
Input Properties¶
Name | Type | Default | Description |
---|---|---|---|
ariaLabel ¶ | TranslatableString | Aria label for the tree view. Needed for a11y, alternatively use ariaLabelledBy . | |
ariaLabelledBy ¶ | string | Aria labelled by for the tree view. Needed for a11y, alternatively use ariaLabel . | |
childrenIndentation ¶ | number | DEFAULT_CHILDREN_INDENTATION | The indentation in pixel for the children in respect to its parent. |
collapseAllTooltip ¶ | TranslatableString | $localize`:@@SI_TREE_VIEW.COLLAPSE_ALL:Collapse all` | Tooltip text shown for the collapse all icon. |
compactMode ¶ | boolean | false | Enable the compact mode, making it more vertically compact. |
contextMenuItems ¶ | ((MenuItem | MenuItem )[] | MenuItemsProvider ) | [] | The context menu items which are bound to the context menu of all tree items, or a menu item provider function that is invoked for each tree item once. |
deleteChildrenOnCollapse ¶ | boolean | false | Sets if children are deleted upon collapsing tree items. This feature might be used, if children shall be lazy loaded always upon expanding a tree item. |
disableFilledIcons ¶ | boolean | false | Whether "filled" icons should not be used when a tree item is selected. Per default filled icons are used when available. |
enableCheckbox ¶ | boolean | false | Sets if the tree items shall show a checkbox. |
enableContextMenuButton ¶ | boolean | true | Shows or hides context menu button and also controls context menu visibility on right click. |
enableDataField1 ¶ | boolean | false | Shows or hides additional information below the label. |
enableDataField2 ¶ | boolean | false | Shows or hides additional information below the label. |
enableIcon ¶ | boolean | true | Shows or hides icon |
enableOptionbox ¶ | boolean | false | Sets if the tree items shall show an optionbox. |
enableSelection ¶ | boolean | false | Allows / disabled selecting of tree items by clicking on them. |
enableStateIndicator ¶ | boolean | true | Shows or hides state pipe. |
expandAllTooltip ¶ | TranslatableString | $localize`:@@SI_TREE_VIEW.EXPAND_ALL:Expand all` | Tooltip text shown for the expand all icon. |
expandCollapseAll ¶ | boolean | false | Enable buttons for collapse and expand all. Does not work when flatTree is enabled. |
expandOnClick ¶ | boolean | false | Sets if the tree items should expand/collapse when clicking on them. Does not work when flatTree is enabled or the tree item is not selectable. |
flatTree ¶ | boolean | false | Sets if the tree view shall be displayed as flat tree list with a breadcrumb. A flat tree only shows the one level at the time and lists the tree items of the current level as a list. |
folderStateStart ¶ | boolean | true | Sets if the folder state icon shall be shown on the left (in LTR) or on the right (in LTR) side of the tree item. Per default the icon will be shown on the left (in LTR). Has no effect if flatTree is enabled. |
groupedList ¶ | boolean | false | Sets if the tree view is displayed as a grouped list. Important: In this mode, only the first two hierarchies of the tree model are considered! |
horizontalScrolling ¶ | boolean | false | Enable horizontal scrolling. When disabled (the default), an ellipsis is used for overflowing text |
icons ¶ | TreeViewIconSet | Customize icons for treeview. | |
inheritChecked ¶ | boolean | true | Sets if the checkbox state of a tree item is inherited to its children/parent. |
isVirtualized ¶ | boolean | true | Sets if the tree list shall virtualize the tree items. This input field must be set at startup and shall not be changed afterwards. |
items ¶ | TreeItem <any >[] | ... | Sets the root tree items of all the trees (Required). |
noActionsString ¶ | string | 'No actions available' | String to be shown when there are no content actions. |
pageSize ¶ | number | 10 | Number of rows per page. Used for the virtualization of rows (number of rows per page). |
pagesVirtualized ¶ | number | 6 | Number of pages which are virtualized. |
selectedItem ¶ | (TreeItem <any > | TreeItem <any >[]) | Sets the tree item to be selected. | |
singleSelectMode ¶ | boolean | false | Sets if the tree shall force single tree item selection. |
trackByFunction | TrackByFunction <TreeItem <any >> | buildTrackByIdentity<TreeItem>() | Track-by function for tree items. By default, items are tracked by their identity. Deprecated: has no effect and will be removed |
Output Properties¶
Name | Type | Description |
---|---|---|
itemsVirtualizedChanged ¶ | ItemsVirtualizedArgs | Triggered upon virtualization (or unvirtualization) of a tree item. |
loadChildren ¶ | LoadChildrenEventArgs | Triggered upon the request of loading the children of a tree item. |
treeItemCheckboxClicked ¶ | CheckboxClickEventArgs | Triggered upon clicking the checkbox of a tree item. |
treeItemClicked ¶ | TreeItem <any > | Triggered upon clicking the label of a tree item. |
treeItemFolderClicked ¶ | FolderStateEventArgs | Triggered upon clicking the folder of a tree item. |
treeItemFolderStateChanged ¶ | FolderStateEventArgs | Triggered upon a state change of the folder of a tree item. |
treeItemsSelected ¶ | TreeItem <any >[] | Triggered upon the selection of a tree item (multi selection supported). |
Attributes and Methods¶
Name | Type | Default | Description |
---|---|---|---|
addChildItems(...) ¶ | (children: TreeItem <any >[], parent: TreeItem <any >, position: number ) => void | Add tree items as root elements or as children of an existing tree item. Parameters | |
collapseAll(...) ¶ | (items: TreeItem <any >[]) => void | Collapses all tree items. Parameters | |
collapseTreeItem(...) ¶ | (item: TreeItem ) => void | Collapses the provided tree item. Parameters
| |
(readonly) dropListItems ¶ | TreeItem <any >[] | Can be used for [cdkDropListData] when using cdk drag and drop. | |
expandAll(...) ¶ | (items: TreeItem <any >[]) => void | Expands all tree items. Parameters | |
expandTreeItem(...) ¶ | (item: TreeItem ) => void | Expands the provided tree item. Parameters
| |
refresh() ¶ | () => void | Forces a refresh of the view considering the current tree item model. Needs to be called when tree items have been added, removed, or updated via model in ways that do not trigger an automatic update of the view. | |
scrollItemIntoView(...) ¶ | (treeItem: TreeItem ) => void | Scrolls the specified tree item into view. Tree items will be expanded if required. Parameters
| |
showTreeItem(...) ¶ | (item: TreeItem ) => void | Updates the tree to visualize the provided tree item by expanding all its parent items, collapsing all other first level tree items and scroll to the provided item. Parameters
| |
(readonly) templates ¶ | Signal <readonly SiTreeViewItemTemplateDirective []> | ... | The injected content with included SiTreeViewItemTemplateDirective. |
Types Documentation¶
Represents a translatable string. This can either be a translation key, e.g. ACTIONS.EDIT that will be automatically translated when displayed on the UI or a pre-translated string, e.g. Edit . Equivalent to a normal string in usage and functionality. |
---|
Variable |
---|
Defines the data for a tree item. All properties are optional. | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||
|
| |||||||
|
| ||||||||
|
| ||||||||
|
Translatable import imported from @siemens/element-translate-ng |
---|
|
|
Represents a menu item that navigates using the Angular Router. Requires a configured Angular Router. | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
The check box state of a tree item. |
---|
The folder state of a tree item. |
---|
|
Implement and provide this to an SiMenuFactoryComponent to receive trigger events. | |||||||
---|---|---|---|---|---|---|---|
| |||||||
|
| |||||||
|
Used in events emitted from SiLinkActionService | |||
---|---|---|---|
|
|
| |||||||
| |||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
A service wrapping ResizeObserver . This is a service for those reasons: - only one ResizeObserver should be used for performance reason. - For Angular change detection to work, explicit ngZone calls are necessary - Observable stream | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
A directive that turns its host element into a trigger for a popup menu. It can be combined with cdkMenuItem to create sub-menus. If the element is in a top level MenuBar it will open the menu on click, or if a sibling is already opened it will open on hover. If it is inside of a Menu it will open the attached Submenu on hover regardless of its sibling state. | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||
| |||||||||||||||||||||
|
| |||||||
| |||||||
|
Except where otherwise noted, content on this site is licensed under MIT License.