diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/index.ts | 6 | ||||
| -rw-r--r-- | src/sidebar.ts | 35 | 
2 files changed, 40 insertions, 1 deletions
| diff --git a/src/index.ts b/src/index.ts index 538d0c4..8ab0071 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,4 +6,8 @@  // ==/UserScript==  import './style'; -import './sidebar'; +import sidebar from './sidebar'; + +window.setTimeout(function() { +	sidebar(); +}, 3000); diff --git a/src/sidebar.ts b/src/sidebar.ts index 4e106e1..05e5d22 100644 --- a/src/sidebar.ts +++ b/src/sidebar.ts @@ -1 +1,36 @@  import { SIDEBAR } from './gmail_css_class'; + +export default function() { +	var key_codes: { [index: string]: number } = { +		SLASH: 220, +		M: 77 +	} + +	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'; +				} +			} +			key_buffer = []; +		} +	}); +}) | 
