summaryrefslogtreecommitdiff
path: root/source/features/esc-to-cancel.tsx
diff options
context:
space:
mode:
authorGravatar Nick Flückiger <nick.flueckiger@renuo.ch> 2020-11-16 00:36:09 +0100
committerGravatar GitHub <noreply@github.com> 2020-11-15 17:36:09 -0600
commitf24c6ee9272bbafa60e9a1f8ae4de070026e81ed (patch)
tree11f5bb54b978a50ca94f470eafd95f01ff0388ff /source/features/esc-to-cancel.tsx
parent6ef2936308676d064d3c72f068aee6c77927bc21 (diff)
downloadrefined-github-f24c6ee9272bbafa60e9a1f8ae4de070026e81ed.tar.gz
refined-github-f24c6ee9272bbafa60e9a1f8ae4de070026e81ed.tar.zst
refined-github-f24c6ee9272bbafa60e9a1f8ae4de070026e81ed.zip
Add `esc-to-cancel` feature (#3701)
Co-authored-by: Federico Brigante <me@fregante.com>
Diffstat (limited to 'source/features/esc-to-cancel.tsx')
-rw-r--r--source/features/esc-to-cancel.tsx25
1 files changed, 25 insertions, 0 deletions
diff --git a/source/features/esc-to-cancel.tsx b/source/features/esc-to-cancel.tsx
new file mode 100644
index 00000000..41ea2ba1
--- /dev/null
+++ b/source/features/esc-to-cancel.tsx
@@ -0,0 +1,25 @@
+import select from 'select-dom';
+import delegate from 'delegate-it';
+
+import features from '.';
+
+function handleEscPress(event: delegate.Event<KeyboardEvent>): void {
+ if (event.key === 'Escape') {
+ select('.js-cancel-issue-edit')!.click();
+
+ event.stopImmediatePropagation();
+ event.preventDefault();
+ }
+}
+
+function init(): void {
+ delegate(document, '#issue_title', 'keydown', handleEscPress);
+}
+
+void features.add(__filebasename, {
+ shortcuts: {
+ esc: 'Cancel editing a conversation title'
+ },
+ awaitDomReady: false,
+ init
+});