@headless-tree/core
Index
Async Data Loader/General
Other
- AssistiveDndState
- DragTargetPosition
- AsyncDataLoaderDataRef
- AsyncDataLoaderFeatureConfig
- AsyncDataLoaderFeatureItemInstance
- AsyncDataLoaderFeatureState
- AsyncDataLoaderFeatureTreeInstance
- DndDataRef
- DndState
- DragAndDropFeatureConfig
- DragAndDropFeatureItemInstance
- DragAndDropFeatureState
- DragAndDropFeatureTreeInstance
- DragLineData
- ExpandAllDataRef
- ExpandAllFeatureConfig
- ExpandAllFeatureItemInstance
- ExpandAllFeatureState
- ExpandAllFeatureTreeInstance
- HotkeyConfig
- HotkeysCoreDataRef
- HotkeysCoreFeatureConfig
- HotkeysCoreFeatureItemInstance
- HotkeysCoreFeatureState
- HotkeysCoreFeatureTreeInstance
- ItemInstance
- ItemMeta
- KDndDataRef
- KeyboardDragAndDropFeatureConfig
- KeyboardDragAndDropFeatureItemInstance
- KeyboardDragAndDropFeatureState
- KeyboardDragAndDropFeatureTreeInstance
- MainFeatureConfig
- MainFeatureItemInstance
- MainFeatureState
- MainFeatureTreeInstance
- PropMemoizationConfig
- PropMemoizationDataRef
- PropMemoizationItemInstance
- PropMemoizationState
- PropMemoizationTreeInstance
- RenamingFeatureConfig
- RenamingFeatureItemInstance
- RenamingFeatureState
- RenamingFeatureTreeInstance
- SearchFeatureConfig
- SearchFeatureDataRef
- SearchFeatureItemInstance
- SearchFeatureState
- SearchFeatureTreeInstance
- SelectionFeatureConfig
- SelectionFeatureItemInstance
- SelectionFeatureState
- SelectionFeatureTreeInstance
- SyncDataLoaderFeatureConfig
- SyncDataLoaderFeatureItemInstance
- SyncDataLoaderFeatureState
- SyncDataLoaderFeatureTreeInstance
- TreeConfig
- TreeDataLoader
- TreeFeatureConfig
- TreeFeatureItemInstance
- TreeFeatureState
- TreeFeatureTreeInstance
- TreeInstance
- TreeItemDataRef
- TreeState
- AsyncDataLoaderFeatureHotkeys
- CustomHotkeysConfig
- DragAndDropFeatureDef
- DragAndDropFeatureHotkeys
- DragTarget
- EmptyFeatureDef
- ExpandAllFeatureDef
- ExpandAllFeatureHotkeys
- FeatureDef
- FeatureImplementation
- HotkeyName
- HotkeysConfig
- HotkeysCoreFeatureDef
- HotkeysCoreFeatureHotkeys
- InstanceBuilder
- ItemInstanceOpts
- KeyboardDragAndDropFeatureDef
- KeyboardDragAndDropFeatureHotkeys
- MainFeatureDef
- MainFeatureHotkeys
- PropMemoizationFeatureDef
- PropMemoizationHotkeys
- RegisteredFeatures
- RenamingFeatureDef
- RenamingFeatureHotkeys
- SearchFeatureDef
- SearchFeatureHotkeys
- SelectionFeatureDef
- SelectionFeatureHotkeys
- SetStateFn
- SyncDataLoaderFeatureDef
- SyncDataLoaderFeatureHotkeys
- TreeFeatureDef
- TreeFeatureHotkeys
- TreeInstanceOpts
- Updater
- asyncDataLoaderFeature
- dragAndDropFeature
- expandAllFeature
- hotkeysCoreFeature
- keyboardDragAndDropFeature
- propMemoizationFeature
- renamingFeature
- searchFeature
- selectionFeature
- syncDataLoaderFeature
- buildProxiedInstance
- buildStaticInstance
- createOnDropHandler
- createTree
- insertItemsAtTarget
- removeItemsFromParents
Async Data Loader/General
AsyncDataLoaderFeatureDef
Type parameters
- T
Type declaration
config: { createLoadingItemData?: () => T; onLoadedChildren?: (itemId: string, childrenIds: string[]) => void; onLoadedItem?: (itemId: string, item: T) => void; rootItemId: string; setLoadingItemChildrens?: SetStateFn<string[]>; setLoadingItemData?: SetStateFn<string[]> }
optionalcreateLoadingItemData?: () => T
Returns T
optionalonLoadedChildren?: (itemId: string, childrenIds: string[]) => void
Parameters
itemId: string
childrenIds: string[]
Returns void
optionalonLoadedItem?: (itemId: string, item: T) => void
Parameters
itemId: string
item: T
Returns void
rootItemId: string
optionalsetLoadingItemChildrens?: SetStateFn<string[]>
optionalsetLoadingItemData?: SetStateFn<string[]>
hotkeys: SyncDataLoaderFeatureDef<T>[hotkeys]
itemInstance: SyncDataLoaderFeatureDef<T>[itemInstance] & { invalidateChildrenIds: () => void; invalidateItemData: () => void; isLoading: () => boolean; updateCachedChildrenIds: (childrenIds: string[]) => void }
state: { loadingItemChildrens: string[]; loadingItemData: string[] }
loadingItemChildrens: string[]
loadingItemData: string[]
treeInstance: SyncDataLoaderFeatureDef<T>[treeInstance] & { waitForItemChildrenLoaded: (itemId: string) => Promise<void>; waitForItemDataLoaded: (itemId: string) => Promise<void> }
Other
AsyncDataLoaderFeatureHotkeys
Type parameters
- T
CustomHotkeysConfig
Type parameters
- T
DragAndDropFeatureDef
Type parameters
- T
Type declaration
config: { canDrag?: (items: ItemInstance<T>[]) => boolean; canDrop?: (items: ItemInstance<T>[], target: DragTarget<T>) => boolean; canDropForeignDragObject?: (dataTransfer: DataTransfer, target: DragTarget<T>) => boolean; canReorder?: boolean; createForeignDragObject?: (items: ItemInstance<T>[]) => { data: any; format: string }; indent?: number; onCompleteForeignDrop?: (items: ItemInstance<T>[]) => void; onDrop?: (items: ItemInstance<T>[], target: DragTarget<T>) => void | Promise<void>; onDropForeignDragObject?: (dataTransfer: DataTransfer, target: DragTarget<T>) => void | Promise<void>; reorderAreaPercentage?: number; setDndState?: SetStateFn<DndState<T> | undefined | null> }
optionalcanDrag?: (items: ItemInstance<T>[]) => boolean
Parameters
items: ItemInstance<T>[]
Returns boolean
optionalcanDrop?: (items: ItemInstance<T>[], target: DragTarget<T>) => boolean
Parameters
items: ItemInstance<T>[]
target: DragTarget<T>
Returns boolean
optionalcanDropForeignDragObject?: (dataTransfer: DataTransfer, target: DragTarget<T>) => boolean
Parameters
dataTransfer: DataTransfer
target: DragTarget<T>
Returns boolean
optionalcanReorder?: boolean
optionalcreateForeignDragObject?: (items: ItemInstance<T>[]) => { data: any; format: string }
Parameters
items: ItemInstance<T>[]
Returns { data: any; format: string }
data: any
format: string
optionalindent?: number
optionalonCompleteForeignDrop?: (items: ItemInstance<T>[]) => void
Parameters
items: ItemInstance<T>[]
Returns void
optionalonDrop?: (items: ItemInstance<T>[], target: DragTarget<T>) => void | Promise<void>
Parameters
items: ItemInstance<T>[]
target: DragTarget<T>
Returns void | Promise<void>
optionalonDropForeignDragObject?: (dataTransfer: DataTransfer, target: DragTarget<T>) => void | Promise<void>
Parameters
dataTransfer: DataTransfer
target: DragTarget<T>
Returns void | Promise<void>
optionalreorderAreaPercentage?: number
Defines the size of the area at the top and bottom of an item where, when an item is dropped, the item willö be placed above or below the item within the same parent, as opposed to being placed inside the item. If
canReorder
isfalse
, this is ignored.optionalsetDndState?: SetStateFn<DndState<T> | undefined | null>
hotkeys: never
itemInstance: { isDragTarget: () => boolean; isDragTargetAbove: () => boolean; isDragTargetBelow: () => boolean; isDraggingOver: () => boolean }
isDragTarget: () => boolean
Returns boolean
isDragTargetAbove: () => boolean
Returns boolean
isDragTargetBelow: () => boolean
Returns boolean
isDraggingOver: () => boolean
Returns boolean
state: { dnd?: DndState<T> | null }
optionaldnd?: DndState<T> | null
treeInstance: { getDragLineData: () => DragLineData | null; getDragLineStyle: (topOffset?: number, leftOffset?: number) => Record<string, any>; getDragTarget: () => DragTarget<T> | null }
getDragLineData: () => DragLineData | null
Returns DragLineData | null
getDragLineStyle: (topOffset?: number, leftOffset?: number) => Record<string, any>
Parameters
optionaltopOffset: number
optionalleftOffset: number
Returns Record<string, any>
getDragTarget: () => DragTarget<T> | null
Returns DragTarget<T> | null
DragAndDropFeatureHotkeys
Type parameters
- T
DragTarget
Type parameters
- T
EmptyFeatureDef
Type declaration
config: {}
hotkeys: never
itemInstance: {}
state: {}
treeInstance: {}
ExpandAllFeatureDef
Type declaration
config: {}
hotkeys: expandSelected | collapseSelected
itemInstance: { collapseAll: () => void; expandAll: (cancelToken?: { current: boolean }) => Promise<void> }
collapseAll: () => void
Returns void
expandAll: (cancelToken?: { current: boolean }) => Promise<void>
Parameters
optionalcancelToken: { current: boolean }
Returns Promise<void>
state: {}
treeInstance: { collapseAll: () => void; expandAll: (cancelToken?: { current: boolean }) => Promise<void> }
collapseAll: () => void
Returns void
expandAll: (cancelToken?: { current: boolean }) => Promise<void>
Parameters
optionalcancelToken: { current: boolean }
Returns Promise<void>
ExpandAllFeatureHotkeys
FeatureDef
Type declaration
config: any
hotkeys: string
itemInstance: any
state: any
treeInstance: any
FeatureImplementation
Type parameters
- T = any
Type declaration
optionaldeps?: string[]
optionalgetDefaultConfig?: (defaultConfig: Partial<TreeConfig<T>>, tree: TreeInstance<T>) => Partial<TreeConfig<T>>
Parameters
defaultConfig: Partial<TreeConfig<T>>
tree: TreeInstance<T>
Returns Partial<TreeConfig<T>>
optionalgetInitialState?: (initialState: Partial<TreeState<T>>, tree: TreeInstance<T>) => Partial<TreeState<T>>
Parameters
initialState: Partial<TreeState<T>>
tree: TreeInstance<T>
Returns Partial<TreeState<T>>
optionalhotkeys?: Partial<HotkeysConfig<T>>
optionalitemInstance?: { [ key in keyof ItemInstance<T> ]?: (opts: ItemInstanceOpts<key>, ...args: Parameters<ItemInstance<T>[key]>) => void }
optionalkey?: string
optionalonItemMount?: (instance: ItemInstance<T>, itemElement: HTMLElement, tree: TreeInstance<T>) => void
Parameters
instance: ItemInstance<T>
itemElement: HTMLElement
tree: TreeInstance<T>
Returns void
optionalonItemUnmount?: (instance: ItemInstance<T>, itemElement: HTMLElement, tree: TreeInstance<T>) => void
Parameters
instance: ItemInstance<T>
itemElement: HTMLElement
tree: TreeInstance<T>
Returns void
optionalonTreeMount?: (instance: TreeInstance<T>, treeElement: HTMLElement) => void
Parameters
instance: TreeInstance<T>
treeElement: HTMLElement
Returns void
optionalonTreeUnmount?: (instance: TreeInstance<T>, treeElement: HTMLElement) => void
Parameters
instance: TreeInstance<T>
treeElement: HTMLElement
Returns void
optionaloverwrites?: string[]
optionalstateHandlerNames?: Partial<Record<keyof TreeState<T>, keyof TreeConfig<T>>>
optionaltreeInstance?: { [ key in keyof TreeInstance<T> ]?: (opts: TreeInstanceOpts<key>, ...args: Parameters<TreeInstance<T>[key]>) => void }
HotkeyName
HotkeysConfig
Type parameters
- T
HotkeysCoreFeatureDef
Type parameters
- T
Type declaration
config: { hotkeys?: CustomHotkeysConfig<T>; onTreeHotkey?: (name: string, e: KeyboardEvent) => void }
optionalhotkeys?: CustomHotkeysConfig<T>
optionalonTreeHotkey?: (name: string, e: KeyboardEvent) => void
Parameters
name: string
e: KeyboardEvent
Returns void
hotkeys: never
itemInstance: {}
state: {}
treeInstance: {}
HotkeysCoreFeatureHotkeys
Type parameters
- T
InstanceBuilder
Type declaration
Type parameters
- T: keyof InstanceTypeMap
Parameters
features: FeatureImplementation[]
instanceType: T
buildOpts: (self: any) => any
Returns [instance: InstanceTypeMap[T], finalize: () => void]
ItemInstanceOpts
Type parameters
- Key: keyof ItemInstance<any>
Type declaration
item: ItemInstance<any>
itemId: string
optionalprev?: MayReturnNull<ItemInstance<any>[Key]>
tree: TreeInstance<any>
KeyboardDragAndDropFeatureDef
Type parameters
- T
Type declaration
config: { onStartKeyboardDrag?: (items: ItemInstance<T>[]) => void; setAssistiveDndState?: SetStateFn<AssistiveDndState | undefined | null> }
optionalonStartKeyboardDrag?: (items: ItemInstance<T>[]) => void
Parameters
items: ItemInstance<T>[]
Returns void
optionalsetAssistiveDndState?: SetStateFn<AssistiveDndState | undefined | null>
hotkeys: startDrag | cancelDrag | completeDrag | dragUp | dragDown
itemInstance: {}
state: { assistiveDndState?: AssistiveDndState | null }
optionalassistiveDndState?: AssistiveDndState | null
treeInstance: { startKeyboardDrag: (items: ItemInstance<T>[]) => void; startKeyboardDragOnForeignObject: (dataTransfer: DataTransfer) => void; stopKeyboardDrag: () => void }
startKeyboardDrag: (items: ItemInstance<T>[]) => void
Parameters
items: ItemInstance<T>[]
Returns void
startKeyboardDragOnForeignObject: (dataTransfer: DataTransfer) => void
Parameters
dataTransfer: DataTransfer
Returns void
stopKeyboardDrag: () => void
Returns void
KeyboardDragAndDropFeatureHotkeys
Type parameters
- T
MainFeatureDef
Type parameters
- T = any
Type declaration
config: { features?: FeatureImplementation<any>[]; initialState?: Partial<TreeState<T>>; instanceBuilder?: InstanceBuilder; setState?: SetStateFn<Partial<TreeState<T>>>; state?: Partial<TreeState<T>> }
optionalfeatures?: FeatureImplementation<any>[]
optionalinitialState?: Partial<TreeState<T>>
optionalinstanceBuilder?: InstanceBuilder
optionalsetState?: SetStateFn<Partial<TreeState<T>>>
optionalstate?: Partial<TreeState<T>>
hotkeys: never
itemInstance: { getElement: () => HTMLElement | undefined | null; getItemMeta: () => ItemMeta; registerElement: (element: HTMLElement | null) => void }
state: {}
treeInstance: { getConfig: () => TreeConfig<T>; getElement: () => HTMLElement | undefined | null; getHotkeyPresets: () => HotkeysConfig<T>; getItemInstance: (itemId: string) => ItemInstance<T>; getItems: () => ItemInstance<T>[]; getState: () => TreeState<T>; rebuildTree: () => void; registerElement: (element: HTMLElement | null) => void; setConfig: SetStateFn<TreeConfig<T>>; setState: SetStateFn<TreeState<T>> }
getConfig: () => TreeConfig<T>
Returns TreeConfig<T>
getElement: () => HTMLElement | undefined | null
Returns HTMLElement | undefined | null
getHotkeyPresets: () => HotkeysConfig<T>
Returns HotkeysConfig<T>
getItemInstance: (itemId: string) => ItemInstance<T>
Parameters
itemId: string
Returns ItemInstance<T>
getItems: () => ItemInstance<T>[]
Returns ItemInstance<T>[]
getState: () => TreeState<T>
Returns TreeState<T>
rebuildTree: () => void
Returns void
registerElement: (element: HTMLElement | null) => void
Parameters
element: HTMLElement | null
Returns void
setConfig: SetStateFn<TreeConfig<T>>
setState: SetStateFn<TreeState<T>>
MainFeatureHotkeys
PropMemoizationFeatureDef
Type declaration
config: {}
hotkeys: never
itemInstance: {}
state: {}
treeInstance: {}
PropMemoizationHotkeys
RegisteredFeatures
Type parameters
- T
RenamingFeatureDef
Type parameters
- T
Type declaration
config: { canRename?: (item: ItemInstance<T>) => boolean; onRename?: (item: ItemInstance<T>, value: string) => void; setRenamingItem?: SetStateFn<string | null | undefined>; setRenamingValue?: SetStateFn<string | undefined> }
optionalcanRename?: (item: ItemInstance<T>) => boolean
Parameters
item: ItemInstance<T>
Returns boolean
optionalonRename?: (item: ItemInstance<T>, value: string) => void
Parameters
item: ItemInstance<T>
value: string
Returns void
optionalsetRenamingItem?: SetStateFn<string | null | undefined>
optionalsetRenamingValue?: SetStateFn<string | undefined>
hotkeys: renameItem | abortRenaming | completeRenaming
itemInstance: { canRename: () => boolean; getRenameInputProps: () => any; isRenaming: () => boolean; startRenaming: () => void }
canRename: () => boolean
Returns boolean
getRenameInputProps: () => any
Returns any
isRenaming: () => boolean
Returns boolean
startRenaming: () => void
Returns void
state: { renamingItem?: string | null; renamingValue?: string }
optionalrenamingItem?: string | null
optionalrenamingValue?: string
treeInstance: { abortRenaming: () => void; completeRenaming: () => void; getRenamingItem: () => ItemInstance<T> | null; getRenamingValue: () => string; isRenamingItem: () => boolean }
abortRenaming: () => void
Returns void
completeRenaming: () => void
Returns void
getRenamingItem: () => ItemInstance<T> | null
Returns ItemInstance<T> | null
getRenamingValue: () => string
Returns string
isRenamingItem: () => boolean
Returns boolean
RenamingFeatureHotkeys
Type parameters
- T
SearchFeatureDef
Type parameters
- T
Type declaration
config: { isSearchMatchingItem?: (search: string, item: ItemInstance<T>) => boolean; onCloseSearch?: () => void; onOpenSearch?: () => void; setSearch?: SetStateFn<string | null> }
optionalisSearchMatchingItem?: (search: string, item: ItemInstance<T>) => boolean
Parameters
search: string
item: ItemInstance<T>
Returns boolean
optionalonCloseSearch?: () => void
Returns void
optionalonOpenSearch?: () => void
Returns void
optionalsetSearch?: SetStateFn<string | null>
hotkeys: openSearch | closeSearch | submitSearch | nextSearchItem | previousSearchItem
itemInstance: { isMatchingSearch: () => boolean }
isMatchingSearch: () => boolean
Returns boolean
state: { search: string | null }
search: string | null
treeInstance: { closeSearch: () => void; getSearchInputElement: () => HTMLInputElement | null; getSearchInputElementProps: () => any; getSearchMatchingItems: () => ItemInstance<T>[]; getSearchValue: () => string; isSearchOpen: () => boolean; openSearch: (initialValue?: string) => void; registerSearchInputElement: (element: HTMLInputElement | null) => void; setSearch: (search: string | null) => void }
closeSearch: () => void
Returns void
getSearchInputElement: () => HTMLInputElement | null
Returns HTMLInputElement | null
getSearchInputElementProps: () => any
Returns any
getSearchMatchingItems: () => ItemInstance<T>[]
Returns ItemInstance<T>[]
getSearchValue: () => string
Returns string
isSearchOpen: () => boolean
Returns boolean
openSearch: (initialValue?: string) => void
Parameters
optionalinitialValue: string
Returns void
registerSearchInputElement: (element: HTMLInputElement | null) => void
Parameters
element: HTMLInputElement | null
Returns void
setSearch: (search: string | null) => void
Parameters
search: string | null
Returns void
SearchFeatureHotkeys
Type parameters
- T
SelectionFeatureDef
Type parameters
- T
Type declaration
config: { setSelectedItems?: SetStateFn<string[]> }
optionalsetSelectedItems?: SetStateFn<string[]>
hotkeys: toggleSelectedItem | selectUpwards | selectDownwards | selectAll
itemInstance: { deselect: () => void; isSelected: () => boolean; select: () => void; selectUpTo: (ctrl: boolean) => void; toggleSelect: () => void }
deselect: () => void
Returns void
isSelected: () => boolean
Returns boolean
select: () => void
Returns void
selectUpTo: (ctrl: boolean) => void
Parameters
ctrl: boolean
Returns void
toggleSelect: () => void
Returns void
state: { selectedItems: string[] }
selectedItems: string[]
treeInstance: { getSelectedItems: () => ItemInstance<T>[]; setSelectedItems: (selectedItems: string[]) => void }
getSelectedItems: () => ItemInstance<T>[]
Returns ItemInstance<T>[]
setSelectedItems: (selectedItems: string[]) => void
Parameters
selectedItems: string[]
Returns void
SelectionFeatureHotkeys
Type parameters
- T
SetStateFn
Type parameters
- T
Type declaration
Parameters
updaterOrValue: Updater<T>
Returns void
SyncDataLoaderFeatureDef
Type parameters
- T
Type declaration
config: { dataLoader: TreeDataLoader<T>; rootItemId: string }
dataLoader: TreeDataLoader<T>
rootItemId: string
hotkeys: never
itemInstance: { isLoading: () => boolean }
isLoading: () => boolean
Returns boolean
state: {}
treeInstance: { retrieveChildrenIds: (itemId: string) => string[]; retrieveItemData: (itemId: string) => T }
retrieveChildrenIds: (itemId: string) => string[]
Parameters
itemId: string
Returns string[]
retrieveItemData: (itemId: string) => T
Parameters
itemId: string
Returns T
SyncDataLoaderFeatureHotkeys
Type parameters
- T
TreeFeatureDef
Type parameters
- T
Type declaration
config: { getItemName: (item: ItemInstance<T>) => string; isItemFolder: (item: ItemInstance<T>) => boolean; onPrimaryAction?: (item: ItemInstance<T>) => void; scrollToItem?: (item: ItemInstance<T>) => void; setExpandedItems?: SetStateFn<string[]>; setFocusedItem?: SetStateFn<string | null> }
getItemName: (item: ItemInstance<T>) => string
Parameters
item: ItemInstance<T>
Returns string
isItemFolder: (item: ItemInstance<T>) => boolean
Parameters
item: ItemInstance<T>
Returns boolean
optionalonPrimaryAction?: (item: ItemInstance<T>) => void
Parameters
item: ItemInstance<T>
Returns void
optionalscrollToItem?: (item: ItemInstance<T>) => void
Parameters
item: ItemInstance<T>
Returns void
optionalsetExpandedItems?: SetStateFn<string[]>
optionalsetFocusedItem?: SetStateFn<string | null>
hotkeys: focusNextItem | focusPreviousItem | expandOrDown | collapseOrUp | focusFirstItem | focusLastItem
itemInstance: { collapse: () => void; equals: (other?: ItemInstance<any> | null) => boolean; expand: () => void; getChildren: () => ItemInstance<T>[]; getId: () => string; getIndexInParent: () => number; getItemAbove: () => ItemInstance<T> | undefined; getItemBelow: () => ItemInstance<T> | undefined; getItemData: () => T; getItemName: () => string; getParent: () => ItemInstance<T> | undefined; getProps: () => Record<string, any>; getTree: () => TreeInstance<T>; isDescendentOf: (parentId: string) => boolean; isExpanded: () => boolean; isFocused: () => boolean; isFolder: () => boolean; primaryAction: () => void; scrollTo: (scrollIntoViewArg?: boolean | ScrollIntoViewOptions) => Promise<void>; setFocused: () => void }
collapse: () => void
Returns void
equals: (other?: ItemInstance<any> | null) => boolean
Parameters
optionalother: ItemInstance<any> | null
Returns boolean
expand: () => void
Returns void
getChildren: () => ItemInstance<T>[]
Returns ItemInstance<T>[]
getId: () => string
Returns string
getIndexInParent: () => number
Returns number
getItemAbove: () => ItemInstance<T> | undefined
Returns ItemInstance<T> | undefined
getItemBelow: () => ItemInstance<T> | undefined
Returns ItemInstance<T> | undefined
getItemData: () => T
Returns T
getItemName: () => string
Returns string
getParent: () => ItemInstance<T> | undefined
Returns ItemInstance<T> | undefined
getProps: () => Record<string, any>
Returns Record<string, any>
getTree: () => TreeInstance<T>
Returns TreeInstance<T>
isDescendentOf: (parentId: string) => boolean
Parameters
parentId: string
Returns boolean
isExpanded: () => boolean
Returns boolean
isFocused: () => boolean
Returns boolean
isFolder: () => boolean
Returns boolean
primaryAction: () => void
Returns void
scrollTo: (scrollIntoViewArg?: boolean | ScrollIntoViewOptions) => Promise<void>
Parameters
optionalscrollIntoViewArg: boolean | ScrollIntoViewOptions
Returns Promise<void>
setFocused: () => void
Returns void
state: { expandedItems: string[]; focusedItem: string | null }
expandedItems: string[]
focusedItem: string | null
treeInstance: { focusNextItem: () => void; focusPreviousItem: () => void; getContainerProps: (treeLabel?: string) => Record<string, any>; getFocusedItem: () => ItemInstance<any>; updateDomFocus: () => void }
focusNextItem: () => void
Returns void
focusPreviousItem: () => void
Returns void
getContainerProps: (treeLabel?: string) => Record<string, any>
Pass to the container rendering the tree children. The
treeLabel
parameter will be passed asaria-label
parameter, and is recommended to be set.Parameters
optionaltreeLabel: string
Returns Record<string, any>
getFocusedItem: () => ItemInstance<any>
Returns ItemInstance<any>
updateDomFocus: () => void
Returns void
TreeFeatureHotkeys
Type parameters
- T
TreeInstanceOpts
Type parameters
- Key: keyof TreeInstance<any>
Type declaration
optionalprev?: MayReturnNull<TreeInstance<any>[Key]>
tree: TreeInstance<any>
Updater
Type parameters
- T
Will be called when HT retrieves item data for an item whose item data is asynchronously being loaded. Can be used to create placeholder data to use for rendering the tree item while it is loaded. If not defined, the tree item data will be null.