js: add "ctrl+enter to submit form" shortcut.

Press Ctrl+Enter inside any text box to submit the form.
This commit is contained in:
evazion
2019-10-31 00:20:09 -05:00
parent 9cfb753c1b
commit 91fd5e1bff
4 changed files with 23 additions and 25 deletions

View File

@@ -5,6 +5,8 @@ let Shortcuts = {};
Shortcuts.initialize = function() {
Utility.keydown("s", "scroll_down", Shortcuts.nav_scroll_down);
Utility.keydown("w", "scroll_up", Shortcuts.nav_scroll_up);
Utility.keydown("ctrl+return", "submit_form", Shortcuts.submit_form, 'input[type="text"], textarea');
Shortcuts.initialize_data_shortcuts();
}
@@ -42,6 +44,11 @@ Shortcuts.initialize_data_shortcuts = function() {
});
};
Shortcuts.submit_form = function(event) {
$(event.target).parents("form").find('input[type="submit"]').click();
event.preventDefault();
};
Shortcuts.nav_scroll_down = function() {
window.scrollBy(0, $(window).height() * 0.15);
}

View File

@@ -1,4 +1,6 @@
import Post from './posts.js.erb'
import Shortcuts from './shortcuts.js';
import Utility from './utility.js';
import Dropzone from 'dropzone';
import SparkMD5 from 'spark-md5';
@@ -11,7 +13,7 @@ Upload.IQDB_HIGH_SIMILARITY = 65;
Upload.initialize_all = function() {
if ($("#c-uploads,#c-posts").length) {
this.initialize_enter_on_tags();
Utility.keydown("return", "submit", Shortcuts.submit_form, "#upload_tag_string, #post_tag_string");
$("#upload_source").on("change.danbooru", Upload.fetch_data_manual);
$(document).on("click.danbooru", "#fetch-data-manual", Upload.fetch_data_manual);
}
@@ -66,16 +68,6 @@ Upload.validate_upload = function (e) {
}
}
Upload.initialize_enter_on_tags = function() {
var $textarea = $("#upload_tag_string, #post_tag_string");
var $submit = $textarea.parents("form").find('input[type="submit"]');
$textarea.on("keydown.danbooru.submit", null, "return", function(e) {
$submit.click();
e.preventDefault();
});
}
Upload.initialize_similar = function() {
$("#similar-button").on("click.danbooru", function(e) {
e.preventDefault();

View File

@@ -67,9 +67,9 @@ Utility.dialog = function(title, html) {
});
}
Utility.keydown = function(keys, namespace, handler) {
Utility.keydown = function(keys, namespace, handler, selector = document) {
if (CurrentUser.data("enable-post-navigation")) {
$(document).on("keydown.danbooru." + namespace, null, keys, handler);
$(selector).on("keydown.danbooru." + namespace, null, keys, handler);
}
};

View File

@@ -4,31 +4,30 @@
<div class="column-container">
<section class="column column-shrink">
<h2>Listing</h2>
<h2>Global</h2>
<ul>
<li><kbd class="key">a</kbd>, <kbd class="key">⇦</kbd> Previous page</li>
<li><kbd class="key">d</kbd>, <kbd class="key">⇨</kbd> Next page</li>
<li><kbd class="key">q</kbd> Search</li>
<li><kbd class="key">q</kbd> Focus search box</li>
<li><kbd class="key">w</kbd> Scroll up</li>
<li><kbd class="key">s</kbd> Scroll down</li>
<li><kbd class="key">r</kbd> Go to random post</li>
<li><kbd class="key">1</kbd>, <kbd class="key">2</kbd>, <kbd class="key">3</kbd>... Switch tag script</li>
<li><kbd class="key">a</kbd>, <kbd class="key">⇦</kbd> Previous page</li>
<li><kbd class="key">d</kbd>, <kbd class="key"></kbd> Next page</li>
<li><kbd class="key">ctrl</kbd> + <kbd class="key">enter</kbd> Submit form</li>
</ul>
</section>
<section class="column column-shrink">
<h2>Posts</h2>
<ul>
<li><kbd class="key">r</kbd> Go to random post</li>
<li><kbd class="key">1</kbd>, <kbd class="key">2</kbd>, <kbd class="key">3</kbd>... Switch tag script</li>
</ul>
<h2>Post</h2>
<ul>
<li><kbd class="key">n</kbd> New note</li>
<li><kbd class="key">e</kbd> Edit tags</li>
<li><kbd class="key">shift</kbd>+<kbd class="key">e</kbd> Edit tags in dialog window</li>
<li><kbd class="key">shift</kbd>+<kbd class="key">o</kbd> Approve post</li>
<li><kbd class="key">enter</kbd> Submit tag changes</li>
<li><kbd class="key">q</kbd> Search</li>
<li><kbd class="key">w</kbd> Scroll up</li>
<li><kbd class="key">s</kbd> Scroll down</li>
<li><kbd class="key">a</kbd> Previous post</li>
<li><kbd class="key">d</kbd> Next post</li>
<li><kbd class="key">f</kbd> Favorite post</li>
<li><kbd class="key">shift</kbd>+<kbd class="key">f</kbd> Unfavorite post</li>
<li><kbd class="key">g</kbd> Add post to favorite group</li>