summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--readme.md1
-rw-r--r--source/features/esc-to-cancel.tsx25
-rw-r--r--source/refined-github.ts1
3 files changed, 27 insertions, 0 deletions
diff --git a/readme.md b/readme.md
index c40565d5..82ca6dbf 100644
--- a/readme.md
+++ b/readme.md
@@ -182,6 +182,7 @@ Thanks for contributing! 🦋🙌
- [](# "remove-label-faster") [Adds one-click buttons to remove labels in conversations.](https://user-images.githubusercontent.com/36174850/89980178-0bc80480-dc7a-11ea-8ded-9e25f5f13d1a.gif)
- [](# "clean-conversation-headers") [Removes duplicate information in conversation headers.](https://user-images.githubusercontent.com/44045911/89736767-686ec800-da9e-11ea-81c3-252e9813140b.png)
- [](# "dim-bots") [Dims commits and PRs by bots to reduce noise.](https://user-images.githubusercontent.com/1402241/65263190-44c52b00-db36-11e9-9b33-d275d3c8479d.gif)
+- [](# "esc-to-cancel") [Adds a shortcut to cancel editing a conversation title: <kbd>esc</kbd>.](https://user-images.githubusercontent.com/35100156/98303086-d81d2200-1fbd-11eb-8529-70d48d889bcf.gif)
<!-- Refer to style guide above. Keep this message between sections. -->
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
+});
diff --git a/source/refined-github.ts b/source/refined-github.ts
index b50d8c44..f9f53820 100644
--- a/source/refined-github.ts
+++ b/source/refined-github.ts
@@ -202,6 +202,7 @@ import './features/git-checkout-pr';
import './features/unfinished-comments';
import './features/single-diff-column-selection';
import './features/jump-to-change-requested-comment';
+import './features/esc-to-cancel';
// Add global for easier debugging
(window as any).select = select;