この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

onTabSave()

使用方法

ユーザがサブタブの [保存されていない変更] ダイアログボックスの [保存] をクリックすると、コールバックメソ���ドを登録し、コールします。このメソッドを使用する場合、コールバックメソッドで setTabUnsavedChanges() をコールする必要があります。これにより、カスタム保存操作が完了したことがコンソールに通知されます setTabUnsavedChanges() へのコールでは、保存が成功したことを示すには、最初のパラメータとして false を渡し、保存が失敗したことを示すには、true を渡します。このメソッドは、API バージョン 28.0 以降でのみ使用できます。

コールバックメソッドを登録すると、ユーザインターフェースに影響します。保存ハンドラが登録されていないと、変更を保存せずにタブを閉じるときに、[次へ] および [キャンセル] という 2 つのオプションがユーザに表示されます。保存ハンドラが登録されていると、タブを閉じるときに [保存][保存しない]、および [キャンセル] という 3 つのオプションがユーザに表示されます。この場合、ユーザが [保存] を選択すると、登録済みのコールバックメソッドがコールされます。

setTabUnsavedChanges() を指定して onTabSave() を使用する場合:

  • sforce.console.setTabUnsavedChanges(false,...) をコールして、指定されたタブを閉じます。後続の保存ロジックが実行されないように、コールバックメソッドの最後に sforce.console.setTabUnsavedChanges() へのコールを実行することをお勧めします。
  • sforce.console.setTabUnsavedChanges() をコールしないと、ユーザインターフェースに重大な影響が及びます。たとえば、sforce.console.setTabUnsavedChanges() がコールされていない状態のサブタブがある主タブを閉じると、保存中... モーダルダイアログボックスが閉じなくなります。
  • 指定されたタブが正常に保存されて閉じると、sforce.console.setTabUnsavedChanges() に渡されたすべてのコールバックは実行されません。

重要

カスタムコンソールコンポーネントから onTabSave() をコールすると、タブの保存時にコンポーネントが更新されません。カスタムコンソールコンポーネントについての詳細は、Salesforce オンラインヘルプの「カスタムコンソールコンポーネントの概要」を参照してください。

メモ

構文

1sforce.console.onTabSave(callback:Function)

引数

名前 説明
callback function 保存操作を処理するためにコールされる JavaScript メソッド。

サンプルコード – Visualforce

1swfobject.registerObject("clippy.codeblock-1", "9");<apex:page>
2    <A HREF="#" onClick="testOnTabSave();return false">
3         Click here to register save handler</A> 
4    
5    <apex:includeScript value="/support/console/28.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>
20

応答

名前 説明
id string 保存中のタブの ID。
objectId string 保存中のタブのオブジェクト ID (該当する場合)、それ以外の場合は null。