onTabSave()
ユーザがサブタブの [Unsaved Changes (保存されていない変更)] ダイアログボックスの [Save (保存)] をクリックすると、コールバックメソッドを登録し、コールします。このメソッドを使用する場合、コールバックメソッドで setTabUnsavedChanges() をコールします。これにより、カスタム保存操作が完了したことがコンソールに通知されます。setTabUnsavedChanges() へのコールでは、保存が成功したことを示すには、最初のパラメータとして false を渡し、保存が失敗したことを示すには、true を渡します。このメソッドは、API バージョン 28.0 以降でのみ使用できます。
コールバックメソッドを登録すると、ユーザインターフェースに影響します。保存ハンドラが登録されていないと、変更を保存せずにサブタブを閉じるときに、[Continue (次へ)] および [Cancel (キャンセル)] という 2 つのオプションがユーザに表示されます。保存ハンドラが登録されていると、サブタブを閉じるときに [Save (保存)]、[Don’t Save (保存しない)]、および [Cancel (キャンセル)] という 3 つのオプションがユーザに表示されます。この場合、ユーザが [Save (保存)] を選択すると、登録済みのコールバックメソッドがコールされます。
構文
1sforce.console.onTabSave(callback:Function)引数
| 名前 | 型 | 説明 |
|---|---|---|
| callback | function | 保存操作を処理するためにコールされる JavaScript メソッド。 |
サンプルコード – Visualforce
1<apex:page>
2 <a href="#" onClick="testOnTabSave();return false">
3 Click here to register save handler</a>
4
5 <apex:includeScript value="/support/console/56.0/integration.js"/>
6 <script type="text/javascript">
7 function testOnTabSave() {
8 sforce.console.onTabSave(handleSave);
9 }
10 var handleSave = function handleSave(result) {
11 alert('save handler called from tab with id ' + result.id +
12 ' and objectId ' + result.objectId);
13 //Perform save logic here
14
15 //Mark tab as 'clean'
16 sforce.console.setTabUnsavedChanges(false, undefined, result.id);
17 };
18 </script>
19</apex:page>応答
| 名前 | 型 | 説明 |
|---|---|---|
| id | string | 保存中のサブタブの ID。 |
| objectId | string | 保存中のサブタブのオブジェクト ID (該当する場合)、それ以外の場合は null。 |