Lightning コンソール JavaScript API の構文
Lightning コンソール JavaScript API を使用するには、lightning:navigationItemAPI、lightning:workspaceAPI、lightning:utilityBarAPI を Lightning コンポーネントに含めます。
lightning:navigationItemAPI、lightning:workspaceAPI、lightning:utilityBarAPI コンポーネントを使用すると、これらの調整 API にアクセスできます。各コンポーネントに aura:id を付与して、コンポーネントのコントローラから参照できるようにします。
次の例では、API ライブラリを使用する簡単な Lightning コンポーネントを示します。
1<aura:component implements="flexipage:availableForAllPageTypes" access="global">
2 <lightning:navigationItemAPI aura:id="navigationItem" />
3 <lightning:workspaceAPI aura:id="workspace" />
4 <lightning:utilityBarAPI aura:id="utilityBar" />
5 <lightning:button label="Focus Navigation Item" onclick="{!c.focusNavigationItem }" />
6 <lightning:button label="Open Utility" onclick="{!c.openUtilityBar }"/>
7 <lightning:button label="Open Tab" onclick="{!c.openTab }" />
8</aura:component>このコンポーネントは flexipage:availableForAllPageTypes を実装しているため、Lightning アプリケーションビルダーでアクセスできます。
コンポーネントの JavaScript コントローラを次に示します。
1({
2 openUtilityBar : function(component, event, helper) {
3 var utilityAPI = component.find("utilitybar");
4 utilityAPI.openUtility();
5 },
6
7 openTab: function(component, event, helper) {
8 var workspaceAPI = component.find("workspace");
9 workspaceAPI.openTab({
10 pageReference: {
11 "type": "standard__recordPage",
12 "attributes": {
13 "recordId":"500xx000000Ykt2AAC",
14 "actionName":"view"
15 },
16 "state": {}
17 },
18 focus: true
19 }).then(function(response) {
20 workspaceAPI.getTabInfo({
21 tabId: response
22 }).then(function(tabInfo) {
23 console.log("The recordId for this tab is: " + tabInfo.recordId);
24 });
25 }).catch(function(error) {
26 console.log(error);
27 });
28 },
29
30 focusNavigationItem : function(component, event, helper) {
31 var navigationItemAPI = component.find("navigationItem");
32 navigationItemAPI.focusNavigationItem().then(function(response) {
33 console.log(response);
34 })
35 .catch(function(error) {
36 console.log(error);
37 });
38 }
39})コントローラには、API メソッドを使用する 3 つの関数があります。コントローラでメソッドを使用するには、lightning:navigationItemAPI、lightning:workspaceAPI、lightning:utilityBarAPI に付与した aura:id と共に component.find を使用します。
ワークスペース API とユーティリティバー API のメソッドは、引数として JSON オブジェクトを取ります。オブジェクトに含まれる値は、メソッドによって異なります。たとえば、openTab は、url と focus (新しいタブにフォーカスするかどうか) が含まれるオブジェクトを取ります。メソッドを使用する前にこのガイドの「参照」セクションを参照して、メソッドに渡す引数を確認してください。