ReadonlyidThe owning component's id: the viewId a within-component drag payload
(PanelTransfer) carries, so the pinned second row can originate a drag
the main strip's drop targets accept.
ReadonlyonReadonlyonFires after a fromJSON restore completes; the service seeds its
pinned store from the restored panels' isPinned flags and re-asserts
the invariant.
ReadonlyonFires after updateOptions; the service re-applies the pinned-tabs
presentation (mode / sticky) to every existing group so a runtime
pinnedTabs change takes effect. New groups pick it up in
onDidAddGroup; this retrofits the ones that already exist.
ReadonlyonFires after a panel's pinned flag is mutated via the gated
setPanelPinned; the service's sole trigger to re-order the strip.
ReadonlyonReadonlyonFires when a panel is removed; the service prunes it from its pinned bookkeeping so a closed pinned panel's id can't leak.
Readonlyoptions
The narrow surface the pinned-tabs service reads from the host (
DockviewComponent). Pinned state itself lives on the panel (panel.api.isPinned, mutated through the gatedDockviewComponent.setPanelPinned); the module only observes pinned-state changes and re-orders each group's tab strip so pinned tabs render first. No layout or sizing is touched.