Newer Version Available
getAllTabInfo() for Lightning Experience
Returns information about all open tabs. This method works only in
Lightning console apps.
Arguments
None.
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.getAllTabInfo }" />
4</aura:component>Controller code:
1({
2 getAllTabInfo : 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
This method returns a promise that, upon success, resolves to an
array of tabInfo objects. 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{ tabId: string,
2 active: boolean,
3 pinned: boolean,
4 closeable: boolean,
5 highlighted: boolean,
6 title: string,
7 icon: string (SLDS iconKey),
8 iconAlt: string,
9 recordId: string,
10 url: string (URL),
11 subtabs: [
12 {
13 tabId: string,
14 active: boolean,
15 pinned: boolean,
16 closeable: boolean,
17 highlighted: boolean,
18 title: string,
19 icon: string (SLDS iconKey),
20 iconAlt: string,
21 recordId: string,
22 url: string (URL),
23 isSubtab: boolean,
24 parentTabId: string,
25 customTitle: string,
26 customIcon: string (URL),
27 customIconAlt: string
28 },
29 { ... }
30 ],
31 isSubtab: boolean,
32 parentTabId: string,
33 customTitle: string,
34 customIcon: string (URL),
35 customIconAlt: string
36}