Lightning Experience の getFocusedTabInfo()
フォーカスのあるワークスペースタブまたはサブタブに関する情報を返します。このメソッドは、Lightning コンソールアプリケーションでのみ機能します。
引数
なし。
LWC のサンプルコード
このコンポーネントは、IsConsoleNavigation ワイヤアダプタを使用して自身が Lightning コンソールアプリケーション内にあるかどうかを確認してから、フォーカスされたタブまたはサブタブに関する情報を返します。
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}Aura コンポーネントのサンプルコード
このコンポーネントにはボタンがあり、押すと、現在フォーカスされているタブが閉じます。
コンポーネントコード:
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>コントローラコード:
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})応答
このメソッドは、成功時にフォーカスされているタブを表す 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}