Controlling Toolbar Buttons with JavaScript
JavaScript can be used to manipulate the Toolbar Buttons at any time in a Workflow, and can allow querying of a button's state or dynamic setting of buttons on a page as a result of choices during the Page.
How To
Navigation Buttons
There are two different syntaxes to interact with the Navigation Buttons:
Script.NavigationButtons[""].();
Script.NavigationButtons.("");
Both syntaxes offer the same basic functionality, however the first syntax allows additional code to be added to chain methods together. For example:
Script.NavigationButtons[""].().();
The "button" fragments above should be replaced with the (case sensitive) names for the Navigation Buttons:
Button
|
Name
|
|
Home
|
|
Back
|
|
Forward
|
|
End
|
|
Transfer
|
|
Help
|
|
History
|
Communication Buttons
There are two different syntaxes to interact with the Communication Buttons:
Script.CTI.Buttons[""].();
Script.CTI.Buttons.("");
Both syntaxes offer the same basic functionality, however the first syntax allows additional code to be added to chain methods together. For example:
Script.CTI.Buttons[""].().();
The "button" fragments above should be replaced with the (case sensitive) names for the Communication Buttons:
Button
|
Name
|
|
Transfer
|
|
MakeCall
|
|
Mute
|
|
Record
|
|
Hold
|
|
Disconnect
|
|
Pickup
|
Setting and Checking Methods
The .method() fragment in the above sections should be replaced with one of the methods described in the following tables.
The options available to set the state of a button are:
Method
|
Description
|
Enable
|
The button will be clickable (as long as there are no other conditions preventing its use, and it is visible).
|
Disable
|
The button will not be clickable.
|
Show
|
The button will be visible.
|
Hide
|
The button will not be visible.
|
The options available to check the state of a button are:
Method
|
Description
|
IsVisible
|
Check if the button is visible.
|
IsEnabled
|
Check if the button can be enabled.
|
IsReallyEnabled
|
Check if the button is actually enabled.
|
These checking options make the function return a boolean (true/false) value.
The IsReallyEnabled option exists as, in some situations, Scripting may override the set status of a button. For example, the Forward button will always be disabled unless you have used the Back Button to navigate backwards in a Workflow; in this case, it would return true for IsEnabled (as it has the potential to be clickable), but false for IsReallyEnabled (as it isn't currently clickable).
Examples
Hide the Home button:
Script..("");
Check if it's possible for the agent to go forward:
Script..("");
Hide the Pickup button if it's not enabled:
if ( !Script..("") ) {
Script.[""].()
}
Notes
There are two instances of the Transfer button, one existing in the Navigation buttons and the other in the Communication buttons. If using a CTI, then the Transfer button in the Navigation group is automatically removed and replaced by the one from the Communication group.
Checking methods must be the final element in the chain if they are used. Trying to chain a setting method after a checking method will throw a JavaScript error.