API
API
The DockviewApi is the primary interface for controlling a Dockview instance: adding panels and groups, saving and restoring layouts, and subscribing to events.
constructor | |
|---|---|
activeGroup | Active group object.
|
activePanel | Active panel object.
|
canRedo | Whether redo would do something.
|
canUndo | Whether undo would do something. Reactive via onDidChangeHistory.
|
groups | All group objects.
|
height | Height of the component.
|
id | The unique identifier for this instance. Used to manage scope of Drag'n'Drop events.
|
maximumHeight | Maximum height of the component.
|
maximumWidth | Maximum width of the component.
|
messages | The resolved accessibility message catalog (the app's messages
overrides merged over the English defaults). Used by parts that surface
localisable AT strings, e.g. the default tab's close-button label.
|
minimumHeight | Minimum height of the component.
|
minimumWidth | Minimum width of the component.
|
onDidActiveGroupChange | Invoked when the active group changes. May be undefined if no group is active.
|
onDidActivePanelChange | Invoked when the active panel changes. The event carries the active
panel (may be undefined if no panel is active) and the
DockviewOrigin ('user' vs 'api') of the change.
|
onDidAddGroup | Invoked when a group is added. May be called multiple times when moving groups.
|
onDidAddPanel | Invoked when a panel is added. May be called multiple times when moving panels.
|
onDidAddPanelToTabGroup | Invoked when a panel is added to a tab group.
|
onDidAddPopoutGroup | Fires when a popout group successfully opens in its own window, carrying
the live Window handle. Use it to route focus or attach per-document
listeners. Enumerate the current popouts at any time with getPopouts().
|
onDidChangeHistory | Fires whenever the undo/redo stacks change.
|
onDidCreateTabGroup | Invoked when a tab group is created in any group.
|
onDidDestroyTabGroup | Invoked when a tab group is destroyed in any group.
|
onDidDrop | Invoked when a Drag'n'Drop event occurs that the component was unable to handle. Exposed for custom Drag'n'Drop functionality.
|
onDidLayoutChange | Invoked when any layout change occures, an aggregation of many events.
|
onDidLayoutFromJSON | Invoked after a layout is deserialzied using the fromJSON method.
|
onDidMaximizedGroupChange |
|
onDidMovePanel |
|
onDidMutateLayout | Fires after each top-level structural layout mutation. See onWillMutateLayout.
|
onDidOpenPopoutWindowFail |
|
onDidPanelPinnedChange | Fired when a panel is pinned or unpinned (PinnedTabs module). Carries the
panel and its new isPinned state.
|
onDidPopoutGroupPositionChange |
|
onDidPopoutGroupSizeChange |
|
onDidRemoveGroup | Invoked when a group is removed. May be called multiple times when moving groups.
|
onDidRemovePanel | Invoked when a panel is removed. May be called multiple times when moving panels.
|
onDidRemovePanelFromTabGroup | Invoked when a panel is removed from a tab group.
|
onDidRemovePopoutGroup | Fires when a popout group is removed, whether the user closed its window
or it was docked back programmatically. Symmetric with
onDidAddPopoutGroup; not fired during component disposal.
|
onDidSnapFloat | Fires when a dragged floating group commits an alignment snap on drop.
|
onDidSnapTogether | Fires when a dragged floating group docks/merges into another on drop.
|
onDidTabGroupChange | Invoked when a tab group's properties (label, color) change.
|
onDidTabGroupCollapsedChange | Invoked when a tab group is collapsed or expanded.
|
onUnhandledDragOver |
|
onWillDragGroup | Invoked before a group is dragged.
Calling event.nativeEvent.preventDefault() will prevent the group drag starting.
|
onWillDragPanel | Invoked before a panel is dragged.
Calling event.nativeEvent.preventDefault() will prevent the panel drag starting.
|
onWillDrop | Invoked when a Drag'n'Drop event occurs but before dockview handles it giving the user an opportunity to intecept and
prevent the event from occuring using the standard preventDefault() syntax.
Preventing certain events may causes unexpected behaviours, use carefully.
|
onWillMutateLayout | Fires before each top-level structural layout mutation (add / remove /
move / float / popout / maximize / load / clear). Compound operations
(e.g. a drag) fire once. Pair with onDidMutateLayout to bracket a
change, which is useful for undo/redo, autosave and dirty-tracking.
|
onWillShowOverlay | Invoked before an overlay is shown indicating a drop target.
Calling event.preventDefault() will prevent the overlay being shown and prevent
the any subsequent drop event.
|
panels | All panel objects.
|
popoutRestorationPromise | Resolves once any in-flight popout-window restoration completes. Popout
windows re-open asynchronously, so after an undo / redo (or
fromJSON) that re-opens a popout, await this to know the window is
ready. Already-resolved when nothing is restoring.
|
size | Total number of groups.
|
smartGuidesEnabled | Whether Smart Guides snapping is active (the smartGuides option is
present + enabled and the module is registered). Reactive via
setSmartGuidesEnabled.
|
tabGroupColors | The active tab-group color palette. Reflects the configured
tabGroupColors option, or the built-in defaults when unset.
Useful for custom chip renderers that want to roll their own
picker UI.
|
totalPanels | Total number of panels.
|
width | Width of the component.
|
activateNext | Activate the next panel or group, moving focus programmatically. Pass
{ includePanel: true } to step through the panels of the active group
before advancing to the next group.
|
activatePrevious | Activate the previous panel or group, moving focus programmatically. Pass
{ includePanel: true } to step through the panels of the active group
before advancing to the previous group.
|
addEdgeGroup | Add an edge group at the given position. Returns the group panel API
for the newly created group. Throws if a group already exists there.
|
addFloatingGroup | Add a floating group
|
addGroup | Add a group and return the created object.
|
addPanel | Add a panel and return the created object.
|
addPanelToTabGroup |
|
addPopoutGroup | Add a popout group in a new Window
|
adjacentGroupInDirection | The nearest grid group in a spatial direction from group, comparing
group centre points, e.g. the group visually to the left. Floating and
popout groups are ignored. Returns undefined when there is no group in
that direction. Pair with group.api.boundingBox to build your own
spatial navigation.
|
autoHideEdgeGroup | Auto-hide (collapse to a strip) the edge group at position.
|
clear | Reset the component back to an empty and default state.
|
clearHistory | Drop both undo and redo stacks (e.g. on document switch).
|
closeAllGroups | Close all groups and panels.
|
createTabGroup |
|
dispose | Release resources and teardown component. Do not call when using framework versions of dockview.
|
dissolveTabGroup |
|
exitMaximizedGroup |
|
focus | Focus the component. Will try to focus an active panel if one exists.
|
fromJSON | Create a component from a serialized object.
|
getEdgeGroup | Get the group panel API for an edge group at the given position.
Returns undefined if no edge group is configured at that position.
|
getGroup | Get a group object given a string id. May return undefined.
|
getPanel | Get a panel object given a string id. May return undefined.
|
getPopouts | Enumerate the popout groups currently open in their own windows.
|
getTabGroupForPanel |
|
getTabGroups |
|
hasMaximizedGroup |
|
isEdgeGroupVisible | Check whether an edge group is currently visible.
|
layout | Force resize the component to an exact width and height. Read about auto-resizing before using.
|
maximizeGroup |
|
moveTabGroup |
|
moveToNext | @deprecated Use DockviewApi.activateNext instead. Renamed because
this advances the active panel/group (focus), it does not relocate a
panel. Removal planned for a future major release.
|
moveToPrevious | @deprecated Use DockviewApi.activatePrevious instead. Renamed
because this advances the active panel/group (focus), it does not
relocate a panel. Removal planned for a future major release.
|
peekEdgeGroup | Peek (slide out as an overlay, without reflowing the grid) or close the
collapsed edge group at position. No-op when the auto-hide module is
absent or the group is not collapsed.
|
pinEdgeGroup | Pin (expand) the collapsed edge group at position. Requires the
auto-hide edge groups module; no-op when it is absent.
|
redo | Re-apply the next layout mutation undone via undo.
|
removeEdgeGroup | Remove an edge group and reclaim its slot in the layout.
All panels inside the group are disposed. Throws if no group exists at position.
|
removeGroup | Remove a group and any panels within the group.
|
removePanel | Remove a panel given the panel object.
|
removePanelFromTabGroup |
|
revealEdgeGroupWithData | Reveal (create-or-fill) the edge group at position and move the dragged
item described by data into it. A newly created edge group tears down to
zero footprint when later emptied. Drives the dock-to-edge groups behind
the dockToEdgeGroups option; a no-op if edge groups are unavailable.
|
setEdgeGroupVisible | Set the visibility of an edge group.
|
setSmartGuidesEnabled | Toggle Smart Guides snapping at runtime (no-op when the module is absent).
|
toJSON | Create a serialized object of the current component.
|
undo | Undo the previous recorded layout mutation. No-op when there is nothing
to undo, when layoutHistory.enabled is not set, or when the
LayoutHistory module is absent.
|
updateOptions |
|
updateSmartGuidesOptions | Merge a partial Smart Guides option override in at runtime.
|
See also
- Dockview overview: the concepts and setup behind Dockview.
- Add a panel: how to populate the layout with content.