Wiring up a Global Hotkey to Save the Current Record in Infor CRM (Saleslogix) Web

A common request with users of Infor CRM (Saleslogix) Web is to make the process of saving data easier. The system does let you know when data has changed, but it’s still up to the user to click the save button to save it. One small step in making this easier for users is to wire up a global hotkey in CRM so users can save the record by simply pressing CTRL+S (or ⌘+S on a Mac).

We’ll be writing some Javascript to bind to the browser window’s keydown event. Then, once we’ve determined the correct key combination is being used, we’ll locate the save button. For this to work generically and function correctly for any/all save buttons on any page, I’ve decided to *only* look for the button on the toolbar area of the form in the MainContent workspace. Additionally, since the save button could be named differently on each page, I am just going to look for the button that is using the “Save icon” image 

This is what the code looks like:

// bind to keydown event
$(window).bind('keydown', function(event) { 
	// if CTRL (or ⌘ on a Mac) and "S" pressed
	if ((event.ctrlKey || event.metaKey) && String.fromCharCode(event.which).toLowerCase() == 's') { 
		// find save button on toolbar of MainContent workspace 
		var saveButton = $('#MainContent .mainContentHeader input[src=ImageResource.axd?scope=global&type=Global_Images&key=Save_16x16]');
		if (saveButton) {
			// if save button found trigger click event 
			saveButton.click();
			event.preventDefault();
		}
	} 
});

Now, all you need to do is get that code to be added to every page. To do this, once extremely easy way, is to use my style & script loader module. Then it’s just a matter of dropping in a js file in the correct folder and you’re done. Really, every system should have that module in place, it just makes things so much easier. If you’re not, then you’ll need to add the code to the base.master page. Just wrap the code up in a script block, like this

<script type="text/javascript"> code goes here </script>

and add it somewhere on the base.master page.

Once that is done, your users can use CTRL+S on any page in the system. As long as the page has a button using the save icon on the toolbar of the form in the MainContent area, it will trigger the click of that button and save the record.

ABOUT THE AUTHOR

Ryan Farley

Ryan Farley is the Director of Development for Customer FX and creator of slxdeveloper.com. He’s been blogging regularly about SalesLogix since 2001 and believes in sharing with the community. He loves C#, Javascript, Python, web development, open source, and Linux. He also loves his hobby as an amateur filmmaker.

Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe To Our Newsletter

Join our mailing list to receive the latest Infor CRM (Saleslogix) news and product updates!

You have Successfully Subscribed!