Files
danbooru/app/assets/javascripts/favorite_groups.js
evazion c3fa653fc5 hotkeys: refactor to use .on(), namespaces.
* Use .on() instead of .bind() because bind is deprecated in jquery 3.0.
* Ensure enable-js-navigation is always respected.
* Namespace keybindings so they may be disabled by userscripts with
  e.g. $(document).off("keydown.danbooru") or $(document).off("next_page").
2017-01-24 02:45:55 -06:00

52 lines
1.5 KiB
JavaScript

(function() {
Danbooru.FavoriteGroup = {};
Danbooru.FavoriteGroup.initialize_all = function() {
if ($("#c-posts").length && $("#a-show").length) {
this.initialize_add_to_favgroup_dialog();
Danbooru.keydown("1 2 3 4 5 6 7 8 9 0", "add_to_favgroup", Danbooru.FavoriteGroup.add_to_favgroup);
}
}
Danbooru.FavoriteGroup.initialize_add_to_favgroup_dialog = function() {
$("#add-to-favgroup-dialog").dialog({
autoOpen: false,
width: 500,
buttons: {
"Cancel": function() {
$(this).dialog("close");
}
}
});
var open_favgroup_dialog = function(e) {
if (Danbooru.meta("current-user-id") == "") { // anonymous
return;
}
if ($(".add-to-favgroup").length === 1) {
// If the user only has one favorite group we don't need to ask which group to add the post to.
$(".add-to-favgroup").click();
} else if ($(".add-to-favgroup").length > 1) {
$("#add-to-favgroup-dialog").dialog("open");
}
e.preventDefault();
}
Danbooru.keydown("g", "open_favgroup_dialog", open_favgroup_dialog);
$("#open-favgroup-dialog-link").click(open_favgroup_dialog);
}
Danbooru.FavoriteGroup.add_to_favgroup = function(e) {
var favgroup_index = String.fromCharCode(e.which);
var link = $("#add-to-favgroup-" + favgroup_index + ":visible");
if (link.length) {
link.click();
}
}
})();
$(function() {
Danbooru.FavoriteGroup.initialize_all();
});