monday-ui-react-core
Version:
Official monday.com UI resources for application development in React.js
59 lines (46 loc) • 1.42 kB
JavaScript
const ENTER_KEY_CODE = 13;
const ESCAPE_KEY_CODE = 27;
const BACKSPACE = 8;
const TAB = 9;
const SPACE = 32;
const ARROW_LEFT_KEY_CODE = 37;
const ARROW_UP_KEY_CODE = 38;
const ARROW_RIGHT_KEY_CODE = 39;
const ARROW_DOWN_KEY_CODE = 40;
const validateEvent = (event, keyCode, key) => {
if (!event) return false;
return event.keyCode === keyCode || event.which === keyCode || (key && event.key === key);
};
export const isEnterEvent = event => {
return validateEvent(event, ENTER_KEY_CODE);
};
export const isShiftEnterEvent = event => {
return event.shiftKey && isEnterEvent(event);
};
export const isEscapeEvent = event => {
return validateEvent(event, ESCAPE_KEY_CODE);
};
export const isArrowUpEvent = event => {
return validateEvent(event, ARROW_UP_KEY_CODE);
};
export const isArrowDownEvent = event => {
return validateEvent(event, ARROW_DOWN_KEY_CODE);
};
export const isArrowRightEvent = event => {
return validateEvent(event, ARROW_RIGHT_KEY_CODE);
};
export const isArrowLeftEvent = event => {
return validateEvent(event, ARROW_LEFT_KEY_CODE);
};
export const isBackspaceEvent = event => {
return validateEvent(event, BACKSPACE);
};
export const isSpaceEvent = event => {
return validateEvent(event, SPACE);
};
export const isTabEvent = event => {
return validateEvent(event, TAB);
};
export const isShiftTabEvent = event => {
return event.shiftKey && isTabEvent(event);
};