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