この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Lightning Experience の disableTabClose()

ワークスペースタブまたはサブタブを閉じることができないようにします。このメソッドは、タブまたはサブタブから [閉じる] ボタンを削除し、タブまたはサブタブを閉じるキーボードショートカットを無効にします。このメソッドは、Lightning コンソールアプリケーションでのみ機能します。

引数

Aura コンポーネントと Lightning Web コンポーネント (LWC) のいずれの場合でも、このメソッドの引数は同じです。

名前 説明
tabId string タブを閉じることができないようにするワークスペースタブまたはサブタブの ID。
disabled boolean タブを閉じることができないようにするかどうかを指定します。

disableTabClose() では、ブラウザーでブラウザータブを更新したり、閉じたりすることを防止できません。

メモ

LWC のサンプルコード

このコンポーネントには、ページの参照を使用してタブを開いた後、そのタブが閉じられないようにする関数があります。

1import { LightningElement } from 'lwc';
2import { openTab, disableTabClose } from 'lightning/platformWorkspaceApi';
3
4export default class MyComponent extends LightningElement {
5
6   focusNewTab(event) {
7       openTab({
8            url: '#/sObject/001R0000003HgssIAC/view',
9            label: 'Global Media'
10       }).then((tabId) => {
11            disableTabClose(tabId, true);
12       }).catch((error) => {
13            console.log(error);
14       });
15   }
16}

Aura コンポーネントのサンプルコード

このコンポーネントにはボタンがあり、押すと、現在フォーカスされているタブを閉じることができなくなります。

コンポーネントコード:

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>

コントローラーコード:

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

応答

このメソッドは、成功時にフォーカスされているタブを表す tabInfo オブジェクトに解決される Promise を返します。tabInfo オブジェクトは、ワークスペースタブに関する情報の JSON 配列で、各サブタブに関する情報の配列がネストされています。tabInfo オブジェクトの構造を次に示します。
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}