Added keyboard shortcuts
This commit is contained in:
		
							parent
							
								
									e9ea6a6a7e
								
							
						
					
					
						commit
						69a911e957
					
				
					 3 changed files with 61 additions and 14 deletions
				
			
		|  | @ -1,3 +1,17 @@ | ||||||
|  | function countdown() { | ||||||
|  |     var timeleft = 3; | ||||||
|  |     var reloadTimer = setInterval(function () { | ||||||
|  |         if (timeleft <= 0) { | ||||||
|  |             document.getElementById("next").innerHTML = 0; | ||||||
|  |             clearInterval(reloadTimer); | ||||||
|  |             window.location.replace('/') | ||||||
|  |         } else { | ||||||
|  |             document.getElementById("next").innerHTML = timeleft; | ||||||
|  |         } | ||||||
|  |         timeleft -= 1; | ||||||
|  |     }, 1000); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| function autoReload() { | function autoReload() { | ||||||
|     document.querySelectorAll('input[type="radio"]').forEach(function (el) { |     document.querySelectorAll('input[type="radio"]').forEach(function (el) { | ||||||
|         el.addEventListener('change', checkForm, { once: true }); |         el.addEventListener('change', checkForm, { once: true }); | ||||||
|  | @ -14,18 +28,4 @@ function autoReload() { | ||||||
|             countdown(); |             countdown(); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 |  | ||||||
|     function countdown() { |  | ||||||
|         var timeleft = 3; |  | ||||||
|         var reloadTimer = setInterval(function () { |  | ||||||
|             if (timeleft <= 0) { |  | ||||||
|                 document.getElementById("next").innerHTML = 0; |  | ||||||
|                 clearInterval(reloadTimer); |  | ||||||
|                 window.location.replace('/') |  | ||||||
|             } else { |  | ||||||
|                 document.getElementById("next").innerHTML = timeleft; |  | ||||||
|             } |  | ||||||
|             timeleft -= 1; |  | ||||||
|         }, 1000); |  | ||||||
|     } |  | ||||||
| } | } | ||||||
							
								
								
									
										45
									
								
								static/js/shortcut.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								static/js/shortcut.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | ||||||
|  | var checkedGroups = 0; | ||||||
|  | 
 | ||||||
|  | function monitorRadio() { | ||||||
|  |     document.querySelectorAll('input[type="radio"]').forEach(function (el) { | ||||||
|  |         el.addEventListener('change', incCounter, { once: true }); | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | function incCounter() { | ||||||
|  |     checkedGroups++; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | function checkCount() { | ||||||
|  |     if (checkedGroups === 5) { | ||||||
|  |         countdown(); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | window.addEventListener("keydown", function (event) { | ||||||
|  |     if (event.defaultPrevented) { | ||||||
|  |         return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     checkCount(); | ||||||
|  | 
 | ||||||
|  |     switch (event.key) { | ||||||
|  |         case "a": | ||||||
|  |             checkedGroups++; | ||||||
|  |             getid = 'a'+checkedGroups; | ||||||
|  |             document.getElementById(getid).checked = true; | ||||||
|  |             checkCount(); | ||||||
|  |             break; | ||||||
|  |         case "b": | ||||||
|  |             checkedGroups++; | ||||||
|  |             getid = 'b'+checkedGroups; | ||||||
|  |             document.getElementById(getid).checked = true; | ||||||
|  |             checkCount(); | ||||||
|  |             break; | ||||||
|  |         default: | ||||||
|  |             checkCount(); | ||||||
|  |             return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     event.preventDefault(); | ||||||
|  | }, true); | ||||||
|  | @ -9,6 +9,7 @@ | ||||||
|     <title>{{ title }}</title> |     <title>{{ title }}</title> | ||||||
|     <script type="text/javascript" src="/js/toggle.js?t={{ epoch }}"></script> |     <script type="text/javascript" src="/js/toggle.js?t={{ epoch }}"></script> | ||||||
|     <script type="text/javascript" src="/js/autoReload.js?t={{ epoch }}"></script> |     <script type="text/javascript" src="/js/autoReload.js?t={{ epoch }}"></script> | ||||||
|  |     <script type="text/javascript" src="/js/shortcut.js?t={{ epoch }}"></script> | ||||||
|     <link rel="stylesheet" type="text/css" href="/css/base.css?t={{ epoch }}"> |     <link rel="stylesheet" type="text/css" href="/css/base.css?t={{ epoch }}"> | ||||||
|     <link rel="stylesheet" type="text/css" href="/css/colors.css?t={{ epoch }}"> |     <link rel="stylesheet" type="text/css" href="/css/colors.css?t={{ epoch }}"> | ||||||
|     <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}"> |     <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}"> | ||||||
|  | @ -38,6 +39,7 @@ | ||||||
|     <script type="text/javascript"> |     <script type="text/javascript"> | ||||||
|         initToggle(); |         initToggle(); | ||||||
|         autoReload(); |         autoReload(); | ||||||
|  |         monitorRadio(); | ||||||
|     </script> |     </script> | ||||||
| </body> | </body> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue