aboutsummaryrefslogtreecommitdiffstats
path: root/src/sidebar.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/sidebar.ts')
-rw-r--r--src/sidebar.ts32
1 files changed, 11 insertions, 21 deletions
diff --git a/src/sidebar.ts b/src/sidebar.ts
index dbf9cbe..1af0cf5 100644
--- a/src/sidebar.ts
+++ b/src/sidebar.ts
@@ -1,32 +1,22 @@
import { SIDEBAR } from './gmail_css_class';
import key_codes from './key_codes';
+import multi_key_command from './multi_key_command';
export default function() {
var key_buffer: number[] = [];
var sidebar: HTMLElement = document.getElementsByClassName(SIDEBAR)[0] as HTMLElement;
- document.addEventListener('keydown', function(e) {
- if (e.keyCode === key_codes.SLASH) {
- key_buffer.push(e.keyCode);
- }
- if (e.keyCode === key_codes.M) {
- key_buffer.push(e.keyCode);
- }
- });
-
- document.addEventListener('keyup', function(e) {
- if (key_buffer.length >= 2) {
- if (key_buffer[0] === key_codes.SLASH
- && key_buffer[1] === key_codes.M) {
- if (sidebar.offsetParent === null) {
- sidebar.style.display = 'block';
- }
- else {
- sidebar.style.display = 'none';
- }
+ multi_key_command(
+ document,
+ [key_codes.SLASH, key_codes.M],
+ function() {
+ if (sidebar.offsetParent === null) {
+ sidebar.style.display = 'block';
+ }
+ else {
+ sidebar.style.display = 'none';
}
- key_buffer = [];
}
- });
+ );
};