summaryrefslogtreecommitdiff
path: root/source/features/esc-to-cancel.tsx
diff options
context:
space:
mode:
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
+});