diff options
Diffstat (limited to 'source/features/esc-to-cancel.tsx')
-rw-r--r-- | source/features/esc-to-cancel.tsx | 25 |
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 +}); |