Add namespacing to hotkeys.js.
This commit is contained in:
		
							parent
							
								
									63a3ecfa88
								
							
						
					
					
						commit
						1bff642ca7
					
				
					 2 changed files with 22 additions and 15 deletions
				
			
		|  | @ -1,11 +1,15 @@ | |||
| HOTKEYS = {}; | ||||
| var hotkeys = {}; | ||||
| 
 | ||||
| hotkeys.HOTKEYS = {}; | ||||
| 
 | ||||
| hotkeys.hotkey_identifier = | ||||
| function hotkey_identifier(key, ctrlKey, shiftKey, altKey) | ||||
| { | ||||
|     // Return the string that will represent this hotkey in the dictionary.
 | ||||
|     return key.toLowerCase() + "." + (ctrlKey & 1) + "." + (shiftKey & 1) + "." + (altKey & 1); | ||||
| } | ||||
| 
 | ||||
| hotkeys.hotkey_human = | ||||
| function hotkey_human(key, ctrlKey, shiftKey, altKey) | ||||
| { | ||||
|     // Return the string that will be displayed to the user to represent this hotkey.
 | ||||
|  | @ -18,13 +22,15 @@ function hotkey_human(key, ctrlKey, shiftKey, altKey) | |||
|     return mods + key.toUpperCase(); | ||||
| } | ||||
| 
 | ||||
| hotkeys.register_hotkey = | ||||
| function register_hotkey(key, ctrlKey, shiftKey, altKey, action, description) | ||||
| { | ||||
|     identifier = hotkey_identifier(key, ctrlKey, shiftKey, altKey); | ||||
|     human = hotkey_human(key, ctrlKey, shiftKey, altKey); | ||||
|     HOTKEYS[identifier] = {"action": action, "human": human, "description": description} | ||||
|     identifier = hotkeys.hotkey_identifier(key, ctrlKey, shiftKey, altKey); | ||||
|     human = hotkeys.hotkey_human(key, ctrlKey, shiftKey, altKey); | ||||
|     hotkeys.HOTKEYS[identifier] = {"action": action, "human": human, "description": description} | ||||
| } | ||||
| 
 | ||||
| hotkeys.should_prevent_hotkey = | ||||
| function should_prevent_hotkey(event) | ||||
| { | ||||
|     if (event.target.tagName == "INPUT" && event.target.type == "checkbox") | ||||
|  | @ -37,13 +43,14 @@ function should_prevent_hotkey(event) | |||
|     } | ||||
| } | ||||
| 
 | ||||
| hotkeys.show_all_keybinds = | ||||
| function show_all_keybinds() | ||||
| { | ||||
|     // Display an Alert with a list of all the keybinds.
 | ||||
|     var lines = []; | ||||
|     for (var identifier in HOTKEYS) | ||||
|     for (var identifier in hotkeys.HOTKEYS) | ||||
|     { | ||||
|         var line = HOTKEYS[identifier]["human"] + " :  " + HOTKEYS[identifier]["description"]; | ||||
|         var line = hotkeys.HOTKEYS[identifier]["human"] + " :  " + hotkeys.HOTKEYS[identifier]["description"]; | ||||
|         lines.push(line); | ||||
|     } | ||||
|     lines = lines.join("\n"); | ||||
|  | @ -55,15 +62,15 @@ window.addEventListener( | |||
|     "keydown", | ||||
|     function(event) | ||||
|     { | ||||
|         if (should_prevent_hotkey(event)) { return; } | ||||
|         identifier = hotkey_identifier(event.key, event.ctrlKey, event.shiftKey, event.altKey); | ||||
|         if (hotkeys.should_prevent_hotkey(event)) { return; } | ||||
|         identifier = hotkeys.hotkey_identifier(event.key, event.ctrlKey, event.shiftKey, event.altKey); | ||||
|         console.log(identifier); | ||||
|         if (identifier in HOTKEYS) | ||||
|         if (identifier in hotkeys.HOTKEYS) | ||||
|         { | ||||
|             HOTKEYS[identifier]["action"](); | ||||
|             hotkeys.HOTKEYS[identifier]["action"](); | ||||
|             event.preventDefault(); | ||||
|         } | ||||
|     } | ||||
| ); | ||||
| 
 | ||||
| register_hotkey("/", 0, 0, 0, show_all_keybinds, "Show keybinds."); | ||||
| hotkeys.register_hotkey("/", 0, 0, 0, hotkeys.show_all_keybinds, "Show keybinds."); | ||||
|  |  | |||
|  | @ -317,10 +317,10 @@ photo_clipboard.on_pageload = | |||
| function on_pageload() | ||||
| { | ||||
|     window.addEventListener("storage", photo_clipboard.on_storage_event, false); | ||||
|     register_hotkey("a", 1, 0, 0, photo_clipboard.select_all_photos, "Select all photos."); | ||||
|     register_hotkey("d", 1, 0, 0, photo_clipboard.unselect_all_photos, "Deselect all photos."); | ||||
|     register_hotkey("c", 0, 0, 0, photo_clipboard.clipboard_tray_collapse_toggle, "Toggle clipboard tray."); | ||||
|     register_hotkey("c", 0, 1, 0, photo_clipboard.open_full_clipboard_tab, "Open full clipboard page."); | ||||
|     hotkeys.register_hotkey("a", 1, 0, 0, photo_clipboard.select_all_photos, "Select all photos."); | ||||
|     hotkeys.register_hotkey("d", 1, 0, 0, photo_clipboard.unselect_all_photos, "Deselect all photos."); | ||||
|     hotkeys.register_hotkey("c", 0, 0, 0, photo_clipboard.clipboard_tray_collapse_toggle, "Toggle clipboard tray."); | ||||
|     hotkeys.register_hotkey("c", 0, 1, 0, photo_clipboard.open_full_clipboard_tab, "Open full clipboard page."); | ||||
|     photo_clipboard.load_clipboard(); | ||||
|     photo_clipboard.update_pagestate(); | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue