Options
All
  • Public
  • Public/Protected
  • All
Menu

Class TabBarRenderer

A tab bar renderer that offers a context menu. In addition, this renderer is able to set an explicit position and size on the icon and label of each tab in a side bar. This is necessary because the elements of side bar tabs are rotated using the CSS transform property, disrupting the browser's ability to arrange those elements automatically.

Hierarchy

  • Renderer
    • TabBarRenderer

Index

Constructors

constructor

Properties

Protected Optional _tabBar

_tabBar: TabBar<Widget>

Optional contextMenuPath

contextMenuPath: MenuPath

The menu path used to render the context menu.

Protected Optional Readonly contextMenuRenderer

contextMenuRenderer: ContextMenuRenderer

Protected Readonly decorations

decorations: Map<Title<Widget>, Data[]> = ...

Protected Optional Readonly decoratorService

decoratorService: TabBarDecoratorService

Protected Optional Readonly iconThemeService

iconThemeService: IconThemeService

Protected Readonly toDispose

toDispose: DisposableCollection = ...

Protected Readonly toDisposeOnTabBar

toDisposeOnTabBar: DisposableCollection = ...

Accessors

tabBar

  • get tabBar(): undefined | TabBar<Widget>
  • set tabBar(tabBar: undefined | TabBar<Widget>): void

Methods

createTabId

  • createTabId(title: Title<Widget>): string

createTabStyle

  • If size information is available for the label and icon, set an explicit height on the tab. The height value also considers padding, which should be derived from CSS settings.

    Parameters

    Returns ElementInlineStyle

dispose

  • dispose(): void

findDuplicateLabels

  • findDuplicateLabels(titles: Title<Widget>[]): Map<string, string>
  • Find duplicate labels from the currently opened tabs in the tab bar. Return the appropriate partial paths that can distinguish the identical labels.

    E.g., a/p/index.ts => a/..., b/p/index.ts => b/...

    To prevent excessively long path displayed, show at maximum three levels from the end by default.

    Parameters

    • titles: Title<Widget>[]

      Array of titles in the current tab bar.

    Returns Map<string, string>

    A map from each tab's original path to its displayed partial path.

Protected getDecorationData

  • getDecorationData<K>(title: Title<Widget>, key: K): Data[K][]
  • Get the decoration data given the tab URI and the decoration data type.

    Type parameters

    • K: "backgroundColor" | "priority" | "fontData" | "captionPrefixes" | "captionSuffixes" | "tailDecorations" | "tooltip" | "iconColor" | "iconOverlay" | "highlight" | "badge"

    Parameters

    • title: Title<Widget>

      The title.

    • key: K

      The type of the decoration data.

    Returns Data[K][]

Protected getDecorations

  • getDecorations(title: Title<Widget>): Data[]

Private getIconClass

  • getIconClass(iconName: string | string[], additionalClasses?: string[]): string

Protected handleContextMenuEvent

  • handleContextMenuEvent(event: MouseEvent): void

Protected handleDblClickEvent

  • handleDblClickEvent(event: MouseEvent): void

renderBadge

renderIcon

  • If size information is available for the icon, set it as inline style. Tab padding is also considered in the top position.

    Parameters

    • data: SideBarRenderData

      Data used to render the tab icon.

    • Optional isInSidePanel: boolean

      An optional check which determines if the tab is in the side-panel.

    Returns VirtualElement

renderLabel

  • If size information is available for the label, set it as inline style. Tab padding and icon size are also considered in the top position.

    Parameters

    • data: SideBarRenderData

      Data used to render the tab.

    • Optional isInSidePanel: boolean

      An optional check which determines if the tab is in the side-panel.

    Returns VirtualElement

    The virtual element of the rendered label.

renderTab

  • Render tabs with the default DOM structure, but additionally register a context menu listener.

    Parameters

    • data: SideBarRenderData

      Data used to render the tab.

    • Optional isInSidePanel: boolean

      An optional check which determines if the tab is in the side-panel.

    Returns VirtualElement

    The virtual element of the rendered tab.

Protected resetDecorations

  • resetDecorations(title?: Title<Widget>): void