Newer Version Available

This content describes an older version of this product. View Latest

onTabSave()

Registers and calls a callback method when a user clicks Save in a subtab’s Unsaved Changes dialog box. When using this method, call setTabUnsavedChanges() in the callback method. This notifies the console that the custom save operation completed. In the call to setTabUnsavedChanges(), pass the first parameter as false to indicate a successful save or true to indicate an unsuccessful save. This method is only available in API version 28.0 or later.

Registering a callback method affects the user interface. When no save handler is registered, the user is presented with two options when closing a subtab with unsaved changes: Continue or Cancel. When a save handler is registered, the user is presented with three options when closing the subtab: Save, Don’t Save, or Cancel. In this scenario, the callback method registered is called when the user chooses Save.

When using onTabSave() with setTabUnsavedChanges():

  • Calling sforce.console.setTabUnsavedChanges(false,...) closes the specified subtab. We recommend placing the call to sforce.console.setTabUnsavedChanges() at the end of the callback method, as any subsequent save logic might not execute.
  • onTabSave() works only on subtabs or their sidebar components. It doesn’t work on primary tabs.
  • Not calling sforce.console.setTabUnsavedChanges() will have a severe effect on the user interface. For example, closing a primary tab with a subtab for which sforce.console.setTabUnsavedChanges() has not been called prevents a Saving... modal dialog box from closing.
  • Any callback passed to sforce.console.setTabUnsavedChanges() will not execute if the specified tab saves successfully and closes.

Important

Calling onTabSave() from a custom console component prevents that component from refreshing when saving the subtab. ” in the Salesforce online help.

Note

Syntax

1sforce.console.onTabSave(callback:Function)

Arguments

Name Type Description
callback function JavaScript method called to handle the save operation.

Sample Code–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/64.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>

Response

Name Type Description
id string ID of the subtab being saved.
objectId string Object ID of the subtab being saved, if applicable; null otherwise.