Files
zulip/static/js/keydown_util.js
Anders Kaseorg f3726db89a js: Normalize strings to double quotes.
Prettier would do this anyway, but it’s separated out for a more
reviewable diff.  Generated by ESLint.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-17 14:31:24 -07:00

41 lines
737 B
JavaScript

/*
See hotkey.js for handlers that are more app-wide.
*/
const keys = {
13: "enter_key",
37: "left_arrow",
38: "up_arrow",
39: "right_arrow",
40: "down_arrow",
};
exports.handle = function (opts) {
opts.elem.keydown((e) => {
const key = e.which || e.keyCode;
if (e.altKey || e.ctrlKey || e.shiftKey) {
return;
}
const key_name = keys[key];
if (!key_name) {
return;
}
if (!opts.handlers[key_name]) {
return;
}
const handled = opts.handlers[key_name]();
if (handled) {
e.preventDefault();
e.stopPropagation();
}
});
};
window.keydown_util = exports;