PageSourceSearch

https://xcp-ng.org/forum/assets/admin/manage-group.5cc2d7279a08c88e23e0.min.js

js xcp-ng.org collected 2026-09-24 09:20:28 UTC 16,196 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunknodebb=self.webpackChunknodebb||[]).push([[13230,24866,26174,49980,65928,87212],{72296(x,A,i){var h,g;h=[i(89664),i(67308),i(65348),i(2954),i(13230),i(49897),i(65303),i(29930),i(54222)],g=(function(c,d,l,E,C,a,r,u,m){const n={};n.init=function(){const y=$("#group-icon"),p=$("#change-group-user-title"),t=$("#change-group-label-color"),e=$("#change-group-text-color"),o=$("#group-label-preview"),s=$("#group-label-preview-text"),f=ajaxify.data.group.name;c.init("admin/manage/group"),p.on("keyup",function(){s.translateText(p.val())}),t.on("keyup input",function(){o.css("background-color",t.val()||"#000000")}),e.on("keyup input",function(){o.css("color",e.val()||"#ffffff")}),D(),$("#group-icon-container").on("click",function(){const b=y.attr("value");d.init(y,function(){let v=y.attr("value");v!==b&&(v==="fa-nbb-none"&&(v="hidden"),$("#group-icon-preview").attr("class","fa fa-fw "+(v||"hidden")),app.flags=app.flags||{},app.flags._unsaved=!0)})}),l.init($('.edit-privileges-selector [component="category-selector"]'),{onSelect:function(b){w(b.cid)},showLinks:!0});const S=l.init($('.member-post-cids-selector [component="category-selector"]'),{onSelect:function(b){const v=new Set(($("#memberPostCids").val()||"").split(",").filter(Boolean));return v.has(String(b.cid))?v.delete(String(b.cid)):v.add(String(b.cid)),$("#memberPostCids").val(Array.from(v).join(",")),S.selectCategory(0),!1}});E.init($('[component="group-selector"]')),$("form [data-property]").on("change",function(){app.flags=app.flags||{},app.flags._unsaved=!0}),$('[data-action="delete"]').on("click",function(){r.confirm("[[admin/manage/groups:alerts.confirm-delete]]",function(b){b&&a.del(`/groups/${C(ajaxify.data.group.name)}`,{}).then(()=>{ajaxify.go("/admin/manage/groups")}).catch(u.error)})}),$("#save").on("click",function(){return a.put(`/groups/${C(f)}`,{name:$("#change-group-name").val(),userTitle:p.val(),description:$("#change-group-desc").val(),icon:y.attr("value"),labelColor:t.val(),textColor:e.val(),userTitleEnabled:$("#group-userTitleEnabled").is(":checked"),private:$("#group-private").is(":checked"),hidden:$("#group-hidden").is(":checked"),memberPostCids:$("#memberPostCids").val(),disableJoinRequests:$("#group-disableJoinRequests").is(":checked"),disableLeave:$("#group-disableLeave").is(":checked")}).then(()=>{const b=$("#change-group-name").val();f!==b&&ajaxify.go("admin/manage/groups/"+encodeURIComponent(b),void 0,!0),m.toggleSaveSuccess($("#save"))}).catch(u.error),!1})};function D(){$('[component="groups/members"]').on("click","[data-action]",function(){const y=$(this),p=y.parents("[data-uid]"),t=p.find(".member-name .user-owner-icon"),e=!t.hasClass("invisible"),o=p.attr("data-uid");switch(y.attr("data-action")){case"toggleOwnership":c.toggleOwnership(ajaxify.data.group.slug,o,e).then(()=>{t.toggleClass("invisible"),p.attr("data-isowner",e?"0":"1")}).catch(u.error);break;case"kick":c.kickMember(ajaxify.data.group.slug,o).then(()=>{p.remove()}).catch(u.error);break;default:break}})}function w(y){if(y){const p="admin/manage/privileges/"+y+"?group="+ajaxify.data.group.nameEncoded;if(app.flags&&app.flags._unsaved===!0){r.confirm("[[global:unsaved-changes]]",function(t){t&&(app.flags._unsaved=!1,ajaxify.go(p))});return}ajaxify.go(p)}}return n}).apply(A,h),g!==void 0&&(x.exports=g)},89664(x,A,i){var h,g;h=[i(49897),i(65303),i(29930),i(30076),i(81335)],g=(function(c,d,l,E,C){const a={};let r;a.init=function(t){r=t||"groups/details",u(),n(),D()},a.refresh=async function(t){const{group:e}=t||await c.get(`/api/groups/${ajaxify.data.group.slug}`),o=await p(e.members);$('[component="groups/members"] tbody').html(o),$('[component="group/member/count"]').text(E.humanReadableNumber(e.memberCount)),$('[component="group/pending/count"]').text(E.humanReadableNumber(e.pending.length)),$('[component="group/invited/count"]').text(E.humanReadableNumber(e.invited.length)),ajaxify.data.group.members=e.members,ajaxify.data.group.memberCount=e.memberCount,ajaxify.data.group.invited=e.invited,ajaxify.data.group.pending=e.pending};function u(){$('[component="groups/members/add"]').on("click",async function(){ajaxify.data.group.slug==="administrators"&&await c.post("/users/reauth/verify"),C.render("admin/partials/groups/add-members",{}).then(async function(e){const o=[],s=await d.dialog({title:"[[groups:detail
1s.add-member]]",message:e,buttons:{OK:{label:"[[groups:details.add-member]]",callback:function(){const f=[];s.find("[data-uid][data-selected]").each(function(S,b){f.push(o[$(b).attr("data-uid")])}),m(f).then(()=>{s.modal("hide")})}}}});s.on("click","[data-username]",function(){$(this).attr("data-selected")==="1"?$(this).removeAttr("data-selected"):$(this).attr("data-selected",1),$(this).find("i").toggleClass("invisible")}),s.find("input").on("keyup",function(){c.get("/api/users",{query:$(this).val(),paginate:!1},function(f,S){if(f)return l.error(f);S.users.forEach(function(b){o[b.uid]=b}),app.parseAndTranslate("admin/partials/groups/add-members","users",{users:S.users},function(b){s.find("#search-result").html(b)})})})})})}async function m(t){let e=[];for(const f of t)try{await c.put(`/groups/${ajaxify.data.group.slug}/membership/${f.uid}`),e.push(f)}catch(S){l.error(S)}const o=$('[component="groups/members"]');e=e.filter(f=>!o.find(`[data-uid="${f.uid}"]`).length);const s=await p(e);$('[component="groups/members"] tbody').prepend(s)}function n(){const t=$('[component="groups/members/search"]');t.on("keyup",utils.debounce(async function(){const e=t.val(),o=await c.get(`/groups/${ajaxify.data.group.slug}/members`,{query:e}),s=await p(o.users);$('[component="groups/members"] tbody').html(s),$('[component="groups/members"]').attr("data-nextstart",20)},250))}function D(){$('[component="groups/members"]').on("scroll",utils.debounce(function(){const t=$(this),e=(t[0].scrollHeight-t.innerHeight())*.9;t.scrollTop()>e&&!$('[component="groups/members/search"]').val()&&w()},250))}async function w(){const t=$('[component="groups/members"]');if(t.attr("loading"))return;t.attr("loading",1);const e=await c.get(`/groups/${ajaxify.data.group.slug}/members`,{after:t.attr("data-nextstart")}).catch(l.error);e&&e.users.length?(await y(e.users),t.removeAttr("loading"),t.attr("data-nextstart",e.nextStart)):t.removeAttr("loading")}async function y(t){t=t.filter(function(o){return!$('[component="groups/members"] [data-uid="'+o.uid+'"]').length});const e=await p(t);$('[component="groups/members"] tbody').append(e)}async function p(t){return await app.parseAndTranslate(r,"group.members",{group:{members:t,isOwner:ajaxify.data.group.isOwner}})}return a.toggleOwnership=async function(t,e,o){return await c[o?"del":"put"](`/groups/${t}/ownership/${encodeURIComponent(e)}`)},a.kickMember=async function(t,e){return await c.del(`/groups/${t}/membership/${encodeURIComponent(e)}`)},a}).apply(A,h),g!==void 0&&(x.exports=g)},49897(x,A,i){i.r(A),i.d(A,{del:()=>p,get:()=>m,head:()=>n,patch:()=>w,post:()=>D,put:()=>y});var h=i(91749),g=i.n(h),c=i(65303),d=i(17459),l=i.n(d),E=i(68636),C=i.n(E);const a=config.relative_path+"/api/v3";async function r(e,o){if(e.url=e.url.startsWith("/api")?config.relative_path+e.url:a+e.url,e.headers=e.headers||{},e.headers["x-return-to"]||(e.headers["x-return-to"]=`${window.location.pathname.slice(config.relative_path.length)}${window.location.search}`),typeof o=="function"){u(e).then(s=>o(null,s),s=>o(s));return}try{return await u(e)}catch(s){if(s.message===await d.translate("[[error:api.401]]",config.userLang)){const{url:f}=await(0,h.fire)("filter:admin.reauth",{url:"login"}),S=await d.translate("[[error:api.reauth-required]]",config.userLang);(0,c.confirm)(S,b=>{b&&(E.setItem("location-hash",window.location.hash),ajaxify.go(f))})}throw s}}async function u(e){const{url:o}=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,h.fire)("filter:api.options",{options:e}),e.data&&(e.body=e.data,delete e.data);const s=await fetch(o,e),{headers:f}=s;if(f.get("x-redirect"))return u({url:f.get("x-redirect"),...e});const S=f.get("content-type"),b=S&&S.startsWith("application/json");let v;if(e.method!=="HEAD"&&(b?v=await s.json():v=await s.text()),!s.ok){if(v){const P=b&&(v.status?.message||v.error||""),L=typeof v=="string"?v:s.statusText||`[[error:api.${s.status}]]`;throw new Error(b&&P?P:L)}throw new Error(s.statusText)}return b&&v&&v.hasOwnProperty("status")&&v.hasOwnProperty("response")?v.response:v}function m(e,o,s){return r({url:e+(o&&Object.keys(o).length?"?"+$.param(o):"")},s)}function n(e,o,s){return r({url:e+(o&&Object.keys(o).length?"?"+$.param(o):""),method:"HEAD"},s)}
1function D(e,o,s,f){return t("POST",e,o,s,f)}function w(e,o,s,f){return t("PATCH",e,o,s,f)}function y(e,o,s,f){return t("PUT",e,o,s,f)}function p(e,o,s,f){return t("DELETE",e,o,s,f)}function t(e,o,s,f,S){return typeof f=="function"&&(S=f,f={}),r({url:o,method:e,data:s,headers:{"x-csrf-token":config.csrf_token,...f}},S)}},96349(x,A,i){var h,g;h=[i(29930),i(89336),i(49897)],g=(function(c,d,l){const E={};return E.init=function(C,a){let r=a.defaultCategories||null;a=a||{},a.privilege=a.privilege||"topics:read",a.states=a.states||["watching","tracking","notwatching","ignoring"],a.cacheList=a.hasOwnProperty("cacheList")?a.cacheList:!0;let u=[];Array.isArray(a.localCategories)&&(u=a.localCategories.map(y=>({...y})),r&&(r=[...u,...r])),a.selectedCids=a.selectedCids||ajaxify.data.selectedCids||[];const m=C.find('[component="category-selector-search"]');if(!m.length)return;const n=m.parents('[component="category/dropdown"]').length>0||m.parents('[component="category-selector"]').length>0;C.on("show.bs.dropdown",function(){n&&m.removeClass("hidden");function y(){const t=m.find("input").val();t.length>1||!t&&!r?D(t,function(e){r=a.cacheList&&(r||e),w(e)}):!t&&r&&w(r)}const p=m.find("input").val("");p.on("keydown",function(t){if(t.key==="ArrowDown"){const e=C.find('[component="category/list"] li[data-cid]:first a');e.length&&(e.focus(),t.stopPropagation(),t.preventDefault())}}),m.on("click",function(t){t.preventDefault(),t.stopPropagation()}),p.on("keyup",utils.debounce(y,300)),y()}),C.on("shown.bs.dropdown",function(){["xs","sm"].includes(utils.findBootstrapEnvironment())||m.find("input").focus()}),C.on("hide.bs.dropdown",function(){n&&m.addClass("hidden"),m.off("click"),m.find("input").off("keyup keydown")});function D(y,p){l.get("/search/categories",{search:y,query:utils.params(),parentCid:a.parentCid||0,selectedCids:a.selectedCids,privilege:a.privilege,states:a.states,showLinks:a.showLinks,localOnly:a.localOnly,hideUncategorized:a.hideUncategorized},function(t,{categories:e}){if(t)return c.error(t);p(u.concat(e))})}function w(y){const p=a.selectedCids.map(String),t=(a.disabledCids||[]).map(String);y.forEach(function(e){e.selected=p.includes(String(e.cid)),t.includes(String(e.cid))&&(e.disabledClass=!0)}),app.parseAndTranslate(a.template,{categoryItems:y.slice(0,200),selectedCategory:ajaxify.data.selectedCategory,allCategoriesUrl:ajaxify.data.allCategoriesUrl,hideAll:a.hideAll},function(e){C.find('[component="category/list"]').html(e.find('[component="category/list"]').html()),C.find('[component="category/list"] [component="category/no-matches"]').toggleClass("hidden",!!y.length);const o=d.Dropdown.getInstance(C.find(".dropdown-toggle").get(0));o&&o.update()})}},E}).apply(A,h),g!==void 0&&(x.exports=g)},65348(x,A,i){var h,g;h=[i(96349),i(65303),i(91749),i(17459),i(81335)],g=(function(c,d,l,E,C){const a={};return a.init=function(r,u){if(!r||!r.length)return;u=u||{};const m=u.onSelect||function(){};u.states=u.states||["watching","tracking","notwatching","ignoring"],u.template=u.template||"partials/category/selector-dropdown-left",l.fire("action:category.selector.options",{el:r,options:u}),c.init(r,u);const n={el:r,selectedCategory:null};r.on("click","[data-cid]",function(){const w=$(this);return w.hasClass("disabled")?!1:(n.selectCategory(w.attr("data-cid")),m({...n.selectedCategory,categoryEl:w}))});let D=n.el.find('[component="category-selector-selected"]').html();return E.translate(D,w=>{D=w}),n.selectCategory=function(w,y=null){const p=y||n.el.find('[data-cid="'+w+'"]');n.selectedCategory={cid:w,name:p.attr("data-name")},p.length?n.el.find('[component="category-selector-selected"]').html(p.find('[component="category-markup"]').html()):n.el.find('[component="category-selector-selected"]').html(D)},n.getSelectedCategory=function(){return n.selectedCategory},n.getSelectedCid=function(){return n.selectedCategory?n.selectedCategory.cid:0},u.hasOwnProperty("selectedCategory")&&app.parseAndTranslate(u.template,{selectedCategory:u.selectedCategory},function(w){n.el.find('[component="category-selector-selected"]').html(w.find('[component="category-selector-selected"]').html())}),n},a.modal=async function(r){r=r||{},r.onSelect=r.onSelect||function(){},r.onSubmit=r.onSubmit||function(){};const u=await C.render("admin/partials/categories/select-category",{message:r.message}),m=await d.dialog({title:r.title||"[[modules:composer.select-category]]",message:u,buttons:{save:{label:"[[global:select]]",className:"btn-primary",callback:D}}}),n=a.init(m.find('[component="category-selector"]'),r);function D(w){return w.preventDefault(),n.selectedCategory&&(r.onSubmit(n.selectedCategory),m.modal("hide")),!1}r.openOnLoad&&m.on("shown.bs.modal",function(){m.find(".dropdown-toggle").dropdown("toggle")}),m.find("form").on("submit",D)},a}).apply(A,h),g!==void 0&&(x.exports=g)},2954(x,A,i){var h;h=(function(){const g={};return g.init=function(c){if(utils.isTouchDevice())return;const d=c.find('[component="group-selector-search"]');if(!d.length)return;const l=d.parents('[component="group-selector"]').length>0,E=c.find('[component="group-list"] [data-name]');c.on("show.bs.dropdown",function(){function C(){const a=d.find("input").val().toLowerCase();let r=!0;E.each(function(){const u=$(this),m=u.attr("data-name").toLowerCase().indexOf(a)!==-1;r&&m&&(r=!1),u.toggleClass("hidden",!m)}
1),c.find('[component="group-list"] [component="group-no-matches"]').toggleClass("hidden",!r)}l&&d.removeClass("hidden"),d.on("click",function(a){a.preventDefault(),a.stopPropagation()}),d.find("input").val("").on("keyup",C),C()}),c.on("shown.bs.dropdown",function(){d.find("input").focus()}),c.on("hide.bs.dropdown",function(){l&&d.addClass("hidden"),d.off("click").find("input").off("keyup")})},g}).call(A,i,A,x),h!==void 0&&(x.exports=h)},13230(x,A,i){var h,g;(function(c){h=c,g=typeof h=="function"?h.call(A,i,A,x):h,g!==void 0&&(x.exports=g)})(function(){const c=/[^\p{L}\s\d\-_@.]/gu,d=/[^\w\s\d\-_@.]/g,l=/^\s+|\s+$/g,E=/\s+/g,C=/-+/g,a=/-$/g,r=/^-/g,u=/^[\w\d\s.,\-@]+$/;return function(n,D){return!n||(n=String(n).replace(l,""),u.test(n)?n=n.replace(d,"-"):n=n.replace(c,"-"),n=D?n:n.toLocaleLowerCase(),n=n.replace(E,"-"),n=n.replace(C,"-"),n=n.replace(a,""),n=n.replace(r,""),n==="."||n==="..")?"":n}})},68636(x,A,i){var h;h=(function(){function g(){this._store={},this._keys=[]}g.prototype.isMock=!0,g.prototype.setItem=function(l,E){l=String(l),this._keys.indexOf(l)===-1&&this._keys.push(l),this._store[l]=E},g.prototype.getItem=function(l){return l=String(l),this._keys.indexOf(l)===-1?null:this._store[l]},g.prototype.removeItem=function(l){l=String(l),this._keys=this._keys.filter(function(E){return E!==l}),this._store[l]=null},g.prototype.clear=function(){this._keys=[],this._store={}},g.prototype.key=function(l){return l=parseInt(l,10)||0,this._keys[l]},Object.defineProperty&&Object.defineProperty(g.prototype,"length",{get:function(){return this._keys.length}});let c;const d=Date.now().toString();try{if(c=window.localStorage,c.setItem(d,d),c.getItem(d)!==d)throw Error("localStorage behaved unexpectedly");return c.removeItem(d),c}catch(l){console.warn(l),console.warn("localStorage failed, falling back on sessionStorage");try{if(c=window.sessionStorage,c.setItem(d,d),c.getItem(d)!==d)throw Error("sessionStorage behaved unexpectedly");return c.removeItem(d),c}catch(E){return console.warn(E),console.warn("sessionStorage failed, falling back on memory storage"),new g}}}).call(A,i,A,x),h!==void 0&&(x.exports=h)}}]);

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.