Newer Version Available

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

getFocusedTabInfo() for Lightning Experience

Returns information about the focused workspace tab or subtab. This method works only in Lightning console apps.

Arguments

None.

LWC Sample Code

This component checks if it’s in a Lightning console app using the IsConsoleNavigation wire adapter, and then returns information about the focused tab or subtab.

1import { LightningElement, wire } from 'lwc';
2import { IsConsoleNavigation, getFocusedTabInfo } from 'lightning/platformWorkspaceApi';
3
4export class FocusedTabInfoExample extends LightningElement {
5    @wire(IsConsoleNavigation) isConsoleNavigation;
6
7    handleClick() {
8        if (this.isConsoleNavigation) {
9            getFocusedTabInfo().then((tabInfo) => {
10                // do something with it
11            }).catch(function(error) {
12                console.log(error);
13            }); 
14        }
15    }
16}

To use LWC Workspace API (Beta), Lightning Web Security must be enabled in the Salesforce org. LWC Workspace API is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service is subject to the applicable Beta Services Terms provided at Agreements and Terms.

Note

Aura Components Sample Code

This component has a button that, when pressed, closes the currently focused tab.

Component code:

1<aura:component implements="flexipage:availableForAllPageTypes" access="global" >
2    <lightning:workspaceAPI aura:id="workspace" />
3    <lightning:button label="Close Focused Tab" onclick="{! c.closeFocusedTab }" />
4</aura:component>

Controller code:

1({
2    closeFocusedTab : function(component, event, helper) {
3        var workspaceAPI = component.find("workspace");
4        workspaceAPI.getFocusedTabInfo().then(function(response) {
5            var focusedTabId = response.tabId;
6            workspaceAPI.closeTab({tabId: focusedTabId});
7       })
8        .catch(function(error) {
9            console.log(error);
10        });
11    }
12})

Response

This method returns a promise that, upon success, resolves to a tabInfo object representing the focused 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}