1"use strict";(self.webpackChunknodebb=self.webpackChunknodebb||[]).push([[26874,99127,34271,1091,26174],{49897:(w,E,a)=>{a.r(E),a.d(E,{del:()=>A,get:()=>r,head:()=>s,patch:()=>i,post:()=>y,put:()=>D});var l=a(91749),p=a.n(l),d=a(40027),g=a.n(d);const _=config.relative_path+"/api/v3";async function o(e,t){if(e.url=e.url.startsWith("/api")?config.relative_path+e.url:_+e.url,typeof t=="function"){m(e).then(n=>t(null,n),n=>t(n));return}try{return await m(e)}catch(n){if(n.message==="A valid login session was not found. Please log in and try again."){const{url:h}=await(0,l.fire)("filter:admin.reauth",{url:"login"});return(0,d.confirm)("[[error:api.reauth-required]]",f=>{f&&ajaxify.go(h)})}throw n}}async function m(e){const{url:t}=e;delete e.url,e.data&&!(e.data instanceof FormData)&&(e.data=JSON.stringify(e.data||{}),e.headers["content-type"]="application/json; charset=utf-8"),{options:e}=await(0,l.fire)("filter:api.options",{options:e}),e.data&&(e.body=e.data,delete e.data);const n=await fetch(t,e),{headers:h}=n,f=h.get("content-type"),c=f&&f.startsWith("application/json");let u;if(e.method!=="HEAD"&&(c?u=await n.json():u=await n.text()),!n.ok)throw u?new Error(c?u.status.message:u):new Error(n.statusText);return c&&u&&u.hasOwnProperty("status")&&u.hasOwnProperty("response")?u.response:u}function r(e,t,n){return o({url:e+(t&&Object.keys(t).length?"?"+$.param(t):"")},n)}function s(e,t,n){return o({url:e+(t&&Object.keys(t).length?"?"+$.param(t):""),method:"HEAD"},n)}function y(e,t,n){return o({url:e,method:"POST",data:t,headers:{"x-csrf-token":config.csrf_token}},n)}function i(e,t,n){return o({url:e,method:"PATCH",data:t,headers:{"x-csrf-token":config.csrf_token}},n)}function D(e,t,n){return o({url:e,method:"PUT",data:t,headers:{"x-csrf-token":config.csrf_token}},n)}function A(e,t,n){return o({url:e,method:"DELETE",data:t,headers:{"x-csrf-token":config.csrf_token}},n)}},13230:(w,E,a)=>{var l,p,d;(function(g){p=[a(53050)],l=g,d=typeof l=="function"?l.apply(E,p):l,d!==void 0&&(w.exports=d)})(function(g){const _=g("[^\\p{L}\\s\\d\\-_]","g"),o=/[^\w\s\d\-_]/g,m=/^\s+|\s+$/g,r=/\s+/g,s=/-+/g,y=/-$/g,i=/^-/g,D=/^[\w\d\s.,\-@]+$/;return function(e,t){return e?(e=String(e).replace(m,""),D.test(e)?e=e.replace(o,"-"):e=g.replace(e,_,"-"),e=t?e:e.toLocaleLowerCase(),e=e.replace(r,"-"),e=e.replace(s,"-"),e=e.replace(y,""),e=e.replace(i,""),e):""}})},64308:(w,E,a)=>{var l,p;l=[a(49897),a(91749),a(13230),a(81335)],p=function(d,g,_,o){const m={};return m.init=function(r,s){if(!r||!r.length)return;s=s||{};let y,i=[];s.selectedUsers&&(i=s.selectedUsers.map(t=>({...t}))),g.fire("action:user.filter.options",{el:r,options:s});async function D(){const t=s.selectedBlock||"userFilterSelected",n={};if(t.indexOf(".")!==-1){const f=t.split(".");n[f[0]]={},n[f[0]][f[1]]=i}else n[t]=i;const h=await app.parseAndTranslate(s.template,t,n);r.find('[component="user/filter/selected"]').html(h)}async function A(){await D(),s.onSelect&&s.onSelect(i)}async function e(){let t={users:[]};const n=r.find('[component="user/filter/search"]').val();if(n&&n.length>1)if(app.user.privileges["search:users"])t=await d.get("/api/users",{query:n});else try{const c=await d.get(`/api/user/${_(n)}`);t.users.push(c)}catch{}if(!t.users.length){r.find('[component="user/filter/results"]').translateHtml("[[users:no-users-found]]");return}t.users=t.users.slice(0,20);const h={};t.users.forEach(c=>{h[c.uid]=c});const f=await app.parseAndTranslate(s.template,"userFilterResults",{userFilterResults:t.users});r.find('[component="user/filter/results"]').html(f),r.find('[component="user/filter/results"] [data-uid]').on("click",async function(){const c=parseInt($(this).attr("data-uid"),10);i.find(u=>u.uid===c)||(i.push(h[c]),await A())})}r.find('[component="user/filter/search"]').on("keyup",()=>{r.find('[component="user/filter/results"]').html(y)}),r.find('[component="user/filter/search"]').on("keyup",utils.debounce(function(){app.user.privileges["search:users"]&&e()},1e3)),r.on("click",'[component="user/filter/delete"]',async function(){const t=$(this).attr("data-uid");i=i.filter(n=>parseInt(n.uid,10)!==parseInt(t,10)),await A()}),r.find('[component="user/filter/search"]').on("keyup",t=>{t.key==="Enter"&&!app.user.privileges["search:users"]&&e()}),r.on("shown.bs.dropdown",function(){r.find('[component="user/filter/search"]').trigger("focus")}),r.on("hidden.bs.dropdown",function(){s.onHidden&&s.onHidden(i)}),o.render(s.placeholderTemplate||"partials/userFilter-placeholders").then(t=>{y=t})},m}.apply(E,l),p!==void 0&&(w.exports=p)}}]);
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.