PageSourceSearch

https://brownsboard.com/assets/forum/groups-details.d210c73427a48ea66469.min.js

js brownsboard.com collected 2026-10-09 22:40:26 UTC 33,008 bytes, 1 lines download raw bytes

1(self.webpackChunknodebb=self.webpackChunknodebb||[]).push([[408,644,1091,1374,2067,3417,3602,4271,6174,6198,6852,7082,7212,8314,9127,9185,9897],{2734(x,D,c){"use strict";var v,w;v=[c(9336),c(9664),c(7308),c(2473),c(6684),c(2254),c(9897),c(3230),c(5348),c(5303),c(9930),c(76),c(7459),c(4405),c(1335)],w=(function(m,n,h,a,f,t,s,r,g,e,o,l,d,y,u){const i={};let b;i.init=function(){const A=a.get("groups/container");b=ajaxify.data.group.name,p(A),ajaxify.data.group.isOwner&&(i.prepareSettings(),f.init(a.get("groups/cover"),function(I,E,T){socket.emit("groups.cover.update",{groupName:b,imageData:I,position:E},T)},function(){t.show({title:"[[groups:upload-group-cover]]",socketMethod:"groups.cover.update",aspectRatio:NaN,allowSkippingCrop:!0,restrictImageDimension:!1,paramName:"groupName",paramValue:b},function(I){I=(I.startsWith("http")?"":config.relative_path)+I+"?"+Date.now(),a.get("groups/cover").css("background-image","url("+I+")")})},k)),n.init(),$('[component="groups/invite-members"]').on("click",function(){ajaxify.data.group.slug==="administrators"?s.post("/users/reauth/verify").then(()=>{O()}).catch(o.error):O()}),a.get("groups/activity").find(".content img:not(.not-responsive)").addClass("img-fluid"),A.on("click","[data-action]",function(){const I=$(this),E=I.parents("[data-uid]"),T=E.find('[component="groups/owner/icon"]'),S=!!parseInt(E.attr("data-isowner"),10),M=E.attr("data-uid"),L=I.attr("data-action");switch(L){case"toggleOwnership":n.toggleOwnership(ajaxify.data.group.slug,M,S).then(()=>{T.toggleClass("d-none"),E.attr("data-isowner",S?"0":"1")}).catch(o.error);break;case"kick":n.kickMember(ajaxify.data.group.slug,M).then(()=>{E.remove(),$('[component="group/member/count"]').text(l.humanReadableNumber(ajaxify.data.group.memberCount-1))}).catch(o.error);break;case"update":i.update();break;case"delete":i.deleteGroup();break;case"join":s.put(`/groups/${ajaxify.data.group.slug}/membership/${encodeURIComponent(M||app.user.uid)}`,void 0).then(()=>ajaxify.refresh()).catch(o.error);break;case"leave":s.del(`/groups/${ajaxify.data.group.slug}/membership/${encodeURIComponent(M||app.user.uid)}`,void 0).then(()=>ajaxify.refresh()).catch(o.error);break;case"accept":s.put(`/groups/${ajaxify.data.group.slug}/pending/${encodeURIComponent(M)}`).then(()=>{E.remove(),n.refresh(),C()}).catch(o.error);break;case"reject":s.del(`/groups/${ajaxify.data.group.slug}/pending/${encodeURIComponent(M)}`).then(()=>{E.remove(),n.refresh(),C()}).catch(o.error);break;case"acceptInvite":s.put(`/groups/${ajaxify.data.group.slug}/invites/${encodeURIComponent(app.user.uid)}`).then(()=>{M?(E.remove(),n.refresh()):ajaxify.refresh()}).catch(o.error);break;case"rescindInvite":case"rejectInvite":s.del(`/groups/${ajaxify.data.group.slug}/invites/${encodeURIComponent(M||app.user.uid)}`).then(()=>{M?(E.remove(),j(),n.refresh()):ajaxify.refresh()}).catch(o.error);break;case"acceptAll":case"rejectAll":{const P=document.querySelector('[component="groups/pending"]');if(!P)return;const B=L==="acceptAll"?"put":"del";let U=Array.prototype.map.call(P.querySelectorAll("[data-uid]"),N=>parseInt(N.getAttribute("data-uid"),10));U=U.filter((N,R)=>U.indexOf(N)===R),Promise.all(U.map(async N=>s[B](`/groups/${ajaxify.data.group.slug}/pending/${encodeURIComponent(N)}`))).then(()=>{ajaxify.refresh()}).catch(o.error);break}}})};function p(A){if(window.location.hash){const I=window.location.hash.slice(1),E=document.querySelector(`[data-bs-toggle="tab"][data-bs-target="#groups-${I}"]`);E&&m.Tab.getOrCreateInstance(E).show()}A.find('[data-bs-toggle="tab"]').on("shown.bs.tab",function(I){const E=I.target.getAttribute("data-bs-target");if(!E||!E.startsWith("#"))return;const T=E.slice(1),S=T.startsWith("groups-")?`#${T.slice(7)}`:E;window.location.hash!==S&&history.replaceState(null,"",S)})}i.prepareSettings=function(){const A=a.get("groups/settings"),I=A.find('[name="labelColor"]'),E=A.find('[name="textColor"]'),T=A.find('[data-action="icon-select"]'),S=A.find(".badge"),M=A.find(".badge-text"),L=S.find("i"),P=A.find('[name="userTitle"]'),B=A.find('[name="userTitleEnabled"]'),U=A.find('[name="icon"]');I.on("input",function(){S.css("background-color",I.val())}),E.on("input",function(){S.css("color",E.val())}),T.on("click",function(){h.init(L,function(){const R=L.val();L.toggleClass("hidden",!R||R==="fa-nbb-none"),U.val(R)})}),P.on("keyup",function(){M.translateText(P.val())}),B.on("change",function(){const R=a.get("groups/userTitleOption");this.checked?(R.removeAttr("disabled"),S.removeClass("hide")):(R.attr("disabled","disabled"),S.addClass("hide"))});const N=g.init($('.member-post-cids-selector [component="category-selector"]'),{onSelect:function(R){const W=new Set(($("#memberPostCids").val()||"").split(",").filter(
1Boolean));return W.has(String(R.cid))?W.delete(String(R.cid)):W.add(String(R.cid)),$("#memberPostCids").val(Array.from(W).join(",")),N.selectCategory(0),!1}})},i.update=function(){const A=a.get("groups/settings"),I=A.find('input[type="checkbox"][name]');if(A.length){const E=A.serializeObject();Array.isArray(E.memberPostCids)||(E.memberPostCids=$("#memberPostCids").val()),I.each(function(T,S){S=$(S),S.length&&(E[S.attr("name")]=S.prop("checked"))}),s.put(`/groups/${ajaxify.data.group.slug}`,E).then(()=>{if(E.name!==ajaxify.data.group.name){let T=window.location.pathname;T=T.slice(1,T.lastIndexOf("/")+1),ajaxify.go(T+r(E.name))}o.success("[[groups:event.updated]]")}).catch(o.error)}},i.deleteGroup=function(){e.confirm(d.compile("groups:details.delete-group-confirm",utils.escapeHTML(b)),function(A){A&&e.prompt("[[groups:details.delete-group-confirm-label]]",function(I){I===b&&s.del(`/groups/${ajaxify.data.group.slug}`,{}).then(()=>{o.success("[[groups:event.deleted, "+utils.escapeHTML(b)+"]]"),ajaxify.go("groups")}).catch(o.error)})})};function C(){$('[component="groups/pending/alert"]').toggleClass("hidden",$('[component="groups/pending"] tbody tr').length>0)}function j(){$('[component="groups/invited/alert"]').toggleClass("hidden",$('[component="groups/invited"] tbody tr').length>0)}async function O(){if(!ajaxify.data.group.isOwner)return;const A=new Map,I=await u.render("partials/groups/invite-members",{}),E=await e.dialog({title:"[[groups:invite-members]]",message:I,buttons:{OK:{label:"[[groups:invite-members]]",callback:async function(){const B=E.find(".tab-pane.active").attr("id")==="bulk-invite-pane"?await L():Array.from(A.keys());for(const U of B)await T(U);S(),E.modal("hide")}}}});async function T(P){return s.post(`/groups/${ajaxify.data.group.slug}/invites/${P}`).catch(o.error)}E.on("shown.bs.modal",function(){const P=E.find('[component="groups/members/invite"]');y.user(P,async function(B,U){A.set(U.item.user.uid,U.item.user),await M(),P.val("")})});async function S(){const P=await s.get(`/api/groups/${ajaxify.data.group.slug}`),B=await app.parseAndTranslate("groups/details","group.invited",{group:P.group});$('[component="groups/invited"] tbody').html(B),j(),n.refresh(P)}async function M(){const P=await app.parseAndTranslate("partials/groups/invite-members","selectedUsers",{selectedUsers:Array.from(A.values())});E.find('[component="groups/members/invite-results"]').html(P)}E.find('[component="groups/members/invite-results"]').on("click",'[data-action="remove"]',function(){const P=$(this).closest("[data-uid]"),B=P.data("uid");A.delete(B),P.remove()});async function L(){const P=$('[component="groups/members/bulk-invite"]').val();if(!P)return[];const B=P.split(",").map(r),U=(await Promise.all(B.map(R=>s.head(`/users/bySlug/${R}`).then(()=>R).catch(()=>!1)))).filter(Boolean);return await Promise.all(U.map(R=>s.get(`/users/bySlug/${R}`).then(({uid:W})=>W)))}}function k(){e.confirm("[[groups:remove-group-cover-confirm]]",function(A){A&&socket.emit("groups.cover.remove",{groupName:ajaxify.data.group.name},function(I){I?o.error(I):ajaxify.refresh()})})}return i}).apply(D,v),w!==void 0&&(x.exports=w)},9664(x,D,c){"use strict";var v,w;v=[c(9897),c(5303),c(9930),c(76),c(1335)],w=(function(m,n,h,a,f){const t={};let s;t.init=function(u){s=u||"groups/details",r(),e(),o()},t.refresh=async function(u){const{group:i}=u||await m.get(`/api/groups/${ajaxify.data.group.slug}`),b=await y(i.members);$('[component="groups/members"] tbody').html(b),$('[component="group/member/count"]').text(a.humanReadableNumber(i.memberCount)),$('[component="group/pending/count"]').text(a.humanReadableNumber(i.pending.length)),$('[component="group/invited/count"]').text(a.humanReadableNumber(i.invited.length)),ajaxify.data.group.members=i.members,ajaxify.data.group.memberCount=i.memberCount,ajaxify.data.group.invited=i.invited,ajaxify.data.group.pending=i.pending};function r(){$('[component="groups/members/add"]').on("click",async function(){ajaxify.data.group.slug==="administrators"&&await m.post("/users/reauth/verify"),f.render("admin/partials/groups/add-members",{}).then(async function(i){const b=[],p=await n.dialog({title:"[[groups:detail
1s.add-member]]",message:i,buttons:{OK:{label:"[[groups:details.add-member]]",callback:function(){const C=[];p.find("[data-uid][data-selected]").each(function(j,O){C.push(b[$(O).attr("data-uid")])}),g(C).then(()=>{p.modal("hide")})}}}});p.on("click","[data-username]",function(){$(this).attr("data-selected")==="1"?$(this).removeAttr("data-selected"):$(this).attr("data-selected",1),$(this).find("i").toggleClass("invisible")}),p.find("input").on("keyup",function(){m.get("/api/users",{query:$(this).val(),paginate:!1},function(C,j){if(C)return h.error(C);j.users.forEach(function(O){b[O.uid]=O}),app.parseAndTranslate("admin/partials/groups/add-members","users",{users:j.users},function(O){p.find("#search-result").html(O)})})})})})}async function g(u){let i=[];for(const C of u)try{await m.put(`/groups/${ajaxify.data.group.slug}/membership/${C.uid}`),i.push(C)}catch(j){h.error(j)}const b=$('[component="groups/members"]');i=i.filter(C=>!b.find(`[data-uid="${C.uid}"]`).length);const p=await y(i);$('[component="groups/members"] tbody').prepend(p)}function e(){const u=$('[component="groups/members/search"]');u.on("keyup",utils.debounce(async function(){const i=u.val(),b=await m.get(`/groups/${ajaxify.data.group.slug}/members`,{query:i}),p=await y(b.users);$('[component="groups/members"] tbody').html(p),$('[component="groups/members"]').attr("data-nextstart",20)},250))}function o(){$('[component="groups/members"]').on("scroll",utils.debounce(function(){const u=$(this),i=(u[0].scrollHeight-u.innerHeight())*.9;u.scrollTop()>i&&!$('[component="groups/members/search"]').val()&&l()},250))}async function l(){const u=$('[component="groups/members"]');if(u.attr("loading"))return;u.attr("loading",1);const i=await m.get(`/groups/${ajaxify.data.group.slug}/members`,{after:u.attr("data-nextstart")}).catch(h.error);i&&i.users.length?(await d(i.users),u.removeAttr("loading"),u.attr("data-nextstart",i.nextStart)):u.removeAttr("loading")}async function d(u){u=u.filter(function(b){return!$('[component="groups/members"] [data-uid="'+b.uid+'"]').length});const i=await y(u);$('[component="groups/members"] tbody').append(i)}async function y(u){return await app.parseAndTranslate(s,"group.members",{group:{members:u,isOwner:ajaxify.data.group.isOwner}})}return t.toggleOwnership=async function(u,i,b){return await m[b?"del":"put"](`/groups/${u}/ownership/${encodeURIComponent(i)}`)},t.kickMember=async function(u,i){return await m.del(`/groups/${u}/membership/${encodeURIComponent(i)}`)},t}).apply(D,v),w!==void 0&&(x.exports=w)},9897(x,D,c){"use strict";c.r(D),c.d(D,{del:()=>y,get:()=>g,head:()=>e,patch:()=>l,post:()=>o,put:()=>d});var v=c(1749),w=c.n(v),m=c(5303),n=c(7459),h=c.n(n),a=c(8636),f=c.n(a);const t=config.relative_path+"/api/v3";async function s(i,b){if(i.url=i.url.startsWith("/api")?config.relative_path+i.url:t+i.url,i.headers=i.headers||{},i.headers["x-return-to"]||(i.headers["x-return-to"]=`${window.location.pathname.slice(config.relative_path.length)}${window.location.search}`),typeof b=="function"){r(i).then(p=>b(null,p),p=>b(p));return}try{return await r(i)}catch(p){if(p.status===401){const{url:C}=await(0,v.fire)("filter:admin.reauth",{url:"login"}),j=await n.translate("[[error:api.reauth-required]]",config.userLang);(0,m.confirm)(j,O=>{O&&(a.setItem("location-hash",window.location.hash),ajaxify.go(C))})}throw p}}async function r(i){const{url:b}=i;delete i.url,i.data&&!(i.data instanceof FormData)&&(i.data=JSON.stringify(i.data||{}),i.headers["content-type"]="application/json; charset=utf-8"),{options:i}=await(0,v.fire)("filter:api.options",{options:i}),i.data&&(i.body=i.data,delete i.data);const p=await fetch(b,i),{headers:C}=p;if(C.get("x-redirect"))return r({url:C.get("x-redirect"),...i});const j=C.get("content-type"),O=j&&j.startsWith("application/json");let k;if(i.method!=="HEAD"&&(O?k=await p.json():k=await p.text()),!p.ok){let A=p.statusText;if(k){const E=O&&(k.status?.message||k.error||""),T=typeof k=="string"?k:p.statusText||`[[error:api.${p.status}]]`;A=O&&E?E:T}const I=new Error(A);throw I.status=p.status,I}return O&&k&&k.hasOwnProperty("status")&&k.hasOwnProperty("response")?k.response:k}function g(i,b,p){return s({url:i+(b&&Object.keys(b).length?"?"+$.param(b):"")},p)}function e(i,b,p){return s({url:i+(b&&Object.keys(b).length?"?"+$.param(b):""),method:"HEAD"},p)}function o(i,b,p,C){return u("POST",i,b,p,C)}function l(i,b,p,C){return u("PATCH",i,b,p,C)}function d(i,b,p,C){return u("PUT",i,b,p,C)}function y(i,b,p,C){return u("DELETE",i,b,p,C)}function u(i,b,p,C,j){return typeof C=="function"&&(j=C,C={}),s({url:b,method:i,data:p,headers:{"x-csrf-token":config.csrf_token,...C}},j)}},4405(x,D,c){"use strict";var v,w;v=[c(9897),c(9930),c(6e3),c(9787),c(5786)],w=(function(m,n,{Textcomplete:h},{TextareaEditor:a},{ContenteditableEditor:f}){const t={},s={delay:200,appendTo:null};t.init=e=>{const o={...s,...e},{input:l,onSelect:d}=o;app.loadJQueryUI(function(){l.autocomplete({position:r(),...o,open:function(){$(this).autocomplete("widget").css("z-index",100005)},select:function(y,u){g(l,d,y,u)}})})},t.user=function(e,o,l){typeof o=="function"&&(l=o,o={}),o=o||{},t.init({input:e,onSelect:l,source:(d,y)=>{o.query=d.term,m.get("/api/users",o,function(u,i){if(u)return n.error(u);if(i&&i.users){const b=i.users.map(function(p){return p&&{label:p.username,value:p.username,user:{uid:p.uid,name:p.username,slug:p.userslug,username:p.username,userslug:p.userslug,displayname:p.displayname,picture:p.picture,banned:p.banned,"icon:text":p["icon:text"],"icon:bgColor":p["icon:bgColor"]}}});y(b)}$(".ui-autocomplete a").attr("data-ajaxify","false")})}})},t.group=function(e,o){t.init({input:e,onSelect:o,source:(l,d)=>{m.get("/groups",{query:l.term},function(y,u){if(y)return n.error(y);if(u&&u.groups.length){const i=u.groups.map(function(b){return b&&{label:b.name,value:b.name,group:b}}
1);d(i)}$(".ui-autocomplete a").attr("data-ajaxify","false")})}})},t.tag=function(e,o){t.init({input:e,onSelect:o,delay:100,source:(l,d)=>{socket.emit("topics.autocompleteTags",{query:l.term,cid:ajaxify.data.cid||0},function(y,u){if(y)return n.error(y);u&&d(u),$(".ui-autocomplete a").attr("data-ajaxify","false")})}})};function r(){const e=document.querySelector("html").getAttribute("data-dir")==="rtl"?"right":"left";return{my:`${e} top`,at:`${e} bottom`,collision:"none"}}function g(e,o,l,d){o=o||function(){};const y=jQuery.Event("keypress");y.which=13,y.keyCode=13,setTimeout(function(){e.trigger(y)},100),o(l,d)}return t.setup=function({element:e,strategies:o,options:l}){const d=e.get(0);if(!d)return;let y;if(d.nodeName==="TEXTAREA"||d.nodeName==="INPUT"?y=new a(d):d.nodeName==="DIV"&&d.getAttribute("contenteditable")==="true"&&(y=new f(d)),!y)throw new Error("unknown target element type");d.setAttribute("dir",document.querySelector("html").getAttribute("data-dir"));const u=new h(y,o,{dropdown:l});return u.on("rendered",function(){u.dropdown.items.length&&u.dropdown.items[0].activate()}),u},t}).apply(D,v),w!==void 0&&(x.exports=w)},6349(x,D,c){"use strict";var v,w;v=[c(9930),c(9336),c(9897)],w=(function(m,n,h){const a={};return a.init=function(f,t){let s=t.defaultCategories||null;t=t||{},t.privilege=t.privilege||"topics:read",t.states=t.states||["watching","tracking","notwatching","ignoring"],t.cacheList=t.hasOwnProperty("cacheList")?t.cacheList:!0;let r=[];Array.isArray(t.localCategories)&&(r=t.localCategories.map(d=>({...d})),s&&(s=[...r,...s])),t.selectedCids=t.selectedCids||ajaxify.data.selectedCids||[];const g=f.find('[component="category-selector-search"]');if(!g.length)return;const e=g.parents('[component="category/dropdown"]').length>0||g.parents('[component="category-selector"]').length>0;f.on("show.bs.dropdown",function(){e&&g.removeClass("hidden");function d(){const u=g.find("input").val();u.length>1||!u&&!s?o(u,function(i){s=t.cacheList&&(s||i),l(i)}):!u&&s&&l(s)}const y=g.find("input").val("");y.on("keydown",function(u){if(u.key==="ArrowDown"){const i=f.find('[component="category/list"] li[data-cid]:first a');i.length&&(i.focus(),u.stopPropagation(),u.preventDefault())}}),g.on("click",function(u){u.preventDefault(),u.stopPropagation()}),y.on("keyup",utils.debounce(d,300)),d()}),f.on("shown.bs.dropdown",function(){["xs","sm"].includes(utils.findBootstrapEnvironment())||g.find("input").focus()}),f.on("hide.bs.dropdown",function(){e&&g.addClass("hidden"),g.off("click"),g.find("input").off("keyup keydown")});function o(d,y){h.get("/search/categories",{search:d,query:utils.params(),parentCid:t.parentCid||0,selectedCids:t.selectedCids,privilege:t.privilege,states:t.states,showLinks:t.showLinks,localOnly:t.localOnly,hideUncategorized:t.hideUncategorized},function(u,{categories:i}){if(u)return m.error(u);y(r.concat(i))})}function l(d){const y=t.selectedCids.map(String),u=(t.disabledCids||[]).map(String);d.forEach(function(i){i.selected=y.includes(String(i.cid)),u.includes(String(i.cid))&&(i.disabledClass=!0)}),app.parseAndTranslate(t.template,{categoryItems:d.slice(0,200),selectedCategory:ajaxify.data.selectedCategory,allCategoriesUrl:ajaxify.data.allCategoriesUrl,hideAll:t.hideAll},function(i){f.find('[component="category/list"]').html(i.find('[component="category/list"]').html()),f.find('[component="category/list"] [component="category/no-matches"]').toggleClass("hidden",!!d.length);const b=n.Dropdown.getInstance(f.find(".dropdown-toggle").get(0));b&&b.update()})}},a}).apply(D,v),w!==void 0&&(x.exports=w)},5348(x,D,c){"use strict";var v,w;v=[c(6349),c(5303),c(1749),c(7459),c(1335)],w=(function(m,n,h,a,f){const t={};return t.init=function(s,r){if(!s||!s.length)return;r=r||{};const g=r.onSelect||function(){};r.states=r.states||["watching","tracking","notwatching","ignoring"],r.template=r.template||"partials/category/selector-dropdown-left",h.fire("action:category.selector.options",{el:s,options:r}),m.init(s,r);const e={el:s,selectedCategory:null};s.on("click","[data-cid]",function(){const l=$(this);return l.hasClass("disabled")?!1:(e.selectCategory(l.attr("data-cid")),g({...e.selectedCategory,categoryEl:l}))});let o=e.el.find('[component="category-selector-selected"]').html();return a.translate(o,l=>{o=l}),e.selectCategory=function(l,d=null){const y=d||e.el.find('[data-cid="'+l+'"]');e.selectedCategory={cid:l,name:y.attr("data-name")},y.length?e.el.find('[component="category-selector-selected"]').html(y.find('[component="category-markup"]').html()):e.el.find('[component="category-selector-selected"]').html(o)},e.getSelectedCategory=function(){return e.selectedCategory},e.getSelectedCid=function(){return e.selectedCategory?e.selectedCategory.cid:0},r.hasOwnProperty("selectedCategory")&&app.parseAndTranslate(r.template,{selectedCategory:r.selectedCategory},function(l){e.el.find('[component="category-selector-selected"]').html(l.find('[component="category-selector-selected"]').html())}),e},t.modal=async function(s){s=s||{},s.onSelect=s.onSelect||function(){},s.onSubmit=s.onSubmit||function(){};const r=await f.render("admin/partials/categories/select-category",{message:s.message}),g=await n.dialog({title:s.title||"[[modules:composer.select-category]]",message:r,buttons:{save:{label:"[[global:select]]",className:"btn-primary",callback:o}}}),e=t.init(g.find('[component="category-selector"]'),s);function o(l){return l.preventDefault(),e.selectedCategory&&(s.onSubmit(e.selectedCategory),g.modal("hide")),!1}s.openOnLoad&&g.on("shown.bs.modal",function(){g.find(".dropdown-toggle").dropdown("toggle")}),g.find("form").on("submit",o)},t}).apply(D,v),w!==void 0&&(x.exports=w)},6684(x,D,c){"use strict";var v,w;v=[c(9930),c(1056)],w=(function(m){const n={coverEl:null,saveFn:null};n.init=function(a,f,t,s){n.coverEl=a,n.saveFn=f,a.find(".upload").on("click",t),a.find(".resize").on("click",function(){h(a)}
1),a.find(".remove").on("click",s),a.on("dragover",n.onDragOver).on("drop",n.onDrop),a.find(".save").on("click",n.save),a.addClass("initialised")},n.onDragOver=function(a){a.stopPropagation(),a.preventDefault(),a.originalEvent.dataTransfer.dropEffect="copy"},n.onDrop=function(a){a.stopPropagation(),a.preventDefault();const f=a.originalEvent.dataTransfer.files,t=new FileReader;f.length&&f[0].type.match("image.*")&&(t.onload=function(s){n.coverEl.css("background-image","url("+s.target.result+")"),n.newCover=s.target.result},t.readAsDataURL(f[0]),h(n.coverEl))};function h(a){a.toggleClass("active",1).backgroundDraggable({axis:"y",units:"percent"}),m.alert({alert_id:"drag_start",title:"[[modules:cover.dragging-title]]",message:"[[modules:cover.dragging-message]]",timeout:5e3})}return n.save=function(){n.coverEl.addClass("saving"),n.saveFn(n.newCover||void 0,n.coverEl.css("background-position"),function(a){a?m.error(a):(n.coverEl.toggleClass("active",0),n.coverEl.backgroundDraggable("disable"),n.coverEl.off("dragover",n.onDragOver),n.coverEl.off("drop",n.onDrop),m.success("[[modules:cover.saved]]")),n.coverEl.removeClass("saving")})},n}).apply(D,v),w!==void 0&&(x.exports=w)},5303(x,D,c){"use strict";c.r(D),c.d(D,{alert:()=>a,confirm:()=>f,dialog:()=>h,prompt:()=>t,promptPassword:()=>s});var v=c(3530),w=c.n(v),m=c(7459),n=c.n(m);v.setDefaults({locale:config.userLang}),m.translateKeys(["modules:bootbox.ok","modules:bootbox.cancel","modules:bootbox.confirm"]).then(e=>{v.addLocale(config.userLang,{OK:e[0],CANCEL:e[1],CONFIRM:e[2]}),v.setLocale(config.userLang)});async function h(e){const[o,l,d]=await Promise.all([m.translate(e.title||""),r(e)||"",g(e.buttons)]);return v.dialog({...e,title:o,message:l,buttons:d})}async function a(e,o){const[l,d]=await Promise.all([e&&e.title?m.translate(e.title):null,r(e)]);return o=typeof o=="function"?o:e.callback,v.alert({...e,title:l,message:d,callback:o})}async function f(e,o){const[l,d]=await Promise.all([e&&e.title?m.translate(e.title):null,r(e)]);return o=typeof o=="function"?o:e.callback,v.confirm({...e,title:l,message:d,callback:o})}async function t(e,o){const[l,d]=await Promise.all([m.translate(typeof e=="string"?e:e.title),e&&e.message?r(e):null]);return o=typeof o=="function"?o:e.callback,v.prompt({...e,title:l,message:d,callback:o})}async function s(e){return typeof e=="string"&&(e={title:e}),e=e||{title:"[[user:current-password]]",message:"[[user:emailUpdate.password-challenge]]"},await new Promise(o=>{t({...e,inputType:"password",required:!0,value:"",callback:o})})}function r(e){const o=e&&e.message?e.message:e;return o instanceof jQuery?o:m.translate(o||"")}async function g(e){if(!Object.keys(e||{}).length)return;const o=Object.values(e);return await Promise.all(o.map(async l=>({...l,label:await m.translateKey(l.label)})))}},2254(x,D,c){"use strict";var v,w;v=[c(9930)],w=(function(m){const n={};n.show=function(t,s){const r=t.hasOwnProperty("fileSize")&&t.fileSize!==void 0?parseInt(t.fileSize,10):!1;app.parseAndTranslate("modals/upload-file",{showHelp:t.hasOwnProperty("showHelp")&&t.showHelp!==void 0?t.showHelp:!0,fileSize:r,title:t.title||"[[global:upload-file]]",description:t.description||"",button:t.button||"[[global:upload]]",accept:t.accept?t.accept.replace(/,/g,"&#44; "):""},function(g){g.modal("show"),g.on("hidden.bs.modal",function(){g.remove()});const e=g.find("#uploadForm");t.route&&e.attr("action",t.route),g.find("#fileUploadSubmitBtn").on("click",function(){return $(this).addClass("disabled"),t.uploadModal=g,f(t,s),!1})})},n.handleImageCrop=function(t,s){$("#crop-picture-modal").remove(),app.parseAndTranslate("modals/crop_picture",{url:utils.escapeHTML(t.url)},async function(r){r.modal({backdrop:"static"}).modal("show");const g=parseInt($(window).height()/2,10),e=document.getElementById("cropped-image");$(e).css("max-height",g);const o=(await c.e(239).then(()=>c.t(5643,23))).default;let l=new o(e,{aspectRatio:t.aspectRatio,autoCropArea:1,viewMode:1,checkCrossOrigin:!0,cropmove:function(){t.restrictImageDimension&&(l.cropBoxData.width>t.imageDimension&&l.setCropBoxData({width:t.imageDimension}),l.cropBoxData.height>t.imageDimension&&l.setCropBoxData({height:t.imageDimension}))},ready:function(){if(!a(l,t))return r.modal("hide");if(t.restrictImageDimension){const d=e.width<e.height?e.width:e.height,y=d>t.imageDimension?t.imageDimension:d;l.setCropBoxData({width:y,height:y})}r.find(".rotate").on("click",function(){const d=this.getAttribute("data-degrees");l.rotate(d)}),r.find(".flip").on("click",function(){const d=this.getAttribute("data-option");this.getAttribute("data-method")==="scaleX"?l.scaleX(d):l.scaleY(
1d),this.setAttribute("data-option",d*-1)}),r.find(".reset").on("click",function(){l.reset()}),r.find(".crop-btn").on("click",function(){const d=a(l,t);d&&($(this).addClass("disabled"),r.find("#upload-progress-bar").css("width","0%"),r.find("#upload-progress-box").show().removeClass("hide"),h({data:t,imageData:d,progressBarEl:r.find("#upload-progress-bar")},function(y,u){if(y)return r.find("#upload-progress-box").hide(),r.find(".upload-btn").removeClass("disabled"),r.find(".crop-btn").removeClass("disabled"),m.error(y);s(u.url),r.modal("hide")}))}),r.find(".upload-btn").on("click",async function(){$(this).addClass("disabled"),l.destroy();const d=(await c.e(239).then(()=>c.t(5643,23))).default;l=new d(e,{viewMode:1,autoCropArea:1,ready:function(){r.find(".crop-btn").trigger("click")}})})}})})};function h(t,s){const r={};r[t.data.paramName]=t.data.paramValue,r.method=t.data.socketMethod,r.size=t.imageData.length,r.progress=0;const g=1e5;function e(){const o=t.imageData.slice(r.progress,r.progress+g);socket.emit("uploads.upload",{chunk:o,params:r},function(l,d){if(l)return s(l);if(r.progress+g<r.size)return r.progress+=o.length,t.progressBarEl.css("width",(r.progress/r.size*100).toFixed(2)+"%"),setTimeout(e,100);t.progressBarEl.css("width","100%"),s(null,d)})}e()}function a(t,s){let r;try{const g={};s.restrictImageDimension&&(g.width=s.imageDimension,g.height=s.imageDimension,g.imageSmoothingEnabled=!0,g.imageSmoothingQuality="high"),r=s.imageType?t.getCroppedCanvas(g).toDataURL(s.imageType):t.getCroppedCanvas(g).toDataURL()}catch(g){["The operation is insecure.","Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported."].indexOf(g.message)!==-1?m.error("[[error:cors-error]]"):m.error(g.message);return}return r}function f(t,s){function r(d,y){d==="error"&&t.uploadModal.find("#fileUploadSubmitBtn").removeClass("disabled"),t.uploadModal.find("#alert-"+d).translateText(y).removeClass("hide")}const g=t.uploadModal.find("#fileInput");if(!g.val())return r("error","[[uploads:select-file-to-upload]]");const e=g[0].files[0],o=t.hasOwnProperty("fileSize")&&t.fileSize?parseInt(t.fileSize,10):!1;if(o&&e.size>o*1024)return r("error","[[error:file-too-big, "+o+"]]");if(e.name.endsWith(".gif")){c.e(844).then(function(){var d=[c(4187)];(function(y){y.ajaxSubmit(t.uploadModal,s)}).apply(null,d)}).catch(c.oe);return}const l=new FileReader;l.addEventListener("load",function(){const d=l.result;t.uploadModal.modal("hide"),n.handleImageCrop({url:d,imageType:e.type,socketMethod:t.socketMethod,aspectRatio:t.aspectRatio,allowSkippingCrop:t.allowSkippingCrop,restrictImageDimension:t.restrictImageDimension,imageDimension:t.imageDimension,paramName:t.paramName,paramValue:t.paramValue},s)},!1),e&&l.readAsDataURL(e)}return n}).apply(D,v),w!==void 0&&(x.exports=w)},3230(x,D,c){"use strict";var v,w;(function(m){v=m,w=typeof v=="function"?v.call(D,c,D,x):v,w!==void 0&&(x.exports=w)})(function(){const m=/[^\p{L}\s\d\-_@.]/gu,n=/[^\w\s\d\-_@.]/g,h=/^\s+|\s+$/g,a=/\s+/g,f=/-+/g,t=/-$/g,s=/^-/g,r=/^[\w\d\s.,\-@]+$/;return function(e,o){return!e||(e=String(e).replace(h,""),r.test(e)?e=e.replace(n,"-"):e=e.replace(m,"-"),e=o?e:e.toLocaleLowerCase(),e=e.replace(a,"-"),e=e.replace(f,"-"),e=e.replace(t,""),e=e.replace(s,""),e==="."||e==="..")?"":e}})},8636(x,D,c){"use strict";var v;v=(function(){function w(){this._store={},this._keys=[]}w.prototype.isMock=!0,w.prototype.setItem=function(h,a){h=String(h),this._keys.indexOf(h)===-1&&this._keys.push(h),this._store[h]=a},w.prototype.getItem=function(h){return h=String(h),this._keys.indexOf(h)===-1?null:this._store[h]},w.prototype.removeItem=function(h){h=String(h),this._keys=this._keys.filter(function(a){return a!==h}),this._store[h]=null},w.prototype.clear=function(){this._keys=[],this._store={}},w.prototype.key=function(h){return h=parseInt(h,10)||0,this._keys[h]},Object.defineProperty&&Object.defineProperty(w.prototype,"length",{get:function(){return this._keys.length}});let m;const n=Date.now().toString();try{if(m=window.localStorage,m.setItem(n,n),m.getItem(n)!==n)throw Error("localStorage behaved unexpectedly");return m.removeItem(n),m}catch(h){console.warn(h),console.warn("localStorage failed, falling back on sessionStorage");try{if(m=window.sessionStorage,m.setItem(n,n),m.getItem(n)!==n)throw Error("sessionStorage behaved unexpectedly");return m.removeItem(n),m}
1catch(a){return console.warn(a),console.warn("sessionStorage failed, falling back on memory storage"),new w}}}).call(D,c,D,x),v!==void 0&&(x.exports=v)},1056(){(function(x){var D=x(window),c=function(n,h,a,f){if(arguments.length===3||f){if(a<n)return n;if(a>h)return h}return a},v=function(n){n.clientX=n.originalEvent.touches[0].clientX,n.clientY=n.originalEvent.touches[0].clientY},w=function(n){var h=(n.css("background-image").match(/^url\(['"]?(.*?)['"]?\)$/i)||[])[1];if(h){var a={width:0,height:0},f=new Image;return f.onload=function(){if(n.css("background-size")=="cover"){var t=n.innerWidth(),s=n.innerHeight(),r=t/s,g=f.width/f.height,e=1;g>=r?e=s/f.height:e=t/f.width,a.width=f.width*e,a.height=f.height*e}else a.width=f.width,a.height=f.height},f.src=h,a}};function m(n,h){this.element=n,this.options=h,this.init()}m.prototype.init=function(){var n=x(this.element),h=(n.css("background-image").match(/^url\(['"]?(.*?)['"]?\)$/i)||[])[1],a=this.options;if(h){var f={width:0,height:0};(a.bound||a.units=="percent")&&(f=w(n)),x(window).on("keydown.dbg",t=>{var s=n.css("background-position").match(/(-?\d+).*?\s(-?\d+)/)||[],r=parseInt(s[1])||0,g=parseInt(s[2])||0;a.units=="percent"&&(r=Math.round(r/-200*f.width),g=Math.round(g/-200*f.height));var e=0,o=0;return t.which===37?e=-5:t.which===39?e=5:t.which===38?o=-5:t.which===40&&(o=5),a.units==="percent"?(r=a.axis==="y"?r:c(-f.width/2,0,r+e,a.bound),g=a.axis==="x"?g:c(-f.height/2,0,g+o,a.bound),n.css("background-position",r/f.width*-200+"% "+g/f.height*-200+"%")):(r=a.axis==="y"?r:c(n.innerWidth()-f.width,0,r+e,a.bound),g=a.axis==="x"?g:c(n.innerHeight()-f.height,0,g+o,a.bound)),[37,38,39,40].includes(t.which)?!1:void 0}),n.on("mousedown.dbg touchstart.dbg",function(t){if(t.target===n[0]){if(t.preventDefault(),t.originalEvent.touches)v(t);else if(t.which!==1)return;var s=t.clientX,r=t.clientY,g=n.css("background-position").match(/(-?\d+).*?\s(-?\d+)/)||[],e=parseInt(g[1])||0,o=parseInt(g[2])||0;a.units=="percent"&&(e=Math.round(e/-200*f.width),o=Math.round(o/-200*f.height)),D.on("mousemove.dbg touchmove.dbg",function(l){l.preventDefault(),l.originalEvent.touches&&v(l);var d=l.clientX,y=l.clientY;a.units=="percent"?(e=a.axis==="y"?e:c(-f.width/2,0,e+d-s,a.bound),o=a.axis==="x"?o:c(-f.height/2,0,o+y-r,a.bound),n.css("background-position",e/f.width*-200+"% "+o/f.height*-200+"%")):(e=a.axis==="y"?e:c(n.innerWidth()-f.width,0,e+d-s,a.bound),o=a.axis==="x"?o:c(n.innerHeight()-f.height,0,o+y-r,a.bound),n.css("background-position",e+"px "+o+"px")),s=d,r=y}),D.on("mouseup.dbg touchend.dbg mouseleave.dbg",function(){a.done&&a.done(),D.off("mousemove.dbg touchmove.dbg"),D.off("mouseup.dbg touchend.dbg mouseleave.dbg")})}})}},m.prototype.disable=function(){var n=x(this.element);n.off("mousedown.dbg touchstart.dbg"),D.off("mousemove.dbg touchmove.dbg mouseup.dbg touchend.dbg mouseleave.dbg keydown.dbg")},x.fn.backgroundDraggable=function(n){var h=Array.prototype.slice.call(arguments,1);return this.each(function(){var a=x(this),f;typeof n>"u"||typeof n=="object"?(n=x.extend({},x.fn.backgroundDraggable.defaults,n),f=new m(this,n),a.data("dbg",f)):typeof n=="string"&&a.data("dbg")&&(f=a.data("dbg"),m.prototype[n].apply(f,h))})},x.fn.backgroundDraggable.defaults={bound:!0,axis:void 0,units:"pixels"}})(jQuery)}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.