Options
All
  • Public
  • Public/Protected
  • All
Menu

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.

Hierarchy

  • SidePanelHandler

Index

Properties

Protected Readonly applicationStateService

applicationStateService: FrontendApplicationStateService

bottomMenu

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

container

container: Panel

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

Protected Readonly contextMenuRenderer

contextMenuRenderer: ContextMenuRenderer

dockPanel

dockPanel: TheiaDockPanel

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

Protected options

options: Options

Options that control the behavior of the side panel.

Protected side

side: "left" | "right"

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

Protected sidebarBottomWidgetFactory

sidebarBottomWidgetFactory: () => SidebarBottomMenuWidget

Type declaration

Protected splitPositionHandler

splitPositionHandler: SplitPositionHandler

tabBar

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.

Protected tabBarRendererFactory

tabBarRendererFactory: () => TabBarRenderer

Type declaration

Protected tabBarToolBarFactory

tabBarToolBarFactory: () => TabBarToolbar

Type declaration

Protected tabBarToolBarRegistry

tabBarToolBarRegistry: TabBarToolbarRegistry

Protected Readonly toDisposeOnCurrentTabChanged

toDisposeOnCurrentTabChanged: DisposableCollection = new DisposableCollection()

toolBar

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

Static Protected Readonly rankProperty

rankProperty: AttachedProperty<Widget, undefined | number> = new AttachedProperty<Widget, number | undefined>({name: 'sidePanelRank',create: () => undefined})

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

Methods

activate

  • activate(id: string): Widget | undefined

addMenu

addWidget

collapse

  • collapse(): Promise<void>

create

  • create(side: "left" | "right", options: Options): void

Protected createContainer

  • createContainer(): Panel

Protected createSideBar

Protected createSidePanel

Protected createSidebarBottomMenu

Protected createToolbar

expand

  • expand(id?: undefined | string): Widget | undefined
  • 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.

    Parameters

    • Optional id: undefined | string

    Returns Widget | undefined

    the expanded widget if it was found

Protected getDefaultPanelSize

  • getDefaultPanelSize(): number | undefined

getLayoutData

Protected getPanelSize

  • getPanelSize(): number | undefined

Protected onCurrentTabChanged

  • onCurrentTabChanged(sender: SideTabBar, __namedParameters: { currentIndex: number; currentTitle: null | Title<Widget> }): void
  • Handle a currentChanged signal from the sidebar. The side panel is refreshed so it displays the new selected widget.

    Parameters

    • sender: SideTabBar
    • __namedParameters: { currentIndex: number; currentTitle: null | Title<Widget> }
      • currentIndex: number
      • currentTitle: null | Title<Widget>

    Returns void

Protected onTabDetachRequested

  • onTabDetachRequested(sender: SideTabBar, __namedParameters: { clientX: number; clientY: number; tab: HTMLElement; title: Title<Widget> }): void
  • Handle a tabDetachRequested signal from the sidebar. A drag is started so the widget can be moved to another application shell area.

    Parameters

    • sender: SideTabBar
    • __namedParameters: { clientX: number; clientY: number; tab: HTMLElement; title: Title<Widget> }
      • clientX: number
      • clientY: number
      • tab: HTMLElement
      • title: Title<Widget>

    Returns void

Protected onWidgetAdded

  • onWidgetAdded(sender: DockPanel, widget: Widget): void

Protected onWidgetRemoved

  • onWidgetRemoved(sender: DockPanel, widget: Widget): void

refresh

  • refresh(): void

removeMenu

  • removeMenu(menuId: string): void

resize

  • resize(size: number): void

setLayoutData

Protected setPanelSize

  • setPanelSize(size: number): Promise<void>

Protected showContextMenu

  • showContextMenu(e: MouseEvent): void

Protected updateToolbarTitle

  • updateToolbarTitle(): void

Object literals

Readonly state

state: object

The current state of the side panel.

empty

empty: true = true

expansion

expansion: collapsed = SidePanel.ExpansionState.collapsed

pendingUpdate

pendingUpdate: Promise<void> = Promise.resolve()