1"use strict";(self.webpackChunknodebb=self.webpackChunknodebb||[]).push([[1091,34271,45490,99127],{37130(P,d,s){var u,p;u=[s(49897),s(33530),s(29930)],p=(function(i,x,g){const n={};n.init=function(){$('button[data-action="new"]').on("click",function(){const f=x.prompt("[[groups:new-group.group-name]]",function(o){if(o==="")return!1;if(o&&o.trim().length)return i.post("/groups",{name:o}).then(y=>{f.modal("hide"),ajaxify.go("groups/"+y.slug)}).catch(g.error),!1})});const c=utils.params();$("#search-sort").val(c.sort||"alpha"),$("#search-text").on("keyup",utils.debounce(n.search,200)),$("#search-button").on("click",n.search),$("#search-sort").on("change",function(){ajaxify.go("groups?sort="+$("#search-sort").val())})},n.search=function(){return i.get("/api/groups",{query:$("#search-text").val(),sort:$("#search-sort").val(),filterHidden:!0,showMembers:!0,hideEphemeralGroups:!0}).then(l).catch(g.error),!1};async function l(c){const[f,o]=await Promise.all([app.parseAndTranslate("partials/paginator",{pagination:c.pagination}),app.parseAndTranslate("partials/groups/list",{groups:c.groups})]);$(".pagination-container").replaceWith(f),$("#groups-list").empty().append(o)}return n}).apply(d,u),p!==void 0&&(P.exports=p)},49897(P,d,s){s.r(d),s.d(d,{del:()=>O,get:()=>c,head:()=>f,patch:()=>y,post:()=>o,put:()=>D});var u=s(91749),p=s.n(u),i=s(33530),x=s.n(i);const g=config.relative_path+"/api/v3";async function n(t,e){if(t.url=t.url.startsWith("/api")?config.relative_path+t.url:g+t.url,typeof e=="function"){l(t).then(r=>e(null,r),r=>e(r));return}try{return await l(t)}catch(r){if(r.message==="A valid login session was not found. Please log in and try again."){const{url:h}=await(0,u.fire)("filter:admin.reauth",{url:"login"});return(0,i.confirm)("[[error:api.reauth-required]]",E=>{E&&ajaxify.go(h)})}throw r}}async function l(t){const{url:e}=t;delete t.url,t.data&&!(t.data instanceof FormData)&&(t.data=JSON.stringify(t.data||{}),t.headers["content-type"]="application/json; charset=utf-8"),{options:t}=await(0,u.fire)("filter:api.options",{options:t}),t.data&&(t.body=t.data,delete t.data);const r=await fetch(e,t),{headers:h}=r;if(h.get("x-redirect"))return l({url:h.get("x-redirect"),...t});const E=h.get("content-type"),m=E&&E.startsWith("application/json");let a;if(t.method!=="HEAD"&&(m?a=await r.json():a=await r.text()),!r.ok){if(a){const A=m&&(a.status?.message||a.error||"");throw new Error(m&&A?A:a)}throw new Error(r.statusText)}return m&&a&&a.hasOwnProperty("status")&&a.hasOwnProperty("response")?a.response:a}function c(t,e,r){return n({url:t+(e&&Object.keys(e).length?"?"+$.param(e):"")},r)}function f(t,e,r){return n({url:t+(e&&Object.keys(e).length?"?"+$.param(e):""),method:"HEAD"},r)}function o(t,e,r){return n({url:t,method:"POST",data:e,headers:{"x-csrf-token":config.csrf_token}},r)}function y(t,e,r){return n({url:t,method:"PATCH",data:e,headers:{"x-csrf-token":config.csrf_token}},r)}function D(t,e,r){return n({url:t,method:"PUT",data:e,headers:{"x-csrf-token":config.csrf_token}},r)}function O(t,e,r){return n({url:t,method:"DELETE",data:e,headers:{"x-csrf-token":config.csrf_token}},r)}}}]);
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.