Forráskód Böngészése

feat(web): Allow closing modals with Escape key (#2257)

bo0tzz 2 éve
szülő
commit
5b241f0b64
1 módosított fájl, 8 hozzáadás és 0 törlés
  1. 8 0
      web/src/lib/utils/click-outside.ts

+ 8 - 0
web/src/lib/utils/click-outside.ts

@@ -6,11 +6,19 @@ export function clickOutside(node: Node) {
 		}
 	};
 
+	const handleKey = (event: KeyboardEvent) => {
+		if (event.key == 'Escape') {
+			node.dispatchEvent(new CustomEvent('outclick'));
+		}
+	};
+
 	document.addEventListener('click', handleClick, true);
+	document.addEventListener('keydown', handleKey, true);
 
 	return {
 		destroy() {
 			document.removeEventListener('click', handleClick, true);
+			document.removeEventListener('keydown', handleKey, true);
 		}
 	};
 }