Skip to content

Tree

Hierarchical tree browser: expand/collapse, single/multi selection, server lazy load via data_source__thing_id.

HTML tag: c-e620a987dfff34c5aa83378d377aa4ef2

  • browse or select in a hierarchy on the page
  • lazy-loaded parent/child tree from data source
  • not a compact form dropdown picker
PropTypeDefaultDescription
itemsArray
display_pathStringlabel
selection_modeStringsingle
expanded_keysString
value_pathStringthing_id
children_pathStringchildren
has_children_pathStringhas_children
child_count_pathString
is_leaf_pathStringis_leaf
has_children_conditionString
probe_children_on_expandStringwhen_unknown
default_expand_levelNumber
searchableBoolean
min_search_charsNumber2
search_param_pathStringsearch_term
server_debounce_msNumber250
data_source__thing_idString
data_source_input_paramsObject[object Object]
parent_param_pathStringparent_thing_id
indent_sizeNumber10
text_alignStringleft
row_guidesBoolean
selected_itemsArray
  • Configure value_path, display_path, children_path (defaults thing_id/label/children).
  • selection_mode single|multiple; bind selected_items or listen item-selected / selected-items-changed.
  • Lazy trees: data_source_input_params + parent_param_path on expand; source-data-loaded / source-data-load-failed.
  • For form field picking one path use ab-tree-input, not this bare tree.
EventDetail
item-selected
selected-items-changed
expandid: String, item: Object
collapseid: String, item: Object
selection-path-changedvalue: String, item: Object, path_keys: Array, path_labels: Array, path_items: Array
filtertext: String
SignatureDescription
expand(key: String)
collapse(key: String)
toggle(key: String)
`setSelection(keys: ArrayString, options: Object)`
ensurePathVisible(pathKeys: Array, options: Object)

Do not use ab-select for deep hierarchies. Do not embed ab-data-grid expecting tree expand semantics.

<c-e620a987dfff34c5aa83378d377aa4ef2 .items=${nodes} .selection_mode=${'single'} .data_source__thing_id=${src} @item-selected=${onNode} @expand=${loadChildren}></c-e620a987dfff34c5aa83378d377aa4ef2>