TODO refactor shell, rendered should only receive props with event handlers events should be handled by clients, like ApplicationShell right now it is mess: (1) client logic belong to renderer, (2) cyclic dependencies between renderers and clients
Optional
contextMenuRenderer: ContextMenuRendererOptional
decoratorService: TabBarDecoratorServiceOptional
iconThemeService: IconThemeServiceOptional
selectionService: SelectionServiceOptional
commandService: CommandServiceOptional
corePreferences: CorePreferencesOptional
hoverService: HoverServiceOptional
contextKeyService: ContextKeyServiceProtected
Optional
_Readonly
closeA selector which matches the close icon node in a tab.
Protected
Optional
Readonly
commandProtected
Optional
Readonly
contextOptional
contextThe menu path used to render the context menu.
Protected
Optional
Readonly
contextProtected
Optional
Readonly
coreProtected
Readonly
decorationsProtected
Optional
Readonly
decoratorProtected
Optional
Readonly
hoverProtected
Optional
Readonly
iconProtected
Optional
Readonly
selectionProtected
Readonly
toProtected
Readonly
toCreate the class name for the tab icon.
The data to use for the tab.
The full class name for the tab icon.
Create the ARIA attributes for a tab.
The data to use for the tab.
The ARIA attributes for the tab.
Create the class name for the tab.
The data to use for the tab.
The full class name for the tab.
Create the dataset for a tab.
The data to use for the tab.
The dataset for the tab.
Generate ID for an entry in the tab bar
DOM element ID
Create a unique render key for the tab.
The data to use for the tab.
The unique render key for the tab.
This method caches the key against the tab title the first time the key is generated. This enables efficient rendering of moved tabs and avoids subtle hover style artifacts.
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.
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.
A map from each tab's original path to its displayed partial path.
Protected
getGet the decoration data given the tab URI and the decoration data type.
Protected
getGet all available decorations of a given tab.
Protected
getGet the class of an icon.
The name of the icon.
Additional classes of the icon.
Protected
handleProtected
handleProtected
handleProtected
handleOptional
isInSidePanel: booleanRender the close icon element for a tab.
The data to use for rendering the tab.
A virtual element representing the tab close icon.
Protected
renderIf size information is available for the icon, set it as inline style. Tab padding
is also considered in the top
position.
Data used to render the tab icon.
Optional
isInSidePanel: booleanAn optional check which determines if the tab is in the side-panel.
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.
Data used to render the tab.
Optional
isInSidePanel: booleanAn optional check which determines if the tab is in the side-panel.
The virtual element of the rendered label.
Optional
isInSidePanel: booleanRender tabs with the default DOM structure, but additionally register a context menu listener.
Data used to render the tab.
Optional
isInSidePanel: booleanAn optional check which determines if the tab is in the side-panel.
Optional
isPartOfHiddenTabBar: booleanAn optional check which determines if the tab is in the hidden horizontal tab bar.
The virtual element of the rendered tab.
Protected
renderOptional
isInSidePanel: booleanProtected
renderProtected
reset
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.