A small detail that we have left aside is the isEnter function. To have cleaner code, we can isolate it in a class and define it as a static member:
class EventUtils {
static isEnter(event: KeyboardEvent): boolean {
let isEnterResult = false;
if(event !== undefined && event.defaultPrevented) {
return false;
}
if (event == undefined) {
isEnterResult = false;
} else if (event.key !== undefined) {
isEnterResult = event.key === 'Enter';
} else if (event.keyCode !== undefined) {
isEnterResult = event.keyCode === 13;
}
return isEnterResult;
}
}
We can invoke it as easily as before, using EventUtils.isEnter(...). This doesn't change much, but is cleaner and conveys more meaning. One important...