View file upload/js/siropu/shoutbox/core.min.js

File size: 8.73Kb
!function(c,b,a,d){XF.SiropuShoutbox=XF.Element.newHandler({options:{lastId:0,refreshInterval:0,loadMore:0,lastActive:0,reverse:false,collapsed:false,timeout:1000,sound:"on"},audio:"",init:function(){if(!this.options.collapsed){this.startRefreshInterval()}if(this.options.sound=="on"){this.loadAudio()}var f=this;var e=this.$target.find(".siropuShoutboxShouts");if(f.options.reverse){e.scrollTop(100000)}c(a).on("shoutbox:sound-on",function(){f.soundOn()});c(a).on("shoutbox:sound-off",function(){f.soundOff()});c(a).on("shoutbox:toggle-reverse",function(k,i){var j=f.options.loadMore;e.html("");f.options.reverse=i;f.options.loadMore=0;f.options.lastId=0;f.refresh(false);setTimeout(function(){f.options.loadMore=j},1000);var h=c(".siropuShoutbox .editorSmilies");if(h.length){h.remove()}});c(a).on("shoutbox:collapse",function(){f.stopRefreshInterval()});c(a).on("shoutbox:expand",function(){if(e.find("> li:not([data-id])").length){f.refresh(false)}f.startRefreshInterval()});c(a).on("shoutbox:submit",function(j){var h=c(this).find('input[name="shout"]');var i=h.val().trim();if(!i){return h.focus()}var k=XF.phrase("siropu_shoutbox_please_wait");if(f.options.timeout>1000){k=XF.phrase("siropu_shoutbox_please_wait_x_seconds")}h.val("").attr("placeholder",k).prop("disabled",true);f.stopRefreshInterval();XF.ajax("POST",XF.canonicalizeUrl("index.php?shoutbox/submit"),{last_id:f.options.lastId,shout:i},function(l){f.update(l);f.startRefreshInterval();f.options.lastActive=l.time;if(l.prune){e.find("li[data-id]").not(e.find('li[data-id="'+l.lastId+'"]')).remove()}},{global:false});setTimeout(function(){h.prop("disabled",false).attr("placeholder",XF.phrase("siropu_shoutbox_placeholder")).focus()},f.options.timeout)});this.$target.on("mouseover mouseout",".siropuShoutboxShouts > li[data-id]",function(){c(this).find('a[data-xf-click="overlay"]').toggle()});var g=false;e.on("scroll",function(){var l=c(this)[0].scrollHeight-c(this).innerHeight();var j=parseInt(c(this).scrollTop());if(f.options.loadMore&&!g&&(!f.options.reverse&&(j==l||j+1==l||j-1==l)||f.options.reverse&&j==0)){g=true;var k=c(this).find("> li:"+(f.options.reverse?"first":"last")).data("id");var i=c('<div class="siropuShoutboxLoadingMoreShouts" />');i.html('<i class="fa fa-cog fa-spin"></i> '+XF.phrase("siropu_shoutbox_loading_more_shouts"));if(f.options.reverse){i.addClass("siropuShoutboxReverse").insertBefore(c(this))}else{i.insertAfter(c(this))}var h=c(this).parents().find(".siropuShoutboxLoadingMoreShouts");setTimeout(function(){h.fadeOut();h.remove()},1000);XF.ajax("POST",XF.canonicalizeUrl("index.php?shoutbox/load-more"),{last_id:k},function(m){if(m.html&&m.html.content){XF.setupHtmlInsert(m.html,function(n,o,p){if(f.options.reverse){e.prepend(n)}else{e.append(n)}})}else{f.options.loadMore=0}g=false})}});c(b).resize(function(){f.adjustContentHeight()});setTimeout(function(){f.adjustContentHeight()},500)},update:function(h,g){var f=this;var e=this.$target.find(".siropuShoutboxShouts");if(h.html&&h.html.content){XF.setupHtmlInsert(h.html,function(i,l,m){var j=c.grep(i,function(n){return e.find('li[data-id="'+c(n).data("id")+'"]').length?false:true});var k=e.find("> li:not([data-id])");if(k.length){k.remove()}if(f.options.reverse){c(j).appendTo(e);c(j).show();e.scrollTop(100000)}else{c(j).hide();c(j).prependTo(e);c(j).slideDown()}if(g===undefined){f.playSound()}})}if(h.lastId){f.setLastId(h.lastId)}if(h.time-f.options.lastActive>=600){f.stopRefreshInterval()}},refresh:function(f){var e=this;XF.ajax("GET",XF.canonicalizeUrl("index.php?shoutbox/refresh"),{last_id:e.options.lastId},function(g){e.update(g,f)},{skipDefault:true,skipDefaultSuccess:true,global:false})},startRefreshInterval:function(){if(this.options.refreshInterval){this.refreshSet=setInterval(c.proxy(this,"refresh"),this.options.refreshInterval)}},stopRefreshInterval:function(){clearInterval(this.refreshSet)},setLastId:function(f,e){this.options.lastId=f;if(this.$target){this.$target.attr("data-last-id",f)}},loadAudio:function(){this.audio=new Audio(XF.config.url.basePath+"styles/default/siropu/shoutbox/new.mp3")},soundOn:function(){this.$target.attr("data-sound","on");this.options.sound="on";if(!this.audio){this.loadAudio()}},soundOff:function(){this.$target.attr("data-sound","off");this.options.sound="off"},playSound:function(){if(this.options.sound=="on"){this.audio.play()}},adjustContentHeight:function(){var i=this.$target;var h=i.find(".siropuShoutboxShouts");var j=c(b).height();var e=i.height();var g=h.height();var f=j-e;if(c("#siropuShoutboxFullPage").length){h.css("height",(g+f)+"px")}}});XF.SiropuShoutboxToggleSound=XF.Click.newHandler({eventNameSpace:"siropuShoutboxToggleSound",options:{},init:function(){},click:function(){var e=c('.siropuShoutbox a[data-xf-click="siropu-shoutbox-toggle-sound"] .fa');if(e.hasClass("fa-volume-up")){c(a).trigger("shoutbox:sound-off");e.removeClass("fa-volume-up").addClass("fa-volume-off");XF.Cookie.set("siropuShoutboxNoSound",true)}else{c(a).trigger("shoutbox:sound-on");e.removeClass("fa-volume-off").addClass("fa-volume-up");XF.Cookie.remove("siropuShoutboxNoSound")}}});XF.SiropuShoutboxToggleDirection=XF.Click.newHandler({eventNameSpace:"SiropuShoutboxToggleDirection",options:{},init:function(){},click:function(){var f=c('.siropuShoutbox a[data-xf-click="siropu-shoutbox-toggle-direction"] .fa');var g=c(".siropuShoutbox form");var e=c(".siropuShoutboxShouts");g.remove();if(f.hasClass("fa-arrow-down")){g.insertAfter(e);f.removeClass("fa-arrow-down").addClass("fa-arrow-up");XF.Cookie.set("siropuShoutboxReverse",1);c(a).trigger("shoutbox:toggle-reverse",true)}else{g.insertBefore(e);f.removeClass("fa-arrow-up").addClass("fa-arrow-down");XF.Cookie.set("siropuShoutboxReverse",0);c(a).trigger("shoutbox:toggle-reverse",false)}g.toggleClass("siropuShoutboxReverse");XF.activate(g)}});XF.SiropuShoutboxToggleVisibility=XF.Click.newHandler({eventNameSpace:"siropuShoutboxToggleVisibility",options:{},init:function(){},click:function(){var e=c('.siropuShoutbox a[data-xf-click="siropu-shoutbox-toggle-visibility"] .fa');if(e.hasClass("fa-minus")){c(a).trigger("shoutbox:collapse");e.removeClass("fa-minus").addClass("fa-plus");XF.Cookie.set("siropuShoutboxCollapsed",true)}else{c(a).trigger("shoutbox:expand");e.removeClass("fa-plus").addClass("fa-minus");XF.Cookie.remove("siropuShoutboxCollapsed")}c(".siropuShoutbox .block-body").toggle()}});XF.SiropuShoutboxEdit=XF.Element.newHandler({options:{},init:function(){this.$target.on("ajax-submit:response",c.proxy(this,"ajaxResponse"))},ajaxResponse:function(g,f){c(".siropuShoutboxShouts > li[data-id="+f.shout_id+"]").find("> span").html(f.shout_message)}});XF.SiropuShoutboxDelete=XF.Element.newHandler({options:{},init:function(){this.$target.on("ajax-submit:response",c.proxy(this,"ajaxResponse"))},ajaxResponse:function(g,f){c(".siropuShoutboxShouts > li[data-id="+f.shout_id+"]").fadeOut()}});XF.SiropuShoutboxSubmit=XF.Element.newHandler({options:{},init:function(){this.$target.on("submit",function(f){f.preventDefault();c(a).trigger("shoutbox:submit")})}});XF.SiropuShoutboxSmilies=XF.Element.newHandler({options:{},init:function(){var e=this.$target.parents("form");this.$target.on("click",function(g){g.preventDefault();var f=e.find(".editorSmilies");if(f.length){f.toggleClass("is-active")}else{f=c('<div class="editorSmilies" />');XF.ajax("GET",XF.canonicalizeUrl("index.php?editor/smilies"),{},function(h){if(h.html){XF.setupHtmlInsert(h.html,function(i){c(f).on("click","img.smilie",function(k){var j=e.find("input");j.val(j.val()+c(this).attr("alt")).focus()});f.html(i).appendTo(e).addClass("is-active")})}})}})}});XF.SiropuShoutboxPopup=XF.Click.newHandler({eventNameSpace:"siropuShoutboxPopup",init:function(){},click:function(f){f.preventDefault();var g;if(g===undefined||g.closed){g=b.open(this.$target.attr("href"),"siropuShoutboxPopup","width=800,height=500")}else{g.focus()}}});XF.SiropuShoutboxTag=XF.Click.newHandler({eventNameSpace:"siropuShoutboxTag",init:function(){},click:function(h){var f=this.$target.parents(".siropuShoutbox").find('input[name="shout"]');var g=f.val();f.val(g+" @"+this.$target.next("a").text()+(g?"":", ")).focus()}});XF.Element.register("siropu-shoutbox","XF.SiropuShoutbox");XF.Element.register("siropu-shoutbox-submit","XF.SiropuShoutboxSubmit");XF.Element.register("siropu-shoutbox-smilies","XF.SiropuShoutboxSmilies");XF.Element.register("siropu-shoutbox-edit-shout","XF.SiropuShoutboxEdit");XF.Element.register("siropu-shoutbox-delete-shout","XF.SiropuShoutboxDelete");XF.Click.register("siropu-shoutbox-popup","XF.SiropuShoutboxPopup");XF.Click.register("siropu-shoutbox-toggle-sound","XF.SiropuShoutboxToggleSound");XF.Click.register("siropu-shoutbox-toggle-direction","XF.SiropuShoutboxToggleDirection");XF.Click.register("siropu-shoutbox-toggle-visibility","XF.SiropuShoutboxToggleVisibility");XF.Click.register("siropu-shoutbox-user-tag","XF.SiropuShoutboxTag")}(jQuery,window,document);