From 3bed5f3cf977912f32c6cffc03b6ff399e001916 Mon Sep 17 00:00:00 2001 From: evazion Date: Tue, 4 Sep 2018 11:58:09 -0500 Subject: [PATCH] Fix #3867: Add namespaces to all Javascript events. --- .../src/javascripts/artist_commentaries.js | 6 +-- app/javascript/src/javascripts/artists.js | 2 +- .../src/javascripts/autocomplete.js.erb | 2 +- app/javascript/src/javascripts/blacklists.js | 6 +-- app/javascript/src/javascripts/comments.js | 6 +-- app/javascript/src/javascripts/common.js | 10 ++-- app/javascript/src/javascripts/dtext.js | 4 +- .../src/javascripts/favorite_groups.js | 20 +++---- app/javascript/src/javascripts/forum_posts.js | 4 +- .../src/javascripts/janitor_trials.js | 2 +- app/javascript/src/javascripts/mod_queue.js | 2 +- .../src/javascripts/news_updates.js | 2 +- app/javascript/src/javascripts/notes.js | 38 +++++++------- app/javascript/src/javascripts/pools.js | 4 +- .../src/javascripts/post_appeals.js | 2 +- app/javascript/src/javascripts/post_flags.js | 2 +- .../src/javascripts/post_mode_menu.js | 8 +-- .../src/javascripts/post_tooltips.js | 14 ++--- app/javascript/src/javascripts/posts.js.erb | 34 ++++++------ .../src/javascripts/related_tag.js.erb | 10 ++-- app/javascript/src/javascripts/responsive.js | 2 +- app/javascript/src/javascripts/ugoira.js | 8 +-- app/javascript/src/javascripts/uploads.js | 52 ++++++++++--------- 23 files changed, 121 insertions(+), 119 deletions(-) diff --git a/app/javascript/src/javascripts/artist_commentaries.js b/app/javascript/src/javascripts/artist_commentaries.js index 06f99fc70..5cba24653 100644 --- a/app/javascript/src/javascripts/artist_commentaries.js +++ b/app/javascript/src/javascripts/artist_commentaries.js @@ -13,7 +13,7 @@ ArtistCommentary.initialize_all = function() { } ArtistCommentary.initialize_commentary_display_tabs = function() { - $("#commentary-sections li a").click(function(e) { + $("#commentary-sections li a").on("click.danbooru", function(e) { if (e.target.hash === "#original") { $("#original-artist-commentary").show(); $("#translated-artist-commentary").hide(); @@ -47,7 +47,7 @@ ArtistCommentary.initialize_edit_commentary_dialog = function() { $('#add-commentary-dialog').dialog('close'); }); - $("#add-commentary").click(function(e) { + $("#add-commentary").on("click.danbooru", function(e) { e.preventDefault(); $("#add-commentary-dialog").dialog("open"); }); @@ -56,7 +56,7 @@ ArtistCommentary.initialize_edit_commentary_dialog = function() { $("#fetch-commentary input").toggle(); }); - $('#fetch-commentary button[type="submit"]').click(ArtistCommentary.fetch_commentary); + $('#fetch-commentary button[type="submit"]').on("click.danbooru", ArtistCommentary.fetch_commentary); } ArtistCommentary.fetch_commentary = function() { diff --git a/app/javascript/src/javascripts/artists.js b/app/javascript/src/javascripts/artists.js index 8024cf9bf..fd5f41336 100644 --- a/app/javascript/src/javascripts/artists.js +++ b/app/javascript/src/javascripts/artists.js @@ -7,7 +7,7 @@ Artist.initialize_all = function() { } Artist.initialize_check_name = function() { - $("#artist_name").keyup(function(e) { + $("#artist_name").on("keyup.danbooru", function(e) { if ($("#artist_name").val().length > 0) { $("#check-name-result").html(""); diff --git a/app/javascript/src/javascripts/autocomplete.js.erb b/app/javascript/src/javascripts/autocomplete.js.erb index 97df81127..e5e5b3b19 100644 --- a/app/javascript/src/javascripts/autocomplete.js.erb +++ b/app/javascript/src/javascripts/autocomplete.js.erb @@ -343,7 +343,7 @@ Autocomplete.render_item = function(list, item) { var $link = $(""); $link.text(item.label); $link.attr("href", "/posts?tags=" + encodeURIComponent(item.value)); - $link.click(function(e) { + $link.on("click.danbooru", function(e) { e.preventDefault(); }); diff --git a/app/javascript/src/javascripts/blacklists.js b/app/javascript/src/javascripts/blacklists.js index a1e238e65..7bd98408c 100644 --- a/app/javascript/src/javascripts/blacklists.js +++ b/app/javascript/src/javascripts/blacklists.js @@ -71,7 +71,7 @@ Blacklist.update_sidebar = function() { link.text(entry.tags); link.attr("href", `/posts?tags=${encodeURIComponent(entry.tags)}`); link.attr("title", entry.tags); - link.click(Blacklist.toggle_entry); + link.on("click.danbooru", Blacklist.toggle_entry); count.html(entry.hits); count.addClass("count"); item.append(link); @@ -93,7 +93,7 @@ Blacklist.initialize_disable_all_blacklists = function() { $("#disable-all-blacklists").show() } - $("#disable-all-blacklists").click(function(e) { + $("#disable-all-blacklists").on("click.danbooru", function(e) { $("#disable-all-blacklists").hide(); $("#re-enable-all-blacklists").show(); Cookie.put("dab", "1"); @@ -101,7 +101,7 @@ Blacklist.initialize_disable_all_blacklists = function() { e.preventDefault(); }); - $("#re-enable-all-blacklists").click(function(e) { + $("#re-enable-all-blacklists").on("click.danbooru", function(e) { $("#disable-all-blacklists").show(); $("#re-enable-all-blacklists").hide(); Cookie.put("dab", "0"); diff --git a/app/javascript/src/javascripts/comments.js b/app/javascript/src/javascripts/comments.js index 61abb39a2..7038cbf0b 100644 --- a/app/javascript/src/javascripts/comments.js +++ b/app/javascript/src/javascripts/comments.js @@ -4,9 +4,9 @@ let Comment = {}; Comment.initialize_all = function() { if ($("#c-posts").length || $("#c-comments").length) { - $(document).on("click", ".reply-link", Comment.quote); - $(document).on("click", ".edit_comment_link", Comment.show_edit_form); - $(document).on("click", ".expand-comment-response", Comment.show_new_comment_form); + $(document).on("click.danbooru.comment", ".reply-link", Comment.quote); + $(document).on("click.danbooru.comment", ".edit_comment_link", Comment.show_edit_form); + $(document).on("click.danbooru.comment", ".expand-comment-response", Comment.show_new_comment_form); } $(window).on("danbooru:index_for_post", (_event, post_id, current_comment_section) => { diff --git a/app/javascript/src/javascripts/common.js b/app/javascript/src/javascripts/common.js index 9c5a3b900..89831b0e5 100644 --- a/app/javascript/src/javascripts/common.js +++ b/app/javascript/src/javascripts/common.js @@ -3,19 +3,19 @@ import Utility from './utility' $(function() { // Account notices - $("#hide-sign-up-notice").click(function(e) { + $("#hide-sign-up-notice").on("click.danbooru", function(e) { $("#sign-up-notice").hide(); Cookie.put("hide_sign_up_notice", "1", 7); e.preventDefault(); }); - $("#hide-upgrade-account-notice").click(function(e) { + $("#hide-upgrade-account-notice").on("click.danbooru", function(e) { $("#upgrade-account-notice").hide(); Cookie.put('hide_upgrade_account_notice', '1', 7); e.preventDefault(); }); - $("#hide-dmail-notice").click(function(e) { + $("#hide-dmail-notice").on("click.danbooru", function(e) { var $dmail_notice = $("#dmail-notice"); $dmail_notice.hide(); var dmail_id = $dmail_notice.data("id"); @@ -23,12 +23,12 @@ $(function() { e.preventDefault(); }); - $("#close-notice-link").click(function(e) { + $("#close-notice-link").on("click.danbooru", function(e) { $('#notice').fadeOut("fast"); e.preventDefault(); }); - $("#desktop-version-link a").click(function(e) { + $("#desktop-version-link a").on("click.danbooru", function(e) { e.preventDefault(); $.ajax("/users/" + Utility.meta("current-user-id") + ".json", { method: "PUT", diff --git a/app/javascript/src/javascripts/dtext.js b/app/javascript/src/javascripts/dtext.js index e990c1758..e9a633f42 100644 --- a/app/javascript/src/javascripts/dtext.js +++ b/app/javascript/src/javascripts/dtext.js @@ -6,12 +6,12 @@ Dtext.initialize_all = function() { } Dtext.initialize_links = function() { - $(".simple_form input[value=Preview]").click(Dtext.click_button); + $(".simple_form input[value=Preview]").on("click.danbooru", Dtext.click_button); } Dtext.initialize_expandables = function($parent) { $parent = $parent || $(document); - $parent.find(".expandable-button").click(function(e) { + $parent.find(".expandable-button").on("click.danbooru", function(e) { var button = $(this); button.parent().next().fadeToggle("fast"); if (button.val() === "Show") { diff --git a/app/javascript/src/javascripts/favorite_groups.js b/app/javascript/src/javascripts/favorite_groups.js index 3aa7b6153..1e5ac7954 100644 --- a/app/javascript/src/javascripts/favorite_groups.js +++ b/app/javascript/src/javascripts/favorite_groups.js @@ -17,17 +17,17 @@ FavoriteGroup.initialize_add_to_favgroup_dialog = function() { } }); - var open_favgroup_dialog = function(e) { - 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(); - } + $("#open-favgroup-dialog-link").on("click.danbooru", FavoriteGroup.open_favgroup_dialog); +} - $("#open-favgroup-dialog-link").click(open_favgroup_dialog); +FavoriteGroup.open_favgroup_dialog = function(e) { + 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(); } $(function() { diff --git a/app/javascript/src/javascripts/forum_posts.js b/app/javascript/src/javascripts/forum_posts.js index dce3ef8c0..ab49758d7 100644 --- a/app/javascript/src/javascripts/forum_posts.js +++ b/app/javascript/src/javascripts/forum_posts.js @@ -7,14 +7,14 @@ ForumPost.initialize_all = function() { } ForumPost.initialize_edit_links = function() { - $(".edit_forum_post_link").click(function(e) { + $(".edit_forum_post_link").on("click.danbooru", function(e) { var link_id = $(this).attr("id"); var forum_post_id = link_id.match(/^edit_forum_post_link_(\d+)$/)[1]; $("#edit_forum_post_" + forum_post_id).fadeToggle("fast"); e.preventDefault(); }); - $(".edit_forum_topic_link").click(function(e) { + $(".edit_forum_topic_link").on("click.danbooru", function(e) { var link_id = $(this).attr("id"); var forum_topic_id = link_id.match(/^edit_forum_topic_link_(\d+)$/)[1]; $("#edit_forum_topic_" + forum_topic_id).fadeToggle("fast"); diff --git a/app/javascript/src/javascripts/janitor_trials.js b/app/javascript/src/javascripts/janitor_trials.js index 96186ecc0..0976e7652 100644 --- a/app/javascript/src/javascripts/janitor_trials.js +++ b/app/javascript/src/javascripts/janitor_trials.js @@ -2,7 +2,7 @@ let JanitorTrials = {}; JanitorTrials.initialize_all = function() { if ($("#c-janitor-trials").length) { - $("input[value=Test]").click(function(e) { + $("input[value=Test]").on("click.danbooru", function(e) { $.ajax({ type: "get", url: "/janitor_trials/test.json", diff --git a/app/javascript/src/javascripts/mod_queue.js b/app/javascript/src/javascripts/mod_queue.js index 3752b806c..14bc00682 100644 --- a/app/javascript/src/javascripts/mod_queue.js +++ b/app/javascript/src/javascripts/mod_queue.js @@ -31,7 +31,7 @@ ModQueue.initialize_hilights = function() { } ModQueue.initialize_detailed_rejection_links = function() { - $(".detailed-rejection-link").click(ModQueue.detailed_rejection_dialog) + $(".detailed-rejection-link").on("click.danbooru", ModQueue.detailed_rejection_dialog) } ModQueue.detailed_rejection_dialog = function() { diff --git a/app/javascript/src/javascripts/news_updates.js b/app/javascript/src/javascripts/news_updates.js index 8a5027b29..60f90f557 100644 --- a/app/javascript/src/javascripts/news_updates.js +++ b/app/javascript/src/javascripts/news_updates.js @@ -10,7 +10,7 @@ NewsUpdate.initialize = function() { } else { $("#news-updates").show(); - $("#close-news-ticker-link").click(function(e) { + $("#close-news-ticker-link").on("click.danbooru", function(e) { $("#news-updates").hide(); Cookie.put("news-ticker", key); diff --git a/app/javascript/src/javascripts/notes.js b/app/javascript/src/javascripts/notes.js index 7e42aba87..b4a026572 100644 --- a/app/javascript/src/javascripts/notes.js +++ b/app/javascript/src/javascripts/notes.js @@ -65,7 +65,7 @@ let Note = { bind_events: function($note_box) { $note_box.on( - "dragstart resizestart", + "dragstart.danbooru resizestart.danbooru", function(e) { var $note_box_inner = $(e.currentTarget); $note_box_inner.find(".note-box-inner-border").addClass("unsaved"); @@ -82,7 +82,7 @@ let Note = { } ); - $note_box.resize( + $note_box.on("resize.danbooru", function(e) { var $note_box_inner = $(e.currentTarget); Note.Box.resize_inner_border($note_box_inner); @@ -91,7 +91,7 @@ let Note = { ); $note_box.on( - "dragstop resizestop", + "dragstop.danbooru resizestop.danbooru", function(e) { Note.dragging = false; if (Note.embed) { @@ -107,7 +107,7 @@ let Note = { ); $note_box.on( - "mouseover mouseout", + "mouseover.danbooru mouseout.danbooru", function(e) { if (Note.dragging) { return; @@ -334,20 +334,20 @@ let Note = { }, bind_events: function($note_body) { - $note_body.mouseover(function(e) { + $note_body.on("mouseover.danbooru", function(e) { var $note_body_inner = $(e.currentTarget); Note.Body.show($note_body_inner.data("id")); e.stopPropagation(); }); - $note_body.mouseout(function(e) { + $note_body.on("mouseout.danbooru", function(e) { var $note_body_inner = $(e.currentTarget); Note.Body.hide($note_body_inner.data("id")); e.stopPropagation(); }); if (Utility.meta("current-user-name") !== "Anonymous") { - $note_body.click(function(e) { + $note_body.on("click.danbooru", function(e) { if (e.target.tagName !== "A") { var $note_body_inner = $(e.currentTarget); Note.Edit.show($note_body_inner); @@ -355,7 +355,7 @@ let Note = { e.stopPropagation(); }); } else { - $note_body.click(function(e) { + $note_body.on("click.danbooru", function(e) { if (e.target.tagName !== "A") { Utility.notice("You must be logged in to edit notes"); } @@ -419,7 +419,7 @@ let Note = { } $dialog.dialog("option", "title", 'Edit note #' + id + ' (view help)'); - $dialog.on("dialogclose", function() { + $dialog.on("dialogclose.danbooru", function() { Note.editing = false; $(".note-box").resizable("enable"); $(".note-box").draggable("enable"); @@ -585,12 +585,12 @@ let Note = { $(document.body).addClass("mode-translation"); $("#original-file-link").click(); $("#image").off("click", Note.Box.toggle_all); - $("#image").mousedown(Note.TranslationMode.Drag.start); - $(window).mouseup(Note.TranslationMode.Drag.stop); + $("#image").on("mousedown.danbooru.note", Note.TranslationMode.Drag.start); + $(document).on("mouseup.danbooru.note", Note.TranslationMode.Drag.stop); $("#mark-as-translated-section").show(); Utility.notice('Translation mode is on. Drag on the image to create notes. Turn translation mode off (shortcut is n).'); - $("#notice a:contains(Turn translation mode off)").click(Note.TranslationMode.stop); + $("#notice a:contains(Turn translation mode off)").on("click.danbooru", Note.TranslationMode.stop); }, stop: function(e) { @@ -598,9 +598,9 @@ let Note = { Note.TranslationMode.active = false; $("#image").css("cursor", "auto"); - $("#image").click(Note.Box.toggle_all); + $("#image").on("click.danbooru", Note.Box.toggle_all); $("#image").off("mousedown", Note.TranslationMode.Drag.start); - $(window).off("mouseup", Note.TranslationMode.Drag.stop); + $(document).off("mouseup", Note.TranslationMode.Drag.stop); $(document.body).removeClass("mode-translation"); $("#close-notice-link").click(); $("#mark-as-translated-section").hide(); @@ -639,7 +639,7 @@ let Note = { return; } e.preventDefault(); /* don't drag the image */ - $(window).mousemove(Note.TranslationMode.Drag.drag); + $(document).on("mousemove.danbooru", Note.TranslationMode.Drag.drag); Note.TranslationMode.Drag.dragStartX = e.pageX; Note.TranslationMode.Drag.dragStartY = e.pageY; }, @@ -703,7 +703,7 @@ let Note = { if (Note.TranslationMode.Drag.dragStartX === 0) { return; /* 'stop' is bound to window, don't create note if start wasn't triggered */ } - $(window).off("mousemove"); + $(document).off("mousemove", Note.TranslationMode.Drag.drag); if (Note.TranslationMode.Drag.dragging) { $('#note-preview').css({ display: 'none' }); @@ -802,12 +802,12 @@ let Note = { this.initialize_shortcuts(); this.initialize_highlight(); - $(window).on("hashchange", this.initialize_highlight); + $(document).on("hashchange.danbooru.note", this.initialize_highlight); }, initialize_shortcuts: function() { - $("#translate").click(Note.TranslationMode.toggle); - $("#image").click(Note.Box.toggle_all); + $("#translate").on("click.danbooru", Note.TranslationMode.toggle); + $("#image").on("click.danbooru", Note.Box.toggle_all); }, initialize_highlight: function() { diff --git a/app/javascript/src/javascripts/pools.js b/app/javascript/src/javascripts/pools.js index 8e9cd5209..6422c625c 100644 --- a/app/javascript/src/javascripts/pools.js +++ b/app/javascript/src/javascripts/pools.js @@ -13,12 +13,12 @@ Pool.initialize_all = function() { Pool.initialize_add_to_pool_link = function() { $("#add-to-pool-dialog").dialog({autoOpen: false}); - $("#pool").click(function(e) { + $("#pool").on("click.danbooru", function(e) { e.preventDefault(); $("#add-to-pool-dialog").dialog("open"); }); - $("#recent-pools li").click(function(e) { + $("#recent-pools li").on("click.danbooru", function(e) { e.preventDefault(); $("#pool_name").val($(this).attr("data-value")); }); diff --git a/app/javascript/src/javascripts/post_appeals.js b/app/javascript/src/javascripts/post_appeals.js index 0e5134ab6..814c18343 100644 --- a/app/javascript/src/javascripts/post_appeals.js +++ b/app/javascript/src/javascripts/post_appeals.js @@ -22,7 +22,7 @@ PostAppeal.initialize_appeal = function() { } }); - $("#appeal").click(function(e) { + $("#appeal").on("click.danbooru", function(e) { e.preventDefault(); $("#appeal-dialog").dialog("open"); }); diff --git a/app/javascript/src/javascripts/post_flags.js b/app/javascript/src/javascripts/post_flags.js index 3dbd8e361..27f4d56d3 100644 --- a/app/javascript/src/javascripts/post_flags.js +++ b/app/javascript/src/javascripts/post_flags.js @@ -26,7 +26,7 @@ PostFlag.initialize_flag = function() { $('#flag-dialog').dialog('close'); }); - $("#flag").click(function(e) { + $("#flag").on("click.danbooru", function(e) { e.preventDefault(); $("#flag-dialog").dialog("open"); }); diff --git a/app/javascript/src/javascripts/post_mode_menu.js b/app/javascript/src/javascripts/post_mode_menu.js index 4f86aab83..f98732605 100644 --- a/app/javascript/src/javascripts/post_mode_menu.js +++ b/app/javascript/src/javascripts/post_mode_menu.js @@ -49,24 +49,24 @@ PostModeMenu.initialize_selector = function() { $("#mode-box select").val(Cookie.get("mode")); } - $("#mode-box select").change(function(e) { + $("#mode-box select").on("change.danbooru", function(e) { PostModeMenu.change(); $("#tag-script-field:visible").focus().select(); }); } PostModeMenu.initialize_preview_link = function() { - $(".post-preview a").click(PostModeMenu.click); + $(".post-preview a").on("click.danbooru", PostModeMenu.click); } PostModeMenu.initialize_edit_form = function() { $("#quick-edit-div").hide(); - $("#quick-edit-form input[value=Cancel]").click(function(e) { + $("#quick-edit-form input[value=Cancel]").on("click.danbooru", function(e) { PostModeMenu.close_edit_form(); e.preventDefault(); }); - $("#quick-edit-form").submit(function(e) { + $("#quick-edit-form").on("submit.danbooru", function(e) { $.ajax({ type: "put", url: $("#quick-edit-form").attr("action"), diff --git a/app/javascript/src/javascripts/post_tooltips.js b/app/javascript/src/javascripts/post_tooltips.js index 8f677bfe1..883cffe31 100644 --- a/app/javascript/src/javascripts/post_tooltips.js +++ b/app/javascript/src/javascripts/post_tooltips.js @@ -63,7 +63,7 @@ PostTooltip.QTIP_OPTIONS = { }; PostTooltip.initialize = function () { - $(document).on("mouseenter", PostTooltip.POST_SELECTOR, function (event) { + $(document).on("mouseenter.danbooru.postTooltip", PostTooltip.POST_SELECTOR, function (event) { if (PostTooltip.disabled()) { $(this).qtip("disable"); } else { @@ -73,20 +73,20 @@ PostTooltip.initialize = function () { PostTooltip.lostFocus = false; }); - $(document).on("mouseleave", PostTooltip.POST_SELECTOR, function (event) { + $(document).on("mouseleave.danbooru.postTooltip", PostTooltip.POST_SELECTOR, function (event) { PostTooltip.lostFocus = true; }); - $(document).on("click", ".post-tooltip-disable", PostTooltip.on_disable_tooltips); + $(document).on("click.danbooru.postTooltip", ".post-tooltip-disable", PostTooltip.on_disable_tooltips); // Hide tooltips when pressing keys or clicking thumbnails. - $(document).on("keydown", PostTooltip.hide); - $(document).on("click", PostTooltip.POST_SELECTOR, PostTooltip.hide); + $(document).on("keydown.danbooru.postTooltip", PostTooltip.hide); + $(document).on("click.danbooru.postTooltip", PostTooltip.POST_SELECTOR, PostTooltip.hide); // Disable tooltips on touch devices. https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Supporting_both_TouchEvent_and_MouseEvent PostTooltip.isTouching = false; - $(document).on("touchstart", function (event) { PostTooltip.isTouching = true; }); - $(document).on("touchend", function (event) { PostTooltip.isTouching = false; }); + $(document).on("touchstart.danbooru.postTooltip", function (event) { PostTooltip.isTouching = true; }); + $(document).on("touchend.danbooru.postTooltip", function (event) { PostTooltip.isTouching = false; }); }; PostTooltip.hide = function (event) { diff --git a/app/javascript/src/javascripts/posts.js.erb b/app/javascript/src/javascripts/posts.js.erb index 89f6e4d26..7d617b8b1 100644 --- a/app/javascript/src/javascripts/posts.js.erb +++ b/app/javascript/src/javascripts/posts.js.erb @@ -82,12 +82,12 @@ Post.initialize_gestures = function() { } Post.initialize_edit_dialog = function() { - $("#open-edit-dialog").button().show().click(function(e) { + $("#open-edit-dialog").button().show().on("click.danbooru", function(e) { Post.open_edit_dialog(); e.preventDefault(); }); - $("#toggle-related-tags-link").click(function(e) { + $("#toggle-related-tags-link").on("click.danbooru", function(e) { RelatedTag.toggle(); e.preventDefault(); }); @@ -133,7 +133,7 @@ Post.open_edit_dialog = function() { var pin_button = $("