sforce.one オブジェクトを使用したナビゲーションとメッセージ
sforce.one オブジェクトには次の関数があります。sforce.one オブジェクトからドット表記を使用して関数を参照します。たとえば、sforce.one.navigateToSObject(recordId, view) です。
これらの関数で起動される基になるイベントの詳細は、『Lightning Aura コンポーネント開発者ガイド』を参照してください。
| 関数 | 説明 |
|---|---|
| back([refresh]) |
sforce.one 履歴に保存されている、以前の状態に移動します。ブラウザの [戻る] ボタンをクリックするのと同じです。 refresh は省略可能です。デフォルトでは、ページは更新されません。可能な場合は true を渡してページを更新します。 |
| navigateToSObject(recordId[, view]) |
recordId で指定した sObject レコードに移動します。このレコードの「ホーム」には複数のビューがあり、このビューは Salesforce モバイルアプリケーション内で、ユーザがスワイプして移動するスライドとして表示されます。 view は省略可能でデフォルト値は detail です。view には最初に表示する、レコードのホーム内のスライドを指定します。 使用できる値は次のとおりです。
|
| navigateToURL(url[, isredirect]) | 指定した URL に移動します。
相対ルートと絶対 URL がサポートされています。相対 URL は Lightning ドメインルートに対して相対的で、ナビゲーション履歴を保持します。たとえば、Visualforce ページの相対ルート URL には、/apex/c__Listen のようにプレフィックスが付けられます。../apex/c__Listen や apex/c__Listen のような相対 URL はサポートされません。外部 URL、つまり Lightning ドメインの外部の URL は別のブラウザウィンドウに開きます。
アプリケーション内のさまざまな画面に移動するには相対 URL を使用します。ユーザに別のサイトまたはアプリケーションへのアクセスを許可するには外部 URL を使用します。ユーザは移動先のサイトまたはアプリケーションで、元のアプリケーションに保持する必要のないアクションを実行できます。ユーザが元のアプリケーションに戻るには、別のアプリケーションを終了したときに、外部 URL によって開かれた別のウィンドウを閉じる必要があります。この新しいウィンドウは、元のアプリケーションとは別の履歴を持ち、ウィンドウを閉じるとこの履歴は破棄されます。つまり、ユーザは [戻る] ボタンをクリックして元のアプリケーションに戻ることはできません。ユーザは新しいウィンドウを閉じる必要があります。 外部アプリケーションを起動し、ユーザが適切な操作を行えるようにするため、mailto:、tel:、geo: などの URL スキームがサポートされています。ただし、サポートはモバイルプラットフォームとデバイスによって異なります。mailto: と tel: は信頼できますが、他の URL については、使用が想定されるさまざまなデバイスでテストすることをお勧めします。
isredirect は省略可能であり、デフォルトは false です。ナビゲーション履歴の現在の URL を新しい URL に置き換えるようにするには、true に設定します。
|
| navigateToFeed(subjectId, type) |
subjectId で絞り込んだ、指定した type のフィードに移動します。一部のフィード type では、subjectId は必須ですが無視されます。これらのフィード type では、現在のユーザの ID を subjectId として渡します。
type はフィードの種別です。使用できる値は次のとおりです。
|
| navigateToFeedItemDetail(feedItemId) | 特定のフィード項目 feedItemId と関連付けられたコメントに移動します。 |
| navigateToRelatedList(relatedListId, parentRecordId) |
parentRecordId の関連リストに移動します。たとえば、Warehouse オブジェクトの関連リストを表示する場合、parentRecordId は Warehouse__c.Id です。 relatedListId は、表示する関連リストの API 参照名または ID です。 |
| navigateToList(listViewId, listViewName, scope) |
listViewId (表示されるリストビューの ID) で指定されたリストビューに移動します。 listViewName にリストビューのタイトルを設定します。リストビューに保存されている実際の名前と一致する必要はありません。保存されている名前を使用するには、listViewName を null に設定します。 scope に、ビュー内の sObject の名前 (「Account」や「MyObject__c」など) を設定します。 |
| createRecord(entityName[, recordTypeId][, defaultFieldValues]) | 指定した entityName (「Account」や「MyObject__c」など) のレコードを作成するページを開きます。 recordTypeId は省略可能ですが、作成されるオブジェクトのレコードタイプを指定します。recordTypeId を指定しないで createRecord を呼び出すと、エラーになることがあります。 defaultFieldValues は省略可能ですが、指定すると、パネルに表示されていない項目を含め、レコード作成パネルに項目が事前入力されます。ユーザには、値が事前入力される項目に対する作成アクセス権が必要です。項目のアクセス制限によって発生した保存時のエラーは、エラーメッセージには表示されません。 |
| editRecord(recordId) | recordId で指定したレコードを編集するページを開きます。 |
| showToast({toastParams}) | トーストを表示します。トーストはビューの上部にあるヘッダーの下にメッセージを表示します。toastParams オブジェクトでは、トーストの属性を設定します。force:showToast Aura イベントで使用できる任意の属性を使用します。次に例を示します。 |
| publish(messageChannel, message) | Lightning Message Service を使用して、message を messageChannel に公開します。「メッセージチャネルでの公開」を参照してください。 |
| subscribe(messageChannel, function) | Lightning Message Service を使用して、messageChannel に登録します。指定された function は、購読メッセージチャネルのメッセージが公開されたときに実行されます。subscribe() 関数によって、購読オブジェクトが返されます。このオブジェクトには unsubscribe() を使用できます。「メッセージチャネルの購読および購読取り消し」を参照してください。 |
| unsubscribe(subscription) | メッセージチャネルの subscription オブジェクトの購読を取り消します。「メッセージチャネルの購読および購読取り消し」を参照してください。 |
- sforce.one.navigateToURL をコールしたときに、URL がオブジェクトの標準ページまたは Chatter ページを参照すると、「Unsupported Page」 (サポートされていないページ) というエラーが発生することがあります。このエラーを回避するには、URL がスラッシュで始まっている (_ui ではなく、/_ui が使用されている) ことを確認します。
- sforce.one.createRecord メソッドは、Visualforce による標準アクションへの上書きを無視します。
- 開発者は、pageReference クラスを使用して、Salesforce モバイルアプリケーションのナビゲーションを制御できます。一部のアクションとそれに関連する pageReference URL は、まだ完全にはサポートされていません。たとえば、コピーまたは編集アクションがある standard_recordPage は、正常に機能しない場合があります。将来のリリースでは、完全にサポートされる予定です。