Unverified Commit 4f809504 authored by Enrico Zini's avatar Enrico Zini
Browse files

Don't trap keys when modifiers are set. Fixes: #1

parent d1233402
...@@ -3,6 +3,11 @@ ...@@ -3,6 +3,11 @@
const epoch = "1970-01-01T00:00:00+00:00"; const epoch = "1970-01-01T00:00:00+00:00";
function has_modifiers(evt)
{
return evt.altKey || evt.ctrlKey || evt.isComposing || evt.metaKey || evt.shiftKey;
}
class MessageTable class MessageTable
{ {
constructor(options) constructor(options)
...@@ -14,6 +19,10 @@ class MessageTable ...@@ -14,6 +19,10 @@ class MessageTable
this.table = $(this.el_table).find("table"); this.table = $(this.el_table).find("table");
this.el_tbody.addEventListener("keydown", evt => { this.el_tbody.addEventListener("keydown", evt => {
// Skip all events with modifiers, since we don't use any, and this
// way we prevent eating browser shortcuts
if (has_modifiers(evt))
return;
const code = evt.code; const code = evt.code;
let ignored = false; let ignored = false;
if (code == "Escape") if (code == "Escape")
...@@ -39,6 +48,9 @@ class MessageTable ...@@ -39,6 +48,9 @@ class MessageTable
}); });
this.el_tbody.addEventListener("wheel", evt => { this.el_tbody.addEventListener("wheel", evt => {
// Skip all events with modifiers, since we don't use any so far
if (has_modifiers(evt))
return;
if (evt.deltaY < 0) if (evt.deltaY < 0)
this.prev_message(); this.prev_message();
else else
...@@ -46,6 +58,9 @@ class MessageTable ...@@ -46,6 +58,9 @@ class MessageTable
}); });
this.el_tbody.addEventListener("click", evt => { this.el_tbody.addEventListener("click", evt => {
// Skip all events with modifiers, since we don't use any so far
if (has_modifiers(evt))
return;
// Find the row clicked // Find the row clicked
let tr = evt.target; let tr = evt.target;
while (tr && tr.tagName != "TR") while (tr && tr.tagName != "TR")
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment