A powerful, flexible dock manager component for laying out, docking, undocking, pinning, and floating panes of content.
- Element
igc-dockmanager
- Slots
-
paneHeaderCloseButton— Custom close button for pane headers -
tabHeaderCloseButton— Custom close button for tab headers -
closeButton— Alias for pane/tab close button -
moreTabsButton— Slot for the "more tabs" button -
maximizeButton— Slot for maximize buttons -
minimizeButton— Slot for minimize buttons -
pinButton— Slot for pin buttons -
unpinButton— Slot for unpin buttons -
moreOptionsButton— Slot for more-options buttons on tab headers -
splitterHandle- Slot for custom splitter handl— litterHandle- Slot for custom splitter handle
Constructors
Section titled "Constructors"IgcDockManagerComponent
new IgcDockManagerComponent(): IgcDockManagerComponent Returns IgcDockManagerComponent
Properties
Section titled "Properties"activePane
Section titled "activePane"Determines the active content pane.
activePane: IgcContentPane allowFloatingPanesResize
Section titled "allowFloatingPanesResize"Whether floating panes can be resized.
allowFloatingPanesResize: boolean allowInnerDock
Section titled "allowInnerDock"Whether docking inside a pane is allowed.
allowInnerDock: boolean allowMaximize
Section titled "allowMaximize"Whether maximize action button is displayed for the panes.
allowMaximize: boolean allowRootDock
Section titled "allowRootDock"Determines whether docking into the root-level pane is allowed.
When set to true (default), panes can be docked directly into the root container. This is done by creating a new root pane and repositioning the existing root pane as a sibling to the newly docked content pane.
allowRootDock: boolean allowSplitterDock
Section titled "allowSplitterDock"Whether docking over splitter is allowed
allowSplitterDock: boolean autoScrollConfig
Section titled "autoScrollConfig"Configuration for edge auto-scrolling behavior during drag & resize operations.
edgeThreshold: Distance in pixels from the container's edge that triggers scrolling.scrollSpeed: Number of pixels to scroll per interval (affects scroll rate).
autoScrollConfig: IgcScrollConfig closeBehavior
Section titled "closeBehavior"Which panes get affected by close operations.
closeBehavior: IgcPaneActionBehavior containedInBoundaries
Section titled "containedInBoundaries"Whether pane dragging stops when any of the pane's sides goes outside the DockManager’s bounds.
containedInBoundaries: boolean contextMenuMeta
Section titled "contextMenuMeta"Metadata for rendering the context menu associated with a pane.
contextMenuMeta: IgcContextMenuMetadata contextMenuPosition
Section titled "contextMenuPosition"Position to open the context menu.
contextMenuPosition: IgcContextMenuPosition disableKeyboardNavigation
Section titled "disableKeyboardNavigation"Disables all keyboard navigation within the dock manager.
disableKeyboardNavigation: boolean draggedPane
Section titled "draggedPane"Determines the pane that is currently dragged.
draggedPane: IgcContentPane | IgcSplitPane | IgcTabGroupPane Optional draggedPaneElement
Section titled "draggedPaneElement"draggedPaneElement: HTMLElement dropPosition
Section titled "dropPosition"The drop position (pane) when docking.
dropPosition: IgcDockManagerPoint dropShadowRect
Section titled "dropShadowRect"The bounding rectangle of the drop shadow shown during docking.
dropShadowRect: DOMRect dropTargetPaneInfo
Section titled "dropTargetPaneInfo"Contains metadata about the currently targeted drop pane during drag.
dropTargetPaneInfo: IgcDropTargetPaneInfo enableDragCursor
Section titled "enableDragCursor"Enables changing the mouse cursor when hovering over a tab or pane header.
When set to true, the cursor changes from the default to pointer,
indicating that the header can be dragged (e.g., to dock or float the pane).
enableDragCursor: boolean floatingPaneZIndicesMap
Section titled "floatingPaneZIndicesMap"Tracks z-index values for floating panes to manage stacking order.
floatingPaneZIndicesMap: Map<IgcSplitPane, number> flyoutPane
Section titled "flyoutPane"Contains metadata about the currently targeted drop pane during drag.
flyoutPane: IgcContentPane hasCustomMaximizeButton
Section titled "hasCustomMaximizeButton"Indicates whether a custom maximize button is defined via a slot.
hasCustomMaximizeButton: boolean hasCustomMinimizeButton
Section titled "hasCustomMinimizeButton"Indicates whether a custom minimize button is defined via a slot.
hasCustomMinimizeButton: boolean hoveredPane
Section titled "hoveredPane"The pane that is currently being hovered during a drag operation.
hoveredPane: IgcContentPane layout
Section titled "layout"The layout configuration of the Dock Manager.
layout: IgcDockManagerLayout maximizedPane
Section titled "maximizedPane"Determines the pane that is currently maximized.
maximizedPane: IgcContentPane | IgcSplitPane | IgcTabGroupPane navigationPaneMeta
Section titled "navigationPaneMeta"Metadata for the pane-navigator overlay.
navigationPaneMeta: IgcPaneNavigatorMetadata proximityDock
Section titled "proximityDock"Determines whether docking indicators are displayed while docking
proximityDock: boolean Optional resourceStrings
Section titled "resourceStrings"The resource strings of the dock manager.
resourceStrings: IgcDockManagerResourceStrings showHeaderIconOnHover
Section titled "showHeaderIconOnHover"Which header icons are shown on hover.
showHeaderIconOnHover: "none" | "closeOnly" | "moreOptionsOnly" | "all" showPaneHeaders
Section titled "showPaneHeaders"Determines when to display the pane headers - always or on hover of the pane.
showPaneHeaders: "always" | "onHoverOnly" templates
Section titled "templates"A map of content template references by ID, used for slotting custom pane content.
templates: Map<string, any> unpinBehavior
Section titled "unpinBehavior"Determines which panes are affected by particular pane action such as closing or unpinning.
unpinBehavior: IgcPaneActionBehavior useFixedSizeOnDock
Section titled "useFixedSizeOnDock"Specifies which docking orientations should apply the FixedSize sizing mode
when panes are dynamically created via docking.
Possible values:
"none": Do not applyFixedSizeon docking (default behavior)."vertical": ApplyFixedSizeonly when panes are docked vertically."horizontal": ApplyFixedSizeonly when panes are docked horizontally."both": ApplyFixedSizefor both vertical and horizontal orientation.
This setting affects only dynamically created panes via user docking actions. It does not apply to programmatically created panes or layout restorations.
useFixedSizeOnDock: "horizontal" | "vertical" | "none" | "both" styles
Section titled "styles"styles: CSSResult[] tagName
Section titled "tagName"The tagName read-only property of the Element interface returns the tag name of the element on which it's called.
tagName: "igc-dockmanager" = "igc-dockmanager" isValidDrop
Section titled "isValidDrop"isValidDrop: boolean Accessors
Section titled "Accessors"direction
Section titled "direction"Gets the direction of the Dock Manager.
get direction(): string Returns string
Methods
Section titled "Methods"addEventListener
Section titled "addEventListener"Inherited from: IgcDockManagerComponent_base
addEventListener(type: K, listener: object, options: boolean | AddEventListenerOptions): void Parameters
- type:
K - listener:
object - options:
boolean | AddEventListenerOptions
Returns void
createAndDispatchEvent
Section titled "createAndDispatchEvent"Inherited from: IgcDockManagerComponent_base
createAndDispatchEvent(type: K, detail: D, options: CustomEventInit<D>): CustomEvent<D> Parameters
- type:
K - detail:
D - options:
CustomEventInit<D>
Returns CustomEvent<D>
dropPane
Section titled "dropPane"dropPane(): Promise<boolean> Returns Promise<boolean>
emitEvent
Section titled "emitEvent"Inherited from: IgcDockManagerComponent_base
emitEvent(type: K, eventInitDict: CustomEventInit<D>): boolean Parameters
- type:
K - eventInitDict:
CustomEventInit<D>
Returns boolean
focusPane
Section titled "focusPane"focusPane(contentId: string): Promise<void> Parameters
- contentId:
string
Returns Promise<void>
paneFlyoutToggle
Section titled "paneFlyoutToggle"Emitted when an unpinned pane's flyout state changes (opens or closes).
This event fires when:
- An unpinned pane is clicked and its flyout opens to display content
- An unpinned pane's flyout closes (user clicks elsewhere, switches to another unpinned pane, etc.)
- Switching between unpinned panes (fires twice: close event for old pane, open event for new pane)
This event does NOT fire when:
- A pane is pinned or unpinned using the pin button (use panePinnedToggle for that)
- A pane is initially unpinned (only subsequent flyout open/close actions)
Use this event to show/hide auxiliary UI, update summary views, or respond to unpinned pane visibility changes.
paneFlyoutToggle(args: IgcPaneFlyoutEventArgs): CustomEvent<IgcPaneFlyoutEventArgs> Parameters
- args:
IgcPaneFlyoutEventArgs
Returns CustomEvent<IgcPaneFlyoutEventArgs>
Example
dockManager.addEventListener('paneFlyoutToggle', (event) => {
const { pane, isOpen } = event.detail;
if (isOpen) {
// Unpinned pane opened - show related UI
summaryPanel.style.display = 'none';
} else {
// Unpinned pane closed - hide related UI
summaryPanel.style.display = 'block';
}
}); removeEventListener
Section titled "removeEventListener"Inherited from: IgcDockManagerComponent_base
removeEventListener(type: K, listener: object, options: boolean | EventListenerOptions): void Parameters
- type:
K - listener:
object - options:
boolean | EventListenerOptions
Returns void
removePane
Section titled "removePane"removePane(pane: IgcDockManagerPane): Promise<void> Parameters
- pane:
IgcDockManagerPane
Returns Promise<void>
register
Section titled "register"register(): void Returns void
Events
Section titled "Events"activePaneChanged
Section titled "activePaneChanged"activePaneChanged: CustomEvent<IgcActivePaneEventArgs> floatingPaneResizeEnd
Section titled "floatingPaneResizeEnd"floatingPaneResizeEnd: CustomEvent<IgcFloatingPaneResizeEventArgs> floatingPaneResizeMove
Section titled "floatingPaneResizeMove"floatingPaneResizeMove: CustomEvent<IgcFloatingPaneResizeMoveEventArgs> floatingPaneResizeStart
Section titled "floatingPaneResizeStart"floatingPaneResizeStart: CustomEvent<IgcFloatingPaneResizeEventArgs> layoutChange
Section titled "layoutChange"layoutChange: CustomEvent<IgcLayoutChangeEventArgs> paneClose
Section titled "paneClose"paneClose: CustomEvent<IgcPaneCloseEventArgs> paneDragEnd
Section titled "paneDragEnd"paneDragEnd: CustomEvent<IgcPaneDragEndEventArgs> paneDragOver
Section titled "paneDragOver"paneDragOver: CustomEvent<IgcPaneDragOverEventArgs> paneDragStart
Section titled "paneDragStart"paneDragStart: CustomEvent<IgcPaneDragStartEventArgs> paneFlyoutToggle
Section titled "paneFlyoutToggle"paneFlyoutToggle: CustomEvent<IgcPaneFlyoutEventArgs> paneHeaderConnected
Section titled "paneHeaderConnected"paneHeaderConnected: CustomEvent<IgcPaneHeaderConnectionEventArgs> paneHeaderDisconnected
Section titled "paneHeaderDisconnected"paneHeaderDisconnected: CustomEvent<IgcPaneHeaderConnectionEventArgs> panePinnedToggle
Section titled "panePinnedToggle"panePinnedToggle: CustomEvent<IgcPanePinnedEventArgs> paneScroll
Section titled "paneScroll"paneScroll: CustomEvent<IgcPaneScrollEventArgs> splitterResizeEnd
Section titled "splitterResizeEnd"splitterResizeEnd: CustomEvent<IgcSplitterResizeEventArgs> splitterResizeStart
Section titled "splitterResizeStart"splitterResizeStart: CustomEvent<IgcSplitterResizeEventArgs> tabHeaderConnected
Section titled "tabHeaderConnected"tabHeaderConnected: CustomEvent<IgcTabHeaderConnectionEventArgs> tabHeaderDisconnected
Section titled "tabHeaderDisconnected"tabHeaderDisconnected: CustomEvent<IgcTabHeaderConnectionEventArgs>