Newer Version Available
disableTabClose() for Lightning Experience
Prevents a workspace tab or subtab from closing. This method removes the close button
from a tab or subtab, and disables the keyboard shortcuts that close tabs and subtabs. This method works only in
Lightning console apps.
Arguments
| Name | Type | Description |
|---|---|---|
| tabId | string | The ID of the workspace tab within which the new subtab opens. |
| disabled | boolean | Specifies the pageReference to open. pageReference is optional. |
Sample Code
This component has a button that, when pressed, disables the ability to close the currently focused tab.
Component code:
1<aura:component implements="flexipage:availableForAllPageTypes" access="global">
2 <lightning:workspaceAPI aura:id="workspace" />
3 <lightning:button label="Disable Close Focused Tab" onclick="{! c.disableCloseFocusedTab }" />
4</aura:component>Controller code:
1({
2 disableCloseFocusedTab : function(component, event, helper) {
3 var workspaceAPI = component.find("workspace");
4 workspaceAPI.getFocusedTabInfo().then(function(response) {
5 var focusedTabId = response.tabId;
6 workspaceAPI.disableTabClose({
7 tabId: focusedTabId,
8 disabled: true
9 })
10 .then(function(tabInfo) {
11 console.log(tabInfo);
12 })
13 .catch(function(error) {
14 console.log(error);
15 });
16 })
17 .catch(function(error) {
18 console.log(error);
19 });
20 }
21})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{ 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 pageReference: object,
12 subtabs: [
13 {
14 tabId: string,
15 active: boolean,
16 pinned: boolean,
17 closeable: boolean,
18 highlighted: boolean,
19 title: string,
20 icon: string (SLDS iconKey),
21 iconAlt: string,
22 recordId: string,
23 url: string (URL),
24 pageReference: object,
25 isSubtab: boolean,
26 parentTabId: string,
27 customTitle: string,
28 customIcon: string (URL),
29 customIconAlt: string
30 },
31 { ... }
32 ],
33 isSubtab: boolean,
34 parentTabId: string,
35 customTitle: string,
36 customIcon: string (URL),
37 customIconAlt: string
38}