diff --git a/app/assets/javascripts/post_tooltips.js.erb b/app/assets/javascripts/post_tooltips.js.erb index a167e97e4..14229c46e 100644 --- a/app/assets/javascripts/post_tooltips.js.erb +++ b/app/assets/javascripts/post_tooltips.js.erb @@ -3,11 +3,20 @@ Danbooru.PostTooltip = {}; Danbooru.PostTooltip.render_tooltip = function (event, qtip) { var post_id = $(event.target).parents("[data-id]").data("id"); - return $.get("/posts/" + post_id, { variant: "tooltip" }).done(function () { + $.get("/posts/" + post_id, { variant: "tooltip" }).then(function (html) { + qtip.set("content.text", html); qtip.elements.tooltip.removeClass("post-tooltip-loading"); }); }; +// Hide the tooltip the first time it is shown, while we wait on the ajax call to complete. +Danbooru.PostTooltip.on_show = function (event, qtip) { + if (!qtip.cache.hasBeenShown) { + qtip.elements.tooltip.addClass("post-tooltip-loading"); + qtip.cache.hasBeenShown = true; + } +}; + Danbooru.PostTooltip.POST_SELECTOR = "*:not(.ui-sortable-handle) > .post-preview img"; // http://qtip2.com/options @@ -40,7 +49,7 @@ Danbooru.PostTooltip.QTIP_OPTIONS = { event: "unfocus mouseleave", }, events: { - show: function (event, qtip) { qtip.elements.tooltip.addClass("post-tooltip-loading"); }, + show: Danbooru.PostTooltip.on_show, }, };