From 79422633d268ca5228ac44035747308bfeb90000 Mon Sep 17 00:00:00 2001 From: WoltLab Date: Sun, 31 Mar 2024 17:39:31 +0000 Subject: [PATCH] Updating minified JavaScript files --- wcfsetup/install/files/js/WCF.Combined.min.js | 2 +- wcfsetup/install/files/js/WCF.Combined.tiny.min.js | 2 +- wcfsetup/install/files/js/WoltLabSuite.Core.min.js | 4 ++-- wcfsetup/install/files/js/WoltLabSuite.Core.tiny.min.js | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/wcfsetup/install/files/js/WCF.Combined.min.js b/wcfsetup/install/files/js/WCF.Combined.min.js index a41118c3fd..72a62c6d4f 100755 --- a/wcfsetup/install/files/js/WCF.Combined.min.js +++ b/wcfsetup/install/files/js/WCF.Combined.min.js @@ -16,7 +16,7 @@ (function (window, undefined) { !function(){var t=!1,e=/xyz/.test((function(){xyz}))?/\b_super\b/:/.*/;this.Class=function(){},Class.extend=function(n){function i(){!t&&this.init&&this.init.apply(this,arguments)}var r,o,l=this.prototype;for(o in t=!0,r=new this,t=!1,n)r[o]="function"==typeof n[o]&&"function"==typeof l[o]&&e.test(n[o])?function(t,e){return function(){var n,i=this._super;return this._super=l[t],n=e.apply(this,arguments),this._super=i,n}}(o,n[o]):n[o];return i.prototype=r,i.prototype.constructor=i,i.extend=arguments.callee,i}}(),function(t){"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],t):t(jQuery)}((function(t){function e(e){return!e||void 0!==e.allowPageScroll||void 0===e.swipe&&void 0===e.swipeStatus||(e.allowPageScroll=s),void 0!==e.click&&void 0===e.tap&&(e.tap=e.click),e||(e={}),e=t.extend({},t.fn.swipe.defaults,e),this.each((function(){var i=t(this),r=i.data(P);r||(r=new n(this,e),i.data(P,r))}))}function n(e,n){function L(e){var u,a,s;if(!0!==yt.data(P+"_intouch")&&!(t(e.target).closest(n.excludedElements,yt).length>0))return u=e.originalEvent?e.originalEvent:e,s=x?u.touches[0]:u,St=y,x?Et=u.touches.length:e.preventDefault(),pt=0,ht=null,Tt=null,ft=0,dt=0,gt=0,wt=1,vt=0,mt=function(){for(var t=[],e=0;e<=5;e++)t.push({start:{x:0,y:0},end:{x:0,y:0},identifier:0});return t}(),bt=function(){var t={};return t[i]=et(i),t[r]=et(r),t[o]=et(o),t[l]=et(l),t}(),Z(),!x||Et===n.fingers||n.fingers===T||X()?(K(0,s),xt=rt(),2==Et&&(K(1,u.touches[1]),dt=gt=it(mt[0].start,mt[1].start)),(n.swipeStatus||n.pinchStatus)&&(a=U(u,St))):a=!1,!1===a?(U(u,St=m),a):(n.hold&&(Rt=setTimeout(t.proxy((function(){yt.trigger("hold",[u.target]),n.hold&&(a=n.hold.call(yt,u,u.target))}),this),n.longTapThreshold)),J(!0),null)}function D(e){var p,h,f,d,g=e.originalEvent?e.originalEvent:e;St===E||St===m||B()||(h=$(x?g.touches[0]:g),Ot=rt(),x&&(Et=g.touches.length),n.hold&&clearTimeout(Rt),St=S,2==Et&&(0==dt?(K(1,g.touches[1]),dt=gt=it(mt[0].start,mt[1].start)):($(g.touches[1]),gt=it(mt[0].end,mt[1].end),mt[0].end,mt[1].end,Tt=wt<1?a:u),wt=function(t,e){return(e/t*1).toFixed(2)}(dt,gt),vt=Math.abs(dt-gt)),Et===n.fingers||n.fingers===T||!x||X()?(ht=function(t,e){var n=function(t,e){var n=t.x-e.x,i=e.y-t.y,r=Math.atan2(i,n),o=Math.round(180*r/Math.PI);return o<0&&(o=360-Math.abs(o)),o}(t,e);return n<=45&&n>=0||n<=360&&n>=315?i:n>=135&&n<=225?r:n>45&&n<135?l:o}(h.start,h.end),function(t,e){if(n.allowPageScroll===s||X())t.preventDefault();else{var u=n.allowPageScroll===c;switch(e){case i:(n.swipeLeft&&u||!u&&n.allowPageScroll!=w)&&t.preventDefault();break;case r:(n.swipeRight&&u||!u&&n.allowPageScroll!=w)&&t.preventDefault();break;case o:(n.swipeUp&&u||!u&&n.allowPageScroll!=v)&&t.preventDefault();break;case l:(n.swipeDown&&u||!u&&n.allowPageScroll!=v)&&t.preventDefault()}}}(e,ht),pt=function(t,e){return Math.round(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)))}(h.start,h.end),ft=nt(),function(t,e){e=Math.max(e,tt(t)),bt[t].distance=e}(ht,pt),(n.swipeStatus||n.pinchStatus)&&(p=U(g,St)),n.triggerOnTouchEnd&&!n.triggerOnTouchLeave||(f=!0,n.triggerOnTouchLeave&&(d=function(e){var n=(e=t(e)).offset();return{left:n.left,right:n.left+e.outerWidth(),top:n.top,bottom:n.top+e.outerHeight()}}(this),f=function(t,e){return t.x>e.left&&t.xe.top&&t.y0?(Mt=rt(),Pt=event.touches.length+1,!0):(B()&&(Et=Pt),Ot=rt(),ft=nt(),j()||!H()?U(e,St=m):n.triggerOnTouchEnd||0==n.triggerOnTouchEnd&&St===S?(t.preventDefault(),U(e,St=E)):!n.triggerOnTouchEnd&&F()?_(e,St=E,f):St===S&&U(e,St=m),J(!1),null)}function k(){Et=0,Ot=0,xt=0,dt=0,gt=0,wt=1,Z(),J(!1)}function A(t){var e=t.originalEvent;n.triggerOnTouchLeave&&U(e,St=N(E))}function I(){yt.unbind(lt,L),yt.unbind(ct,k),yt.unbind(ut,D),yt.unbind(at,R),st&&yt.unbind(st,A),J(!1)}function N(t){var e=t,i=C(),r=H(),o=j();return!i||o?e=m:!r||t!=S||n.triggerOnTouchEnd&&!n.triggerOnTouchLeave?!r&&t==E&&n.triggerOnTouchLeave&&(e=m):e=E,e}function U(t,e){var i=void 0;return Y()&&q()||q()?i=_(t,e,p):(Q()&&X()||X())&&!1!==i&&(i=_(t,e,h)),G()&&V()&&!1!==i?i=_(t,e,d):ft>n.longTapThreshold&&pt=n.threshold),t}function j(){var t=!1;return null!==n.cancelThreshold&&null!==ht&&(t=tt(ht)-pt>=n.cancelThreshold),t}function C(){return!(n.maxTimeThreshold&&ft>=n.maxTimeThreshold)}function Q(){var t=z(),e=W(),i=null===n.pinchThreshold||vt>=n.pinchThreshold;return t&&e&&i}function X(){return!!(n.pinchStatus||n.pinchIn||n.pinchOut)}function Y(){var t=C(),e=H(),n=z(),i=W();return!j()&&i&&n&&e&&t}function q(){return!!(n.swipe||n.swipeStatus||n.swipeLeft||n.swipeRight||n.swipeUp||n.swipeDown)}function z(){return Et===n.fingers||n.fingers===T||!x}function W(){return 0!==mt[0].end.x}function F(){return!!n.tap}function V(){return!!n.doubleTap}function G(){if(null==Lt)return!1;var t=rt();return V()&&t-Lt<=n.doubleTapThreshold}function Z(){Mt=0,Pt=0}function B(){var t=!1;return Mt&&rt()-Mt<=n.fingerReleaseThreshold&&(t=!0),t}function J(t){!0===t?(yt.bind(ut,D),yt.bind(at,R),st&&yt.bind(st,A)):(yt.unbind(ut,D,!1),yt.unbind(at,R,!1),st&&yt.unbind(st,A,!1)),yt.data(P+"_intouch",!0===t)}function K(t,e){var n=void 0!==e.identifier?e.identifier:0;return mt[t].identifier=n,mt[t].start.x=mt[t].end.x=e.pageX||e.clientX,mt[t].start.y=mt[t].end.y=e.pageY||e.clientY,mt[t]}function $(t){var e=function(t){for(var e=0;e0,t.browser.mozilla&&e.match(/trident/)&&(t.browser.mozilla=!1,t.browser.msie=!0),t.browser.iOS=/\((ipad|iphone|ipod);/.test(e),t.browser.iOS&&$("html").addClass("iOS"),t.browser.android=-1!==e.indexOf("android"),t.browser.iOS&&(t.fn.focus=function(t,e){return arguments.length>0?this.on("focus",null,t,e):this.trigger("focus")})}(jQuery),null==window.WCF&&(window.WCF={}),$.extend(!0,{removeArrayValue:function(t,e){return $.grep(t,(function(t,i){return e!==t}))},wcfEscapeID:function(t){return t.replace(/(:|\.)/g,"\\$1")},wcfIsset:function(t){return!!$("#"+$.wcfEscapeID(t)).length},getLength:function(t){var e,i=0;for(e in t)t.hasOwnProperty(e)&&i++;return i}}),$.fn.extend({getTagName:function(){return this.length?this.get(0).tagName.toLowerCase():""},getDimensions:function(t){var e={},i={},n=!1;switch(this.is(":hidden")&&(e=WCF.getInlineCSS(this),n=!0,this.css({display:"block",visibility:"hidden"})),t){case"inner":i={height:this.innerHeight(),width:this.innerWidth()};break;case"outer":i={height:this.outerHeight(),width:this.outerWidth()};break;default:i={height:this.height(),width:this.width()}}return n&&WCF.revertInlineCSS(this,e,["display","visibility"]),i},getOffsets:function(t){var e={},i={},n=!1;return this.is(":hidden")&&(e=WCF.getInlineCSS(this),n=!0,this.css({display:"block",visibility:"hidden"})),i="offset"===t?this.offset():this.position(),n&&WCF.revertInlineCSS(this,e,["display","visibility"]),i},makePositioned:function(t,e){"absolute"!=t&&"fixed"!=t&&(t="absolute");var i=this.getOffsets("position");return this.css({position:t,left:i.left,margin:0,top:i.top}),e&&this.remove().appentTo("body"),this},disable:function(){return this.attr("disabled","disabled")},enable:function(){return this.removeAttr("disabled")},wcfIdentify:function(){return window.bc_wcfDomUtil.identify(this[0])},getCaret:function(){var t,e,i;if(this.is("input")){if("text"!=this.attr("type")&&"password"!=this.attr("type"))return-1}else if(!this.is("textarea"))return-1;return t=0,e=this.get(0),document.selection?(this.focus(),(i=document.selection.createRange()).moveStart("character",-this.val().length),t=i.text.length):(e.selectionStart||"0"==e.selectionStart)&&(t=parseInt(e.selectionStart)),t},setCaret:function(t){var e,i;if(this.is("input")){if("text"!=this.attr("type")&&"password"!=this.attr("type"))return!1}else if(!this.is("textarea"))return!1;return e=this.get(0),this.focus(),document.selection?((i=document.selection.createRange()).moveStart("character",t),i.moveEnd("character",0),i.select()):(e.selectionStart||"0"==e.selectionStart)&&(e.selectionStart=t,e.selectionEnd=t),!0},wcfDropIn:function(t,e,i){return t||(t="up"),i&&parseInt(i)||(i=200),this.show(WCF.getEffect(this,"drop"),{direction:t},i,e)},wcfDropOut:function(t,e,i){return t||(t="down"),i&&parseInt(i)||(i=200),this.hide(WCF.getEffect(this,"drop"),{direction:t},i,e)},wcfBlindIn:function(t,e,i){return t||(t="vertical"),i&&parseInt(i)||(i=200),this.show(WCF.getEffect(this,"blind"),{direction:t},i,e)},wcfBlindOut:function(t,e,i){return t||(t="vertical"),i&&parseInt(i)||(i=200),this.hide(WCF.getEffect(this,"blind"),{direction:t},i,e)},wcfHighlight:function(t,e){return this.effect("highlight",t,600,e)},wcfFadeIn:function(t,e){return e&&parseInt(e)||(e=200),this.show(WCF.getEffect(this,"fade"),{},e,t)},wcfFadeOut:function(t,e){return e&&parseInt(e)||(e=200),this.hide(WCF.getEffect(this,"fade"),{},e,t)},cssAsNumber:function(t){if(this.length){var e=this.css(t);if(void 0!==e)return parseInt(e.replace(/px$/,""))}return 0},perfectScrollbar:function(t){var e=require("perfect-scrollbar");return this.each((function(){var i,n;return"object"==typeof t||void 0===t?(i=t,$(this).data("psID")||e.initialize(this,i)):"update"===(n=t)?e.update(this):"destroy"===n&&e.destroy(this),jQuery(this)}))}}),$.extend(WCF,{activeDialogs:0,_idCounter:0,getRandomID:function(){return window.bc_wcfDomUtil.getUniqueId()},inArray:function(t,e){return-1!=$.inArray(t,e)},getEffect:function(t,e){return t.is("tr")?"highlight":e},getInlineCSS:function(t){var e,i,n,s={},a=t.attr("style");if(!a)return{};for(e=0,i=(a=a.split(";")).length;e0,pageClassName:t,pageObjectId:n}),i)i.hasOwnProperty(o)&&function(t){s.add("com.woltlab.wcf.clipboard",t,(function(e){null!==e.responseData&&i[t].hasOwnProperty(e.responseData.actionName)&&i[t][e.responseData.actionName].triggerEffect(e.responseData.objectIDs)}))}(o)}))},reload:function(){require(["WoltLabSuite/Core/Controller/Clipboard"],(function(t){t.reload()}))}},WCF.PeriodicalExecuter=Class.extend({_callback:null,_delay:0,_intervalID:null,_isExecuting:!1,init:function(t,e){$.isFunction(t)?(this._callback=t,this._interval=e,this.resume()):console.debug("[WCF.PeriodicalExecuter] Given callback is invalid, aborting.")},_execute:function(){if(!this._isExecuting)try{this._isExecuting=!0,this._callback(this),this._isExecuting=!1}catch(t){throw this._isExecuting=!1,t}},stop:function(){this._intervalID&&clearInterval(this._intervalID)},resume:function(){this.restart()},restart:function(){this._intervalID&&this.stop(),this._intervalID=setInterval($.proxy(this._execute,this),this._interval)},setInterval:function(t){this._interval=t,this.restart()}}),WCF.LoadingOverlayHandler={show:function(){require(["WoltLabSuite/Core/Ajax/Status"],(function(t){t.show()}))},hide:function(){require(["WoltLabSuite/Core/Ajax/Status"],(function(t){t.hide()}))},updateIcon:function(t,e){}},WCF.Action={},WCF.Action.Proxy=Class.extend({_ajaxRequest:null,init:function(t){this._ajaxRequest=null,"jsonp"===(t=$.extend(!0,{autoSend:!1,data:{},dataType:"json",after:null,init:null,jsonp:"callback",async:!0,failure:null,showLoadingOverlay:!0,success:null,suppressErrors:!1,type:"POST",url:"index.php?ajax-proxy/&t="+SECURITY_TOKEN,aborted:null,autoAbortPrevious:!1},t)).dataType?require(["AjaxJsonp"],(function(e){e.send(t.url,t.success,t.failure,{parameterName:t.jsonp})})):require(["AjaxRequest"],function(e){this._ajaxRequest=new e({data:t.data,type:t.type,url:t.url,withCredentials:t.url==="index.php?ajax-proxy/&t="+SECURITY_TOKEN,responseType:"json"===t.dataType?"application/json":"",autoAbort:t.autoAbortPrevious,ignoreError:t.suppressErrors,silent:!t.showLoadingOverlay,failure:t.failure,finalize:t.after,success:t.success}),t.autoSend&&this._ajaxRequest.sendRequest()}.bind(this))},sendRequest:function(t){require(["AjaxRequest"],function(e){null!==this._ajaxRequest&&this._ajaxRequest.sendRequest(t)}.bind(this))},abortPrevious:function(){require(["AjaxRequest"],function(t){null!==this._ajaxRequest&&this._ajaxRequest.abortPrevious()}.bind(this))},setOption:function(t,e){require(["AjaxRequest"],function(i){null!==this._ajaxRequest&&this._ajaxRequest.setOption(t,e)}.bind(this))},showLoadingOverlayOnce:function(){},suppressErrors:function(){},_failure:function(t,e,i){},_success:function(t,e,i){},_after:function(){}}),WCF.Action.SimpleProxy=Class.extend({init:function(t,e){this.options=$.extend(!0,{action:"",className:"",elements:null,eventName:"click"},t),this.callbacks=$.extend(!0,{after:null,failure:null,init:null,success:null},e),this.options.elements&&(this.proxy=new WCF.Action.Proxy(this.callbacks),this.options.elements.each($.proxy((function(t,e){$(e).bind(this.options.eventName,$.proxy(this._handleEvent,this))}),this)))},_handleEvent:function(t){this.proxy.setOption("data",{actionName:this.options.action,className:this.options.className,objectIDs:[$(t.target).data("objectID")]}),this.proxy.sendRequest()}}),WCF.Action.Delete=Class.extend({_buttonSelector:"",_callback:null,_className:"",_containerSelector:"",_containers:[],init:function(t,e,i){this._containerSelector=e,this._className=t,this._buttonSelector=i||".jsDeleteButton",this._callback=null,this.proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._initElements(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Action.Delete"+this._className.hashCode(),$.proxy(this._initElements,this))},_initElements:function(){$(this._containerSelector).each(function(t,e){var i,n=$(e),s=n.wcfIdentify();WCF.inArray(s,this._containers)||(i=n.find(this._buttonSelector)).length&&(this._containers.push(s),i.click($.proxy(this._click,this)))}.bind(this))},_click:function(t){var e=$(t.currentTarget);t.preventDefault(),e.data("confirmMessageHtml")||e.data("confirmMessage")?WCF.System.Confirmation.show(e.data("confirmMessageHtml")?e.data("confirmMessageHtml"):e.data("confirmMessage"),$.proxy(this._execute,this),{target:e},void 0,!!e.data("confirmMessageHtml")):(WCF.LoadingOverlayHandler.updateIcon(e),this._sendRequest(e))},_didTriggerEffect:function(t){},_execute:function(t,e){"cancel"!==t&&(WCF.LoadingOverlayHandler.updateIcon(e.target),this._sendRequest(e.target))},_sendRequest:function(t){this.proxy.setOption("data",{actionName:"delete",className:this._className,interfaceName:"wcf\\data\\IDeleteAction",objectIDs:[$(t).data("objectID")]}),this.proxy.sendRequest()},_success:function(t,e,i){this._callback&&this._callback(t.objectIDs),this.triggerEffect(t.objectIDs)},setCallback:function(t){if("function"!=typeof t)throw new TypeError("[WCF.Action.Delete] Expected a valid callback for '"+this._className+"'.");this._callback=t},triggerEffect:function(t){this._containers.forEach(function(e){var i,n=$("#"+e),s=n.find(this._buttonSelector);WCF.inArray(s.data("objectID"),t)&&(i=this,n.wcfBlindOut("up",(function(){var t=$(this).remove();i._containers.splice(i._containers.indexOf(t.wcfIdentify()),1),i._didTriggerEffect(t),s.data("eventName")&&WCF.System.Event.fireEvent("com.woltlab.wcf.action.delete",s.data("eventName"),{button:s,container:t})})))}.bind(this))}}),WCF.Action.NestedDelete=WCF.Action.Delete.extend({triggerEffect:function(t){var e,i,n;for(e in this._containers)i=$("#"+this._containers[e]),WCF.inArray(i.find(this._buttonSelector).data("objectID"),t)&&(i.has("ol").has("li").length?(i.is(":only-child")?i.parent().replaceWith(i.find("> ol")):i.replaceWith(i.find("> ol > li")),this._containers.splice(this._containers.indexOf(i.wcfIdentify()),1),this._didTriggerEffect(i)):(n=this,i.wcfBlindOut("up",(function(){$(this).remove(),n._containers.splice(n._containers.indexOf($(this).wcfIdentify()),1),n._didTriggerEffect($(this))}))))}}),WCF.Action.Toggle=Class.extend({_buttonSelector:".jsToggleButton",_className:"",_containerSelector:"",_containers:[],init:function(t,e,i){this._containerSelector=e,this._className=t,this._buttonSelector=i||".jsToggleButton",this._containers=[];var n={success:$.proxy(this._success,this)};this.proxy=new WCF.Action.Proxy(n),this._initElements(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Action.Toggle"+this._className.hashCode(),$.proxy(this._initElements,this))},_initElements:function(){$(this._containerSelector).each($.proxy((function(t,e){var i=$(e),n=i.wcfIdentify();WCF.inArray(n,this._containers)||(this._containers.push(n),i.find(this._buttonSelector).click($.proxy(this._click,this)))}),this))},_click:function(t){var e=$(t.currentTarget);t.preventDefault(),e.data("confirmMessageHtml")||e.data("confirmMessage")?WCF.System.Confirmation.show(e.data("confirmMessageHtml")?e.data("confirmMessageHtml"):e.data("confirmMessage"),$.proxy(this._execute,this),{target:e},void 0,!!e.data("confirmMessageHtml")):(WCF.LoadingOverlayHandler.updateIcon(e),this._sendRequest(e))},_execute:function(t,e){"cancel"!==t&&(WCF.LoadingOverlayHandler.updateIcon(e.target),this._sendRequest(e.target))},_sendRequest:function(t){this.proxy.setOption("data",{actionName:"toggle",className:this._className,interfaceName:"wcf\\data\\IToggleAction",objectIDs:[$(t).data("objectID")]}),this.proxy.sendRequest()},_success:function(t,e,i){this.triggerEffect(t.objectIDs)},triggerEffect:function(t){var e,i,n;for(e in this._containers)n=(i=$("#"+this._containers[e])).find(this._buttonSelector),WCF.inArray(n.data("objectID"),t)&&(i.wcfHighlight(),this._toggleButton(i,n))},_toggleButton:function(t,e){var i="";const n=e[0].querySelector("fa-icon");"square"===n.name?(n.setIcon("square-check"),i=e.data("disableTitle")?e.data("disableTitle"):WCF.Language.get("wcf.global.button.disable"),e.attr("title",i)):(n.setIcon("square"),i=e.data("enableTitle")?e.data("enableTitle"):WCF.Language.get("wcf.global.button.enable"),e.attr("title",i)),t.toggleClass("disabled")}}),WCF.Date={},WCF.Dictionary=Class.extend({_variables:{},init:function(){this._variables={}},add:function(t,e){this._variables[t]=e},addObject:function(t){for(var e in t)this.add(e,t[e])},addDictionary:function(t){t.each($.proxy((function(t){this.add(t.key,t.value)}),this))},get:function(t){return this.isset(t)?this._variables[t]:null},isset:function(t){return this._variables.hasOwnProperty(t)},remove:function(t){delete this._variables[t]},each:function(t){var e;if($.isFunction(t))for(e in this._variables)t({key:e,value:this._variables[e]})},count:function(){return $.getLength(this._variables)},isEmpty:function(){return!this.count()}}),null==window.WCF.Language&&(WCF.Language={add:function(t,e){require(["Language"],(function(i){i.add(t,e)}))},addObject:function(t){require(["Language"],(function(e){e.addObject(t)}))},get:function(t,e){throw new Error('Call to deprecated WCF.Language.get("'+t+'")')}}),WCF.Number={round:function(t,e){return e=Math.pow(10,e||0),Math.round(t*e)/e}},WCF.String={addThousandsSeparator:function(t){return Number(t).toLocaleString(document.documentElement.lang)},escapeHTML:function(t){return String(t).replace(/&/g,"&").replace(/"/g,""").replace(//g,">")},escapeRegExp:function(t){return String(t).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},formatNumeric:function(t,e){var i=e||2;return Number(t).toLocaleString(document.documentElement.lang,{maximumFractionDigits:i}).replace("-","−")},lcfirst:function(t){return String(t).substring(0,1).toLowerCase()+t.substring(1)},ucfirst:function(t){return String(t).substring(0,1).toUpperCase()+t.substring(1)},unescapeHTML:function(t){return String(t).replace(/&/g,"&").replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">")}},WCF.TabMenu={init:function(){require(["WoltLabSuite/Core/Ui/TabMenu"],(function(t){t.setup()}))},reload:function(){this.init()}},WCF.Collapsible={},WCF.Collapsible.Simple={init:function(){$(".jsCollapsible").each($.proxy((function(t,e){this._initButton(e)}),this))},_initButton:function(t){var e=$(t);e.data("isOpen")||$("#"+e.data("collapsibleContainer")).hide(),e.click($.proxy(this._toggle,this))},_toggle:function(t){var e=$(t.currentTarget),i=e.data("isOpen"),n=$("#"+$.wcfEscapeID(e.data("collapsibleContainer")));return i?(n.stop().wcfBlindOut("vertical",$.proxy((function(){this._toggleImage(e)}),this)),i=!1):(n.stop().wcfBlindIn("vertical",$.proxy((function(){this._toggleImage(e)}),this)),i=!0),e.data("isOpen",i),t.stopPropagation(),!1},_toggleImage:function(t){const e=t[0].querySelector("fa-icon");t.data("isOpen")?e.setIcon("chevron-down"):e.setIcon("chevron-right")}},WCF.Collapsible.Remote=Class.extend({_className:"",_containers:{},_containerData:{},_proxy:null,init:function(t){this._className=t,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._init(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Collapsible.Remote",$.proxy(this._init,this))},_init:function(t){this._getContainers().each($.proxy((function(t,e){var i=$(e),n=i.wcfIdentify();void 0===this._containers[n]&&(this._containers[n]=i,this._initContainer(n))}),this))},_initContainer:function(t){var e=this._getTarget(t),i=this._getButtonContainer(t),n=this._createButton(t,i);this._containerData[t]={button:n,buttonContainer:i,isOpen:this._containers[t].data("isOpen"),target:e},this._containers[t].data("isOpen")||$("#"+t).addClass("jsCollapsed")},_getContainers:function(){},_getTarget:function(t){},_getButtonContainer:function(t){},_createButton:function(t,e){var i=elBySel(".jsStaticCollapsibleButton",e[0]);return null!==i&&i.parentNode===e[0]?(i.classList.remove("jsStaticCollapsibleButton"),i=$(i)):i=$(``).prependTo(e),i.data("containerID",t).click($.proxy(this._toggleContainer,this)),i},_toggleContainer:function(t){var e=$(t.currentTarget).data("containerID"),i=this._containerData[e].isOpen,n=i?"open":"close",s=i?"close":"open";this._proxy.setOption("data",{actionName:"loadContainer",className:this._className,interfaceName:"wcf\\data\\ILoadableContainerAction",objectIDs:[this._getObjectID(e)],parameters:$.extend(!0,{containerID:e,currentState:n,newState:s},this._getAdditionalParameters(e))}),this._proxy.sendRequest(),$("#"+e).toggleClass("jsCollapsed")},_exchangeIcon:function(t,e){e=e||"spinner",t[0].querySelector("fa-icon").setIcon(e)},_getObjectID:function(t){return $("#"+t).data("objectID")},_getAdditionalParameters:function(t){return{}},_updateContent:function(t,e,i){this._containerData[t].target.html(e)},_success:function(t,e,i){var n,s;t.returnValues.containerID&&(n=t.returnValues.containerID,this._containers[n]&&(this._containerData[n].isOpen=!!t.returnValues.isOpen,s=t.returnValues.isOpen?"open":"close",this._updateContent(n,$.trim(t.returnValues.content),s)))}}),WCF.Collapsible.SimpleRemote=WCF.Collapsible.Remote.extend({init:function(t){this._super(t),this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1})},_initContainer:function(t){this._super(t),this._containerData[t].isOpen||(this._containerData[t].target.hide(),this._exchangeIcon(this._containerData[t].button,"chevron-right"))},_toggleContainer:function(t){var e=$(t.currentTarget).data("containerID"),i=this._containerData[e].isOpen,n=i?"open":"close",s=i?"close":"open";this._proxy.setOption("data",{actionName:"toggleContainer",className:this._className,interfaceName:"wcf\\data\\IToggleContainerAction",objectIDs:[this._getObjectID(e)],parameters:$.extend(!0,{containerID:e,currentState:n,newState:s},this._getAdditionalParameters(e))}),this._proxy.sendRequest(),this._exchangeIcon(this._containerData[e].button,"open"===s?"chevron-down":"chevron-right"),"open"===s?this._containerData[e].target.show():this._containerData[e].target.hide(),$("#"+e).toggleClass("jsCollapsed"),this._containerData[e].isOpen="open"===s}}),WCF.User={userID:0,username:"",init:function(t,e){this.userID=t,this.username=e}},WCF.Effect={},WCF.Effect.Scroll=Class.extend({scrollTo:function(t,e,i){var n,s,a;return!t.length||((n=t.getOffsets("offset").top)>(s=$(document).height())-(a=$(window).height())&&(n=s-a)<0&&(n=0),!0===i?$("html,body").scrollTop(n):$("html,body").animate({scrollTop:n},400,(function(t,e,i,n,s){return-n*((e=e/s-1)*e*e*e-1)+i})),!1)}}),WCF.CloseOverlayHandler={addCallback:function(t,e){require(["Ui/CloseOverlay"],(function(i){i.add(t,e)}))},removeCallback:function(t){require(["Ui/CloseOverlay"],(function(e){e.remove(t)}))},forceExecution:function(){require(["Ui/CloseOverlay"],(function(t){t.execute()}))}},WCF.DOMNodeInsertedHandler={addCallback:function(t,e){require(["WoltLabSuite/Core/Dom/Change/Listener"],(function(t){t.add("__legacy__",e)}))},_executeCallbacks:function(){require(["WoltLabSuite/Core/Dom/Change/Listener"],(function(t){t.trigger()}))},execute:function(){this._executeCallbacks()}},WCF.DOMNodeRemovedHandler={_callbacks:new WCF.Dictionary,_isExecuting:!1,_isListening:!1,addCallback:function(t,e){if(this._bindListener(),this._callbacks.isset(t))return console.debug("[WCF.DOMNodeRemovedHandler] identifier '"+t+"' is already bound to a callback"),!1;this._callbacks.add(t,e)},removeCallback:function(t){this._callbacks.isset(t)&&this._callbacks.remove(t)},_bindListener:function(){this._isListening||(window.MutationObserver?new MutationObserver(function(t){var e=!1;t.forEach(function(t){t.removedNodes.length&&(e=!0)}.bind(this)),e&&this._executeCallbacks({})}.bind(this)).observe(document.body,{childList:!0,subtree:!0}):$(document).bind("DOMNodeRemoved",$.proxy(this._executeCallbacks,this)),this._isListening=!0)},_executeCallbacks:function(t){this._isExecuting||(this._isExecuting=!0,this._callbacks.each((function(e){e.value(t)})),this._isExecuting=!1)}},WCF.Option={},WCF.Option.Handler=Class.extend({init:function(){this._initOptions(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Option.Handler",$.proxy(this._initOptions,this))},_initOptions:function(){$(".jsEnablesOptions").each($.proxy(this._initOption,this))},_initOption:function(t,e){this._change(e),$(e).change($.proxy(this._handleChange,this))},_handleChange:function(t){this._change($(t.target))},_change:function(option){var disableOptions,enableOptions,isActive,$value,relevantDisableOptions,relevantEnableOptions,$index,$item;switch(option=$(option),disableOptions=eval(option.data("disableOptions")),enableOptions=eval(option.data("enableOptions")),option.getTagName()){case"input":switch(option.attr("type")){case"checkbox":this._execute(option.prop("checked"),disableOptions,enableOptions);break;case"radio":option.prop("checked")&&(isActive=!0,option.data("isBoolean")&&1!=option.val()&&(isActive=!1),this._execute(isActive,disableOptions,enableOptions))}break;case"select":if($value=option.val(),relevantDisableOptions=[],relevantEnableOptions=[],disableOptions.length>0)for($index in disableOptions)$item=disableOptions[$index],$item.value==$value?relevantDisableOptions.push($item.option):relevantEnableOptions.push($item.option);if(enableOptions.length>0)for($index in enableOptions)$item=enableOptions[$index],$item.value==$value?relevantEnableOptions.push($item.option):relevantDisableOptions.push($item.option);this._execute(!0,relevantDisableOptions,relevantEnableOptions)}},_execute:function(t,e,i){var n,s,a,o;if(e.length>0)for(n=0,s=e.length;n0)for(n=0,s=i.length;n").addClass(this._options.messageType).text(this._options.emptyMessage)):this._options.emptyMessageHtml?this._tableContainer.replaceWith($("

").addClass(this._options.messageType).html(this._options.emptyMessageHtml)):this._options.refreshPage?this._options.updatePageNumber?(t=window.location.href.match(/(\?|&)pageNo=(\d+)/g))&&(e=t[t.length-1].match(/\d+/g),this._options.updatePageNumber>0?e++:e--,window.location=window.location.href.replace(t[t.length-1],t[t.length-1][0]+"pageNo="+e)):window.location.reload():this._tableContainer.remove()},_remove:function(t){var e;$.getLength(t)?(e=$(t.target)).hasClass(this._rowClassName)&&(this._options.isTable?1==e.parents("tbody:eq(0)").children("tr").length&&this._handleEmptyTable():1===this._getRowCount()&&this._handleEmptyTable()):this._getRowCount()||this._handleEmptyTable()}}),WCF.Search={},WCF.Search.Base=Class.extend({_callback:null,_caretAt:-1,_className:"",_commaSeperated:!1,_delay:0,_excludedSearchValues:[],_itemCount:0,_itemIndex:-1,_lastValue:"",_list:null,_oldSearchString:[],_proxy:null,_searchInput:null,_triggerLength:3,_timer:null,init:function(t,e,i,n,s){null==e||$.isFunction(e)?(this._callback=e||null,this._caretAt=-1,this._delay=0,this._excludedSearchValues=[],this._lastValue="",i&&(this._excludedSearchValues=i),this._searchInput=$(t),this._searchInput.length?(this._searchInput.keydown($.proxy(this._keyDown,this)).keyup($.proxy(this._keyUp,this)).wrap(''),$.browser.mozilla&&$.browser.touch&&this._searchInput.on("input",$.proxy(this._keyUp,this)),this._list=$('