Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
venkatesh298
Explorer
There are scenarios wherein the UI5 app should support keyboard shortcuts to perform some actions.

Here is a template that can be used as hook to write custom logic:

In your controller file, use the below method:
onInit : function() {
//after all the necessary code in init method
this.setKeyboardShortcuts();
},

setKeyboardShortcuts: function(){
//here in this example, I have attached to 'document', you may attach to specific view or control
$(document).keydown($.proxy(function(evt) {
switch(evt.keyCode){
case 13: //enter key
// if enter key is pressed on checkbox control in ui5, default selection occurs, we need to undo this
var control = sap.ui.getCore().byId(evt.target.getAttribute('id'));
if (control && control.getMetadata().getName() == "sap.m.CheckBox" && control.getEnabled() && control.getEditable()) { //check if control is checkbox
//evt.preventDefault();
evt.stopImmediatePropagation();
control.setSelected(!control.getSelected());
control.fireSelect(new sap.ui.base.Event("customClick", control, {})); //checkbox SELECT event
}
//now call the actual event/method for the keyboard keypress
this.anyMethodThatShouldbeCalledUponEnterKeyHit();
break;

case 118: //F7 key
var control = this.byId("idPrevPageButton"); //or sap.ui.getCore().byId("idPrevPageButton")
if (control && control.getEnabled() && control.getEditable()) {
control.firePress(); //button PRESS event
}
break;

//for other SHORTCUT cases: refer link1 - https://css-tricks.com/snippets/javascript/javascript-keycodes/
default: break;
}, this));
},

 
3 Comments
Labels in this area