Seditio Source
Root |
./othercms/xenForo 2.2.8/js/xf/core/action.min.js
'use strict';!function(e,l,m,u){XF.AttributionClick=XF.Event.newHandler({eventType:"click",eventNameSpace:"XFAttributionClick",options:{contentSelector:null},init:function(){},click:function(a){var b=this.options.contentSelector,c=e(b);c.length&&(a.preventDefault(),XF.smoothScroll(c,b,XF.config.speed.normal))}});XF.LikeClick=XF.Event.newHandler({eventType:"click",eventNameSpace:"XFLikeClick",options:{likeList:null,container:null},processing:!1,container:null,init:function(){this.options.container&&
(this.$container=XF.findRelativeIf(this.options.container,this.$target))},click:function(a){a.preventDefault();if(!this.processing){this.processing=!0;a=this.$target.attr("href");var b=this;XF.ajax("POST",a,{},XF.proxy(this,"handleAjax"),{skipDefaultSuccess:!0}).always(function(){setTimeout(function(){b.processing=!1},250)})}},handleAjax:function(a){var b=this.$target;b.trigger("xf-"+this.eventType+":before-handleAjax."+this.eventNameSpace,[this,a]);a.addClass&&b.addClass(a.addClass);a.removeClass&&
b.removeClass(a.removeClass);if(a.text){var c=b.find(".label");c.length||(c=b);c.text(a.text)}a.hasOwnProperty("isLiked")&&(b.toggleClass("is-liked",a.isLiked),this.$container&&this.$container.toggleClass("is-liked",a.isLiked));var d=this.options.likeList?XF.findRelativeIf(this.options.likeList,b):e([]);"undefined"!==typeof a.html&&d.length&&(a.html.content?XF.setupHtmlInsert(a.html,function(f,g){d.html(f).addClassTransitioned("is-active")}):d.removeClassTransitioned("is-active",function(){d.empty()}));
b.trigger("xf-"+this.eventType+":after-handleAjax."+this.eventNameSpace,[this,a])}});XF.PreviewClick=XF.Event.newHandler({eventType:"click",eventNameSpace:"XFPreviewClick",options:{},init:function(){console.warn("XF.PreviewClick is disabled. Use the built in editor preview tab")},click:function(a){a.preventDefault()}});XF.handleSwitchResponse=function(a,b,c){if(b.switchKey){var d=a.data("sk-"+b.switchKey),f=!1;if(d){for(var g,h;g=d.match(/(\s*,)?\s*(addClass|removeClass|titleAttr):([^,]+)(,|$)/);)if(d=
d.substring(g[0].length),h=e.trim(g[3]),h.length)switch(g[2]){case "addClass":a.addClass(h);break;case "removeClass":a.removeClass(h);break;case "titleAttr":f="sync"==h}d=e.trim(d);d.length&&!b.text&&(b.text=d)}}b.addClass&&a.addClass(b.addClass);b.removeClass&&a.removeClass(b.removeClass);b.text&&(d=a.find(a.data("label")),d.length||(d=a),d.text(b.text),f&&a.attr("title",b.text).removeAttr("data-original-title").trigger("tooltip:refresh"));if(b.message){var k=c&&b.redirect;XF.flashMessage(b.message,
k?1E3:3E3,function(){k&&XF.redirect(b.redirect)})}};XF.ScrollToClick=XF.Event.newHandler({eventType:"click",eventNameSpace:"XFScrollToClick",options:{target:null,silent:!1,hash:null,speed:300},$scroll:null,init:function(){var a,b=this.options.hash,c=this.$target.attr("href");this.options.target&&(a=XF.findRelativeIf(this.options.target,this.$target));if(!a||!a.length)if(c&&c.length&&"#"==c.charAt(0))a=e(c);else if(this.options.silent)return;if(a&&a.length)if(this.$scroll=a,!0===b||"true"===b)a=a.attr("id"),
this.options.hash=a&&a.length?a:null;else{if(!1===b||"false"===b)this.options.hash=null}else console.error("No scroll target could be found")},click:function(a){this.$scroll&&(a.preventDefault(),XF.smoothScroll(this.$scroll,this.options.hash,this.options.speed))}});XF.SwitchClick=XF.Event.newHandler({eventType:"click",eventNameSpace:"XFSwitchClick",options:{redirect:!1,overlayOnHtml:!0,label:".js-label"},processing:!1,overlay:null,init:function(){this.$target.data("label",this.options.label)},click:function(a){a.preventDefault();
if(!this.processing){this.processing=!0;a=this.$target.attr("href");var b=this;XF.ajax("POST",a,{},XF.proxy(this,"handleAjax"),{skipDefaultSuccess:!0}).always(function(){setTimeout(function(){b.processing=!1},250)})}},handleAjax:function(a){var b=this.$target,c=e.Event("switchclick:complete"),d=this;b.trigger(c,a,this);c.isDefaultPrevented()||(a.html&&a.html.content&&this.options.overlayOnHtml?XF.setupHtmlInsert(a.html,function(f,g){d.overlay&&d.overlay.hide();f=XF.getOverlayHtml({html:f,title:g.h1||
g.title});f.find("form").on("ajax-submit:response",XF.proxy(d,"handleOverlayResponse"));d.overlay=XF.showOverlay(f)}):(this.applyResponseActions(a),this.overlay&&(this.overlay.hide(),this.overlay=null)))},handleOverlayResponse:function(a,b){"ok"==b.status&&(a.preventDefault(),this.handleAjax(b))},applyResponseActions:function(a){XF.handleSwitchResponse(this.$target,a,this.options.redirect)}});XF.SwitchOverlayClick=XF.Event.newHandler({eventType:"click",eventNameSpace:"XFSwitchOverlayClick",options:{redirect:!1},
overlay:null,init:function(){},click:function(a){a.preventDefault();this.overlay?this.overlay.show():(a=this.$target.attr("href"),XF.loadOverlay(a,{cache:!1,init:XF.proxy(this,"setupOverlay")}))},setupOverlay:function(a){this.overlay=a;a.getOverlay().find("form").on("ajax-submit:response",XF.proxy(this,"handleOverlaySubmit"));var b=this;a.on("overlay:hidden",function(){b.overlay=null});return a},handleOverlaySubmit:function(a,b){"ok"==b.status&&(a.preventDefault(),(a=this.overlay)&&a.hide(),XF.handleSwitchResponse(this.$target,
b,this.options.redirect))}});XF.AlertsList=XF.Element.newHandler({options:{},processing:!1,init:function(){var a=XF.findRelativeIf("< .menu-content | .js-alertsMarkRead",this.$target);if(a.length)a.on("click",XF.proxy(this,"markAllReadClick"));this.$target.find(".js-alertToggle").on("click",this.$target,XF.proxy(this,"markReadClick"))},_makeAjaxRequest:function(a,b,c){if(!this.processing){this.processing=!0;var d=this;XF.ajax("POST",a,c||{},b,{skipDefaultSuccess:!0}).always(function(){setTimeout(function(){d.processing=
!1},250)})}},markAllReadClick:function(a){a.preventDefault();this._makeAjaxRequest(e(a.target).attr("href"),XF.proxy(this,"handleMarkAllReadAjax"))},markReadClick:function(a){a.preventDefault();a=e(a.currentTarget);var b=a.closest(".js-alert"),c=b.hasClass("is-unread");b=b.data("alert-id");this._makeAjaxRequest(a.attr("href"),XF.proxy(this,"handleMarkReadAjax",b),{unread:c?0:1})},handleMarkAllReadAjax:function(a){a.message&&XF.flashMessage(a.message,3E3);var b=this;this.$target.find(".js-alert").each(function(){b.toggleReadStatus(e(this),
!1)})},handleMarkReadAjax:function(a,b){b.message&&XF.flashMessage(b.message,3E3);a=this.$target.find('.js-alert[data-alert-id="'+a+'"]');this.toggleReadStatus(a,!0)},toggleReadStatus:function(a,b){var c=a.hasClass("is-unread"),d=a.find(".js-alertToggle"),f=XF.Element.getHandler(d,"tooltip"),g=d.data("content");c?(a.removeClass("is-unread"),g=d.data("unread")):b&&(a.addClass("is-unread"),g=d.data("read"));f.tooltip.setContent(g)}});XF.Draft=XF.Element.newHandler({options:{draftAutosave:60,draftName:"message",
draftUrl:null,saveButton:".js-saveDraft",deleteButton:".js-deleteDraft",actionIndicator:".draftStatus"},lastActionContent:null,autoSaveRunning:!1,init:function(){if(this.options.draftUrl){var a=this;this.$target.on(this.options.saveButton,"click",function(c){c.preventDefault();a.triggerSave()});this.$target.on(this.options.deleteButton,"click",function(c){c.preventDefault();a.triggerDelete()});var b=XF.proxy(this,"syncState");this.syncState();setTimeout(b,500);this.$target.on("draft:sync",b);setInterval(XF.proxy(this,
"triggerSave"),1E3*this.options.draftAutosave)}else console.error("No draft URL specified.")},triggerSave:function(){if(!XF.isRedirecting){var a=e.Event("draft:beforesave");this.$target.trigger(a);a.isDefaultPrevented()||this._executeDraftAction(this.getSaveData())}},triggerDelete:function(){this.lastActionContent=this.getSaveData();this._sendDraftAction("delete=1")},_executeDraftAction:function(a){if(a!=this.lastActionContent){if(this.autoSaveRunning)return!1;this.lastActionContent=a;this._sendDraftAction(a)}},
_sendDraftAction:function(a){this.autoSaveRunning=!0;var b=this;return XF.ajax("post",this.options.draftUrl,a,XF.proxy(this,"completeAction"),{skipDefault:!0,skipError:!0,global:!1}).always(function(){b.autoSaveRunning=!1})},completeAction:function(a){var b=e.Event("draft:complete");this.$target.trigger(b,a);if(!b.isDefaultPrevented()&&!1!==a.draft.saved){var c=this.$target.find(this.options.actionIndicator);c.removeClass("is-active").text(a.complete).addClass("is-active");setTimeout(function(){c.removeClass("is-active")},
2E3)}},syncState:function(){this.lastActionContent=this.getSaveData()},getSaveData:function(){var a=this.$target;a.trigger("draft:beforesync");return a.serialize().replace(/(^|&)_xfToken=[^&]+(?=&|$)/g,"").replace(/^&+/,"")}});XF.DraftTrigger=XF.Element.newHandler({options:{delay:2500},draftHandler:null,timer:null,init:function(){if(XF.isElementWithinDraftForm(this.$target)){var a=this.$target.closest("form");if(this.draftHandler=XF.Element.getHandler(a,"draft"))this.$target.on("keyup",XF.proxy(this,
"keyup"))}},keyup:function(a){clearTimeout(this.timer);var b=this;this.timer=setTimeout(function(){b.draftHandler.triggerSave()},this.options.delay)}});XF.FocusTrigger=XF.Element.newHandler({options:{display:null,activeClass:"is-active"},init:function(){if(this.$target.attr("autofocus"))this.trigger();else this.$target.one("focusin",XF.proxy(this,"trigger"))},trigger:function(){var a=this.options.display;a&&(a=XF.findRelativeIf(a,this.$target),a.length&&a.addClassTransitioned(this.options.activeClass))}});
XF.PollBlock=XF.Element.newHandler({options:{},init:function(){this.$target.on("ajax-submit:response",XF.proxy(this,"afterSubmit"))},afterSubmit:function(a,b){if(!b.errors&&!b.exception){a.preventDefault();b.redirect&&XF.redirect(b.redirect);var c=this;XF.setupHtmlInsert(b.html,function(d,f){d.hide();d.insertAfter(c.$target);c.$target.xfFadeUp(null,function(){c.$target.remove();d.xfFadeDown()})})}}});XF.Preview=XF.Element.newHandler({options:{previewUrl:null,previewButton:"button.js-previewButton"},
previewing:null,init:function(){var a=this.$target,b=XF.findRelativeIf(this.options.previewButton,a);if(this.options.previewUrl)if(b.length)b.on({click:XF.proxy(this,"preview")});else console.warn("Preview form has no preview button: %o",a);else console.warn("Preview form has no data-preview-url: %o",a)},preview:function(a){a.preventDefault();if(this.previewing)return!1;this.previewing=!0;(a=XF.Element.getHandler(this.$target,"draft"))&&a.triggerSave();var b=this;XF.ajax("post",this.options.previewUrl,
this.$target.serializeArray(),function(c){c.html&&XF.setupHtmlInsert(c.html,function(d,f,g){XF.overlayMessage(f.title,d)})}).always(function(){b.previewing=!1})}});XF.ShareButtons=XF.Element.newHandler({options:{buttons:".shareButtons-button",iconic:".shareButtons--iconic",pageUrl:null,pageTitle:null,pageDesc:null,pageImage:null},pageUrl:null,pageTitle:null,pageDesc:null,pageImage:null,init:function(){var a=this.options.buttons,b=this.options.iconic;this.$target.on("focus mouseenter",a,XF.proxy(this,
"focus")).on("click",a,XF.proxy(this,"click"));"string"==typeof b&&(b=this.$target.is(b));this.$target.find(a).each(function(){var c=e(this);b&&XF.Element.applyHandler(c,"element-tooltip",{element:"> span"});c.data("clipboard")&&navigator.clipboard&&c.removeClass("is-hidden")})},setupPageData:function(){this.options.pageTitle&&this.options.pageTitle.length?this.pageTitle=this.options.pageTitle:(this.pageTitle=e('meta[property="og:title"]').attr("content"),this.pageTitle||(this.pageTitle=e("title").text()));
this.options.pageUrl&&this.options.pageUrl.length?this.pageUrl=this.options.pageUrl:(this.pageUrl=e('meta[property="og:url"]').attr("content"),this.pageUrl||(this.pageUrl=l.location.href));this.options.pageDesc&&this.options.pageDesc.length?this.pageDesc=this.options.pageDesc:(this.pageDesc=e('meta[property="og:description"]').attr("content"),this.pageDesc||(this.pageDesc=e("meta[name=description]").attr("content")||""));this.options.pageImage&&this.options.pageImage.length?this.pageImage=this.options.pageImage:
(this.pageImage=e('meta[property="og:image"]').attr("content"),this.pageImage||(this.pageImage=XF.config.publicMetadataLogoUrl||""))},focus:function(a){var b=e(a.currentTarget);if(!b.attr("href")&&!b.is(".shareButtons-button--share")){this.pageUrl||this.setupPageData();var c=b.data("href");if(!c){if(b.data("clipboard"))return;console.error("No data-href or data-clipboard on share button %o",a.currentTarget)}c=c.replace("{url}",encodeURIComponent(this.pageUrl)).replace("{title}",encodeURIComponent(this.pageTitle)).replace("{desc}",
encodeURIComponent(this.pageDesc)).replace("{image}",encodeURIComponent(this.pageImage));b.attr("href",c)}},click:function(a){var b=e(a.currentTarget),c=b.attr("href"),d=b.data("popup-width")||600,f=b.data("popup-height")||400;b.is(".shareButtons-button--share")||a.altKey||a.ctrlKey||a.metaKey||a.shiftKey||(b.data("clipboard")?(a.preventDefault(),a=b.data("clipboard").replace("{url}",this.pageUrl).replace("{title}",this.pageTitle).replace("{desc}",this.pageDesc).replace("{image}",this.pageImage),
navigator.clipboard.writeText(a).then(function(){XF.flashMessage(XF.phrase("link_copied_to_clipboard"),3E3)})):c&&c.match(/^https?:/i)&&(a.preventDefault(),l.open(c,"share","toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+d+",height="+f+",left="+(screen.width-d)/2+",top="+(screen.height-f)/2)))}});XF.ShareInput=XF.Element.newHandler({options:{button:".js-shareButton",input:".js-shareInput",successText:""},$button:null,$input:null,init:function(){this.$button=this.$target.find(this.options.button);
this.$input=this.$target.find(this.options.input);navigator.clipboard&&this.$button.removeClass("is-hidden");this.$button.on("click",XF.proxy(this,"buttonClick"));this.$input.on("click",XF.proxy(this,"inputClick"))},buttonClick:function(a){var b=this;navigator.clipboard.writeText(this.$input.val()).then(function(){XF.flashMessage(b.options.successText?b.options.successText:XF.phrase("text_copied_to_clipboard"),3E3)})},inputClick:function(a){this.$input.select()}});XF.WebShare=XF.Element.newHandler({options:{fetch:!1,
url:null,title:null,text:null,hide:null,hideContainerEls:!0},url:null,title:null,text:null,fetchUrl:null,init:function(){this.isSupported()&&(this.options.fetch&&(this.fetchUrl=this.options.fetch),this.hideSpecified(),this.hideContainerElements(),this.setupShareData(),this.$target.removeClass("is-hidden").on("click",XF.proxy(this,"click")))},isSupported:function(){var a=XF.browser.os;return"share"in navigator&&"https:"==l.location.protocol&&("android"==a||"ios"==a)},hideSpecified:function(){if(this.options.hide){var a=
e(this.options.hide);a&&a.length&&a.addClass("is-hidden")}},hideContainerElements:function(){if(this.options.hideContainerEls){var a=this.$target.parents(".block, .blockMessage");a.length&&(a.find(".shareButtons").removeClass("shareButtons--iconic"),a.find(".block-minorHeader").hide(),a.find(".shareButtons-label").hide())}},setupShareData:function(){this.fetchUrl||(this.options.url?this.url=this.options.url:(this.url=e('meta[property="og:url"]').attr("content"),this.url||(this.url=l.location.href)),
this.options.title?this.title=this.options.title:(this.title=e('meta[property="og:title"]').attr("content"),this.title||(this.title=e("title").text())),this.options.text?this.text=this.options.text:(this.text=e('meta[property="og:description"]').attr("content"),this.text||(this.text=e("meta[name=description]").attr("content")||"")))},click:function(a){a.preventDefault();if(this.fetchUrl){var b=this;XF.ajax("get",this.fetchUrl,{web_share:!0},function(c){"ok"===c.status?(b.setShareOptions(c),b.share()):
XF.redirect(b.options.url)},{skipDefault:!0,skipError:!0,global:!1})}else this.share()},share:function(){navigator.share(this.getShareOptions()).catch(function(a){})},setShareOptions:function(a){this.url=a.contentUrl;this.title=a.contentTitle;this.text=a.contentDesc||a.contentTitle;this.fetchUrl=null},getShareOptions:function(){var a={url:this.url,title:"",text:""};this.title&&(a.title=this.title);a.text=this.text?this.text:a.title;return a}});XF.CopyToClipboard=XF.Element.newHandler({options:{copyText:"",
copyTarget:"",success:""},copyText:null,init:function(){navigator.clipboard&&this.$target.removeClass("is-hidden");if(this.options.copyText)this.copyText=this.options.copyText;else if(this.options.copyTarget){var a=e(this.options.copyTarget);a.is('input[type="text"], textarea')?this.copyText=a.val():this.copyText=a.text()}if(this.copyText)this.$target.on("click",XF.proxy(this,"click"));else console.error("No text to copy to clipboard")},click:function(){var a=this;navigator.clipboard.writeText(this.copyText).then(function(){if(a.options.success)XF.flashMessage(a.options.success,
3E3);else{var b=XF.phrase("text_copied_to_clipboard");a.copyText.match(/^[a-z0-9-]+:\/\/[^\s"<>{}`]+$/i)&&(b=XF.phrase("link_copied_to_clipboard"));XF.flashMessage(b,3E3)}})}});XF.PushToggle=XF.Element.newHandler({options:{},isSubscribed:!1,cancellingSub:null,init:function(){XF.Push.isSupported()?"denied"===Notification.permission?(this.updateButton(XF.phrase("push_blocked_label"),!1),console.error("Notification.permission === denied")):this.registerWorker():(this.updateButton(XF.phrase("push_not_supported_label"),
!1),console.error("XF.Push.isSupported() returned false"))},registerWorker:function(){var a=this;XF.Push.registerWorker(function(){a.$target.on("click",XF.proxy(a,"buttonClick"));e(m).on("push:init-subscribed",function(){a.updateButton(XF.phrase("push_disable_label"),!0)});e(m).on("push:init-unsubscribed",function(){a.updateButton(XF.phrase("push_enable_label"),!0)})},function(){a.updateButton(XF.phrase("push_not_supported_label"),!1);console.error("navigator.serviceWorker.register threw an error.")})},
buttonClick:function(a){var b=this;XF.Push.handleToggleAction(function(){b.updateButton(XF.phrase("push_enable_label"),!0);XF.Cookie.set("push_notice_dismiss","1");XF.config.userId&&XF.Push.removeUserFromPushHistory()},!1,function(){b.updateButton(XF.phrase("push_disable_label"),!0)},function(){b.updateButton(XF.phrase("push_not_supported_label"),!1)})},updateButton:function(a,b){this.$target.find(".button-text").text(a);b?this.$target.removeClass("is-disabled"):this.$target.addClass("is-disabled")}});
XF.PushCta=XF.Element.newHandler({options:{},init:function(){XF.config.skipPushNotificationCta||XF.Push.isSupported()&&"denied"!==Notification.permission&&this.registerWorker()},registerWorker:function(){var a=this;XF.Push.registerWorker(function(){e(m).on("push:init-unsubscribed",function(){if(XF.Push.hasUserPreviouslySubscribed())try{XF.Push.handleSubscribeAction(!0)}catch(b){XF.Push.removeUserFromPushHistory()}else a.getDismissCookie()||a.$target.closest(".js-enablePushContainer").xfFadeDown(XF.config.speed.fast,
XF.proxy(a,"initLinks"))})})},initLinks:function(){var a=this.$target;a.find(".js-enablePushLink").on("click",XF.proxy(this,"linkClick"));a.siblings(".js-enablePushDismiss").on("click",XF.proxy(this,"dismissClick"))},linkClick:function(a){a.preventDefault();this.hidePushContainer();this.setDismissCookie(!0,432E5);XF.Push.handleSubscribeAction(!1)},dismissClick:function(a){a.preventDefault();e(a.currentTarget).hide();this.$target.closest(".js-enablePushContainer").addClass("notice--accent").removeClass("notice--primary");
this.$target.find(".js-initialMessage").hide();a=this.$target.find(".js-dismissMessage");a.show();a.find(".js-dismissTemp").on("click",XF.proxy(this,"dismissTemp"));a.find(".js-dismissPerm").on("click",XF.proxy(this,"dismissPerm"))},dismissTemp:function(a){a.preventDefault();this.hidePushContainer();this.setDismissCookie(!1)},dismissPerm:function(a){a.preventDefault();this.hidePushContainer();this.setDismissCookie(!0)},setDismissCookie:function(a,b){a?(b||(b=31536E7),XF.Cookie.set("push_notice_dismiss",
"1",new Date(Date.now()+b))):XF.Cookie.set("push_notice_dismiss","1")},getDismissCookie:function(){return XF.Cookie.get("push_notice_dismiss")},hidePushContainer:function(){this.$target.closest(".js-enablePushContainer").xfFadeUp(XF.config.speed.fast)}});XF.Reaction=XF.Element.newHandler({options:{delay:200,reactionList:null},$tooltipHtml:null,trigger:null,tooltip:null,href:null,loading:!1,init:function(){if(this.$target.is("a")&&this.$target.attr("href")){this.href=this.$target.attr("href");var a=
e("#xfReactTooltipTemplate");a.length&&(this.$tooltipHtml=e(e.parseHTML(a.html())),this.tooltip=new XF.TooltipElement(XF.proxy(this,"getContent"),{extraClass:"tooltip--reaction",html:!0}),this.trigger=new XF.TooltipTrigger(this.$target,this.tooltip,{maintain:!0,delayIn:this.options.delay,trigger:"hover focus touchhold",onShow:XF.proxy(this,"onShow"),onHide:XF.proxy(this,"onHide")}),this.trigger.init());this.$target.on("click",XF.proxy(this,"actionClick"))}},getContent:function(){var a=this.href;a=
a.replace(/(\?|&)reaction_id=[^&]*(&|$)/,"$1reaction_id=");this.$tooltipHtml.find(".reaction").each(function(){var b=e(this),c=b.data("reaction-id");b.attr("href",c?a+parseInt(c,10):!1)});this.$tooltipHtml.find('[data-xf-init~="tooltip"]').attr("data-delay-in",50).attr("data-delay-out",50);this.$tooltipHtml.on("click",".reaction",XF.proxy(this,"actionClick"));return this.$tooltipHtml},onShow:function(){var a=XF.Reaction.activeTooltip;a&&a!==this&&a.hide();XF.Reaction.activeTooltip=this},onHide:function(){XF.Reaction.activeTooltip===
this&&(XF.Reaction.activeTooltip=null);this.$target.removeData("tooltip:taphold")},show:function(){this.trigger&&this.trigger.show()},hide:function(){this.trigger&&this.trigger.hide()},actionClick:function(a){a.preventDefault();if(this.$target.data("tooltip:taphold")&&this.$target.is(a.currentTarget))this.$target.removeData("tooltip:taphold");else if(!this.loading){this.loading=!0;var b=this;XF.ajax("post",e(a.currentTarget).attr("href"),XF.proxy(this,"actionComplete")).always(function(){setTimeout(function(){b.loading=
!1},250)})}},actionComplete:function(a){if(a.html){var b=this.$target,c=b.data("reaction-id"),d=a.reactionId,f=a.linkReactionId,g=this;XF.setupHtmlInsert(a.html,function(k,n,p){g.hide();n=k.find(".js-reaction");p=k.find(".js-reactionText");var t=b.find(".js-reaction"),r=b.find(".js-reactionText"),q=b.attr("href");f&&(q=q.replace(/(\?|&)reaction_id=\d+(?=&|$)/,"$1reaction_id="+f),b.attr("href",q));d?(b.addClass("has-reaction"),b.removeClass("reaction--imageHidden"),c||(c=1),b.removeClass("reaction--"+
c),b.addClass("reaction--"+d),b.data("reaction-id",d)):(b.removeClass("has-reaction"),b.addClass("reaction--imageHidden"),c&&(b.removeClass("reaction--"+c),b.addClass("reaction--"+k.data("reaction-id")),b.data("reaction-id",0)));t.replaceWith(n);r&&p&&r.replaceWith(p)});var h=this.options.reactionList?XF.findRelativeIf(this.options.reactionList,b):e([]);"undefined"!==typeof a.reactionList&&h.length&&(a.reactionList.content?XF.setupHtmlInsert(a.reactionList,function(k,n){h.html(k).addClassTransitioned("is-active")}):
h.removeClassTransitioned("is-active",function(){h.empty()}))}}});XF.Reaction.activeTooltip=null;XF.BookmarkClick=XF.Event.newHandler({eventType:"click",eventNameSpace:"XFBookmarkClick",processing:!1,href:null,tooltip:null,trigger:null,$tooltipHtml:null,clickE:null,init:function(){this.href=this.$target.attr("href");this.tooltip=new XF.TooltipElement(XF.proxy(this,"getTooltipContent"),{extraClass:"tooltip--bookmark",html:!0,loadRequired:!0});this.trigger=new XF.TooltipTrigger(this.$target,this.tooltip,
{maintain:!0,trigger:""});this.trigger.init()},click:function(a){if(!(0<a.button||a.ctrlKey||a.shiftKey||a.metaKey||a.altKey))if(a.preventDefault(),this.clickE=a,this.$target.hasClass("is-bookmarked"))this.trigger.clickShow(a);else if(!this.processing){this.processing=!0;var b=this;XF.ajax("POST",this.href,{tooltip:1},XF.proxy(this,"handleSwitchClick"),{skipDefaultSuccess:!0}).always(function(){setTimeout(function(){b.processing=!1},250)})}},handleSwitchClick:function(a){var b=this,c=function(){XF.handleSwitchResponse(b.$target,
a);b.trigger.clickShow(b.clickE)};a.html?XF.setupHtmlInsert(a.html,function(d,f,g){b.tooltip.requiresLoad()&&(b.$tooltipHtml=d,b.tooltip.setLoadRequired(!1));c()}):c()},getTooltipContent:function(a){if(this.$tooltipHtml&&!this.tooltip.requiresLoad())return this.initializeTooltip(this.$tooltipHtml),this.$tooltipHtml;var b=this,c={skipDefault:!0,skipError:!0,global:!1};this.trigger.wasClickTriggered()&&(c.global=!0);XF.ajax("get",this.href,{tooltip:1},function(d){b.tooltipLoaded(d,a)},c)},tooltipLoaded:function(a,
b){var c=this;XF.setupHtmlInsert(a.html,function(d,f,g){c.initializeTooltip(d);b(d)})},initializeTooltip:function(a){a.find("form").on("ajax-submit:response",XF.proxy(this,"handleOverlaySubmit"))},handleOverlaySubmit:function(a,b){"ok"==b.status&&(a.preventDefault(),this.trigger&&this.trigger.hide(),XF.handleSwitchResponse(this.$target,b),"bookmarkremoved"==b.switchKey&&a.currentTarget.reset())}});XF.BookmarkLabelFilter=XF.Element.newHandler({options:{target:null,showAllLinkTarget:null},loading:!1,
$filterTarget:null,$showAllLinkTarget:null,init:function(){this.$filterTarget=XF.findRelativeIf(this.options.target,this.$target);if(this.$filterTarget.length){this.options.showAllLinkTarget&&(this.$showAllLinkTarget=XF.findRelativeIf(this.options.showAllLinkTarget,this.$target));var a=this;this.$target.on("select2:select",XF.proxy(this,"loadResults"));this.$target.on("select2:unselect",function(b){a.loadResults()})}else console.error("No filter target found.")},loadResults:function(){if(!this.loading){this.loading=
!0;var a=this.$target.find(".js-labelFilter").val(),b=this;XF.ajax("get",XF.canonicalizeUrl("index.php?account/bookmarks-popup"),{label:a},function(c){c.html&&(b.$showAllLinkTarget&&c.showAllUrl&&b.$showAllLinkTarget.attr("href",c.showAllUrl),XF.setupHtmlInsert(c.html,function(d,f){b.$target.find(".js-tokenSelect").select2("close");b.$filterTarget.empty();b.$filterTarget.append(d)}))}).always(function(){b.loading=!1})}}});XF.ContentVote=XF.Element.newHandler({options:{contentId:null},processing:!1,
init:function(){this.$target.on("click","[data-vote]",XF.proxy(this,"voteClick"))},voteClick:function(a){a.preventDefault();a=e(a.currentTarget);if(!a.hasClass("is-disabled")&&!this.processing){this.processing=!0;a=a.attr("href");var b=this;XF.ajax("POST",a,{},XF.proxy(this,"handleAjax"),{skipDefaultSuccess:!1}).always(function(){setTimeout(function(){b.processing=!1},250)})}},handleAjax:function(a){this.updateData(a);if(this.options.contentId){var b=e('.js-contentVote[data-content-id="'+this.options.contentId+
'"]'),c=this,d=this.$target;b.each(function(){if(d[0]!==this){var f=e(this);f.is('[data-xf-init~="content-vote"]')?XF.Element.getHandler(f,"content-vote").updateData(a):c.updateDisplay(f,a)}})}},updateData:function(a){this.updateDisplay(this.$target,a)},updateDisplay:function(a,b){var c=a.find(".js-voteCount");a.find(".is-voted").removeClass("is-voted");b.vote?(a.find('[data-vote="'+b.vote+'"]').addClass("is-voted"),a.addClass("is-voted")):a.removeClass("is-voted");c.fadeOut("fast",function(){c.attr("data-score",
b.voteScore).text(b.voteScoreShort);0<b.voteScore?c.removeClass("is-negative").addClass("is-positive"):0>b.voteScore?c.removeClass("is-positive").addClass("is-negative"):c.removeClass("is-positive").removeClass("is-negative");c.fadeIn("fast")})}});XF.InstallPrompt=XF.Element.newHandler({options:{button:"| .js-installPromptButton"},$button:null,bipEvent:null,init:function(){if((this.$button=XF.findRelativeIf(this.options.button,this.$target))&&this.$button.length){var a=e(l);a.on("beforeinstallprompt",
XF.proxy(this,"beforeInstallPrompt"));a.on("appinstalled",XF.proxy(this,"appInstalled"));this.$button.on("click",XF.proxy(this,"buttonClick"))}else console.error("No install button found for %o",this.$target[0])},beforeInstallPrompt:function(a){a.preventDefault();this.bipEvent=a.originalEvent;this.$target.show()},appInstalled:function(a){this.$target.hide()},buttonClick:function(){this.bipEvent?this.bipEvent.prompt():console.error("No beforeinstallprompt event was captured")}});XF.Event.register("click",
"attribution","XF.AttributionClick");XF.Event.register("click","like","XF.LikeClick");XF.Event.register("click","preview-click","XF.PreviewClick");XF.Event.register("click","scroll-to","XF.ScrollToClick");XF.Event.register("click","switch","XF.SwitchClick");XF.Event.register("click","switch-overlay","XF.SwitchOverlayClick");XF.Element.register("alerts-list","XF.AlertsList");XF.Element.register("draft","XF.Draft");XF.Element.register("draft-trigger","XF.DraftTrigger");XF.Element.register("focus-trigger",
"XF.FocusTrigger");XF.Element.register("poll-block","XF.PollBlock");XF.Element.register("preview","XF.Preview");XF.Element.register("share-buttons","XF.ShareButtons");XF.Element.register("share-input","XF.ShareInput");XF.Element.register("web-share","XF.WebShare");XF.Element.register("copy-to-clipboard","XF.CopyToClipboard");XF.Element.register("push-toggle","XF.PushToggle");XF.Element.register("push-cta","XF.PushCta");XF.Element.register("reaction","XF.Reaction");XF.Element.register("bookmark-click",
"XF.BookmarkClick");XF.Element.register("bookmark-label-filter","XF.BookmarkLabelFilter");XF.Element.register("content-vote","XF.ContentVote");XF.Element.register("install-prompt","XF.InstallPrompt")}(jQuery,window,document);