Skip to end of banner
Go to start of banner

Tree

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 50 Next »

Description

A tree is a hierarchical List, allowing users to expand and collapse nodes to show or hide nested items.

Types

Single selection tree

Multiple selection tree
In this case the smart selection method will be applied. See TBD

Usage & Behaviour

The tree is used to navigate within hierarchical lists of objects (e.g. organizations), and then to select one or more items in order to filter content or show additional information.
It usually appears inside a Filter Pane, a Details Panel or a Widget.

General guidelines

Structure

The tree consists of:

Leaf nodes

  • A leaf node is an objects that contains data

  • Each leaf node consists of a title and an optional icon, representing its type (e.g. a document). If all nodes are of the same type, the icon should not be used.

  • In case a leaf node represents an employee, an avatar image may appear instead of an icon.

Container nodes:

  • A container node is an object containing other objects (e.g. a folder).

  • Each container node consists of a triangle toggle button, an icon and a title.

  • The container node has two states:

    • Collapsed - when all children object are hidden. In this case, the toggle button points to the title of the object

    • Expanded - when all or some levels of children objects are shown. In this case, the toggle button points down.

  • If the icon representing a container mode is a folder, it may also have to states: closed and open respectively.

  • In some cases, a counter will appear next to the node title, showing the number of contained objects.

A root node (optional)

  • This is a single node that appears at the top of the tree and contains all other nodes.

  • It appears when it is relevant or when the user is allowed to select all objects at once.

Multiple Selection

In case of multiple selection, each node will have a checkbox, allowing the user to select and deselect it.

Default State

  • If a root node exists, it will be expanded by default, showing the second level of nodes.

  • If there is no root node, the list can be either entirely expanded, entirely collapsed or showing the only first node expanded and other nodes collapsed - all according to the specific needs.

Content

  • Nodes should be ordered alphabetically, to allow users locating specific objects quickly.

  • An exception to this guideline are time-related objects, that should be ordered chronologically, with the most recent item first.

  • LogicalSort items into a meaningful order. Group related options together and show the most common options first, followed by less common options. 

  • AlphabeticalSort the options alphabetically if more than 8 select options are available. This helps the user find the right option quickly. Sort currencies, names, and similar content alphabetically.

  • Numeric:Sort numeric values into a sequential order, with the lowest number first.

  • Chronological:Sort time-related information into chronological order, with the most recent first.

States

Regular

Hover

Active

Disabled

Focused

Focused, Hover

Focused, Active

Focused, Disabled

Interaction

  • You can click on the entire label

  • Click on the expand/collapse toggle will do the respective action.

  • Click on the node label (+counter) will select the node

  • Double-clicking the container node will expand/collapse the node

  • When the label is truncated (node name), hovering over it will show a tooltip with the full label

  • When a user expands a node if the nodes are not shown immediately, provide a "loading" indication at the place below the expanded node.

  • Selecting:

  1. Single select: One item of the tree can be selected. To select an item, click anywhere on the item row.

  2. Multiple selections: Allow the selection of one or more items. For this, the tree provides checkboxes on the left side of each line item. Each item is selected independently of the others

Single Selection

Multiple Selection Mode

Single selection is activated by selecting the node label.

Selecting the node label will select the node and un-select previously selected node.

On mouse hover a node, a check box is displayed. If the user checks it he is placed in a multi selection mode. Multi selection mode can also be activated by using Ctrl/Shift while selecting the node label.

On this mode, clicking the label/check box will perform multi select. Only once the apply is pressed the action is executed (whatever the corresponding action is).

Selecting a parent node through the check box will select its descendants as well.

Unselecting some of the descendants will place the parent node in mixed state.

Best practices

Use:

  • when there is a need to select one or more items from a hierarchical list.

Do not use:

  • Where there is no real hierarchy → use a List instead

  • to select values in a form or where the number of items is small → use a Drop-down Menu instead

General:

  • Tree may need to be 3, 4, or even 5 levels deep. But if you have 15-20 levels of depth it suffers usability

  • In case of a long list add a Search component.

Accessibility compliance

Unless otherwise specified, see our general compliance information in Fundamentals - Accessibility

Design

Zeplin link

Screen thumbnail

Single Select

https://zpl.io/agwRA0a

Multi Select

https://zpl.io/a8L0Exa

Smart Select

https://zpl.io/VDePyea

Tree - Organization

https://zpl.io/adgoJlV

Code


  • No labels