-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcomment-reactions.min.js
1 lines (1 loc) · 3.25 KB
/
comment-reactions.min.js
1
jQuery(function(e){function a(e,a,t){var n="";if(t){var r=new Date;r.setTime(r.getTime()+24*t*60*60*1e3),n="; expires="+r.toGMTString()}document.cookie=e+"="+a+n+"; path=/"}function t(e){for(var a=e+"=",t=document.cookie.split(";"),n=0;n<t.length;n++){for(var r=t[n];" "==r.charAt(0);)r=r.substring(1,r.length);if(0===r.indexOf(a))return r.substring(a.length,r.length)}return null}function n(){if(u)return u;var e={},a=t("creactions");if(null===a)return{};for(var n=a.split(","),r=0;r<n.length;r++){var i=n[r];if(i.length){var s=i.split(":"),o=s[0],c=s[1].split(".");""===c[0]&&(c=[]),e[o]=c}}return u=e,e}function r(e){var a=[];for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];"undefined"!=typeof n&&a.push(t+":"+n.join("."))}return a.join(",")}function i(t,i){var s=n();"undefined"!=typeof s[t]?e.inArray(i,s[t])<0&&s[t].push(i):s[t]=[i],a("creactions",r(s),Comment_Reactions.cookie_days),u=s}function s(t,i){var s=n();"undefined"!=typeof s[t]&&e.inArray(i,s[t])>=0&&s[t].splice(e.inArray(i,s[t]),1),a("creactions",r(s),Comment_Reactions.cookie_days),u=s}function o(e,a){var t,n=parseInt(e.find(".reactions-count .reactions-num").html(),10);t=0>a?n-1:"+1"===a?n+1:a,e.find(".reactions-count .reactions-num").html(t),1>t&&!e.hasClass("reaction-always-visible")&&e.remove(),0===t?e.find(".reactions-count").hide():e.find(".reactions-count").show()}function c(){e("#reactions_all .reaction").click(function(){var a=e(this),t=a.parents(".reactions"),n=t.children(".reaction-"+a.data("reaction"));if(n.length<=0){var r=a.clone();a.parents("#reactions_all").parent().prev().after(r),r.click(l),n=r}a.parents("#reactions_all").hide(),n.click()})}function l(){var a=e(this);if(!a.hasClass("reacting")){a.addClass("reacting");var t=a.parents(".reactions").data("comment_id"),n=a.data("reaction"),r=a.hasClass("reacted")?-1:"+1";o(a,r),"+1"==r?i(t,n):s(t,n),jQuery.ajax(Comment_Reactions.rest_url+"/comment/"+t,{type:"POST",data:{reaction:n,action:"+1"==r?"react":"revert"},complete:function(e){a.removeClass("reacting"),e.responseJSON.count&&o(a,e.responseJSON.count)}}),a.toggleClass("reacted"),a.attr("aria-pressed",a.hasClass("reacted")?"true":"false")}}function d(a){!e(".show_all_reactions.reacted").length||a&&a[0]==e(".show_all_reactions.reacted")[0]||(e(".show_all_reactions.reacted").removeClass("reaction reacted").attr("aria-pressed","false"),e("#reactions_all").hide())}var u=null;e(document).keydown(function(e){27==e.keyCode&&d()}),e(".reactions .show_all_reactions").click(function(){var a=e(this);d(a);var t=e("#reactions_all"),n=!1;if(t.length<=0){all_reactions=Comment_Reactions.all_reactions,_.templateSettings.variable="reaction";var r=_.template(e("#reaction_template").html()),i=[];_.each(all_reactions,function(e){i.push(r(e))});var s=i.join(""),o='<div id="reactions_all" style="display:none;z-index:99">'+s+"</div>";t=e(o),n=!0}a.after(t),n&&c(),a.toggleClass("reaction reacted"),a.attr("aria-pressed",a.hasClass("reacted")?"true":"false"),a.attr("aria-expanded",a.hasClass("reacted")?"true":"false"),e("#reactions_all").toggle()}),e(".reactions .reaction").click(l),e(".reactions .reaction").each(function(){var a=n(),t=e(this).parents(".reactions").data("comment_id"),r=e(this).data("reaction");"undefined"!=a[t]&&e.inArray(r,a[t])>=0&&(e(this).addClass("reacted"),e(this).attr("aria-pressed","true"))})});