Optionalalwaysshould the panel be always visible
OptionalidStable identifier, used to address the panel in removePanel /
refreshPanel. Auto-generated when omitted.
OptionalorderDisplay 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.
OptionalreactiveRe-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.
A string renders as plain text; pass an HTMLElement to render HTML.
OptionaltitleThe 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.
Additional panel in the graph UI's sidebar.
Both
titleandrendercan be:HTMLElementfor static content, orNode, anEdge, an array of either for a multi-selection, ornullwhen nothing is selected) — re-invoked on every selection change unless ExtraPanel.reactive isfalse.Declare panels up front via
UI.extraPanels, or register them at any point in the graph's life withgraph.UIManager.addPanel()(which returns a disposer).Example