• Public
  • Public/Protected
  • All

Class SidePanelHandler

A class which manages a dock panel and a related side bar. This is used for the left and right panel of the application shell.


  • SidePanelHandler




applicationStateService: FrontendApplicationStateService
bottomMenu: SidebarMenuWidget

The menu placed on the sidebar bottom. Displayed as icons. Open menus when on clicks.

container: Panel

The panel that contains the tab bar and the dock panel. This one is hidden whenever the dock panel is empty.

contextMenuRenderer: ContextMenuRenderer
dockPanel: TheiaDockPanel

The widget container is a dock panel in single-document mode, which means that the panel cannot be split.

dockPanelFactory: TheiaDockPanel.Factory

Options that control the behavior of the side panel.

side: "left" | "right"

The shell area where the panel is placed. This property should not be modified directly, but only by calling create.

sidebarBottomWidgetFactory: (() => SidebarBottomMenuWidget)
sidebarTopWidgetFactory: (() => SidebarTopMenuWidget)

Type declaration

splitPositionHandler: SplitPositionHandler
state: SidePanel.State = ...

The current state of the side panel.

tabBar: SideTabBar

The tab bar displays the titles of the widgets in the side panel. Visibility of the widgets is controlled entirely through tab selection: a widget is revealed by setting the currentTitle accordingly in the tab bar, and the panel is hidden by setting that property to null. The tab bar itself remains visible as long as there is at least one widget.

tabBarRendererFactory: (() => TabBarRenderer)

Type declaration

tabBarToolBarFactory: (() => TabBarToolbar)

Type declaration

tabBarToolBarRegistry: TabBarToolbarRegistry
toDisposeOnCurrentTabChanged: DisposableCollection = ...

A tool bar, which displays a title and widget specific command buttons.

The menu placed on the sidebar top. Displayed as icons. Open menus when on clicks.

rankProperty: AttachedProperty<Widget, undefined | number> = ...

A property that can be attached to widgets in order to determine the insertion index of their title in the tab bar.


  • activate(id: string): undefined | Widget
  • collapse(): Promise<void>
  • createContainer(): Panel
  • createSidebarMenu<T>(factory: (() => T)): T
  • expand(id?: string): undefined | Widget
  • Expand a widget residing in the side panel by ID. If no ID is given and the panel is currently collapsed, the last active tab of this side panel is expanded. If no tab was expanded previously, the first one is taken.


    • Optional id: string

    Returns undefined | Widget

    the expanded widget if it was found

  • getDefaultPanelSize(): undefined | number
  • getPanelSize(): undefined | number
  • onCurrentTabChanged(sender: SideTabBar, __namedParameters: ICurrentChangedArgs<Widget>): void
  • onTabDetachRequested(sender: SideTabBar, __namedParameters: ITabDetachRequestedArgs<Widget>): void
  • onWidgetAdded(sender: DockPanel, widget: Widget): void
  • onWidgetRemoved(sender: DockPanel, widget: Widget): void
  • refresh(): void
  • removeBottomMenu(menuId: string): void
  • removeTopMenu(menuId: string): void
  • resize(size: number): void
  • setPanelSize(size: number): Promise<void>
  • showContextMenu(e: MouseEvent): void
  • updateSashState(sidePanelElement: null | Panel, sidePanelCollapsed: boolean): void
  • updateToolbarTitle(): void