Options
All
  • Public
  • Public/Protected
  • All
Menu

Class TreeWidget

Hierarchy

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

Properties

Protected Readonly contextMenuRenderer

contextMenuRenderer: ContextMenuRenderer

Protected Readonly corePreferences

Protected decorations

decorations: Map<string, Data[]> = ...

Protected Readonly decoratorService

decoratorService: TreeDecoratorService

Protected Readonly labelProvider

labelProvider: LabelProvider

Protected lastScrollState

lastScrollState: undefined | { scrollLeft: number; scrollTop: number }

Store the last scroll state.

Readonly model

model: TreeModel

Readonly onDidChangeVisibility

onDidChangeVisibility: Event<boolean> = ...

Protected Readonly onDidChangeVisibilityEmitter

onDidChangeVisibilityEmitter: Emitter<boolean> = ...

Readonly onDidDispose

onDidDispose: Event<void> = ...

Protected Readonly onDidDisposeEmitter

onDidDisposeEmitter: Emitter<void> = ...

Protected Readonly onRender

onRender: DisposableCollection = ...

Readonly onScrollUp

onScrollUp: Event<void> = ...

Protected Readonly onScrollUpEmitter

onScrollUpEmitter: Emitter<void> = ...

Readonly onScrollYReachEnd

onScrollYReachEnd: Event<void> = ...

Protected Readonly onScrollYReachEndEmitter

onScrollYReachEndEmitter: Emitter<void> = ...

Readonly props

props: TreeProps

Protected rows

rows: Map<string, NodeRow> = ...

scrollArea

scrollArea: Element = ...

Protected Optional scrollBar

scrollBar: PerfectScrollbar

Protected Optional scrollOptions

scrollOptions: Options

Protected scrollToRow

scrollToRow: undefined | number

Row index to ensure visibility.

  • Used to forcefully scroll if necessary.

Protected searchBox

searchBox: SearchBox

Protected Readonly searchBoxFactory

searchBoxFactory: SearchBoxFactory

Protected searchHighlights

searchHighlights: Map<string, CaptionHighlight>

Protected Readonly selectionService

selectionService: SelectionService

Protected shouldScrollToRow

shouldScrollToRow: boolean = true

Protected Readonly toDispose

toDispose: DisposableCollection = ...

Protected Readonly toDisposeOnDetach

toDisposeOnDetach: DisposableCollection = ...

Protected Readonly treeSearch

treeSearch: TreeSearch

Protected Readonly updateDecorations

updateDecorations: any = ...

Update tree decorations.

  • Updating decorations are debounced in order to limit the number of expensive updates.

Protected updateRows

updateRows: any = ...

Protected view

view: undefined | View

Methods

Protected addClipboardListener

Protected addEventListener

  • Type parameters

    • K: "fullscreenchange" | "fullscreenerror" | "abort" | "animationcancel" | "animationend" | "animationiteration" | "animationstart" | "auxclick" | "blur" | "cancel" | "canplay" | "canplaythrough" | "change" | "click" | "close" | "contextmenu" | "cuechange" | "dblclick" | "drag" | "dragend" | "dragenter" | "dragexit" | "dragleave" | "dragover" | "dragstart" | "drop" | "durationchange" | "emptied" | "ended" | "error" | "focus" | "focusin" | "focusout" | "gotpointercapture" | "input" | "invalid" | "keydown" | "keypress" | "keyup" | "load" | "loadeddata" | "loadedmetadata" | "loadstart" | "lostpointercapture" | "mousedown" | "mouseenter" | "mouseleave" | "mousemove" | "mouseout" | "mouseover" | "mouseup" | "pause" | "play" | "playing" | "pointercancel" | "pointerdown" | "pointerenter" | "pointerleave" | "pointermove" | "pointerout" | "pointerover" | "pointerup" | "progress" | "ratechange" | "reset" | "resize" | "scroll" | "securitypolicyviolation" | "seeked" | "seeking" | "select" | "selectionchange" | "selectstart" | "stalled" | "submit" | "suspend" | "timeupdate" | "toggle" | "touchcancel" | "touchend" | "touchmove" | "touchstart" | "transitioncancel" | "transitionend" | "transitionrun" | "transitionstart" | "volumechange" | "waiting" | "wheel" | "copy" | "cut" | "paste"

    Parameters

    Returns void

Protected addKeyListener

  • addKeyListener<K>(element: HTMLElement, keysOrKeyCodes: Predicate | Key | KeyCode | (Key | KeyCode)[], action: (event: KeyboardEvent) => boolean | void | Object, ...additionalEventTypes: K[]): void
  • Type parameters

    • K: "fullscreenchange" | "fullscreenerror" | "abort" | "animationcancel" | "animationend" | "animationiteration" | "animationstart" | "auxclick" | "blur" | "cancel" | "canplay" | "canplaythrough" | "change" | "click" | "close" | "contextmenu" | "cuechange" | "dblclick" | "drag" | "dragend" | "dragenter" | "dragexit" | "dragleave" | "dragover" | "dragstart" | "drop" | "durationchange" | "emptied" | "ended" | "error" | "focus" | "focusin" | "focusout" | "gotpointercapture" | "input" | "invalid" | "keydown" | "keypress" | "keyup" | "load" | "loadeddata" | "loadedmetadata" | "loadstart" | "lostpointercapture" | "mousedown" | "mouseenter" | "mouseleave" | "mousemove" | "mouseout" | "mouseover" | "mouseup" | "pause" | "play" | "playing" | "pointercancel" | "pointerdown" | "pointerenter" | "pointerleave" | "pointermove" | "pointerout" | "pointerover" | "pointerup" | "progress" | "ratechange" | "reset" | "resize" | "scroll" | "securitypolicyviolation" | "seeked" | "seeking" | "select" | "selectionchange" | "selectstart" | "stalled" | "submit" | "suspend" | "timeupdate" | "toggle" | "touchcancel" | "touchend" | "touchmove" | "touchstart" | "transitioncancel" | "transitionend" | "transitionrun" | "transitionstart" | "volumechange" | "waiting" | "wheel" | "copy" | "cut" | "paste"

    Parameters

    • element: HTMLElement
    • keysOrKeyCodes: Predicate | Key | KeyCode | (Key | KeyCode)[]
    • action: (event: KeyboardEvent) => boolean | void | Object
        • (event: KeyboardEvent): boolean | void | Object
        • Parameters

          • event: KeyboardEvent

          Returns boolean | void | Object

    • Rest ...additionalEventTypes: K[]

    Returns void

Protected addUpdateListener

  • addUpdateListener<K>(element: HTMLElement, type: K, useCapture?: boolean): void
  • Type parameters

    • K: "fullscreenchange" | "fullscreenerror" | "abort" | "animationcancel" | "animationend" | "animationiteration" | "animationstart" | "auxclick" | "blur" | "cancel" | "canplay" | "canplaythrough" | "change" | "click" | "close" | "contextmenu" | "cuechange" | "dblclick" | "drag" | "dragend" | "dragenter" | "dragexit" | "dragleave" | "dragover" | "dragstart" | "drop" | "durationchange" | "emptied" | "ended" | "error" | "focus" | "focusin" | "focusout" | "gotpointercapture" | "input" | "invalid" | "keydown" | "keypress" | "keyup" | "load" | "loadeddata" | "loadedmetadata" | "loadstart" | "lostpointercapture" | "mousedown" | "mouseenter" | "mouseleave" | "mousemove" | "mouseout" | "mouseover" | "mouseup" | "pause" | "play" | "playing" | "pointercancel" | "pointerdown" | "pointerenter" | "pointerleave" | "pointermove" | "pointerout" | "pointerover" | "pointerup" | "progress" | "ratechange" | "reset" | "resize" | "scroll" | "securitypolicyviolation" | "seeked" | "seeking" | "select" | "selectionchange" | "selectstart" | "stalled" | "submit" | "suspend" | "timeupdate" | "toggle" | "touchcancel" | "touchend" | "touchmove" | "touchstart" | "transitioncancel" | "transitionend" | "transitionrun" | "transitionstart" | "volumechange" | "waiting" | "wheel" | "copy" | "cut" | "paste"

    Parameters

    • element: HTMLElement
    • type: K
    • Optional useCapture: boolean

    Returns void

Protected applyFontStyles

  • applyFontStyles(original: CSSProperties, fontData: undefined | FontData): CSSProperties

clearFlag

  • clearFlag(flag: Flag): void

Protected createContainerAttributes

  • createContainerAttributes(): HTMLAttributes<HTMLElement>

Protected createNodeAttributes

  • createNodeAttributes(node: TreeNode, props: NodeProps): Attributes & HTMLAttributes<HTMLElement>

Protected createNodeClassNames

Protected createNodeStyle

Protected decorateCaption

  • decorateCaption(node: TreeNode, attrs: HTMLAttributes<HTMLElement>): Attributes & HTMLAttributes<HTMLElement>

Protected decorateIcon

  • decorateIcon(node: TreeNode, icon: ReactNode): ReactNode

Protected decorateNodeStyle

  • decorateNodeStyle(node: TreeNode, style: undefined | CSSProperties): undefined | CSSProperties

Protected deflateForStorage

  • deflateForStorage(node: TreeNode): object

Protected disableScrollBarFocus

  • disableScrollBarFocus(scrollContainer: HTMLElement): void

dispose

  • dispose(): void

Protected doFocus

  • doFocus(): void

Protected doHandleExpansionToggleDblClickEvent

  • doHandleExpansionToggleDblClickEvent(event: MouseEvent<HTMLElement, MouseEvent>): void

Protected doRenderNodeRow

  • doRenderNodeRow(__namedParameters: NodeRow): ReactNode

Protected doToggle

  • doToggle(event: MouseEvent<HTMLElement, MouseEvent>): void

Protected doUpdateDecorations

  • doUpdateDecorations(): Promise<void>

Protected doUpdateRows

  • doUpdateRows(): void

Protected forceUpdate

Protected getContainerTreeNode

  • getContainerTreeNode(): undefined | TreeNode

Protected getDecorationData

  • Get the tree decoration data for the given key.

    Type parameters

    • K: "backgroundColor" | "priority" | "fontData" | "captionPrefixes" | "captionSuffixes" | "tailDecorations" | "tooltip" | "iconColor" | "iconOverlay" | "highlight" | "badge"

    Parameters

    • node: TreeNode

      the tree node.

    • key: K

      the tree decoration data key.

    Returns Data[K][]

    the tree decoration data at the given key.

Protected getDecorations

Protected getDefaultNodeStyle

Protected getIconClass

  • getIconClass(iconName: string | string[], additionalClasses?: string[]): string
  • Determine the classes to use for an icon

    • Assumes a Font Awesome name when passed a single string, otherwise uses the passed string array

    Parameters

    • iconName: string | string[]

      the icon name or list of icon names.

    • additionalClasses: string[] = []

      additional CSS classes.

    Returns string

    the icon class name.

Protected getNodeToFocus

Protected getPaddingLeft

Protected getScrollContainer

Protected getScrollToRow

  • getScrollToRow(): undefined | number

Protected handleClickEvent

  • handleClickEvent(node: undefined | TreeNode, event: MouseEvent<HTMLElement, MouseEvent>): void

Protected handleContextMenuEvent

  • handleContextMenuEvent(node: undefined | TreeNode, event: MouseEvent<HTMLElement, MouseEvent>): void
  • Handle the context menu click event.

    • The context menu click event is triggered by the right-click.

    Parameters

    • node: undefined | TreeNode

      the tree node if available.

    • event: MouseEvent<HTMLElement, MouseEvent>

      the right-click mouse event.

    Returns void

Protected handleDblClickEvent

  • handleDblClickEvent(node: undefined | TreeNode, event: MouseEvent<HTMLElement, MouseEvent>): void

Protected handleDown

  • handleDown(event: KeyboardEvent): void

Protected handleEnter

  • handleEnter(event: KeyboardEvent): void

Protected Readonly handleExpansionToggleDblClickEvent

  • handleExpansionToggleDblClickEvent(event: MouseEvent<HTMLElement, MouseEvent>): void

Protected handleLeft

  • handleLeft(event: KeyboardEvent): Promise<void>

Protected handleRight

  • handleRight(event: KeyboardEvent): Promise<void>

Protected Readonly handleScroll

  • handleScroll(info: ScrollParams): void

Protected handleUp

  • handleUp(event: KeyboardEvent): void

Protected hasCtrlCmdMask

Protected hasShiftMask

Protected hasTrailingSuffixes

  • hasTrailingSuffixes(node: TreeNode): boolean

Protected inflateFromStorage

Protected init

  • init(): void

Protected isExpandable

Protected needsActiveIndentGuideline

  • needsActiveIndentGuideline(node: TreeNode): boolean

Protected needsExpansionTogglePadding

  • needsExpansionTogglePadding(node: TreeNode): boolean

Protected onActivateRequest

  • onActivateRequest(msg: Message): void

Protected onAfterAttach

  • onAfterAttach(msg: Message): void

Protected onAfterDetach

  • onAfterDetach(msg: Message): void

Protected onBeforeAttach

  • onBeforeAttach(msg: Message): void

Protected onBeforeDetach

  • onBeforeDetach(msg: Message): void

Protected onCloseRequest

  • onCloseRequest(msg: Message): void

Protected onResize

  • onResize(msg: ResizeMessage): void

Protected onUpdateRequest

  • onUpdateRequest(msg: Message): void

Protected render

  • render(): ReactNode

Protected renderCaption

Protected renderCaptionAffixes

  • renderCaptionAffixes(node: TreeNode, props: NodeProps, affixKey: "captionPrefixes" | "captionSuffixes"): ReactNode

Protected renderExpansionToggle

Protected renderIcon

Protected renderIndent

Protected renderNode

Protected Readonly renderNodeRow

  • renderNodeRow(row: NodeRow): ReactNode

Protected renderTailDecorations

Protected renderTailDecorationsForNode

Protected renderTree

restoreState

  • restoreState(oldState: object): void

Protected scrollToSelected

  • scrollToSelected(): void

setFlag

  • setFlag(flag: Flag): void

Protected shouldDisplayNode

  • shouldDisplayNode(node: TreeNode): boolean

storeState

  • storeState(): object

Protected toContextMenuArgs

Protected toNodeDescription

  • toNodeDescription(node: TreeNode): string

Protected toNodeIcon

Protected toNodeName

Protected toReactNode

Protected Readonly toggle

  • toggle(event: MouseEvent<HTMLElement, MouseEvent>): void

Protected updateGlobalSelection

  • updateGlobalSelection(): void

Protected updateScrollToRow