Skip to content

pivotick v3.0.0


pivotick / GraphUI / ExtraPanel

Interface: ExtraPanel ​

Defined in: interfaces/GraphUI.ts:993

Additional panel in the graph UI's sidebar.

Both title and render can be:

  • A string or HTMLElement for static content, or
  • A function of the current selection (a Node, an Edge, an array of either for a multi-selection, or null when nothing is selected) — re-invoked on every selection change unless ExtraPanel.reactive is false.

Declare panels up front via UI.extraPanels, or register them at any point in the graph's life with graph.UIManager.addPanel() (which returns a disposer).

Example ​

ts
{
    id: 'description',
    title: 'Description',
    render: (element): HTMLElement => {
        const node = element instanceof Node ? element : null
        const div = document.createElement('div')
        div.textContent = node?.getData().description ?? 'Empty node description'
        return div
    },
}

Extended by ​

Properties ​

alwaysVisible? ​

optional alwaysVisible: boolean

Defined in: interfaces/GraphUI.ts:1011

should the panel be always visible

Default ​

ts
false

id? ​

optional id: string

Defined in: interfaces/GraphUI.ts:998

Stable identifier, used to address the panel in removePanel / refreshPanel. Auto-generated when omitted.


order? ​

optional order: number

Defined in: interfaces/GraphUI.ts:1018

Display order in the sidebar, ascending. Panels sharing an order keep their registration order, so UI.extraPanels reads top-to-bottom and runtime panels append after them.

Default ​

ts
0

reactive? ​

optional reactive: boolean

Defined in: interfaces/GraphUI.ts:1026

Re-resolve title and render whenever the selection changes. Set false for a panel that is expensive to build and doesn't describe the selection: it then renders once, and only an explicit refreshPanel() rebuilds it.

Default ​

ts
true

render ​

render: ExtraPanelContent

Defined in: interfaces/GraphUI.ts:1006

A string renders as plain text; pass an HTMLElement to render HTML.


title? ​

optional title: ExtraPanelContent

Defined in: interfaces/GraphUI.ts:1004

The panel's header row. A string renders as plain text; pass an HTMLElement to render HTML. Omit it (or resolve to blank) for a panel with no header at all.