Newer Version Available
getTabInfo() for Lightning Experience
Returns information about the specified tab. This method works only in
Lightning console apps.
Arguments
The method provides the same argument for both Aura Components and Lightning Web Components (LWC).
| Name | Type | Description |
|---|---|---|
| tabId | string | ID of the tab for which to retrieve the information. |
LWC Sample Code
This component has a function that returns the tab information.
1import { LightningElement, wire } from 'lwc';
2import { EnclosingTabId, getTabInfo } from 'lightning/platformWorkspaceApi';
3
4export class ConsoleNavExample extends LightningElement {
5 @wire(EnclosingTabId) enclosingTabId;
6 handleClick() {
7 if (this.enclosingTabId) {
8 getTabInfo(this.enclosingTabId).then((tabInfo) => {
9 // do something with it
10 }).catch((error) => {
11 console.log(error);
12 });
13 }
14 }
15}Aura Components Sample Code
This component has a button that, when pressed, opens a tab and uses the getTabInfo() method to print the new tab’s tabInfo to the developer console.
Component code:
1<aura:component implements="flexipage:availableForAllPageTypes" access="global" >
2 <lightning:workspaceAPI aura:id="workspace" />
3 <lightning:button label="Get Opened Tab Info" onclick="{! c.getOpenedTabInfo }" />
4 </aura:component>Controller code:
1({
2 getOpenedTabInfo : function(component, event, helper) {
3 var workspaceAPI = component.find("workspace");
4 workspaceAPI.openTab({
5 url: '/lightning/r/Account/001xx000003DI05AAG/view',
6 focus: true
7 }).then(function(response) {
8 workspaceAPI.getTabInfo({
9 tabId: response
10 }).then(function(response) {
11 console.log(response);
12 });
13 })
14 .catch(function(error) {
15 console.log(error);
16 });
17 }
18})Response
This method returns a promise that, upon success, resolves
to a tabInfo object representing the specified tab.
A
tabInfo object is a JSON array of
information about a workspace tab, with nested arrays of information on each subtab.
This is the structure of a tabInfo
object.
1{
2 tabId: string,
3 url: string (URL),
4 pinned: boolean,
5 closeable: boolean,
6 title: string,
7 icon: string (SLDS iconKey),
8 iconAlt: string,
9 customTitle: string (optional),
10 customIcon: string (optional),
11 customIconAlt: string (optional),
12 highlighted: boolean,
13 pageReference: object,
14 isSubtab: boolean,
15 parentTabId: string,
16 subtabs: [
17 {
18 tabId: string,
19 url: string (URL),
20 pinned: boolean,
21 closeable: boolean,
22 title: string,
23 icon: string (SLDS iconKey),
24 iconAlt: string,
25 customTitle: string (optional),
26 customIcon: string (optional),
27 customIconAlt: string (optional),
28 highlighted: boolean,
29 pageReference: object,
30 isSubtab: boolean,
31 parentTabId: string,
32 focused: boolean,
33 recordId: string,
34 },
35 ...
36 ],
37 focused: boolean,
38 recordId: string
39}