Type alias SettingsTree

SettingsTree: {
    actionHandler: ((action) => void);
    enableFilter?: boolean;
    focusedPath?: readonly string[];
    nodes: SettingsTreeNodes;
}

A settings tree is a tree of panel settings that can be displayed and edited in the panel settings sidebar.

Nodes and fields in the tree can be referred to by a string path, which collects the keys of each node on the path from the root to the child node or field.

For example, for the following tree:

root: { children: { a: { children: { b: { fields: { toggleMe: { label: "Toggle me", input: "boolean", value: false, }, }, }, }, }, }, },

the path to the node at b would be ["a", "b"] and the path to the toggleMe field would be ["a", "b", "toggleMe"]. These paths are used in the actionHandler, which responds to updates to values in the tree, and also in the focusedPath, which is used to focus the editor UI at a particular node in the tree.

Type declaration

  • actionHandler: ((action) => void)

    Handler to process all actions on the settings tree initiated by the UI.

  • Optional enableFilter?: boolean

    True if the settings editor should show the filter control.

  • Optional focusedPath?: readonly string[]

    Setting this will have a one-time effect of scrolling the editor to the node at the path and highlighting it. This is a transient effect so it is not necessary to subsequently unset this.

  • nodes: SettingsTreeNodes

    The settings tree root nodes. Updates to these will automatically be reflected in the editor UI.