Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
getAllTabInfo() for Lightning Experience
Arguments
LWC Sample Code
This component has a function that returns the information on all tabs.
1import { LightningElement, wire } from 'lwc';
2import { IsConsoleNavigation, getAllTabInfo } from 'lightning/platformWorkspaceApi';
3
4export class GetAllTabInfoExample extends LightningElement {
5 @wire(IsConsoleNavigation) isConsoleNavigation;
6
7 async handleOpen() {
8 if (!this.isConsoleNavigation) {
9 return;
10 }
11 try {
12 const tabInfo = await getAllTabInfo();
13 //do something with tabInfo
14 } catch (error) {
15 console.log(error);
16 }
17 }
18}For another example that uses getAllTabInfo(), see focusTab().
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, gets the info of all open tabs and prints the resulting tabInfo object.
Component code:
1<aura:component implements="flexipage:availableForAllPageTypes" access="global" >
2 <lightning:workspaceAPI aura:id="workspace" />
3 <lightning:button label="Get All Tab Info" onclick="{! c.handleGetAllTabInfo }" />
4</aura:component>Controller code:
1({
2 handleGetAllTabInfo : function(component, event, helper) {
3 var workspaceAPI = component.find("workspace");
4 workspaceAPI.getAllTabInfo().then(function(response) {
5 console.log(response);
6 })
7 .catch(function(error) {
8 console.log(error);
9 });
10 }
11})Response
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}