Newer Version Available

This content describes an older version of this product. View Latest

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 default 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}

To make your component available for use in a Lightning console app, specify the lightning__AppPage target in the component’s configuration file.

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})

The relative URL used in this example is a placeholder. To try this example yourself, use a relative URL with a record ID from your org.

Note

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}